1 2018-03-31 Zalan Bujtas <zalan@apple.com>
3 [LayoutReloaded] Do not clone Display.Box for FloatingState stacks.
4 https://bugs.webkit.org/show_bug.cgi?id=184218
6 Reviewed by Antti Koivisto.
8 Now that Display.Box is in a tree context, we can't just clone it for the purpose of caching its absolute position.
10 * LayoutReloaded/DisplayTree/Box.js:
11 (Display.Box.prototype.clone): Deleted.
12 * LayoutReloaded/FormattingContext/FloatingContext.js:
13 (FloatingContext.prototype._positionForFloating):
14 (FloatingContext.prototype._moveToNextVerticalPosition):
15 (FloatingContext.prototype._availableSpace):
16 (FloatingContext.prototype._findFloatingAtVerticalPosition):
17 (FloatingContext.prototype._adjustedFloatingPosition):
18 (FloatingContext.prototype._bottom):
19 (FloatingContext.prototype._addFloatingBox):
20 (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
21 (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
22 * LayoutReloaded/FormattingState/FloatingState.js:
23 (FloatingState.prototype.addFloating):
25 2018-03-31 Zalan Bujtas <zalan@apple.com>
27 [LayoutReloaded] Remove all FormattingContext::absolute*Box functions.
28 https://bugs.webkit.org/show_bug.cgi?id=184215
30 Reviewed by Antti Koivisto.
32 Use Display.Box instead.
34 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
35 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
36 * LayoutReloaded/FormattingContext/FloatingContext.js:
37 (FloatingContext.prototype._availableSpace):
38 (FloatingContext.prototype._adjustedFloatingPosition):
39 (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
40 (FloatingContext.prototype._mapContentBoxToFormattingRoot):
41 * LayoutReloaded/FormattingContext/FormattingContext.js:
42 (FormattingContext.prototype.absoluteBorderBox): Deleted.
43 (FormattingContext.prototype.absolutePaddingBox): Deleted.
44 (FormattingContext.prototype.absoluteContentBox): Deleted.
45 (FormattingContext.prototype._toAbsolutePosition): Deleted.
46 (FormattingContext.prototype._toRootAbsolutePosition): Deleted.
47 * LayoutReloaded/Utils.js:
53 2018-03-31 Zalan Bujtas <zalan@apple.com>
55 [LayoutReloaded] Remove FormattingContext::absoluteMarginBox
56 https://bugs.webkit.org/show_bug.cgi?id=184213
58 Reviewed by Antti Koivisto.
60 Display.Box already has the margin values.
62 * LayoutReloaded/FormattingContext/FloatingContext.js:
63 (FloatingContext.prototype._positionForFloating):
64 (FloatingContext.prototype._addFloatingBox):
65 (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
66 (FloatingContext.prototype._formattingRoot):
67 * LayoutReloaded/FormattingContext/FormattingContext.js:
68 (FormattingContext.prototype.absoluteMarginBox): Deleted.
69 * LayoutReloaded/Utils.js:
72 2018-03-31 Zalan Bujtas <zalan@apple.com>
74 [layoutReloaded] Introduce margin to Display.Box
75 https://bugs.webkit.org/show_bug.cgi?id=184212
77 Reviewed by Antti Koivisto.
79 This is in preparation for moving margin box out of formatting context to Display.Box.
81 * LayoutReloaded/DisplayTree/Box.js:
83 (Display.Box.prototype.setRect):
84 (Display.Box.prototype.setTopLeft):
85 (Display.Box.prototype.setTop):
86 (Display.Box.prototype.setLeft):
87 (Display.Box.prototype.setSize):
88 (Display.Box.prototype.setWidth):
89 (Display.Box.prototype.setHeight):
90 (Display.Box.prototype.width):
91 (Display.Box.prototype.setMarginTop):
92 (Display.Box.prototype.setMarginLeft):
93 (Display.Box.prototype.setMarginBottom):
94 (Display.Box.prototype.setMarginRight):
95 (Display.Box.prototype.marginTop):
96 (Display.Box.prototype.marginLeft):
97 (Display.Box.prototype.marginBottom):
98 (Display.Box.prototype.marginRight):
99 (Display.Box.prototype.marginBox):
100 * LayoutReloaded/FormattingContext/FormattingContext.js:
101 (FormattingContext.prototype.absoluteMarginBox):
102 (FormattingContext.prototype._addToLayoutQueue):
103 * LayoutReloaded/FormattingState/FormattingState.js:
104 (FormattingState.prototype.createDisplayBox):
106 2018-03-31 Zalan Bujtas <zalan@apple.com>
108 [LayoutReloaded] Add tree context to Display.Box
109 https://bugs.webkit.org/show_bug.cgi?id=184211
111 Reviewed by Antti Koivisto.
113 This is preparation for using the Display.Box tree to resolve absolute coordinates.
115 * LayoutReloaded/DisplayTree/Box.js:
117 (Display.Box.prototype.setParent):
118 (Display.Box.prototype.setNextSibling):
119 (Display.Box.prototype.setPreviousSibling):
120 (Display.Box.prototype.setFirstChild):
121 (Display.Box.prototype.setLastChild):
122 (Display.Box.prototype.parent):
123 (Display.Box.prototype.nextSibling):
124 (Display.Box.prototype.previousSibling):
125 (Display.Box.prototype.firstChild):
126 (Display.Box.prototype.lastChild):
127 * LayoutReloaded/FormattingState/FormattingState.js:
128 (FormattingState.prototype.createDisplayBox):
130 2018-03-30 Ryosuke Niwa <rniwa@webkit.org>
132 Copying a list from Microsoft Word to TinyMCE fails when mso-list is the first property
133 https://bugs.webkit.org/show_bug.cgi?id=182938
134 <rdar://problem/37683007>
136 Reviewed by Wenson Hsieh.
138 Added more assertions to PasteHTML.PreservesMSOList for preserving an inline style which starts with mso-list
139 or the one which line-breaks right before it.
141 * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
142 * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html:
144 2018-03-29 Ryosuke Niwa <rniwa@webkit.org>
146 Copying a list from Microsoft Word to TinyMCE fails when mso-list is on tags other than P
147 https://bugs.webkit.org/show_bug.cgi?id=182954
148 <rdar://problem/37713141>
150 Reviewed by Wenson Hsieh.
152 Added a test case for a HTML generated by Microsoft Word which sets mso-list on h4.
154 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
155 * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
156 * TestWebKitAPI/Tests/WebKitCocoa/mso-list-compat-mode.html: Fixed the file path.
157 * TestWebKitAPI/Tests/WebKitCocoa/mso-list-on-h4.html: Added.
159 2018-03-29 Ross Kirsling <ross.kirsling@sony.com>
161 run-jsc-benchmarks should recognize Windows-style build directory structure.
162 https://bugs.webkit.org/show_bug.cgi?id=184117
164 Reviewed by Yusuke Suzuki.
166 * Scripts/run-jsc-benchmarks:
167 Allow not only bin/jsc but also bin64/jsc.exe.
169 2018-03-29 Zalan Bujtas <zalan@apple.com>
171 [LayoutReloaded] Decouple formatting state and context lifetime.
172 https://bugs.webkit.org/show_bug.cgi?id=184136
174 Reviewed by Antti Koivisto.
176 FormattingContext is about the layout logic. We don't need to hold on to it.
178 * LayoutReloaded/FormattingContext/FloatingContext.js:
180 (FloatingContext.prototype.computePosition):
181 (FloatingContext.prototype._positionForClear):
182 (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
183 (FloatingContext.prototype._addFloatingBox):
184 (FloatingContext.prototype._formattingContext):
185 (FloatingContext.prototype._formattingState):
186 * LayoutReloaded/FormattingContext/FormattingContext.js:
188 * LayoutReloaded/FormattingState/BlockFormattingState.js:
189 (BlockFormattingState):
190 * LayoutReloaded/FormattingState/FloatingState.js:
192 (FloatingState.prototype.addFloating):
193 (FloatingState.prototype.formattingState):
194 (FloatingState.prototype.formattingContext): Deleted.
195 * LayoutReloaded/FormattingState/FormattingState.js:
197 (FormattingState.prototype.formattingContext): Deleted.
198 * LayoutReloaded/FormattingState/InlineFormattingState.js:
199 (InlineFormattingState):
200 * LayoutReloaded/LayoutState.js:
201 (LayoutState.prototype.layout):
202 (LayoutState.prototype.formattingContext):
204 2018-03-28 Zalan Bujtas <zalan@apple.com>
206 [LayoutReloaded] Introduce FloatingState.
207 https://bugs.webkit.org/show_bug.cgi?id=184126
209 Reviewed by Antti Koivisto.
211 It holds the floating state (left/right floating stack) for a given formatting state (Block or Inline).
212 (FormattingState -> FloatingState/FormattingContext -> FloatingContext)
214 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
215 (BlockFormattingContext):
216 * LayoutReloaded/FormattingContext/FloatingContext.js:
218 (FloatingContext.prototype.computePosition):
219 (FloatingContext.prototype.bottom):
220 (FloatingContext.prototype._positionForFloating):
221 (FloatingContext.prototype._positionForClear):
222 (FloatingContext.prototype._findInnerMostLeftAndRight):
223 (FloatingContext.prototype._isEmpty):
224 (FloatingContext.prototype._floatingState):
225 (FloatingContext.prototype._formattingContext):
226 (FloatingContext.prototype._lastFloating):
227 (FloatingContext.prototype._leftFloatingStack):
228 (FloatingContext.prototype._rightFloatingStack):
229 (FloatingContext.prototype._addFloating): Deleted.
230 * LayoutReloaded/FormattingContext/FormattingContext.js:
232 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
233 (InlineFormattingContext):
234 * LayoutReloaded/FormattingState/BlockFormattingState.js:
235 (BlockFormattingState):
236 * LayoutReloaded/FormattingState/FloatingState.js: Copied from Tools/LayoutReloaded/FormattingState/InlineFormattingState.js.
238 (FloatingState.prototype.addFloating):
239 (FloatingState.prototype.leftFloatingStack):
240 (FloatingState.prototype.rightFloatingStack):
241 (FloatingState.prototype.lastFloating):
242 (FloatingState.prototype.formattingContext):
243 * LayoutReloaded/FormattingState/FormattingState.js:
245 (FormattingState.prototype.floatingState):
246 * LayoutReloaded/FormattingState/InlineFormattingState.js:
247 (InlineFormattingState):
248 * LayoutReloaded/test/index.html:
250 2018-03-28 Zalan Bujtas <zalan@apple.com>
252 [LayoutReloaded] Convert floating left/right stack display boxes absolute to the formatting context's root.
253 https://bugs.webkit.org/show_bug.cgi?id=184123
255 Reviewed by Antti Koivisto.
257 1. The left/right floating array should hold the Display.Box (and not the Layout.Box)
258 2. Clone the Display.Box and convert its rect absolute to the formatting context's root so that we
259 don't have to keep converting the coordinates while computing the positions.
261 * LayoutReloaded/DisplayTree/Box.js:
262 (Display.Box.prototype.clone):
263 (Display.Box.prototype.setRect):
264 * LayoutReloaded/FormattingContext/FloatingContext.js:
265 (FloatingContext.prototype.computePosition):
266 (FloatingContext.prototype._positionForFloating):
267 (FloatingContext.prototype._addFloating):
268 (FloatingContext.prototype._moveToNextVerticalPosition):
269 (FloatingContext.prototype._availableSpace):
270 (FloatingContext.prototype._findFloatingAtVerticalPosition):
271 (FloatingContext.prototype._adjustedFloatingPosition):
272 (FloatingContext.prototype._bottom):
274 2018-03-28 Chris Dumez <cdumez@apple.com>
276 Unreviewed iOS build fix after r230060.
278 * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
280 2018-03-28 Chris Dumez <cdumez@apple.com>
282 Unreviewed, disable new window.open() API tests introduced in r230051 on iOS.
284 I will investigate if this is testable on iOS.
286 * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
288 2018-03-28 Chris Dumez <cdumez@apple.com>
290 Do process swap when opening a cross-origin URL via window.open(url, '_blank', 'noopener')
291 https://bugs.webkit.org/show_bug.cgi?id=183962
292 <rdar://problem/38817833>
294 Reviewed by Brady Eidson.
296 Add API test coverage.
298 * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
299 (-[PSONUIDelegate initWithNavigationDelegate:]):
300 (-[PSONUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
302 2018-03-28 Carlos Eduardo Ramalho <cadubentzen@gmail.com>
304 Add Carlos Eduardo Ramalho as contributor
305 https://bugs.webkit.org/show_bug.cgi?id=184082
307 Reviewed by Carlos Alberto Lopez Perez.
309 * Scripts/webkitpy/common/config/contributors.json:
311 2018-03-28 Wenson Hsieh <wenson_hsieh@apple.com>
313 [Extra zoom mode] Make boosted text autosizing values switchable at runtime
314 https://bugs.webkit.org/show_bug.cgi?id=184092
315 <rdar://problem/38939917>
317 Reviewed by Tim Horton.
319 Add an API test to check that toggling the boosted text autosizing preference causes text to lay out larger than
320 it would with normal text autosizing.
322 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
323 * TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm: Added.
326 2018-03-28 Zalan Bujtas <zalan@apple.com>
328 [LayoutReloaded] InlineFormattingContext::_handleText should support runs on multiple lines
329 https://bugs.webkit.org/show_bug.cgi?id=184101
331 Reviewed by Antti Koivisto.
333 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
334 (InlineFormattingContext):
335 (InlineFormattingContext.prototype.layout):
336 (InlineFormattingContext.prototype._handleText):
337 (InlineFormattingContext.prototype._createNewLine):
338 * LayoutReloaded/test/index.html:
339 * LayoutReloaded/test/simple-multiline-text.html: Added.
341 2018-03-28 Zalan Bujtas <zalan@apple.com>
343 [LayoutReloaded] Add InlineTextBreaker::skipLeadingWhitespaceIfNeeded
344 https://bugs.webkit.org/show_bug.cgi?id=184099
346 Reviewed by Antti Koivisto.
348 * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
350 2018-03-27 Carlos Garcia Campos <cgarcia@igalia.com>
352 [GLIB] Add JSCWeakValue to JavaScriptCore GLib API
353 https://bugs.webkit.org/show_bug.cgi?id=184041
355 Reviewed by Michael Catanzaro.
357 Add test case for JSCWeakValue.
359 * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
360 (weakValueClearedCallback):
364 2018-03-27 Zalan Bujtas <zalan@apple.com>
366 [LayoutReloaded] Start using window.collectTextRuns() to layout text lines in inline formatting context
367 https://bugs.webkit.org/show_bug.cgi?id=184070
369 Reviewed by Antti Koivisto.
371 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
372 (InlineFormattingContext.prototype._handleText):
373 (InlineFormattingContext.prototype._commitLine):
374 * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
375 (Line.prototype.addTextLineBox):
377 (Line.prototype.addLineBox): Deleted.
378 * LayoutReloaded/FormattingState/BlockFormattingState.js:
379 (BlockFormattingState):
380 * LayoutReloaded/FormattingState/FormattingState.js:
381 (FormattingState.prototype.displayBox):
383 (FormattingState.prototype._setFormattingContext): Deleted.
384 * LayoutReloaded/FormattingState/InlineFormattingState.js:
385 (InlineFormattingState):
386 * LayoutReloaded/LayoutTree/Text.js:
387 (Text.prototype.content):
388 * LayoutReloaded/Utils.js:
390 (Utils.textRunsForLine):
393 * LayoutReloaded/test/simple-inline-text.html:
395 2018-03-27 Eric Carlson <eric.carlson@apple.com>
397 https://bugs.webkit.org/show_bug.cgi?id=183876
398 <rdar://problem/38726459>
400 Unreviewed, fix for the test added in r229995 in the iOS simulator.
402 * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm:
403 (TestWebKitAPI::AVFoundationPref::testWithPreference):
405 2018-03-27 Jiewen Tan <jiewen_tan@apple.com>
407 [WebAuthN] Implement authenticatorGetAssertion
408 https://bugs.webkit.org/show_bug.cgi?id=183881
409 <rdar://problem/37258628>
411 Reviewed by Brent Fulgham.
413 * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
414 (TestWebKitAPI::getTestKey):
415 (TestWebKitAPI::addTestKeyToKeychain):
416 (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
417 (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
418 (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::LAEvaluateAccessControlFailedSwizzler):
419 (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::evaluateAccessControlFailed):
420 (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::LAEvaluateAccessControlPassedSwizzler):
421 (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::evaluateAccessControlPassed):
422 (TestWebKitAPI::TEST):
424 2018-03-27 Brian Burg <bburg@apple.com>
426 REGRESSION(r229937): WebDriver tests no longer run, test runner hangs when launching wpt web server
427 https://bugs.webkit.org/show_bug.cgi?id=184056
428 <rdar://problem/38925058>
430 Reviewed by Timothy Hatcher and Youenn Fablet.
432 * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
433 (WebDriverW3CWebServer.start):
434 The config key used in upstream WPT has changed from 'host' to 'browser_host'.
436 2018-03-27 Timothy Hatcher <timothy@hatcher.name>
438 Update my email address in contributors.json and scripts
439 https://bugs.webkit.org/show_bug.cgi?id=184054
441 * Scripts/validate-committer-lists:
442 (CommitterListFromGit):
443 * Scripts/webkitpy/common/config/contributors.json:
445 2018-03-27 Eric Carlson <eric.carlson@apple.com>
447 Make AVFoundationEnabled preference available on iOS
448 https://bugs.webkit.org/show_bug.cgi?id=183876
449 <rdar://problem/38726459>
451 Reviewed by Youenn Fablet.
453 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
454 * TestWebKitAPI/Tests/WebKit/video.html: Added.
455 * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm: Added.
456 (-[PreferenceTestMessageHandler userContentController:didReceiveScriptMessage:]):
457 (TestWebKitAPI::AVFoundationPref::SetUp):
458 (TestWebKitAPI::AVFoundationPref::testWithPreference):
459 (TestWebKitAPI::TEST_F):
461 2018-03-26 Brent Fulgham <bfulgham@apple.com>
463 Warn against cookie access in the WebContent process using ProcessPrivilege assertions
464 https://bugs.webkit.org/show_bug.cgi?id=183911
465 <rdar://problem/38762306>
467 Reviewed by Youenn Fablet.
469 Add a set of ProcessPrivilege assertions to enforce the rule that the WebContent process
470 should never call Cookie API directly. That should only happen in the Networking or
473 * DumpRenderTree/mac/DumpRenderTree.mm:
474 (DumpRenderTreeMain):
475 * TestWebKitAPI/TestsController.cpp:
476 (TestWebKitAPI::TestsController::TestsController):
477 * WebKitTestRunner/TestController.cpp:
478 (WTR::TestController::initialize):
480 2018-03-26 Zalan Bujtas <zalan@apple.com>
482 [LayoutReloaded] Add InlineText DOM interface and dependencies
483 https://bugs.webkit.org/show_bug.cgi?id=184010
485 Reviewed by Antti Koivisto.
487 to help inline text layout.
489 * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
491 2018-03-25 Carlos Garcia Campos <cgarcia@igalia.com>
493 [GTK][WPE] Add API to convert between DOM and JSCValue
494 https://bugs.webkit.org/show_bug.cgi?id=183448
496 Reviewed by Michael Catanzaro.
498 Add unit tests for non-deprecated DOM API and switch existing tests to use non-deprecated API except for the
499 ones that test the deprecated API.
501 * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp: Added.
502 (DOMElementTest::create):
503 (DOMElementTest::testAutoFill):
505 * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp: Added.
506 (WebKitWebEditorTest::create):
507 (WebKitWebEditorTest::selectionChangedCallback):
508 (WebKitWebEditorTest::testSelectionchanged):
510 * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
511 (WebKitFrameTest::testJavaScriptValues):
513 * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObjectPrivate.h.
514 (testWebKitDOMElementAutoFill):
517 * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp.
518 * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
519 (testWebKitFrameJavaScriptValues):
521 * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
522 (inputElementIsUserEdited):
523 (testWebExtensionInputElementIsUserEdited):
524 (testWebExtensionFormSubmissionSteps):
526 * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
527 (documentLoadedCallback):
529 (contextMenuCallback):
530 (consoleMessageSentCallback):
531 (formControlsAssociatedCallback):
532 (willSubmitFormCallback):
533 (pageCreatedCallback):
534 (methodCallCallback):
535 * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
537 (webProcessTestRunnerFinalize):
539 * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
540 (AutocleanupsTest::testWebProcessAutocleanups):
541 * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
542 * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
543 * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
544 * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
545 * TestWebKitAPI/Tests/WebKitGtk/EditorTest.cpp: Removed.
546 * TestWebKitAPI/glib/CMakeLists.txt:
547 * TestWebKitAPI/glib/PlatformGTK.cmake:
548 * TestWebKitAPI/glib/PlatformWPE.cmake:
550 2018-03-24 Jonathan Bedard <jbedard@apple.com>
552 webkitpy: Unrecognized mac versions always use WebKitTestRunner
553 https://bugs.webkit.org/show_bug.cgi?id=183681
554 <rdar://problem/38509162>
556 Reviewed by Daniel Bates.
558 When an unrecognized version is used, we were unconditionally adding '-wk2'
559 to the mac version name. This would mean that the port object would always
560 use WebKitTestRunner as the driver, even if DumpRenderTree was explicitly
563 * Scripts/webkitpy/port/apple.py:
564 (ApplePort.determine_full_port_name): Only add wk2 to port names if
565 WebKitTestRunner is specified.
566 * Scripts/webkitpy/port/mac.py:
567 (MacPort.__init__): Compare length of split string, and do not treat wk2 as a
569 * Scripts/webkitpy/port/mac_unittest.py:
571 (MacTest.test_factory_with_future_version): Confirm that future versions correctly
572 assign the driver and have undefined version names.
573 (MacTest.test_factory_with_portname_version): Confirm that general versions correctly assign
574 the driver and have defined versions.
575 (MacTest.test_factory_with_portname_wk2): Ensure that mac ports ending in 'wk2' set
576 the driver to be WebKitTestRunner even if webkit_test_runner=False.
578 2018-03-23 Zan Dobersek <zdobersek@igalia.com>
580 Fix the run-benchmark script, properly specifying the plan directory
581 where the Skipped file is located.
583 Rubber-stamped by Carlos Alberto Lopez Perez.
585 * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
588 2018-03-23 Tim Horton <timothy_horton@apple.com>
590 Fix the build with no pasteboard
591 https://bugs.webkit.org/show_bug.cgi?id=183973
593 Reviewed by Dan Bernstein.
595 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
597 2018-03-23 Youenn Fablet <youenn@apple.com>
599 Update WPT tools to a1ec330
600 https://bugs.webkit.org/show_bug.cgi?id=183934
602 Reviewed by Chris Dumez.
604 Update script to run WPT server according updated WPT tools.
606 * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
608 * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
612 2018-03-23 Sihui Liu <sihui_liu@apple.com>
614 Local storage getItem() for an empty string returned UNDEFINED value.
615 https://bugs.webkit.org/show_bug.cgi?id=69138
616 <rdar://problem/13410974>
618 Reviewed by Brady Eidson.
620 Add API test coverage.
622 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
623 * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Added.
624 (-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
626 * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html: Added.
628 2018-03-23 Chris Dumez <cdumez@apple.com>
630 Promptly terminate service worker processes when they are no longer needed
631 https://bugs.webkit.org/show_bug.cgi?id=183873
632 <rdar://problem/38676995>
634 Reviewed by Youenn Fablet.
636 Add API test coverage.
638 * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
640 2018-03-23 Brady Eidson <beidson@apple.com>
642 Go to back/forward list items after a process-swapped navigation.
643 <rdar://problem/38690544> and https://bugs.webkit.org/show_bug.cgi?id=183920
645 Reviewed by Andy Estes.
647 Add a new API test that does some process-swapping navigations (including a back navigation)
648 and verifies the state of the engine afterwards.
650 * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
651 (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
652 (-[PSONScheme initWithBytes:]):
653 (-[PSONScheme webView:startURLSchemeTask:]):
658 2018-03-23 Brendan McLoughlin <brendan@bocoup.com>
660 Lint web-platform-tests changes with the wpt linter before exporting
661 https://bugs.webkit.org/show_bug.cgi?id=183796
663 Reviewed by Youenn Fablet.
665 * Scripts/webkitpy/w3c/test_exporter.py:
666 (TestExporter.__init__):
667 (TestExporter.do_export):
668 * Scripts/webkitpy/w3c/test_exporter_unittest.py:
669 (TestExporterTest.MockWPTLinter):
670 (TestExporterTest.MockWPTLinter.__init__):
671 (TestExporterTest.MockWPTLinter.lint):
672 (TestExporterTest.test_export):
673 (TestExporterTest.test_export_with_specific_branch):
674 * Scripts/webkitpy/w3c/wpt_linter.py: Added.
676 (WPTLinter.__init__):
679 2018-03-23 David Kilzer <ddkilzer@apple.com>
681 Stop using dispatch_set_target_queue()
682 <https://webkit.org/b/183908>
683 <rdar://problem/33553533>
685 Reviewed by Daniel Bates.
687 * Scripts/webkitpy/style/checkers/cpp.py:
688 (check_language): Add check for use of
689 dispatch_set_target_queue().
690 (CppChecker): Add 'runtime/dispatch_set_target_queue' category.
691 * Scripts/webkitpy/style/checkers/cpp_unittest.py:
692 (CppStyleTest): Add test.
694 2018-03-23 Youenn Fablet <youenn@apple.com>
696 Allow fully whitelisted plug-ins to match non HTTP URLs
697 https://bugs.webkit.org/show_bug.cgi?id=183938
698 rdar://problem/38534312
700 Reviewed by Chris Dumez.
702 * TestWebKitAPI/Tests/WebCore/URL.cpp:
703 (TestWebKitAPI::TEST_F):
705 2018-03-23 JF Bastien <jfbastien@apple.com>
707 dump-class-layout is just wrong
708 https://bugs.webkit.org/show_bug.cgi?id=183939
710 Reviewed by Yusuke Suzuki.
712 Looks like r229291 contained a half-renamed variable in it, so it
715 * Scripts/dump-class-layout:
717 (verify_type_recursive):
719 2018-03-23 Carlos Garcia Campos <cgarcia@igalia.com>
721 Unreviewed. Run JSC GLib API tests in GTK+ and WPE bots.
723 The test runners were still considering the JSC tests as google tests, but they are now GLib tests.
725 * Scripts/run-gtk-tests:
726 (GtkTestRunner.is_glib_test):
727 (GtkTestRunner.is_google_test):
728 * Scripts/run-wpe-tests:
729 (WPETestRunner.is_glib_test):
730 (WPETestRunner.is_google_test):
732 2018-03-22 Daniel Bates <dabates@apple.com>
734 Expose SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest() as WebKit SPI
735 https://bugs.webkit.org/show_bug.cgi?id=183907
736 <rdar://problem/38759127>
738 Reviewed by Alex Christensen.
740 Adds unit tests for the modern Objective-C and C SPI to ensure we do not regress it.
742 We use the deprecated -[WKBrowsingContextController registerSchemeForCustomProtocol:]
743 in both the modern Objective-C API and C API tests to share code. Once we no longer
744 need to support the C API we should remove the tests and transition the modern Objective-
745 C tests to use -[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:].
747 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
748 * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm: Added.
749 (+[EchoURLProtocol canInitWithRequest:]):
750 (+[EchoURLProtocol canonicalRequestForRequest:]):
751 (+[EchoURLProtocol requestIsCacheEquivalent:toRequest:]):
752 (-[EchoURLProtocol startLoading]):
753 (-[EchoURLProtocol stopLoading]):
754 (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextController:didFailProvisionalLoadWithError:]):
755 (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextControllerDidFinishLoad:]):
756 (TestWebKitAPI::TEST):
758 2018-03-22 Adrian Perez de Castro <aperez@igalia.com>
760 [WPE] Enable WOFF2 support
761 https://bugs.webkit.org/show_bug.cgi?id=178158
763 Reviewed by Frédéric Wang.
765 * wpe/jhbuild.modules: Add "brotli" and "woff2" to the JHBuild moduleset.
767 2018-03-22 Brendan McLoughlin <brendan@bocoup.com>
769 Do not export web-platform-test files generated by the wpt importer to assist the webkit test runner
770 https://bugs.webkit.org/show_bug.cgi?id=183916
772 Reviewed by Youenn Fablet.
774 * Scripts/webkitpy/w3c/test_exporter.py:
775 (TestExporter.create_branch_with_patch):
776 * Scripts/webkitpy/w3c/test_exporter_unittest.py:
777 (TestExporterTest.test_export):
778 (TestExporterTest.test_export_with_specific_branch):
780 2018-03-22 Tim Horton <timothy_horton@apple.com>
782 Improve readability of WebCore's OTHER_LDFLAGS
783 https://bugs.webkit.org/show_bug.cgi?id=183909
784 <rdar://problem/38760992>
786 Reviewed by Dan Bernstein.
788 * TestWebKitAPI/Configurations/Base.xcconfig:
789 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
791 2018-03-21 Fujii Hironori <Hironori.Fujii@sony.com>
793 Unreviewed. Marked myself as a committer.
795 * Scripts/webkitpy/common/config/contributors.json:
797 2018-03-21 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
799 Unreviewed, make the email address of Yoshiaki Jitsukawa all lower case.
801 * Scripts/webkitpy/common/config/contributors.json:
803 2018-03-21 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
805 Unreviewed, add myself as a WebKit committer.
807 * Scripts/webkitpy/common/config/contributors.json:
809 2018-03-21 Chris Dumez <cdumez@apple.com>
811 ScrollViewInsetTests.RestoreInitialContentOffsetAfterCrash API test is failing with async delegates
812 https://bugs.webkit.org/show_bug.cgi?id=183787
814 Reviewed by Wenson Hsieh.
816 Add API test coverage.
818 * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
819 (-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
820 (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationAction:decisionHandler:]):
821 (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationResponse:decisionHandler:]):
822 (-[AsyncPolicyDelegateForInsetTest webViewWebContentProcessDidTerminate:]):
823 (TestWebKitAPI::TEST):
825 2018-03-21 Chris Dumez <cdumez@apple.com>
827 Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
828 https://bugs.webkit.org/show_bug.cgi?id=183858
830 Reviewed by Wenson Hsieh.
832 Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
833 instead of loadTestPageNamed because injecting script.
835 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
836 (TestWebKitAPI::TEST):
838 2018-03-21 Zalan Bujtas <zalan@apple.com>
840 [LayoutReloaded] Enable formatting state for InlineFormattingContext
841 https://bugs.webkit.org/show_bug.cgi?id=183853
843 Reviewed by Antti Koivisto.
845 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
846 (BlockFormattingContext.prototype._contentHeight):
847 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
848 (InlineFormattingContext):
849 (InlineFormattingContext.prototype.layout):
850 (InlineFormattingContext.prototype._createNewLine):
851 * LayoutReloaded/LayoutState.js:
852 (LayoutState.prototype.formattingState):
853 * LayoutReloaded/README.md:
854 * LayoutReloaded/Utils.js:
856 * LayoutReloaded/test/index.html:
857 * LayoutReloaded/test/simple-inline-text.html: Added.
859 2018-03-21 Zalan Bujtas <zalan@apple.com>
861 [LayoutReloaded] Move inline lines to InlineFormattingState.
862 https://bugs.webkit.org/show_bug.cgi?id=183814
864 Reviewed by Antti Koivisto.
866 InlineFormattingContext is not supposed to hold state.
868 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
869 (InlineFormattingContext):
870 (InlineFormattingContext.prototype._commitLine):
871 (InlineFormattingContext.prototype._createNewLine):
872 (InlineFormattingContext.prototype.lines): Deleted.
873 (InlineFormattingContext.prototype._initializeLine): Deleted.
874 * LayoutReloaded/FormattingState/InlineFormattingState.js:
875 (InlineFormattingState):
876 (InlineFormattingState.prototype.lines):
877 (InlineFormattingState.prototype.appendLine):
879 2018-03-21 Ms2ger <Ms2ger@igalia.com>
881 [WPE] Disable most of TestWebKitFaviconDatabase.
882 https://bugs.webkit.org/show_bug.cgi?id=183813
884 Unreviewed test gardening.
886 The relevant APIs were mostly removed in r223953, making this test
887 time out consistently.
889 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
891 2018-03-21 Carlos Garcia Campos <cgarcia@igalia.com>
893 [GTK][WPE] JSC bindings not introspectable
894 https://bugs.webkit.org/show_bug.cgi?id=136989
896 Reviewed by Michael Catanzaro.
898 Use the new API instead of the deprecated one.
900 * MiniBrowser/gtk/main.c:
901 (aboutDataScriptMessageReceivedCallback):
902 * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
903 (WebKitFrameTest::testJavaScriptContext):
904 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
905 (testWebViewRunJavaScript):
906 * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
907 (consoleMessageSentCallback):
909 (windowObjectCleared):
910 (methodCallCallback):
911 * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
913 (webProcessTestRunnerFinalize):
914 (windowObjectClearedCallback):
915 * TestWebKitAPI/glib/PlatformGTK.cmake:
916 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
917 (WebViewTest::javascriptResultToCString):
918 (WebViewTest::javascriptResultToNumber):
919 (WebViewTest::javascriptResultToBoolean):
920 (WebViewTest::javascriptResultIsNull):
921 (WebViewTest::javascriptResultIsUndefined):
923 2018-03-21 Carlos Garcia Campos <cgarcia@igalia.com>
925 [GTK][WPE] Initial implementation of JavaScriptCore glib bindings
926 https://bugs.webkit.org/show_bug.cgi?id=164061
928 Reviewed by Michael Catanzaro.
930 Add unit tests for the new API and generate the API documentation with generate-gtkdoc.
932 * Scripts/webkitpy/style/checker.py: Ignore some style errors in public GLib API headers.
933 * TestWebKitAPI/PlatformGTK.cmake:
934 * TestWebKitAPI/PlatformWPE.cmake:
935 * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added.
936 (LeakChecker::~LeakChecker):
937 (LeakChecker::watch):
938 (ExceptionHandler::ExceptionHandler):
939 (ExceptionHandler::~ExceptionHandler):
940 (ExceptionHandler::push):
941 (ExceptionHandler::pop):
942 (jscContextGarbageCollect):
947 (doubleAndSetInResult):
960 (getMultiplyFooAsync):
972 (testJSCGarbageCollector):
973 (testsJSCVirtualMachine):
974 (testsJSCAutocleanups):
976 * gtk/generate-gtkdoc:
977 (get_generator_for_config):
979 2018-03-20 Tim Horton <timothy_horton@apple.com>
981 Enable the minimal simulator feature flag when appropriate
982 https://bugs.webkit.org/show_bug.cgi?id=183807
984 Reviewed by Dan Bernstein.
986 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
988 2018-03-20 Zalan Bujtas <zalan@apple.com>
990 [LayoutReloaded] Disconnect Display.Box from Layout.Box
991 https://bugs.webkit.org/show_bug.cgi?id=183805
993 Reviewed by Antti Koivisto.
995 Display.Box is only accessed through the FormattingState.
997 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
998 (BlockFormattingContext):
999 (BlockFormattingContext.prototype.layout):
1000 (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1001 (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1002 (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1003 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1004 * LayoutReloaded/FormattingContext/FormattingContext.js:
1005 (FormattingContext):
1006 (FormattingContext.prototype.formattingRoot):
1007 (FormattingContext.prototype.formattingState):
1008 (FormattingContext.prototype.layoutState):
1009 (FormattingContext.prototype._toAbsolutePosition):
1010 (FormattingContext.prototype._toRootAbsolutePosition):
1011 (FormattingContext.prototype._addToLayoutQueue):
1012 (FormattingContext.prototype.displayBox):
1013 (FormattingContext.prototype._outOfFlowDescendants):
1014 (FormattingContext.prototype.rootContainer): Deleted.
1015 (FormattingContext.prototype.layoutContext): Deleted.
1016 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1017 (InlineFormattingContext):
1018 (InlineFormattingContext.prototype.layout):
1019 (InlineFormattingContext.prototype._initializeLine):
1020 * LayoutReloaded/FormattingState/BlockFormattingState.js:
1021 (BlockFormattingState):
1022 * LayoutReloaded/FormattingState/FormattingState.js:
1024 (FormattingState.prototype.formattingRoot):
1025 (FormattingState.prototype.layoutState):
1026 (FormattingState.prototype.createDisplayBox):
1027 (FormattingState.prototype.displayBoxMap):
1028 (FormattingState.prototype.displayBox):
1029 (FormattingState.prototype.layoutContext): Deleted.
1030 * LayoutReloaded/FormattingState/InlineFormattingState.js:
1031 (InlineFormattingState):
1032 * LayoutReloaded/Layout.js:
1034 * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1035 * LayoutReloaded/LayoutState.js: Renamed from Tools/LayoutReloaded/LayoutContext.js.
1037 (LayoutState.prototype.layout):
1038 (LayoutState.prototype._createFormattingState):
1039 (LayoutState.prototype.formattingStates):
1040 (LayoutState.prototype.initialDisplayBox):
1041 * LayoutReloaded/LayoutTree/Box.js:
1042 (Layout.Box.prototype.isOutOfFlowPositioned):
1043 (Layout.Box.prototype.containingBlock):
1044 (Layout.Box.prototype.setDisplayBox): Deleted.
1045 (Layout.Box.prototype.displayBox): Deleted.
1046 * LayoutReloaded/Utils.js:
1047 (Utils.layoutTreeDump):
1048 (Utils._findDisplayBox):
1051 * LayoutReloaded/misc/headers/BlockFormattingContext.h:
1052 * LayoutReloaded/misc/headers/FormattingContext.h:
1053 * LayoutReloaded/misc/headers/LayoutContext.h:
1054 * LayoutReloaded/test/index.html:
1056 2018-03-19 Ryosuke Niwa <rniwa@webkit.org>
1058 Expose content attributes on _WKLinkIconParameters
1059 https://bugs.webkit.org/show_bug.cgi?id=183768
1061 Reviewed by Alex Christensen.
1063 Expanded the basic test case for _WKLinkIconParameters's properties including newly added "attributes".
1065 * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
1066 (IconLoading.DefaultFavicon):
1068 2018-03-20 Wenson Hsieh <wenson_hsieh@apple.com>
1070 Add AssistedNodeInformation plumbing for form control placeholder text and label text
1071 https://bugs.webkit.org/show_bug.cgi?id=183802
1072 <rdar://problem/38686273>
1074 Reviewed by Tim Horton.
1076 Adds a new API test to exercise new placeholder and label SPI on _WKFocusedFormElement.
1078 * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
1079 (-[InputDelegate _webView:focusShouldStartInputSession:]):
1080 (-[InputDelegate shouldStartInputSessionHandler]):
1081 (-[InputDelegate setShouldStartInputSessionHandler:]):
1083 (-[FormSubmissionDelegate webView:startURLSchemeTask:]): Deleted.
1084 (-[FormSubmissionDelegate webView:stopURLSchemeTask:]): Deleted.
1085 (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]): Deleted.
1087 2018-03-20 Basuke Suzuki <Basuke.Suzuki@sony.com>
1089 [WinCairo] Fix to run-webkit-httpd from native Windows.
1090 https://bugs.webkit.org/show_bug.cgi?id=183605
1092 Reviewed by Daniel Bates.
1094 This fix is to run Apache HTTP server from native Windows. The environment is different
1095 from cygwin, which is used for AppleWin, in following points:
1096 - A temporary file behaves differently. It cannot reopen by anybody when indicated as
1097 delete on close. To solve this situation, filesystem.mkdtemp() is used instead.
1098 - It's not unix so that `tail` command is not available. Replaced with python equivalent
1101 * Scripts/webkitpy/common/system/filesystem.py:
1102 (FileSystem.mkdtemp.TemporaryDirectory.__init__):
1103 (FileSystem.mkdtemp.TemporaryDirectory.__exit__): The existing contents would be deleted.
1104 (FileSystem.mkdtemp):
1105 * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1108 (run_server_with_log_file):
1111 2018-03-20 Brady Eidson <beidson@apple.com>
1113 First piece of process swapping on navigation.
1114 https://bugs.webkit.org/show_bug.cgi?id=183665
1116 Reviewed by Andy Estes.
1118 Expose the "swaps processes on navigation" setting in MiniBrowser UI for testing:
1120 * MiniBrowser/mac/AppDelegate.m:
1121 (defaultConfiguration):
1122 * MiniBrowser/mac/SettingsController.h:
1123 * MiniBrowser/mac/SettingsController.m:
1124 (-[SettingsController _populateMenu]):
1125 (-[SettingsController validateMenuItem:]):
1126 (-[SettingsController processSwapOnNavigationEnabled]):
1127 (-[SettingsController toggleProcessSwapOnNavigation:]):
1129 Makes sure the current behavior is tested:
1130 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1131 * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Added.
1132 (-[PSONNavigationDelegate webView:didFinishNavigation:]):
1133 (-[PSONScheme webView:startURLSchemeTask:]):
1134 (-[PSONScheme webView:stopURLSchemeTask:]):
1137 2018-03-20 Chris Dumez <cdumez@apple.com>
1139 QuickLook.NavigationDelegate API test is failing on iOS with async policy delegates
1140 https://bugs.webkit.org/show_bug.cgi?id=183791
1142 Reviewed by Alex Christensen.
1144 Add API test coverage.
1146 * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
1147 (-[QuickLookAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1148 (-[QuickLookAsyncNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]):
1149 (-[QuickLookAsyncNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
1150 (-[QuickLookAsyncNavigationDelegate webView:didFinishNavigation:]):
1153 2018-03-20 Tim Horton <timothy_horton@apple.com>
1155 Add and adopt WK_PLATFORM_NAME and adjust default feature defines
1156 https://bugs.webkit.org/show_bug.cgi?id=183758
1157 <rdar://problem/38017644>
1159 Reviewed by Dan Bernstein.
1161 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1163 2018-03-20 Chris Dumez <cdumez@apple.com>
1165 Unreviewed, rolling out r229726 and r229763.
1167 Caused some API test failures on iOS
1169 Reverted changesets:
1171 "Make policy decisions asynchronous"
1172 https://bugs.webkit.org/show_bug.cgi?id=180568
1173 https://trac.webkit.org/changeset/229726
1175 "Rebaseline three webarchive tests for WK2 after r229726."
1176 https://bugs.webkit.org/show_bug.cgi?id=180568
1177 https://trac.webkit.org/changeset/229763
1179 2018-03-20 Zalan Bujtas <zalan@apple.com>
1181 [LayoutReloaded] Move Display.Box handling from FormattingContext to FormattingState
1182 https://bugs.webkit.org/show_bug.cgi?id=183779
1184 Reviewed by Antti Koivisto.
1186 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1187 (BlockFormattingContext.prototype._computeStaticPosition):
1188 (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1189 (BlockFormattingContext.prototype._computeFloatingWidth):
1190 (BlockFormattingContext.prototype._computeInFlowWidth):
1191 (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1192 (BlockFormattingContext.prototype._computeFloatingHeight):
1193 (BlockFormattingContext.prototype._computeInFlowHeight):
1194 (BlockFormattingContext.prototype._horizontalConstraint):
1195 (BlockFormattingContext.prototype._contentHeight):
1196 (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1197 (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1198 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1199 * LayoutReloaded/FormattingContext/FloatingContext.js:
1200 (FloatingContext.prototype.computePosition):
1201 (FloatingContext.prototype._positionForClear):
1202 (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1203 (FloatingContext.prototype._availableSpace):
1204 (FloatingContext.prototype._adjustedFloatingPosition):
1205 * LayoutReloaded/FormattingContext/FormattingContext.js:
1206 (FormattingContext):
1207 (FormattingContext.prototype.absoluteMarginBox):
1208 (FormattingContext.prototype.absoluteBorderBox):
1209 (FormattingContext.prototype.absolutePaddingBox):
1210 (FormattingContext.prototype.absoluteContentBox):
1211 (FormattingContext.prototype._toAbsolutePosition):
1212 (FormattingContext.prototype._toRootAbsolutePosition):
1213 (FormattingContext.prototype._addToLayoutQueue):
1214 (FormattingContext.prototype.displayBox):
1215 (FormattingContext.prototype._createDisplayBox): Deleted.
1216 (FormattingContext.prototype.toDisplayBox): Deleted.
1217 (FormattingContext.prototype.toLayoutBox): Deleted.
1218 * LayoutReloaded/FormattingState/FormattingState.js:
1220 (FormattingState.prototype.createDisplayBox):
1221 (FormattingState.prototype.displayBox):
1223 2018-03-20 Zalan Bujtas <zalan@apple.com>
1225 [LayoutReloaded] Introduce FormattingState (Block/Inline/etc)
1226 https://bugs.webkit.org/show_bug.cgi?id=183777
1228 Reviewed by Antti Koivisto.
1230 This is in preparation for moving out states from the formatting contexts.
1232 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1233 (BlockFormattingContext):
1234 * LayoutReloaded/FormattingContext/FormattingContext.js:
1235 (FormattingContext):
1236 (FormattingContext.prototype.layoutState):
1237 (FormattingContext.prototype.layoutContext):
1238 (FormattingContext.prototype.layout):
1239 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1240 (InlineFormattingContext):
1241 * LayoutReloaded/FormattingState/BlockFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1242 (BlockFormattingState):
1243 * LayoutReloaded/FormattingState/FormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1245 (FormattingState.prototype.formattingContext):
1246 (FormattingState.prototype.layoutContext):
1247 (FormattingState.prototype._setFormattingContext):
1248 * LayoutReloaded/FormattingState/InlineFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1249 (InlineFormattingState):
1250 * LayoutReloaded/LayoutContext.js:
1252 (LayoutContext.prototype.layout):
1253 (LayoutContext.prototype._createFormattingState):
1254 (LayoutContext.prototype._createFormattingContext): Deleted.
1255 * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1256 * LayoutReloaded/test/index.html:
1258 2018-03-19 Zalan Bujtas <zalan@apple.com>
1260 [LayoutReloaded] Layout.Box should not create the formatting context.
1261 https://bugs.webkit.org/show_bug.cgi?id=183766
1263 Reviewed by Antti Koivisto.
1265 Since the formattingContext's lifetime is tied to the layout, the LayoutContext
1266 should construct it instead.
1268 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1269 (BlockFormattingContext):
1270 (BlockFormattingContext.prototype.layout):
1271 (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1272 (BlockFormattingContext.prototype._contentHeight):
1273 * LayoutReloaded/FormattingContext/FormattingContext.js:
1274 (FormattingContext):
1275 (FormattingContext.prototype.layoutContext):
1276 (FormattingContext.prototype.toDisplayBox):
1277 (FormattingContext.prototype._outOfFlowDescendants):
1278 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1279 (InlineFormattingContext):
1280 (InlineFormattingContext.prototype.layout):
1281 * LayoutReloaded/Layout.js:
1283 * LayoutReloaded/LayoutContext.js:
1284 (LayoutContext.prototype.layout):
1285 (LayoutContext.prototype._createFormattingContext):
1287 (LayoutContext.prototype.layoutFormattingContext): Deleted.
1288 * LayoutReloaded/LayoutTree/Box.js:
1290 (Layout.Box.prototype.establishedFormattingContext): Deleted.
1291 * LayoutReloaded/misc/headers/Box.h:
1293 2018-03-19 Chris Dumez <cdumez@apple.com>
1295 Have one service worker process per security origin
1296 https://bugs.webkit.org/show_bug.cgi?id=183600
1297 <rdar://problem/35280128>
1299 Reviewed by Brady Eidson.
1301 Add API test coverage.
1303 * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1305 2018-03-19 Zalan Bujtas <zalan@apple.com>
1307 [LayoutReloaded] Remove border/padding/contentBox() functions from Layout.Box
1308 https://bugs.webkit.org/show_bug.cgi?id=183761
1310 Reviewed by Antti Koivisto.
1312 Display.Box has them.
1314 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1315 (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1316 (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1317 (BlockFormattingContext.prototype._horizontalConstraint):
1318 (BlockFormattingContext.prototype._contentHeight):
1319 (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1320 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1321 * LayoutReloaded/FormattingContext/FloatingContext.js:
1322 (FloatingContext.prototype._availableSpace):
1323 * LayoutReloaded/FormattingContext/FormattingContext.js:
1324 (FormattingContext.prototype.absoluteBorderBox):
1325 (FormattingContext.prototype.absolutePaddingBox):
1326 (FormattingContext.prototype.absoluteContentBox):
1327 * LayoutReloaded/LayoutTree/Box.js:
1328 (Layout.Box.prototype.isDescendantOf):
1330 (Layout.Box.prototype.borderBox): Deleted.
1331 (Layout.Box.prototype.paddingBox): Deleted.
1332 (Layout.Box.prototype.contentBox): Deleted.
1334 2018-03-19 Jiewen Tan <jiewen_tan@apple.com>
1336 Unreviewed, another quick fix for r229699
1338 Restricts ENABLE_WEB_AUTHN to only macOS and iOS.
1340 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1341 * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
1343 2018-03-19 Zalan Bujtas <zalan@apple.com>
1345 [LayoutReloaded] Move statically positioned absolute box positioning to _computeOutOfFlowPosition
1346 https://bugs.webkit.org/show_bug.cgi?id=183750
1348 Reviewed by Antti Koivisto.
1350 * LayoutReloaded/DisplayTree/Box.js:
1351 (Display.Box.prototype.setTop):
1352 (Display.Box.prototype.paddingBox):
1353 (Display.Box.prototype.contentBox):
1355 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1356 (BlockFormattingContext.prototype._computeStaticPosition):
1357 (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1358 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1359 * LayoutReloaded/FormattingContext/FormattingContext.js:
1360 (FormattingContext.prototype.absoluteMarginBox):
1361 (FormattingContext.prototype.absoluteBorderBox):
1362 (FormattingContext.prototype.absolutePaddingBox):
1363 (FormattingContext.prototype.absoluteContentBox):
1364 (FormattingContext.prototype._toAbsolutePosition):
1365 (FormattingContext.prototype._toRootAbsolutePosition):
1366 (FormattingContext.prototype.toDisplayBox):
1367 * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
1368 (Layout.InitialBlockContainer.prototype.establishesBlockFormattingContext):
1369 (Layout.InitialBlockContainer):
1370 (Layout.InitialBlockContainer.prototype.paddingBox): Deleted.
1371 (Layout.InitialBlockContainer.prototype.contentBox): Deleted.
1372 * LayoutReloaded/Utils.js:
1373 (Utils.isStaticallyPositioned):
1375 2018-03-19 Chris Dumez <cdumez@apple.com>
1377 WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
1378 https://bugs.webkit.org/show_bug.cgi?id=183702
1379 <rdar://problem/38566060>
1381 Reviewed by Alex Christensen.
1383 Add API test coverage.
1385 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1386 (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1387 (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1388 (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
1391 2018-03-19 Daniel Bates <dabates@apple.com>
1393 test-webkitpy no longer runs WebKit2 tests
1394 https://bugs.webkit.org/show_bug.cgi?id=183724
1396 Reviewed by Alexey Proskuryakov.
1398 The WebKit2 tests have seen been moved from Source/WebKit2/Scripts/webkit2 to Source/WebKit/Scripts/webkit.
1400 * Scripts/webkitpy/test/main.py:
1403 2018-03-19 Daniel Bates <dabates@apple.com>
1405 Make run-webkit-app work for non-GUI apps
1406 https://bugs.webkit.org/show_bug.cgi?id=183701
1408 Reviewed by Lucas Forschler.
1410 Launch the app directly if it is an executable file. Otherwise, assume it is an app bundle
1411 and launch it using open(1) as we currently do.
1413 Note that open(1) is meant for launching GUI apps. Standard output and standard error are
1414 not sent to the tty when using open(1) to launch a non-GUI app.
1416 * Scripts/run-webkit-app: We make the assumption that
1417 * Scripts/webkitdirs.pm:
1418 - Define and export constant DO_NOT_USE_OPEN_COMMAND.
1420 2018-03-19 Daniel Bates <dabates@apple.com>
1422 run-webkit-app -g does not work
1423 https://bugs.webkit.org/show_bug.cgi?id=183699
1425 Reviewed by Lucas Forschler.
1427 Check for the optional command line argument -g/--guard-malloc before taking the
1428 first argument passed to be the path to the app to run.
1430 * Scripts/run-webkit-app:
1432 2018-03-18 Commit Queue <commit-queue@webkit.org>
1434 Unreviewed, rolling out r229689.
1435 https://bugs.webkit.org/show_bug.cgi?id=183735
1437 Causes fast/loader/inner-iframe-loads-data-url-into-parent-on-
1438 unload-crash.html to fail with async delegates (Requested by
1439 cdumez_ on #webkit).
1443 "WebKit.WebsitePoliciesAutoplayQuirks API test times out with
1444 async policy delegates"
1445 https://bugs.webkit.org/show_bug.cgi?id=183702
1446 https://trac.webkit.org/changeset/229689
1448 2018-03-18 Zalan Bujtas <zalan@apple.com>
1450 [LayoutReloaded] Remove left/right width/height getters from Layout.Box
1451 https://bugs.webkit.org/show_bug.cgi?id=183734
1453 Reviewed by Antti Koivisto.
1455 ...and use Display.Box instead.
1457 * LayoutReloaded/DisplayTree/Box.js:
1458 (Display.Box.prototype.bottomRight):
1459 (Display.Box.prototype.size):
1460 (Display.Box.prototype.height):
1461 (Display.Box.prototype.width):
1462 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1463 (BlockFormattingContext.prototype._computeStaticPosition):
1464 (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1465 (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1466 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1467 * LayoutReloaded/FormattingContext/FloatingContext.js:
1468 (FloatingContext.prototype._positionForClear):
1469 (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1470 (FloatingContext.prototype._adjustedFloatingPosition):
1471 * LayoutReloaded/FormattingContext/FormattingContext.js:
1472 (FormattingContext.prototype.absoluteMarginBox):
1473 (FormattingContext.prototype.absoluteBorderBox):
1474 (FormattingContext.prototype.absolutePaddingBox):
1475 (FormattingContext.prototype.absoluteContentBox):
1476 (FormattingContext.prototype._toAbsolutePosition):
1477 (FormattingContext.prototype._toRootAbsolutePosition):
1478 * LayoutReloaded/LayoutTree/Box.js:
1479 (Layout.Box.prototype.rect): Deleted.
1480 (Layout.Box.prototype.topLeft): Deleted.
1481 (Layout.Box.prototype.bottomRight): Deleted.
1482 * LayoutReloaded/Utils.js:
1484 (Utils.mapToContainer): Deleted.
1486 2018-03-18 Zalan Bujtas <zalan@apple.com>
1488 [LayoutReloaded] Remove left/right width/height setters from Layout.Box
1489 https://bugs.webkit.org/show_bug.cgi?id=183731
1491 Reviewed by Antti Koivisto.
1493 ...and use Display.Box instead.
1495 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1496 (BlockFormattingContext.prototype._computeStaticPosition):
1497 (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1498 (BlockFormattingContext.prototype._computeFloatingWidth):
1499 (BlockFormattingContext.prototype._computeInFlowWidth):
1500 (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1501 (BlockFormattingContext.prototype._computeFloatingHeight):
1502 (BlockFormattingContext.prototype._computeInFlowHeight):
1503 (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1504 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1505 * LayoutReloaded/FormattingContext/FloatingContext.js:
1506 (FloatingContext.prototype.computePosition):
1507 * LayoutReloaded/FormattingContext/FormattingContext.js:
1508 (FormattingContext.prototype._toDisplayBox):
1509 (FormattingContext.prototype._toLayoutBox):
1510 * LayoutReloaded/Layout.js:
1512 * LayoutReloaded/LayoutTree/Box.js:
1513 (Layout.Box.prototype.setTopLeft): Deleted.
1514 (Layout.Box.prototype.setSize): Deleted.
1515 (Layout.Box.prototype.setWidth): Deleted.
1516 (Layout.Box.prototype.setHeight): Deleted.
1518 2018-03-18 Zalan Bujtas <zalan@apple.com>
1520 [LayoutReloaded] Collect out-of-flow positioned boxes for a given formatting context.
1521 https://bugs.webkit.org/show_bug.cgi?id=183730
1523 Reviewed by Antti Koivisto.
1525 Collect and layout out-of-flow positioned boxes as the final step of the formatting context layout.
1527 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1528 (BlockFormattingContext.prototype.layout):
1529 (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1530 (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1531 (BlockFormattingContext.prototype._placePositionedDescendants): Deleted.
1532 (BlockFormattingContext.prototype._placeOutOfFlowDescendants): Deleted.
1533 * LayoutReloaded/FormattingContext/FormattingContext.js:
1534 (FormattingContext.prototype._toAbsolutePosition):
1535 (FormattingContext.prototype._outOfFlowDescendants):
1536 (FormattingContext):
1537 * LayoutReloaded/LayoutTree/Box.js:
1538 (Layout.Box.prototype.nextInFlowOrFloatSibling):
1539 (Layout.Box.prototype.isDescendantOf):
1540 * LayoutReloaded/LayoutTree/Container.js:
1541 (Layout.Container.prototype.firstInFlowOrFloatChild):
1542 (Layout.Container.prototype.hasInFlowOrFloatChild):
1543 (Layout.Container.prototype.outOfFlowDescendants):
1545 * LayoutReloaded/Utils.js:
1546 (Utils.isDescendantOf): Deleted.
1547 (Utils.collectOutOfFlowDescendants): Deleted.
1549 2018-03-17 Jiewen Tan <jiewen_tan@apple.com>
1551 [WebAuthN] Implement authenticatorMakeCredential
1552 https://bugs.webkit.org/show_bug.cgi?id=183527
1553 <rdar://problem/35275886>
1555 Reviewed by Brent Fulgham.
1557 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1558 * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Added.
1559 (TestWebKitAPI::getTestKey):
1560 (TestWebKitAPI::cleanUpKeychain):
1561 (TestWebKitAPI::LACantEvaluatePolicySwizzler::LACantEvaluatePolicySwizzler):
1562 (TestWebKitAPI::LACantEvaluatePolicySwizzler::cantEvaluatePolicy):
1563 (TestWebKitAPI::LACanEvaluatePolicySwizzler::LACanEvaluatePolicySwizzler):
1564 (TestWebKitAPI::LACanEvaluatePolicySwizzler::canEvaluatePolicy):
1565 (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::LAEvaluatePolicyFailedSwizzler):
1566 (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
1567 (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::LAEvaluatePolicyPassedSwizzler):
1568 (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
1569 (TestWebKitAPI::TestLocalAuthenticator::setFailureFlag):
1570 (TestWebKitAPI::TEST):
1572 2018-03-17 Zalan Bujtas <zalan@apple.com>
1574 [LayoutReloaded] BlockFormattingContext::placePositionedDescendants takes care of both in- and out-of-flow placement
1575 https://bugs.webkit.org/show_bug.cgi?id=183727
1577 Reviewed by Antti Koivisto.
1579 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1580 (BlockFormattingContext.prototype.layout):
1581 (BlockFormattingContext.prototype._placePositionedDescendants):
1582 (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1583 (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
1584 * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
1585 * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html: Added.
1586 * LayoutReloaded/test/index.html:
1587 * LayoutReloaded/test/relative-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
1589 2018-03-17 Zalan Bujtas <zalan@apple.com>
1591 [LayoutReloaded] Ensure that positioning happens within the formatting context
1592 https://bugs.webkit.org/show_bug.cgi?id=183722
1594 Reviewed by Antti Koivisto.
1596 All sizing and positioning need to happen in the formatting context that the box lives in
1597 including the final position of in- and out-of-flow descendants.
1599 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1600 (BlockFormattingContext.prototype.layout):
1601 (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1602 * LayoutReloaded/LayoutTree/Box.js:
1603 (Layout.Box.prototype.establishesBlockFormattingContext):
1604 (Layout.Box.prototype.isPositioned):
1605 (Layout.Box.prototype.isRelativelyPositioned):
1606 (Layout.Box.prototype.isAbsolutelyPositioned):
1607 (Layout.Box.prototype.isOutOfFlowPositioned):
1608 (Layout.Box.prototype.containingBlock):
1609 (Layout.Box.prototype.isRelativePositioned): Deleted.
1610 (Layout.Box.prototype.isAbsolutePositioned): Deleted.
1611 * LayoutReloaded/Utils.js:
1612 (Utils.isRelativelyPositioned):
1613 (Utils.isAbsolutelyPositioned):
1614 (Utils.isRelativePositioned): Deleted.
1615 (Utils.isAbsolutePositioned): Deleted.
1616 * LayoutReloaded/misc/headers/Box.h:
1618 2018-03-16 Wenson Hsieh <wenson_hsieh@apple.com>
1620 Unreviewed, rolling out r229688.
1622 There's a solution that doesn't require this SPI.
1626 "Add SPI to expose width and height anchors for WKWebView's
1628 https://bugs.webkit.org/show_bug.cgi?id=183711
1629 https://trac.webkit.org/changeset/229688
1631 2018-03-16 Zalan Bujtas <zalan@apple.com>
1633 [LayoutReloaded] Move move functions to the base class from BlockFormattingContext
1634 https://bugs.webkit.org/show_bug.cgi?id=183719
1636 Reviewed by Antti Koivisto.
1638 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1639 (BlockFormattingContext):
1640 (BlockFormattingContext.prototype.layout):
1641 (BlockFormattingContext.prototype._shrinkToFitWidth):
1642 (BlockFormattingContext.prototype._toAbsolutePosition): Deleted.
1643 (BlockFormattingContext.prototype._needsLayout): Deleted.
1644 (BlockFormattingContext.prototype._addToLayoutQueue): Deleted.
1645 (BlockFormattingContext.prototype._nextInLayoutQueue): Deleted.
1646 (BlockFormattingContext.prototype._removeFromLayoutQueue): Deleted.
1647 (BlockFormattingContext.prototype._createDisplayBox): Deleted.
1648 (BlockFormattingContext.prototype._toDisplayBox): Deleted.
1649 (BlockFormattingContext.prototype._toLayoutBox): Deleted.
1650 * LayoutReloaded/FormattingContext/FormattingContext.js:
1651 (FormattingContext):
1652 (FormattingContext.prototype._toAbsolutePosition):
1653 (FormattingContext.prototype._descendantNeedsLayout):
1654 (FormattingContext.prototype._addToLayoutQueue):
1655 (FormattingContext.prototype._nextInLayoutQueue):
1656 (FormattingContext.prototype._removeFromLayoutQueue):
1657 (FormattingContext.prototype._createDisplayBox):
1658 (FormattingContext.prototype._toDisplayBox):
1659 (FormattingContext.prototype._toLayoutBox):
1660 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1661 (InlineFormattingContext.prototype.layout):
1663 2018-03-16 Chris Dumez <cdumez@apple.com>
1665 WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
1666 https://bugs.webkit.org/show_bug.cgi?id=183702
1668 Reviewed by Alex Christensen.
1670 Add API test coverage.
1672 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1673 (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1674 (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1675 (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
1678 2018-03-16 Wenson Hsieh <wenson_hsieh@apple.com>
1680 Add SPI to expose width and height anchors for WKWebView's content view
1681 https://bugs.webkit.org/show_bug.cgi?id=183711
1682 <rdar://problem/38562899>
1684 Reviewed by Tim Horton.
1686 Adds an API test exercising the new SPI.
1688 * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
1692 2018-03-16 Chris Dumez <cdumez@apple.com>
1694 WebKit.RestoreSessionStateContainingScrollRestorationDefault API test is failing with async policy delegates
1695 https://bugs.webkit.org/show_bug.cgi?id=183679
1697 Reviewed by Alex Christensen.
1699 Add API test coverage.
1701 * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
1702 (TestWebKitAPI::decidePolicyForNavigationAction):
1703 (TestWebKitAPI::decidePolicyForResponse):
1704 (TestWebKitAPI::TEST):
1706 2018-03-16 Zalan Bujtas <zalan@apple.com>
1708 [LayoutReloaded] Introduce Display.Box
1709 https://bugs.webkit.org/show_bug.cgi?id=183700
1711 Reviewed by Antti Koivisto.
1713 Display.Box objects will end up in the display(box) tree. Currently
1714 they are just hanging off of the Layout.Box objects.
1716 * LayoutReloaded/DisplayTree/Box.js: Added.
1718 (Display.Box.prototype.rect):
1719 (Display.Box.prototype.top):
1720 (Display.Box.prototype.left):
1721 (Display.Box.prototype.bottom):
1722 (Display.Box.prototype.right):
1723 (Display.Box.prototype.topLeft):
1724 (Display.Box.prototype.bottomRight):
1725 (Display.Box.prototype.setTopLeft):
1726 (Display.Box.prototype.setSize):
1727 (Display.Box.prototype.setWidth):
1728 (Display.Box.prototype.setHeight):
1729 (Display.Box.prototype.borderBox):
1730 (Display.Box.prototype.paddingBox):
1731 (Display.Box.prototype.contentBox):
1732 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1733 (BlockFormattingContext):
1734 (BlockFormattingContext.prototype.layout):
1735 (BlockFormattingContext.prototype._toAbsolutePosition):
1736 (BlockFormattingContext.prototype._needsLayout):
1737 (BlockFormattingContext.prototype._addToLayoutQueue):
1738 (BlockFormattingContext.prototype._nextInLayoutQueue):
1739 (BlockFormattingContext.prototype._removeFromLayoutQueue):
1740 (BlockFormattingContext.prototype._createDisplayBox):
1741 (BlockFormattingContext.prototype._toDisplayBox):
1742 (BlockFormattingContext.prototype._toLayoutBox):
1743 * LayoutReloaded/Layout.js:
1745 * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1746 * LayoutReloaded/LayoutTree/Box.js:
1748 (Layout.Box.prototype.setDisplayBox):
1749 (Layout.Box.prototype.displayBox):
1750 (Layout.Box.prototype.rect):
1751 (Layout.Box.prototype.setTopLeft):
1752 (Layout.Box.prototype.setSize):
1753 (Layout.Box.prototype.setWidth):
1754 (Layout.Box.prototype.setHeight):
1755 (Layout.Box.prototype.borderBox):
1756 (Layout.Box.prototype.paddingBox):
1757 (Layout.Box.prototype.contentBox):
1758 * LayoutReloaded/test/index.html:
1760 2018-03-16 Chris Dumez <cdumez@apple.com>
1762 URLSchemeHandler.Basic API test fails with async policy delegates
1763 https://bugs.webkit.org/show_bug.cgi?id=183678
1765 Reviewed by Alex Christensen.
1767 Add API test coverage.
1769 * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
1770 (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1771 (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1774 2018-03-16 Zalan Bujtas <zalan@apple.com>
1776 [LayoutReloaded] Utils.computed* functions should just take node instead of box.
1777 https://bugs.webkit.org/show_bug.cgi?id=183697
1779 Reviewed by Antti Koivisto.
1781 This is in preparation for introducing the display tree.
1783 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1784 (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1785 (BlockFormattingContext.prototype._computeFloatingWidth):
1786 (BlockFormattingContext.prototype._computeInFlowWidth):
1787 (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1788 (BlockFormattingContext.prototype._computeFloatingHeight):
1789 (BlockFormattingContext.prototype._computeInFlowHeight):
1790 (BlockFormattingContext.prototype._shrinkToFitWidth):
1791 * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
1792 (BlockMarginCollapse._nonCollapsedMarginTop):
1793 (BlockMarginCollapse._nonCollapsedMarginBottom):
1794 (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
1795 (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
1796 * LayoutReloaded/FormattingContext/FormattingContext.js:
1797 (FormattingContext.prototype.marginTop):
1798 (FormattingContext.prototype.marginLeft):
1799 (FormattingContext.prototype.marginBottom):
1800 (FormattingContext.prototype.marginRight):
1801 * LayoutReloaded/LayoutTree/Box.js:
1802 (Layout.Box.prototype.paddingBox):
1803 (Layout.Box.prototype.contentBox):
1805 * LayoutReloaded/Utils.js:
1806 (Utils.computedMarginTop):
1807 (Utils.computedMarginLeft):
1808 (Utils.computedMarginBottom):
1809 (Utils.computedMarginRight):
1810 (Utils.computedBorderTopLeft):
1811 (Utils.computedBorderBottomRight):
1812 (Utils.computedPaddingTopLeft):
1813 (Utils.computedPaddingBottomRight):
1814 (Utils.computedBorderAndPaddingTop):
1815 (Utils.computedBorderAndPaddingLeft):
1816 (Utils.computedBorderAndPaddingBottom):
1817 (Utils.computedBorderAndPaddingRight):
1818 (Utils.computedHorizontalBorderAndPadding):
1819 (Utils.computedVerticalBorderAndPadding):
1820 (Utils.computedLineHeight):
1821 (Utils.hasClearLeft):
1822 (Utils.hasClearRight):
1823 (Utils.hasClearBoth):
1825 2018-03-15 Zalan Bujtas <zalan@apple.com>
1827 [LayoutReloaded] Should never need to go beyond the root container when asking for the containing block.
1828 https://bugs.webkit.org/show_bug.cgi?id=183691
1830 Reviewed by Antti Koivisto.
1832 While laying out the boxes in a block formatting context, if we happen to need
1833 to get to the containing block of a box to compute geometry, it should always be a
1834 descendant of the root container (or the root container itself).
1835 Nothing outside of the formatting context should be able to impact the boxes inside.
1837 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1838 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1839 (BlockFormattingContext.prototype._toAbsolutePosition):
1840 (BlockFormattingContext):
1841 * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
1842 (BlockMarginCollapse._isMarginTopCollapsedWithParent):
1843 (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
1844 * LayoutReloaded/LayoutTree/Box.js:
1845 (Layout.Box.prototype.isRootBox):
1846 (Layout.Box.prototype.isRootElement): Deleted.
1847 * LayoutReloaded/Utils.js:
1848 (Utils.isDescendantOf):
1849 (Utils.mapStaticToAbsolute): Deleted.
1850 * LayoutReloaded/misc/headers/Box.h:
1852 2018-03-15 Wenson Hsieh <wenson_hsieh@apple.com>
1854 [iOS WK2] Hit-testing fails when specifying a large top content inset
1855 https://bugs.webkit.org/show_bug.cgi?id=183648
1856 <rdar://problem/38421894>
1858 Reviewed by Tim Horton.
1860 Adds four new API tests to verify that adding top or bottom content insets to the WKWebView's scroll view does
1861 not cause the DOMWindow's innerHeight to shrink. Currently, doing so would cause the innerHeight to be reported
1862 as (viewHeight - inset.top) or (viewHeight - inset.bottom).
1864 See WebKit ChangeLog for more details.
1866 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1867 * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: Added.
1868 (TestWebKitAPI::TEST):
1870 2018-03-15 Aakash Jain <aakash_jain@apple.com>
1872 Add unit-test for NetworkTransaction URLError handling
1873 https://bugs.webkit.org/show_bug.cgi?id=183664
1875 Reviewed by Alexey Proskuryakov.
1877 * Scripts/webkitpy/common/net/networktransaction_unittest.py:
1878 (NetworkTransactionTest._raise_URLError): Method to raise URLError.
1879 (NetworkTransactionTest.test_retry_on_HTTPError): Renamed from test_retry.
1880 (NetworkTransactionTest.test_retry_on_URLError): unit-test for testing URLError handling.
1882 2018-03-15 Aakash Jain <aakash_jain@apple.com>
1884 EWS should print the URL in logs on URLError
1885 https://bugs.webkit.org/show_bug.cgi?id=183651
1887 Reviewed by Alexey Proskuryakov.
1889 * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
1890 (Bugzilla.open_url): Pass the url.
1891 * Scripts/webkitpy/common/net/networktransaction.py:
1892 (NetworkTransaction.run): Accept optional url parameter and print it on URLError.
1894 2018-03-15 Zalan Bujtas <zalan@apple.com>
1896 [LayoutReloaded] Introduce Layout namespace
1897 https://bugs.webkit.org/show_bug.cgi?id=183659
1899 Reviewed by Antti Koivisto.
1901 This is in preparation for introducing the display tree.
1904 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1905 (BlockFormattingContext.prototype.layout):
1906 (BlockFormattingContext.prototype.computeWidth):
1907 (BlockFormattingContext.prototype.computeHeight):
1908 (BlockFormattingContext.prototype.marginTop):
1909 (BlockFormattingContext.prototype.marginBottom):
1910 (BlockFormattingContext.prototype._computeStaticPosition):
1911 (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1912 (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
1913 (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1914 (BlockFormattingContext.prototype._computeFloatingWidth):
1915 (BlockFormattingContext.prototype._computeInFlowWidth):
1916 (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1917 (BlockFormattingContext.prototype._computeFloatingHeight):
1918 (BlockFormattingContext.prototype._computeInFlowHeight):
1919 (BlockFormattingContext.prototype._horizontalConstraint):
1920 (BlockFormattingContext.prototype._contentHeight):
1921 (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1922 (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1923 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1924 (BlockFormattingContext.prototype._shrinkToFitWidth):
1925 (BlockFormattingContext):
1926 (BlockFormattingContext.prototype._computeHorizontalConstraint): Deleted.
1927 (BlockFormattingContext.prototype._computeContentHeight): Deleted.
1928 * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
1929 (BlockMarginCollapse.marginTop):
1930 (BlockMarginCollapse.marginBottom):
1931 (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
1932 (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
1933 (BlockMarginCollapse._isMarginTopCollapsedWithParent):
1934 (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
1935 (BlockMarginCollapse._nonCollapsedMarginTop):
1936 (BlockMarginCollapse._nonCollapsedMarginBottom):
1937 (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
1938 (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
1939 (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
1940 (BlockMarginCollapse):
1941 * LayoutReloaded/FormattingContext/FloatingContext.js:
1942 (FloatingContext.prototype.computePosition):
1943 (FloatingContext.prototype._positionForClear):
1944 (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1945 * LayoutReloaded/FormattingContext/FormattingContext.js:
1946 (FormattingContext.prototype.computeWidth):
1947 (FormattingContext.prototype.computeHeight):
1948 (FormattingContext.prototype.marginTop):
1949 (FormattingContext.prototype.marginLeft):
1950 (FormattingContext.prototype.marginBottom):
1951 (FormattingContext.prototype.marginRight):
1952 (FormattingContext.prototype.absoluteMarginBox):
1953 (FormattingContext.prototype.absoluteBorderBox):
1954 (FormattingContext.prototype.absolutePaddingBox):
1955 (FormattingContext.prototype.absoluteContentBox):
1956 (FormattingContext):
1957 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1958 (InlineFormattingContext.prototype.layout):
1959 * LayoutReloaded/LayoutTree/BlockContainer.js:
1960 (BlockContainer): Deleted.
1961 (BlockContainer.prototype.establishesInlineFormattingContext): Deleted.
1962 * LayoutReloaded/LayoutTree/Box.js:
1964 (Box.prototype.id): Deleted.
1965 (Box.prototype.setRendererName): Deleted.
1966 (Box.prototype.name): Deleted.
1967 (Box.prototype.node): Deleted.
1968 (Box.prototype.parent): Deleted.
1969 (Box.prototype.nextSibling): Deleted.
1970 (Box.prototype.nextInFlowSibling): Deleted.
1971 (Box.prototype.previousSibling): Deleted.
1972 (Box.prototype.previousInFlowSibling): Deleted.
1973 (Box.prototype.setParent): Deleted.
1974 (Box.prototype.setNextSibling): Deleted.
1975 (Box.prototype.setPreviousSibling): Deleted.
1976 (Box.prototype.rect): Deleted.
1977 (Box.prototype.topLeft): Deleted.
1978 (Box.prototype.bottomRight): Deleted.
1979 (Box.prototype.setTopLeft): Deleted.
1980 (Box.prototype.setSize): Deleted.
1981 (Box.prototype.setWidth): Deleted.
1982 (Box.prototype.setHeight): Deleted.
1983 (Box.prototype.isContainer): Deleted.
1984 (Box.prototype.isBlockLevelBox): Deleted.
1985 (Box.prototype.isBlockContainerBox): Deleted.
1986 (Box.prototype.isInlineLevelBox): Deleted.
1987 (Box.prototype.setIsAnonymous): Deleted.
1988 (Box.prototype.isAnonymous): Deleted.
1989 (Box.prototype.establishesFormattingContext): Deleted.
1990 (Box.prototype.establishedFormattingContext): Deleted.
1991 (Box.prototype.establishesBlockFormattingContext): Deleted.
1992 (Box.prototype.establishesInlineFormattingContext): Deleted.
1993 (Box.prototype.isPositioned): Deleted.
1994 (Box.prototype.isRelativePositioned): Deleted.
1995 (Box.prototype.isAbsolutePositioned): Deleted.
1996 (Box.prototype.isFixedPositioned): Deleted.
1997 (Box.prototype.isInFlow): Deleted.
1998 (Box.prototype.isOutOfFlowPositioned): Deleted.
1999 (Box.prototype.isInFlowPositioned): Deleted.
2000 (Box.prototype.isFloatingPositioned): Deleted.
2001 (Box.prototype.isFloatingOrOutOfFlowPositioned): Deleted.
2002 (Box.prototype.isRootElement): Deleted.
2003 (Box.prototype.containingBlock): Deleted.
2004 (Box.prototype.borderBox): Deleted.
2005 (Box.prototype.paddingBox): Deleted.
2006 (Box.prototype.contentBox): Deleted.
2007 * LayoutReloaded/LayoutTree/Container.js:
2008 (Container): Deleted.
2009 (Container.prototype.isContainer): Deleted.
2010 (Container.prototype.setFirstChild): Deleted.
2011 (Container.prototype.setLastChild): Deleted.
2012 (Container.prototype.firstChild): Deleted.
2013 (Container.prototype.firstInFlowChild): Deleted.
2014 (Container.prototype.lastChild): Deleted.
2015 (Container.prototype.lastInFlowChild): Deleted.
2016 (Container.prototype.hasChild): Deleted.
2017 (Container.prototype.hasInFlowChild): Deleted.
2018 * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
2019 (InitialBlockContainer): Deleted.
2020 (InitialBlockContainer.prototype.establishesBlockFormattingContext): Deleted.
2021 (InitialBlockContainer.prototype.paddingBox): Deleted.
2022 (InitialBlockContainer.prototype.contentBox): Deleted.
2023 * LayoutReloaded/LayoutTree/InlineBox.js:
2024 (InlineBox): Deleted.
2025 (InlineBox.prototype.setText): Deleted.
2026 (InlineBox.prototype.text): Deleted.
2027 * LayoutReloaded/TreeBuilder.js:
2028 (TreeBuilder.prototype.createTree):
2029 (TreeBuilder.prototype._createAndAttachBox):
2030 * LayoutReloaded/Utils.js:
2033 2018-03-14 Chris Fleizach <cfleizach@apple.com>
2035 AX: Implement accessible dismiss action on iOS
2036 https://bugs.webkit.org/show_bug.cgi?id=183352
2037 <rdar://problem/38161500>
2039 Reviewed by Zalan Bujtas.
2041 * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
2042 (WTR::AccessibilityUIElement::dismiss const):
2043 * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2044 * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
2045 * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2046 (WTR::AccessibilityUIElement::dismiss):
2048 2018-03-14 Youenn Fablet <youenn@apple.com>
2050 Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
2051 https://bugs.webkit.org/show_bug.cgi?id=183481
2053 Reviewed by Eric Carlson.
2055 * Scripts/webkitpy/style/checker.py: Do not check style.
2057 2018-03-14 Brendan McLoughlin <brendan@bocoup.com>
2059 Add label on github when exporting wpt tests to w3c/web-platform-test repo
2060 https://bugs.webkit.org/show_bug.cgi?id=183575
2062 Reviewed by Youenn Fablet.
2064 * Scripts/webkitpy/w3c/test_exporter.py:
2065 (TestExporter.make_pull_request):
2067 * Scripts/webkitpy/w3c/test_exporter_unittest.py:
2068 (TestExporterTest.test_export):
2070 2018-03-14 Zalan Bujtas <zalan@apple.com>
2072 [LayoutReloaded] Add InlineBox dump
2073 https://bugs.webkit.org/show_bug.cgi?id=183625
2075 Reviewed by Antti Koivisto.
2077 Right now line boxes live off of the inline formatting context but that's temporary and
2078 they will be moved over to the BoxTree.
2080 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2081 (BlockFormattingContext.prototype._computeContentHeight):
2082 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2083 (InlineFormattingContext):
2084 (InlineFormattingContext.prototype.lines):
2085 (InlineFormattingContext.prototype.layout):
2086 (InlineFormattingContext.prototype._handleText):
2087 (InlineFormattingContext.prototype._commitLine):
2088 (InlineFormattingContext.prototype._initializeLine):
2089 * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2091 (Line.prototype.isEmpty):
2092 (Line.prototype.rect):
2093 (Line.prototype.lineBoxes):
2094 (Line.prototype.addLineBox):
2095 (Line.prototype.appendFragment): Deleted.
2096 * LayoutReloaded/README.md:
2097 * LayoutReloaded/Utils.js:
2098 (Utils.computedLineHeight):
2099 (Utils.isBlockContainerElement):
2102 (Utils._dumpLines.):
2105 (Utils.precisionRound):
2107 * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
2108 * LayoutReloaded/test/index.html:
2110 2018-03-14 Tim Horton <timothy_horton@apple.com>
2112 Fix the build after r229567
2114 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2116 2018-03-13 Jer Noble <jer.noble@apple.com>
2118 [iOS] Muted media playback can interrupt out-of-process audio
2119 https://bugs.webkit.org/show_bug.cgi?id=183606
2120 <rdar://problem/37466253>
2122 Reviewed by Eric Carlson.
2124 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2125 * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
2126 (TestWebKitAPI::TEST):
2127 * TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-paused-audio-and-playing-muted.html: Added.
2129 2018-03-13 Ross Kirsling <ross.kirsling@sony.com>
2131 [Win] Layout Test fast/html/menuitem-element.html is failing.
2132 https://bugs.webkit.org/show_bug.cgi?id=179299
2134 Reviewed by Per Arne Vollan.
2136 * DumpRenderTree/win/DumpRenderTree.cpp:
2137 (setWebPreferencesForTestOptions):
2138 Recognize test option "enableMenuItemElement".
2140 2018-03-12 Tim Horton <timothy_horton@apple.com>
2142 Stop using SDK conditionals to control feature definitions
2143 https://bugs.webkit.org/show_bug.cgi?id=183430
2144 <rdar://problem/38251619>
2146 Reviewed by Dan Bernstein.
2148 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2149 * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Renamed.
2151 2018-03-12 Ross Kirsling <ross.kirsling@sony.com>
2153 [DRT] TestOptions should not be ObjC.
2154 https://bugs.webkit.org/show_bug.cgi?id=183487
2156 Reviewed by Per Arne Vollan.
2158 * DumpRenderTree/CMakeLists.txt:
2159 * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2160 * DumpRenderTree/PlatformMac.cmake:
2161 Move TestOptions to platform-agnostic sources.
2163 * DumpRenderTree/TestOptions.h:
2164 * DumpRenderTree/TestOptions.cpp: Renamed from Tools/DumpRenderTree/TestOptions.mm.
2165 * DumpRenderTree/mac/DumpRenderTree.mm:
2166 Remove NSURL dependency and align with WTR as much as possible.
2168 * DumpRenderTree/win/DumpRenderTree.cpp:
2169 Consume TestOptions (recognizing just the ones that have WebPreferences defined for now).
2171 2018-03-12 Yoav Weiss <yoav@yoav.ws>
2173 Runtime flag for link prefetch and remove link subresource.
2174 https://bugs.webkit.org/show_bug.cgi?id=183540
2176 Reviewed by Chris Dumez.
2178 Remove the LINK_PREFETCH build time flag.
2180 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2182 2018-03-12 Wenson Hsieh <wenson_hsieh@apple.com>
2184 REGRESSION(r211643): Dismissing WKActionSheet should not also dismiss its presenting view controller
2185 https://bugs.webkit.org/show_bug.cgi?id=183549
2186 <rdar://problem/34960698>
2188 Reviewed by Andy Estes.
2190 Add TestWebKitAPI support for testing WKWebViews embedded within presented view controllers, and use this to
2191 check that dismissing an action sheet does not additionally cause the view controller being used to present the
2192 web view to also dismiss.
2194 * TestWebKitAPI/ClassMethodSwizzler.h: Added.
2195 * TestWebKitAPI/ClassMethodSwizzler.mm: Added.
2196 (TestWebKitAPI::ClassMethodSwizzler::ClassMethodSwizzler):
2197 (TestWebKitAPI::ClassMethodSwizzler::~ClassMethodSwizzler):
2199 Add ClassMethodSwizzler, an RAII which swizzles an Objective-C class method over its lifetime.
2201 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2202 * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
2204 Add a new API test that loads a view controller which embeds a WKWebView, and verifies that presenting and then
2205 dismissing an action sheet from that web view does not cause the view controller to also dismiss.
2207 (TestWebKitAPI::setOverrideViewControllerForFullscreenPresentation):
2208 (TestWebKitAPI::overrideViewControllerForFullscreenPresentation):
2210 Mock +[UIViewController _viewControllerForFullScreenPresentationFromView:] to return the web view. This works
2211 around the fact that TestWebKitAPI is not a UI application, so certain pieces of UIKit API and SPI need to be
2212 stubbed or mocked to simulate being a UI application. We can remove these workarounds once
2213 https://webkit.org/b/175204 is addressed, and TestWebKitAPI becomes a UI application that can actually maintain
2214 a root view controller and key window.
2216 (TestWebKitAPI::TEST):
2217 * TestWebKitAPI/cocoa/TestWKWebView.h:
2218 * TestWebKitAPI/cocoa/TestWKWebView.mm:
2219 (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
2221 Add a new initializer for TestWKWebView that doesn't force the view to be hosted within a UIWindow. This is used
2222 by TestWKWebViewController to create a TestWKWebView in -loadView.
2224 * TestWebKitAPI/ios/TestWKWebViewController.h: Added.
2225 * TestWebKitAPI/ios/TestWKWebViewController.mm: Added.
2226 (-[TestWKWebViewControllerWindow _beginKeyWindowDeferral]):
2227 (-[TestWKWebViewControllerWindow _endKeyWindowDeferral]):
2229 Stub out these methods to prevent UIKit from hitting assertions when making this UIWindow the key window. This
2230 can also be removed once TestWebKitAPI is a UI application.
2232 (-[TestWKWebViewController initWithFrame:configuration:]):
2233 (-[TestWKWebViewController loadView]):
2234 (-[TestWKWebViewController webView]):
2235 (-[TestWKWebViewController dismissViewControllerAnimated:completion:]):
2236 (-[TestWKWebViewController dismissalHandler]):
2237 (-[TestWKWebViewController setDismissalHandler:]):
2239 Add a UIViewController helper subclass whose -view is a WKWebView. The new API test presents this view
2240 controller. Tests may also provide a dismissalHandler, which is invoked when the view controller is being
2241 dismissed. The new API test uses this hook to verify that the view controller containing the web view isn't also
2242 dismissed after the action sheet goes away.
2244 * TestWebKitAPI/ios/UIKitSPI.h:
2246 2018-03-12 Basuke Suzuki <Basuke.Suzuki@sony.com>
2248 [webkitpy] Remove openssl command dependency.
2249 https://bugs.webkit.org/show_bug.cgi?id=183494
2251 Reviewed by Ryosuke Niwa.
2253 Added Python implementation of PEM file perser and switched to use that
2254 from external `openssl` command.
2256 * Scripts/webkitpy/common/system/pemfile.py: Added.
2266 (Pem.certificate_request):
2267 (Pem.certificate_signing_request):
2268 (_parse_pem_format):
2269 (_parse_pem_format.find_begin):
2270 (_parse_pem_format.find_end):
2271 (_parse_pem_format.sections):
2272 * Scripts/webkitpy/common/system/pemfile_unittest.py: Added.
2274 (PemFileTest.test_parse):
2275 (PemFileTest.test_parse_bad_format):
2276 * Scripts/webkitpy/port/base.py:
2277 (Port.start_websocket_server):
2278 (Port._extract_certificate_from_pem): Deleted.
2279 (Port._extract_private_key_from_pem): Deleted.
2281 2018-03-12 Javier Fernandez <jfernandez@igalia.com>
2283 Remove GridLayout runtime flag
2284 https://bugs.webkit.org/show_bug.cgi?id=183484
2286 Reviewed by Myles C. Maxfield.
2288 The Grid Layout feature has been enabled by default for almost a
2289 year, so I think it's time to remove the runtime flag and the
2290 codepath run when the feature is disabled.
2292 * DumpRenderTree/mac/DumpRenderTree.mm:
2293 (enableExperimentalFeatures):
2295 2018-03-12 Antoine Quint <graouts@apple.com>
2297 [Web Animations] Implement CSS Animations and CSS Transitions as Web Animations
2298 https://bugs.webkit.org/show_bug.cgi?id=183504
2299 <rdar://problem/38372965>
2301 Reviewed by Jon Lee.
2303 Add a new <!-- webkit-test-runner --> flag to enable the CSS Animations and CSS Transitions
2304 as Web Animations runtime flag in the new tests we've created for this feature.
2306 * DumpRenderTree/TestOptions.h:
2307 * DumpRenderTree/TestOptions.mm:
2308 (TestOptions::TestOptions):
2309 * DumpRenderTree/mac/DumpRenderTree.mm:
2310 (setWebPreferencesForTestOptions):
2311 * WebKitTestRunner/TestController.cpp:
2312 (WTR::TestController::resetPreferencesToConsistentValues):
2313 (WTR::updateTestOptionsFromTestHeader):
2314 * WebKitTestRunner/TestOptions.h:
2315 (WTR::TestOptions::hasSameInitializationOptions const):
2317 2018-03-11 Zalan Bujtas <zalan@apple.com>
2319 [LayoutReloaded] Add Line class for InlineFormattingContext -and move files around.
2320 https://bugs.webkit.org/show_bug.cgi?id=183551
2322 Reviewed by Wenson Hsieh.
2324 * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js: Renamed from Tools/LayoutReloaded/BlockFormattingContext.js.
2325 (BlockFormattingContext):
2326 (BlockFormattingContext.prototype.layout):
2327 (BlockFormattingContext.prototype.computeWidth):
2328 (BlockFormattingContext.prototype.computeHeight):
2329 (BlockFormattingContext.prototype.marginTop):
2330 (BlockFormattingContext.prototype.marginBottom):
2331 (BlockFormattingContext.prototype._computeStaticPosition):
2332 (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2333 (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2334 (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2335 (BlockFormattingContext.prototype._computeFloatingWidth):
2336 (BlockFormattingContext.prototype._computeInFlowWidth):
2337 (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2338 (BlockFormattingContext.prototype._computeFloatingHeight):
2339 (BlockFormattingContext.prototype._computeInFlowHeight):
2340 (BlockFormattingContext.prototype._computeHorizontalConstraint):
2341 (BlockFormattingContext.prototype._computeContentHeight):
2342 (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
2343 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2344 (BlockFormattingContext.prototype._shrinkToFitWidth):
2345 * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js: Renamed from Tools/LayoutReloaded/BlockMarginCollapse.js.
2346 (BlockMarginCollapse.marginTop):
2347 (BlockMarginCollapse.marginBottom):
2348 (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
2349 (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
2350 (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2351 (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2352 (BlockMarginCollapse._nonCollapsedMarginTop):
2353 (BlockMarginCollapse._nonCollapsedMarginBottom):
2354 (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2355 (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2356 (BlockMarginCollapse._marginValue):
2357 (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
2358 (BlockMarginCollapse):
2359 * LayoutReloaded/FormattingContext/FloatingContext.js: Renamed from Tools/LayoutReloaded/FloatingContext.js.
2361 (FloatingContext.prototype.computePosition):
2362 (FloatingContext.prototype.bottom):
2363 (FloatingContext.prototype._positionForFloating):
2364 (FloatingContext.prototype._positionForClear):
2365 (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
2366 (FloatingContext.prototype._addFloating):
2367 (FloatingContext.prototype._findInnerMostLeftAndRight):
2368 (FloatingContext.prototype._moveToNextVerticalPosition):
2369 (FloatingContext.prototype._availableSpace):
2370 (FloatingContext.prototype._findFloatingAtVerticalPosition):
2371 (FloatingContext.prototype._isEmpty):
2372 (FloatingContext.prototype._adjustedFloatingPosition):
2373 (FloatingContext.prototype._bottom):
2374 (FloatingContext.prototype._formattingContext):
2375 * LayoutReloaded/FormattingContext/FormattingContext.js: Renamed from Tools/LayoutReloaded/FormattingContext.js.
2376 (FormattingContext):
2377 (FormattingContext.prototype.rootContainer):
2378 (FormattingContext.prototype.floatingContext):
2379 (FormattingContext.prototype.layout):
2380 (FormattingContext.prototype.computeWidth):
2381 (FormattingContext.prototype.computeHeight):
2382 (FormattingContext.prototype.marginTop):
2383 (FormattingContext.prototype.marginLeft):
2384 (FormattingContext.prototype.marginBottom):
2385 (FormattingContext.prototype.marginRight):
2386 (FormattingContext.prototype.absoluteMarginBox):
2387 (FormattingContext.prototype.absoluteBorderBox):
2388 (FormattingContext.prototype.absolutePaddingBox):
2389 (FormattingContext.prototype.absoluteContentBox):
2390 * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js: Renamed from Tools/LayoutReloaded/InlineFormattingContext.js.
2391 (InlineFormattingContext):
2392 (InlineFormattingContext.prototype.layout):
2393 (InlineFormattingContext.prototype._handleInlineBox):
2394 (InlineFormattingContext.prototype._handleText):
2395 (InlineFormattingContext.prototype._commitLine):
2396 (InlineFormattingContext.prototype._line):
2397 * LayoutReloaded/FormattingContext/InlineFormatting/Line.js: Copied from Tools/LayoutReloaded/InitialBlockContainer.js.
2399 (Line.prototype.isEmpty):
2400 (Line.prototype.availableWidth):
2401 (Line.prototype.appendFragment):
2402 * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
2403 * LayoutReloaded/LayoutTree/BlockContainer.js: Renamed from Tools/LayoutReloaded/BlockContainer.js.
2405 (BlockContainer.prototype.establishesInlineFormattingContext):
2406 * LayoutReloaded/LayoutTree/Box.js: Renamed from Tools/LayoutReloaded/Box.js.
2409 (Box.prototype.setRendererName):
2410 (Box.prototype.name):
2411 (Box.prototype.node):
2412 (Box.prototype.parent):
2413 (Box.prototype.nextSibling):
2414 (Box.prototype.nextInFlowSibling):
2415 (Box.prototype.previousSibling):
2416 (Box.prototype.previousInFlowSibling):
2417 (Box.prototype.setParent):
2418 (Box.prototype.setNextSibling):
2419 (Box.prototype.setPreviousSibling):
2420 (Box.prototype.rect):
2421 (Box.prototype.topLeft):
2422 (Box.prototype.bottomRight):
2423 (Box.prototype.setTopLeft):
2424 (Box.prototype.setSize):
2425 (Box.prototype.setWidth):
2426 (Box.prototype.setHeight):
2427 (Box.prototype.isContainer):
2428 (Box.prototype.isBlockLevelBox):
2429 (Box.prototype.isBlockContainerBox):
2430 (Box.prototype.isInlineLevelBox):
2431 (Box.prototype.setIsAnonymous):
2432 (Box.prototype.isAnonymous):
2433 (Box.prototype.establishesFormattingContext):
2434 (Box.prototype.establishedFormattingContext):
2435 (Box.prototype.establishesBlockFormattingContext):
2436 (Box.prototype.establishesInlineFormattingContext):
2437 (Box.prototype.isPositioned):
2438 (Box.prototype.isRelativePositioned):
2439 (Box.prototype.isAbsolutePositioned):
2440 (Box.prototype.isFixedPositioned):
2441 (Box.prototype.isInFlow):
2442 (Box.prototype.isOutOfFlowPositioned):
2443 (Box.prototype.isInFlowPositioned):
2444 (Box.prototype.isFloatingPositioned):
2445 (Box.prototype.isFloatingOrOutOfFlowPositioned):
2446 (Box.prototype.isRootElement):
2447 (Box.prototype.containingBlock):
2448 (Box.prototype.borderBox):
2449 (Box.prototype.paddingBox):
2450 (Box.prototype.contentBox):
2451 * LayoutReloaded/LayoutTree/Container.js: Renamed from Tools/LayoutReloaded/Container.js.
2453 (Container.prototype.isContainer):
2454 (Container.prototype.setFirstChild):
2455 (Container.prototype.setLastChild):
2456 (Container.prototype.firstChild):
2457 (Container.prototype.firstInFlowChild):
2458 (Container.prototype.lastChild):
2459 (Container.prototype.lastInFlowChild):
2460 (Container.prototype.hasChild):
2461 (Container.prototype.hasInFlowChild):
2462 * LayoutReloaded/LayoutTree/InitialBlockContainer.js: Renamed from Tools/LayoutReloaded/InitialBlockContainer.js.
2463 (InitialBlockContainer):
2464 (InitialBlockContainer.prototype.establishesBlockFormattingContext):
2465 (InitialBlockContainer.prototype.paddingBox):
2466 (InitialBlockContainer.prototype.contentBox):
2467 * LayoutReloaded/LayoutTree/InlineBox.js: Renamed from Tools/LayoutReloaded/InlineBox.js.
2469 (InlineBox.prototype.setText):
2470 (InlineBox.prototype.text):
2471 * LayoutReloaded/LayoutTree/Text.js: Renamed from Tools/LayoutReloaded/Text.js.
2473 (Text.prototype.node):
2474 (Text.prototype.content):
2475 (Text.prototype.length):
2476 * LayoutReloaded/Utils.js:
2477 (Utils.nextBreakingOpportunity):
2478 (Utils.measureText):
2479 * LayoutReloaded/misc/headers/Line.h: Copied from Tools/LayoutReloaded/misc/headers/Text.h.
2480 * LayoutReloaded/misc/headers/Text.h:
2481 * LayoutReloaded/test/border-simple.html:
2482 * LayoutReloaded/test/index.html:
2484 2018-03-10 Wenson Hsieh <wenson_hsieh@apple.com>
2486 [macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails
2487 https://bugs.webkit.org/show_bug.cgi?id=183485
2488 <rdar://problem/38041984>
2490 Reviewed by Ryosuke Niwa.
2492 Add new API tests to cover scenarios in which we paste image data alongside text data.
2494 * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
2495 (TestWebKitAPI::TEST):
2496 * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
2497 (TestWebKitAPI::TEST):
2499 2018-03-09 Zalan Bujtas <zalan@apple.com>
2501 [LayoutReloaded] Initial commit -block formatting context.
2502 https://bugs.webkit.org/show_bug.cgi?id=183462
2504 Reviewed by Antti Koivisto.
2508 * LayoutReloaded/BlockContainer.js: Added.
2510 (BlockContainer.prototype.establishesInlineFormattingContext):
2511 * LayoutReloaded/BlockFormattingContext.js: Added.
2512 (BlockFormattingContext):
2513 (BlockFormattingContext.prototype.layout):
2514 (BlockFormattingContext.prototype.computeWidth):
2515 (BlockFormattingContext.prototype.computeHeight):
2516 (BlockFormattingContext.prototype.marginTop):
2517 (BlockFormattingContext.prototype.marginBottom):
2518 (BlockFormattingContext.prototype._computeStaticPosition):
2519 (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2520 (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2521 (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2522 (BlockFormattingContext.prototype._computeFloatingWidth):
2523 (BlockFormattingContext.prototype._computeInFlowWidth):
2524 (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2525 (BlockFormattingContext.prototype._computeFloatingHeight):
2526 (BlockFormattingContext.prototype._computeInFlowHeight):
2527 (BlockFormattingContext.prototype._computeHorizontalConstraint):
2528 (BlockFormattingContext.prototype._computeContentHeight):
2529 (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
2530 (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2531 (BlockFormattingContext.prototype._shrinkToFitWidth):
2532 * LayoutReloaded/BlockMarginCollapse.js: Added.
2533 (BlockMarginCollapse.marginTop):
2534 (BlockMarginCollapse.marginBottom):
2535 (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
2536 (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
2537 (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2538 (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2539 (BlockMarginCollapse._nonCollapsedMarginTop):
2540 (BlockMarginCollapse._nonCollapsedMarginBottom):
2541 (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2542 (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2543 (BlockMarginCollapse._marginValue):
2544 (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
2545 (BlockMarginCollapse):
2546 * LayoutReloaded/Box.js: Added.
2549 (Box.prototype.setRendererName):
2550 (Box.prototype.name):
2551 (Box.prototype.node):
2552 (Box.prototype.parent):
2553 (Box.prototype.nextSibling):
2554 (Box.prototype.nextInFlowSibling):
2555 (Box.prototype.previousSibling):
2556 (Box.prototype.previousInFlowSibling):
2557 (Box.prototype.setParent):
2558 (Box.prototype.setNextSibling):
2559 (Box.prototype.setPreviousSibling):
2560 (Box.prototype.rect):
2561 (Box.prototype.topLeft):
2562 (Box.prototype.bottomRight):
2563 (Box.prototype.setTopLeft):
2564 (Box.prototype.setSize):
2565 (Box.prototype.setWidth):
2566 (Box.prototype.setHeight):
2567 (Box.prototype.isContainer):
2568 (Box.prototype.isBlockLevelBox):
2569 (Box.prototype.isBlockContainerBox):
2570 (Box.prototype.isInlineLevelBox):
2571 (Box.prototype.setIsAnonymous):
2572 (Box.prototype.isAnonymous):
2573 (Box.prototype.establishesFormattingContext):
2574 (Box.prototype.establishedFormattingContext):
2575 (Box.prototype.establishesBlockFormattingContext):
2576 (Box.prototype.establishesInlineFormattingContext):
2577 (Box.prototype.isPositioned):
2578 (Box.prototype.isRelativePositioned):
2579 (Box.prototype.isAbsolutePositioned):
2580 (Box.prototype.isFixedPositioned):
2581 (Box.prototype.isInFlow):
2582 (Box.prototype.isOutOfFlowPositioned):
2583 (Box.prototype.isInFlowPositioned):
2584 (Box.prototype.isFloatingPositioned):
2585 (Box.prototype.isFloatingOrOutOfFlowPositioned):
2586 (Box.prototype.isRootElement):
2587 (Box.prototype.containingBlock):
2588 (Box.prototype.borderBox):
2589 (Box.prototype.paddingBox):
2590 (Box.prototype.contentBox):
2591 * LayoutReloaded/Container.js: Added.
2593 (Container.prototype.isContainer):
2594 (Container.prototype.setFirstChild):
2595 (Container.prototype.setLastChild):
2596 (Container.prototype.firstChild):
2597 (Container.prototype.firstInFlowChild):
2598 (Container.prototype.lastChild):
2599 (Container.prototype.lastInFlowChild):
2600 (Container.prototype.hasChild):
2601 (Container.prototype.hasInFlowChild):
2602 * LayoutReloaded/FloatingContext.js: Added.
2604 (FloatingContext.prototype.computePosition):
2605 (FloatingContext.prototype.bottom):
2606 (FloatingContext.prototype._positionForFloating):
2607 (FloatingContext.prototype._positionForClear):
2608 (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
2609 (FloatingContext.prototype._addFloating):
2610 (FloatingContext.prototype._findInnerMostLeftAndRight):
2611 (FloatingContext.prototype._moveToNextVerticalPosition):
2612 (FloatingContext.prototype._availableSpace):
2613 (FloatingContext.prototype._findFloatingAtVerticalPosition):
2614 (FloatingContext.prototype._isEmpty):
2615 (FloatingContext.prototype._adjustedFloatingPosition):
2616 (FloatingContext.prototype._bottom):
2617 (FloatingContext.prototype._formattingContext):
2618 * LayoutReloaded/FormattingContext.js: Added.
2619 (FormattingContext):
2620 (FormattingContext.prototype.rootContainer):
2621 (FormattingContext.prototype.floatingContext):
2622 (FormattingContext.prototype.layout):
2623 (FormattingContext.prototype.computeWidth):
2624 (FormattingContext.prototype.computeHeight):
2625 (FormattingContext.prototype.marginTop):
2626 (FormattingContext.prototype.marginLeft):
2627 (FormattingContext.prototype.marginBottom):
2628 (FormattingContext.prototype.marginRight):
2629 (FormattingContext.prototype.absoluteMarginBox):
2630 (FormattingContext.prototype.absoluteBorderBox):
2631 (FormattingContext.prototype.absolutePaddingBox):
2632 (FormattingContext.prototype.absoluteContentBox):
2633 * LayoutReloaded/InitialBlockContainer.js: Added.
2634 (InitialBlockContainer):
2635 (InitialBlockContainer.prototype.establishesBlockFormattingContext):
2636 (InitialBlockContainer.prototype.paddingBox):
2637 (InitialBlockContainer.prototype.contentBox):
2638 * LayoutReloaded/InlineBox.js: Added.
2640 (InlineBox.prototype.setText):
2641 (InlineBox.prototype.text):
2642 * LayoutReloaded/InlineFormattingContext.js: Added.
2643 (InlineFormattingContext):
2644 (InlineFormattingContext.prototype.layout):
2645 (InlineFormattingContext.prototype._handleInlineBox):
2646 (InlineFormattingContext.prototype._handleText):
2647 * LayoutReloaded/Layout.js: Added.
2649 * LayoutReloaded/LayoutContext.js: Added.
2651 (LayoutContext.prototype.layoutFormattingContext):
2652 * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata: Added.
2653 * LayoutReloaded/LayoutReloaded.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
2654 * LayoutReloaded/README.md: Added.
2655 * LayoutReloaded/Text.js: Added.
2657 * LayoutReloaded/TreeBuilder.js: Added.
2658 (TreeBuilder.prototype.createTree):
2659 (TreeBuilder.prototype._createAndAttachBox):
2660 (TreeBuilder.prototype._appendChild):
2661 (TreeBuilder.prototype._findBox):
2662 (TreeBuilder.prototype._findNode):
2664 * LayoutReloaded/Utils.js: Added.
2666 (LayoutPoint.prototype.setLeft):
2667 (LayoutPoint.prototype.setTop):
2668 (LayoutPoint.prototype.left):
2669 (LayoutPoint.prototype.top):
2670 (LayoutPoint.prototype.shiftLeft):
2671 (LayoutPoint.prototype.shiftTop):
2672 (LayoutPoint.prototype.moveBy):
2673 (LayoutPoint.prototype.equal):
2674 (LayoutPoint.prototype.clone):
2676 (LayoutSize.prototype.setWidth):
2677 (LayoutSize.prototype.setHeight):
2678 (LayoutSize.prototype.width):
2679 (LayoutSize.prototype.height):
2680 (LayoutSize.prototype.growBy):
2681 (LayoutSize.prototype.shrinkBy):
2682 (LayoutSize.prototype.isEmpty):
2683 (LayoutSize.prototype.equal):
2684 (LayoutSize.prototype.clone):
2686 (LayoutRect.prototype.setTop):
2687 (LayoutRect.prototype.setLeft):
2688 (LayoutRect.prototype.setBottom):
2689 (LayoutRect.prototype.setRight):
2690 (LayoutRect.prototype.left):
2691 (LayoutRect.prototype.top):
2692 (LayoutRect.prototype.bottom):
2693 (LayoutRect.prototype.right):
2694 (LayoutRect.prototype.setTopLeft):
2695 (LayoutRect.prototype.topLeft):
2696 (LayoutRect.prototype.topRight):
2697 (LayoutRect.prototype.bottomRight):
2698 (LayoutRect.prototype.setWidth):
2699 (LayoutRect.prototype.setHeight):
2700 (LayoutRect.prototype.setSize):
2701 (LayoutRect.prototype.size):
2702 (LayoutRect.prototype.width):
2703 (LayoutRect.prototype.height):
2704 (LayoutRect.prototype.growBy):
2705 (LayoutRect.prototype.shrinkBy):
2706 (LayoutRect.prototype.moveBy):
2707 (LayoutRect.prototype.isEmpty):
2708 (LayoutRect.prototype.equal):
2709 (LayoutRect.prototype.intersects):
2710 (LayoutRect.prototype.contains):
2711 (LayoutRect.prototype.clone):
2712 (ASSERT_NOT_REACHED):
2714 (Utils.computedValue):
2715 (Utils.propertyIsAuto):
2716 (Utils.isWidthAuto):
2717 (Utils.isHeightAuto):
2720 (Utils.isBottomAuto):
2721 (Utils.isRightAuto):
2728 (Utils.hasBorderTop):
2729 (Utils.hasBorderBottom):
2730 (Utils.hasPaddingTop):
2731 (Utils.hasPaddingBottom):
2732 (Utils.computedMarginTop):
2733 (Utils.computedMarginLeft):
2734 (Utils.computedMarginBottom):
2735 (Utils.computedMarginRight):
2736 (Utils.computedBorderTopLeft):
2737 (Utils.computedBorderBottomRight):
2738 (Utils.computedPaddingTopLeft):
2739 (Utils.computedPaddingBottomRight):
2740 (Utils.computedBorderAndPaddingTop):
2741 (Utils.computedBorderAndPaddingLeft):
2742 (Utils.computedBorderAndPaddingBottom):
2743 (Utils.computedBorderAndPaddingRight):
2744 (Utils.computedHorizontalBorderAndPadding):
2745 (Utils.computedVerticalBorderAndPadding):
2747 (Utils.hasClearLeft):
2748 (Utils.hasClearRight):
2749 (Utils.hasClearBoth):
2750 (Utils.isBlockLevelElement):
2751 (Utils.isBlockContainerElement):
2752 (Utils.isInlineLevelElement):
2753 (Utils.isTableElement):
2754 (Utils.isRelativePositioned):
2755 (Utils.isAbsolutePositioned):
2756 (Utils.isFixedPositioned):
2757 (Utils.isOverflowVisible):
2758 (Utils.isFloatingPositioned):
2759 (Utils.isFloatingLeft):
2760 (Utils.mapToContainer):
2761 (Utils.mapStaticToAbsolute):
2762 (Utils.collectOutOfFlowDescendants):
2763 (Utils.nextBreakingOpportunity):
2764 (Utils.measureText):
2765 (Utils.layoutTreeDump):
2769 * LayoutReloaded/misc/LayoutReloadedWebKit.patch: Added.
2770 * LayoutReloaded/misc/headers/BlockContainer.h: Added.
2771 * LayoutReloaded/misc/headers/BlockFormattingContext.h: Added.
2772 * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Added.
2773 * LayoutReloaded/misc/headers/Box.h: Added.
2774 * LayoutReloaded/misc/headers/Container.h: Added.
2775 * LayoutReloaded/misc/headers/FloatingContext.h: Added.
2776 * LayoutReloaded/misc/headers/FormattingContext.h: Added.
2777 * LayoutReloaded/misc/headers/InitialBlockContainer.h: Added.
2778 * LayoutReloaded/misc/headers/InlineBox.h: Added.
2779 * LayoutReloaded/misc/headers/LayoutContext.h: Added.
2780 * LayoutReloaded/misc/headers/Text.h: Added.
2781 * LayoutReloaded/test/TestHarness.js: Added.
2782 (verifyLayoutTreeDump):
2784 * LayoutReloaded/test/absolute-auto-with-sibling-margin-bottom.html: Added.
2785 * LayoutReloaded/test/absolute-bottom.html: Added.
2786 * LayoutReloaded/test/absolute-height-stretch.html: Added.
2787 * LayoutReloaded/test/absolute-left-auto.html: Added.
2788 * LayoutReloaded/test/absolute-left-right-top-bottom-auto.html: Added.
2789 * LayoutReloaded/test/absolute-nested.html: Added.
2790 * LayoutReloaded/test/absolute-nested2.html: Added.
2791 * LayoutReloaded/test/absolute-simple.html: Added.
2792 * LayoutReloaded/test/absolute-width-shrink-to-fit.html: Added.
2793 * LayoutReloaded/test/absolute-width-stretch.html: Added.
2794 * LayoutReloaded/test/absolute-with-inline-preferred-width.html: Added.
2795 * LayoutReloaded/test/absolute-with-static-block-position-nested.html: Added.
2796 * LayoutReloaded/test/almost-intruding-left-float-simple.html: Added.
2797 * LayoutReloaded/test/border-simple.html: Added.
2798 * LayoutReloaded/test/fixed-nested.html: Added.
2799 * LayoutReloaded/test/float-left-when-container-has-padding-margin.html: Added.
2800 * LayoutReloaded/test/floating-box-clear-both-simple.html: Added.
2801 * LayoutReloaded/test/floating-box-clear-right-simple.html: Added.
2802 * LayoutReloaded/test/floating-box-left-and-right-multiple-with-top-offset.html: Added.
2803 * LayoutReloaded/test/floating-box-left-and-right-multiple.html: Added.
2804 * LayoutReloaded/test/floating-box-right-simple.html: Added.
2805 * LayoutReloaded/test/floating-box-with-clear-siblings.html: Added.
2806 * LayoutReloaded/test/floating-box-with-clear-simple.html: Added.
2807 * LayoutReloaded/test/floating-box-with-new-formatting-context.html: Added.
2808 * LayoutReloaded/test/floating-box-with-relative-positioned-sibling.html: Added.
2809 * LayoutReloaded/test/floating-left-right-simple.html: Added.
2810 * LayoutReloaded/test/floating-left-right-with-all-margins.html: Added.
2811 * LayoutReloaded/test/floating-lefts-and-rights-simple.html: Added.
2812 * LayoutReloaded/test/floating-multiple-lefts-in-body.html: Added.
2813 * LayoutReloaded/test/floating-multiple-lefts-multiple-lines.html: Added.
2814 * LayoutReloaded/test/floating-multiple-lefts.html: Added.
2815 * LayoutReloaded/test/floating-sizing.html: Added.
2816 * LayoutReloaded/test/floating-sizing2.html: Added.
2817 * LayoutReloaded/test/floating-sizing3.html: Added.
2818 * LayoutReloaded/test/floating-with-new-block-formatting-context.html: Added.
2819 * LayoutReloaded/test/index.html: Added.
2820 * LayoutReloaded/test/inline-content-simple.html: Added.
2821 * LayoutReloaded/test/intruding-left-float-simple.html: Added.
2822 * LayoutReloaded/test/margin-collapse-bottom-bottom.html: Added.
2823 * LayoutReloaded/test/margin-collapse-bottom-nested.html: Added.
2824 * LayoutReloaded/test/margin-collapse-first-last-are-floating.html: Added.
2825 * LayoutReloaded/test/margin-collapse-simple.html: Added.
2826 * LayoutReloaded/test/margin-collapse-top-nested.html: Added.
2827 * LayoutReloaded/test/margin-collapse-when-child-has-padding-border.html: Added.
2828 * LayoutReloaded/test/margin-collapse-with-block-formatting-context.html: Added.
2829 * LayoutReloaded/test/margin-collapse-with-block-formatting-context2.html: Added.
2830 * LayoutReloaded/test/margin-left-right-sizing-out-of-flow.html: Added.
2831 * LayoutReloaded/test/margin-left-right-sizing.html: Added.
2832 * LayoutReloaded/test/margin-propagation-simple-content-height.html: Added.
2833 * LayoutReloaded/test/margin-sibling-collapse-propagated.html: Added.
2834 * LayoutReloaded/test/margin-simple.html: Added.
2835 * LayoutReloaded/test/negative-margin-simple.html: Added.
2836 * LayoutReloaded/test/padding-nested.html: Added.
2837 * LayoutReloaded/test/padding-simple.html: Added.
2838 * LayoutReloaded/test/relative-auto-with-parent-offset.html: Added.
2839 * LayoutReloaded/test/relative-auto.html: Added.
2840 * LayoutReloaded/test/relative-bottom.html: Added.
2841 * LayoutReloaded/test/relative-right.html: Added.
2842 * LayoutReloaded/test/relative-siblings.html: Added.
2843 * LayoutReloaded/test/relative-simple.html: Added.
2845 2018-03-09 Stephan Szabo <stephan.szabo@sony.com>
2847 WebKitTestRunner: Do not build accessibility files/idl when !HAVE(ACCESSIBILITY)
2848 https://bugs.webkit.org/show_bug.cgi?id=183516
2850 Reviewed by Alex Christensen.
2852 * WebKitTestRunner/CMakeLists.txt:
2854 2018-03-09 Basuke Suzuki <Basuke.Suzuki@sony.com>
2856 [webkitpy, WinCairo] Launch Apache HTTPD for HTTP Tests.
2857 https://bugs.webkit.org/show_bug.cgi?id=183265
2859 Reviewed by Daniel Bates.
2861 Launch apache httpd server from python script for WinCairo HTTP LayoutTests. By now, AppleWin uses
2862 Cygwin to launch httpd server. This patch enables native Windows to run HTTP LayoutTests by starting
2863 and stopping httpd server from the script.
2865 * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
2866 (LayoutTestApacheHttpd.__init__):
2867 (LayoutTestApacheHttpd._copy_apache_config_file):
2868 (LayoutTestApacheHttpd):
2869 (LayoutTestApacheHttpd.platform):
2870 (LayoutTestApacheHttpd._spawn_process):
2871 (LayoutTestApacheHttpd._stop_running_server):
2872 (LayoutTestApacheHttpd._run):
2873 (LayoutTestApacheHttpd._server_error):
2874 * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
2875 (HttpServerBase.aliases):
2877 (HttpServerBase._build_alias_path_pairs):
2878 (HttpServerBase._build_alias_path_pairs._make_path):
2879 * Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py:
2880 (TestHttpServerBase.test_corrupt_pid_file):
2881 (TestHttpServerBase):
2882 (TestHttpServerBase.test_build_alias_path_pairs):
2883 * Scripts/webkitpy/port/base.py:
2884 (Port._apache_config_file_name_for_platform):
2885 * Scripts/webkitpy/port/port_testcase.py:
2886 (test_apache_config_file_name_for_platform):
2887 * Scripts/webkitpy/port/win.py:
2888 (WinPort._path_to_apache):
2889 (WinCairoPort.default_baseline_search_path):
2891 (WinCairoPort.check_httpd):
2893 2018-03-09 Carlos Garcia Campos <cgarcia@igalia.com>
2895 [GTK] Do not use WebKitDOMHTMLFormElement as argument of signal WebKitWebPage::will-submit-form
2896 https://bugs.webkit.org/show_bug.cgi?id=183510
2898 Reviewed by Michael Catanzaro.
2900 Update the test to use WebKitDOMElement instead and fix a memory leak.
2902 * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
2903 (handleFormSubmissionCallback):
2904 (willSubmitFormCallback):
2906 2018-03-08 Stephan Szabo <stephan.szabo@sony.com>
2908 WebKitTestRunner: Don't use accessibility controller when !HAVE(ACCESSIBILITY)
2909 https://bugs.webkit.org/show_bug.cgi?id=183475
2911 Reviewed by Youenn Fablet.
2913 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2914 (WTR::InjectedBundle::done):
2915 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2916 (WTR::InjectedBundlePage::didClearWindowForFrame):
2918 2018-03-08 Ms2ger <Ms2ger@igalia.com>
2920 [WPE] Update expectations for API tests
2921 https://bugs.webkit.org/show_bug.cgi?id=183434
2923 Unreviewed test gardening.
2925 * TestWebKitAPI/glib/TestExpectations.json:
2927 2018-03-07 Carlos Garcia Campos <cgarcia@igalia.com>
2929 [GTK][WPE] Leak checker is not working in WebKitGLib web process tests
2930 https://bugs.webkit.org/show_bug.cgi?id=183404
2932 Reviewed by Michael Catanzaro.
2934 This might have regressed when we started to use the JSC garbage collector timers. The thing is that we expect
2935 that the WebProcessTester object that we expose to JavaScript is released when the web frame is destroyed, but
2936 that's no longer the case. On window object cleared a GC is scheduled, but JSC timers do the actual garbage
2937 collection later. In the case of tests that never happens because the web process finishes quickly after the
2938 test. We need to force a garbage collection at some point when the web page is destroyed. We can't use the
2939 WebKitWebPage destroy signal, since we are also checking that WebKitWebPage isn't leaked. The
2940 API::InjectedBundle::Client::willDestroyPage() always happen when the page is closed, even if WebKitWebPage is
2941 still alive, so we can force the GC at that point. The only problem is that the frame is detached right after
2942 that point, so we can't check WebKitFrame leaks. The only frame in the tests is the main one, so we can assume
2943 that if WebKitWebPage is released, the frame is too.
2945 * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
2946 (WebKitFrameTest::testMainFrame): Stop checking we don't leak WebKitFrame.
2947 (WebKitFrameTest::testURI): Ditto.
2948 (WebKitFrameTest::testJavaScriptContext): Ditto.
2949 * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
2950 (testWebKitFrameMainFrame): Use new WebViewTest::runWebProcessTest() API.
2951 (testWebKitFrameURI): Ditto.
2952 (testWebKitFrameJavaScriptContext): Ditto.
2953 (webkitFrameTestRun): Deleted.
2954 * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
2955 (runTest): We no longer need the special case for dom-cache test.
2956 (windowObjectClearedCallback): Only expose test runner object to JavaScript when loading tests.
2957 (webkit_web_extension_initialize): Call webkitWebExtensionSetGarbageCollectOnPageDestroy() to ensure a garbage
2958 collection is performed when the page is closing.
2959 * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
2960 (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength): Fix memory leak,
2961 webkit_dom_client_rect_list_item() returns a full reference.
2962 * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
2963 (testWebProcessAutocleanups):Use new WebViewTest::runWebProcessTest() API.
2964 * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
2965 (testWebKitDOMClientRectDivBoundingClientRectPosition): Use new WebViewTest::runWebProcessTest() API.
2966 (testWebKitDOMClientRectDivClientRectsPositionAndLength): Use new WebViewTest::runWebProcessTest() API.
2967 (prepareDOMForClientRectPositionTests): Deleted.
2968 * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
2969 (testWebKitDOMNodeHierarchyNavigation): Use new WebViewTest::runWebProcessTest() API.
2970 (testWebKitDOMNodeInsertion): Ditto.
2971 (testWebKitDOMNodeTagNamesNodeList): Ditto.
2972 (testWebKitDOMNodeTagNamesHTMLCollection): Ditto.
2973 (testWebKitDOMObjectCache): We no longer need to run the test several times, since runWebProcessTest() loads
2974 about blank after every test.
2975 (prepareDOMForTagNamesTests): Deleted.
2976 * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
2977 (testWebKitDOMNodeFilterTreeWalker): Use new WebViewTest::runWebProcessTest() API.
2978 (testWebKitDOMNodeFilterNodeIterator): Ditto.
2980 * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
2981 (testWebKitDOMXPathNSResolverNative): Use new WebViewTest::runWebProcessTest() API.
2982 (testWebKitDOMXPathNSResolverCustom): Ditto.
2983 * TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp:
2984 (testWebKitWebEditorSelectionChanged): Use new WebViewTest::runWebProcessTest() API.
2985 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2986 (WebViewTest::runWebProcessTest): It now receives the contents, so it automatically loads the view using
2987 "webprocess://test" as base URI, used to detect tests in the web process. It also loads about:blank after every
2988 test to ensure that window object is cleared.
2989 * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2991 2018-03-07 Youenn Fablet <youenn@apple.com>
2993 Match unsupported plugins based on domains and not origin
2994 https://bugs.webkit.org/show_bug.cgi?id=183384
2996 Reviewed by Chris Dumez.
2998 * TestWebKitAPI/Tests/WebCore/URL.cpp:
2999 (TestWebKitAPI::TEST_F):
3000 * WebKitTestRunner/TestController.cpp:
3001 (WTR::TestController::setPluginSupportedMode): Update to whitelist
3002 localhost and not http://localhost:8080
3004 2018-03-07 Jonathan Bedard <jbedard@apple.com>
3006 webkitpy: Allow apple_additions() to define additional ports
3007 https://bugs.webkit.org/show_bug.cgi?id=183412
3008 <rdar://problem/38232353>
3010 Reviewed by Aakash Jain.
3012 * Scripts/webkitpy/port/factory.py:
3013 (PortFactory.get): Allow apple_additions to define port classes to be used
3014 in run-webkit-tests.
3016 2018-03-07 Jonathan Bedard <jbedard@apple.com>
3018 webkitpy: Remove obsolete function from MockAppleAdditions
3019 https://bugs.webkit.org/show_bug.cgi?id=183415
3020 <rdar://problem/38236407>
3022 Reviewed by Aakash Jain.
3024 * Scripts/webkitpy/port/port_testcase.py:
3025 (bind_mock_apple_additions.MockAppleAdditions):
3026 (bind_mock_apple_additions.MockAppleAdditions.ios_os_name): Deleted.
3027 (bind_mock_apple_additions.MockAppleAdditions.mac_os_name): Deleted.
3029 2018-03-07 Jonathan Bedard <jbedard@apple.com>
3031 webkitpy: --dedicated-simulators does not boot the correct number of simulators
3032 https://bugs.webkit.org/show_bug.cgi?id=183409
3033 <rdar://problem/38224631>
3035 Reviewed by Aakash Jain.
3037 * Scripts/webkitpy/port/ios_simulator.py:
3038 (IOSSimulatorPort.default_child_processes): When not using dedicated simulators,
3039 we should use the number of booted simulators as our default child processes.
3041 2018-03-07 Alejandro G. Castro <alex@igalia.com>
3043 Make NetworkRTCResolver port agnostic
3044 https://bugs.webkit.org/show_bug.cgi?id=178855
3046 Reviewed by Youenn Fablet.
3048 Added new unit tests for he resolve and stopResolve functions. We need to compile them for the
3049 other platforms when the APIs are supported.
3051 * TestWebKitAPI/PlatformGTK.cmake:
3052 * TestWebKitAPI/Tests/WebCore/DNS.cpp:
3054 2018-03-06 Youenn Fablet <youenn@apple.com>
3056 didReceiveServerRedirectForProvisionalNavigation is not called in case of document redirection with service worker registration change
3057 https://bugs.webkit.org/show_bug.cgi?id=183299
3058 <rdar://problem/37547029>
3060 Reviewed by Alex Christensen.
3062 Add support for checking whether this callback is called.
3063 Used in the added layout test.
3065 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3066 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3067 (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
3068 (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
3069 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3070 * WebKitTestRunner/TestController.cpp:
3071 (WTR::TestController::createOtherPage):
3072 (WTR::TestController::resetStateToConsistentValues):
3073 (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation):
3074 * WebKitTestRunner/TestController.h:
3075 (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation const):
3076 (WTR::TestController::clearDidReceiveServerRedirectForProvisionalNavigation):
3077 * WebKitTestRunner/TestInvocation.cpp:
3078 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3080 2018-03-06 Chris Dumez <cdumez@apple.com>
3082 fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html fails with async policy delegates
3083 https://bugs.webkit.org/show_bug.cgi?id=183345
3085 Reviewed by Alex Christensen.
3087 Add layout test infrastructure so a test can know when didCancelClientRedirectForFrame has
3088 been called. The tests used to rely on a 0-timer but this does not work when the client
3089 responds to the navigation policy asynchronously.
3091 * DumpRenderTree/TestRunner.cpp:
3092 (getDidCancelClientRedirect):
3093 (TestRunner::staticValues):
3094 * DumpRenderTree/TestRunner.h:
3095 (TestRunner::didCancelClientRedirect const):
3096 (TestRunner::setDidCancelClientRedirect):
3097 * DumpRenderTree/mac/FrameLoadDelegate.mm:
3098 (-[FrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
3099 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3100 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3101 (WTR::InjectedBundlePage::didCancelClientRedirectForFrame):
3102 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3103 (WTR::TestRunner::didCancelClientRedirect const):
3104 (WTR::TestRunner::setDidCancelClientRedirect):
3106 2018-03-06 Zan Dobersek <zdobersek@igalia.com>
3108 REGRESSION(r229309): s_exceptionInstructions allocation change causing crashes in LLInt on WPE
3109 https://bugs.webkit.org/show_bug.cgi?id=183366
3111 Reviewed by Michael Catanzaro.
3113 Have the TestRunnerInjectedBundle CMake library link against libraries
3114 in the WebKitTestRunnerInjectedBundle_LIBRARIES list, and not the
3115 WebKitTestRunner_LIBRARIES list, which is used for the WebKitTestRunner
3116 executable. This allows narrowing down the libraries to only those that
3117 are necessary for the injected bundle shared object.
3119 The GTK+ port already has this list specified, adding one for the WPE
3122 * WebKitTestRunner/CMakeLists.txt:
3123 Link the TestRunnerInjectedBundle library against the libraries in the
3124 WebKitTestRunnerInjectedBundle_LIBRARIES list.
3125 * WebKitTestRunner/PlatformWPE.cmake:
3126 Specify the WebKitTestRunnerInjectedBundle_LIBRARIES list, including the
3127 basic system dependencies, WebCoreTestSupport and WebKit. This follows
3130 2018-03-06 Dominik Infuehr <dinfuehr@igalia.com>
3132 [ARM] Disable tests that run out of memory
3133 https://bugs.webkit.org/show_bug.cgi?id=182699
3135 Reviewed by Žan Doberšek.
3137 Add run mode to allow running modules.yaml-tests without
3138 disabling LLInt for specific tests.
3140 * Scripts/run-jsc-stress-tests:
3142 2018-03-05 Yusuke Suzuki <utatane.tea@gmail.com>
3144 Fix std::make_unique / new[] using system malloc
3145 https://bugs.webkit.org/show_bug.cgi?id=182975
3147 Reviewed by JF Bastien.
3149 * TestWebKitAPI/CMakeLists.txt:
3150 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3151 * TestWebKitAPI/Tests/WTF/UniqueArray.cpp: Copied from Source/WebKit/Platform/win/LoggingWin.cpp.
3152 (TestWebKitAPI::NonTrivialDestructor::NonTrivialDestructor):
3153 (TestWebKitAPI::NonTrivialDestructor::~NonTrivialDestructor):
3154 (TestWebKitAPI::NonTrivialDestructor::setLog):
3155 (TestWebKitAPI::TEST):
3157 2018-03-05 Myles C. Maxfield <mmaxfield@apple.com>
3159 DumpRenderTree build fix
3163 * DumpRenderTree/mac/LayoutTestHelper.m:
3165 2018-03-05 Andy Estes <aestes@apple.com>
3167 [Mac] Teach WebCore::Pasteboard about file promise drags
3168 https://bugs.webkit.org/show_bug.cgi?id=183314
3169 <rdar://problem/38105493>
3171 Reviewed by Darin Adler.
3173 * DumpRenderTree/DumpRenderTreeFileDraggingSource.h:
3174 * DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
3175 (-[DumpRenderTreeFileDraggingSource initWithPromisedFileURLs:]):
3176 (-[DumpRenderTreeFileDraggingSource dealloc]):
3178 Taught DumpRenderTreeFileDraggingSource to store the promised file URLs.
3180 * DumpRenderTree/mac/DumpRenderTree.mm:
3183 Called +[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers] after running a test.
3185 * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
3186 * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
3187 (-[DumpRenderTreeFilePromiseReceiver initWithPromisedUTIs:]):
3188 (-[DumpRenderTreeFilePromiseReceiver fileTypes]):
3189 (-[DumpRenderTreeFilePromiseReceiver fileNames]):
3190 (-[DumpRenderTreeFilePromiseReceiver dealloc]):
3192 (-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
3194 We can't instantiate real NSFilePromiseReceivers in DumpRenderTree. They rely on the
3195 pasteboard server to generate unique file URLs, which is incompatible with our swizzled
3198 Instead, create a subclass of NSFilePromiseReceiver that implements its own promise resolution.
3199 -receivePromisedFilesAtDestination:... asks its DumpRenderTreeFileDraggingSource for the
3200 array of file URLs, then copies each to the destination directory on the specified operation
3201 queue. It emulates how NSPasteboard tries to find a unique destination name by appending
3202 numbers to the file name.
3204 All receivers are collected in a global array that is cleared when each test finishes.
3205 DumpRenderTreeFilePromiseReceiver will delete the files it copied in -dealloc.
3207 (+[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers]):
3208 (-[DumpRenderTreeDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
3210 If NSFilesPromisePboardType is on the pasteboard and classArray contains
3211 NSFilePromiseReceiver, construct a DumpRenderTreeFilePromiseReceiver, add it to the array of
3212 all file promise receivers, then wrap it in an NSDraggingItem and call block.
3214 * DumpRenderTree/mac/EventSendingController.mm:
3215 (+[EventSendingController isSelectorExcludedFromWebScript:]):
3216 (+[EventSendingController webScriptNameForSelector:]):
3217 (-[EventSendingController beginDragWithFilePromises:]):
3219 Implement eventSender.beginDragWithFilePromises() by placing file UTIs on the pasteboard
3220 with type NSFilesPromisePboardType, creating a DumpRenderTreeFileDraggingSource with the
3221 file URLs, and creating a new DumpRenderTreeDraggingInfo and passing it to
3222 -[WebView draggingEntered:].
3224 2018-03-05 Aakash Jain <aakash_jain@apple.com>
3226 [webkitpy] Bugzilla class should use NetworkTransaction for network operations
3227 https://bugs.webkit.org/show_bug.cgi?id=183222
3229 Reviewed by Alexey Proskuryakov.
3231 * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3232 (Bugzilla.open_url): Method which uses NetworkTransaction for opening url.
3233 (Bugzilla.fetch_user): Used self.open_url instead of directly calling browser.open().
3234 (Bugzilla.add_user_to_groups): Ditto.
3235 (Bugzilla._fetch_bug_page): Ditto.
3236 (Bugzilla.fetch_attachment_contents): Ditto.
3237 (Bugzilla.get_bug_id_for_attachment_id): Ditto.
3238 (Bugzilla.authenticate): Ditto.
3239 (Bugzilla.add_attachment_to_bug): Ditto.
3240 (Bugzilla.add_patch_to_bug): Ditto.
3241 (Bugzilla.create_bug): Ditto.
3242 (Bugzilla.clear_attachment_flags): Ditto.
3243 (Bugzilla.set_flag_on_attachment): Ditto.
3244 (Bugzilla.obsolete_attachment): Ditto.
3245 (Bugzilla.add_cc_to_bug): Ditto.
3246 (Bugzilla.post_comment_to_bug): Ditto.
3247 (Bugzilla.close_bug_as_fixed): Ditto.
3248 (Bugzilla.reassign_bug): Ditto.
3249 (Bugzilla.reopen_bug): Ditto.
3250 (Bugzilla._fetch_bug_page_by_url): Deleted, not required anymore.
3251 * Scripts/webkitpy/common/net/networktransaction.py:
3252 (NetworkTransaction.run): Added a FIXME.
3254 2018-03-05 Joseph Pecoraro <pecoraro@apple.com>
3256 dump-class-layout mishandles duplicates base classes and miscomputes padding
3257 https://bugs.webkit.org/show_bug.cgi?id=183311
3259 Reviewed by Simon Fraser.
3261 * Scripts/dump-class-layout:
3263 (verify_type_recursive):
3264 Keep a list of seen (offset, type) that we have output and don't re-output them.
3265 The Python types list the base classes as members multiple times as you iterate
3266 through the members, so just ignore them if we have seem them already at a
3269 2018-03-05 Carlos Alberto Lopez Perez <clopez@igalia.com>
3271 [GTK][Wayland] The GTK Wayland bot exits early because of assertions related with libsecret since r221925
3272 https://bugs.webkit.org/show_bug.cgi?id=183330
3274 Reviewed by Michael Catanzaro.
3276 Add libsecret to the JHBuild and build it only when the system version is
3277 less than 0.18.6 (unreleased as of writing this) in order to cherry pick
3278 a fix for a bug that causes crashes with layout tests.
3280 * gtk/jhbuild.modules:
3281 * gtk/patches/libsecret-secret-methods-Don-t-unref-NULL-when-search-fails.patch: Added.
3283 2018-03-05 Claudio Saavedra <csaavedra@igalia.com>
3285 [GTK] Implement WTR's PlatformWebView::setWindowIsKey()
3286 https://bugs.webkit.org/show_bug.cgi?id=183143
3288 Reviewed by Carlos Garcia Campos.
3290 Implement ::setWindowIsKey() by keeping a second window to be
3291 presented when the webview's window is to lose its key status.
3293 * WebKitTestRunner/PlatformWebView.h:
3294 * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
3295 (WTR::PlatformWebView::PlatformWebView):
3296 (WTR::PlatformWebView::~PlatformWebView):
3297 (WTR::PlatformWebView::setWindowIsKey):
3299 2018-03-05 Yusuke Suzuki <utatane.tea@gmail.com>
3301 Unreviewed, attempt to fix Apple port build
3303 * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3305 2018-03-05 Yusuke Suzuki <utatane.tea@gmail.com>
3307 Unreviewed, attempt to fix WPE build
3309 * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
3310 (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
3311 * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3312 (WTR::PlatformWebView::windowSnapshotImage):
3313 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3314 (WTR::TestController::platformRunUntil):
3316 2018-03-04 Yusuke Suzuki <utatane.tea@gmail.com>
3318 [WTF] Move currentCPUTime and sleep(Seconds) to CPUTime.h and Seconds.h respectively
3319 https://bugs.webkit.org/show_bug.cgi?id=183312
3321 Reviewed by Mark Lam.
3323 Remove wtf/CurrentTime.h include pragma.
3325 * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
3326 * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
3327 * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
3328 * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
3329 * TestWebKitAPI/Tests/WTF/Condition.cpp:
3330 * TestWebKitAPI/Tests/WTF/Signals.cpp:
3331 * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
3332 * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
3333 * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3334 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3335 * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
3336 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3338 2018-03-04 Tim Horton <timothy_horton@apple.com>
3340 Make !ENABLE(DATA_DETECTION) iOS build actually succeed
3341 https://bugs.webkit.org/show_bug.cgi?id=183283
3342 <rdar://problem/38062148>
3344 Reviewed by Sam Weinig.
3346 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3348 2018-03-02 Chris Dumez <cdumez@apple.com>
3350 Converting a load to a download does not work with async policy delegates
3351 https://bugs.webkit.org/show_bug.cgi?id=183254
3352 <rdar://problem/38035334>
3354 Reviewed by Youenn Fablet.
3356 Add layout test infrastructure for responding to the decidePolicyForNavigationResponse
3357 delegate asynchronously.
3359 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3360 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3361 (WTR::InjectedBundlePage::decidePolicyForResponse):
3362 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3363 (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay):
3364 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3365 (WTR::TestRunner::shouldDecideResponsePolicyAfterDelay const):
3366 * WebKitTestRunner/TestController.cpp:
3367 (WTR::TestController::resetStateToConsistentValues):
3368 (WTR::TestController::decidePolicyForNavigationResponse):
3369 * WebKitTestRunner/TestController.h:
3370 (WTR::TestController::setShouldDecideResponsePolicyAfterDelay):
3371 * WebKitTestRunner/TestInvocation.cpp:
3372 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3374 2018-03-01 Youenn Fablet <youenn@apple.com>
3376 Add API test to validate setting of service worker and cache storage directories
3377 https://bugs.webkit.org/show_bug.cgi?id=182543
3379 Reviewed by Chris Dumez.
3381 * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3383 2018-03-01 Ross Kirsling <ross.kirsling@sony.com>
3385 [Win][DRT] Implement setSpatialNavigationEnabled.
3386 https://bugs.webkit.org/show_bug.cgi?id=183166
3388 Reviewed by Per Arne Vollan.
3390 * DumpRenderTree/TestRunner.cpp:
3391 (setSpatialNavigationEnabledCallback):
3392 * DumpRenderTree/win/DumpRenderTree.cpp:
3393 (resetWebPreferencesToConsistentValues):
3394 * DumpRenderTree/win/TestRunnerWin.cpp:
3395 (TestRunner::setSpatialNavigationEnabled):
3397 2018-03-01 Basuke Suzuki <Basuke.Suzuki@sony.com>
3399 [webkitpy] Use shell=False to launch apache http server.
3400 https://bugs.webkit.org/show_bug.cgi?id=183191
3402 Reviewed by Aakash Jain.
3404 * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
3405 (LayoutTestApacheHttpd.__init__):
3406 (LayoutTestApacheHttpd._run):
3408 2018-03-01 Chris Dumez <cdumez@apple.com>
3410 Unreviewed, update WebKit.CustomHeaderFields API test after r229133.
3412 We no longer do policy checks for 'about:blank'.
3414 * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3415 (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
3418 2018-02-28 Jonathan Bedard <jbedard@apple.com>
3420 [webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
3421 https://bugs.webkit.org/show_bug.cgi?id=183184
3422 <rdar://problem/37958594>
3424 Reviewed by Aakash Jain.
3426 Unlisted Apple versions can't run webkitpy tests because they don't
3427 have specified port names.
3429 * Scripts/webkitpy/port/apple.py:
3430 (ApplePort.determine_full_port_name): Return valid port name for unnamed
3432 * Scripts/webkitpy/port/base.py:
3433 (Port.version_name): Check both public and internal version mapping
3434 when returning a version name.
3435 * Scripts/webkitpy/port/mac.py:
3436 (MacPort.__init__): If no os version is defined, use the current version.
3438 2018-02-28 John Wilander <wilander@apple.com>
3440 Add a second tier of prevalence to facilitate telemetry on very prevalent domains
3441 https://bugs.webkit.org/show_bug.cgi?id=183218
3442 <rdar://problem/37992388>
3444 Reviewed by Brent Fulgham.
3446 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3447 Added two new testRunner functions:
3448 - setStatisticsVeryPrevalentResource()
3449 - isStatisticsVeryPrevalentResource()
3450 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3451 (WTR::TestRunner::setStatisticsVeryPrevalentResource):
3452 (WTR::TestRunner::isStatisticsVeryPrevalentResource):
3453 * WebKitTestRunner/InjectedBundle/TestRunner.h:
3454 * WebKitTestRunner/TestController.cpp:
3455 (WTR::TestController::setStatisticsVeryPrevalentResource):
3456 (WTR::TestController::isStatisticsVeryPrevalentResource):
3457 * WebKitTestRunner/TestController.h:
3458 * WebKitTestRunner/TestInvocation.cpp:
3459 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3461 2018-02-28 Jonathan Bedard <jbedard@apple.com>
3463 [webkitpy] Remove concept of 'future' versions (Follow-up fix)
3464 https://bugs.webkit.org/show_bug.cgi?id=183184
3465 <rdar://problem/37958594>
3467 Reviewed by David Kilzer.
3469 The factory also relies on future in a non-obvious way.
3471 * Scripts/webkitpy/common/system/platforminfo.py:
3472 (PlatformInfo.os_version_name): Check both public and internal version mapping
3473 when returning a version name.
3474 * Scripts/webkitpy/common/system/platforminfo_mock.py:
3475 (MockPlatformInfo.os_version_name): Ditto.
3477 2018-02-28 Zan Dobersek <zdobersek@igalia.com>
3479 Unreviewed WPE fixup after r229080.
3481 Add empty definitions for two AccessibilityUIElement methods,
3482 avoiding undefined symbols in the WKTR injected bundle.
3484 * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
3485 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
3486 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3488 2018-02-27 Jonathan Bedard <jbedard@apple.com>
3490 Remove concept of 'future'
3491 https://bugs.webkit.org/show_bug.cgi?id=183184
3492 <rdar://problem/37958594>
3494 Reviewed by Aakash Jain.
3496 Remove concept of 'future' from expectations and instead
3497 use a system of inheritance centered around the current version
3498 of an OS for Mac and iOS.
3500 Inheritance works like so:
3509 This does not change expectation inheritance for any currently running
3510 configurations, it generalizes the logic already used.
3512 * Scripts/webkitpy/common/version_name_map.py:
3513 (VersionNameMap.__init__): Remove all future versions.
3514 (VersionNameMap.mapping_for_platform): Return empty dicts instead of
3516 * Scripts/webkitpy/port/apple.py:
3518 (ApplePort._allowed_versions): Return all available versions.
3519 (ApplePort._generate_all_test_configurations): Instead of picking from a set
3520 of allowed versions, assume that every specified version is allowed.
3521 (ApplePort._port_name_with_version): Deleted.
3522 * Scripts/webkitpy/port/darwin.py: Add CURRENT_VERSION overridden by subclasses.
3524 * Scripts/webkitpy/port/ios.py:
3526 (IOSPort.default_baseline_search_path): Use system of inheritance centered around
3527 the current version.
3528 * Scripts/webkitpy/port/mac.py:
3530 (MacPort.__init__): Use current version by default.
3531 (MacPort.default_baseline_search_path): Use system of inheritance centered around
3532 the current version.
3533 (MacPort.configuration_specifier_macros): Use the same set of version names
3534 supported in default_baseline_search_path.
3535 * Scripts/webkitpy/port/mac_unittest.py:
3536 (MacTest.test_versions): Remove 'future' tests.
3538 2018-02-27 Michael Catanzaro <mcatanzaro@igalia.com>
3540 Unreviewed GTK test gardening
3542 * TestWebKitAPI/glib/TestExpectations.json:
3544 2018-02-27 Doug Russell <doug@getitdownonpaper.com>
3546 AX: Spell check and style attributes should be optional when fetching attributed string
3547 https://bugs.webkit.org/show_bug.cgi?id=160744
3549 Reviewed by Chris Fleizach.
3551 The overhead of fetching a spell checked attributed string via AX API is substantial.
3552 In some cases on the order of 7/8 of the total time spent fetching the string.
3554 This change introduces the new attribute AXAttributedStringForTextMarkerRangeWithOptions which accepts an NSDictionary as it's parameter with keys "AXTextMarkerRange" (AXTextMarkerRangeRef) and "AXSpellCheck" (NSNumber(BOOL)).
3556 AXAttributedStringForTextMarkerRange will remain unchanged.
3558 * DumpRenderTree/AccessibilityUIElement.cpp:
3559 (attributedStringForTextMarkerRangeCallback):
3560 (attributedStringForTextMarkerRangeWithOptionsCallback):
3561 (AccessibilityUIElement::attributedStringForTextMarkerRange):
3562 (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3563 (AccessibilityUIElement::getJSClass):
3564 * DumpRenderTree/AccessibilityUIElement.h:
3565 * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
3566 (AccessibilityUIElement::attributedStringForTextMarkerRange):
3567 (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3568 * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
3569 (createJSStringRef):
3570 (AccessibilityUIElement::attributedStringForTextMarkerRange):
3571 (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3572 * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
3573 * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
3574 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3575 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
3576 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3577 * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
3578 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
3579 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3580 * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
3581 (WTR::createJSStringRef):
3582 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
3583 (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3585 2018-02-27 Daniel Bates <dabates@apple.com>
3587 Standardize terminology for marked text
3588 https://bugs.webkit.org/show_bug.cgi?id=180999
3590 Reviewed by Zalan Bujtas.
3592 The name MarkerSubrange is a misnomer for a data structure that associates a text subrange with a type
3593 and optional document marker. In particular, a MarkerSubrange may not always correspond to a document
3594 marker. For instance, selected text is represented using a MarkerSubrange that does not have a
3595 corresponding document marker. Let's standardize on the phrase "marked text" as the canonical way to
3596 describe these tagged text subranges.
3598 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3599 * TestWebKitAPI/Tests/WebCore/MarkedText.cpp: Added.
3600 (WebCore::operator<<):
3601 (TestWebKitAPI::TEST):
3602 * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Removed.
3604 2018-02-27 Aakash Jain <aakash_jain@apple.com>
3606 webkitpy Bugzilla transactions should retry on URLError
3607 https://bugs.webkit.org/show_bug.cgi?id=183156
3609 Reviewed by Alexey Proskuryakov.
3611 * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3612 (Bugzilla): Use NetworkTransaction.
3613 (Bugzilla._fetch_bug_page_by_url):
3614 (Bugzilla.bug_id_for_attachment_id):
3615 (Bugzilla.get_bug_id_for_attachment_id):
3617 2018-02-27 Wenson Hsieh <wenson_hsieh@apple.com>
3619 [Extra zoom mode] Implement additional SPI for adjusting viewport shrink-to-fit behavior
3620 https://bugs.webkit.org/show_bug.cgi?id=183100
3621 <rdar://problem/37840987>
3623 Reviewed by Tim Horton.
3625 Add API tests that exercise -_setMinimumAllowedLayoutWidth: and -_setForceHorizontalViewportShrinkToFit:. See
3626 WebKit ChangeLog for more detail.
3628 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3629 * TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Added.
3630 (TestWebKitAPI::while):
3631 (viewportTestPageMarkup):
3632 (TestWebKitAPI::TEST):
3634 2018-02-27 Yusuke Suzuki <utatane.tea@gmail.com>
3636 Unreviewed, skip FTL tests if FTL is disabled
3637 https://bugs.webkit.org/show_bug.cgi?id=183071
3639 * Scripts/run-jsc-stress-tests:
3641 2018-02-26 Don Olmstead <don.olmstead@sony.com>
3643 Fix WebCore includes within WebKitLegacy
3644 https://bugs.webkit.org/show_bug.cgi?id=183147
3646 Reviewed by Tim Horton.
3648 * MiniBrowser/win/ResourceLoadDelegate.cpp:
3650 2018-02-26 Yousuke Kimoto <yousuke.kimoto@sony.com>
3652 [WinCairo] WebKit2_C.h should be included for TestWebKit
3653 https://bugs.webkit.org/show_bug.cgi?id=182682
3655 Reviewed by Yusuke Suzuki.
3657 * TestWebKitAPI/config.h:
3659 2018-02-25 Fujii Hironori <Hironori.Fujii@sony.com>
3661 [WK2] http/tests/navigation/new-window-redirect-history.html crashes
3662 https://bugs.webkit.org/show_bug.cgi?id=127683
3664 Reviewed by Dan Bernstein.
3666 m_previousTestBackForwardListItem was null for the new window.
3667 m_previousTestBackForwardListItem is initialized only for the main
3668 window in InjectedBundlePage::prepare.
3670 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3671 (WTR::InjectedBundlePage::dumpBackForwardList):
3672 Do null-check of m_previousTestBackForwardListItem.
3674 2018-02-25 Alexey Proskuryakov <ap@apple.com>
3676 Various crashes in WebKitTestRunner, especially when system is under heavy load
3677 https://bugs.webkit.org/show_bug.cgi?id=183109
3679 Reviewed by Tim Horton.
3681 WebKitTestRunner had many places where it sent messages to WebContent with a timeout,
3682 but it didn't handle the timeout when it did occur. Nearly all of those would result
3683 in logic errors and failing tests, and most would even result in stack corruption,
3684 as the response handler modified local variables.
3686 There is only one timeout scenario that we actually mean to handle in WKTR. That's
3687 when a test freezes after it is done (e.g. an infinite loop in beforeunload) - we don't
3688 want to blame the next test for freezing, so we silently relaunch WebContent.
3689 Everything else is cargo cult code that never worked.
3691 This patch addresses the crashes, and actually makes tests pass a lot more on an
3694 * WebKitTestRunner/TestController.cpp:
3695 (WTR::TestController::resetStateToConsistentValues): Moved m_doneResetting assignment
3696 to where it's actually needed, for clarity.
3697 (WTR::TestController::reattachPageToWebProcess): This function used to always hit
3698 and ignore message timeout, as m_doneResetting is only updated by navigation callback
3699 when the state is Resetting. This change makes it faster.
3700 (WTR::TestController::platformResetStateToConsistentValues): Style fix.
3701 (WTR::TestController::clearServiceWorkerRegistrations): Timing out here wasn't
3702 handled in a meaningful manner, and would even corrupt the stack.
3703 (WTR::TestController::clearDOMCache): Ditto.
3704 (WTR::TestController::clearDOMCaches): Ditto.
3705 (WTR::TestController::hasDOMCache): Ditto.
3706 (WTR::TestController::domCacheSize): Ditto.
3707 (WTR::TestController::isStatisticsPrevalentResource): Ditto.
3708 (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Ditto.
3709 (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Ditto.
3710 (WTR::TestController::isStatisticsHasHadUserInteraction): Ditto.
3711 (WTR::TestController::isStatisticsGrandfathered): Ditto.
3712 (WTR::TestController::statisticsUpdateCookiePartitioning): Ditto.
3713 (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Ditto.
3714 (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Ditto.
3715 (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
3716 (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Ditto.
3718 * WebKitTestRunner/TestInvocation.cpp:
3719 (WTR::TestInvocation::shortTimeout const): Made shortTimeout shorter (on a hunch).
3720 (WTR::TestInvocation::invoke): Removed a timeout waiting for initial response. There
3721 is never a logical reason for such a timeout, as we always have a new or responsive
3722 WebContent process here.
3723 (WTR::TestInvocation::dumpResults): Removed another timeout that we don't know how to
3725 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Removed assignment to
3726 m_errorMessage, which had no effect in this context.
3728 * WebKitTestRunner/TestInvocation.h: Removed no longer used code.
3730 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3731 (WTR::TestController::cocoaResetStateToConsistentValues): Use a named constant for
3734 * WebKitTestRunner/ios/TestControllerIOS.mm:
3735 (WTR::TestController::platformConfigureViewForTest): Removed a useless timeout.
3736 Not sure if timing out here would corrupt the stack or not, but there is no reason
3737 to impose arbitrary limits on individual steps of a test.
3739 * WebKitTestRunner/mac/TestControllerMac.mm:
3740 (WTR::TestController::platformConfigureViewForTest): Use a named constant for
3743 2018-02-25 Ali Juma <ajuma@chromium.org>
3745 Unreviewed. Change my status to committer.
3747 * Scripts/webkitpy/common/config/contributors.json:
3749 2018-02-25 Chris Dumez <cdumez@apple.com>
3751 Service workers do not work well inside Web.app
3752 https://bugs.webkit.org/show_bug.cgi?id=183105
3753 <rdar://problem/37864140>
3755 Reviewed by Youenn Fablet.
3757 Add API test coverage.
3759 * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3761 2018-02-25 Aakash Jain <aakash_jain@apple.com>
3763 [build.webkit.org] unit-tests fail if buildbot 0.8.6p1 is not installed locally
3764 https://bugs.webkit.org/show_bug.cgi?id=183103
3766 Reviewed by Alexey Proskuryakov.
3768 * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Removed extra imports.
3770 2018-02-24 Wenson Hsieh <wenson_hsieh@apple.com>
3772 Unreviewed, fix the TestWebKitAPI build after r228825.
3774 I removed a `>= iOS 11` check in r228825, but forgot that this was also neeed to guard against tvOS and watchOS
3775 builds. This fixes the build by restoring the compile-time guard and also makes it explicit for these platforms.
3777 * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
3779 2018-02-22 Yusuke Suzuki <utatane.tea@gmail.com>
3781 Remove currentTime() / currentTimeMS()
3782 https://bugs.webkit.org/show_bug.cgi?id=183052
3784 Reviewed by Mark Lam.
3786 * DumpRenderTree/TestRunner.cpp:
3787 (preciseTimeCallback):
3788 * DumpRenderTree/mac/TestRunnerMac.mm:
3789 (TestRunner::setMockGeolocationPosition):
3790 * TestWebKitAPI/Tests/WTF/Condition.cpp:
3791 * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
3792 * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
3793 * WebKitTestRunner/GeolocationProviderMock.cpp:
3794 (WTR::GeolocationProviderMock::setPosition):
3795 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3796 (WTR::TestRunner::preciseTime):
3798 2018-02-22 Yusuke Suzuki <utatane.tea@gmail.com>
3800 Remove sleep(double) and sleepMS(double) interfaces
3801 https://bugs.webkit.org/show_bug.cgi?id=183038
3803 Reviewed by Mark Lam.
3805 * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
3806 (PluginTest::indicateTestFailure):
3807 * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
3808 (EvaluteJSWithinNPP_New::NPP_New):
3809 * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
3810 (InvokeDestroysPluginWithinNPP_New::NPP_New):
3811 * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
3812 * TestWebKitAPI/Tests/WTF/Signals.cpp:
3814 * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
3815 (TestWebKitAPI::testThreadGroup):
3816 * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
3817 (TestWebKitAPI::TEST):
3818 * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3819 (TestWebKitAPI::TEST):
3820 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3821 (TestWebKitAPI::TEST):
3822 * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
3823 (TestWebKitAPI::Util::sleep):
3825 2018-02-21 Don Olmstead <don.olmstead@sony.com>
3827 [CMake][Win] Use cmakeconfig.h rather than config.h and Platform.h
3828 https://bugs.webkit.org/show_bug.cgi?id=182883
3830 Reviewed by Per Arne Vollan.
3832 * DumpRenderTree/config.h:
3833 * TestWebKitAPI/config.h:
3835 2018-02-21 Michael Catanzaro <mcatanzaro@igalia.com>
3837 [GTK] Unsafe g_setenv use in MiniBrowser main
3838 https://bugs.webkit.org/show_bug.cgi?id=182978
3840 Reviewed by Carlos Garcia Campos.
3842 setenv (and g_setenv) will randomly crash if called too late.
3844 * MiniBrowser/gtk/main.c:
3847 2018-02-21 Aakash Jain <aakash_jain@apple.com>
3849 webkitpy NetworkTransaction should retry on URLError
3850 https://bugs.webkit.org/show_bug.cgi?id=182987
3852 Reviewed by Alexey Proskuryakov.
3854 * Scripts/webkitpy/common/net/networktransaction.py:
3855 (NetworkTransaction.run): Retry on urllib2.URLError.
3857 2018-02-21 Ms2ger <Ms2ger@igalia.com>
3859 [WTR][WPE] Correct the process names in TestController.
3860 https://bugs.webkit.org/show_bug.cgi?id=178700
3862 Reviewed by Michael Catanzaro.
3864 Similar to r228731 for GTK.
3866 * Scripts/webkitpy/port/wpe.py:
3867 (WPEPort._get_crash_log): removed the code to convert WebProcess name.
3868 * WebKitTestRunner/TestController.cpp: return the correct process names for WPE.
3869 (WTR::TestController::webProcessName):
3870 (WTR::TestController::networkProcessName):
3871 (WTR::TestController::databaseProcessName):
3873 2018-02-21 Ms2ger <Ms2ger@igalia.com>
3875 [ATK] Remove attributeSet variable from AccessibilityUIElement::attributedStringForRange().
3876 https://bugs.webkit.org/show_bug.cgi?id=183000
3878 Reviewed by Joanmarie Diggs.
3880 It is never initialized, but is passed to atk_attribute_set_free.
3881 This caused a crash in accessibility/content-editable-as-textarea.html on the debug bots.
3883 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3884 (WTR::AccessibilityUIElement::attributedStringForRange):
3886 2018-02-21 Myles C. Maxfield <mmaxfield@apple.com>
3888 [Cocoa] Make system-ui obey the user-installed-font policy
3889 https://bugs.webkit.org/show_bug.cgi?id=182860
3890 <rdar://problem/36158249>
3892 Reviewed by Antti Koivisto.
3894 Create a font, FakeHelvetica-ArmenianCharacter.ttf, which supports a particular Armenian
3895 character which isn't isn't supported by any other font on the system.
3897 * WebKitTestRunner/FakeHelvetica-ArmenianCharacter.ttf:
3898 * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3900 2018-02-20 Timothy Horton <timothy_horton@apple.com>
3902 Try to fix the 32-bit build after r228857
3904 * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3905 (WTR::UIScriptController::firstResponderSuppressionForWebView):
3907 2018-02-20 Nan Wang <n_wang@apple.com>
3909 AX: Keyboard focus not following VoiceOver cursor into web content or within web content.
3910 https://bugs.webkit.org/show_bug.cgi?id=182752
3911 <rdar://problem/37518233>
3913 Reviewed by Ryosuke Niwa.
3915 * DumpRenderTree/mac/UIScriptControllerMac.mm:
3916 (WTR::UIScriptController::firstResponderSuppressionForWebView):
3917 (WTR::UIScriptController::makeWindowContentViewFirstResponder):
3918 (WTR::UIScriptController::isWindowContentViewFirstResponder const):
3919 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3920 * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3921 (WTR::UIScriptController::firstResponderSuppressionForWebView):
3922 (WTR::UIScriptController::makeWindowContentViewFirstResponder):
3923 (WTR::UIScriptController::isWindowContentViewFirstResponder const):
3924 * TestRunnerShared/UIScriptContext/UIScriptController.h:
3925 * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3926 (WTR::UIScriptController::firstResponderSuppressionForWebView):
3927 (WTR::UIScriptController::makeWindowContentViewFirstResponder):
3928 (WTR::UIScriptController::isWindowContentViewFirstResponder const):
3930 2018-02-20 Fujii Hironori <Hironori.Fujii@sony.com>
3932 [GTK] jhbuild: Remove gtk-doc
3933 https://bugs.webkit.org/show_bug.cgi?id=182956
3935 Reviewed by Michael Catanzaro.
3937 jhbuild doesn't need to build gtk-doc because major LTS Linux
3938 distributions have gtk-doc v1.25, and
3939 Tools/gtk/install-dependencies installs gtk-doc.
3941 * gtk/jhbuild.modules: Removed gtk-doc.
3943 2018-02-20 Tim Horton <timothy_horton@apple.com>
3945 Introduce HAVE(IOSURFACE_ACCELERATOR)
3946 https://bugs.webkit.org/show_bug.cgi?id=182955
3947 <rdar://problem/37699510>
3949 Reviewed by Sam Weinig.
3951 * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
3952 (createBitmapContextFromWebView):
3953 * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3954 (WTR::PlatformWebView::windowSnapshotImage):
3956 2018-02-20 Chris Dumez <cdumez@apple.com>
3958 Provisional load may get committed before receiving the decidePolicyForNavigationResponse response
3959 https://bugs.webkit.org/show_bug.cgi?id=182720
3960 <rdar://problem/37515204>
3962 Reviewed by Alex Christensen.
3964 Add API test coverage.
3966 * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm:
3967 (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3968 (TestWebKitAPI::TEST):
3970 2018-02-20 Nan Wang <n_wang@apple.com>
3972 AX: AOM: Dispatch accessibleclick event
3973 https://bugs.webkit.org/show_bug.cgi?id=180898
3974 <rdar://problem/36086710>
3976 Reviewed by Ryosuke Niwa.
3978 * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
3979 (WTR::AccessibilityUIElement::syncPress):
3980 * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
3981 * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
3982 (WTR::AccessibilityUIElement::syncPress):
3984 2018-02-20 Wenson Hsieh <wenson_hsieh@apple.com>
3986 [iOS 11.3 Beta] Can't copy a URL from Safari and paste it into the Gmail app
3987 https://bugs.webkit.org/show_bug.cgi?id=182952
3988 <rdar://problem/37636190>
3990 Reviewed by Tim Horton.
3992 Adds a new iOS copy/paste test that copies an anchor element via action sheet, and checks that upon pasting,
3993 both "text/plain" and "text/uri-list" are provided. Additionally tweaks an existing iOS drag and drop test to
3994 check for the same behavior.
3996 * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
3997 (TestWebKitAPI::TEST):
3998 * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3999 (TestWebKitAPI::TEST):
4001 2018-02-20 Philippe Normand <pnormand@igalia.com>
4003 [GStreamer][MiniBrowser] Honor GStreamer command line parameters in MiniBrowser
4004 https://bugs.webkit.org/show_bug.cgi?id=173655
4006 Reviewed by Xabier Rodriguez-Calvar.
4008 The FIXME in GStreamerUtilities.cpp asks to pass the command line
4009 parameters to the GStreamer initialization function.
4011 Based on initial patch by: Vanessa Chipirrás Navalón <vchipirras@igalia.com>
4013 * MiniBrowser/gtk/main.c:
4014 (main): Add the group containing the Gstreamer options that the console displays.
4016 2018-02-19 Fujii Hironori <Hironori.Fujii@sony.com>
4018 [WTR][GTK] crash log backtrace doesn't show symbol names for DatabaseProcess and NetworkProcess
4019 https://bugs.webkit.org/show_bug.cgi?id=182953
4021 Reviewed by Carlos Garcia Campos.
4023 * Scripts/webkitpy/port/gtk.py:
4024 (GtkPort._get_crash_log): Removed the code to convert WebProcess name.
4025 * WebKitTestRunner/TestController.cpp:
4026 (WTR::TestController::webProcessName): Return the correct program name for GTK+ port.
4027 (WTR::TestController::networkProcessName): Ditto.
4028 (WTR::TestController::databaseProcessName): Ditto.
4030 2018-02-19 Ryan Haddad <ryanhaddad@apple.com>
4032 Unreviewed, rolling out r228696.
4034 The API test added with this change is timing out on macOS.
4038 "Null pointer dereference in
4039 WebPageProxy::urlSchemeHandlerForScheme()"
4040 https://bugs.webkit.org/show_bug.cgi?id=182905
4041 https://trac.webkit.org/changeset/228696
4043 2018-02-16 Ryosuke Niwa <rniwa@webkit.org>
4045 Add an entitlement check for service worker on iOS
4046 https://bugs.webkit.org/show_bug.cgi?id=182865
4047 <rdar://problem/37505903>
4049 Reviewed by Brady Eidson.
4051 Added the service worker entitlements to WebKitTestRunner and TestWebKitAPI on iOS.
4053 * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
4054 * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
4055 * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
4056 * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
4058 2018-02-16 Youenn Fablet <youenn@apple.com>
4060 Allow specifying which plug-ins are supported
4061 https://bugs.webkit.org/show_bug.cgi?id=182748
4063 Reviewed by Chris Dumez.
4065 Add support for a test runner API to specificy supported plug-ins.
4067 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
4068 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4069 (WTR::TestRunner::setPluginsAsUnsupported):
4070 * WebKitTestRunner/InjectedBundle/TestRunner.h:
4071 * WebKitTestRunner/TestController.cpp:
4072 (WTR::TestController::resetStateToConsistentValues):
4073 (WTR::TestController::setPluginsAsUnsupported):
4074 * WebKitTestRunner/TestController.h:
4075 * WebKitTestRunner/TestInvocation.cpp:
4076 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
4078 2018-02-16 Per Arne Vollan <pvollan@apple.com>
4080 Implement stopping of run loop in the WebContent process when using NSRunLoop.
4081 https://bugs.webkit.org/show_bug.cgi?id=182499
4082 <rdar://problem/37247424>
4084 Reviewed by Brent Fulgham.
4086 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4087 * TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm: Added.
4090 2018-02-15 Alexey Proskuryakov <ap@apple.com>
4092 Speed up dSYM generation on build.webkit.org with -gline-tables-only
4093 https://bugs.webkit.org/show_bug.cgi?id=182841
4094 rdar://problem/34579649
4096 Reviewed by Aakash Jain.
4098 Build speed and binary size improvements are so substantial that I'm willing to make
4099 CI builds less suitable for debugging, which is not a common scenario anyway.
4100 Crash logs will still have line numbers in them.
4102 * BuildSlaveSupport/build.webkit.org-config/steps.py: (CompileWebKit.start):
4104 2018-02-15 Don Olmstead <don.olmstead@sony.com>
4106 WebCore headers should not be included relatively within dependent projects
4107 https://bugs.webkit.org/show_bug.cgi?id=182805
4109 Reviewed by Chris Dumez.
4111 * TestWebKitAPI/win/TestWebCoreStubs.cpp:
4112 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4113 * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
4114 * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
4115 * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
4116 * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
4118 2018-02-15 Tomas Popela <tpopela@redhat.com>
4120 run-jsc-stress-tests - skip a test if any of the run commands evals to skip
4121 https://bugs.webkit.org/show_bug.cgi?id=182729
4123 If multiple run commands are specified and one of them evals to skip,
4124 then the test is not skipped, because the run is scheduled while
4125 evaluating other commands.
4127 Remember if the test is going to be skipped - if yes, just stop
4128 evaluating the other run commands.
4130 Reviewed by Saam Barati.
4132 * Scripts/run-jsc-stress-tests:
4134 2018-02-14 Charlie Turner <cturner@igalia.com>
4136 Get Garden-O-Matic running again.
4137 https://bugs.webkit.org/show_bug.cgi?id=179089
4139 Reviewed by Carlos Alberto Lopez Perez.
4141 * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js:
4142 (parseCommitData): Author field is not always spelled 'author' these days.
4143 * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
4144 No longer have a 32-bit builder.
4145 * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js:
4146 (ui.perf.View.base.init): createElement has a required parameter these days.
4147 * Scripts/webkitpy/tool/commands/gardenomatic.py:
4148 (GardenOMatic): Override use_globs so that platform lookup in config.js works.
4150 2018-02-14 Don Olmstead <don.olmstead@sony.com>
4152 Remove unused ForwardingHeaders directories from Tools
4153 https://bugs.webkit.org/show_bug.cgi?id=182813
4155 Reviewed by Konstantin Tokarev.
4157 * DumpRenderTree/ForwardingHeaders/runtime/ArrayBufferView.h: Removed.
4158 * DumpRenderTree/ForwardingHeaders/runtime/JSArrayBufferView.h: Removed.
4159 * DumpRenderTree/ForwardingHeaders/runtime/JSExportMacros.h: Removed.
4160 * DumpRenderTree/ForwardingHeaders/runtime/TypedArrayInlines.h: Removed.
4161 * TestWebKitAPI/ForwardingHeaders/WebCore/LayoutUnit.h: Removed.
4163 2018-02-14 Daniel Bates <dabates@apple.com>
4165 Disallow cross-origin subresources from asking for credentials
4166 https://bugs.webkit.org/show_bug.cgi?id=182579
4167 <rdar://problem/36162271>
4169 Reviewed by Andy Estes.
4171 Add test option allowCrossOriginSubresourcesToAskForCredential (defaults to false)
4172 so that tests can toggle between the old behavior and new behavior.
4174 * DumpRenderTree/TestOptions.h:
4175 * DumpRenderTree/TestOptions.mm:
4176 (TestOptions::TestOptions):
4177 * DumpRenderTree/mac/DumpRenderTree.mm:
4178 (setWebPreferencesForTestOptions):
4179 * WebKitTestRunner/TestController.cpp:
4180 (WTR::TestController::resetPreferencesToConsistentValues):
4181 (WTR::updateTestOptionsFromTestHeader):
4182 * WebKitTestRunner/TestOptions.h:
4183 (WTR::TestOptions::hasSameInitializationOptions const):
4185 2018-02-12 Ryosuke Niwa <rniwa@webkit.org>
4187 REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
4188 https://bugs.webkit.org/show_bug.cgi?id=182564
4190 Reviewed by Wenson Hsieh.
4192 Updated assertions to make sure the trailing "}" of @list rules is includd in the style, the "style" element
4193 is wrapped by "head" element (not present in the pasted markup since the fragment parsing algorithm strips away),
4194 and the style content is enclosed in "<!--" and "-->".
4196 Also use execCommand('insertHTML', ~) to insert the HTML obtained via dataTransfer.getData instead of innerHTML
4197 to make sure our pasting code preserves the special style element for MSO list quirks.
4199 Finally, added two more test cases for pasting content from Microsoft Word's compatibility mode.
4201 * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
4203 * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
4206 2018-02-14 Ross Kirsling <ross.kirsling@sony.com>
4208 [Tools] --wincairo should imply --64-bit by default.
4209 https://bugs.webkit.org/show_bug.cgi?id=182753
4211 Reviewed by Daniel Bates.
4213 WinCairo does not currently support 32-bit and `--wincairo` itself should refer to a working platform.
4214 This patch ensures x64 is determined correctly for `build-webkit --no-ninja` and `run-webkit-tests`.
4216 * Scripts/webkitdirs.pm:
4217 (determinePassedArchitecture):
4219 (determineShouldBuild32Bit):
4221 * Scripts/webkitpy/common/config/ports.py:
4222 (WinCairoPort.build_webkit_command):
4223 * Scripts/webkitpy/common/config/ports_unittest.py:
4224 (DeprecatedPortTest.test_wincairo_port):
4225 * Scripts/webkitpy/port/win.py:
4228 2018-02-13 Commit Queue <commit-queue@webkit.org>
4230 Unreviewed, rolling out r228431.
4231 https://bugs.webkit.org/show_bug.cgi?id=182766
4233 Regressed CMake build stability (Requested by dolmstead on
4238 "[CMake] Make WebCore headers copies"
4239 https://bugs.webkit.org/show_bug.cgi?id=182512
4240 https://trac.webkit.org/changeset/228431
4242 2018-02-13 Don Olmstead <don.olmstead@sony.com>
4244 [CMake] Make WebCore headers copies
4245 https://bugs.webkit.org/show_bug.cgi?id=182512
4247 Reviewed by Keith Miller.
4249 * DumpRenderTree/CMakeLists.txt:
4250 * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
4251 * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h:
4252 * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h:
4253 * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h:
4254 * TestWebKitAPI/PlatformGTK.cmake:
4255 * TestWebKitAPI/PlatformWPE.cmake:
4256 * TestWebKitAPI/PlatformWin.cmake:
4257 * TestWebKitAPI/win/TestWebCoreStubs.cpp:
4258 (loadResourceIntoBuffer):
4259 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
4260 * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
4261 * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
4262 * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
4263 * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
4265 2018-02-13 Chris Dumez <cdumez@apple.com>
4267 REGRESSION (r228299): Broke reader mode in Safari
4268 https://bugs.webkit.org/show_bug.cgi?id=182697
4269 <rdar://problem/37399012>
4271 Reviewed by Ryosuke Niwa.