dd1ce0b597a3b4c1d0842b180187b9430c2b2236
[WebKit.git] / Tools / ChangeLog
1 2018-04-05  Zalan Bujtas  <zalan@apple.com>
2
3         [LayoutReloaded] Find the correct left edge for a line when floating boxes are in parent formatting context.
4         https://bugs.webkit.org/show_bug.cgi?id=184330
5
6         Reviewed by Antti Koivisto.
7
8         In inline formatting context, the floating boxes can come from the parent (block) formatting context. Let's
9         take them into account when computing the line edges.
10
11         * LayoutReloaded/FormattingContext/FloatingContext.js:
12         (FloatingContext.prototype.left):
13         (FloatingContext.prototype.right):
14         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
15         (InlineFormattingContext.prototype._createNewLine):
16         (InlineFormattingContext.prototype._mapFloatingVerticalPosition):
17         (InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
18         (InlineFormattingContext.prototype._mapFloatingPosition): Deleted.
19         * LayoutReloaded/test/index.html:
20         * LayoutReloaded/test/multiple-left-floats-on-line-from-parent-formatting-context.html: Added.
21
22 2018-04-05  Zalan Bujtas  <zalan@apple.com>
23
24         [LayoutReloaded] Collect floating boxes in inline formatting context and layout them first.
25         https://bugs.webkit.org/show_bug.cgi?id=184329
26
27         Reviewed by Antti Koivisto.
28
29         Let's do this for now. There might be some cases where this violates layout.
30
31         * LayoutReloaded/FormattingContext/FormattingContext.js:
32         (FormattingContext.prototype._outOfFlowDescendants):
33         (FormattingContext):
34         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
35         (InlineFormattingContext.prototype.layout):
36         (InlineFormattingContext.prototype._handleFloatingBoxes):
37         (InlineFormattingContext.prototype._handleFloatingBox):
38         (InlineFormattingContext.prototype._floatingBoxes):
39         (InlineFormattingContext):
40         * LayoutReloaded/test/index.html:
41         * LayoutReloaded/test/multiple-left-floats-on-line-simple.html: Added.
42
43 2018-04-04  Youenn Fablet  <youenn@apple.com>
44
45         WebRTC data channel only applications require capture permissions for direct connections
46         https://bugs.webkit.org/show_bug.cgi?id=174500
47         <rdar://problem/34134281>
48
49         Reviewed by Eric Carlson.
50
51         Adding options to enable MDNS ICE candidates.
52
53         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
54         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
55         (WTR::TestRunner::setMediaDevicesEnabled):
56         (WTR::TestRunner::setMDNSICECandidatesEnabled):
57         * WebKitTestRunner/InjectedBundle/TestRunner.h:
58         * WebKitTestRunner/TestController.cpp:
59         (WTR::TestController::resetPreferencesToConsistentValues):
60
61 2018-04-04  Ryan Haddad  <ryanhaddad@apple.com>
62
63         Disable failing WKWebViewAutofillTests
64         https://bugs.webkit.org/show_bug.cgi?id=184196
65
66         Unreviewed test gardening.
67
68         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
69         (TestWebKitAPI::TEST):
70
71 2018-04-04  Youenn Fablet  <youenn@apple.com>
72
73         Introduce a ThreadSafeRefCounted parameter to ensure being destroyed on the main thread
74         https://bugs.webkit.org/show_bug.cgi?id=183988
75
76         Reviewed by Darin Adler.
77
78         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
79         (TestWebKitAPI::ThreadSafeRefCountedObject::create):
80         (TestWebKitAPI::ThreadSafeRefCountedObject::~ThreadSafeRefCountedObject):
81         (TestWebKitAPI::MainThreadSafeRefCountedObject::create):
82         (TestWebKitAPI::MainThreadSafeRefCountedObject::~MainThreadSafeRefCountedObject):
83         (TestWebKitAPI::TEST):
84
85 2018-04-04  Ms2ger  <Ms2ger@igalia.com>
86
87         Test gardening for GTK.
88         https://bugs.webkit.org/show_bug.cgi?id=184298
89
90         Unreviewed test gardening.
91
92         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Add pointer to
93         https://bugs.webkit.org/show_bug.cgi?id=184295.
94
95 2018-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>
96
97         ASSERTION FAILED: !m_mainFrame->coreFrame()->loader().frameHasLoaded() || !m_pendingNavigationID when reloading page while a page is loading
98         https://bugs.webkit.org/show_bug.cgi?id=153210
99
100         Reviewed by Alex Christensen.
101
102         Add unit tests to WebKit C API and WebKitGLib.
103
104         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
105         (TestWebKitAPI::TEST):
106         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
107         (LoadTwiceAndReloadTest::reloadOnFinishLoad):
108         (LoadTwiceAndReloadTest::LoadTwiceAndReloadTest):
109         (LoadTwiceAndReloadTest::~LoadTwiceAndReloadTest):
110         (LoadTwiceAndReloadTest::waitUntilFinished):
111         (testWebViewLoadTwiceAndReload):
112         (beforeAll):
113
114 2018-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>
115
116         [GTK] Test /webkit/WebKitWebPage/context-menu is failing since r229831
117         https://bugs.webkit.org/show_bug.cgi?id=184260
118
119         Reviewed by Michael Catanzaro.
120
121         This is not a regression introduced in r229831, though, it's a bug in the test itself revealed by r229831. We
122         should wait for the load to complete before trying to show the context menu.
123
124         * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
125         (testContextMenuWebExtensionMenu):
126
127 2018-04-03  Zalan Bujtas  <zalan@apple.com>
128
129         [LayoutReloaded] Introduce floating to InlineFormattingContext
130         https://bugs.webkit.org/show_bug.cgi?id=184288
131
132         Reviewed by Antti Koivisto.
133
134         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
135         (BlockFormattingContext.prototype._computeFloatingWidth): Deleted.
136         (BlockFormattingContext.prototype._computeFloatingHeight): Deleted.
137         * LayoutReloaded/FormattingContext/FormattingContext.js:
138         (FormattingContext.prototype._computeFloatingWidth):
139         (FormattingContext.prototype._computeFloatingHeight):
140         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
141         (InlineFormattingContext.prototype.layout):
142         (InlineFormattingContext.prototype._handleFloatingBox):
143         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
144         (Line.prototype.addFloatingBox):
145         (Line):
146         * LayoutReloaded/test/float-is-inside-inline-formatting-context-simple.html: Added.
147         * LayoutReloaded/test/index.html:
148
149 2018-04-03  Youenn Fablet  <youenn@apple.com>
150
151         NetworkResourceLoader does not need to expose all redirect response headers
152         https://bugs.webkit.org/show_bug.cgi?id=184114
153         <rdar://problem/39010557>
154
155         Reviewed by Ryosuke Niwa.
156
157         Add an option to dump the number of headers in a response.
158         This allows validating that filtering does happen or not.
159
160         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
161         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
162         (WTR::dumpResponseDescriptionSuitableForTestResult):
163         (WTR::InjectedBundlePage::responseHeaderCount):
164         (WTR::InjectedBundlePage::willSendRequestForFrame):
165         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
166         * WebKitTestRunner/InjectedBundle/TestRunner.h:
167         (WTR::TestRunner::dumpAllHTTPRedirectedResponseHeaders):
168         (WTR::TestRunner::shouldDumpAllHTTPRedirectedResponseHeaders const):
169         * WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
170         (WTR::InjectedBundlePage::responseHeaderCount):
171         * WebKitTestRunner/TestController.cpp:
172         (WTR::TestController::resetPreferencesToConsistentValues):
173
174 2018-04-03  Andy Estes  <aestes@apple.com>
175
176         [Mac] Prioritize file promises over filenames during drag and drop
177         https://bugs.webkit.org/show_bug.cgi?id=184237
178         <rdar://problem/38278076>
179
180         Reviewed by Wenson Hsieh.
181
182         * DumpRenderTree/mac/EventSendingController.mm:
183         (-[EventSendingController beginDragWithFilePromises:]):
184
185 2018-04-03  Brady Eidson  <beidson@apple.com>
186
187         Make SessionStorage work with process swapping.
188         https://bugs.webkit.org/show_bug.cgi?id=184270
189
190         Reviewed by Andy Estes.
191
192         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
193         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
194
195 2018-04-03  Chris Dumez  <cdumez@apple.com>
196
197         Drop MainFrame class
198         https://bugs.webkit.org/show_bug.cgi?id=184191
199
200         Reviewed by Darin Adler.
201
202         * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
203
204 2018-04-03  Charlie Turner  <cturner@igalia.com>
205
206         [WPE] Add WPE port to garden-o-matic
207         https://bugs.webkit.org/show_bug.cgi?id=182998
208
209         Reviewed by Michael Catanzaro.
210
211         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
212         Add WPE as a port to check.
213         (config.kPlatforms.string_appeared_here._builderApplies): Use less
214         surprising equality operator.
215         (config.kPlatforms.string_appeared_here.resultsDirectoryNameFromBuilderName):
216         Ditto.
217         (config.kPlatforms.string_appeared_here.resultsDirectoryForBuildNumber):
218         Ditto.
219
220 2018-04-03  Adrian Perez de Castro  <aperez@igalia.com>
221
222         [GTK][JHBuild] Tools/gtk/install-dependencies: Replace libxfont with libxfont2 in Arch Linux
223         https://bugs.webkit.org/show_bug.cgi?id=184258
224
225         Reviewed by Carlos Alberto Lopez Perez.
226
227         * gtk/install-dependencies: Use libxfont2 on Arch Linux as well.
228
229 2018-04-02  Brady Eidson  <beidson@apple.com>
230
231         Process swapping on navigation needs to handle server redirects.
232         <rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
233
234         Reviewed by Alex Christensen.
235
236         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
237         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
238         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
239         (-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
240         (-[PSONScheme addRedirectFromURLString:toURLString:]):
241         (-[PSONScheme webView:startURLSchemeTask:]):
242
243 2018-04-02  Daniel Bates  <dabates@apple.com>
244
245         Add infrastructure to relax SSL for allowed hosts in DumpRenderTree and WebKitTestRunner
246         https://bugs.webkit.org/show_bug.cgi?id=184239
247
248         Reviewed by Alexey Proskuryakov.
249
250         Adds a new optional command line option --allow-any-certificate-for-allowed-hosts (defaults to disabled)
251         to allow the allowed hosts to accept any HTTPS certificate. You can specify an allowed host
252         by using the existing command line option --allowed-host.
253
254         Currently both DumpRenderTree and WebKitTestRunner relax SSL certificate validation
255         for 127.0.0.1 and localhost so that we can run HTTPS tests from these hosts using
256         a self-signed certificate. They do not relax these restrictions for any allowed host,
257         specified using the optional command line option --allowed-host. For testing purposes
258         it is useful to be able to run a local HTTPS server with a self-signed certificate and
259         mimic a non-localhost hostname (by adding an alias(es) for 127.0.0.1 to /etc/hosts).
260         We should support relaxing SSL restrictions for such testing purposes.
261
262         For example, to allow host example.test to present any HTTPS certificate when running
263         tests you would invoke:
264
265             run-webkit-tests --allowed-host example.test --additional-drt-flag '--allow-any-certificate-for-allowed-hosts'
266
267         * DumpRenderTree/mac/DumpRenderTree.mm:
268         (initializeGlobalsFromCommandLineOptions): Parse the command line option --allow-any-certificate-for-allowed-hosts.
269         (dumpRenderTree): Allow any HTTPS certificate from each allowed host.
270         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
271         (WTR::InjectedBundle::didReceiveMessageToPage): Clear out the existing list of allowed hosts
272         before appending entries to it to avoid growing the list of allowed hosts without bound. Call
273         platformAllowAnyHTTPSCertificateForAllowedHosts() to apply SSL relaxation for each allowed host.
274         * WebKitTestRunner/Options.cpp:
275         (WTR::handleOptionAllowAnyHTTPSCertificateForAllowedHosts): Added.
276         (WTR::handleOptionAllowedHost): Update code as needed now that Options::allowedHosts is a std::set.
277         (WTR::OptionsHandler::OptionsHandler):
278         * WebKitTestRunner/Options.h: Change the data type of allowedHosts from a std::vector to a std::set
279         so that we can make use of the convenience functon std::set::find() in TestController::canAuthenticateAgainstProtectionSpace().
280         * WebKitTestRunner/TestController.cpp:
281         (WTR::TestController::initialize):
282         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Allow any HTTPS certificate from each allowed host.
283         * WebKitTestRunner/TestController.h:
284
285 2018-04-02  Ryan Haddad  <ryanhaddad@apple.com>
286
287         Unreviewed, rolling out r230174.
288
289         Caused LayoutTests to exit early with assertion failures.
290
291         Reverted changeset:
292
293         "Process swapping on navigation needs to handle server
294         redirects."
295         https://bugs.webkit.org/show_bug.cgi?id=184142
296         https://trac.webkit.org/changeset/230174
297
298 2018-04-02  Daniel Bates  <dabates@apple.com>
299
300         Remove pre-Network Session code path for allowing any HTTPS certificate on Mac and iOS
301         https://bugs.webkit.org/show_bug.cgi?id=184242
302
303         Reviewed by Alexey Proskuryakov.
304
305         Following r227364 we use the Network Session (NSURLSession) code path by default in
306         modern WebKit on Mac and iOS. That is, we no longer use {CF, NS}URLConnection in modern
307         WebKit on these platforms. So, we can remove code that used NSURLRequest SPI to allow
308         any HTTPS certificate from localhost and 127.0.0.1 when using {CF, NS}URLConnection.
309         The equivalent functionality is implemented in TestController::canAuthenticateAgainstProtectionSpace().
310
311         * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
312         (WTR::InjectedBundle::platformInitialize):
313         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
314         (WTR::InjectedBundle::platformInitialize):
315
316 2018-04-02  Brady Eidson  <beidson@apple.com>
317
318         Process swapping on navigation needs to handle server redirects.
319         <rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
320
321         Reviewed by Alex Christensen.
322
323         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
324         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
325         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
326         (-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
327         (-[PSONScheme addRedirectFromURLString:toURLString:]):
328         (-[PSONScheme webView:startURLSchemeTask:]):
329
330 2018-04-02  Thibault Saunier  <tsaunier@igalia.com>
331
332         webkitpy: Use current environment value for GST_DEBUG(_FILE) and DOT_DIR env vars
333         https://bugs.webkit.org/show_bug.cgi?id=184036
334
335         Reviewed by Philippe Normand.
336
337         Those variables are for debug purpose and should not change the behaviour
338         itself, and developers expect them to have effect.
339
340         * Scripts/webkitpy/port/gtk.py:
341         (GtkPort.setup_environ_for_server):
342
343 2018-04-02  Daniel Bates  <dabates@apple.com>
344
345         Remove Options constructor and use internal linkage for option handlers
346         https://bugs.webkit.org/show_bug.cgi?id=184229
347
348         Reviewed by Andy Estes.
349
350         Use C++11 default initializer syntax to remove the need to explicitly have a constructor
351         for the struct Options. Use internal linkage for option handler functions as these
352         are never invoked outside the translation unit they are defined in.
353
354         * WebKitTestRunner/Options.cpp:
355         (WTR::handleOptionNoTimeout):
356         (WTR::handleOptionVerbose):
357         (WTR::handleOptionGcBetweenTests):
358         (WTR::handleOptionPixelTests):
359         (WTR::handleOptionPrintSupportedFeatures):
360         (WTR::handleOptionComplexText):
361         (WTR::handleOptionAcceleratedDrawing):
362         (WTR::handleOptionRemoteLayerTree):
363         (WTR::handleOptionShowWebView):
364         (WTR::handleOptionShowTouches):
365         (WTR::handleOptionAllowedHost):
366         (WTR::handleOptionUnmatched):
367         (WTR::Options::Options): Deleted.
368         * WebKitTestRunner/Options.h:
369
370 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
371
372         Unreviewed GTK port dependencies fix after r230152.
373
374         Add alsa library dependency for gtk.
375
376         * gtk/install-dependencies:
377
378 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
379
380         [GTK] Make libwebrtc backend buildable for GTK  port
381         https://bugs.webkit.org/show_bug.cgi?id=178860
382
383         Reviewed by Youenn Fablet.
384
385         * gstreamer/jhbuild.modules: Modified the libvpx module for the
386         libwebrtc compilation.
387         * gtk/install-dependencies: Add libevent as a system requirement.
388         * Scripts/webkitpy/style/checker.py: Added libwebrtc to the list of third
389         party libraries with reduced style checks.
390
391 2018-04-01  Zalan Bujtas  <zalan@apple.com>
392
393         [LayoutReloaded] Use containing block's contentBox left edge when the float is to the right.
394         https://bugs.webkit.org/show_bug.cgi?id=184230
395
396         Reviewed by Antti Koivisto.
397
398         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
399         (InlineFormattingContext.prototype._mapFloatingPosition):
400         (InlineFormattingContext):
401         * LayoutReloaded/test/index.html:
402         * LayoutReloaded/test/inline-formatting-context-with-floats2.html: Added.
403
404 2018-04-01  Zalan Bujtas  <zalan@apple.com>
405
406         [LayoutReloaded] Right floating box reduces available line width.
407         https://bugs.webkit.org/show_bug.cgi?id=184226
408
409         Reviewed by Antti Koivisto.
410
411         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
412         (InlineFormattingContext.prototype._createNewLine):
413         * LayoutReloaded/test/index.html:
414         * LayoutReloaded/test/inline-with-floats-right-left-simple.html: Added.
415
416 2018-03-31  Zalan Bujtas  <zalan@apple.com>
417
418         [LayoutReloaded] Floating box reduces line with in inline formatting context
419         https://bugs.webkit.org/show_bug.cgi?id=184223
420
421         Reviewed by Antti Koivisto.
422
423         * LayoutReloaded/FormattingContext/FloatingContext.js:
424         (FloatingContext.prototype.left):
425         (FloatingContext.prototype.right):
426         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
427         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
428         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
429         (FloatingContext.prototype.formattingRoot):
430         (FloatingContext.prototype._floatingState):
431         (FloatingContext.prototype._formattingRoot): Deleted.
432         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
433         (InlineFormattingContext.prototype._createNewLine):
434         (InlineFormattingContext.prototype._mapFloatingPosition):
435         (InlineFormattingContext):
436         * LayoutReloaded/FormattingState/FormattingState.js:
437         (FormattingState.prototype.displayBox):
438         (FormattingState):
439         * LayoutReloaded/test/index.html:
440         * LayoutReloaded/test/inline-formatting-context-with-floats.html: Added.
441
442 2018-03-31  Zalan Bujtas  <zalan@apple.com>
443
444         [LayoutReloaded] InlineFormattingState should inherit the floating state from its parent formatting state
445         https://bugs.webkit.org/show_bug.cgi?id=184220
446
447         Reviewed by Antti Koivisto.
448
449         If the block container box that initiates an inline formatting context also establishes a block context,
450         create a new float state, otherwise use the existing one.
451
452         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
453         (BlockFormattingContext.prototype._contentHeight):
454         * LayoutReloaded/FormattingState/InlineFormattingState.js:
455         (InlineFormattingState):
456         * LayoutReloaded/LayoutState.js:
457         (LayoutState.prototype.establishedFormattingState):
458         (LayoutState.prototype.formattingStateForBox):
459         (LayoutState.prototype.formattingState): Deleted.
460         * LayoutReloaded/Utils.js:
461
462 2018-03-31  Zalan Bujtas  <zalan@apple.com>
463
464         [LayoutReloaded] FloatingContext does not need a parent formatting context.
465         https://bugs.webkit.org/show_bug.cgi?id=184219
466
467         Reviewed by Antti Koivisto.
468
469         We don't need the formatting context in the FloatingContext now that margins are moved over to Display.Box.
470         This is in preparation for being able to create a FloatingContext for an inline formatting context,
471         when the inline context actually inherits the floating state from its formatting root.
472
473         * LayoutReloaded/FormattingContext/FloatingContext.js:
474         (FloatingContext):
475         (FloatingContext.prototype._availableSpace):
476         (FloatingContext.prototype._adjustedFloatingPosition):
477         (FloatingContext.prototype._addFloatingBox):
478         (FloatingContext.prototype._formattingContext): Deleted.
479         * LayoutReloaded/FormattingContext/FormattingContext.js:
480         (FormattingContext):
481
482 2018-03-31  Zalan Bujtas  <zalan@apple.com>
483
484         [LayoutReloaded] Do not clone Display.Box for FloatingState stacks.
485         https://bugs.webkit.org/show_bug.cgi?id=184218
486
487         Reviewed by Antti Koivisto.
488
489         Now that Display.Box is in a tree context, we can't just clone it for the purpose of caching its absolute position.
490
491         * LayoutReloaded/DisplayTree/Box.js:
492         (Display.Box.prototype.clone): Deleted.
493         * LayoutReloaded/FormattingContext/FloatingContext.js:
494         (FloatingContext.prototype._positionForFloating):
495         (FloatingContext.prototype._moveToNextVerticalPosition):
496         (FloatingContext.prototype._availableSpace):
497         (FloatingContext.prototype._findFloatingAtVerticalPosition):
498         (FloatingContext.prototype._adjustedFloatingPosition):
499         (FloatingContext.prototype._bottom):
500         (FloatingContext.prototype._addFloatingBox):
501         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
502         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
503         * LayoutReloaded/FormattingState/FloatingState.js:
504         (FloatingState.prototype.addFloating):
505
506 2018-03-31  Zalan Bujtas  <zalan@apple.com>
507
508         [LayoutReloaded] Remove all FormattingContext::absolute*Box functions.
509         https://bugs.webkit.org/show_bug.cgi?id=184215
510
511         Reviewed by Antti Koivisto.
512
513         Use Display.Box instead.
514
515         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
516         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
517         * LayoutReloaded/FormattingContext/FloatingContext.js:
518         (FloatingContext.prototype._availableSpace):
519         (FloatingContext.prototype._adjustedFloatingPosition):
520         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
521         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
522         * LayoutReloaded/FormattingContext/FormattingContext.js:
523         (FormattingContext.prototype.absoluteBorderBox): Deleted.
524         (FormattingContext.prototype.absolutePaddingBox): Deleted.
525         (FormattingContext.prototype.absoluteContentBox): Deleted.
526         (FormattingContext.prototype._toAbsolutePosition): Deleted.
527         (FormattingContext.prototype._toRootAbsolutePosition): Deleted.
528         * LayoutReloaded/Utils.js:
529         (Utils.mapPosition):
530         (Utils.marginBox):
531         (Utils.borderBox):
532         (Utils.contentBox):
533
534 2018-03-31  Zalan Bujtas  <zalan@apple.com>
535
536         [LayoutReloaded] Remove FormattingContext::absoluteMarginBox
537         https://bugs.webkit.org/show_bug.cgi?id=184213
538
539         Reviewed by Antti Koivisto.
540
541         Display.Box already has the margin values.
542
543         * LayoutReloaded/FormattingContext/FloatingContext.js:
544         (FloatingContext.prototype._positionForFloating):
545         (FloatingContext.prototype._addFloatingBox):
546         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
547         (FloatingContext.prototype._formattingRoot):
548         * LayoutReloaded/FormattingContext/FormattingContext.js:
549         (FormattingContext.prototype.absoluteMarginBox): Deleted.
550         * LayoutReloaded/Utils.js:
551         (Utils.marginBox):
552
553 2018-03-31  Zalan Bujtas  <zalan@apple.com>
554
555         [layoutReloaded] Introduce margin to Display.Box
556         https://bugs.webkit.org/show_bug.cgi?id=184212
557
558         Reviewed by Antti Koivisto.
559
560         This is in preparation for moving margin box out of formatting context to Display.Box.
561
562         * LayoutReloaded/DisplayTree/Box.js:
563         (Display.Box):
564         (Display.Box.prototype.setRect):
565         (Display.Box.prototype.setTopLeft):
566         (Display.Box.prototype.setTop):
567         (Display.Box.prototype.setLeft):
568         (Display.Box.prototype.setSize):
569         (Display.Box.prototype.setWidth):
570         (Display.Box.prototype.setHeight):
571         (Display.Box.prototype.width):
572         (Display.Box.prototype.setMarginTop):
573         (Display.Box.prototype.setMarginLeft):
574         (Display.Box.prototype.setMarginBottom):
575         (Display.Box.prototype.setMarginRight):
576         (Display.Box.prototype.marginTop):
577         (Display.Box.prototype.marginLeft):
578         (Display.Box.prototype.marginBottom):
579         (Display.Box.prototype.marginRight):
580         (Display.Box.prototype.marginBox):
581         * LayoutReloaded/FormattingContext/FormattingContext.js:
582         (FormattingContext.prototype.absoluteMarginBox):
583         (FormattingContext.prototype._addToLayoutQueue):
584         * LayoutReloaded/FormattingState/FormattingState.js:
585         (FormattingState.prototype.createDisplayBox):
586
587 2018-03-31  Zalan Bujtas  <zalan@apple.com>
588
589         [LayoutReloaded] Add tree context to Display.Box
590         https://bugs.webkit.org/show_bug.cgi?id=184211
591
592         Reviewed by Antti Koivisto.
593
594         This is preparation for using the Display.Box tree to resolve absolute coordinates.
595
596         * LayoutReloaded/DisplayTree/Box.js:
597         (Display.Box):
598         (Display.Box.prototype.setParent):
599         (Display.Box.prototype.setNextSibling):
600         (Display.Box.prototype.setPreviousSibling):
601         (Display.Box.prototype.setFirstChild):
602         (Display.Box.prototype.setLastChild):
603         (Display.Box.prototype.parent):
604         (Display.Box.prototype.nextSibling):
605         (Display.Box.prototype.previousSibling):
606         (Display.Box.prototype.firstChild):
607         (Display.Box.prototype.lastChild):
608         * LayoutReloaded/FormattingState/FormattingState.js:
609         (FormattingState.prototype.createDisplayBox):
610
611 2018-03-30  Ryosuke Niwa  <rniwa@webkit.org>
612
613         Copying a list from Microsoft Word to TinyMCE fails when mso-list is the first property
614         https://bugs.webkit.org/show_bug.cgi?id=182938
615         <rdar://problem/37683007>
616
617         Reviewed by Wenson Hsieh.
618
619         Added more assertions to PasteHTML.PreservesMSOList for preserving an inline style which starts with mso-list
620         or the one which line-breaks right before it.
621
622         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
623         * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html:
624
625 2018-03-29  Ryosuke Niwa  <rniwa@webkit.org>
626
627         Copying a list from Microsoft Word to TinyMCE fails when mso-list is on tags other than P
628         https://bugs.webkit.org/show_bug.cgi?id=182954
629         <rdar://problem/37713141>
630
631         Reviewed by Wenson Hsieh.
632
633         Added a test case for a HTML generated by Microsoft Word which sets mso-list on h4.
634
635         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
636         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
637         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-compat-mode.html: Fixed the file path.
638         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-on-h4.html: Added.
639
640 2018-03-29  Ross Kirsling  <ross.kirsling@sony.com>
641
642         run-jsc-benchmarks should recognize Windows-style build directory structure.
643         https://bugs.webkit.org/show_bug.cgi?id=184117
644
645         Reviewed by Yusuke Suzuki.
646
647         * Scripts/run-jsc-benchmarks:
648         Allow not only bin/jsc but also bin64/jsc.exe.
649
650 2018-03-29  Zalan Bujtas  <zalan@apple.com>
651
652         [LayoutReloaded] Decouple formatting state and context lifetime.
653         https://bugs.webkit.org/show_bug.cgi?id=184136
654
655         Reviewed by Antti Koivisto.
656
657         FormattingContext is about the layout logic. We don't need to hold on to it.
658
659         * LayoutReloaded/FormattingContext/FloatingContext.js:
660         (FloatingContext):
661         (FloatingContext.prototype.computePosition):
662         (FloatingContext.prototype._positionForClear):
663         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
664         (FloatingContext.prototype._addFloatingBox):
665         (FloatingContext.prototype._formattingContext):
666         (FloatingContext.prototype._formattingState):
667         * LayoutReloaded/FormattingContext/FormattingContext.js:
668         (FormattingContext):
669         * LayoutReloaded/FormattingState/BlockFormattingState.js:
670         (BlockFormattingState):
671         * LayoutReloaded/FormattingState/FloatingState.js:
672         (FloatingState):
673         (FloatingState.prototype.addFloating):
674         (FloatingState.prototype.formattingState):
675         (FloatingState.prototype.formattingContext): Deleted.
676         * LayoutReloaded/FormattingState/FormattingState.js:
677         (FormattingState):
678         (FormattingState.prototype.formattingContext): Deleted.
679         * LayoutReloaded/FormattingState/InlineFormattingState.js:
680         (InlineFormattingState):
681         * LayoutReloaded/LayoutState.js:
682         (LayoutState.prototype.layout):
683         (LayoutState.prototype.formattingContext):
684
685 2018-03-28  Zalan Bujtas  <zalan@apple.com>
686
687         [LayoutReloaded] Introduce FloatingState.
688         https://bugs.webkit.org/show_bug.cgi?id=184126
689
690         Reviewed by Antti Koivisto.
691
692         It holds the floating state (left/right floating stack) for a given formatting state (Block or Inline).
693         (FormattingState -> FloatingState/FormattingContext -> FloatingContext)
694
695         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
696         (BlockFormattingContext):
697         * LayoutReloaded/FormattingContext/FloatingContext.js:
698         (FloatingContext):
699         (FloatingContext.prototype.computePosition):
700         (FloatingContext.prototype.bottom):
701         (FloatingContext.prototype._positionForFloating):
702         (FloatingContext.prototype._positionForClear):
703         (FloatingContext.prototype._findInnerMostLeftAndRight):
704         (FloatingContext.prototype._isEmpty):
705         (FloatingContext.prototype._floatingState):
706         (FloatingContext.prototype._formattingContext):
707         (FloatingContext.prototype._lastFloating):
708         (FloatingContext.prototype._leftFloatingStack):
709         (FloatingContext.prototype._rightFloatingStack):
710         (FloatingContext.prototype._addFloating): Deleted.
711         * LayoutReloaded/FormattingContext/FormattingContext.js:
712         (FormattingContext):
713         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
714         (InlineFormattingContext):
715         * LayoutReloaded/FormattingState/BlockFormattingState.js:
716         (BlockFormattingState):
717         * LayoutReloaded/FormattingState/FloatingState.js: Copied from Tools/LayoutReloaded/FormattingState/InlineFormattingState.js.
718         (FloatingState):
719         (FloatingState.prototype.addFloating):
720         (FloatingState.prototype.leftFloatingStack):
721         (FloatingState.prototype.rightFloatingStack):
722         (FloatingState.prototype.lastFloating):
723         (FloatingState.prototype.formattingContext):
724         * LayoutReloaded/FormattingState/FormattingState.js:
725         (FormattingState):
726         (FormattingState.prototype.floatingState):
727         * LayoutReloaded/FormattingState/InlineFormattingState.js:
728         (InlineFormattingState):
729         * LayoutReloaded/test/index.html:
730
731 2018-03-28  Zalan Bujtas  <zalan@apple.com>
732
733         [LayoutReloaded] Convert floating left/right stack display boxes absolute to the formatting context's root.
734         https://bugs.webkit.org/show_bug.cgi?id=184123
735
736         Reviewed by Antti Koivisto.
737
738         1. The left/right floating array should hold the Display.Box (and not the Layout.Box)
739         2. Clone the Display.Box and convert its rect absolute to the formatting context's root so that we
740         don't have to keep converting the coordinates while computing the positions. 
741
742         * LayoutReloaded/DisplayTree/Box.js:
743         (Display.Box.prototype.clone):
744         (Display.Box.prototype.setRect):
745         * LayoutReloaded/FormattingContext/FloatingContext.js:
746         (FloatingContext.prototype.computePosition):
747         (FloatingContext.prototype._positionForFloating):
748         (FloatingContext.prototype._addFloating):
749         (FloatingContext.prototype._moveToNextVerticalPosition):
750         (FloatingContext.prototype._availableSpace):
751         (FloatingContext.prototype._findFloatingAtVerticalPosition):
752         (FloatingContext.prototype._adjustedFloatingPosition):
753         (FloatingContext.prototype._bottom):
754
755 2018-03-28  Chris Dumez  <cdumez@apple.com>
756
757         Unreviewed iOS build fix after r230060.
758
759         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
760
761 2018-03-28  Chris Dumez  <cdumez@apple.com>
762
763         Unreviewed, disable new window.open() API tests introduced in r230051 on iOS.
764
765         I will investigate if this is testable on iOS.
766
767         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
768
769 2018-03-28  Chris Dumez  <cdumez@apple.com>
770
771         Do process swap when opening a cross-origin URL via window.open(url, '_blank', 'noopener')
772         https://bugs.webkit.org/show_bug.cgi?id=183962
773         <rdar://problem/38817833>
774
775         Reviewed by Brady Eidson.
776
777         Add API test coverage.
778
779         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
780         (-[PSONUIDelegate initWithNavigationDelegate:]):
781         (-[PSONUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
782
783 2018-03-28  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
784
785         Add Carlos Eduardo Ramalho as contributor
786         https://bugs.webkit.org/show_bug.cgi?id=184082
787
788         Reviewed by Carlos Alberto Lopez Perez.
789
790         * Scripts/webkitpy/common/config/contributors.json:
791
792 2018-03-28  Wenson Hsieh  <wenson_hsieh@apple.com>
793
794         [Extra zoom mode] Make boosted text autosizing values switchable at runtime
795         https://bugs.webkit.org/show_bug.cgi?id=184092
796         <rdar://problem/38939917>
797
798         Reviewed by Tim Horton.
799
800         Add an API test to check that toggling the boosted text autosizing preference causes text to lay out larger than
801         it would with normal text autosizing.
802
803         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
804         * TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm: Added.
805         (TEST):
806
807 2018-03-28  Zalan Bujtas  <zalan@apple.com>
808
809         [LayoutReloaded] InlineFormattingContext::_handleText should support runs on multiple lines
810         https://bugs.webkit.org/show_bug.cgi?id=184101
811
812         Reviewed by Antti Koivisto.
813
814         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
815         (InlineFormattingContext):
816         (InlineFormattingContext.prototype.layout):
817         (InlineFormattingContext.prototype._handleText):
818         (InlineFormattingContext.prototype._createNewLine):
819         * LayoutReloaded/test/index.html:
820         * LayoutReloaded/test/simple-multiline-text.html: Added.
821
822 2018-03-28  Zalan Bujtas  <zalan@apple.com>
823
824         [LayoutReloaded] Add InlineTextBreaker::skipLeadingWhitespaceIfNeeded
825         https://bugs.webkit.org/show_bug.cgi?id=184099
826
827         Reviewed by Antti Koivisto.
828
829         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
830
831 2018-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
832
833         [GLIB] Add JSCWeakValue to JavaScriptCore GLib API
834         https://bugs.webkit.org/show_bug.cgi?id=184041
835
836         Reviewed by Michael Catanzaro.
837
838         Add test case for JSCWeakValue.
839
840         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
841         (weakValueClearedCallback):
842         (testJSCWeakValue):
843         (main):
844
845 2018-03-27  Zalan Bujtas  <zalan@apple.com>
846
847         [LayoutReloaded] Start using window.collectTextRuns() to layout text lines in inline formatting context
848         https://bugs.webkit.org/show_bug.cgi?id=184070
849
850         Reviewed by Antti Koivisto.
851
852         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
853         (InlineFormattingContext.prototype._handleText):
854         (InlineFormattingContext.prototype._commitLine):
855         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
856         (Line.prototype.addTextLineBox):
857         (Line):
858         (Line.prototype.addLineBox): Deleted.
859         * LayoutReloaded/FormattingState/BlockFormattingState.js:
860         (BlockFormattingState):
861         * LayoutReloaded/FormattingState/FormattingState.js:
862         (FormattingState.prototype.displayBox):
863         (FormattingState):
864         (FormattingState.prototype._setFormattingContext): Deleted.
865         * LayoutReloaded/FormattingState/InlineFormattingState.js:
866         (InlineFormattingState):
867         * LayoutReloaded/LayoutTree/Text.js:
868         (Text.prototype.content):
869         * LayoutReloaded/Utils.js:
870         (Utils.textRuns):
871         (Utils.textRunsForLine):
872         (Utils._dumpLines.):
873         (Utils._dumpLines):
874         * LayoutReloaded/test/simple-inline-text.html:
875
876 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
877
878         https://bugs.webkit.org/show_bug.cgi?id=183876
879         <rdar://problem/38726459>
880         
881         Unreviewed, fix for the test added in r229995 in the iOS simulator.
882
883         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm:
884         (TestWebKitAPI::AVFoundationPref::testWithPreference):
885
886 2018-03-27  Jiewen Tan  <jiewen_tan@apple.com>
887
888         [WebAuthN] Implement authenticatorGetAssertion
889         https://bugs.webkit.org/show_bug.cgi?id=183881
890         <rdar://problem/37258628>
891
892         Reviewed by Brent Fulgham.
893
894         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
895         (TestWebKitAPI::getTestKey):
896         (TestWebKitAPI::addTestKeyToKeychain):
897         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
898         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
899         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::LAEvaluateAccessControlFailedSwizzler):
900         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::evaluateAccessControlFailed):
901         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::LAEvaluateAccessControlPassedSwizzler):
902         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::evaluateAccessControlPassed):
903         (TestWebKitAPI::TEST):
904
905 2018-03-27  Brian Burg  <bburg@apple.com>
906
907         REGRESSION(r229937): WebDriver tests no longer run, test runner hangs when launching wpt web server
908         https://bugs.webkit.org/show_bug.cgi?id=184056
909         <rdar://problem/38925058>
910
911         Reviewed by Timothy Hatcher and Youenn Fablet.
912
913         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
914         (WebDriverW3CWebServer.start):
915         The config key used in upstream WPT has changed from 'host' to 'browser_host'.
916
917 2018-03-27  Timothy Hatcher  <timothy@hatcher.name>
918
919         Update my email address in contributors.json and scripts
920         https://bugs.webkit.org/show_bug.cgi?id=184054
921
922         * Scripts/validate-committer-lists:
923         (CommitterListFromGit):
924         * Scripts/webkitpy/common/config/contributors.json:
925
926 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
927
928         Make AVFoundationEnabled preference available on iOS
929         https://bugs.webkit.org/show_bug.cgi?id=183876
930         <rdar://problem/38726459>
931
932         Reviewed by Youenn Fablet.
933
934         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
935         * TestWebKitAPI/Tests/WebKit/video.html: Added.
936         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm: Added.
937         (-[PreferenceTestMessageHandler userContentController:didReceiveScriptMessage:]):
938         (TestWebKitAPI::AVFoundationPref::SetUp):
939         (TestWebKitAPI::AVFoundationPref::testWithPreference):
940         (TestWebKitAPI::TEST_F):
941
942 2018-03-26  Brent Fulgham  <bfulgham@apple.com>
943
944         Warn against cookie access in the WebContent process using ProcessPrivilege assertions
945         https://bugs.webkit.org/show_bug.cgi?id=183911
946         <rdar://problem/38762306>
947
948         Reviewed by Youenn Fablet.
949
950         Add a set of ProcessPrivilege assertions to enforce the rule that the WebContent process
951         should never call Cookie API directly. That should only happen in the Networking or
952         UIProcess. 
953
954         * DumpRenderTree/mac/DumpRenderTree.mm:
955         (DumpRenderTreeMain):
956         * TestWebKitAPI/TestsController.cpp:
957         (TestWebKitAPI::TestsController::TestsController):
958         * WebKitTestRunner/TestController.cpp:
959         (WTR::TestController::initialize):
960
961 2018-03-26  Zalan Bujtas  <zalan@apple.com>
962
963         [LayoutReloaded] Add InlineText DOM interface and dependencies
964         https://bugs.webkit.org/show_bug.cgi?id=184010
965
966         Reviewed by Antti Koivisto.
967
968         to help inline text layout.
969
970         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
971
972 2018-03-25  Carlos Garcia Campos  <cgarcia@igalia.com>
973
974         [GTK][WPE] Add API to convert between DOM and JSCValue
975         https://bugs.webkit.org/show_bug.cgi?id=183448
976
977         Reviewed by Michael Catanzaro.
978
979         Add unit tests for non-deprecated DOM API and switch existing tests to use non-deprecated API except for the
980         ones that test the deprecated API.
981
982         * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp: Added.
983         (DOMElementTest::create):
984         (DOMElementTest::testAutoFill):
985         (registerTests):
986         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp: Added.
987         (WebKitWebEditorTest::create):
988         (WebKitWebEditorTest::selectionChangedCallback):
989         (WebKitWebEditorTest::testSelectionchanged):
990         (registerTests):
991         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
992         (WebKitFrameTest::testJavaScriptValues):
993         (registerTests):
994         * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObjectPrivate.h.
995         (testWebKitDOMElementAutoFill):
996         (beforeAll):
997         (afterAll):
998         * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp.
999         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
1000         (testWebKitFrameJavaScriptValues):
1001         (beforeAll):
1002         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
1003         (inputElementIsUserEdited):
1004         (testWebExtensionInputElementIsUserEdited):
1005         (testWebExtensionFormSubmissionSteps):
1006         (beforeAll):
1007         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1008         (documentLoadedCallback):
1009         (serializeNode):
1010         (contextMenuCallback):
1011         (consoleMessageSentCallback):
1012         (formControlsAssociatedCallback):
1013         (willSubmitFormCallback):
1014         (pageCreatedCallback):
1015         (methodCallCallback):
1016         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
1017         (checkLeaks):
1018         (webProcessTestRunnerFinalize):
1019         (checkLeaksAtExit):
1020         * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
1021         (AutocleanupsTest::testWebProcessAutocleanups):
1022         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
1023         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
1024         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
1025         * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
1026         * TestWebKitAPI/Tests/WebKitGtk/EditorTest.cpp: Removed.
1027         * TestWebKitAPI/glib/CMakeLists.txt:
1028         * TestWebKitAPI/glib/PlatformGTK.cmake:
1029         * TestWebKitAPI/glib/PlatformWPE.cmake:
1030
1031 2018-03-24  Jonathan Bedard  <jbedard@apple.com>
1032
1033         webkitpy: Unrecognized mac versions always use WebKitTestRunner
1034         https://bugs.webkit.org/show_bug.cgi?id=183681
1035         <rdar://problem/38509162>
1036
1037         Reviewed by Daniel Bates.
1038
1039         When an unrecognized version is used, we were unconditionally adding '-wk2'
1040         to the mac version name. This would mean that the port object would always
1041         use WebKitTestRunner as the driver, even if DumpRenderTree was explicitly
1042         requested.
1043
1044         * Scripts/webkitpy/port/apple.py:
1045         (ApplePort.determine_full_port_name): Only add wk2 to port names if
1046         WebKitTestRunner is specified.
1047         * Scripts/webkitpy/port/mac.py:
1048         (MacPort.__init__): Compare length of split string, and do not treat wk2 as a
1049         version name.
1050         * Scripts/webkitpy/port/mac_unittest.py:
1051         (MacTest):
1052         (MacTest.test_factory_with_future_version): Confirm that future versions correctly
1053         assign the driver and have undefined version names.
1054         (MacTest.test_factory_with_portname_version): Confirm that general versions correctly assign
1055         the driver and have defined versions.
1056         (MacTest.test_factory_with_portname_wk2): Ensure that mac ports ending in 'wk2' set
1057         the driver to be WebKitTestRunner even if webkit_test_runner=False.
1058
1059 2018-03-23  Zan Dobersek  <zdobersek@igalia.com>
1060
1061         Fix the run-benchmark script, properly specifying the plan directory
1062         where the Skipped file is located.
1063
1064         Rubber-stamped by Carlos Alberto Lopez Perez.
1065
1066         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1067         (start):
1068
1069 2018-03-23  Tim Horton  <timothy_horton@apple.com>
1070
1071         Fix the build with no pasteboard
1072         https://bugs.webkit.org/show_bug.cgi?id=183973
1073
1074         Reviewed by Dan Bernstein.
1075
1076         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1077
1078 2018-03-23  Youenn Fablet  <youenn@apple.com>
1079
1080         Update WPT tools to a1ec330
1081         https://bugs.webkit.org/show_bug.cgi?id=183934
1082
1083         Reviewed by Chris Dumez.
1084
1085         Update script to run WPT server  according updated WPT tools.
1086
1087         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
1088         (main):
1089         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1090         (base_http_url):
1091         (base_https_url):
1092
1093 2018-03-23  Sihui Liu  <sihui_liu@apple.com>
1094
1095         Local storage getItem() for an empty string returned UNDEFINED value.
1096         https://bugs.webkit.org/show_bug.cgi?id=69138
1097         <rdar://problem/13410974>
1098
1099         Reviewed by Brady Eidson.
1100
1101         Add API test coverage.
1102
1103         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1104         * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Added.
1105         (-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
1106         (TEST):
1107         * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html: Added.
1108
1109 2018-03-23  Chris Dumez  <cdumez@apple.com>
1110
1111         Promptly terminate service worker processes when they are no longer needed
1112         https://bugs.webkit.org/show_bug.cgi?id=183873
1113         <rdar://problem/38676995>
1114
1115         Reviewed by Youenn Fablet.
1116
1117         Add API test coverage.
1118
1119         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1120
1121 2018-03-23  Brady Eidson  <beidson@apple.com>
1122
1123         Go to back/forward list items after a process-swapped navigation.
1124         <rdar://problem/38690544> and https://bugs.webkit.org/show_bug.cgi?id=183920
1125
1126         Reviewed by Andy Estes.
1127
1128         Add a new API test that does some process-swapping navigations (including a back navigation)
1129         and verifies the state of the engine afterwards.
1130
1131         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1132         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
1133         (-[PSONScheme initWithBytes:]):
1134         (-[PSONScheme webView:startURLSchemeTask:]):
1135         (log):
1136         (function):
1137         (TEST): Deleted.
1138
1139 2018-03-23  Brendan McLoughlin  <brendan@bocoup.com>
1140
1141         Lint web-platform-tests changes with the wpt linter before exporting
1142         https://bugs.webkit.org/show_bug.cgi?id=183796
1143
1144         Reviewed by Youenn Fablet.
1145
1146         * Scripts/webkitpy/w3c/test_exporter.py:
1147         (TestExporter.__init__):
1148         (TestExporter.do_export):
1149         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
1150         (TestExporterTest.MockWPTLinter):
1151         (TestExporterTest.MockWPTLinter.__init__):
1152         (TestExporterTest.MockWPTLinter.lint):
1153         (TestExporterTest.test_export):
1154         (TestExporterTest.test_export_with_specific_branch):
1155         * Scripts/webkitpy/w3c/wpt_linter.py: Added.
1156         (WPTLinter):
1157         (WPTLinter.__init__):
1158         (WPTLinter.lint):
1159
1160 2018-03-23  David Kilzer  <ddkilzer@apple.com>
1161
1162         Stop using dispatch_set_target_queue()
1163         <https://webkit.org/b/183908>
1164         <rdar://problem/33553533>
1165
1166         Reviewed by Daniel Bates.
1167
1168         * Scripts/webkitpy/style/checkers/cpp.py:
1169         (check_language): Add check for use of
1170         dispatch_set_target_queue().
1171         (CppChecker): Add 'runtime/dispatch_set_target_queue' category.
1172         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1173         (CppStyleTest): Add test.
1174
1175 2018-03-23  Youenn Fablet  <youenn@apple.com>
1176
1177         Allow fully whitelisted plug-ins to match non HTTP URLs
1178         https://bugs.webkit.org/show_bug.cgi?id=183938
1179         rdar://problem/38534312
1180
1181         Reviewed by Chris Dumez.
1182
1183         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1184         (TestWebKitAPI::TEST_F):
1185
1186 2018-03-23  JF Bastien  <jfbastien@apple.com>
1187
1188         dump-class-layout is just wrong
1189         https://bugs.webkit.org/show_bug.cgi?id=183939
1190
1191         Reviewed by Yusuke Suzuki.
1192
1193         Looks like r229291 contained a half-renamed variable in it, so it
1194         just doesn't work.
1195
1196         * Scripts/dump-class-layout:
1197         (verify_type):
1198         (verify_type_recursive):
1199
1200 2018-03-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1201
1202         Unreviewed. Run JSC GLib API tests in GTK+ and WPE bots.
1203
1204         The test runners were still considering the JSC tests as google tests, but they are now GLib tests.
1205
1206         * Scripts/run-gtk-tests:
1207         (GtkTestRunner.is_glib_test):
1208         (GtkTestRunner.is_google_test):
1209         * Scripts/run-wpe-tests:
1210         (WPETestRunner.is_glib_test):
1211         (WPETestRunner.is_google_test):
1212
1213 2018-03-22  Daniel Bates  <dabates@apple.com>
1214
1215         Expose SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest() as WebKit SPI
1216         https://bugs.webkit.org/show_bug.cgi?id=183907
1217         <rdar://problem/38759127>
1218
1219         Reviewed by Alex Christensen.
1220
1221         Adds unit tests for the modern Objective-C and C SPI to ensure we do not regress it.
1222
1223         We use the deprecated -[WKBrowsingContextController registerSchemeForCustomProtocol:]
1224         in both the modern Objective-C API and C API tests to share code. Once we no longer
1225         need to support the C API we should remove the tests and transition the modern Objective-
1226         C tests to use -[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:].
1227
1228         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1229         * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm: Added.
1230         (+[EchoURLProtocol canInitWithRequest:]):
1231         (+[EchoURLProtocol canonicalRequestForRequest:]):
1232         (+[EchoURLProtocol requestIsCacheEquivalent:toRequest:]):
1233         (-[EchoURLProtocol startLoading]):
1234         (-[EchoURLProtocol stopLoading]):
1235         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextController:didFailProvisionalLoadWithError:]):
1236         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextControllerDidFinishLoad:]):
1237         (TestWebKitAPI::TEST):
1238
1239 2018-03-22  Adrian Perez de Castro  <aperez@igalia.com>
1240
1241         [WPE] Enable WOFF2 support
1242         https://bugs.webkit.org/show_bug.cgi?id=178158
1243
1244         Reviewed by Frédéric Wang.
1245
1246         * wpe/jhbuild.modules: Add "brotli" and "woff2" to the JHBuild moduleset.
1247
1248 2018-03-22  Brendan McLoughlin  <brendan@bocoup.com>
1249
1250         Do not export web-platform-test files generated by the wpt importer to assist the webkit test runner
1251         https://bugs.webkit.org/show_bug.cgi?id=183916
1252
1253         Reviewed by Youenn Fablet.
1254
1255         * Scripts/webkitpy/w3c/test_exporter.py:
1256         (TestExporter.create_branch_with_patch):
1257         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
1258         (TestExporterTest.test_export):
1259         (TestExporterTest.test_export_with_specific_branch):
1260
1261 2018-03-22  Tim Horton  <timothy_horton@apple.com>
1262
1263         Improve readability of WebCore's OTHER_LDFLAGS
1264         https://bugs.webkit.org/show_bug.cgi?id=183909
1265         <rdar://problem/38760992>
1266
1267         Reviewed by Dan Bernstein.
1268
1269         * TestWebKitAPI/Configurations/Base.xcconfig:
1270         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1271
1272 2018-03-21  Fujii Hironori  <Hironori.Fujii@sony.com>
1273
1274         Unreviewed. Marked myself as a committer.
1275
1276         * Scripts/webkitpy/common/config/contributors.json:
1277
1278 2018-03-21  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
1279
1280         Unreviewed, make the email address of Yoshiaki Jitsukawa all lower case.
1281
1282         * Scripts/webkitpy/common/config/contributors.json:
1283
1284 2018-03-21  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
1285
1286         Unreviewed, add myself as a WebKit committer.
1287
1288         * Scripts/webkitpy/common/config/contributors.json:
1289
1290 2018-03-21  Chris Dumez  <cdumez@apple.com>
1291
1292         ScrollViewInsetTests.RestoreInitialContentOffsetAfterCrash API test is failing with async delegates
1293         https://bugs.webkit.org/show_bug.cgi?id=183787
1294
1295         Reviewed by Wenson Hsieh.
1296
1297         Add API test coverage.
1298
1299         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
1300         (-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
1301         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationAction:decisionHandler:]):
1302         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationResponse:decisionHandler:]):
1303         (-[AsyncPolicyDelegateForInsetTest webViewWebContentProcessDidTerminate:]):
1304         (TestWebKitAPI::TEST):
1305
1306 2018-03-21  Chris Dumez  <cdumez@apple.com>
1307
1308         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
1309         https://bugs.webkit.org/show_bug.cgi?id=183858
1310
1311         Reviewed by Wenson Hsieh.
1312
1313         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
1314         instead of loadTestPageNamed because injecting script.
1315
1316         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1317         (TestWebKitAPI::TEST):
1318
1319 2018-03-21  Zalan Bujtas  <zalan@apple.com>
1320
1321         [LayoutReloaded] Enable formatting state for InlineFormattingContext
1322         https://bugs.webkit.org/show_bug.cgi?id=183853
1323
1324         Reviewed by Antti Koivisto.
1325
1326         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1327         (BlockFormattingContext.prototype._contentHeight):
1328         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1329         (InlineFormattingContext):
1330         (InlineFormattingContext.prototype.layout):
1331         (InlineFormattingContext.prototype._createNewLine):
1332         * LayoutReloaded/LayoutState.js:
1333         (LayoutState.prototype.formattingState):
1334         * LayoutReloaded/README.md:
1335         * LayoutReloaded/Utils.js:
1336         (Utils._dumpTree):
1337         * LayoutReloaded/test/index.html:
1338         * LayoutReloaded/test/simple-inline-text.html: Added.
1339
1340 2018-03-21  Zalan Bujtas  <zalan@apple.com>
1341
1342         [LayoutReloaded] Move inline lines to InlineFormattingState.
1343         https://bugs.webkit.org/show_bug.cgi?id=183814
1344
1345         Reviewed by Antti Koivisto.
1346
1347         InlineFormattingContext is not supposed to hold state.
1348
1349         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1350         (InlineFormattingContext):
1351         (InlineFormattingContext.prototype._commitLine):
1352         (InlineFormattingContext.prototype._createNewLine):
1353         (InlineFormattingContext.prototype.lines): Deleted.
1354         (InlineFormattingContext.prototype._initializeLine): Deleted.
1355         * LayoutReloaded/FormattingState/InlineFormattingState.js:
1356         (InlineFormattingState):
1357         (InlineFormattingState.prototype.lines):
1358         (InlineFormattingState.prototype.appendLine):
1359
1360 2018-03-21  Ms2ger  <Ms2ger@igalia.com>
1361
1362         [WPE] Disable most of TestWebKitFaviconDatabase.
1363         https://bugs.webkit.org/show_bug.cgi?id=183813
1364
1365         Unreviewed test gardening.
1366
1367         The relevant APIs were mostly removed in r223953, making this test
1368         time out consistently.
1369
1370         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1371
1372 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1373
1374         [GTK][WPE] JSC bindings not introspectable
1375         https://bugs.webkit.org/show_bug.cgi?id=136989
1376
1377         Reviewed by Michael Catanzaro.
1378
1379         Use the new API instead of the deprecated one.
1380
1381         * MiniBrowser/gtk/main.c:
1382         (aboutDataScriptMessageReceivedCallback):
1383         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
1384         (WebKitFrameTest::testJavaScriptContext):
1385         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1386         (testWebViewRunJavaScript):
1387         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1388         (consoleMessageSentCallback):
1389         (echoCallback):
1390         (windowObjectCleared):
1391         (methodCallCallback):
1392         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
1393         (runTest):
1394         (webProcessTestRunnerFinalize):
1395         (windowObjectClearedCallback):
1396         * TestWebKitAPI/glib/PlatformGTK.cmake:
1397         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1398         (WebViewTest::javascriptResultToCString):
1399         (WebViewTest::javascriptResultToNumber):
1400         (WebViewTest::javascriptResultToBoolean):
1401         (WebViewTest::javascriptResultIsNull):
1402         (WebViewTest::javascriptResultIsUndefined):
1403
1404 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1405
1406         [GTK][WPE] Initial implementation of JavaScriptCore glib bindings
1407         https://bugs.webkit.org/show_bug.cgi?id=164061
1408
1409         Reviewed by Michael Catanzaro.
1410
1411         Add unit tests for the new API and generate the API documentation with generate-gtkdoc.
1412
1413         * Scripts/webkitpy/style/checker.py: Ignore some style errors in public GLib API headers.
1414         * TestWebKitAPI/PlatformGTK.cmake:
1415         * TestWebKitAPI/PlatformWPE.cmake:
1416         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added.
1417         (LeakChecker::~LeakChecker):
1418         (LeakChecker::watch):
1419         (ExceptionHandler::ExceptionHandler):
1420         (ExceptionHandler::~ExceptionHandler):
1421         (ExceptionHandler::push):
1422         (ExceptionHandler::pop):
1423         (jscContextGarbageCollect):
1424         (testJSCBasic):
1425         (testJSCTypes):
1426         (foo):
1427         (callback):
1428         (doubleAndSetInResult):
1429         (sumFunction):
1430         (testJSCFunction):
1431         (testJSCObject):
1432         (fooCreate):
1433         (fooCreateWithFoo):
1434         (fooFree):
1435         (setFoo):
1436         (getFoo):
1437         (setSibling):
1438         (getSibling):
1439         (multiplyFoo):
1440         (getMultiplyFoo):
1441         (getMultiplyFooAsync):
1442         (bazCreate):
1443         (testJSCClass):
1444         (barCreate):
1445         (barFree):
1446         (setBar):
1447         (getBar):
1448         (testJSCPrototypes):
1449         (createError):
1450         (testJSCExceptions):
1451         (testJSCPromises):
1452         (fooFreeAndLog):
1453         (testJSCGarbageCollector):
1454         (testsJSCVirtualMachine):
1455         (testsJSCAutocleanups):
1456         (main):
1457         * gtk/generate-gtkdoc:
1458         (get_generator_for_config):
1459
1460 2018-03-20  Tim Horton  <timothy_horton@apple.com>
1461
1462         Enable the minimal simulator feature flag when appropriate
1463         https://bugs.webkit.org/show_bug.cgi?id=183807
1464
1465         Reviewed by Dan Bernstein.
1466
1467         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1468
1469 2018-03-20  Zalan Bujtas  <zalan@apple.com>
1470
1471         [LayoutReloaded] Disconnect Display.Box from Layout.Box
1472         https://bugs.webkit.org/show_bug.cgi?id=183805
1473
1474         Reviewed by Antti Koivisto.
1475
1476         Display.Box is only accessed through the FormattingState.
1477
1478         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1479         (BlockFormattingContext):
1480         (BlockFormattingContext.prototype.layout):
1481         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1482         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1483         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1484         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1485         * LayoutReloaded/FormattingContext/FormattingContext.js:
1486         (FormattingContext):
1487         (FormattingContext.prototype.formattingRoot):
1488         (FormattingContext.prototype.formattingState):
1489         (FormattingContext.prototype.layoutState):
1490         (FormattingContext.prototype._toAbsolutePosition):
1491         (FormattingContext.prototype._toRootAbsolutePosition):
1492         (FormattingContext.prototype._addToLayoutQueue):
1493         (FormattingContext.prototype.displayBox):
1494         (FormattingContext.prototype._outOfFlowDescendants):
1495         (FormattingContext.prototype.rootContainer): Deleted.
1496         (FormattingContext.prototype.layoutContext): Deleted.
1497         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1498         (InlineFormattingContext):
1499         (InlineFormattingContext.prototype.layout):
1500         (InlineFormattingContext.prototype._initializeLine):
1501         * LayoutReloaded/FormattingState/BlockFormattingState.js:
1502         (BlockFormattingState):
1503         * LayoutReloaded/FormattingState/FormattingState.js:
1504         (FormattingState):
1505         (FormattingState.prototype.formattingRoot):
1506         (FormattingState.prototype.layoutState):
1507         (FormattingState.prototype.createDisplayBox):
1508         (FormattingState.prototype.displayBoxMap):
1509         (FormattingState.prototype.displayBox):
1510         (FormattingState.prototype.layoutContext): Deleted.
1511         * LayoutReloaded/FormattingState/InlineFormattingState.js:
1512         (InlineFormattingState):
1513         * LayoutReloaded/Layout.js:
1514         (layout):
1515         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1516         * LayoutReloaded/LayoutState.js: Renamed from Tools/LayoutReloaded/LayoutContext.js.
1517         (LayoutState):
1518         (LayoutState.prototype.layout):
1519         (LayoutState.prototype._createFormattingState):
1520         (LayoutState.prototype.formattingStates):
1521         (LayoutState.prototype.initialDisplayBox):
1522         * LayoutReloaded/LayoutTree/Box.js:
1523         (Layout.Box.prototype.isOutOfFlowPositioned):
1524         (Layout.Box.prototype.containingBlock):
1525         (Layout.Box.prototype.setDisplayBox): Deleted.
1526         (Layout.Box.prototype.displayBox): Deleted.
1527         * LayoutReloaded/Utils.js:
1528         (Utils.layoutTreeDump):
1529         (Utils._findDisplayBox):
1530         (Utils._dumpBox):
1531         (Utils._dumpTree):
1532         * LayoutReloaded/misc/headers/BlockFormattingContext.h:
1533         * LayoutReloaded/misc/headers/FormattingContext.h:
1534         * LayoutReloaded/misc/headers/LayoutContext.h:
1535         * LayoutReloaded/test/index.html:
1536
1537 2018-03-19  Ryosuke Niwa  <rniwa@webkit.org>
1538
1539         Expose content attributes on _WKLinkIconParameters
1540         https://bugs.webkit.org/show_bug.cgi?id=183768
1541
1542         Reviewed by Alex Christensen.
1543
1544         Expanded the basic test case for _WKLinkIconParameters's properties including newly added "attributes".
1545
1546         * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
1547         (IconLoading.DefaultFavicon):
1548
1549 2018-03-20  Wenson Hsieh  <wenson_hsieh@apple.com>
1550
1551         Add AssistedNodeInformation plumbing for form control placeholder text and label text
1552         https://bugs.webkit.org/show_bug.cgi?id=183802
1553         <rdar://problem/38686273>
1554
1555         Reviewed by Tim Horton.
1556
1557         Adds a new API test to exercise new placeholder and label SPI on _WKFocusedFormElement.
1558
1559         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
1560         (-[InputDelegate _webView:focusShouldStartInputSession:]):
1561         (-[InputDelegate shouldStartInputSessionHandler]):
1562         (-[InputDelegate setShouldStartInputSessionHandler:]):
1563         (TEST):
1564         (-[FormSubmissionDelegate webView:startURLSchemeTask:]): Deleted.
1565         (-[FormSubmissionDelegate webView:stopURLSchemeTask:]): Deleted.
1566         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]): Deleted.
1567
1568 2018-03-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1569
1570         [WinCairo] Fix to run-webkit-httpd from native Windows.
1571         https://bugs.webkit.org/show_bug.cgi?id=183605
1572
1573         Reviewed by Daniel Bates.
1574
1575         This fix is to run Apache HTTP server from native Windows. The environment is different
1576         from cygwin, which is used for AppleWin, in following points:
1577         - A temporary file behaves differently. It cannot reopen by anybody when indicated as 
1578           delete on close. To solve this situation, filesystem.mkdtemp() is used instead.
1579         - It's not unix so that `tail` command is not available. Replaced with python equivalent
1580           function.
1581
1582         * Scripts/webkitpy/common/system/filesystem.py:
1583         (FileSystem.mkdtemp.TemporaryDirectory.__init__):
1584         (FileSystem.mkdtemp.TemporaryDirectory.__exit__): The existing contents would be deleted.
1585         (FileSystem.mkdtemp):
1586         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1587         (parse_args):
1588         (run_server):
1589         (run_server_with_log_file):
1590         (follow_file):
1591
1592 2018-03-20  Brady Eidson  <beidson@apple.com>
1593
1594         First piece of process swapping on navigation.
1595         https://bugs.webkit.org/show_bug.cgi?id=183665
1596
1597         Reviewed by Andy Estes.
1598
1599         Expose the "swaps processes on navigation" setting in MiniBrowser UI for testing:
1600
1601         * MiniBrowser/mac/AppDelegate.m:
1602         (defaultConfiguration):
1603         * MiniBrowser/mac/SettingsController.h:
1604         * MiniBrowser/mac/SettingsController.m:
1605         (-[SettingsController _populateMenu]):
1606         (-[SettingsController validateMenuItem:]):
1607         (-[SettingsController processSwapOnNavigationEnabled]):
1608         (-[SettingsController toggleProcessSwapOnNavigation:]):
1609
1610         Makes sure the current behavior is tested:
1611         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1612         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Added.
1613         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
1614         (-[PSONScheme webView:startURLSchemeTask:]):
1615         (-[PSONScheme webView:stopURLSchemeTask:]):
1616         (TEST):
1617
1618 2018-03-20  Chris Dumez  <cdumez@apple.com>
1619
1620         QuickLook.NavigationDelegate API test is failing on iOS with async policy delegates
1621         https://bugs.webkit.org/show_bug.cgi?id=183791
1622
1623         Reviewed by Alex Christensen.
1624
1625         Add API test coverage.
1626
1627         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
1628         (-[QuickLookAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1629         (-[QuickLookAsyncNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]):
1630         (-[QuickLookAsyncNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
1631         (-[QuickLookAsyncNavigationDelegate webView:didFinishNavigation:]):
1632         (TEST):
1633
1634 2018-03-20  Tim Horton  <timothy_horton@apple.com>
1635
1636         Add and adopt WK_PLATFORM_NAME and adjust default feature defines
1637         https://bugs.webkit.org/show_bug.cgi?id=183758
1638         <rdar://problem/38017644>
1639
1640         Reviewed by Dan Bernstein.
1641
1642         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1643
1644 2018-03-20  Chris Dumez  <cdumez@apple.com>
1645
1646         Unreviewed, rolling out r229726 and r229763.
1647
1648         Caused some API test failures on iOS
1649
1650         Reverted changesets:
1651
1652         "Make policy decisions asynchronous"
1653         https://bugs.webkit.org/show_bug.cgi?id=180568
1654         https://trac.webkit.org/changeset/229726
1655
1656         "Rebaseline three webarchive tests for WK2 after r229726."
1657         https://bugs.webkit.org/show_bug.cgi?id=180568
1658         https://trac.webkit.org/changeset/229763
1659
1660 2018-03-20  Zalan Bujtas  <zalan@apple.com>
1661
1662         [LayoutReloaded] Move Display.Box handling from FormattingContext to FormattingState
1663         https://bugs.webkit.org/show_bug.cgi?id=183779
1664
1665         Reviewed by Antti Koivisto.
1666
1667         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1668         (BlockFormattingContext.prototype._computeStaticPosition):
1669         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1670         (BlockFormattingContext.prototype._computeFloatingWidth):
1671         (BlockFormattingContext.prototype._computeInFlowWidth):
1672         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1673         (BlockFormattingContext.prototype._computeFloatingHeight):
1674         (BlockFormattingContext.prototype._computeInFlowHeight):
1675         (BlockFormattingContext.prototype._horizontalConstraint):
1676         (BlockFormattingContext.prototype._contentHeight):
1677         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1678         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1679         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1680         * LayoutReloaded/FormattingContext/FloatingContext.js:
1681         (FloatingContext.prototype.computePosition):
1682         (FloatingContext.prototype._positionForClear):
1683         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1684         (FloatingContext.prototype._availableSpace):
1685         (FloatingContext.prototype._adjustedFloatingPosition):
1686         * LayoutReloaded/FormattingContext/FormattingContext.js:
1687         (FormattingContext):
1688         (FormattingContext.prototype.absoluteMarginBox):
1689         (FormattingContext.prototype.absoluteBorderBox):
1690         (FormattingContext.prototype.absolutePaddingBox):
1691         (FormattingContext.prototype.absoluteContentBox):
1692         (FormattingContext.prototype._toAbsolutePosition):
1693         (FormattingContext.prototype._toRootAbsolutePosition):
1694         (FormattingContext.prototype._addToLayoutQueue):
1695         (FormattingContext.prototype.displayBox):
1696         (FormattingContext.prototype._createDisplayBox): Deleted.
1697         (FormattingContext.prototype.toDisplayBox): Deleted.
1698         (FormattingContext.prototype.toLayoutBox): Deleted.
1699         * LayoutReloaded/FormattingState/FormattingState.js:
1700         (FormattingState):
1701         (FormattingState.prototype.createDisplayBox):
1702         (FormattingState.prototype.displayBox):
1703
1704 2018-03-20  Zalan Bujtas  <zalan@apple.com>
1705
1706         [LayoutReloaded] Introduce FormattingState (Block/Inline/etc)
1707         https://bugs.webkit.org/show_bug.cgi?id=183777
1708
1709         Reviewed by Antti Koivisto.
1710
1711         This is in preparation for moving out states from the formatting contexts.
1712
1713         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1714         (BlockFormattingContext):
1715         * LayoutReloaded/FormattingContext/FormattingContext.js:
1716         (FormattingContext):
1717         (FormattingContext.prototype.layoutState):
1718         (FormattingContext.prototype.layoutContext):
1719         (FormattingContext.prototype.layout):
1720         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1721         (InlineFormattingContext):
1722         * LayoutReloaded/FormattingState/BlockFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1723         (BlockFormattingState):
1724         * LayoutReloaded/FormattingState/FormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1725         (FormattingState):
1726         (FormattingState.prototype.formattingContext):
1727         (FormattingState.prototype.layoutContext):
1728         (FormattingState.prototype._setFormattingContext):
1729         * LayoutReloaded/FormattingState/InlineFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1730         (InlineFormattingState):
1731         * LayoutReloaded/LayoutContext.js:
1732         (LayoutContext):
1733         (LayoutContext.prototype.layout):
1734         (LayoutContext.prototype._createFormattingState):
1735         (LayoutContext.prototype._createFormattingContext): Deleted.
1736         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1737         * LayoutReloaded/test/index.html:
1738
1739 2018-03-19  Zalan Bujtas  <zalan@apple.com>
1740
1741         [LayoutReloaded] Layout.Box should not create the formatting context.
1742         https://bugs.webkit.org/show_bug.cgi?id=183766
1743
1744         Reviewed by Antti Koivisto.
1745
1746         Since the formattingContext's lifetime is tied to the layout, the LayoutContext
1747         should construct it instead.
1748
1749         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1750         (BlockFormattingContext):
1751         (BlockFormattingContext.prototype.layout):
1752         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1753         (BlockFormattingContext.prototype._contentHeight):
1754         * LayoutReloaded/FormattingContext/FormattingContext.js:
1755         (FormattingContext):
1756         (FormattingContext.prototype.layoutContext):
1757         (FormattingContext.prototype.toDisplayBox):
1758         (FormattingContext.prototype._outOfFlowDescendants):
1759         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1760         (InlineFormattingContext):
1761         (InlineFormattingContext.prototype.layout):
1762         * LayoutReloaded/Layout.js:
1763         (layout):
1764         * LayoutReloaded/LayoutContext.js:
1765         (LayoutContext.prototype.layout):
1766         (LayoutContext.prototype._createFormattingContext):
1767         (LayoutContext):
1768         (LayoutContext.prototype.layoutFormattingContext): Deleted.
1769         * LayoutReloaded/LayoutTree/Box.js:
1770         (Layout.Box):
1771         (Layout.Box.prototype.establishedFormattingContext): Deleted.
1772         * LayoutReloaded/misc/headers/Box.h:
1773
1774 2018-03-19  Chris Dumez  <cdumez@apple.com>
1775
1776         Have one service worker process per security origin
1777         https://bugs.webkit.org/show_bug.cgi?id=183600
1778         <rdar://problem/35280128>
1779
1780         Reviewed by Brady Eidson.
1781
1782         Add API test coverage.
1783
1784         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1785
1786 2018-03-19  Zalan Bujtas  <zalan@apple.com>
1787
1788         [LayoutReloaded] Remove border/padding/contentBox() functions from Layout.Box
1789         https://bugs.webkit.org/show_bug.cgi?id=183761
1790
1791         Reviewed by Antti Koivisto.
1792
1793         Display.Box has them.
1794
1795         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1796         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1797         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1798         (BlockFormattingContext.prototype._horizontalConstraint):
1799         (BlockFormattingContext.prototype._contentHeight):
1800         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1801         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1802         * LayoutReloaded/FormattingContext/FloatingContext.js:
1803         (FloatingContext.prototype._availableSpace):
1804         * LayoutReloaded/FormattingContext/FormattingContext.js:
1805         (FormattingContext.prototype.absoluteBorderBox):
1806         (FormattingContext.prototype.absolutePaddingBox):
1807         (FormattingContext.prototype.absoluteContentBox):
1808         * LayoutReloaded/LayoutTree/Box.js:
1809         (Layout.Box.prototype.isDescendantOf):
1810         (Layout.Box):
1811         (Layout.Box.prototype.borderBox): Deleted.
1812         (Layout.Box.prototype.paddingBox): Deleted.
1813         (Layout.Box.prototype.contentBox): Deleted.
1814
1815 2018-03-19  Jiewen Tan  <jiewen_tan@apple.com>
1816
1817         Unreviewed, another quick fix for r229699
1818
1819         Restricts ENABLE_WEB_AUTHN to only macOS and iOS.
1820
1821         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1822         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
1823
1824 2018-03-19  Zalan Bujtas  <zalan@apple.com>
1825
1826         [LayoutReloaded] Move statically positioned absolute box positioning to _computeOutOfFlowPosition
1827         https://bugs.webkit.org/show_bug.cgi?id=183750
1828
1829         Reviewed by Antti Koivisto.
1830
1831         * LayoutReloaded/DisplayTree/Box.js:
1832         (Display.Box.prototype.setTop):
1833         (Display.Box.prototype.paddingBox):
1834         (Display.Box.prototype.contentBox):
1835         (Display.Box):
1836         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1837         (BlockFormattingContext.prototype._computeStaticPosition):
1838         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1839         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1840         * LayoutReloaded/FormattingContext/FormattingContext.js:
1841         (FormattingContext.prototype.absoluteMarginBox):
1842         (FormattingContext.prototype.absoluteBorderBox):
1843         (FormattingContext.prototype.absolutePaddingBox):
1844         (FormattingContext.prototype.absoluteContentBox):
1845         (FormattingContext.prototype._toAbsolutePosition):
1846         (FormattingContext.prototype._toRootAbsolutePosition):
1847         (FormattingContext.prototype.toDisplayBox):
1848         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
1849         (Layout.InitialBlockContainer.prototype.establishesBlockFormattingContext):
1850         (Layout.InitialBlockContainer):
1851         (Layout.InitialBlockContainer.prototype.paddingBox): Deleted.
1852         (Layout.InitialBlockContainer.prototype.contentBox): Deleted.
1853         * LayoutReloaded/Utils.js:
1854         (Utils.isStaticallyPositioned):
1855
1856 2018-03-19  Chris Dumez  <cdumez@apple.com>
1857
1858         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
1859         https://bugs.webkit.org/show_bug.cgi?id=183702
1860         <rdar://problem/38566060>
1861
1862         Reviewed by Alex Christensen.
1863
1864         Add API test coverage.
1865
1866         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1867         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1868         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1869         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
1870         (TEST):
1871
1872 2018-03-19  Daniel Bates  <dabates@apple.com>
1873
1874         test-webkitpy no longer runs WebKit2 tests
1875         https://bugs.webkit.org/show_bug.cgi?id=183724
1876
1877         Reviewed by Alexey Proskuryakov.
1878
1879         The WebKit2 tests have seen been moved from Source/WebKit2/Scripts/webkit2 to Source/WebKit/Scripts/webkit.
1880
1881         * Scripts/webkitpy/test/main.py:
1882         (main):
1883
1884 2018-03-19  Daniel Bates  <dabates@apple.com>
1885
1886         Make run-webkit-app work for non-GUI apps
1887         https://bugs.webkit.org/show_bug.cgi?id=183701
1888
1889         Reviewed by Lucas Forschler.
1890
1891         Launch the app directly if it is an executable file. Otherwise, assume it is an app bundle
1892         and launch it using open(1) as we currently do.
1893
1894         Note that open(1) is meant for launching GUI apps. Standard output and standard error are
1895         not sent to the tty when using open(1) to launch a non-GUI app.
1896
1897         * Scripts/run-webkit-app: We make the assumption that 
1898         * Scripts/webkitdirs.pm:
1899             - Define and export constant DO_NOT_USE_OPEN_COMMAND.
1900
1901 2018-03-19  Daniel Bates  <dabates@apple.com>
1902
1903         run-webkit-app -g does not work
1904         https://bugs.webkit.org/show_bug.cgi?id=183699
1905
1906         Reviewed by Lucas Forschler.
1907
1908         Check for the optional command line argument -g/--guard-malloc before taking the
1909         first argument passed to be the path to the app to run.
1910
1911         * Scripts/run-webkit-app:
1912
1913 2018-03-18  Commit Queue  <commit-queue@webkit.org>
1914
1915         Unreviewed, rolling out r229689.
1916         https://bugs.webkit.org/show_bug.cgi?id=183735
1917
1918         Causes fast/loader/inner-iframe-loads-data-url-into-parent-on-
1919         unload-crash.html to fail with async delegates (Requested by
1920         cdumez_ on #webkit).
1921
1922         Reverted changeset:
1923
1924         "WebKit.WebsitePoliciesAutoplayQuirks API test times out with
1925         async policy delegates"
1926         https://bugs.webkit.org/show_bug.cgi?id=183702
1927         https://trac.webkit.org/changeset/229689
1928
1929 2018-03-18  Zalan Bujtas  <zalan@apple.com>
1930
1931         [LayoutReloaded] Remove left/right width/height getters from Layout.Box
1932         https://bugs.webkit.org/show_bug.cgi?id=183734
1933
1934         Reviewed by Antti Koivisto.
1935
1936         ...and use Display.Box instead.
1937
1938         * LayoutReloaded/DisplayTree/Box.js:
1939         (Display.Box.prototype.bottomRight):
1940         (Display.Box.prototype.size):
1941         (Display.Box.prototype.height):
1942         (Display.Box.prototype.width):
1943         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1944         (BlockFormattingContext.prototype._computeStaticPosition):
1945         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1946         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1947         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1948         * LayoutReloaded/FormattingContext/FloatingContext.js:
1949         (FloatingContext.prototype._positionForClear):
1950         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1951         (FloatingContext.prototype._adjustedFloatingPosition):
1952         * LayoutReloaded/FormattingContext/FormattingContext.js:
1953         (FormattingContext.prototype.absoluteMarginBox):
1954         (FormattingContext.prototype.absoluteBorderBox):
1955         (FormattingContext.prototype.absolutePaddingBox):
1956         (FormattingContext.prototype.absoluteContentBox):
1957         (FormattingContext.prototype._toAbsolutePosition):
1958         (FormattingContext.prototype._toRootAbsolutePosition):
1959         * LayoutReloaded/LayoutTree/Box.js:
1960         (Layout.Box.prototype.rect): Deleted.
1961         (Layout.Box.prototype.topLeft): Deleted.
1962         (Layout.Box.prototype.bottomRight): Deleted.
1963         * LayoutReloaded/Utils.js:
1964         (Utils._dumpBox):
1965         (Utils.mapToContainer): Deleted.
1966
1967 2018-03-18  Zalan Bujtas  <zalan@apple.com>
1968
1969         [LayoutReloaded] Remove left/right width/height setters from Layout.Box
1970         https://bugs.webkit.org/show_bug.cgi?id=183731
1971
1972         Reviewed by Antti Koivisto.
1973
1974         ...and use Display.Box instead.
1975
1976         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1977         (BlockFormattingContext.prototype._computeStaticPosition):
1978         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1979         (BlockFormattingContext.prototype._computeFloatingWidth):
1980         (BlockFormattingContext.prototype._computeInFlowWidth):
1981         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1982         (BlockFormattingContext.prototype._computeFloatingHeight):
1983         (BlockFormattingContext.prototype._computeInFlowHeight):
1984         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1985         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1986         * LayoutReloaded/FormattingContext/FloatingContext.js:
1987         (FloatingContext.prototype.computePosition):
1988         * LayoutReloaded/FormattingContext/FormattingContext.js:
1989         (FormattingContext.prototype._toDisplayBox):
1990         (FormattingContext.prototype._toLayoutBox):
1991         * LayoutReloaded/Layout.js:
1992         (layout):
1993         * LayoutReloaded/LayoutTree/Box.js:
1994         (Layout.Box.prototype.setTopLeft): Deleted.
1995         (Layout.Box.prototype.setSize): Deleted.
1996         (Layout.Box.prototype.setWidth): Deleted.
1997         (Layout.Box.prototype.setHeight): Deleted.
1998
1999 2018-03-18  Zalan Bujtas  <zalan@apple.com>
2000
2001         [LayoutReloaded] Collect out-of-flow positioned boxes for a given formatting context.
2002         https://bugs.webkit.org/show_bug.cgi?id=183730
2003
2004         Reviewed by Antti Koivisto.
2005
2006         Collect and layout out-of-flow positioned boxes as the final step of the formatting context layout.
2007
2008         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2009         (BlockFormattingContext.prototype.layout):
2010         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2011         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
2012         (BlockFormattingContext.prototype._placePositionedDescendants): Deleted.
2013         (BlockFormattingContext.prototype._placeOutOfFlowDescendants): Deleted.
2014         * LayoutReloaded/FormattingContext/FormattingContext.js:
2015         (FormattingContext.prototype._toAbsolutePosition):
2016         (FormattingContext.prototype._outOfFlowDescendants):
2017         (FormattingContext):
2018         * LayoutReloaded/LayoutTree/Box.js:
2019         (Layout.Box.prototype.nextInFlowOrFloatSibling):
2020         (Layout.Box.prototype.isDescendantOf):
2021         * LayoutReloaded/LayoutTree/Container.js:
2022         (Layout.Container.prototype.firstInFlowOrFloatChild):
2023         (Layout.Container.prototype.hasInFlowOrFloatChild):
2024         (Layout.Container.prototype.outOfFlowDescendants):
2025         (Layout.Container):
2026         * LayoutReloaded/Utils.js:
2027         (Utils.isDescendantOf): Deleted.
2028         (Utils.collectOutOfFlowDescendants): Deleted.
2029
2030 2018-03-17  Jiewen Tan  <jiewen_tan@apple.com>
2031
2032         [WebAuthN] Implement authenticatorMakeCredential
2033         https://bugs.webkit.org/show_bug.cgi?id=183527
2034         <rdar://problem/35275886>
2035
2036         Reviewed by Brent Fulgham.
2037
2038         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2039         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Added.
2040         (TestWebKitAPI::getTestKey):
2041         (TestWebKitAPI::cleanUpKeychain):
2042         (TestWebKitAPI::LACantEvaluatePolicySwizzler::LACantEvaluatePolicySwizzler):
2043         (TestWebKitAPI::LACantEvaluatePolicySwizzler::cantEvaluatePolicy):
2044         (TestWebKitAPI::LACanEvaluatePolicySwizzler::LACanEvaluatePolicySwizzler):
2045         (TestWebKitAPI::LACanEvaluatePolicySwizzler::canEvaluatePolicy):
2046         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::LAEvaluatePolicyFailedSwizzler):
2047         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
2048         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::LAEvaluatePolicyPassedSwizzler):
2049         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
2050         (TestWebKitAPI::TestLocalAuthenticator::setFailureFlag):
2051         (TestWebKitAPI::TEST):
2052
2053 2018-03-17  Zalan Bujtas  <zalan@apple.com>
2054
2055         [LayoutReloaded] BlockFormattingContext::placePositionedDescendants takes care of both in- and out-of-flow placement
2056         https://bugs.webkit.org/show_bug.cgi?id=183727
2057
2058         Reviewed by Antti Koivisto.
2059
2060         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2061         (BlockFormattingContext.prototype.layout):
2062         (BlockFormattingContext.prototype._placePositionedDescendants):
2063         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2064         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2065         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
2066         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html: Added.
2067         * LayoutReloaded/test/index.html:
2068         * LayoutReloaded/test/relative-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
2069
2070 2018-03-17  Zalan Bujtas  <zalan@apple.com>
2071
2072         [LayoutReloaded] Ensure that positioning happens within the formatting context
2073         https://bugs.webkit.org/show_bug.cgi?id=183722
2074
2075         Reviewed by Antti Koivisto.
2076
2077         All sizing and positioning need to happen in the formatting context that the box lives in
2078         including the final position of in- and out-of-flow descendants.
2079
2080         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2081         (BlockFormattingContext.prototype.layout):
2082         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2083         * LayoutReloaded/LayoutTree/Box.js:
2084         (Layout.Box.prototype.establishesBlockFormattingContext):
2085         (Layout.Box.prototype.isPositioned):
2086         (Layout.Box.prototype.isRelativelyPositioned):
2087         (Layout.Box.prototype.isAbsolutelyPositioned):
2088         (Layout.Box.prototype.isOutOfFlowPositioned):
2089         (Layout.Box.prototype.containingBlock):
2090         (Layout.Box.prototype.isRelativePositioned): Deleted.
2091         (Layout.Box.prototype.isAbsolutePositioned): Deleted.
2092         * LayoutReloaded/Utils.js:
2093         (Utils.isRelativelyPositioned):
2094         (Utils.isAbsolutelyPositioned):
2095         (Utils.isRelativePositioned): Deleted.
2096         (Utils.isAbsolutePositioned): Deleted.
2097         * LayoutReloaded/misc/headers/Box.h:
2098
2099 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2100
2101         Unreviewed, rolling out r229688.
2102
2103         There's a solution that doesn't require this SPI.
2104
2105         Reverted changeset:
2106
2107         "Add SPI to expose width and height anchors for WKWebView's
2108         content view"
2109         https://bugs.webkit.org/show_bug.cgi?id=183711
2110         https://trac.webkit.org/changeset/229688
2111
2112 2018-03-16  Zalan Bujtas  <zalan@apple.com>
2113
2114         [LayoutReloaded] Move move functions to the base class from BlockFormattingContext
2115         https://bugs.webkit.org/show_bug.cgi?id=183719
2116
2117         Reviewed by Antti Koivisto.
2118
2119         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2120         (BlockFormattingContext):
2121         (BlockFormattingContext.prototype.layout):
2122         (BlockFormattingContext.prototype._shrinkToFitWidth):
2123         (BlockFormattingContext.prototype._toAbsolutePosition): Deleted.
2124         (BlockFormattingContext.prototype._needsLayout): Deleted.
2125         (BlockFormattingContext.prototype._addToLayoutQueue): Deleted.
2126         (BlockFormattingContext.prototype._nextInLayoutQueue): Deleted.
2127         (BlockFormattingContext.prototype._removeFromLayoutQueue): Deleted.
2128         (BlockFormattingContext.prototype._createDisplayBox): Deleted.
2129         (BlockFormattingContext.prototype._toDisplayBox): Deleted.
2130         (BlockFormattingContext.prototype._toLayoutBox): Deleted.
2131         * LayoutReloaded/FormattingContext/FormattingContext.js:
2132         (FormattingContext):
2133         (FormattingContext.prototype._toAbsolutePosition):
2134         (FormattingContext.prototype._descendantNeedsLayout):
2135         (FormattingContext.prototype._addToLayoutQueue):
2136         (FormattingContext.prototype._nextInLayoutQueue):
2137         (FormattingContext.prototype._removeFromLayoutQueue):
2138         (FormattingContext.prototype._createDisplayBox):
2139         (FormattingContext.prototype._toDisplayBox):
2140         (FormattingContext.prototype._toLayoutBox):
2141         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2142         (InlineFormattingContext.prototype.layout):
2143
2144 2018-03-16  Chris Dumez  <cdumez@apple.com>
2145
2146         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
2147         https://bugs.webkit.org/show_bug.cgi?id=183702
2148
2149         Reviewed by Alex Christensen.
2150
2151         Add API test coverage.
2152
2153         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2154         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2155         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2156         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
2157         (TEST):
2158
2159 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2160
2161         Add SPI to expose width and height anchors for WKWebView's content view
2162         https://bugs.webkit.org/show_bug.cgi?id=183711
2163         <rdar://problem/38562899>
2164
2165         Reviewed by Tim Horton.
2166
2167         Adds an API test exercising the new SPI.
2168
2169         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
2170         (checkCGRect):
2171         (TEST):
2172
2173 2018-03-16  Chris Dumez  <cdumez@apple.com>
2174
2175         WebKit.RestoreSessionStateContainingScrollRestorationDefault API test is failing with async policy delegates
2176         https://bugs.webkit.org/show_bug.cgi?id=183679
2177
2178         Reviewed by Alex Christensen.
2179
2180         Add API test coverage.
2181
2182         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
2183         (TestWebKitAPI::decidePolicyForNavigationAction):
2184         (TestWebKitAPI::decidePolicyForResponse):
2185         (TestWebKitAPI::TEST):
2186
2187 2018-03-16  Zalan Bujtas  <zalan@apple.com>
2188
2189         [LayoutReloaded] Introduce Display.Box
2190         https://bugs.webkit.org/show_bug.cgi?id=183700
2191
2192         Reviewed by Antti Koivisto.
2193
2194         Display.Box objects will end up in the display(box) tree. Currently
2195         they are just hanging off of the Layout.Box objects.
2196
2197         * LayoutReloaded/DisplayTree/Box.js: Added.
2198         (Display.Box):
2199         (Display.Box.prototype.rect):
2200         (Display.Box.prototype.top):
2201         (Display.Box.prototype.left):
2202         (Display.Box.prototype.bottom):
2203         (Display.Box.prototype.right):
2204         (Display.Box.prototype.topLeft):
2205         (Display.Box.prototype.bottomRight):
2206         (Display.Box.prototype.setTopLeft):
2207         (Display.Box.prototype.setSize):
2208         (Display.Box.prototype.setWidth):
2209         (Display.Box.prototype.setHeight):
2210         (Display.Box.prototype.borderBox):
2211         (Display.Box.prototype.paddingBox):
2212         (Display.Box.prototype.contentBox):
2213         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2214         (BlockFormattingContext):
2215         (BlockFormattingContext.prototype.layout):
2216         (BlockFormattingContext.prototype._toAbsolutePosition):
2217         (BlockFormattingContext.prototype._needsLayout):
2218         (BlockFormattingContext.prototype._addToLayoutQueue):
2219         (BlockFormattingContext.prototype._nextInLayoutQueue):
2220         (BlockFormattingContext.prototype._removeFromLayoutQueue):
2221         (BlockFormattingContext.prototype._createDisplayBox):
2222         (BlockFormattingContext.prototype._toDisplayBox):
2223         (BlockFormattingContext.prototype._toLayoutBox):
2224         * LayoutReloaded/Layout.js:
2225         (layout):
2226         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
2227         * LayoutReloaded/LayoutTree/Box.js:
2228         (Layout.Box):
2229         (Layout.Box.prototype.setDisplayBox):
2230         (Layout.Box.prototype.displayBox):
2231         (Layout.Box.prototype.rect):
2232         (Layout.Box.prototype.setTopLeft):
2233         (Layout.Box.prototype.setSize):
2234         (Layout.Box.prototype.setWidth):
2235         (Layout.Box.prototype.setHeight):
2236         (Layout.Box.prototype.borderBox):
2237         (Layout.Box.prototype.paddingBox):
2238         (Layout.Box.prototype.contentBox):
2239         * LayoutReloaded/test/index.html:
2240
2241 2018-03-16  Chris Dumez  <cdumez@apple.com>
2242
2243         URLSchemeHandler.Basic API test fails with async policy delegates
2244         https://bugs.webkit.org/show_bug.cgi?id=183678
2245
2246         Reviewed by Alex Christensen.
2247
2248         Add API test coverage.
2249
2250         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2251         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2252         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
2253         (TEST):
2254
2255 2018-03-16  Zalan Bujtas  <zalan@apple.com>
2256
2257         [LayoutReloaded] Utils.computed* functions should just take node instead of box.
2258         https://bugs.webkit.org/show_bug.cgi?id=183697
2259
2260         Reviewed by Antti Koivisto.
2261
2262         This is in preparation for introducing the display tree.
2263
2264         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2265         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2266         (BlockFormattingContext.prototype._computeFloatingWidth):
2267         (BlockFormattingContext.prototype._computeInFlowWidth):
2268         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2269         (BlockFormattingContext.prototype._computeFloatingHeight):
2270         (BlockFormattingContext.prototype._computeInFlowHeight):
2271         (BlockFormattingContext.prototype._shrinkToFitWidth):
2272         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
2273         (BlockMarginCollapse._nonCollapsedMarginTop):
2274         (BlockMarginCollapse._nonCollapsedMarginBottom):
2275         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2276         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2277         * LayoutReloaded/FormattingContext/FormattingContext.js:
2278         (FormattingContext.prototype.marginTop):
2279         (FormattingContext.prototype.marginLeft):
2280         (FormattingContext.prototype.marginBottom):
2281         (FormattingContext.prototype.marginRight):
2282         * LayoutReloaded/LayoutTree/Box.js:
2283         (Layout.Box.prototype.paddingBox):
2284         (Layout.Box.prototype.contentBox):
2285         (Layout.Box):
2286         * LayoutReloaded/Utils.js:
2287         (Utils.computedMarginTop):
2288         (Utils.computedMarginLeft):
2289         (Utils.computedMarginBottom):
2290         (Utils.computedMarginRight):
2291         (Utils.computedBorderTopLeft):
2292         (Utils.computedBorderBottomRight):
2293         (Utils.computedPaddingTopLeft):
2294         (Utils.computedPaddingBottomRight):
2295         (Utils.computedBorderAndPaddingTop):
2296         (Utils.computedBorderAndPaddingLeft):
2297         (Utils.computedBorderAndPaddingBottom):
2298         (Utils.computedBorderAndPaddingRight):
2299         (Utils.computedHorizontalBorderAndPadding):
2300         (Utils.computedVerticalBorderAndPadding):
2301         (Utils.computedLineHeight):
2302         (Utils.hasClearLeft):
2303         (Utils.hasClearRight):
2304         (Utils.hasClearBoth):
2305
2306 2018-03-15  Zalan Bujtas  <zalan@apple.com>
2307
2308         [LayoutReloaded] Should never need to go beyond the root container when asking for the containing block.
2309         https://bugs.webkit.org/show_bug.cgi?id=183691
2310
2311         Reviewed by Antti Koivisto.
2312
2313         While laying out the boxes in a block formatting context, if we happen to need
2314         to get to the containing block of a box to compute geometry, it should always be a
2315         descendant of the root container (or the root container itself).
2316         Nothing outside of the formatting context should be able to impact the boxes inside.
2317
2318         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2319         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2320         (BlockFormattingContext.prototype._toAbsolutePosition):
2321         (BlockFormattingContext):
2322         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
2323         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2324         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2325         * LayoutReloaded/LayoutTree/Box.js:
2326         (Layout.Box.prototype.isRootBox):
2327         (Layout.Box.prototype.isRootElement): Deleted.
2328         * LayoutReloaded/Utils.js:
2329         (Utils.isDescendantOf):
2330         (Utils.mapStaticToAbsolute): Deleted.
2331         * LayoutReloaded/misc/headers/Box.h:
2332
2333 2018-03-15  Wenson Hsieh  <wenson_hsieh@apple.com>
2334
2335         [iOS WK2] Hit-testing fails when specifying a large top content inset
2336         https://bugs.webkit.org/show_bug.cgi?id=183648
2337         <rdar://problem/38421894>
2338
2339         Reviewed by Tim Horton.
2340
2341         Adds four new API tests to verify that adding top or bottom content insets to the WKWebView's scroll view does
2342         not cause the DOMWindow's innerHeight to shrink. Currently, doing so would cause the innerHeight to be reported
2343         as (viewHeight - inset.top) or (viewHeight - inset.bottom).
2344
2345         See WebKit ChangeLog for more details.
2346
2347         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2348         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: Added.
2349         (TestWebKitAPI::TEST):
2350
2351 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
2352
2353         Add unit-test for NetworkTransaction URLError handling
2354         https://bugs.webkit.org/show_bug.cgi?id=183664
2355
2356         Reviewed by Alexey Proskuryakov.
2357
2358         * Scripts/webkitpy/common/net/networktransaction_unittest.py:
2359         (NetworkTransactionTest._raise_URLError): Method to raise URLError.
2360         (NetworkTransactionTest.test_retry_on_HTTPError): Renamed from test_retry.
2361         (NetworkTransactionTest.test_retry_on_URLError): unit-test for testing URLError handling.
2362
2363 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
2364
2365         EWS should print the URL in logs on URLError
2366         https://bugs.webkit.org/show_bug.cgi?id=183651
2367
2368         Reviewed by Alexey Proskuryakov.
2369
2370         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2371         (Bugzilla.open_url): Pass the url.
2372         * Scripts/webkitpy/common/net/networktransaction.py:
2373         (NetworkTransaction.run): Accept optional url parameter and print it on URLError.
2374
2375 2018-03-15  Zalan Bujtas  <zalan@apple.com>
2376
2377         [LayoutReloaded] Introduce Layout namespace
2378         https://bugs.webkit.org/show_bug.cgi?id=183659
2379
2380         Reviewed by Antti Koivisto.
2381
2382         This is in preparation for introducing the display tree.
2383         Box -> Layout.Box
2384
2385         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2386         (BlockFormattingContext.prototype.layout):
2387         (BlockFormattingContext.prototype.computeWidth):
2388         (BlockFormattingContext.prototype.computeHeight):
2389         (BlockFormattingContext.prototype.marginTop):
2390         (BlockFormattingContext.prototype.marginBottom):
2391         (BlockFormattingContext.prototype._computeStaticPosition):
2392         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2393         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2394         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2395         (BlockFormattingContext.prototype._computeFloatingWidth):
2396         (BlockFormattingContext.prototype._computeInFlowWidth):
2397         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2398         (BlockFormattingContext.prototype._computeFloatingHeight):
2399         (BlockFormattingContext.prototype._computeInFlowHeight):
2400         (BlockFormattingContext.prototype._horizontalConstraint):
2401         (BlockFormattingContext.prototype._contentHeight):
2402         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
2403         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
2404         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2405         (BlockFormattingContext.prototype._shrinkToFitWidth):
2406         (BlockFormattingContext):
2407         (BlockFormattingContext.prototype._computeHorizontalConstraint): Deleted.
2408         (BlockFormattingContext.prototype._computeContentHeight): Deleted.
2409         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
2410         (BlockMarginCollapse.marginTop):
2411         (BlockMarginCollapse.marginBottom):
2412         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
2413         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
2414         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2415         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2416         (BlockMarginCollapse._nonCollapsedMarginTop):
2417         (BlockMarginCollapse._nonCollapsedMarginBottom):
2418         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2419         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2420         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
2421         (BlockMarginCollapse):
2422         * LayoutReloaded/FormattingContext/FloatingContext.js:
2423         (FloatingContext.prototype.computePosition):
2424         (FloatingContext.prototype._positionForClear):
2425         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
2426         * LayoutReloaded/FormattingContext/FormattingContext.js:
2427         (FormattingContext.prototype.computeWidth):
2428         (FormattingContext.prototype.computeHeight):
2429         (FormattingContext.prototype.marginTop):
2430         (FormattingContext.prototype.marginLeft):
2431         (FormattingContext.prototype.marginBottom):
2432         (FormattingContext.prototype.marginRight):
2433         (FormattingContext.prototype.absoluteMarginBox):
2434         (FormattingContext.prototype.absoluteBorderBox):
2435         (FormattingContext.prototype.absolutePaddingBox):
2436         (FormattingContext.prototype.absoluteContentBox):
2437         (FormattingContext):
2438         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2439         (InlineFormattingContext.prototype.layout):
2440         * LayoutReloaded/LayoutTree/BlockContainer.js:
2441         (BlockContainer): Deleted.
2442         (BlockContainer.prototype.establishesInlineFormattingContext): Deleted.
2443         * LayoutReloaded/LayoutTree/Box.js:
2444         (Box): Deleted.
2445         (Box.prototype.id): Deleted.
2446         (Box.prototype.setRendererName): Deleted.
2447         (Box.prototype.name): Deleted.
2448         (Box.prototype.node): Deleted.
2449         (Box.prototype.parent): Deleted.
2450         (Box.prototype.nextSibling): Deleted.
2451         (Box.prototype.nextInFlowSibling): Deleted.
2452         (Box.prototype.previousSibling): Deleted.
2453         (Box.prototype.previousInFlowSibling): Deleted.
2454         (Box.prototype.setParent): Deleted.
2455         (Box.prototype.setNextSibling): Deleted.
2456         (Box.prototype.setPreviousSibling): Deleted.
2457         (Box.prototype.rect): Deleted.
2458         (Box.prototype.topLeft): Deleted.
2459         (Box.prototype.bottomRight): Deleted.
2460         (Box.prototype.setTopLeft): Deleted.
2461         (Box.prototype.setSize): Deleted.
2462         (Box.prototype.setWidth): Deleted.
2463         (Box.prototype.setHeight): Deleted.
2464         (Box.prototype.isContainer): Deleted.
2465         (Box.prototype.isBlockLevelBox): Deleted.
2466         (Box.prototype.isBlockContainerBox): Deleted.
2467         (Box.prototype.isInlineLevelBox): Deleted.
2468         (Box.prototype.setIsAnonymous): Deleted.
2469         (Box.prototype.isAnonymous): Deleted.
2470         (Box.prototype.establishesFormattingContext): Deleted.
2471         (Box.prototype.establishedFormattingContext): Deleted.
2472         (Box.prototype.establishesBlockFormattingContext): Deleted.
2473         (Box.prototype.establishesInlineFormattingContext): Deleted.
2474         (Box.prototype.isPositioned): Deleted.
2475         (Box.prototype.isRelativePositioned): Deleted.
2476         (Box.prototype.isAbsolutePositioned): Deleted.
2477         (Box.prototype.isFixedPositioned): Deleted.
2478         (Box.prototype.isInFlow): Deleted.
2479         (Box.prototype.isOutOfFlowPositioned): Deleted.
2480         (Box.prototype.isInFlowPositioned): Deleted.
2481         (Box.prototype.isFloatingPositioned): Deleted.
2482         (Box.prototype.isFloatingOrOutOfFlowPositioned): Deleted.
2483         (Box.prototype.isRootElement): Deleted.
2484         (Box.prototype.containingBlock): Deleted.
2485         (Box.prototype.borderBox): Deleted.
2486         (Box.prototype.paddingBox): Deleted.
2487         (Box.prototype.contentBox): Deleted.
2488         * LayoutReloaded/LayoutTree/Container.js:
2489         (Container): Deleted.
2490         (Container.prototype.isContainer): Deleted.
2491         (Container.prototype.setFirstChild): Deleted.
2492         (Container.prototype.setLastChild): Deleted.
2493         (Container.prototype.firstChild): Deleted.
2494         (Container.prototype.firstInFlowChild): Deleted.
2495         (Container.prototype.lastChild): Deleted.
2496         (Container.prototype.lastInFlowChild): Deleted.
2497         (Container.prototype.hasChild): Deleted.
2498         (Container.prototype.hasInFlowChild): Deleted.
2499         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
2500         (InitialBlockContainer): Deleted.
2501         (InitialBlockContainer.prototype.establishesBlockFormattingContext): Deleted.
2502         (InitialBlockContainer.prototype.paddingBox): Deleted.
2503         (InitialBlockContainer.prototype.contentBox): Deleted.
2504         * LayoutReloaded/LayoutTree/InlineBox.js:
2505         (InlineBox): Deleted.
2506         (InlineBox.prototype.setText): Deleted.
2507         (InlineBox.prototype.text): Deleted.
2508         * LayoutReloaded/TreeBuilder.js:
2509         (TreeBuilder.prototype.createTree):
2510         (TreeBuilder.prototype._createAndAttachBox):
2511         * LayoutReloaded/Utils.js:
2512         (Utils._dumpBox):
2513
2514 2018-03-14  Chris Fleizach  <cfleizach@apple.com>
2515
2516         AX: Implement accessible dismiss action on iOS
2517         https://bugs.webkit.org/show_bug.cgi?id=183352
2518         <rdar://problem/38161500>
2519
2520         Reviewed by Zalan Bujtas.
2521
2522         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
2523         (WTR::AccessibilityUIElement::dismiss const):
2524         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2525         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
2526         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2527         (WTR::AccessibilityUIElement::dismiss):
2528
2529 2018-03-14  Youenn Fablet  <youenn@apple.com>
2530
2531         Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
2532         https://bugs.webkit.org/show_bug.cgi?id=183481
2533
2534         Reviewed by Eric Carlson.
2535
2536         * Scripts/webkitpy/style/checker.py: Do not check style.
2537
2538 2018-03-14  Brendan McLoughlin  <brendan@bocoup.com>
2539
2540         Add label on github when exporting wpt tests to w3c/web-platform-test repo
2541         https://bugs.webkit.org/show_bug.cgi?id=183575
2542
2543         Reviewed by Youenn Fablet.
2544
2545         * Scripts/webkitpy/w3c/test_exporter.py:
2546         (TestExporter.make_pull_request):
2547         (parse_args):
2548         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
2549         (TestExporterTest.test_export):
2550
2551 2018-03-14  Zalan Bujtas  <zalan@apple.com>
2552
2553         [LayoutReloaded] Add InlineBox dump
2554         https://bugs.webkit.org/show_bug.cgi?id=183625
2555
2556         Reviewed by Antti Koivisto.
2557
2558         Right now line boxes live off of the inline formatting context but that's temporary and
2559         they will be moved over to the BoxTree.
2560
2561         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2562         (BlockFormattingContext.prototype._computeContentHeight):
2563         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2564         (InlineFormattingContext):
2565         (InlineFormattingContext.prototype.lines):
2566         (InlineFormattingContext.prototype.layout):
2567         (InlineFormattingContext.prototype._handleText):
2568         (InlineFormattingContext.prototype._commitLine):
2569         (InlineFormattingContext.prototype._initializeLine):
2570         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2571         (Line):
2572         (Line.prototype.isEmpty):
2573         (Line.prototype.rect):
2574         (Line.prototype.lineBoxes):
2575         (Line.prototype.addLineBox):
2576         (Line.prototype.appendFragment): Deleted.
2577         * LayoutReloaded/README.md:
2578         * LayoutReloaded/Utils.js:
2579         (Utils.computedLineHeight):
2580         (Utils.isBlockContainerElement):
2581         (Utils.textHeight):
2582         (Utils._dumpBox):
2583         (Utils._dumpLines.):
2584         (Utils._dumpLines):
2585         (Utils._dumpTree):
2586         (Utils.precisionRound):
2587         (Utils):
2588         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
2589         * LayoutReloaded/test/index.html:
2590
2591 2018-03-14  Tim Horton  <timothy_horton@apple.com>
2592
2593         Fix the build after r229567
2594
2595         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2596
2597 2018-03-13  Jer Noble  <jer.noble@apple.com>
2598
2599         [iOS] Muted media playback can interrupt out-of-process audio
2600         https://bugs.webkit.org/show_bug.cgi?id=183606
2601         <rdar://problem/37466253>
2602
2603         Reviewed by Eric Carlson.
2604
2605         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2606         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
2607         (TestWebKitAPI::TEST):
2608         * TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-paused-audio-and-playing-muted.html: Added.
2609
2610 2018-03-13  Ross Kirsling  <ross.kirsling@sony.com>
2611
2612         [Win] Layout Test fast/html/menuitem-element.html is failing.
2613         https://bugs.webkit.org/show_bug.cgi?id=179299
2614
2615         Reviewed by Per Arne Vollan.
2616
2617         * DumpRenderTree/win/DumpRenderTree.cpp:
2618         (setWebPreferencesForTestOptions):
2619         Recognize test option "enableMenuItemElement".
2620
2621 2018-03-12  Tim Horton  <timothy_horton@apple.com>
2622
2623         Stop using SDK conditionals to control feature definitions
2624         https://bugs.webkit.org/show_bug.cgi?id=183430
2625         <rdar://problem/38251619>
2626
2627         Reviewed by Dan Bernstein.
2628
2629         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2630         * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Renamed.
2631
2632 2018-03-12  Ross Kirsling  <ross.kirsling@sony.com>
2633
2634         [DRT] TestOptions should not be ObjC.
2635         https://bugs.webkit.org/show_bug.cgi?id=183487
2636
2637         Reviewed by Per Arne Vollan.
2638
2639         * DumpRenderTree/CMakeLists.txt:
2640         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2641         * DumpRenderTree/PlatformMac.cmake:
2642         Move TestOptions to platform-agnostic sources.
2643
2644         * DumpRenderTree/TestOptions.h:
2645         * DumpRenderTree/TestOptions.cpp: Renamed from Tools/DumpRenderTree/TestOptions.mm.
2646         * DumpRenderTree/mac/DumpRenderTree.mm:
2647         Remove NSURL dependency and align with WTR as much as possible.
2648
2649         * DumpRenderTree/win/DumpRenderTree.cpp:
2650         Consume TestOptions (recognizing just the ones that have WebPreferences defined for now).
2651
2652 2018-03-12  Yoav Weiss  <yoav@yoav.ws>
2653
2654         Runtime flag for link prefetch and remove link subresource.
2655         https://bugs.webkit.org/show_bug.cgi?id=183540
2656
2657         Reviewed by Chris Dumez.
2658
2659         Remove the LINK_PREFETCH build time flag.
2660
2661         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2662
2663 2018-03-12  Wenson Hsieh  <wenson_hsieh@apple.com>
2664
2665         REGRESSION(r211643): Dismissing WKActionSheet should not also dismiss its presenting view controller
2666         https://bugs.webkit.org/show_bug.cgi?id=183549
2667         <rdar://problem/34960698>
2668
2669         Reviewed by Andy Estes.
2670
2671         Add TestWebKitAPI support for testing WKWebViews embedded within presented view controllers, and use this to
2672         check that dismissing an action sheet does not additionally cause the view controller being used to present the
2673         web view to also dismiss.
2674
2675         * TestWebKitAPI/ClassMethodSwizzler.h: Added.
2676         * TestWebKitAPI/ClassMethodSwizzler.mm: Added.
2677         (TestWebKitAPI::ClassMethodSwizzler::ClassMethodSwizzler):
2678         (TestWebKitAPI::ClassMethodSwizzler::~ClassMethodSwizzler):
2679
2680         Add ClassMethodSwizzler, an RAII which swizzles an Objective-C class method over its lifetime.
2681
2682         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2683         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
2684
2685         Add a new API test that loads a view controller which embeds a WKWebView, and verifies that presenting and then
2686         dismissing an action sheet from that web view does not cause the view controller to also dismiss.
2687
2688         (TestWebKitAPI::setOverrideViewControllerForFullscreenPresentation):
2689         (TestWebKitAPI::overrideViewControllerForFullscreenPresentation):
2690
2691         Mock +[UIViewController _viewControllerForFullScreenPresentationFromView:] to return the web view. This works
2692         around the fact that TestWebKitAPI is not a UI application, so certain pieces of UIKit API and SPI need to be
2693         stubbed or mocked to simulate being a UI application. We can remove these workarounds once
2694         https://webkit.org/b/175204 is addressed, and TestWebKitAPI becomes a UI application that can actually maintain
2695         a root view controller and key window.
2696
2697         (TestWebKitAPI::TEST):
2698         * TestWebKitAPI/cocoa/TestWKWebView.h:
2699         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2700         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
2701
2702         Add a new initializer for TestWKWebView that doesn't force the view to be hosted within a UIWindow. This is used
2703         by TestWKWebViewController to create a TestWKWebView in -loadView.
2704
2705         * TestWebKitAPI/ios/TestWKWebViewController.h: Added.
2706         * TestWebKitAPI/ios/TestWKWebViewController.mm: Added.
2707         (-[TestWKWebViewControllerWindow _beginKeyWindowDeferral]):
2708         (-[TestWKWebViewControllerWindow _endKeyWindowDeferral]):
2709
2710         Stub out these methods to prevent UIKit from hitting assertions when making this UIWindow the key window. This
2711         can also be removed once TestWebKitAPI is a UI application.
2712
2713         (-[TestWKWebViewController initWithFrame:configuration:]):
2714         (-[TestWKWebViewController loadView]):
2715         (-[TestWKWebViewController webView]):
2716         (-[TestWKWebViewController dismissViewControllerAnimated:completion:]):
2717         (-[TestWKWebViewController dismissalHandler]):
2718         (-[TestWKWebViewController setDismissalHandler:]):
2719
2720         Add a UIViewController helper subclass whose -view is a WKWebView. The new API test presents this view
2721         controller. Tests may also provide a dismissalHandler, which is invoked when the view controller is being
2722         dismissed. The new API test uses this hook to verify that the view controller containing the web view isn't also
2723         dismissed after the action sheet goes away.
2724
2725         * TestWebKitAPI/ios/UIKitSPI.h:
2726
2727 2018-03-12  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2728
2729         [webkitpy] Remove openssl command dependency.
2730         https://bugs.webkit.org/show_bug.cgi?id=183494
2731
2732         Reviewed by Ryosuke Niwa.
2733
2734         Added Python implementation of PEM file perser and switched to use that
2735         from external `openssl` command.
2736
2737         * Scripts/webkitpy/common/system/pemfile.py: Added.
2738         (load):
2739         (BadFormatError):
2740         (Pem):
2741         (Pem.__init__):
2742         (Pem.get):
2743         (Pem.get_all):
2744         (Pem.certificate):
2745         (Pem.private_key):
2746         (Pem.csr):
2747         (Pem.certificate_request):
2748         (Pem.certificate_signing_request):
2749         (_parse_pem_format):
2750         (_parse_pem_format.find_begin):
2751         (_parse_pem_format.find_end):
2752         (_parse_pem_format.sections):
2753         * Scripts/webkitpy/common/system/pemfile_unittest.py: Added.
2754         (PemFileTest):
2755         (PemFileTest.test_parse):
2756         (PemFileTest.test_parse_bad_format):
2757         * Scripts/webkitpy/port/base.py:
2758         (Port.start_websocket_server):
2759         (Port._extract_certificate_from_pem): Deleted.
2760         (Port._extract_private_key_from_pem): Deleted.
2761
2762 2018-03-12  Javier Fernandez  <jfernandez@igalia.com>
2763
2764         Remove GridLayout runtime flag
2765         https://bugs.webkit.org/show_bug.cgi?id=183484
2766
2767         Reviewed by Myles C. Maxfield.
2768
2769         The Grid Layout feature has been enabled by default for almost a
2770         year, so I think it's time to remove the runtime flag and the
2771         codepath run when the feature is disabled.
2772
2773         * DumpRenderTree/mac/DumpRenderTree.mm:
2774         (enableExperimentalFeatures):
2775
2776 2018-03-12  Antoine Quint  <graouts@apple.com>
2777
2778         [Web Animations] Implement CSS Animations and CSS Transitions as Web Animations
2779         https://bugs.webkit.org/show_bug.cgi?id=183504
2780         <rdar://problem/38372965>
2781
2782         Reviewed by Jon Lee.
2783
2784         Add a new <!-- webkit-test-runner --> flag to enable the CSS Animations and CSS Transitions
2785         as Web Animations runtime flag in the new tests we've created for this feature.
2786
2787         * DumpRenderTree/TestOptions.h:
2788         * DumpRenderTree/TestOptions.mm:
2789         (TestOptions::TestOptions):
2790         * DumpRenderTree/mac/DumpRenderTree.mm:
2791         (setWebPreferencesForTestOptions):
2792         * WebKitTestRunner/TestController.cpp:
2793         (WTR::TestController::resetPreferencesToConsistentValues):
2794         (WTR::updateTestOptionsFromTestHeader):
2795         * WebKitTestRunner/TestOptions.h:
2796         (WTR::TestOptions::hasSameInitializationOptions const):
2797
2798 2018-03-11  Zalan Bujtas  <zalan@apple.com>
2799
2800         [LayoutReloaded] Add Line class for InlineFormattingContext -and move files around.
2801         https://bugs.webkit.org/show_bug.cgi?id=183551
2802
2803         Reviewed by Wenson Hsieh.
2804
2805         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js: Renamed from Tools/LayoutReloaded/BlockFormattingContext.js.
2806         (BlockFormattingContext):
2807         (BlockFormattingContext.prototype.layout):
2808         (BlockFormattingContext.prototype.computeWidth):
2809         (BlockFormattingContext.prototype.computeHeight):
2810         (BlockFormattingContext.prototype.marginTop):
2811         (BlockFormattingContext.prototype.marginBottom):
2812         (BlockFormattingContext.prototype._computeStaticPosition):
2813         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2814         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2815         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2816         (BlockFormattingContext.prototype._computeFloatingWidth):
2817         (BlockFormattingContext.prototype._computeInFlowWidth):
2818         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2819         (BlockFormattingContext.prototype._computeFloatingHeight):
2820         (BlockFormattingContext.prototype._computeInFlowHeight):
2821         (BlockFormattingContext.prototype._computeHorizontalConstraint):
2822         (BlockFormattingContext.prototype._computeContentHeight):
2823         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
2824         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2825         (BlockFormattingContext.prototype._shrinkToFitWidth):
2826         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js: Renamed from Tools/LayoutReloaded/BlockMarginCollapse.js.
2827         (BlockMarginCollapse.marginTop):
2828         (BlockMarginCollapse.marginBottom):
2829         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
2830         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
2831         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2832         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2833         (BlockMarginCollapse._nonCollapsedMarginTop):
2834         (BlockMarginCollapse._nonCollapsedMarginBottom):
2835         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2836         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2837         (BlockMarginCollapse._marginValue):
2838         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
2839         (BlockMarginCollapse):
2840         * LayoutReloaded/FormattingContext/FloatingContext.js: Renamed from Tools/LayoutReloaded/FloatingContext.js.
2841         (FloatingContext):
2842         (FloatingContext.prototype.computePosition):
2843         (FloatingContext.prototype.bottom):
2844         (FloatingContext.prototype._positionForFloating):
2845         (FloatingContext.prototype._positionForClear):
2846         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
2847         (FloatingContext.prototype._addFloating):
2848         (FloatingContext.prototype._findInnerMostLeftAndRight):
2849         (FloatingContext.prototype._moveToNextVerticalPosition):
2850         (FloatingContext.prototype._availableSpace):
2851         (FloatingContext.prototype._findFloatingAtVerticalPosition):
2852         (FloatingContext.prototype._isEmpty):
2853         (FloatingContext.prototype._adjustedFloatingPosition):
2854         (FloatingContext.prototype._bottom):
2855         (FloatingContext.prototype._formattingContext):
2856         * LayoutReloaded/FormattingContext/FormattingContext.js: Renamed from Tools/LayoutReloaded/FormattingContext.js.
2857         (FormattingContext):
2858         (FormattingContext.prototype.rootContainer):
2859         (FormattingContext.prototype.floatingContext):
2860         (FormattingContext.prototype.layout):
2861         (FormattingContext.prototype.computeWidth):
2862         (FormattingContext.prototype.computeHeight):
2863         (FormattingContext.prototype.marginTop):
2864         (FormattingContext.prototype.marginLeft):
2865         (FormattingContext.prototype.marginBottom):
2866         (FormattingContext.prototype.marginRight):
2867         (FormattingContext.prototype.absoluteMarginBox):
2868         (FormattingContext.prototype.absoluteBorderBox):
2869         (FormattingContext.prototype.absolutePaddingBox):
2870         (FormattingContext.prototype.absoluteContentBox):
2871         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js: Renamed from Tools/LayoutReloaded/InlineFormattingContext.js.
2872         (InlineFormattingContext):
2873         (InlineFormattingContext.prototype.layout):
2874         (InlineFormattingContext.prototype._handleInlineBox):
2875         (InlineFormattingContext.prototype._handleText):
2876         (InlineFormattingContext.prototype._commitLine):
2877         (InlineFormattingContext.prototype._line):
2878         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js: Copied from Tools/LayoutReloaded/InitialBlockContainer.js.
2879         (Line):
2880         (Line.prototype.isEmpty):
2881         (Line.prototype.availableWidth):
2882         (Line.prototype.appendFragment):
2883         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
2884         * LayoutReloaded/LayoutTree/BlockContainer.js: Renamed from Tools/LayoutReloaded/BlockContainer.js.
2885         (BlockContainer):
2886         (BlockContainer.prototype.establishesInlineFormattingContext):
2887         * LayoutReloaded/LayoutTree/Box.js: Renamed from Tools/LayoutReloaded/Box.js.
2888         (Box):
2889         (Box.prototype.id):
2890         (Box.prototype.setRendererName):
2891         (Box.prototype.name):
2892         (Box.prototype.node):
2893         (Box.prototype.parent):
2894         (Box.prototype.nextSibling):
2895         (Box.prototype.nextInFlowSibling):
2896         (Box.prototype.previousSibling):
2897         (Box.prototype.previousInFlowSibling):
2898         (Box.prototype.setParent):
2899         (Box.prototype.setNextSibling):
2900         (Box.prototype.setPreviousSibling):
2901         (Box.prototype.rect):
2902         (Box.prototype.topLeft):
2903         (Box.prototype.bottomRight):
2904         (Box.prototype.setTopLeft):
2905         (Box.prototype.setSize):
2906         (Box.prototype.setWidth):
2907         (Box.prototype.setHeight):
2908         (Box.prototype.isContainer):
2909         (Box.prototype.isBlockLevelBox):
2910         (Box.prototype.isBlockContainerBox):
2911         (Box.prototype.isInlineLevelBox):
2912         (Box.prototype.setIsAnonymous):
2913         (Box.prototype.isAnonymous):
2914         (Box.prototype.establishesFormattingContext):
2915         (Box.prototype.establishedFormattingContext):
2916         (Box.prototype.establishesBlockFormattingContext):
2917         (Box.prototype.establishesInlineFormattingContext):
2918         (Box.prototype.isPositioned):
2919         (Box.prototype.isRelativePositioned):
2920         (Box.prototype.isAbsolutePositioned):
2921         (Box.prototype.isFixedPositioned):
2922         (Box.prototype.isInFlow):
2923         (Box.prototype.isOutOfFlowPositioned):
2924         (Box.prototype.isInFlowPositioned):
2925         (Box.prototype.isFloatingPositioned):
2926         (Box.prototype.isFloatingOrOutOfFlowPositioned):
2927         (Box.prototype.isRootElement):
2928         (Box.prototype.containingBlock):
2929         (Box.prototype.borderBox):
2930         (Box.prototype.paddingBox):
2931         (Box.prototype.contentBox):
2932         * LayoutReloaded/LayoutTree/Container.js: Renamed from Tools/LayoutReloaded/Container.js.
2933         (Container):
2934         (Container.prototype.isContainer):
2935         (Container.prototype.setFirstChild):
2936         (Container.prototype.setLastChild):
2937         (Container.prototype.firstChild):
2938         (Container.prototype.firstInFlowChild):
2939         (Container.prototype.lastChild):
2940         (Container.prototype.lastInFlowChild):
2941         (Container.prototype.hasChild):
2942         (Container.prototype.hasInFlowChild):
2943         * LayoutReloaded/LayoutTree/InitialBlockContainer.js: Renamed from Tools/LayoutReloaded/InitialBlockContainer.js.
2944         (InitialBlockContainer):
2945         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
2946         (InitialBlockContainer.prototype.paddingBox):
2947         (InitialBlockContainer.prototype.contentBox):
2948         * LayoutReloaded/LayoutTree/InlineBox.js: Renamed from Tools/LayoutReloaded/InlineBox.js.
2949         (InlineBox):
2950         (InlineBox.prototype.setText):
2951         (InlineBox.prototype.text):
2952         * LayoutReloaded/LayoutTree/Text.js: Renamed from Tools/LayoutReloaded/Text.js.
2953         (Text):
2954         (Text.prototype.node):
2955         (Text.prototype.content):
2956         (Text.prototype.length):
2957         * LayoutReloaded/Utils.js:
2958         (Utils.nextBreakingOpportunity):
2959         (Utils.measureText):
2960         * LayoutReloaded/misc/headers/Line.h: Copied from Tools/LayoutReloaded/misc/headers/Text.h.
2961         * LayoutReloaded/misc/headers/Text.h:
2962         * LayoutReloaded/test/border-simple.html:
2963         * LayoutReloaded/test/index.html:
2964
2965 2018-03-10  Wenson Hsieh  <wenson_hsieh@apple.com>
2966
2967         [macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails
2968         https://bugs.webkit.org/show_bug.cgi?id=183485
2969         <rdar://problem/38041984>
2970
2971         Reviewed by Ryosuke Niwa.
2972
2973         Add new API tests to cover scenarios in which we paste image data alongside text data.
2974
2975         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
2976         (TestWebKitAPI::TEST):
2977         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
2978         (TestWebKitAPI::TEST):
2979
2980 2018-03-09  Zalan Bujtas  <zalan@apple.com>
2981
2982         [LayoutReloaded] Initial commit -block formatting context.
2983         https://bugs.webkit.org/show_bug.cgi?id=183462
2984
2985         Reviewed by Antti Koivisto.
2986
2987         See README.md
2988
2989         * LayoutReloaded/BlockContainer.js: Added.
2990         (BlockContainer):
2991         (BlockContainer.prototype.establishesInlineFormattingContext):
2992         * LayoutReloaded/BlockFormattingContext.js: Added.
2993         (BlockFormattingContext):
2994         (BlockFormattingContext.prototype.layout):
2995         (BlockFormattingContext.prototype.computeWidth):
2996         (BlockFormattingContext.prototype.computeHeight):
2997         (BlockFormattingContext.prototype.marginTop):
2998         (BlockFormattingContext.prototype.marginBottom):
2999         (BlockFormattingContext.prototype._computeStaticPosition):
3000         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
3001         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
3002         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
3003         (BlockFormattingContext.prototype._computeFloatingWidth):
3004         (BlockFormattingContext.prototype._computeInFlowWidth):
3005         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
3006         (BlockFormattingContext.prototype._computeFloatingHeight):
3007         (BlockFormattingContext.prototype._computeInFlowHeight):
3008         (BlockFormattingContext.prototype._computeHorizontalConstraint):
3009         (BlockFormattingContext.prototype._computeContentHeight):
3010         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
3011         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
3012         (BlockFormattingContext.prototype._shrinkToFitWidth):
3013         * LayoutReloaded/BlockMarginCollapse.js: Added.
3014         (BlockMarginCollapse.marginTop):
3015         (BlockMarginCollapse.marginBottom):
3016         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
3017         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
3018         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
3019         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
3020         (BlockMarginCollapse._nonCollapsedMarginTop):
3021         (BlockMarginCollapse._nonCollapsedMarginBottom):
3022         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
3023         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
3024         (BlockMarginCollapse._marginValue):
3025         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
3026         (BlockMarginCollapse):
3027         * LayoutReloaded/Box.js: Added.
3028         (Box):
3029         (Box.prototype.id):
3030         (Box.prototype.setRendererName):
3031         (Box.prototype.name):
3032         (Box.prototype.node):
3033         (Box.prototype.parent):
3034         (Box.prototype.nextSibling):
3035         (Box.prototype.nextInFlowSibling):
3036         (Box.prototype.previousSibling):
3037         (Box.prototype.previousInFlowSibling):
3038         (Box.prototype.setParent):
3039         (Box.prototype.setNextSibling):
3040         (Box.prototype.setPreviousSibling):
3041         (Box.prototype.rect):
3042         (Box.prototype.topLeft):
3043         (Box.prototype.bottomRight):
3044         (Box.prototype.setTopLeft):
3045         (Box.prototype.setSize):
3046         (Box.prototype.setWidth):
3047         (Box.prototype.setHeight):
3048         (Box.prototype.isContainer):
3049         (Box.prototype.isBlockLevelBox):
3050         (Box.prototype.isBlockContainerBox):
3051         (Box.prototype.isInlineLevelBox):
3052         (Box.prototype.setIsAnonymous):
3053         (Box.prototype.isAnonymous):
3054         (Box.prototype.establishesFormattingContext):
3055         (Box.prototype.establishedFormattingContext):
3056         (Box.prototype.establishesBlockFormattingContext):
3057         (Box.prototype.establishesInlineFormattingContext):
3058         (Box.prototype.isPositioned):
3059         (Box.prototype.isRelativePositioned):
3060         (Box.prototype.isAbsolutePositioned):
3061         (Box.prototype.isFixedPositioned):
3062         (Box.prototype.isInFlow):
3063         (Box.prototype.isOutOfFlowPositioned):
3064         (Box.prototype.isInFlowPositioned):
3065         (Box.prototype.isFloatingPositioned):
3066         (Box.prototype.isFloatingOrOutOfFlowPositioned):
3067         (Box.prototype.isRootElement):
3068         (Box.prototype.containingBlock):
3069         (Box.prototype.borderBox):
3070         (Box.prototype.paddingBox):
3071         (Box.prototype.contentBox):
3072         * LayoutReloaded/Container.js: Added.
3073         (Container):
3074         (Container.prototype.isContainer):
3075         (Container.prototype.setFirstChild):
3076         (Container.prototype.setLastChild):
3077         (Container.prototype.firstChild):
3078         (Container.prototype.firstInFlowChild):
3079         (Container.prototype.lastChild):
3080         (Container.prototype.lastInFlowChild):
3081         (Container.prototype.hasChild):
3082         (Container.prototype.hasInFlowChild):
3083         * LayoutReloaded/FloatingContext.js: Added.
3084         (FloatingContext):
3085         (FloatingContext.prototype.computePosition):
3086         (FloatingContext.prototype.bottom):
3087         (FloatingContext.prototype._positionForFloating):
3088         (FloatingContext.prototype._positionForClear):
3089         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
3090         (FloatingContext.prototype._addFloating):
3091         (FloatingContext.prototype._findInnerMostLeftAndRight):
3092         (FloatingContext.prototype._moveToNextVerticalPosition):
3093         (FloatingContext.prototype._availableSpace):
3094         (FloatingContext.prototype._findFloatingAtVerticalPosition):
3095         (FloatingContext.prototype._isEmpty):
3096         (FloatingContext.prototype._adjustedFloatingPosition):
3097         (FloatingContext.prototype._bottom):
3098         (FloatingContext.prototype._formattingContext):
3099         * LayoutReloaded/FormattingContext.js: Added.
3100         (FormattingContext):
3101         (FormattingContext.prototype.rootContainer):
3102         (FormattingContext.prototype.floatingContext):
3103         (FormattingContext.prototype.layout):
3104         (FormattingContext.prototype.computeWidth):
3105         (FormattingContext.prototype.computeHeight):
3106         (FormattingContext.prototype.marginTop):
3107         (FormattingContext.prototype.marginLeft):
3108         (FormattingContext.prototype.marginBottom):
3109         (FormattingContext.prototype.marginRight):
3110         (FormattingContext.prototype.absoluteMarginBox):
3111         (FormattingContext.prototype.absoluteBorderBox):
3112         (FormattingContext.prototype.absolutePaddingBox):
3113         (FormattingContext.prototype.absoluteContentBox):
3114         * LayoutReloaded/InitialBlockContainer.js: Added.
3115         (InitialBlockContainer):
3116         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
3117         (InitialBlockContainer.prototype.paddingBox):
3118         (InitialBlockContainer.prototype.contentBox):
3119         * LayoutReloaded/InlineBox.js: Added.
3120         (InlineBox):
3121         (InlineBox.prototype.setText):
3122         (InlineBox.prototype.text):
3123         * LayoutReloaded/InlineFormattingContext.js: Added.
3124         (InlineFormattingContext):
3125         (InlineFormattingContext.prototype.layout):
3126         (InlineFormattingContext.prototype._handleInlineBox):
3127         (InlineFormattingContext.prototype._handleText):
3128         * LayoutReloaded/Layout.js: Added.
3129         (layout):
3130         * LayoutReloaded/LayoutContext.js: Added.
3131         (LayoutContext):
3132         (LayoutContext.prototype.layoutFormattingContext):
3133         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata: Added.
3134         * LayoutReloaded/LayoutReloaded.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
3135         * LayoutReloaded/README.md: Added.
3136         * LayoutReloaded/Text.js: Added.
3137         (Text):
3138         * LayoutReloaded/TreeBuilder.js: Added.
3139         (TreeBuilder.prototype.createTree):
3140         (TreeBuilder.prototype._createAndAttachBox):
3141         (TreeBuilder.prototype._appendChild):
3142         (TreeBuilder.prototype._findBox):
3143         (TreeBuilder.prototype._findNode):
3144         (TreeBuilder):
3145         * LayoutReloaded/Utils.js: Added.
3146         (LayoutPoint):
3147         (LayoutPoint.prototype.setLeft):
3148         (LayoutPoint.prototype.setTop):
3149         (LayoutPoint.prototype.left):
3150         (LayoutPoint.prototype.top):
3151         (LayoutPoint.prototype.shiftLeft):
3152         (LayoutPoint.prototype.shiftTop):
3153         (LayoutPoint.prototype.moveBy):
3154         (LayoutPoint.prototype.equal):
3155         (LayoutPoint.prototype.clone):
3156         (LayoutSize):
3157         (LayoutSize.prototype.setWidth):
3158         (LayoutSize.prototype.setHeight):
3159         (LayoutSize.prototype.width):
3160         (LayoutSize.prototype.height):
3161         (LayoutSize.prototype.growBy):
3162         (LayoutSize.prototype.shrinkBy):
3163         (LayoutSize.prototype.isEmpty):
3164         (LayoutSize.prototype.equal):
3165         (LayoutSize.prototype.clone):
3166         (LayoutRect):
3167         (LayoutRect.prototype.setTop):
3168         (LayoutRect.prototype.setLeft):
3169         (LayoutRect.prototype.setBottom):
3170         (LayoutRect.prototype.setRight):
3171         (LayoutRect.prototype.left):
3172         (LayoutRect.prototype.top):
3173         (LayoutRect.prototype.bottom):
3174         (LayoutRect.prototype.right):
3175         (LayoutRect.prototype.setTopLeft):
3176         (LayoutRect.prototype.topLeft):
3177         (LayoutRect.prototype.topRight):
3178         (LayoutRect.prototype.bottomRight):
3179         (LayoutRect.prototype.setWidth):
3180         (LayoutRect.prototype.setHeight):
3181         (LayoutRect.prototype.setSize):
3182         (LayoutRect.prototype.size):
3183         (LayoutRect.prototype.width):
3184         (LayoutRect.prototype.height):
3185         (LayoutRect.prototype.growBy):
3186         (LayoutRect.prototype.shrinkBy):
3187         (LayoutRect.prototype.moveBy):
3188         (LayoutRect.prototype.isEmpty):
3189         (LayoutRect.prototype.equal):
3190         (LayoutRect.prototype.intersects):
3191         (LayoutRect.prototype.contains):
3192         (LayoutRect.prototype.clone):
3193         (ASSERT_NOT_REACHED):
3194         (ASSERT):
3195         (Utils.computedValue):
3196         (Utils.propertyIsAuto):
3197         (Utils.isWidthAuto):
3198         (Utils.isHeightAuto):
3199         (Utils.isTopAuto):
3200         (Utils.isLeftAuto):
3201         (Utils.isBottomAuto):
3202         (Utils.isRightAuto):
3203         (Utils.width):
3204         (Utils.height):
3205         (Utils.top):
3206         (Utils.bottom):
3207         (Utils.left):
3208         (Utils.right):
3209         (Utils.hasBorderTop):
3210         (Utils.hasBorderBottom):
3211         (Utils.hasPaddingTop):
3212         (Utils.hasPaddingBottom):
3213         (Utils.computedMarginTop):
3214         (Utils.computedMarginLeft):
3215         (Utils.computedMarginBottom):
3216         (Utils.computedMarginRight):
3217         (Utils.computedBorderTopLeft):
3218         (Utils.computedBorderBottomRight):
3219         (Utils.computedPaddingTopLeft):
3220         (Utils.computedPaddingBottomRight):
3221         (Utils.computedBorderAndPaddingTop):
3222         (Utils.computedBorderAndPaddingLeft):
3223         (Utils.computedBorderAndPaddingBottom):
3224         (Utils.computedBorderAndPaddingRight):
3225         (Utils.computedHorizontalBorderAndPadding):
3226         (Utils.computedVerticalBorderAndPadding):
3227         (Utils.hasClear):
3228         (Utils.hasClearLeft):
3229         (Utils.hasClearRight):
3230         (Utils.hasClearBoth):
3231         (Utils.isBlockLevelElement):
3232         (Utils.isBlockContainerElement):
3233         (Utils.isInlineLevelElement):
3234         (Utils.isTableElement):
3235         (Utils.isRelativePositioned):
3236         (Utils.isAbsolutePositioned):
3237         (Utils.isFixedPositioned):
3238         (Utils.isOverflowVisible):
3239         (Utils.isFloatingPositioned):
3240         (Utils.isFloatingLeft):
3241         (Utils.mapToContainer):
3242         (Utils.mapStaticToAbsolute):
3243         (Utils.collectOutOfFlowDescendants):
3244         (Utils.nextBreakingOpportunity):
3245         (Utils.measureText):
3246         (Utils.layoutTreeDump):
3247         (Utils._dumpBox):
3248         (Utils._dumpTree):
3249         (Utils):
3250         * LayoutReloaded/misc/LayoutReloadedWebKit.patch: Added.
3251         * LayoutReloaded/misc/headers/BlockContainer.h: Added.
3252         * LayoutReloaded/misc/headers/BlockFormattingContext.h: Added.
3253         * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Added.
3254         * LayoutReloaded/misc/headers/Box.h: Added.
3255         * LayoutReloaded/misc/headers/Container.h: Added.
3256         * LayoutReloaded/misc/headers/FloatingContext.h: Added.
3257         * LayoutReloaded/misc/headers/FormattingContext.h: Added.
3258         * LayoutReloaded/misc/headers/InitialBlockContainer.h: Added.
3259         * LayoutReloaded/misc/headers/InlineBox.h: Added.
3260         * LayoutReloaded/misc/headers/LayoutContext.h: Added.
3261         * LayoutReloaded/misc/headers/Text.h: Added.
3262         * LayoutReloaded/test/TestHarness.js: Added.
3263         (verifyLayoutTreeDump):
3264         (runLayout):
3265         * LayoutReloaded/test/absolute-auto-with-sibling-margin-bottom.html: Added.
3266         * LayoutReloaded/test/absolute-bottom.html: Added.
3267         * LayoutReloaded/test/absolute-height-stretch.html: Added.
3268         * LayoutReloaded/test/absolute-left-auto.html: Added.
3269         * LayoutReloaded/test/absolute-left-right-top-bottom-auto.html: Added.
3270         * LayoutReloaded/test/absolute-nested.html: Added.
3271         * LayoutReloaded/test/absolute-nested2.html: Added.
3272         * LayoutReloaded/test/absolute-simple.html: Added.
3273         * LayoutReloaded/test/absolute-width-shrink-to-fit.html: Added.
3274         * LayoutReloaded/test/absolute-width-stretch.html: Added.
3275         * LayoutReloaded/test/absolute-with-inline-preferred-width.html: Added.
3276         * LayoutReloaded/test/absolute-with-static-block-position-nested.html: Added.
3277         * LayoutReloaded/test/almost-intruding-left-float-simple.html: Added.
3278         * LayoutReloaded/test/border-simple.html: Added.
3279         * LayoutReloaded/test/fixed-nested.html: Added.
3280         * LayoutReloaded/test/float-left-when-container-has-padding-margin.html: Added.
3281         * LayoutReloaded/test/floating-box-clear-both-simple.html: Added.
3282         * LayoutReloaded/test/floating-box-clear-right-simple.html: Added.
3283         * LayoutReloaded/test/floating-box-left-and-right-multiple-with-top-offset.html: Added.
3284         * LayoutReloaded/test/floating-box-left-and-right-multiple.html: Added.
3285         * LayoutReloaded/test/floating-box-right-simple.html: Added.
3286         * LayoutReloaded/test/floating-box-with-clear-siblings.html: Added.
3287         * LayoutReloaded/test/floating-box-with-clear-simple.html: Added.
3288         * LayoutReloaded/test/floating-box-with-new-formatting-context.html: Added.
3289         * LayoutReloaded/test/floating-box-with-relative-positioned-sibling.html: Added.
3290         * LayoutReloaded/test/floating-left-right-simple.html: Added.
3291         * LayoutReloaded/test/floating-left-right-with-all-margins.html: Added.
3292         * LayoutReloaded/test/floating-lefts-and-rights-simple.html: Added.
3293         * LayoutReloaded/test/floating-multiple-lefts-in-body.html: Added.
3294         * LayoutReloaded/test/floating-multiple-lefts-multiple-lines.html: Added.
3295         * LayoutReloaded/test/floating-multiple-lefts.html: Added.
3296         * LayoutReloaded/test/floating-sizing.html: Added.
3297         * LayoutReloaded/test/floating-sizing2.html: Added.
3298         * LayoutReloaded/test/floating-sizing3.html: Added.
3299         * LayoutReloaded/test/floating-with-new-block-formatting-context.html: Added.
3300         * LayoutReloaded/test/index.html: Added.
3301         * LayoutReloaded/test/inline-content-simple.html: Added.
3302         * LayoutReloaded/test/intruding-left-float-simple.html: Added.
3303         * LayoutReloaded/test/margin-collapse-bottom-bottom.html: Added.
3304         * LayoutReloaded/test/margin-collapse-bottom-nested.html: Added.
3305         * LayoutReloaded/test/margin-collapse-first-last-are-floating.html: Added.
3306         * LayoutReloaded/test/margin-collapse-simple.html: Added.
3307         * LayoutReloaded/test/margin-collapse-top-nested.html: Added.
3308         * LayoutReloaded/test/margin-collapse-when-child-has-padding-border.html: Added.
3309         * LayoutReloaded/test/margin-collapse-with-block-formatting-context.html: Added.
3310         * LayoutReloaded/test/margin-collapse-with-block-formatting-context2.html: Added.
3311         * LayoutReloaded/test/margin-left-right-sizing-out-of-flow.html: Added.
3312         * LayoutReloaded/test/margin-left-right-sizing.html: Added.
3313         * LayoutReloaded/test/margin-propagation-simple-content-height.html: Added.
3314         * LayoutReloaded/test/margin-sibling-collapse-propagated.html: Added.
3315         * LayoutReloaded/test/margin-simple.html: Added.
3316         * LayoutReloaded/test/negative-margin-simple.html: Added.
3317         * LayoutReloaded/test/padding-nested.html: Added.
3318         * LayoutReloaded/test/padding-simple.html: Added.
3319         * LayoutReloaded/test/relative-auto-with-parent-offset.html: Added.
3320         * LayoutReloaded/test/relative-auto.html: Added.
3321         * LayoutReloaded/test/relative-bottom.html: Added.
3322         * LayoutReloaded/test/relative-right.html: Added.
3323         * LayoutReloaded/test/relative-siblings.html: Added.
3324         * LayoutReloaded/test/relative-simple.html: Added.
3325
3326 2018-03-09  Stephan Szabo  <stephan.szabo@sony.com>
3327
3328         WebKitTestRunner: Do not build accessibility files/idl when !HAVE(ACCESSIBILITY)
3329         https://bugs.webkit.org/show_bug.cgi?id=183516
3330
3331         Reviewed by Alex Christensen.
3332
3333         * WebKitTestRunner/CMakeLists.txt:
3334
3335 2018-03-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3336
3337         [webkitpy, WinCairo] Launch Apache HTTPD for HTTP Tests.
3338         https://bugs.webkit.org/show_bug.cgi?id=183265
3339
3340         Reviewed by Daniel Bates.
3341
3342         Launch apache httpd server from python script for WinCairo HTTP LayoutTests. By now, AppleWin uses
3343         Cygwin to launch httpd server. This patch enables native Windows to run HTTP LayoutTests by starting
3344         and stopping httpd server from the script.
3345
3346         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
3347         (LayoutTestApacheHttpd.__init__):
3348         (LayoutTestApacheHttpd._copy_apache_config_file):
3349         (LayoutTestApacheHttpd):
3350         (LayoutTestApacheHttpd.platform):
3351         (LayoutTestApacheHttpd._spawn_process):
3352         (LayoutTestApacheHttpd._stop_running_server):
3353         (LayoutTestApacheHttpd._run):
3354         (LayoutTestApacheHttpd._server_error):
3355         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
3356         (HttpServerBase.aliases):
3357         (HttpServerBase):
3358         (HttpServerBase._build_alias_path_pairs):
3359         (HttpServerBase._build_alias_path_pairs._make_path):
3360         * Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py:
3361         (TestHttpServerBase.test_corrupt_pid_file):
3362         (TestHttpServerBase):
3363         (TestHttpServerBase.test_build_alias_path_pairs):
3364         * Scripts/webkitpy/port/base.py:
3365         (Port._apache_config_file_name_for_platform):
3366         * Scripts/webkitpy/port/port_testcase.py:
3367         (test_apache_config_file_name_for_platform):
3368         * Scripts/webkitpy/port/win.py:
3369         (WinPort._path_to_apache):
3370         (WinCairoPort.default_baseline_search_path):
3371         (WinCairoPort):
3372         (WinCairoPort.check_httpd):
3373
3374 2018-03-09  Carlos Garcia Campos  <cgarcia@igalia.com>
3375
3376         [GTK] Do not use WebKitDOMHTMLFormElement as argument of signal WebKitWebPage::will-submit-form
3377         https://bugs.webkit.org/show_bug.cgi?id=183510
3378
3379         Reviewed by Michael Catanzaro.
3380
3381         Update the test to use WebKitDOMElement instead and fix a memory leak.
3382
3383         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
3384         (handleFormSubmissionCallback):
3385         (willSubmitFormCallback):
3386
3387 2018-03-08  Stephan Szabo  <stephan.szabo@sony.com>
3388
3389         WebKitTestRunner: Don't use accessibility controller when !HAVE(ACCESSIBILITY)
3390         https://bugs.webkit.org/show_bug.cgi?id=183475
3391
3392         Reviewed by Youenn Fablet.
3393
3394         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3395         (WTR::InjectedBundle::done):
3396         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3397         (WTR::InjectedBundlePage::didClearWindowForFrame):
3398
3399 2018-03-08  Ms2ger  <Ms2ger@igalia.com>
3400
3401         [WPE] Update expectations for API tests
3402         https://bugs.webkit.org/show_bug.cgi?id=183434
3403
3404         Unreviewed test gardening.
3405
3406         * TestWebKitAPI/glib/TestExpectations.json:
3407
3408 2018-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3409
3410         [GTK][WPE] Leak checker is not working in WebKitGLib web process tests
3411         https://bugs.webkit.org/show_bug.cgi?id=183404
3412
3413         Reviewed by Michael Catanzaro.
3414
3415         This might have regressed when we started to use the JSC garbage collector timers. The thing is that we expect
3416         that the WebProcessTester object that we expose to JavaScript is released when the web frame is destroyed, but
3417         that's no longer the case. On window object cleared a GC is scheduled, but JSC timers do the actual garbage
3418         collection later. In the case of tests that never happens because the web process finishes quickly after the
3419         test. We need to force a garbage collection at some point when the web page is destroyed. We can't use the
3420         WebKitWebPage destroy signal, since we are also checking that WebKitWebPage isn't leaked. The
3421         API::InjectedBundle::Client::willDestroyPage() always happen when the page is closed, even if WebKitWebPage is
3422         still alive, so we can force the GC at that point. The only problem is that the frame is detached right after
3423         that point, so we can't check WebKitFrame leaks. The only frame in the tests is the main one, so we can assume
3424         that if WebKitWebPage is released, the frame is too.
3425
3426         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
3427         (WebKitFrameTest::testMainFrame): Stop checking we don't leak WebKitFrame.
3428         (WebKitFrameTest::testURI): Ditto.
3429         (WebKitFrameTest::testJavaScriptContext): Ditto.
3430         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
3431         (testWebKitFrameMainFrame): Use new WebViewTest::runWebProcessTest() API.
3432         (testWebKitFrameURI): Ditto.
3433         (testWebKitFrameJavaScriptContext): Ditto.
3434         (webkitFrameTestRun): Deleted.
3435         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
3436         (runTest): We no longer need the special case for dom-cache test.
3437         (windowObjectClearedCallback): Only expose test runner object to JavaScript when loading tests.
3438         (webkit_web_extension_initialize): Call webkitWebExtensionSetGarbageCollectOnPageDestroy() to ensure a garbage
3439         collection is performed when the page is closing.
3440         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
3441         (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength): Fix memory leak,
3442         webkit_dom_client_rect_list_item() returns a full reference.
3443         * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
3444         (testWebProcessAutocleanups):Use new WebViewTest::runWebProcessTest() API.
3445         * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
3446         (testWebKitDOMClientRectDivBoundingClientRectPosition): Use new WebViewTest::runWebProcessTest() API.
3447         (testWebKitDOMClientRectDivClientRectsPositionAndLength): Use new WebViewTest::runWebProcessTest() API.
3448         (prepareDOMForClientRectPositionTests): Deleted.
3449         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
3450         (testWebKitDOMNodeHierarchyNavigation): Use new WebViewTest::runWebProcessTest() API.
3451         (testWebKitDOMNodeInsertion): Ditto.
3452         (testWebKitDOMNodeTagNamesNodeList): Ditto.
3453         (testWebKitDOMNodeTagNamesHTMLCollection): Ditto.
3454         (testWebKitDOMObjectCache): We no longer need to run the test several times, since runWebProcessTest() loads
3455         about blank after every test.
3456         (prepareDOMForTagNamesTests): Deleted.
3457         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
3458         (testWebKitDOMNodeFilterTreeWalker): Use new WebViewTest::runWebProcessTest() API.
3459         (testWebKitDOMNodeFilterNodeIterator): Ditto.
3460         (runTest): Deleted.
3461         * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
3462         (testWebKitDOMXPathNSResolverNative): Use new WebViewTest::runWebProcessTest() API.
3463         (testWebKitDOMXPathNSResolverCustom): Ditto.
3464         * TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp:
3465         (testWebKitWebEditorSelectionChanged): Use new WebViewTest::runWebProcessTest() API.
3466         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
3467         (WebViewTest::runWebProcessTest): It now receives the contents, so it automatically loads the view using
3468         "webprocess://test" as base URI, used to detect tests in the web process. It also loads about:blank after every
3469         test to ensure that window object is cleared.
3470         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
3471
3472 2018-03-07  Youenn Fablet  <youenn@apple.com>
3473
3474         Match unsupported plugins based on domains and not origin
3475         https://bugs.webkit.org/show_bug.cgi?id=183384
3476
3477         Reviewed by Chris Dumez.
3478
3479         * TestWebKitAPI/Tests/WebCore/URL.cpp:
3480         (TestWebKitAPI::TEST_F):
3481         * WebKitTestRunner/TestController.cpp:
3482         (WTR::TestController::setPluginSupportedMode): Update to whitelist
3483         localhost and not http://localhost:8080
3484
3485 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
3486
3487         webkitpy: Allow apple_additions() to define additional ports
3488         https://bugs.webkit.org/show_bug.cgi?id=183412
3489         <rdar://problem/38232353>
3490
3491         Reviewed by Aakash Jain.
3492
3493         * Scripts/webkitpy/port/factory.py:
3494         (PortFactory.get): Allow apple_additions to define port classes to be used
3495         in run-webkit-tests.
3496
3497 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
3498
3499         webkitpy: Remove obsolete function from MockAppleAdditions
3500         https://bugs.webkit.org/show_bug.cgi?id=183415
3501         <rdar://problem/38236407>
3502
3503         Reviewed by Aakash Jain.
3504
3505         * Scripts/webkitpy/port/port_testcase.py:
3506         (bind_mock_apple_additions.MockAppleAdditions):
3507         (bind_mock_apple_additions.MockAppleAdditions.ios_os_name): Deleted.
3508         (bind_mock_apple_additions.MockAppleAdditions.mac_os_name): Deleted.
3509
3510 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
3511
3512         webkitpy: --dedicated-simulators does not boot the correct number of simulators
3513         https://bugs.webkit.org/show_bug.cgi?id=183409
3514         <rdar://problem/38224631>
3515
3516         Reviewed by Aakash Jain.
3517
3518         * Scripts/webkitpy/port/ios_simulator.py:
3519         (IOSSimulatorPort.default_child_processes): When not using dedicated simulators,
3520         we should use the number of booted simulators as our default child processes.
3521
3522 2018-03-07  Alejandro G. Castro  <alex@igalia.com>
3523
3524         Make NetworkRTCResolver port agnostic
3525         https://bugs.webkit.org/show_bug.cgi?id=178855
3526
3527         Reviewed by Youenn Fablet.
3528
3529         Added new unit tests for he resolve and stopResolve functions. We need to compile them for the
3530         other platforms when the APIs are supported.
3531
3532         * TestWebKitAPI/PlatformGTK.cmake:
3533         * TestWebKitAPI/Tests/WebCore/DNS.cpp:
3534
3535 2018-03-06  Youenn Fablet  <youenn@apple.com>
3536
3537         didReceiveServerRedirectForProvisionalNavigation is not called in case of document redirection with service worker registration change
3538         https://bugs.webkit.org/show_bug.cgi?id=183299
3539         <rdar://problem/37547029>
3540
3541         Reviewed by Alex Christensen.
3542
3543         Add support for checking whether this callback is called.
3544         Used in the added layout test.
3545
3546         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3547         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3548         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
3549         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
3550         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3551         * WebKitTestRunner/TestController.cpp:
3552         (WTR::TestController::createOtherPage):
3553         (WTR::TestController::resetStateToConsistentValues):
3554         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation):
3555         * WebKitTestRunner/TestController.h:
3556         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation const):
3557         (WTR::TestController::clearDidReceiveServerRedirectForProvisionalNavigation):
3558         * WebKitTestRunner/TestInvocation.cpp:
3559         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3560
3561 2018-03-06  Chris Dumez  <cdumez@apple.com>
3562
3563         fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html fails with async policy delegates
3564         https://bugs.webkit.org/show_bug.cgi?id=183345
3565
3566         Reviewed by Alex Christensen.
3567
3568         Add layout test infrastructure so a test can know when didCancelClientRedirectForFrame has
3569         been called. The tests used to rely on a 0-timer but this does not work when the client
3570         responds to the navigation policy asynchronously.
3571
3572         * DumpRenderTree/TestRunner.cpp:
3573         (getDidCancelClientRedirect):
3574         (TestRunner::staticValues):
3575         * DumpRenderTree/TestRunner.h:
3576         (TestRunner::didCancelClientRedirect const):
3577         (TestRunner::setDidCancelClientRedirect):
3578         * DumpRenderTree/mac/FrameLoadDelegate.mm:
3579         (-[FrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
3580         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3581         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3582         (WTR::InjectedBundlePage::didCancelClientRedirectForFrame):
3583         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3584         (WTR::TestRunner::didCancelClientRedirect const):
3585         (WTR::TestRunner::setDidCancelClientRedirect):
3586
3587 2018-03-06  Zan Dobersek  <zdobersek@igalia.com>
3588
3589         REGRESSION(r229309): s_exceptionInstructions allocation change causing crashes in LLInt on WPE
3590         https://bugs.webkit.org/show_bug.cgi?id=183366
3591
3592         Reviewed by Michael Catanzaro.
3593
3594         Have the TestRunnerInjectedBundle CMake library link against libraries
3595         in the WebKitTestRunnerInjectedBundle_LIBRARIES list, and not the
3596         WebKitTestRunner_LIBRARIES list, which is used for the WebKitTestRunner
3597         executable. This allows narrowing down the libraries to only those that
3598         are necessary for the injected bundle shared object.
3599
3600         The GTK+ port already has this list specified, adding one for the WPE
3601         port.
3602
3603         * WebKitTestRunner/CMakeLists.txt:
3604         Link the TestRunnerInjectedBundle library against the libraries in the
3605         WebKitTestRunnerInjectedBundle_LIBRARIES list.
3606         * WebKitTestRunner/PlatformWPE.cmake:
3607         Specify the WebKitTestRunnerInjectedBundle_LIBRARIES list, including the
3608         basic system dependencies, WebCoreTestSupport and WebKit. This follows
3609         the GTK+ port.
3610
3611 2018-03-06  Dominik Infuehr  <dinfuehr@igalia.com>
3612
3613         [ARM] Disable tests that run out of memory
3614         https://bugs.webkit.org/show_bug.cgi?id=182699
3615
3616         Reviewed by Žan Doberšek.
3617
3618         Add run mode to allow running modules.yaml-tests without
3619         disabling LLInt for specific tests.
3620
3621         * Scripts/run-jsc-stress-tests:
3622
3623 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
3624
3625         Fix std::make_unique / new[] using system malloc
3626         https://bugs.webkit.org/show_bug.cgi?id=182975
3627
3628         Reviewed by JF Bastien.
3629
3630         * TestWebKitAPI/CMakeLists.txt:
3631         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3632         * TestWebKitAPI/Tests/WTF/UniqueArray.cpp: Copied from Source/WebKit/Platform/win/LoggingWin.cpp.
3633         (TestWebKitAPI::NonTrivialDestructor::NonTrivialDestructor):
3634         (TestWebKitAPI::NonTrivialDestructor::~NonTrivialDestructor):
3635         (TestWebKitAPI::NonTrivialDestructor::setLog):
3636         (TestWebKitAPI::TEST):
3637
3638 2018-03-05  Myles C. Maxfield  <mmaxfield@apple.com>
3639
3640         DumpRenderTree build fix
3641
3642         Unreviewed.
3643
3644         * DumpRenderTree/mac/LayoutTestHelper.m:
3645
3646 2018-03-05  Andy Estes  <aestes@apple.com>
3647
3648         [Mac] Teach WebCore::Pasteboard about file promise drags
3649         https://bugs.webkit.org/show_bug.cgi?id=183314
3650         <rdar://problem/38105493>
3651
3652         Reviewed by Darin Adler.
3653
3654         * DumpRenderTree/DumpRenderTreeFileDraggingSource.h:
3655         * DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
3656         (-[DumpRenderTreeFileDraggingSource initWithPromisedFileURLs:]):
3657         (-[DumpRenderTreeFileDraggingSource dealloc]):
3658
3659         Taught DumpRenderTreeFileDraggingSource to store the promised file URLs.
3660
3661         * DumpRenderTree/mac/DumpRenderTree.mm:
3662         (runTest):
3663
3664         Called +[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers] after running a test.
3665
3666         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
3667         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
3668         (-[DumpRenderTreeFilePromiseReceiver initWithPromisedUTIs:]):
3669         (-[DumpRenderTreeFilePromiseReceiver fileTypes]):
3670         (-[DumpRenderTreeFilePromiseReceiver fileNames]):
3671         (-[DumpRenderTreeFilePromiseReceiver dealloc]):
3672         (copyFile):
3673         (-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
3674
3675         We can't instantiate real NSFilePromiseReceivers in DumpRenderTree. They rely on the
3676         pasteboard server to generate unique file URLs, which is incompatible with our swizzled
3677         NSPasteboard.
3678
3679         Instead, create a subclass of NSFilePromiseReceiver that implements its own promise resolution.
3680         -receivePromisedFilesAtDestination:... asks its DumpRenderTreeFileDraggingSource for the
3681         array of file URLs, then copies each to the destination directory on the specified operation
3682         queue. It emulates how NSPasteboard tries to find a unique destination name by appending
3683         numbers to the file name.
3684
3685         All receivers are collected in a global array that is cleared when each test finishes.
3686         DumpRenderTreeFilePromiseReceiver will delete the files it copied in -dealloc.
3687
3688         (+[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers]):
3689         (-[DumpRenderTreeDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
3690         
3691         If NSFilesPromisePboardType is on the pasteboard and classArray contains
3692         NSFilePromiseReceiver, construct a DumpRenderTreeFilePromiseReceiver, add it to the array of
3693         all file promise receivers, then wrap it in an NSDraggingItem and call block.
3694
3695         * DumpRenderTree/mac/EventSendingController.mm:
3696         (+[EventSendingController isSelectorExcludedFromWebScript:]):
3697         (+[EventSendingController webScriptNameForSelector:]):
3698         (-[EventSendingController beginDragWithFilePromises:]):
3699
3700         Implement eventSender.beginDragWithFilePromises() by placing file UTIs on the pasteboard
3701         with type NSFilesPromisePboardType, creating a DumpRenderTreeFileDraggingSource with the
3702         file URLs, and creating a new DumpRenderTreeDraggingInfo and passing it to
3703         -[WebView draggingEntered:].
3704
3705 2018-03-05  Aakash Jain  <aakash_jain@apple.com>
3706
3707         [webkitpy] Bugzilla class should use NetworkTransaction for network operations
3708         https://bugs.webkit.org/show_bug.cgi?id=183222
3709
3710         Reviewed by Alexey Proskuryakov.
3711
3712         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3713         (Bugzilla.open_url): Method which uses NetworkTransaction for opening url.
3714         (Bugzilla.fetch_user): Used self.open_url instead of directly calling browser.open().
3715         (Bugzilla.add_user_to_groups): Ditto.
3716         (Bugzilla._fetch_bug_page): Ditto.
3717         (Bugzilla.fetch_attachment_contents): Ditto.
3718         (Bugzilla.get_bug_id_for_attachment_id): Ditto.
3719         (Bugzilla.authenticate): Ditto.
3720         (Bugzilla.add_attachment_to_bug): Ditto.
3721         (Bugzilla.add_patch_to_bug): Ditto.
3722         (Bugzilla.create_bug): Ditto.
3723         (Bugzilla.clear_attachment_flags): Ditto.
3724         (Bugzilla.set_flag_on_attachment): Ditto.
3725         (Bugzilla.obsolete_attachment): Ditto.
3726         (Bugzilla.add_cc_to_bug): Ditto.
3727         (Bugzilla.post_comment_to_bug): Ditto.
3728         (Bugzilla.close_bug_as_fixed): Ditto.
3729         (Bugzilla.reassign_bug): Ditto.
3730         (Bugzilla.reopen_bug): Ditto.
3731         (Bugzilla._fetch_bug_page_by_url): Deleted, not required anymore.
3732         * Scripts/webkitpy/common/net/networktransaction.py:
3733         (NetworkTransaction.run): Added a FIXME.
3734
3735 2018-03-05  Joseph Pecoraro  <pecoraro@apple.com>
3736
3737         dump-class-layout mishandles duplicates base classes and miscomputes padding
3738         https://bugs.webkit.org/show_bug.cgi?id=183311
3739
3740         Reviewed by Simon Fraser.
3741
3742         * Scripts/dump-class-layout:
3743         (verify_type):
3744         (verify_type_recursive):
3745         Keep a list of seen (offset, type) that we have output and don't re-output them.
3746         The Python types list the base classes as members multiple times as you iterate
3747         through the members, so just ignore them if we have seem them already at a
3748         specific offset.
3749
3750 2018-03-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3751
3752         [GTK][Wayland] The GTK Wayland bot exits early because of assertions related with libsecret since r221925
3753         https://bugs.webkit.org/show_bug.cgi?id=183330
3754
3755         Reviewed by Michael Catanzaro.
3756
3757         Add libsecret to the JHBuild and build it only when the system version is
3758         less than 0.18.6 (unreleased as of writing this) in order to cherry pick
3759         a fix for a bug that causes crashes with layout tests.
3760
3761         * gtk/jhbuild.modules:
3762         * gtk/patches/libsecret-secret-methods-Don-t-unref-NULL-when-search-fails.patch: Added.
3763
3764 2018-03-05  Claudio Saavedra  <csaavedra@igalia.com>
3765
3766         [GTK] Implement WTR's PlatformWebView::setWindowIsKey()
3767         https://bugs.webkit.org/show_bug.cgi?id=183143
3768
3769         Reviewed by Carlos Garcia Campos.
3770
3771         Implement ::setWindowIsKey() by keeping a second window to be
3772         presented when the webview's window is to lose its key status.
3773
3774         * WebKitTestRunner/PlatformWebView.h:
3775         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
3776         (WTR::PlatformWebView::PlatformWebView):
3777         (WTR::PlatformWebView::~PlatformWebView):
3778         (WTR::PlatformWebView::setWindowIsKey):
3779
3780 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
3781
3782         Unreviewed, attempt to fix Apple port build
3783
3784         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3785
3786 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
3787
3788         Unreviewed, attempt to fix WPE build
3789
3790         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
3791         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
3792         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3793         (WTR::PlatformWebView::windowSnapshotImage):
3794         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3795         (WTR::TestController::platformRunUntil):
3796
3797 2018-03-04  Yusuke Suzuki  <utatane.tea@gmail.com>
3798
3799         [WTF] Move currentCPUTime and sleep(Seconds) to CPUTime.h and Seconds.h respectively
3800         https://bugs.webkit.org/show_bug.cgi?id=183312
3801
3802         Reviewed by Mark Lam.
3803
3804         Remove wtf/CurrentTime.h include pragma.
3805
3806         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
3807         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
3808         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
3809         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
3810         * TestWebKitAPI/Tests/WTF/Condition.cpp:
3811         * TestWebKitAPI/Tests/WTF/Signals.cpp:
3812         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
3813         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
3814         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3815         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3816         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
3817         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3818
3819 2018-03-04  Tim Horton  <timothy_horton@apple.com>
3820
3821         Make !ENABLE(DATA_DETECTION) iOS build actually succeed
3822         https://bugs.webkit.org/show_bug.cgi?id=183283
3823         <rdar://problem/38062148>
3824
3825         Reviewed by Sam Weinig.
3826
3827         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3828
3829 2018-03-02  Chris Dumez  <cdumez@apple.com>
3830
3831         Converting a load to a download does not work with async policy delegates
3832         https://bugs.webkit.org/show_bug.cgi?id=183254
3833         <rdar://problem/38035334>
3834
3835         Reviewed by Youenn Fablet.
3836
3837         Add layout test infrastructure for responding to the decidePolicyForNavigationResponse
3838         delegate asynchronously.
3839
3840         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3841         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3842         (WTR::InjectedBundlePage::decidePolicyForResponse):
3843         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3844         (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay):
3845         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3846         (WTR::TestRunner::shouldDecideResponsePolicyAfterDelay const):
3847         * WebKitTestRunner/TestController.cpp:
3848         (WTR::TestController::resetStateToConsistentValues):
3849         (WTR::TestController::decidePolicyForNavigationResponse):
3850         * WebKitTestRunner/TestController.h:
3851         (WTR::TestController::setShouldDecideResponsePolicyAfterDelay):
3852         * WebKitTestRunner/TestInvocation.cpp:
3853         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3854
3855 2018-03-01  Youenn Fablet  <youenn@apple.com>
3856
3857         Add API test to validate setting of service worker and cache storage directories
3858         https://bugs.webkit.org/show_bug.cgi?id=182543
3859
3860         Reviewed by Chris Dumez.
3861
3862         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3863
3864 2018-03-01  Ross Kirsling  <ross.kirsling@sony.com>
3865
3866         [Win][DRT] Implement setSpatialNavigationEnabled.
3867         https://bugs.webkit.org/show_bug.cgi?id=183166
3868
3869         Reviewed by Per Arne Vollan.
3870
3871         * DumpRenderTree/TestRunner.cpp:
3872         (setSpatialNavigationEnabledCallback):
3873         * DumpRenderTree/win/DumpRenderTree.cpp:
3874         (resetWebPreferencesToConsistentValues):
3875         * DumpRenderTree/win/TestRunnerWin.cpp:
3876         (TestRunner::setSpatialNavigationEnabled):
3877
3878 2018-03-01  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3879
3880         [webkitpy] Use shell=False to launch apache http server.
3881         https://bugs.webkit.org/show_bug.cgi?id=183191
3882
3883         Reviewed by Aakash Jain.
3884
3885         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
3886         (LayoutTestApacheHttpd.__init__):
3887         (LayoutTestApacheHttpd._run):
3888
3889 2018-03-01  Chris Dumez  <cdumez@apple.com>
3890
3891         Unreviewed, update WebKit.CustomHeaderFields API test after r229133.
3892
3893         We no longer do policy checks for 'about:blank'.
3894
3895         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3896         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
3897         (TEST):
3898
3899 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
3900
3901         [webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
3902         https://bugs.webkit.org/show_bug.cgi?id=183184
3903         <rdar://problem/37958594>
3904
3905         Reviewed by Aakash Jain.
3906
3907         Unlisted Apple versions can't run webkitpy tests because they don't
3908         have specified port names.
3909
3910         * Scripts/webkitpy/port/apple.py:
3911         (ApplePort.determine_full_port_name): Return valid port name for unnamed
3912         versions.
3913         * Scripts/webkitpy/port/base.py:
3914         (Port.version_name): Check both public and internal version mapping
3915         when returning a version name.
3916         * Scripts/webkitpy/port/mac.py:
3917         (MacPort.__init__): If no os version is defined, use the current version.
3918
3919 2018-02-28  John Wilander  <wilander@apple.com>
3920
3921         Add a second tier of prevalence to facilitate telemetry on very prevalent domains
3922         https://bugs.webkit.org/show_bug.cgi?id=183218
3923         <rdar://problem/37992388>
3924
3925         Reviewed by Brent Fulgham.
3926
3927         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3928             Added two new testRunner functions:
3929             - setStatisticsVeryPrevalentResource()
3930             - isStatisticsVeryPrevalentResource()
3931         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3932         (WTR::TestRunner::setStatisticsVeryPrevalentResource):
3933         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
3934         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3935         * WebKitTestRunner/TestController.cpp:
3936         (WTR::TestController::setStatisticsVeryPrevalentResource):
3937         (WTR::TestController::isStatisticsVeryPrevalentResource):
3938         * WebKitTestRunner/TestController.h:
3939         * WebKitTestRunner/TestInvocation.cpp:
3940         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3941
3942 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
3943
3944         [webkitpy] Remove concept of 'future' versions (Follow-up fix)
3945         https://bugs.webkit.org/show_bug.cgi?id=183184
3946         <rdar://problem/37958594>
3947
3948         Reviewed by David Kilzer.
3949
3950         The factory also relies on future in a non-obvious way.
3951
3952         * Scripts/webkitpy/common/system/platforminfo.py:
3953         (PlatformInfo.os_version_name): Check both public and internal version mapping
3954         when returning a version name.
3955         * Scripts/webkitpy/common/system/platforminfo_mock.py:
3956         (MockPlatformInfo.os_version_name): Ditto.
3957
3958 2018-02-28  Zan Dobersek  <zdobersek@igalia.com>
3959
3960         Unreviewed WPE fixup after r229080.
3961
3962         Add empty definitions for two AccessibilityUIElement methods,
3963         avoiding undefined symbols in the WKTR injected bundle.
3964
3965         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
3966         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
3967         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3968
3969 2018-02-27  Jonathan Bedard  <jbedard@apple.com>
3970
3971         Remove concept of 'future'
3972         https://bugs.webkit.org/show_bug.cgi?id=183184
3973         <rdar://problem/37958594>
3974
3975         Reviewed by Aakash Jain.
3976
3977         Remove concept of 'future' from expectations and instead
3978         use a system of inheritance centered around the current version
3979         of an OS for Mac and iOS.
3980
3981         Inheritance works like so:
3982
3983         | ....
3984         V Future
3985         > High Sierra (mac)
3986         ^ mac-sierra
3987         | mac-elcapitan
3988         | ....
3989
3990         This does not change expectation inheritance for any currently running
3991         configurations, it generalizes the logic already used.
3992
3993         * Scripts/webkitpy/common/version_name_map.py:
3994         (VersionNameMap.__init__): Remove all future versions.
3995         (VersionNameMap.mapping_for_platform): Return empty dicts instead of
3996         asserting.
3997         * Scripts/webkitpy/port/apple.py:
3998         (ApplePort):
3999         (ApplePort._allowed_versions): Return all available versions.
4000         (ApplePort._generate_all_test_configurations): Instead of picking from a set
4001         of allowed versions, assume that every specified version is allowed.
4002         (ApplePort._port_name_with_version): Deleted.
4003         * Scripts/webkitpy/port/darwin.py: Add CURRENT_VERSION overridden by subclasses.
4004         (DarwinPort):
4005         * Scripts/webkitpy/port/ios.py:
4006         (IOSPort):
4007         (IOSPort.default_baseline_search_path): Use system of inheritance centered around
4008         the current version.
4009         * Scripts/webkitpy/port/mac.py:
4010         (MacPort):
4011         (MacPort.__init__): Use current version by default.
4012         (MacPort.default_baseline_search_path): Use system of inheritance centered around
4013         the current version.
4014         (MacPort.configuration_specifier_macros): Use the same set of version names
4015         supported in default_baseline_search_path.
4016         * Scripts/webkitpy/port/mac_unittest.py:
4017         (MacTest.test_versions): Remove 'future' tests.
4018
4019 2018-02-27  Michael Catanzaro  <mcatanzaro@igalia.com>
4020
4021         Unreviewed GTK test gardening
4022
4023         * TestWebKitAPI/glib/TestExpectations.json:
4024
4025 2018-02-27  Doug Russell  <doug@getitdownonpaper.com>
4026
4027         AX: Spell check and style attributes should be optional when fetching attributed string
4028         https://bugs.webkit.org/show_bug.cgi?id=160744
4029
4030         Reviewed by Chris Fleizach.
4031
4032         The overhead of fetching a spell checked attributed string via AX API is substantial. 
4033         In some cases on the order of 7/8 of the total time spent fetching the string.
4034
4035         This change introduces the new attribute AXAttributedStringForTextMarkerRangeWithOptions which accepts an NSDictionary as it's parameter with keys "AXTextMarkerRange" (AXTextMarkerRangeRef) and "AXSpellCheck" (NSNumber(BOOL)).
4036
4037         AXAttributedStringForTextMarkerRange will remain unchanged.
4038
4039         * DumpRenderTree/AccessibilityUIElement.cpp:
4040         (attributedStringForTextMarkerRangeCallback):
4041         (attributedStringForTextMarkerRangeWithOptionsCallback):
4042         (AccessibilityUIElement::attributedStringForTextMarkerRange):
4043         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
4044         (AccessibilityUIElement::getJSClass):
4045         * DumpRenderTree/AccessibilityUIElement.h:
4046         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
4047         (AccessibilityUIElement::attributedStringForTextMarkerRange):
4048         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
4049         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
4050         (createJSStringRef):
4051         (AccessibilityUIElement::attributedStringForTextMarkerRange):
4052         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
4053         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
4054         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
4055         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4056         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
4057         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
4058         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
4059         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
4060         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
4061         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
4062         (WTR::createJSStringRef):
4063         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
4064         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
4065
4066 2018-02-27  Daniel Bates  <dabates@apple.com>
4067
4068         Standardize terminology for marked text
4069         https://bugs.webkit.org/show_bug.cgi?id=180999
4070
4071         Reviewed by Zalan Bujtas.
4072
4073         The name MarkerSubrange is a misnomer for a data structure that associates a text subrange with a type
4074         and optional document marker. In particular, a MarkerSubrange may not always correspond to a document
4075         marker. For instance, selected text is represented using a MarkerSubrange that does not have a
4076         corresponding document marker. Let's standardize on the phrase "marked text" as the canonical way to
4077         describe these tagged text subranges.
4078
4079         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4080         * TestWebKitAPI/Tests/WebCore/MarkedText.cpp: Added.
4081         (WebCore::operator<<):
4082         (TestWebKitAPI::TEST):
4083         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Removed.
4084
4085 2018-02-27  Aakash Jain  <aakash_jain@apple.com>
4086
4087         webkitpy Bugzilla transactions should retry on URLError
4088         https://bugs.webkit.org/show_bug.cgi?id=183156
4089
4090         Reviewed by Alexey Proskuryakov.
4091
4092         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
4093         (Bugzilla): Use NetworkTransaction.
4094         (Bugzilla._fetch_bug_page_by_url):
4095         (Bugzilla.bug_id_for_attachment_id):
4096         (Bugzilla.get_bug_id_for_attachment_id):
4097
4098 2018-02-27  Wenson Hsieh  <wenson_hsieh@apple.com>
4099
4100         [Extra zoom mode] Implement additional SPI for adjusting viewport shrink-to-fit behavior
4101         https://bugs.webkit.org/show_bug.cgi?id=183100
4102         <rdar://problem/37840987>
4103
4104         Reviewed by Tim Horton.
4105
4106         Add API tests that exercise -_setMinimumAllowedLayoutWidth: and -_setForceHorizontalViewportShrinkToFit:. See
4107         WebKit ChangeLog for more detail.
4108
4109         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4110         * TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Added.
4111         (TestWebKitAPI::while):
4112         (viewportTestPageMarkup):
4113         (TestWebKitAPI::TEST):
4114
4115 2018-02-27  Yusuke Suzuki  <utatane.tea@gmail.com>
4116
4117         Unreviewed, skip FTL tests if FTL is disabled
4118         https://bugs.webkit.org/show_bug.cgi?id=183071
4119
4120         * Scripts/run-jsc-stress-tests:
4121
4122 2018-02-26  Don Olmstead  <don.olmstead@sony.com>
4123
4124         Fix WebCore includes within WebKitLegacy
4125         https://bugs.webkit.org/show_bug.cgi?id=183147
4126
4127         Reviewed by Tim Horton.
4128
4129         * MiniBrowser/win/ResourceLoadDelegate.cpp:
4130
4131 2018-02-26  Yousuke Kimoto  <yousuke.kimoto@sony.com>
4132
4133         [WinCairo] WebKit2_C.h should be included for TestWebKit
4134         https://bugs.webkit.org/show_bug.cgi?id=182682
4135
4136         Reviewed by Yusuke Suzuki.
4137
4138         * TestWebKitAPI/config.h:
4139
4140 2018-02-25  Fujii Hironori  <Hironori.Fujii@sony.com>
4141
4142         [WK2] http/tests/navigation/new-window-redirect-history.html crashes
4143         https://bugs.webkit.org/show_bug.cgi?id=127683
4144
4145         Reviewed by Dan Bernstein.
4146
4147         m_previousTestBackForwardListItem was null for the new window.
4148         m_previousTestBackForwardListItem is initialized only for the main
4149         window in InjectedBundlePage::prepare.
4150
4151         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
4152         (WTR::InjectedBundlePage::dumpBackForwardList):
4153         Do null-check of m_previousTestBackForwardListItem.
4154
4155 2018-02-25  Alexey Proskuryakov  <ap@apple.com>
4156
4157         Various crashes in WebKitTestRunner, especially when system is under heavy load
4158         https://bugs.webkit.org/show_bug.cgi?id=183109
4159
4160         Reviewed by Tim Horton.
4161
4162         WebKitTestRunner had many places where it sent messages to WebContent with a timeout,
4163         but it didn't handle the timeout when it did occur. Nearly all of those would result
4164         in logic errors and failing tests, and most would even result in stack corruption,
4165         as the response handler modified local variables.
4166
4167         There is only one timeout scenario that we actually mean to handle in WKTR. That's
4168         when a test freezes after it is done (e.g. an infinite loop in beforeunload) - we don't
4169         want to blame the next test for freezing, so we silently relaunch WebContent.
4170         Everything else is cargo cult code that never worked.
4171
4172         This patch addresses the crashes, and actually makes tests pass a lot more on an
4173         overloaded system.
4174
4175         * WebKitTestRunner/TestController.cpp:
4176         (WTR::TestController::resetStateToConsistentValues): Moved m_doneResetting assignment
4177         to where it's actually needed, for clarity.
4178         (WTR::TestController::reattachPageToWebProcess): This function used to always hit
4179         and ignore message timeout, as m_doneResetting is only updated by navigation callback
4180         when the state is Resetting. This change makes it faster.
4181         (WTR::TestController::platformResetStateToConsistentValues): Style fix.
4182         (WTR::TestController::clearServiceWorkerRegistrations): Timing out here wasn't
4183         handled in a meaningful manner, and would even corrupt the stack.
4184         (WTR::TestController::clearDOMCache): Ditto.
4185         (WTR::TestController::clearDOMCaches): Ditto.
4186         (WTR::TestController::hasDOMCache): Ditto.
4187         (WTR::TestController::domCacheSize): Ditto.
4188         (WTR::TestController::isStatisticsPrevalentResource): Ditto.
4189         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Ditto.
4190         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Ditto.
4191         (WTR::TestController::isStatisticsHasHadUserInteraction): Ditto.
4192         (WTR::TestController::isStatisticsGrandfathered): Ditto.
4193         (WTR::TestController::statisticsUpdateCookiePartitioning): Ditto.
4194         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Ditto.
4195         (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Ditto.
4196         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
4197         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Ditto.
4198
4199         * WebKitTestRunner/TestInvocation.cpp:
4200         (WTR::TestInvocation::shortTimeout const): Made shortTimeout shorter (on a hunch).
4201         (WTR::TestInvocation::invoke): Removed a timeout waiting for initial response. There
4202         is never a logical reason for such a timeout, as we always have a new or responsive
4203         WebContent process here.
4204         (WTR::TestInvocation::dumpResults): Removed another timeout that we don't know how to
4205         properly handle.
4206         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Removed assignment to
4207         m_errorMessage, which had no effect in this context.
4208
4209         * WebKitTestRunner/TestInvocation.h: Removed no longer used code.
4210
4211         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
4212         (WTR::TestController::cocoaResetStateToConsistentValues): Use a named constant for
4213         no timeout.
4214         
4215         * WebKitTestRunner/ios/TestControllerIOS.mm:
4216         (WTR::TestController::platformConfigureViewForTest): Removed a useless timeout.
4217         Not sure if timing out here would corrupt the stack or not, but there is no reason
4218         to impose arbitrary limits on individual steps of a test.
4219
4220         * WebKitTestRunner/mac/TestControllerMac.mm:
4221         (WTR::TestController::platformConfigureViewForTest): Use a named constant for
4222         no timeout.
4223
4224 2018-02-25  Ali Juma  <ajuma@chromium.org>
4225
4226         Unreviewed. Change my status to committer.
4227
4228         * Scripts/webkitpy/common/config/contributors.json:
4229
4230 2018-02-25  Chris Dumez  <cdumez@apple.com>
4231
4232         Service workers do not work well inside Web.app
4233         https://bugs.webkit.org/show_bug.cgi?id=183105
4234         <rdar://problem/37864140>
4235
4236         Reviewed by Youenn Fablet.
4237
4238         Add API test coverage.
4239
4240         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
4241
4242 2018-02-25  Aakash Jain  <aakash_jain@apple.com>
4243
4244         [build.webkit.org] unit-tests fail if buildbot 0.8.6p1 is not installed locally
4245         https://bugs.webkit.org/show_bug.cgi?id=183103
4246
4247         Reviewed by Alexey Proskuryakov.
4248
4249         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Removed extra imports.
4250
4251 2018-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
4252
4253         Unreviewed, fix the TestWebKitAPI build after r228825.
4254
4255         I removed a `>= iOS 11` check in r228825, but forgot that this was also neeed to guard against tvOS and watchOS
4256         builds. This fixes the build by restoring the compile-time guard and also makes it explicit for these platforms.
4257
4258         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
4259
4260 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
4261
4262         Remove currentTime() / currentTimeMS()
4263         https://bugs.webkit.org/show_bug.cgi?id=183052
4264
4265         Reviewed by Mark Lam.
4266
4267         * DumpRenderTree/TestRunner.cpp:
4268         (preciseTimeCallback):
4269         * DumpRenderTree/mac/TestRunnerMac.mm:
4270         (TestRunner::setMockGeolocationPosition):
4271         * TestWebKitAPI/Tests/WTF/Condition.cpp:
4272         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
4273         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
4274         * WebKitTestRunner/GeolocationProviderMock.cpp:
4275         (WTR::GeolocationProviderMock::setPosition):
4276         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4277         (WTR::TestRunner::preciseTime):
4278
4279 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
4280
4281         Remove sleep(double) and sleepMS(double) interfaces
4282         https://bugs.webkit.org/show_bug.cgi?id=183038
4283
4284         Reviewed by Mark Lam.
4285
4286         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
4287         (PluginTest::indicateTestFailure):
4288         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
4289         (EvaluteJSWithinNPP_New::NPP_New):
4290         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
4291         (InvokeDestroysPluginWithinNPP_New::NPP_New):
4292         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
4293         * TestWebKitAPI/Tests/WTF/Signals.cpp:
4294         (TEST):
4295         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
4296         (TestWebKitAPI::testThreadGroup):
4297         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
4298         (TestWebKitAPI::TEST):
4299         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
4300         (TestWebKitAPI::TEST):
4301         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
4302         (TestWebKitAPI::TEST):
4303         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
4304         (TestWebKitAPI::Util::sleep):
4305
4306 2018-02-21  Don Olmstead  <don.olmstead@sony.com>
4307
4308         [CMake][Win] Use cmakeconfig.h rather than config.h and Platform.h
4309         https://bugs.webkit.org/show_bug.cgi?id=182883
4310
4311         Reviewed by Per Arne Vollan.
4312
4313         * DumpRenderTree/config.h:
4314         * TestWebKitAPI/config.h:
4315
4316 2018-02-21  Michael Catanzaro  <mcatanzaro@igalia.com>
4317
4318         [GTK] Unsafe g_setenv use in MiniBrowser main
4319         https://bugs.webkit.org/show_bug.cgi?id=182978
4320
4321         Reviewed by Carlos Garcia Campos.
4322
4323         setenv (and g_setenv) will randomly crash if called too late.
4324
4325         * MiniBrowser/gtk/main.c:
4326         (main):
4327
4328 2018-02-21  Aakash Jain  <aakash_jain@apple.com>
4329
4330         webkitpy NetworkTransaction should retry on URLError
4331         https://bugs.webkit.org/show_bug.cgi?id=182987
4332
4333         Reviewed by Alexey Proskuryakov.
4334
4335         * Scripts/webkitpy/common/net/networktransaction.py:
4336         (NetworkTransaction.run): Retry on urllib2.URLError.
4337
4338 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
4339
4340         [WTR][WPE] Correct the process names in TestController.
4341         https://bugs.webkit.org/show_bug.cgi?id=178700
4342
4343         Reviewed by Michael Catanzaro.
4344
4345         Similar to r228731 for GTK.
4346
4347         * Scripts/webkitpy/port/wpe.py:
4348         (WPEPort._get_crash_log): removed the code to convert WebProcess name.
4349         * WebKitTestRunner/TestController.cpp: return the correct process names for WPE.
4350         (WTR::TestController::webProcessName):
4351         (WTR::TestController::networkProcessName):
4352         (WTR::TestController::databaseProcessName):
4353
4354 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
4355
4356         [ATK] Remove attributeSet variable from AccessibilityUIElement::attributedStringForRange().
4357         https://bugs.webkit.org/show_bug.cgi?id=183000
4358
4359         Reviewed by Joanmarie Diggs.
4360
4361         It is never initialized, but is passed to atk_attribute_set_free.
4362         This caused a crash in accessibility/content-editable-as-textarea.html on the debug bots.
4363
4364         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4365         (WTR::AccessibilityUIElement::attributedStringForRange):
4366
4367 2018-02-21  Myles C. Maxfield  <mmaxfield@apple.com>
4368
4369         [Cocoa] Make system-ui obey the user-installed-font policy
4370         https://bugs.webki