784018bdd4ab874b0a9d25f65d27897bc232f4f0
[WebKit-https.git] / Tools / ChangeLog
1 2017-03-07  Anders Carlsson  <andersca@apple.com>
2
3         Rewrite the DRT Pasteboard implementation to use UTIs and WTF types
4         https://bugs.webkit.org/show_bug.cgi?id=169289
5
6         Reviewed by Tim Horton.
7
8         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
9         (-[LocalPasteboard initWithName:]):
10         (-[LocalPasteboard name]):
11         (-[LocalPasteboard declareTypes:owner:]):
12         (isUTI):
13         (toUTI):
14         (-[LocalPasteboard addTypes:owner:]):
15         (-[LocalPasteboard changeCount]):
16         (-[LocalPasteboard types]):
17         (-[LocalPasteboard availableTypeFromArray:]):
18         (-[LocalPasteboard setData:forType:]):
19         (-[LocalPasteboard dataForType:]):
20         (-[LocalPasteboard writeObjects:]):
21         (-[LocalPasteboard dealloc]): Deleted.
22
23 2017-03-07  Myles C. Maxfield  <mmaxfield@apple.com>
24
25         Add David Jonathan Ross to contributors.json
26         https://bugs.webkit.org/show_bug.cgi?id=169265
27
28         Unreviewed.
29
30         David Jonathan Ross very kindly offered to create and contribute his Boxis font in r211060,
31         which is used for testing font variations.
32
33         * Scripts/webkitpy/common/config/contributors.json:
34
35 2017-03-07  Youenn Fablet  <youennf@gmail.com>
36
37         W3C importer should be able to update the import expectations file
38         https://bugs.webkit.org/show_bug.cgi?id=168037
39
40         Reviewed by Ryosuke Niwa.
41
42         Changing import expectations from an array to a map.
43         Marking all test paths as import and updating import expectations file accordingly.
44
45         * Scripts/webkitpy/w3c/test_downloader.py:
46         (TestDownloader.__init__):
47         (TestDownloader._init_paths_from_expectations):
48         (TestDownloader):
49         (TestDownloader.update_import_expectations):
50         * Scripts/webkitpy/w3c/test_importer.py:
51         (TestImporter.do_import):
52         * Scripts/webkitpy/w3c/test_importer_unittest.py:
53
54 2017-03-07  Philip Rogers  <pdr@google.com>
55
56         Add pdr to the rendering watchlist
57         https://bugs.webkit.org/show_bug.cgi?id=167298
58
59         Reviewed by Andreas Kling.
60
61         * Scripts/webkitpy/common/config/contributors.json: Switch to pdr+autocc@chromium.org
62         * Scripts/webkitpy/common/config/watchlist: Add pdr to the rendering watchlist.
63
64 2017-03-07  Mario Sanchez Prada  <mario@webkit.org>
65
66         Unreviewed. Removed myself from the Accessibility watch list
67
68         * Scripts/webkitpy/common/config/watchlist: Removed myself.
69
70 2017-03-06  Fujii Hironori  <Hironori.Fujii@sony.com>
71
72         Add Fujii Hironori to contributor's list
73         https://bugs.webkit.org/show_bug.cgi?id=169261
74
75         Reviewed by Yusuke Suzuki.
76
77         Add myself to the contributor's lists so that my e-mail autocompletes for CC
78
79         * Scripts/webkitpy/common/config/contributors.json:
80
81 2017-03-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>
82
83         [GTK] Mark WTF_Lock.ContendedLongSection and WTF_WordLock.ContendedLongSection as slow.
84
85         Unreviewed test gardening.
86
87         The ContendedShortSection version of this tests were already marked as slow.
88         And the ContendedLongSection version takes more or less the same time to run.
89         They cause time outs on the bot sometimes.
90
91         * Scripts/run-gtk-tests:
92         (TestRunner):
93
94 2017-03-06  Michael Saboff  <msaboff@apple.com>
95
96         Take advantage of fast permissions switching of JIT memory for devices that support it
97         https://bugs.webkit.org/show_bug.cgi?id=169155
98
99         Reviewed by Saam Barati.
100
101         Updated the Xcode config files to match what is in the JavaScriptCore ones.
102
103         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
104
105 2017-03-06  Lucas Forschler  <lforschler@apple.com>
106
107         https://bugs.webkit.org/show_bug.cgi?id=169234
108         torchmobile.com.cn is no longer a registered domain. These email addresses will bounce, so clean them up.
109
110         Reviewed by Alexey Proskuryakov.
111
112         * Scripts/webkitpy/common/config/contributors.json:
113
114 2017-03-03  Matt Rajca  <mrajca@apple.com>
115
116         Media: notify clients when the user never plays a media element that was prevented from auto-playing
117         https://bugs.webkit.org/show_bug.cgi?id=169150
118
119         Reviewed by Alex Christensen.
120
121         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
122         (TEST): Added.
123
124 2017-03-06  Alex Christensen  <achristensen@webkit.org>
125
126         Fix URLs relative to file URLs with paths beginning with Windows drive letters
127         https://bugs.webkit.org/show_bug.cgi?id=169178
128
129         Reviewed by Tim Horton.
130
131         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
132         (TestWebKitAPI::TEST_F):
133
134 2017-03-06  Myles C. Maxfield  <mmaxfield@apple.com>
135
136         Expand font-weight and font-stretch to take any number
137         https://bugs.webkit.org/show_bug.cgi?id=168889
138
139         Reviewed by Simon Fraser.
140
141         Migrate off old enum types.
142
143         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
144         (TestWebKitAPI::createPlatformFont):
145         (TestWebKitAPI::compareFonts):
146         (TestWebKitAPI::TEST_F):
147
148 2017-03-06  Yusuke Suzuki  <utatane.tea@gmail.com>
149
150         [GTK][JSCOnly] Enable WebAssembly on Linux environment
151         https://bugs.webkit.org/show_bug.cgi?id=164032
152
153         Reviewed by Michael Catanzaro.
154
155         * Scripts/run-jsc-stress-tests:
156         Enable WASM tests.
157
158         * Scripts/webkitperl/FeatureList.pm:
159         Enable WebAssembly.
160
161 2017-03-04  Lucas Forschler  <lforschler@apple.com>
162
163         Test commit against svn.webkit.org after SHA-1 cleanup.
164         
165         Unreviewed.
166
167 2017-03-03  Dean Jackson  <dino@apple.com>
168
169         Add WebGPU compile flag and experimental feature flag
170         https://bugs.webkit.org/show_bug.cgi?id=169161
171         <rdar://problem/30846689>
172
173         Reviewed by Tim Horton.
174
175         Add ENABLE_WEBGPU, an experimental feature flag, a RuntimeEnabledFeature,
176         and an InternalSetting.
177
178         * DumpRenderTree/mac/DumpRenderTree.mm:
179         (enableExperimentalFeatures):
180         (resetWebPreferencesToConsistentValues):
181         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
182         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
183         (WTR::InjectedBundle::beginTesting):
184         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
185         (WTR::TestRunner::setWebGL2Enabled):
186         (WTR::TestRunner::setWebGPUEnabled):
187         * WebKitTestRunner/InjectedBundle/TestRunner.h:
188
189 2017-03-03  Dean Jackson  <dino@apple.com>
190
191         Add a script to synchronize FeatureDefines.xcconfig files
192         https://bugs.webkit.org/show_bug.cgi?id=169151
193         <rdar://problem/30841856>
194
195         Reviewed by Simon Fraser.
196
197         I got sick of manually copying the FeatureDefines.xcconfig
198         files, so I added a script to do it. As long as you
199         run this after you've edited one, it will take the most
200         recently updated and copy it to all the others.
201
202         * Scripts/sync-feature-defines: Added.
203         * Scripts/webkitpy/style/checkers/featuredefines.py:
204         (FeatureDefinesChecker.check): Export the list of files,
205         and give a suggestion to use the sync script.
206
207 2017-03-03  Alex Christensen  <achristensen@webkit.org>
208
209         [URLParser] Fix file: as a relative file URL
210         https://bugs.webkit.org/show_bug.cgi?id=169122
211
212         Reviewed by Tim Horton.
213
214         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
215         (TestWebKitAPI::TEST_F):
216
217 2017-03-02  Myles C. Maxfield  <mmaxfield@apple.com>
218
219         Migrate font-stretch to use fixed-point values
220         https://bugs.webkit.org/show_bug.cgi?id=169107
221
222         Reviewed by Dean Jackson.
223
224         Update to new types.
225
226         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
227         (TestWebKitAPI::createPlatformFont):
228
229 2017-03-02  Brady Eidson  <beidson@apple.com>
230
231         Update WKWebsiteDatastoreConfiguration SPI.
232         https://bugs.webkit.org/show_bug.cgi?id=169102
233
234         Reviewed by Tim Horton.
235
236         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
237         (-[WebsiteDataStoreCustomPathsMessageHandler userContentController:didReceiveScriptMessage:]):
238         (TEST):
239
240 2017-03-02  Jer Noble  <jer.noble@apple.com>
241
242         Sufficently large timeValue and timeScale arguments to MediaTime will cause wrapping in toTimeScale().
243         https://bugs.webkit.org/show_bug.cgi?id=169098
244
245         Reviewed by Keith Miller.
246
247         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
248         (TestWebKitAPI::TEST):
249
250 2017-03-02  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
251
252         Add ability to read bindings test results
253         https://bugs.webkit.org/show_bug.cgi?id=169063
254
255         Reviewed by Alexey Proskuryakov.
256
257         * Scripts/webkitpy/common/net/bindingstestresults.py: Added.
258         (BindingsTestResults): Conforms to the AbstractTestResults interface.
259         (BindingsTestResults.__init__): Constructor.
260         (BindingsTestResults.results_from_string): Generates BindingsTestResults object from JSON string.
261         (BindingsTestResults.is_subset): Compare failing tests in two BindingsTestResults objects.
262         (BindingsTestResults.equals): Checks if two BindingsTestResults objects contain the same failing test names.
263         (BindingsTestResults.all_passed): Return True if all bindings tests passed.
264         (BindingsTestResults.failing_tests): Returns a list of failing tests.
265         (BindingsTestResults.did_exceed_test_failure_limit): Always returns False, exists to conform to the interface.
266         * Scripts/webkitpy/common/net/bindingstestresults_unittest.py: Added.
267         (BindingsTestResultsTest): Class to test BindingsTestResults.
268         (BindingsTestResultsTest.test_results_from_string): Unit tests string -> BindingsTestResults conversion.
269         (BindingsTestResultsTest.test_results_from_string_success): Ditto, for success cases.
270         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Added.
271         (BindingsTestResultsReader): Conforms to the AbstractTestResultsReader interface.
272         (BindingsTestResultsReader.results): Reads the results file and returns a BindingsTestResults object.
273
274 2017-03-02  Aakash Jain  <aakash_jain@apple.com>
275
276         Move stringMatchesWildcardString from WebKit2 to WebCore
277         https://bugs.webkit.org/show_bug.cgi?id=169065
278
279         Reviewed by Alexey Proskuryakov.
280
281         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Moved StringUtilities.mm
282         * TestWebKitAPI/Tests/WebCore/StringUtilities.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2/mac/StringUtilities.mm.
283         (TestWebKitAPI::TEST):
284         * TestWebKitAPI/Tests/WebKit2/mac/StringUtilities.mm: Removed.
285
286 2017-02-28  Matt Rajca  <mrajca@apple.com>
287
288         Media: send "did interfere with playback" events when the user pauses an autoplaying element
289         https://bugs.webkit.org/show_bug.cgi?id=169006
290
291         Reviewed by Alex Christensen.
292
293         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
294         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
295         (TEST): Added.
296
297 2017-03-02  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
298
299         Refactor test results classes in webkitpy to enable faster EWS iteration
300         https://bugs.webkit.org/show_bug.cgi?id=169053
301
302         Reviewed by Alexey Proskuryakov.
303
304         * Scripts/webkitpy/common/net/abstracttestresults.py:
305         (AbstractTestResults): Import json for parse_json_string().
306         (AbstractTestResults.parse_json_string): Abstracted out from JSCTestResults.results_from_string().
307         * Scripts/webkitpy/common/net/abstracttestresults_unittest.py: Added.
308         (AbstractTestResultsTest): Class that tests AbstractTestResults.
309         (AbstractTestResultsTest.test_parse_json_string_invalid_inputs): Move unit tests from JSCTestResultsTest.
310         (AbstractTestResultsTest.test_parse_json_string_valid_input): Add a unit test for a success case.
311         * Scripts/webkitpy/common/net/jsctestresults.py:
312         (JSCTestResults.results_from_string): Call parse_json_string because it was abstracted out.
313         * Scripts/webkitpy/common/net/jsctestresults_unittest.py:
314         (JSCTestResultsTest.test_results_from_string): Remove JSON parsing unit tests, because they were moved.
315         * Scripts/webkitpy/tool/bot/abstracttestresultsreader.py: Added.
316         (AbstractTestResultsReader): Generic TestResultsReader with functions common to jsc, bindings etc.
317         (AbstractTestResultsReader.__init__): Moved from JSCTestResultsReader.__init__().
318         (AbstractTestResultsReader._read_file_contents): Moved from JSCTestResultsReader._read_file_contents().
319         (AbstractTestResultsReader.results): Stub.
320         * Scripts/webkitpy/tool/bot/jsctestresultsreader.py:
321         (JSCTestResultsReader): Now inherits from AbstractTestResultsReader.
322         (JSCTestResultsReader.__init__): Deleted.
323         (JSCTestResultsReader._read_file_contents): Deleted.
324         * Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
325         (LayoutTestResultsReader): Now inherits from AbstractTestResultsReader.
326
327 2017-03-02  Alex Christensen  <achristensen@webkit.org>
328
329         Continue enabling WebRTC
330         https://bugs.webkit.org/show_bug.cgi?id=169056
331
332         Reviewed by Jon Lee.
333
334         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
335
336 2017-03-02  Ryan Haddad  <ryanhaddad@apple.com>
337
338         Unreviewed, rolling out r213281.
339
340         This change caused API test WebKit2.UserMediaBasic to time
341         out.
342
343         Reverted changeset:
344
345         "[MediaStream] UIClient may not be notified of capture state
346         change when leaving a page"
347         https://bugs.webkit.org/show_bug.cgi?id=169014
348         http://trac.webkit.org/changeset/213281
349
350 2017-03-02  Tomas Popela  <tpopela@redhat.com>
351
352         [WK2] Keyboard menu key should show context menu
353         https://bugs.webkit.org/show_bug.cgi?id=72099
354
355         Show the context menu when the GtkWidget::popup-menu signal is
356         emitted. This signal is triggered by pressing a key (usually
357         the Menu key or the Shift + F10 shortcut) or it could be emitted on
358         WebKitWebView.
359
360         Reviewed by Carlos Garcia Campos.
361
362         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
363         (testContextMenuDefaultMenu):
364         * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
365         (WebViewTest::emitPopupMenuSignal):
366         * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
367
368 2017-03-01  Wenson Hsieh  <wenson_hsieh@apple.com>
369
370         Replace -[WKWebView adjustedDataInteractionItemProviders:] with a UI delegate method
371         https://bugs.webkit.org/show_bug.cgi?id=169013
372
373         Reviewed by Dan Bernstein.
374
375         Adjusts TestWebKitAPI for changes in WebKit2. See Source/WebKit2/ChangeLog for more details.
376
377         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
378         (TestWebKitAPI::TEST):
379         (-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]): Deleted.
380         * TestWebKitAPI/ios/DataInteractionSimulator.h:
381         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
382         (-[DataInteractionSimulator initWithWebView:]):
383         (-[DataInteractionSimulator dealloc]):
384         (-[DataInteractionSimulator _webView:adjustedDataInteractionItemProviders:]):
385
386 2017-03-01  Per Arne Vollan  <pvollan@apple.com>
387
388         [Win] DRT should not dispatch messages after test is done.
389         https://bugs.webkit.org/show_bug.cgi?id=169026
390
391         Reviewed by Brent Fulgham.
392
393         Exiting the message loop with PostQuitMessage will leave room for
394         a few messages to be dispatched after the test is done.
395
396         * DumpRenderTree/win/DumpRenderTree.cpp:
397         (dump):
398         (runTest):
399
400 2017-03-01  Myles C. Maxfield  <mmaxfield@apple.com>
401
402         Implement font-stretch for installed fonts
403         https://bugs.webkit.org/show_bug.cgi?id=168888
404
405         Reviewed by Darin Adler and Dave Hyatt.
406
407         Update TestWebKitAPI tests to test font-stretch too.
408
409         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
410         (TestWebKitAPI::createPlatformFont):
411         (TestWebKitAPI::compareFonts):
412         (TestWebKitAPI::TEST_F):
413
414 2017-03-01  Alex Christensen  <achristensen@webkit.org>
415
416         Unreviewed, rolling out r213259.
417
418         Broke an internal build
419
420         Reverted changeset:
421
422         "Continue enabling WebRTC"
423         https://bugs.webkit.org/show_bug.cgi?id=169056
424         http://trac.webkit.org/changeset/213259
425
426 2017-03-01  Alex Christensen  <achristensen@webkit.org>
427
428         Continue enabling WebRTC
429         https://bugs.webkit.org/show_bug.cgi?id=169056
430
431         Reviewed by Jon Lee.
432
433         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
434
435 2017-02-28  Matt Rajca  <mrajca@apple.com>
436
437         Media: notify clients when autoplayed media is muted
438         https://bugs.webkit.org/show_bug.cgi?id=168987
439
440         Reviewed by Alex Christensen.
441
442         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
443         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
444         (TEST): Added.
445
446 2017-03-01  Brady Eidson  <beidson@apple.com>
447
448         Add SPI to create WebsiteDataStore objects pointing to custom paths.
449         https://bugs.webkit.org/show_bug.cgi?id=169044
450
451         Reviewed by Tim Horton.
452
453         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
454         
455         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Added.
456         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Added.
457         (-[WebsiteDataStoreCustomPathsMessageHandler userContentController:didReceiveScriptMessage:]):
458         (getNextMessage):
459         (TEST):
460
461 2017-03-01  Simon Fraser  <simon.fraser@apple.com>
462
463         Add a way to watch the CSSProperties.json file, and add me and Dan Bates to watch it.
464
465         * Scripts/webkitpy/common/config/watchlist:
466
467 2017-03-01  Jonathan Bedard  <jbedard@apple.com>
468
469         webkitpy: Move some device management from iOSSimulatorPort to iOSPort class
470         https://bugs.webkit.org/show_bug.cgi?id=168681
471
472         Reviewed by Daniel Bates.
473
474         This patch moves high-level device management into iOSPort and adds a new iOSDevicePort class
475         which inherits from iOSPort.  Additionally, this change renames device_id_for_worker_number to
476         device_for_worker_number and manages devices by object instead of by UDID.
477
478         * Scripts/webkitpy/port/factory.py:
479         (PortFactory): Correct import path for IOSSimulatorPort and IOSDevicePort.
480         * Scripts/webkitpy/port/ios.py:
481         (IOSPort.__init__): Define variables shared between iOS ports.
482         (IOSPort.driver_cmd_line_for_logging): From IOSSimulatorPort.
483         (IOSPort.driver_name): From IOSSimulatorPort.
484         (IOSPort.using_multiple_devices): Check if this port supports multiple devices.
485         (IOSPort._testing_device): Map worker number to device.
486         (IOSPort.device_for_worker_number): Return _testing_device() or _current_device based on using_multiple_devices. 
487         (IOSSimulatorPort): Moved to ios_simulator.py
488         * Scripts/webkitpy/port/ios_device.py: Added.
489         (IOSDevicePort): Moved functionality from IOSPort.
490         (IOSDevicePort.determine_full_port_name): Moved from IOSPort.
491         (IOSDevicePort._build_driver_flags): Ditto.
492         (IOSDevicePort.operating_system): Ditto.
493         * Scripts/webkitpy/port/ios_simulator.py: Added.
494         (IOSSimulatorPort): Moved from ios.py.
495         (IOSSimulatorPort.__init__): Init parent class, setup device map.
496         (IOSSimulatorPort._create_simulators): Use object over unbound methods.
497         (IOSSimulatorPort.setup_test_run): Ditto.
498         (IOSSimulatorPort.using_multiple_devices): True if we are managing the simulators.
499         (IOSSimulatorPort._create_device): Use object over unbound methods.
500         (IOSSimulatorPort._remove_device): Ditto.
501         (IOSSimulatorPort.driver_name): Moved to parent class.
502         (IOSSimulatorPort.driver_cmd_line_for_logging): Ditto.
503         (IOSSimulatorPort.child_processes): Ditto.
504         (IOSSimulatorPort._testing_device): Ditto.
505         (IOSSimulatorPort.device_id_for_worker_number): Renamed as device_for_worker_number.
506         (SimulatorProcess.__init__): Call find_device_by_udid, device_id_for_worker_number has been removed.
507         * Scripts/webkitpy/xcode/simulator.py:
508         (Simulator): Make _managed_devices public.
509         (Simulator.create_device): Ditto.
510         (Simulator.remove_device): Ditto.
511         (Simulator.device_number): Ditto.
512
513 2017-03-01  Alexey Proskuryakov  <ap@apple.com>
514
515         IndexedDB.IndexedDBMultiProcess is a flaky timeout
516         https://bugs.webkit.org/show_bug.cgi?id=160780
517
518         Reviewed by Brady Eidson.
519
520         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Releasing the object
521         once doesn't necessarily deallocate the object, there can be other references.
522         We can use -[WKWebView _close] or -[WKWebView _killWebContentProcessAndResetState].
523         The latter seems more appropriate, because "kill" is what the comment says.
524
525 2017-02-28  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
526
527         Add ability for webkitpy to run bindings tests
528         https://bugs.webkit.org/show_bug.cgi?id=168979
529
530         Reviewed by Alexey Proskuryakov.
531
532         This allows the below command to run bindings tests with json output, and is a required part
533         of adding an EWS for bindings tests. (Note: this won't build because --build is not passed).
534         webkit-patch build-and-test --no-clean --no-update  --test --non-interactive --group="bindings"
535
536         * Scripts/webkitpy/port/base.py:
537         (Port.bindings_results_directory): Return the directory to place JSON results for bindings tests.
538         * Scripts/webkitpy/tool/steps/runtests.py:
539         (RunTests.run): Checks if we should be running bindings tests.
540         (RunTests._run_bindings_tests): Generates the command for bindings tests, and executes it.
541         * Scripts/webkitpy/tool/steps/steps_unittest.py:
542         (test_runtests_bindings): Unit test for the generated run-bindings-tests command.
543
544 2017-02-28  Myles C. Maxfield  <mmaxfield@apple.com>
545
546         Test fix after r213163
547         https://bugs.webkit.org/show_bug.cgi?id=168678
548
549         Unreviewed.
550
551         Tests and builds are timing out because this file is gigantic.
552
553         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
554         (TestWebKitAPI::TEST_F):
555
556 2017-02-28  Wenson Hsieh  <wenson_hsieh@apple.com>
557
558         Data interaction should support attachment elements
559         https://bugs.webkit.org/show_bug.cgi?id=168916
560         <rdar://problem/30664519>
561
562         Reviewed by Ryosuke Niwa.
563
564         Adds a new unit test verifying that a client injected bundle is able to augment UIItemProvider data vended to
565         the UI process.
566
567         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
568         * TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Added.
569         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
570         (-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]):
571         (TestWebKitAPI::TEST):
572
573 2017-02-28  Chris Dumez  <cdumez@apple.com>
574
575         [iOS] Throttle requestAnimationFrame to 30fps in low power mode
576         https://bugs.webkit.org/show_bug.cgi?id=168837
577         <rdar://problem/30700929>
578
579         Reviewed by Simon Fraser.
580
581         Add unit test for -= operator on WTF::OptionSet.
582
583         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
584         (TestWebKitAPI::TEST):
585
586 2017-02-28  Jonathan Bedard  <jbedard@apple.com>
587
588         webkitpy: Regular expression for parsing simctl device information is wrong for iPad Pro
589         https://bugs.webkit.org/show_bug.cgi?id=168394
590
591         Reviewed by Daniel Bates.
592
593         * Scripts/webkitpy/xcode/simulator.py:
594         (Simulator): Allow for parenthesis in device name.
595         * Scripts/webkitpy/xcode/simulator_unittest.py: Add iPad Pro to test.
596
597 2017-02-28  Myles C. Maxfield  <mmaxfield@apple.com>
598
599         [macOS] Migrate off of CTFontCreateForCSS
600         https://bugs.webkit.org/show_bug.cgi?id=168678
601
602         Reviewed by David Hyatt.
603
604         Exhaustively test the font matching algorithm on Sierra.
605
606         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
607         * TestWebKitAPI/Tests/WebCore/FontCache.cpp: Added.
608         (TestWebKitAPI::FontCacheTest::SetUp):
609         (TestWebKitAPI::createPlatformFont):
610         (TestWebKitAPI::compareFonts):
611         (TestWebKitAPI::TEST_F):
612
613 2017-02-28  Basuke Suzuki  <Basuke.Suzuki@am.sony.com>
614
615         Windows build doesn't start build if the git branch is not master
616         https://bugs.webkit.org/show_bug.cgi?id=168843
617
618         Reviewed by Myles C. Maxfield.
619
620         Use correct value for product base dir.
621
622         * Scripts/build-webkit:
623
624 2017-02-24  Matt Rajca  <mrajca@apple.com>
625
626         Media: notify clients when autoplayed media ends without being paused
627         https://bugs.webkit.org/show_bug.cgi?id=168852
628
629         Reviewed by Alex Christensen.
630
631         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
632         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
633         (TEST): Added.
634
635 2017-02-28  Jonathan Bedard  <jbedard@apple.com>
636
637         webkitpy: jsc-ews should run when Makefiles and build scripts are changed
638         https://bugs.webkit.org/show_bug.cgi?id=168950
639
640         Reviewed by Alexey Proskuryakov.
641
642         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
643         (CheckPatchRelevance): Add makefiles and build scripts to jsc_paths.
644
645 2017-02-27  Alex Christensen  <achristensen@webkit.org>
646
647         Begin enabling WebRTC on 64-bit
648         https://bugs.webkit.org/show_bug.cgi?id=168915
649
650         Reviewed by Eric Carlson.
651
652         * Scripts/build-webkit:
653         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
654
655 2017-02-27  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
656
657         Windows regression: webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_jsc[_debug]
658         https://bugs.webkit.org/show_bug.cgi?id=168628
659
660         Reviewed by Alexey Proskuryakov.
661
662         * Scripts/webkitpy/tool/steps/runtests.py:
663         (RunTests._run_javascriptcore_tests): Pass options to the Base instance.
664         * Scripts/webkitpy/tool/steps/steps_unittest.py:
665         (StepsTest._step_options): Add a new 'root' option that's passed through to the Base instance.
666         (test_runtests_jsc): Not running webkit-build-directory anymore, and changed json output directory.
667         (test_runtests_jsc_debug): Ditto
668
669 2017-02-27  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
670
671         Add machine-readable results for bindings tests
672         https://bugs.webkit.org/show_bug.cgi?id=168626
673
674         Reviewed by Alexey Proskuryakov.
675
676         * Scripts/run-bindings-tests:
677         (main): Add optional --json-output command-line parameter.
678         * Scripts/webkitpy/bindings/main.py:
679         (BindingsTests.__init__): Add variables to store machine-readable results.
680         (BindingsTests.detect_changes): Store results in machine-readable form if applicable.
681         (BindingsTests.main): Write data to JSON file if applicable.
682
683 2017-02-27  Wenson Hsieh  <wenson_hsieh@apple.com>
684
685         Unreviewed, roll out r213065.
686
687         We need these temporary fixes to keep the perf bots running.
688
689         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
690         * TestWebKitAPI/ios/DataInteractionSimulator.h:
691         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
692         (-[DataInteractionSimulator _advanceProgress]):
693
694 2017-02-27  Simon Fraser  <simon.fraser@apple.com>
695
696         Add specification and status metadata to CSSProperties.json, and validate it
697         https://bugs.webkit.org/show_bug.cgi?id=168901
698
699         Reviewed by Darin Adler.
700
701         Enhance check-webkit-style to validate the status and spec data in CSSProperties.json.
702         
703         Current validation is basic type validation and some cross-referencing, but could be
704         enhanced.
705
706         * Scripts/webkitpy/style/checkers/jsonchecker.py:
707         (JSONCSSPropertiesChecker.check):
708         (JSONCSSPropertiesChecker.check_category):
709         (JSONCSSPropertiesChecker):
710         (JSONCSSPropertiesChecker.check_categories):
711         (JSONCSSPropertiesChecker.validate_url):
712         (JSONCSSPropertiesChecker.validate_status_type):
713         (JSONCSSPropertiesChecker.validate_comment):
714         (JSONCSSPropertiesChecker.validate_status):
715         (JSONCSSPropertiesChecker.validate_property_category):
716         (JSONCSSPropertiesChecker.validate_property_specification):
717         (JSONCSSPropertiesChecker.check_property):
718
719 2017-02-27  Carlos Garcia Campos  <cgarcia@igalia.com>
720
721         Unreviewed. Fix two GTK+ unit tests failing after r213062.
722
723         We were building wrong Content-Disposition headers that libsoup doesn't parse correctly.
724
725         * TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
726         (addContentDispositionHTTPHeaderToResponse):
727         * TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
728         (serverCallback):
729
730 2017-02-24  Jer Noble  <jer.noble@apple.com>
731
732         Add public method to MediaTime for doing timeScale conversion.
733         https://bugs.webkit.org/show_bug.cgi?id=168860
734
735         Reviewed by Eric Carlson.
736
737         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
738         (TestWebKitAPI::TEST):
739
740 2017-02-26  Wenson Hsieh  <wenson_hsieh@apple.com>
741
742         Unreviewed, revert all temporary build fixes for data interaction
743
744         Rolls out r212990, r212988 and r212984.
745
746         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
747         * TestWebKitAPI/ios/DataInteractionSimulator.h:
748         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
749         (-[DataInteractionSimulator _advanceProgress]):
750
751 2017-02-27  Alex Christensen  <achristensen@webkit.org>
752
753         [libwebrtc] Enable WebRTC in some Production Builds
754         https://bugs.webkit.org/show_bug.cgi?id=168858
755
756         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
757
758 2017-02-27  Andy Estes  <aestes@apple.com>
759
760         Add a way to test file input without relying on drag and drop
761         https://bugs.webkit.org/show_bug.cgi?id=168848
762         <rdar://problem/22258242>
763
764         Reviewed by Tim Horton.
765
766         Existing layout tests relied on drag and drop support in EventSender to configure a file
767         input element for testing. This had several problems:
768
769         1. WebKitTestRunner has no support for beginDragWithFiles(), and DumpRenderTree doesn't
770            support it on iOS.
771         2. We have no test coverage for selecting files via the runOpenPanel UI delegate, leading to
772            bugs like webkit.org/b/159686.
773
774         Even if we fixed (1), we'd still have a test coverage gap due to (2), so this patch
775         introduces a way for a test to specify the list of files that should be selected by the
776         runOpenPanel UI delegate: TestRunner.setOpenPanelFiles(). It also creates versions of a
777         number of existing file input tests using TestRunner.setOpenPanelFiles() instead of
778         EventSender.beginDragWithFiles().
779
780         * DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
781         (-[DumpRenderTreeBrowserView webView:runOpenPanelForFileButtonWithResultListener:configuration:]):
782         Overrode to call the corresponding method on UIDelegate.
783         * DumpRenderTree/TestRunner.cpp:
784         (setOpenPanelFilesCallback): Added to call TestRunner::setOpenPanelFiles().
785         (TestRunner::staticFunctions): Registered setOpenPanelFiles.
786         (TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to a
787         std::vector of std::strings.
788         * DumpRenderTree/TestRunner.h:
789         (TestRunner::openPanelFiles):
790         * DumpRenderTree/mac/UIDelegate.mm:
791         (-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
792         Added. Converts the array of file paths to an NSArray of NSURLs, resolving the file paths
793         relative to the current test URL. Returns either the first item or all items depending on
794         the value of allowMultipleFiles.
795         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Defined setOpenPanelFiles.
796         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
797         (WTR::TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to
798         a WKArray of WKURLs, resolving the file paths relative to the current test URL, and sends
799         the WKArray to the UI process with the "SetOpenPanelFileURLs" message.
800         * WebKitTestRunner/InjectedBundle/TestRunner.h:
801         * WebKitTestRunner/TestController.cpp:
802         (WTR::runOpenPanel): Calls the WKOpenPanelResultListener with either the first item or all
803         items, depending on the value of WKOpenPanelParametersGetAllowsMultipleFiles().
804         (WTR::TestController::resetStateToConsistentValues): Clear m_openPanelFileURLs.
805         * WebKitTestRunner/TestController.h:
806         (WTR::TestController::openPanelFileURLs):
807         (WTR::TestController::setOpenPanelFileURLs):
808         * WebKitTestRunner/TestInvocation.cpp:
809         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Added code to handle the
810         "SetOpenPanelFileURLs" message.
811
812 2017-02-26  Wenson Hsieh  <wenson_hsieh@apple.com>
813
814         REGRESSION (r211312): Double-clicking a word selects it along with the space that follows it
815         https://bugs.webkit.org/show_bug.cgi?id=168821
816         <rdar://problem/30690431>
817
818         Reviewed by Tim Horton.
819
820         Adds the ability for TestWKWebView to send a sequence of clicks to its window, and uses this capability to
821         verify that double clicking to select a word in a WKWebView on Mac selects just the word, and not a trailing
822         space along with it.
823
824         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
825         * TestWebKitAPI/Tests/WebKit2Cocoa/double-click-does-not-select-trailing-space.html: Added.
826         * TestWebKitAPI/Tests/mac/WKWebViewSelectionTests.mm: Copied from Tools/TestWebKitAPI/cocoa/TestWKWebView.h.
827         (TEST):
828         * TestWebKitAPI/cocoa/TestWKWebView.h:
829         * TestWebKitAPI/cocoa/TestWKWebView.mm:
830         (-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]):
831         (-[TestWKWebViewHostWindow _mouseUpAtPoint:clickCount:]):
832         (-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
833         (-[TestWKWebView mouseUpAtPoint:]):
834         (-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
835         (-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:]): Deleted.
836         (-[TestWKWebViewHostWindow _mouseUpAtPoint:]): Deleted.
837
838 2017-02-25  Simon Fraser  <simon.fraser@apple.com>
839
840         Make check-webkit-style do some basic validation for CSSProperties.json
841         https://bugs.webkit.org/show_bug.cgi?id=168874
842
843         Reviewed by Zalan Bujtas.
844
845         Do checking of the keys and the value types.
846         
847         Print exceptions if they occur; previously, coding errors caused silent failure.
848
849         * Scripts/webkitpy/style/checker.py:
850         (CheckerDispatcher._create_checker):
851         * Scripts/webkitpy/style/checkers/jsonchecker.py:
852         (JSONFeaturesChecker.check):
853         (JSONCSSPropertiesChecker):
854         (JSONCSSPropertiesChecker.check):
855         (JSONCSSPropertiesChecker.validate_comment):
856         (JSONCSSPropertiesChecker.validate_type):
857         (JSONCSSPropertiesChecker.validate_boolean):
858         (JSONCSSPropertiesChecker.validate_string):
859         (JSONCSSPropertiesChecker.validate_array):
860         (JSONCSSPropertiesChecker.validate_codegen_properties):
861         (JSONCSSPropertiesChecker.check_property):
862         (JSONCSSPropertiesChecker.check_codegen_properties):
863
864 2017-02-26  Chris Dumez  <cdumez@apple.com>
865
866         HitTestResult's linkSuggestedFilename should sanitize download attribute
867         https://bugs.webkit.org/show_bug.cgi?id=168856
868         <rdar://problem/30683109>
869
870         Reviewed by Antti Koivisto.
871
872         Add test coverage.
873
874         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
875         * TestWebKitAPI/Tests/WebKit2/link-with-download-attribute-with-slashes.html: Added.
876         * TestWebKitAPI/Tests/WebKit2/mac/ContextMenuDownload.mm:
877         (TestWebKitAPI::decideDestinationWithSuggestedFilenameContainingSlashes):
878         (TestWebKitAPI::TEST):
879
880 2017-02-24  Joseph Pecoraro  <pecoraro@apple.com>
881
882         [Resource Timing] Media elements initiated loads should set the initiatorType to their element name (video/audio)
883         https://bugs.webkit.org/show_bug.cgi?id=168680
884
885         Reviewed by Youenn Fablet.
886
887         * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
888         (TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
889         Include a dummy HTMLVideoElement.
890
891 2017-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
892
893         Unreviewed, temporarily disable all data interaction tests.
894
895         They will be reenabled once the bots are ready to build and run them.
896
897         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
898         * TestWebKitAPI/ios/DataInteractionSimulator.h:
899         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
900
901 2017-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
902
903         Unreviewed, fix the internal build.
904
905         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
906         (-[DataInteractionSimulator _advanceProgress]):
907
908 2017-02-24  Matt Rajca  <mrajca@apple.com>
909
910         Media: notify clients when autoplay is denied
911         https://bugs.webkit.org/show_bug.cgi?id=168840
912
913         Reviewed by Alex Christensen.
914
915         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
916         (handleAutoplayEvent):
917         (runUntilReceivesAutoplayEvent):
918         (TEST): Added.
919
920 2017-02-23  Matt Rajca  <mrajca@apple.com>
921
922         API test WebKit2.WebsitePoliciesPlayAfterPreventedAutoplay is timing out
923         https://bugs.webkit.org/show_bug.cgi?id=167466
924
925         Reviewed by Alex Christensen.
926
927         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
928         (TEST): Use the correct API version.
929
930 2017-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
931
932         Refactor data interaction to use new WKDataInteraction SPI
933         https://bugs.webkit.org/show_bug.cgi?id=168602
934         Work towards <rdar://problem/30313681>
935
936         Reviewed by Tim Horton.
937
938         Update DataInteractionSimulator to simulate data interaction using updated SPI. See changes in WebKit2 for more details.
939
940         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
941         (TestWebKitAPI::TEST):
942         * TestWebKitAPI/ios/DataInteractionSimulator.h:
943         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
944         (-[DataInteractionSimulator _resetSimulatedState]):
945         (-[DataInteractionSimulator runFrom:to:]):
946         (-[DataInteractionSimulator _advanceProgress]):
947         (-[DataInteractionSimulator _currentLocation]):
948         (-[DataInteractionSimulator _finishDataInteraction]): Deleted.
949         (-[DataInteractionSimulator webViewDidSendDataInteractionStartRequest:]): Deleted.
950         (-[DataInteractionSimulator webView:didReceiveDataInteractionStartResponse:]): Deleted.
951
952 2017-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
953
954         Remove the data interaction gesture recognizer
955         https://bugs.webkit.org/show_bug.cgi?id=168600
956         <rdar://problem/30313681>
957
958         Reviewed by Anders Carlsson.
959
960         Adjust TestWebKitAPI for changes in WebKit2.
961
962         * TestWebKitAPI/ios/DataInteractionSimulator.h:
963         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
964         (-[DataInteractionSimulator initWithWebView:]):
965         (-[DataInteractionSimulator runFrom:to:]):
966         (-[DataInteractionSimulator _advanceProgress]):
967         (-[DataInteractionSimulator _finishDataInteraction]):
968         (-[MockLongPressGestureRecognizer initWithWindow:]): Deleted.
969         (-[MockLongPressGestureRecognizer locationInView:]): Deleted.
970         (-[MockLongPressGestureRecognizer state]): Deleted.
971         (-[MockLongPressGestureRecognizer numberOfTouches]): Deleted.
972         (-[DataInteractionSimulator _recognizeGestureAtLocation:withState:]): Deleted.
973         (-[DataInteractionSimulator dataInteractionGestureRecognizer]): Deleted.
974         (-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]): Deleted.
975
976 2017-02-24  John Wilander  <wilander@apple.com>
977
978         Resource Load Statistics: Add alternate classification method
979         https://bugs.webkit.org/show_bug.cgi?id=168347
980         <rdar://problem/30352793>
981         <rdar://problem/30646710>
982         <rdar://problem/30660708>
983
984         Reviewed by Alex Christensen.
985
986         Added three testRunner functions to facilitate layout tests:
987         - setStatisticsSubframeUnderTopFrameOrigin()
988         - setStatisticsSubresourceUnderTopFrameOrigin()
989         - setStatisticsSubresourceUniqueRedirectTo()
990
991         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
992         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
993         (WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
994         (WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
995         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
996         * WebKitTestRunner/InjectedBundle/TestRunner.h:
997         * WebKitTestRunner/TestController.cpp:
998         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
999         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
1000         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
1001         * WebKitTestRunner/TestController.h:
1002         * WebKitTestRunner/TestInvocation.cpp:
1003         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1004
1005 2017-02-23  Joseph Pecoraro  <pecoraro@apple.com>
1006
1007         [Resource Timing] Add Experimental Feature Flag
1008         https://bugs.webkit.org/show_bug.cgi?id=167147
1009
1010         Reviewed by Ryosuke Niwa.
1011
1012         * DumpRenderTree/mac/DumpRenderTree.mm:
1013         (enableExperimentalFeatures):
1014         (resetWebPreferencesToConsistentValues):
1015         * DumpRenderTree/win/DumpRenderTree.cpp:
1016         (enableExperimentalFeatures):
1017         (resetWebPreferencesToConsistentValues):
1018         Put experimental flags in the experimental section.
1019
1020 2017-02-23  Beth Dakin  <bdakin@apple.com> + Dan Saunders  <dasau@microsoft.com>
1021
1022         No reliable way to get a snapshot of WKWebView (macOS)
1023         https://bugs.webkit.org/show_bug.cgi?id=161450
1024         -and corresponding-
1025         <rdar://problem/23846039>
1026
1027         Reviewed by Tim Horton.
1028
1029         Test for WKWebView’s new API takeSnapshotWithConfiguration:completionHandler:
1030
1031         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1032         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: Added.
1033         (convertToCGImage):
1034         (getPixelIndex):
1035         (TEST):
1036
1037 2017-02-23  Saam Barati  <sbarati@apple.com>
1038
1039         Speculative fix for jsc timing out tests
1040         https://bugs.webkit.org/show_bug.cgi?id=168791
1041
1042         Rubber Stamped by Keith Miller.
1043
1044         Play musical chairs with IRC and Briggs options on
1045         ftl-eager and ftl-eager-no-cjit.
1046
1047         * Scripts/run-jsc-stress-tests:
1048
1049 2017-02-23  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1050
1051         Improve error message when the WPT server fails to start.
1052         https://bugs.webkit.org/show_bug.cgi?id=168759
1053
1054         Reviewed by Ryosuke Niwa.
1055
1056         Check if the WPT server is running after 1 second, and if is not
1057         print useful information for helping the user to debug the issue.
1058
1059         Using check_running_pid() to check if the process is still running
1060         doesn't work. A process started via subprocess popen that has ended
1061         will be in a zombie state until a call to wait/communicate/poll
1062         is done, or until the object is deleted or garbage collected.
1063
1064         This adds also support for testing the behaviour of subprocess
1065         poll() on the unit tests that use MockProcess.
1066
1067         A new test is added also for the battery of tests for the WPT
1068         server.
1069
1070         * Scripts/webkitpy/common/system/executive_mock.py:
1071         (MockProcess.__init__):
1072         (MockProcess.wait):
1073         (MockProcess.communicate):
1074         (MockProcess.poll):
1075         (MockExecutive.popen):
1076         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1077         (WebPlatformTestServer.__init__):
1078         (WebPlatformTestServer._prepare_config):
1079         (WebPlatformTestServer._spawn_process):
1080         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:
1081         (TestWebPlatformTestServer.test_corrupted_subserver_files):
1082         (TestWebPlatformTestServer):
1083         (TestWebPlatformTestServer.test_server_fails_to_start_throws_exception):
1084
1085 2017-02-23  Wenson Hsieh  <wenson_hsieh@apple.com>
1086
1087         Unreviewed, temporarily disable DataInteractionTests in TestWebKitAPI.
1088
1089         These will be reenabled in https://bugs.webkit.org/show_bug.cgi?id=168602.
1090
1091         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1092
1093 2017-02-22  Wenson Hsieh  <wenson_hsieh@apple.com>
1094
1095         Data interaction causes selection to fall out of sync between web/UI processes
1096         https://bugs.webkit.org/show_bug.cgi?id=168735
1097         <rdar://problem/30657817>
1098
1099         Reviewed by Tim Horton.
1100
1101         Adds a new method to TestWKWebView for querying selection view rects from the UI process and augments data
1102         interaction unit tests to check for selection rects using this new hook.
1103
1104         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1105         (makeCGRectValue):
1106         (TestWebKitAPI::TEST):
1107         * TestWebKitAPI/cocoa/TestWKWebView.h:
1108         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1109         (-[TestWKWebView selectionRectsAfterPresentationUpdate]):
1110         * TestWebKitAPI/ios/DataInteractionSimulator.h:
1111         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1112         (-[DataInteractionSimulator _resetSimulatedState]):
1113         (-[DataInteractionSimulator runFrom:to:]):
1114         (-[DataInteractionSimulator finalSelectionRects]):
1115
1116 2017-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1117
1118         Better handle Thread and RunLoop initialization
1119         https://bugs.webkit.org/show_bug.cgi?id=167828
1120
1121         Reviewed by Yusuke Suzuki.
1122
1123         Remove unnecessary calls to WTF::initializeMainThread().
1124
1125         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
1126         (TestWebKitAPI::ComplexTextControllerTest::SetUp):
1127         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
1128         (TestWebKitAPI::ContentExtensionTest::SetUp):
1129         * WebKitTestRunner/TestController.cpp:
1130         (WTR::TestController::initialize):
1131
1132 2017-02-22  Myles C. Maxfield  <mmaxfield@apple.com>
1133
1134         [Cocoa] Remove Yosemite-specific font lookup code
1135         https://bugs.webkit.org/show_bug.cgi?id=168682
1136
1137         Reviewed by Zalan Bujtas.
1138
1139         * DumpRenderTree/mac/DumpRenderTree.mm:
1140         (fontWhitelist):
1141         (adjustFonts):
1142         (createWebViewAndOffscreenWindow):
1143         (drt_NSFontManager_availableFontFamilies): Deleted.
1144         (drt_NSFontManager_availableFonts): Deleted.
1145         (swizzleNSFontManagerMethods): Deleted.
1146         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
1147         (WTR::activateFonts):
1148         (WTR::allowedFontFamilySet): Deleted.
1149         (WTR::systemHiddenFontFamilySet): Deleted.
1150         (WTR::wtr_NSFontManager_availableFontFamilies): Deleted.
1151         (WTR::wtr_NSFontManager_availableFonts): Deleted.
1152         (WTR::swizzleNSFontManagerMethods): Deleted.
1153         * WebKitTestRunner/mac/TestControllerMac.mm:
1154         (WTR::generateWhitelist):
1155         (WTR::TestController::platformInitializeContext):
1156
1157 2017-02-22  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1158
1159         AutoInstaller should not skip the install step if the package is downloaded but not installed
1160         https://bugs.webkit.org/show_bug.cgi?id=168737
1161
1162         Reviewed by Ryosuke Niwa.
1163
1164         Don't skip the install step if the package target path don't exists.
1165         Fix the description for "should_refresh" optional argument.
1166
1167         * Scripts/webkitpy/common/system/autoinstall.py:
1168         (AutoInstaller.install):
1169
1170 2017-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1171
1172         [GTK] Do not use g_return_if_fail in EventSenderProxy::continuousMouseScrollBy
1173         https://bugs.webkit.org/show_bug.cgi?id=168721
1174
1175         Reviewed by Michael Catanzaro.
1176
1177         Use WTFLogAlways instead. It's still shown in stderr, but it won't crash if we ever run tests with fatal
1178         criticals.
1179
1180         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
1181         (WTR::EventSenderProxy::continuousMouseScrollBy):
1182
1183 2017-02-21  Youenn Fablet  <youenn@apple.com>
1184
1185         [WebRTC][Mac] Activate libwebrtc
1186         https://bugs.webkit.org/show_bug.cgi?id=167293
1187         <rdar://problem/30401864>
1188
1189         Reviewed by Alex Christensen.
1190
1191         Fixing paths to allow loading libwebrtc.dylib successfully.
1192
1193         * Scripts/build-webkit:
1194         * Scripts/webkitdirs.pm:
1195         (setupMacWebKitEnvironment):
1196         (setupIOSWebKitEnvironment):
1197         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1198
1199 2017-02-21  Saam Barati  <sbarati@apple.com>
1200
1201         Add the Briggs optimistic allocator to run on ARM64
1202         https://bugs.webkit.org/show_bug.cgi?id=168454
1203
1204         Reviewed by Filip Pizlo.
1205
1206         * Scripts/run-jsc-stress-tests:
1207
1208 2017-02-20  Filip Pizlo  <fpizlo@apple.com>
1209
1210         The collector thread should only start when the mutator doesn't have heap access
1211         https://bugs.webkit.org/show_bug.cgi?id=167737
1212
1213         Reviewed by Keith Miller.
1214         
1215         Make more tests collect continuously.
1216
1217         * Scripts/run-jsc-stress-tests:
1218
1219 2017-02-20  Simon Fraser  <simon.fraser@apple.com>
1220
1221         Add support to PlatformCALayer/GraphicsLayerCA for subpixel-antialiased text, with a Setting and a MiniBrowser switch
1222         https://bugs.webkit.org/show_bug.cgi?id=168620
1223         <rdar://problem/30617772>
1224
1225         Reviewed by Tim Horton.
1226         
1227         Add a setting that allows one to toggle subpixel-antialiased layer text on and off.
1228
1229         * DumpRenderTree/mac/DumpRenderTree.mm:
1230         (resetWebPreferencesToConsistentValues):
1231         * MiniBrowser/mac/SettingsController.h:
1232         * MiniBrowser/mac/SettingsController.m:
1233         (-[SettingsController _populateMenu]):
1234         (-[SettingsController validateMenuItem:]):
1235         (-[SettingsController toggleSubpixelAntialiasedLayerTextEnabled:]):
1236         (-[SettingsController subpixelAntialiasedLayerTextEnabled]):
1237         * MiniBrowser/mac/WK1BrowserWindowController.m:
1238         (-[WK1BrowserWindowController didChangeSettings]):
1239         * MiniBrowser/mac/WK2BrowserWindowController.m:
1240         (-[WK2BrowserWindowController didChangeSettings]):
1241         * WebKitTestRunner/TestController.cpp:
1242         (WTR::TestController::resetPreferencesToConsistentValues):
1243
1244 2017-02-21  Jonathan Bedard  <jbedard@apple.com>
1245
1246         webkitpy: Refactor Device class
1247         https://bugs.webkit.org/show_bug.cgi?id=168332
1248
1249         Reviewed by Alexey Proskuryakov.
1250
1251         Separate the more specific SimulatedDevice from the abstract
1252         idea of a device.
1253
1254         * Scripts/webkitpy/xcode/device.py: Added.
1255         (Device):  Base device class.
1256         (Device.__init__): Initialize _host, name and udid.
1257         (Device.install_app): Function declaration.
1258         (Device.launch_app): Ditto.
1259         (Device.__eq__): Compare two devices by udid.
1260         (Device.__ne__): Ditto.
1261         (Device.__repr__): Return device name and udid in formatted string.
1262         * Scripts/webkitpy/xcode/simulated_device.py: Copied from Tools/Scripts/webkitpy/xcode/simulator.py.
1263         (SimulatedDevice):
1264         (SimulatedDevice.__init__): Call Device.__init__ first.
1265         (SimulatedDevice.delete): Device -> SimulatedDevice.
1266         (SimulatedDevice.reset): Ditto.
1267         (SimulatedDevice.__eq__): Moved to device.py.
1268         (SimulatedDevice.__ne__): Ditto.
1269         (SimulatedDevice.__repr__): Call Device __repr__ first.
1270         (DeviceType): Kept in Scripts/webkitpy/xcode/simulator.py.
1271         (Runtime): Kept in Scripts/webkitpy/xcode/simulator.py.
1272         (Device): Renamed SimulatedDevice.
1273         (Simulator): Kept in Scripts/webkitpy/xcode/simulator.py.
1274         * Scripts/webkitpy/xcode/simulator.py:
1275         (Simulator): Define Simulator.Device class as None.
1276         (Simulator.__init__): Import SimulatedDevice as Simulator.Device.
1277         (Simulator.delete_device): Use Simulator.Device.
1278         (Simulator.reset_device): Ditto.
1279         (Simulator._parse_devices): Ditto.
1280         (Simulator.lookup_or_create_device): Make 
1281         (Device): Moved to simulated_device as SimulatedDevice.
1282
1283 2017-02-21  JF Bastien  <jfbastien@apple.com>
1284
1285         Fix cmake build
1286         https://bugs.webkit.org/show_bug.cgi?id=168665
1287
1288         Reviewed by Mark Lam.
1289
1290         It was broken by r212555 and r212681.
1291
1292         * DumpRenderTree/PlatformMac.cmake:
1293
1294 2017-02-21  Alexey Proskuryakov  <ap@apple.com>
1295
1296         Improve bot watcher's dashboard performance
1297         https://bugs.webkit.org/show_bug.cgi?id=168624
1298         <rdar://problem/30190109>
1299
1300         Reviewed by Daniel Bates.
1301
1302         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
1303         There was an unnecessary linear complexity algorithm in indexOfRevision().
1304
1305 2017-02-21  Alex Christensen  <achristensen@webkit.org>
1306
1307         Unreviewed, rolling out r212699.
1308
1309         Internal build not ready
1310
1311         Reverted changeset:
1312
1313         "[WebRTC][Mac] Activate libwebrtc"
1314         https://bugs.webkit.org/show_bug.cgi?id=167293
1315         http://trac.webkit.org/changeset/212699
1316
1317 2017-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1318
1319         Remove ENABLE_THREADED_COMPOSITOR build option
1320         https://bugs.webkit.org/show_bug.cgi?id=168606
1321
1322         Reviewed by Michael Catanzaro.
1323
1324         * Scripts/webkitperl/FeatureList.pm:
1325
1326 2017-02-20  Youenn Fablet  <youenn@apple.com>
1327
1328         [WebRTC][Mac] Activate libwebrtc
1329         https://bugs.webkit.org/show_bug.cgi?id=167293
1330         <rdar://problem/30401864>
1331
1332         Reviewed by Alex Christensen.
1333
1334         Fixing paths to allow loading libwebrtc.dylib successfully.
1335
1336         * Scripts/build-webkit:
1337         * Scripts/webkitdirs.pm:
1338         (setupMacWebKitEnvironment):
1339         (setupIOSWebKitEnvironment):
1340
1341 2017-02-20  Ryan Haddad  <ryanhaddad@apple.com>
1342
1343         Unreviewed, rolling out r212685.
1344
1345         This change broke the 32-bit Sierra build.
1346
1347         Reverted changeset:
1348
1349         "Resource Load Statistics: Add alternate classification
1350         method"
1351         https://bugs.webkit.org/show_bug.cgi?id=168347
1352         http://trac.webkit.org/changeset/212685
1353
1354 2017-02-20  John Wilander  <wilander@apple.com>
1355
1356         Resource Load Statistics: Add alternate classification method
1357         https://bugs.webkit.org/show_bug.cgi?id=168347
1358         <rdar://problem/30352793>
1359
1360         Reviewed by Alex Christensen.
1361
1362         Added three testRunner functions to facilitate layout tests:
1363         - setStatisticsSubframeUnderTopFrameOrigin()
1364         - setStatisticsSubresourceUnderTopFrameOrigin()
1365         - setStatisticsSubresourceUniqueRedirectTo()
1366
1367         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1368         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1369         (WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
1370         (WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
1371         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
1372         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1373         * WebKitTestRunner/TestController.cpp:
1374         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
1375         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
1376         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
1377         * WebKitTestRunner/TestController.h:
1378         * WebKitTestRunner/TestInvocation.cpp:
1379         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1380
1381 2017-02-20  Anders Carlsson  <andersca@apple.com>
1382
1383         Use the new drag code path when dragging links
1384         https://bugs.webkit.org/show_bug.cgi?id=168612
1385
1386         Reviewed by Tim Horton.
1387
1388         If a type is not dynamic, just use the static UTI.
1389
1390         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1391         (-[LocalPasteboard writeObjects:]):
1392
1393 2017-02-17  Anders Carlsson  <andersca@apple.com>
1394
1395         Add a new drag code path and use it for dragging plain text
1396         https://bugs.webkit.org/show_bug.cgi?id=168534
1397
1398         Reviewed by Geoffrey Garen.
1399
1400         Update the testing infrastructure to handle NSDraggingSession.
1401
1402         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
1403         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm: Renamed from Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m.
1404         (-[LocalPasteboard writeObjects:]):
1405         Implement this in terms of the legacy pasteboard API.
1406
1407         * DumpRenderTree/mac/EventSendingController.mm:
1408         (drt_WebHTMLView_beginDraggingSessionWithItemsEventSource):
1409         (+[EventSendingController initialize]):
1410         Swizzle the drag method instead of adding a delegate method (like the old code does).
1411
1412 2017-02-20  Florian Bruhin  <git@the-compiler.org>
1413
1414         Handle EINTR during webkitpy server process select()
1415         https://bugs.webkit.org/show_bug.cgi?id=168361
1416
1417         Reviewed by Michael Catanzaro.
1418
1419         Otherwise, on my machine, resizing the terminal run-webkit-tests is running in
1420         makes it die.
1421
1422         * Scripts/webkitpy/port/server_process.py:
1423         (ServerProcess._wait_for_data_and_update_buffers_using_select):
1424
1425 2017-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1426
1427         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/default-menu.
1428
1429         It can happen that the window onload event is dispatched after the load finished is received in the UI
1430         process. Move the script to select the text to the body instead of using a window onload handler.
1431
1432         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
1433         (testContextMenuDefaultMenu):
1434
1435 2017-02-20  Manuel Rego Casasnovas  <rego@igalia.com>
1436
1437         [css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
1438         https://bugs.webkit.org/show_bug.cgi?id=167693
1439
1440         Reviewed by Sergio Villar Senin.
1441
1442         * Scripts/webkitperl/FeatureList.pm:
1443         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1444         * TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
1445         (TestWebKitAPI::computeNumberOfTracks):
1446         (TestWebKitAPI::TEST):
1447         * TestWebKitAPI/Tests/WebCore/GridPosition.cpp:
1448         (TestWebKitAPI::TEST):
1449
1450 2017-02-19  Commit Queue  <commit-queue@webkit.org>
1451
1452         Unreviewed, rolling out r212466.
1453         https://bugs.webkit.org/show_bug.cgi?id=168577
1454
1455         causes crashes on AArch64 on linux, maybe it's causing crashes
1456         on iOS too (Requested by pizlo on #webkit).
1457
1458         Reverted changeset:
1459
1460         "The collector thread should only start when the mutator
1461         doesn't have heap access"
1462         https://bugs.webkit.org/show_bug.cgi?id=167737
1463         http://trac.webkit.org/changeset/212466
1464
1465 2017-02-17  Aakash Jain  <aakash_jain@apple.com>
1466
1467         Fix failure from r212579.
1468
1469         Unreviewed build-fix.
1470
1471         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
1472         (CheckPatchRelevance._changes_are_relevant): Return true for all groups others than jsc for now.
1473
1474 2017-02-17  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
1475
1476         EWS should run JavaScriptCore tests
1477         https://bugs.webkit.org/show_bug.cgi?id=162458
1478
1479         Reviewed by Alexey Proskuryakov.
1480
1481         * QueueStatusServer/config/queues.py: Add jsc-ews queue.
1482         * QueueStatusServer/model/queuestatus.py:
1483         (QueueStatus.did_skip): Returns whether patch was skipped, based on status.
1484         * QueueStatusServer/handlers/statusbubble.py:
1485         (StatusBubble._should_show_bubble_for): Add logic to hide jsc-ews bubble if the patch does not touch jsc.
1486         * Scripts/webkitpy/common/checkout/scm/scm_mock.py:
1487         (MockSCM.__init__): Add _mockChangedFiles variable.
1488         (MockSCM.changed_files): Change to use _mockChangedFiles variables.
1489         * Scripts/webkitpy/common/config/ews.json: Add config info for JSC EWS.
1490         * Scripts/webkitpy/common/config/ports.py: Add support for JSC EWS in Mac Port.
1491         (DeprecatedPort._append_build_style_flag): Helper function to append build_style to a command.
1492         (DeprecatedPort.build_jsc_command): Added - command to build JSC only (quicker than building all of WebKit).
1493         (DeprecatedPort.run_javascriptcore_tests_command): Allow JSC EWS to only run JSC tests.
1494         (MacPort.run_webkit_tests_command): Check for JSC.
1495         * Scripts/webkitpy/common/config/ports_mock.py:
1496         (MockPort.run_javascriptcore_tests_command): Add build_style argument.
1497         * Scripts/webkitpy/common/config/ports_unittest.py:
1498         (DeprecatedPortTest.test_mac_port): Add unit tests for build-jsc shell command.
1499         * Scripts/webkitpy/common/net/abstracttestresults.py: Added.
1500         (AbstractTestResults): Abstract superclass of JSCTestResults and JSCTestResults.
1501         (AbstractTestResults.test_results): Stub.
1502         (AbstractTestResults.failing_tests): Stub.
1503         (AbstractTestResults.did_exceed_test_failure_limit): Stub.
1504         * Scripts/webkitpy/common/net/jsctestresults.py: Added.
1505         (JSCTestResults): Added.
1506         (JSCTestResults.intersection): Return a JSCTestResults object with failures common to both input objects.
1507         (JSCTestResults.results_from_string): Use json library to parse results.
1508         (JSCTestResults.__init__): Initialize members.
1509         (JSCTestResults.equals): This enables unit testing.
1510         (JSCTestResults.is_subset): Checks if one set of failures is a subset of another.
1511         (JSCTestResults.all_passed): Getter.
1512         (JSCTestResults.failing_tests): Getter.
1513         (JSCTestResults.did_exceed_test_failure_limit): Getter.
1514         * Scripts/webkitpy/common/net/jsctestresults_unittest.py: Added.
1515         (JSCTestResultsTest): Class to test JSCTestResults.
1516         (JSCTestResultsTest.test_results_from_string): Tests parsing.
1517         (JSCTestResultsTest.test_intersection_api_tests): Unit test for intersection() class method.
1518         (JSCTestResultsTest.test_intersection_stress_tests): Unit test for intersection() class method.
1519         (JSCTestResultsTest.test_intersection_general_case): Unit test for intersection() class method.
1520         * Scripts/webkitpy/port/base.py:
1521         (Port.jsc_results_directory): Returns the directory for the JSC test results JSON file.
1522         * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
1523         (EarlyWarningSystemTask.run): Add check_patch_relevance step.
1524         * Scripts/webkitpy/tool/bot/jscews_unittest.py: Added.
1525         (MockPatchAnalysisTask): Mocked-out version of PatchAnalysisTask that doesn't run commands.
1526         (MockPatchAnalysisTask.__init__): Sets attributes.
1527         (MockPatchAnalysisTask._test): Override to not run command.
1528         (MockPatchAnalysisTask._build_and_test_without_patch): Override to not run command.
1529         (MockPatchAnalysisTask.validate): Assume mocked patch is valid for purposes of testing retry logic.
1530         (MockPatchAnalysisTask.test_run_count): Specific to the mocked version, to test retry logic.
1531         (MockJSCEarlyWarningSystem): Mocked-out version of AbstarctEarlyWarningSystem so we can provide test results.
1532         (MockJSCEarlyWarningSystem.__init__): Sets attributes, also sets group to jsc.
1533         (MockJSCEarlyWarningSystem.test_results): Returns test results provided by us, instead of using a JSON reader.
1534         (JSCEarlyWarningSystemTest): Class to test retry logic in below situations.
1535         (JSCEarlyWarningSystemTest._create_task): Helper function to abstract out common code.
1536         (JSCEarlyWarningSystemTest._results_indicate_all_passed): False if input is None or has failures, else True.
1537         (JSCEarlyWarningSystemTest.test_success_case): Clean patch on clean tree.
1538         (JSCEarlyWarningSystemTest.test_test_failure): Failed patch on clean tree.
1539         (JSCEarlyWarningSystemTest.test_fix): Patch that fixes all tree redness.
1540         (JSCEarlyWarningSystemTest.test_ineffective_patch): Patch that has same failures as tree.
1541         (JSCEarlyWarningSystemTest.test_partially_effective_patch): Patch fixes some failures but adds no new failures.
1542         (JSCEarlyWarningSystemTest.test_different_test_failures_in_patch_and_tree): Patch has some failures not in tree.
1543         (JSCEarlyWarningSystemTest.test_first_results_could_not_be_read): Patch results not readable.
1544         (JSCEarlyWarningSystemTest.test_second_results_could_not_be_read): Patch results not readable on second run.
1545         (JSCEarlyWarningSystemTest.test_clean_results_could_not_be_read): Results from clean tree not readable.
1546         (JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_pass): Patch has one flake and no failures.
1547         (JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_pass_v2): Patch has one flake and no failures.
1548         (JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_failure): Patch has flakes and failed tests.
1549         (JSCEarlyWarningSystemTest.test_flaky_results_on_red_tree_pass): Patch has same failures as tree, plus a flake.
1550         * Scripts/webkitpy/tool/bot/jsctestresultsreader.py: Added.
1551         (JSCTestResultsReader): Reads results file.
1552         (JSCTestResultsReader.__init__): Sets attributes.
1553         (JSCTestResultsReader._read_file_contents): Reads file.
1554         (JSCTestResultsReader.results): Reads the results file and returns a JSCTestResults object.
1555         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
1556         (PatchIsNotApplicable): Exception for when patch doesn't have relevant changes.
1557         (PatchAnalysisTask._check_patch_relevance): Added.
1558         (PatchAnalysisTask._build): Check for JSC.
1559         (PatchAnalysisTask._build_without_patch): Check for JSC.
1560         (PatchAnalysisTask._test): Check for JSC.
1561         (PatchAnalysisTask._build_and_test_without_patch): Check for JSC.
1562         (PatchAnalysisTask._retry_jsc_tests): Retry logic for JSC EWS.
1563         (PatchAnalysisTask._retry_layout_tests): Retry logic for layout tests EWS.
1564         (PatchAnalysisTask._test_patch): Add retry logic for JSC.
1565         * Scripts/webkitpy/tool/commands/download.py:
1566         (CheckPatchRelevance): Add check-patch-relevance command.
1567         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1568         (AbstractEarlyWarningSystem._create_task): Abstract out to enable mocking.
1569         (AbstractEarlyWarningSystem.begin_work_queue): Use JSCTestResultsReader not LayoutTestResultsReader in JSC EWS.
1570         (AbstractEarlyWarningSystem.review_patch): Handle PatchIsApplicable.
1571         (AbstractEarlyWarningSystem.test_results): _layout_test_results_reader -> _test_results_reader.
1572         (AbstractEarlyWarningSystem.archive_last_test_results): _layout_test_results_reader -> _test_results_reader.
1573         (AbstractEarlyWarningSystem.group): This attribute determines the type of EWS (eg. JSC).
1574         (AbstractEarlyWarningSystem.load_ews_classes): Add _group, and make classes of type cls to enable mocking.
1575         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
1576         (TestEWS): Sample layout test EWS class used for unit testing.
1577         (TestJSCEWS): Sample JSC EWS class used for unit testing.
1578         (AbstractEarlyWarningSystemTest.test_failing_tests_message.TestEWS): Add _group.
1579         (AbstractEarlyWarningSystemTest.test_failing_jsc_tests_message.TestEWS): Added test for jsc failures message.
1580         (AbstractEarlyWarningSystemTest): Add _group variable.
1581         (EarlyWarningSystemTest._default_expected_logs): Add check-patch-relevance step, inconclusive logs, and group.
1582         (EarlyWarningSystemTest._test_ews): Add logs_are_conclusive option to pass through to default_expected_logs().
1583         (EarlyWarningSystemTest.test_inconclusive_test_results): Test not removing patch from queue if not conclusive.
1584         (MockAbstractEarlyWarningSystemForInconclusiveJSCResults): Added.
1585         (MockAbstractEarlyWarningSystemForInconclusiveJSCResults._test_patch): Simulates running tests but not getting a conclusive result.
1586         (MockEarlyWarningSystemTaskForInconclusiveJSCResults): Added.
1587         (MockEarlyWarningSystemTaskForInconclusiveJSCResults._create_task): Use MockEarlyWarningSystemTask (not EarlyWarningSystemTask).
1588         * Scripts/webkitpy/tool/steps/__init__.py: Add CheckPatchRelevance import.
1589         * Scripts/webkitpy/tool/steps/build.py:
1590         (Build.options): Check for JSC.
1591         (Build.build): Check for JSC.
1592         (Build.run): Check for JSC.
1593         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Added.
1594         (CheckPatchRelevance): Added.
1595         (CheckPatchRelevance._does_contain_change_in_paths): Abstract function to perform regex matching.
1596         (CheckPatchRelevance.run): Check if changed files in patch belong in certain folders.
1597         * Scripts/webkitpy/tool/steps/options.py:
1598         (Options): Add --group command line option.
1599         * Scripts/webkitpy/tool/steps/runtests.py:
1600         (RunTests.options): Add group.
1601         (RunTests.run): Check for JSC.
1602         (RunTests._run_webkit_tests): Check for JSC.
1603         (RunTests): Add _group attribute.
1604         (RunTests._run_javascriptcore_tests): New.
1605         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
1606
1607 2017-02-17  Aakash Jain  <aakash_jain@apple.com>
1608
1609         Fix tools that were broken by Efl removal
1610         https://bugs.webkit.org/show_bug.cgi?id=168496
1611
1612         Reviewed by Alexey Proskuryakov.
1613
1614         * QueueStatusServer/config/queues.py:
1615         * Scripts/webkitpy/common/config/ews.json:
1616         * TestResultServer/static-dashboards/builders.jsonp:
1617         * TestResultServer/static-dashboards/flakiness_dashboard.js:
1618         * TestResultServer/static-dashboards/loader_unittests.js:
1619
1620 2017-02-16  Lucas Forschler  <lforschler@apple.com>
1621
1622         https://bugs.webkit.org/show_bug.cgi?id=168442
1623         Move the SVN checkout from http -> https.
1624         Update unit tests.
1625
1626         Reviewed by Alexey Proskuryakov.
1627
1628         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
1629         (CheckOutSource.__init__):
1630         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
1631         (SVNMirrorTest.get_SVNMirrorFromConfig):
1632         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
1633
1634 2017-02-16  Commit Queue  <commit-queue@webkit.org>
1635
1636         Unreviewed, rolling out r212514.
1637         https://bugs.webkit.org/show_bug.cgi?id=168489
1638
1639         broke test runner (Requested by alexchristensen on #webkit).
1640
1641         Reverted changeset:
1642
1643         "Remove EFL-specific files in Tools."
1644         http://trac.webkit.org/changeset/212514
1645
1646 2017-02-16  Alex Christensen  <achristensen@webkit.org>
1647
1648         Remove EFL-specific files in Tools.
1649
1650         Rubber-stamped by Anders Carlsson.
1651
1652         * ImageDiff/efl: Removed.
1653         * ImageDiff/efl/ImageDiff.cpp: Removed.
1654         * MiniBrowser/efl: Removed.
1655         * MiniBrowser/efl/CMakeLists.txt: Removed.
1656         * MiniBrowser/efl/main.c: Removed.
1657         * Scripts/run-efl-tests: Removed.
1658         * Scripts/update-webkitefl-libs: Removed.
1659         * Scripts/webkitpy/port/efl.py: Removed.
1660         * Scripts/webkitpy/port/efl_unittest.py: Removed.
1661         * TestWebKitAPI/Tests/WebKit2/efl: Removed.
1662         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp: Removed.
1663         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp: Removed.
1664         * TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Removed.
1665         * TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Removed.
1666         * TestWebKitAPI/efl: Removed.
1667         * TestWebKitAPI/efl/InjectedBundleController.cpp: Removed.
1668         * TestWebKitAPI/efl/PlatformUtilities.cpp: Removed.
1669         * TestWebKitAPI/efl/PlatformWebView.cpp: Removed.
1670         * TestWebKitAPI/efl/main.cpp: Removed.
1671         * WebKitTestRunner/InjectedBundle/efl: Removed.
1672         * WebKitTestRunner/InjectedBundle/efl/ActivateFontsEfl.cpp: Removed.
1673         * WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp: Removed.
1674         * WebKitTestRunner/InjectedBundle/efl/FontManagement.h: Removed.
1675         * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: Removed.
1676         * WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Removed.
1677         * WebKitTestRunner/efl: Removed.
1678         * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Removed.
1679         * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed.
1680         * WebKitTestRunner/efl/TestControllerEfl.cpp: Removed.
1681         * WebKitTestRunner/efl/main.cpp: Removed.
1682         * efl: Removed.
1683         * efl/install-dependencies: Removed.
1684         * efl/jhbuild-optional.modules: Removed.
1685         * efl/jhbuild.modules: Removed.
1686         * efl/jhbuildrc: Removed.
1687         * efl/patches: Removed.
1688         * efl/patches/evas-fix-build-with-giflib5.patch: Removed.
1689         * efl/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Removed.
1690         * efl/patches/gst-libav.patch: Removed.
1691         * efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Removed.
1692         * efl/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
1693         * efl/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
1694         * efl/patches/openwebrtc-gst-plugins-clang-warning-fix.patch: Removed.
1695
1696 2017-02-16  Myles C. Maxfield  <mmaxfield@apple.com>
1697
1698         font-weight in @font-face can cause a font to be downloaded even when it's not used
1699         https://bugs.webkit.org/show_bug.cgi?id=168114
1700         <rdar://problem/30301317>
1701
1702         Reviewed by Darin Adler.
1703
1704         LastResort needs to be usable in tests.
1705
1706         * DumpRenderTree/mac/DumpRenderTree.mm:
1707         (allowedFontFamilySet):
1708         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
1709         (WTR::allowedFontFamilySet):
1710         * WebKitTestRunner/mac/TestControllerMac.mm:
1711         (WTR::allowedFontFamilySet):
1712
1713 2017-02-16  Alex Christensen  <achristensen@webkit.org>
1714
1715         Remove old URL parser
1716         https://bugs.webkit.org/show_bug.cgi?id=168483
1717
1718         Reviewed by Tim Horton.
1719
1720         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1721         (TestWebKitAPI::checkURL):
1722         (TestWebKitAPI::checkRelativeURL):
1723         (TestWebKitAPI::checkURLDifferences):
1724         (TestWebKitAPI::checkRelativeURLDifferences):
1725
1726 2017-02-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1727
1728         [WK2] Add additional test infrastructure and unit tests for data interaction
1729         https://bugs.webkit.org/show_bug.cgi?id=168439
1730         <rdar://problem/30557942>
1731
1732         Reviewed by Tim Horton.
1733
1734         Adds test support for additional data interaction scenarios that we currently cannot test, and also adds 7 new
1735         test cases to DataInteractionTests. Most of the changes here refactor and augment DataInteractionSimulator to
1736         support data interaction from  See per-method descriptions below for more details.
1737
1738         * Configurations/TestWebKitAPI.xcconfig:
1739
1740         Add MobileCoreServices to the list of additional frameworks to link against on iOS.
1741
1742         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1743
1744         Add a new build phase that copies additional resources from WebKitAdditions/Resources/TestWebKitAPI and dumps
1745         them into TestWebKitAPI.resources/ in the build directory, if the WebKitAdditions folder exists.
1746
1747         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1748         (-[TestWKWebView editorContainsImageElement]):
1749         (-[TestWKWebView editorValue]):
1750
1751         New helper methods for querying information from the "editor" element in a test page.
1752
1753         (TestWebKitAPI::TEST):
1754         (TestWebKitAPI::runTestsExpectingToObserveEvents): Deleted.
1755
1756         Moves logic for capturing events during a simulated data interaction run from the test file to
1757         DataInteractionSimulator. See -[DataInteractionSimulator observedEventNames].
1758
1759         * TestWebKitAPI/cocoa/TestWKWebView.h:
1760         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1761         (-[TestMessageHandler removeMessage:]):
1762         (-[TestWKWebView clearMessageHandlers:]):
1763
1764         Add the ability to clear message handlers from the TestWKWebView.
1765
1766         * TestWebKitAPI/ios/DataInteractionSimulator.h:
1767         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1768         (dataInteractionEventNames):
1769         (-[DataInteractionSimulator initWithWebView:]):
1770         (-[DataInteractionSimulator _resetSimulatedState]):
1771
1772         Moves logic to clear test harness state from any previous runs into a helper. Called at the beginning when
1773         simulating data interaction.
1774
1775         (-[DataInteractionSimulator observedEventNames]):
1776
1777         Returns a list of the names of events relevant to data interaction that were observed over the course of the
1778         most recent run.
1779
1780         (-[DataInteractionSimulator runFrom:to:]):
1781
1782         Changes -run to -runFrom:to:, which takes window-relative start and end locations. This allows the test harness
1783         to run the same data interaction for multiple simulated gestures.
1784
1785         (-[DataInteractionSimulator _advanceProgress]):
1786         (-[DataInteractionSimulator _finishDataInteraction]):
1787         (-[DataInteractionSimulator externalItemProvider]):
1788         (-[DataInteractionSimulator setExternalItemProvider:]):
1789
1790         Adds the -externalItemProvider property to DataInteractionSimulator. Setting this skips the gesture recognition
1791         phase of a test run.
1792
1793         (-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]):
1794         (-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]):
1795         (-[DataInteractionSimulator webViewDidSendDataInteractionStartRequest:]):
1796         (-[DataInteractionSimulator webView:didReceiveDataInteractionStartResponse:]):
1797
1798         While a request to start data interaction is in flight, put the remainder of the test on hold until the web
1799         process returns. Then continue the test by scheduling a progress advance call. This addresses a race condition
1800         wherein the the web process might take longer than usual to process the request to start data interaction, and
1801         in the meantime, DataInteractionSimulator would end up completing the rest of the test before a response from
1802         the web process is received, which then causes no simulated delegate methods to be fired.
1803
1804         (-[DataInteractionSimulator initWithWebView:startLocation:endLocation:]): Deleted.
1805         (-[DataInteractionSimulator run]): Deleted.
1806
1807 2017-02-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1808
1809         Remove unused test pages in TestWebKitAPI
1810         https://bugs.webkit.org/show_bug.cgi?id=168462
1811
1812         Reviewed by Anders Carlsson.
1813
1814         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1815         * TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Removed.
1816         * TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Removed.
1817         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Removed.
1818         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Removed.
1819         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Removed.
1820
1821 2017-02-16  Alex Christensen  <achristensen@webkit.org>
1822
1823         Special URLs without a host are invalid
1824         https://bugs.webkit.org/show_bug.cgi?id=168461
1825
1826         Reviewed by Tim Horton.
1827
1828         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1829         (TestWebKitAPI::TEST_F):
1830
1831 2017-02-10  Filip Pizlo  <fpizlo@apple.com>
1832
1833         The collector thread should only start when the mutator doesn't have heap access
1834         https://bugs.webkit.org/show_bug.cgi?id=167737
1835
1836         Reviewed by Keith Miller.
1837         
1838         Make more tests collect continuously.
1839
1840         * Scripts/run-jsc-stress-tests:
1841
1842 2017-02-16  Tim Horton  <timothy_horton@apple.com>
1843
1844         WKWebView inside a UICollectionView flashes when items are inserted above it
1845         https://bugs.webkit.org/show_bug.cgi?id=168376
1846         <rdar://problem/29322051>
1847
1848         Reviewed by Simon Fraser.
1849
1850         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
1851         (-[TestRunnerWKWebView _setStableStateOverride:]):
1852         Update the one external caller of this internal method...
1853
1854         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1855         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
1856         * DumpRenderTree/mac/UIScriptControllerMac.mm:
1857         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
1858         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1859         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1860         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
1861         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1862         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1863         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
1864         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
1865         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
1866         Expose doAfterVisibleContentRectUpdate to DRT and WKTR. It is called
1867         back after we dispatch a visible content rect update from the UI process
1868         to the Web Content process, so any messages sent from the block will arrive
1869         after the visible content rect update.
1870
1871 2017-02-16  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1872
1873         [GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS.
1874         https://bugs.webkit.org/show_bug.cgi?id=168321
1875
1876         This bots should be added to the trunk build scheduler.
1877         Unreviewed fix after r212429.
1878
1879         * BuildSlaveSupport/build.webkit.org-config/config.json:
1880
1881 2017-02-16  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1882
1883         [GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS
1884         https://bugs.webkit.org/show_bug.cgi?id=168321
1885
1886         Reviewed by Michael Catanzaro.
1887
1888         The additionalArgument --default-cmake-features is used both to
1889         skip the JHBuild (InstallGtkDependencies) build step and to build
1890         with the default features from the CMake config.
1891
1892         * BuildSlaveSupport/build.webkit.org-config/config.json:
1893         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
1894         (Factory.__init__):
1895         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
1896
1897 2017-02-15  Lucas Forschler  <lforschler@apple.com>
1898
1899         https://bugs.webkit.org/show_bug.cgi?id=168386
1900         Remove EFL from build.webkit.org
1901
1902         Reviewed by Alex Christensen
1903
1904         * BuildSlaveSupport/build.webkit.org-config/config.json:
1905         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
1906         (DeleteStaleBuildFiles.start):
1907         (appendCustomBuildFlags):
1908         (RunWebKitTests.start):
1909         (RunBuiltinsTests):
1910         (Factory.__init__):
1911         (TestFactory.__init__):
1912         (loadBuilderConfig):
1913         (InstallEflDependencies): Deleted.
1914         (RunEflAPITests): Deleted.
1915         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
1916         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
1917         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
1918         (BubbleQueueServer):
1919         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
1920         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
1921         (Analyzer.prototype._triggeringQueue):
1922         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1923         (WebKitBuildbot):
1924         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
1925         (table.queue-grid tr.platform.linux-efl img.logo): Deleted.
1926         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
1927         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
1928         (_should_file_trigger_build):
1929
1930 2017-02-15  Alex Christensen  <achristensen@webkit.org>
1931
1932         Unreviewed, rolling out r212169.
1933
1934         Broke iOS WebInspector
1935
1936         Reverted changeset:
1937
1938         "WebInspector: refactor RemoteInspector to move cocoa specific
1939         code to their own files"
1940         https://bugs.webkit.org/show_bug.cgi?id=166681
1941         http://trac.webkit.org/changeset/212169
1942
1943 2017-02-15  Jonathan Bedard  <jbedard@apple.com>
1944
1945         webkitpy: Fix DarwinPort._get_crash_log()
1946         https://bugs.webkit.org/show_bug.cgi?id=168372
1947         <rdar://problem/30535156>
1948
1949         Reviewed by Daniel Bates.
1950
1951         Callers of _get_crash_log expect a pair to be returned and do not check it's return value.  
1952         DarwinPort should return the expected return value for _get_crash_log.
1953
1954         * Scripts/webkitpy/port/darwin.py:
1955         (DarwinPort._get_crash_log): Call parent class's implementation of _get_crash_log.
1956
1957 2017-02-15  Chris Dumez  <cdumez@apple.com>
1958
1959         [iOS] Form Validation Bubble should be sensitive to Dynamic Type
1960         https://bugs.webkit.org/show_bug.cgi?id=168291
1961         <rdar://problem/30508593>
1962
1963         Reviewed by Tim Horton.
1964
1965         Drop overridePreference() implementation in iOS's UIScriptController
1966         as it was only used for the minimum font size setting and this setting
1967         is not exposed on iOS.
1968
1969         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1970         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1971         (WTR::UIScriptController::overridePreference):
1972         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1973
1974 2017-02-15  Jonathan Bedard  <jbedard@apple.com>
1975
1976         webkitpy: Memoize app_identifier_from_bundle for efficiency, call parent class for _get_crash_log
1977         https://bugs.webkit.org/show_bug.cgi?id=168329
1978         <rdar://problem/30518832>
1979
1980         Reviewed by Daniel Bates.
1981
1982         When testing on device, app_identifier_from_bundle is repeatedly called but the return value will
1983         never change given the same input arguments.  Memoize function for efficiency.
1984
1985         * Scripts/webkitpy/port/darwin.py: Add memoized import.
1986         (DarwinPort):
1987         (DarwinPort.app_identifier_from_bundle): Memoize to avoid extra executions of PlistBuddy.
1988         
1989
1990 2017-02-15  Jonathan Bedard  <jbedard@apple.com>
1991
1992         webkitpy: Remove unused import from darwin.py
1993         https://bugs.webkit.org/show_bug.cgi?id=168371
1994
1995         Reviewed by Alex Christensen.
1996
1997         * Scripts/webkitpy/port/darwin.py: Remove unused 'time' module.
1998
1999 2017-02-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2000
2001         [SOUP] Credentials stored by libsoup are used even StoredCredentials policy is DoNotAllowStoredCredentials
2002         https://bugs.webkit.org/show_bug.cgi?id=168364
2003
2004         Reviewed by Michael Catanzaro.
2005
2006         This can happen if a previous load with allowed to use stored credentials authenticated successfully, saving the
2007         credentials in libsoup. It's actually a libsoup bug, but since it's causing layout test failures and we have
2008         patches for them, let's patch out jhbuild until we have a new libsoup version to depend on.
2009
2010         Fixes: http/tests/security/credentials-from-different-domains.html
2011                http/tests/xmlhttprequest/cross-origin-no-authorization.html
2012
2013         * gtk/jhbuild.modules:
2014         * gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Added.
2015         * gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Added.
2016
2017 2017-02-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2018
2019         [GTK] Update cookie manager API to properly work with ephemeral sessions
2020         https://bugs.webkit.org/show_bug.cgi?id=168230
2021
2022         Reviewed by Michael Catanzaro.
2023
2024         Update unit tests and add new cases for the new API.
2025
2026         * MiniBrowser/gtk/main.c:
2027         (gotWebsiteDataCallback):
2028         * TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
2029         (testCookieManagerEphemeral):
2030         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
2031         (testWebContextEphemeral):
2032         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
2033         (testWebViewEphemeral):
2034         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp:
2035         (serverCallback):
2036         (testWebsiteDataEphemeral):
2037         (testWebsiteDataCookies):
2038         (beforeAll):
2039
2040 2017-02-14  Wenson Hsieh  <wenson_hsieh@apple.com>
2041
2042         [WK2] Support data interaction on links
2043         https://bugs.webkit.org/show_bug.cgi?id=168331
2044         <rdar://problem/30200837>
2045
2046         Reviewed by Tim Horton.
2047
2048         Adds 2 unit tests checking that data interaction from a link (with or without a background image) into an
2049         editable area results in the link URL being inserted.
2050
2051         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2052         * TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Added.
2053         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Added.
2054         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2055         (TestWebKitAPI::TEST):
2056
2057 2017-02-14  Jason Rinn  <jrinn@apple.com>
2058
2059         Add a test for new WebKit Cocoa API, _getContentsAsString.
2060         https://bugs.webkit.org/show_bug.cgi?id=168147
2061         <rdar://problem/30502539>
2062
2063         Reviewed by Tim Horton.
2064
2065         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2066         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Added.
2067         (TEST):
2068
2069 2017-02-14  Matt Rajca  <mrajca@apple.com>
2070
2071         Website policies: iframes should respect the autoplay policy of the top-level document
2072         https://bugs.webkit.org/show_bug.cgi?id=168333
2073
2074         Reviewed by Alex Christensen.
2075
2076         * TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Added.
2077         * TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Added.
2078         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
2079         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2080         (TEST):
2081
2082 2017-02-14  Chris Dumez  <cdumez@apple.com>
2083
2084         HTML Form Validation bubble should take minimum font size setting into consideration
2085         https://bugs.webkit.org/show_bug.cgi?id=168271
2086         <rdar://problem/29869869>
2087
2088         Reviewed by Simon Fraser.
2089
2090         Extend UIScriptController's contentsOfUserInterfaceItem() to also return the
2091         font size of the validation bubble.
2092
2093         Add an overridePreference() method to UIScriptController. This is currently
2094         used to override the value of the minimumFontSize setting. testRunner's
2095         overridePreference() is not usable on WK2 because it does not update the
2096         value of the preference on the UIProcess side.
2097
2098         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2099         (WTR::UIScriptController::overridePreference):
2100         * DumpRenderTree/mac/UIScriptControllerMac.mm:
2101         (WTR::UIScriptController::overridePreference):
2102         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2103         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2104         * WebKitTestRunner/TestController.cpp:
2105         (WTR::TestController::resetPreferencesToConsistentValues):
2106         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2107         (WTR::UIScriptController::overridePreference):
2108         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2109         (WTR::UIScriptController::contentsOfUserInterfaceItem):
2110         (WTR::UIScriptController::overridePreference):
2111
2112 2017-02-14  Florian Bruhin  <git@the-compiler.org>
2113
2114         Use a set instead of a list for tests when parsing expectations
2115         https://bugs.webkit.org/show_bug.cgi?id=168304
2116
2117         In _collect_matching_tests, a lot of membership tests are done on a giant list
2118         of strings. By making it a set instead, we can make those much faster, and
2119         there's no reason for it to be a list.
2120
2121         With ~45k tests and some 1000 expectations, this reduces the parse time from 34s
2122         to 3s on my machine.
2123
2124         Reviewed by Ryosuke Niwa.
2125
2126         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2127         (TestExpectationParser.__init__):
2128         (TestExpectationParser._collect_matching_tests):
2129
2130 2017-02-14  Jonathan Bedard  <jbedard@apple.com>
2131
2132         Unreviewed build-fix after r212297.
2133
2134         * Scripts/webkitpy/port/simulator_process.py:
2135         (SimulatorProcess.stop): Should return value of the ServerProcess's stop.
2136
2137 2017-02-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2138
2139         [CMake] build-webkit should allow building with the default cmake configuration
2140         https://bugs.webkit.org/show_bug.cgi?id=168323
2141
2142         Reviewed by Michael Catanzaro.
2143
2144         Add a --default-cmake-features switch that makes the script pass
2145         no value for any of the features defined by build-webkit, that
2146         way the default values from the port cmake config will be used.
2147
2148         * Scripts/build-webkit:
2149         (cMakeArgsFromFeatures):
2150
2151 2017-02-14  Jonathan Bedard  <jbedard@apple.com>
2152
2153         Unreviewed build-fix after r212297.
2154
2155         * Scripts/webkitpy/port/simulator_process.py:
2156         (SimulatorProcess.stop): Handle case where there is no process to kill.
2157
2158 2017-02-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2159
2160         [CMake] build-webkit should print the cmake command executed
2161         https://bugs.webkit.org/show_bug.cgi?id=168318
2162
2163         Reviewed by Michael Catanzaro.
2164
2165         Run the cmake commands to configure or start the build through
2166         a wrapper that prints the command before executing it.
2167
2168         * Scripts/webkitdirs.pm:
2169         (systemVerbose):
2170         (generateBuildSystemFromCMakeProject):
2171         (buildCMakeGeneratedProject):
2172         (cleanCMakeGeneratedProject):
2173
2174 2017-02-14  Jonathan Bedard  <jbedard@apple.com>
2175
2176         run-webkit-tests for iOS Simulator always complains that stopping WebKitTestRunnerApp.app times out
2177         https://bugs.webkit.org/show_bug.cgi?id=168150
2178
2179         Reviewed by Alexey Proskuryakov.
2180
2181         * Scripts/webkitpy/port/simulator_process.py:
2182         (SimulatorProcess.stop): Close app before calling ServerProcess's stop.
2183         (SimulatorProcess._kill): Move closing of app into stop().
2184         * Scripts/webkitpy/xcode/simulator.py:
2185         (Device.launch_app):
2186         (Device.terminate_app): Deleted.
2187
2188 2017-02-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2189
2190         REGRESSION(r212192): [GTK] Broke downloads API tests
2191         https://bugs.webkit.org/show_bug.cgi?id=168193
2192
2193         Unreviewed. Update test expectations after r212192.
2194
2195         The suggested filename now includes a file extensions if the MIME type is known.
2196
2197         * TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
2198         (testDownloadRemoteFile):
2199         (testDownloadMIMEType):
2200
2201 2017-02-14  Commit Queue  <commit-queue@webkit.org>
2202
2203         Unreviewed, rolling out r212237.
2204         https://bugs.webkit.org/show_bug.cgi?id=168298
2205
2206         This was a wrong fix (Requested by rniwa on #webkit).
2207
2208         Reverted changeset:
2209
2210         "Nwtr unexpectedly passes mismatch ref test if the hashes
2211         doesn't match but no diff"
2212         https://bugs.webkit.org/show_bug.cgi?id=168221
2213         http://trac.webkit.org/changeset/212237
2214
2215 2017-02-13  Alex Christensen  <achristensen@webkit.org>
2216
2217         URLs with an invalid IPv4 address should be invalid
2218         https://bugs.webkit.org/show_bug.cgi?id=168260
2219
2220         Reviewed by Tim Horton.
2221
2222         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2223         (TestWebKitAPI::TEST_F):
2224         Update tests to reflect new correct behavior.
2225
2226 2017-02-13  Don Olmstead  <don.olmstead@am.sony.com>
2227
2228         [WinCairo] Add Build Slave
2229         https://bugs.webkit.org/show_bug.cgi?id=168263
2230
2231         Reviewed by Lucas Forschler.
2232
2233         * BuildSlaveSupport/build.webkit.org-config/config.json:
2234
2235 2017-02-13  Wenson Hsieh  <wenson_hsieh@apple.com>
2236
2237         Fix the build after r212254
2238
2239         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2240         (-[DataInteractionSimulator _currentLocation]):
2241
2242 2017-02-13  Wenson Hsieh  <wenson_hsieh@apple.com>
2243
2244         [WK2] Add test infrastructure and unit tests for data interaction
2245         https://bugs.webkit.org/show_bug.cgi?id=168159
2246         <rdar://problem/30477634>
2247
2248         Reviewed by Tim Horton.
2249
2250         Uses the testing delegate introduced in WebKit2 to override the gesture recognizer used to initiate data
2251         interaction. Instead of being driven by UIKit, the DataInteractionSimulator drives this overridden gesture
2252         recognizer by making the WKContentView call its dataInteractionGestureRecognized method. To simulate an actual
2253         gesture being performed, we fire the gesture recognizer (or call the data interaction delegate methods, if the
2254         gesture has already been recognized) at regular intervals over the course of the test.
2255
2256         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2257         * TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Added.
2258         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Added.
2259         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Added.
2260
2261         New test pages for data interaction.
2262
2263         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Added.
2264         (TestWebKitAPI::runTestsExpectingToObserveEvents):
2265         (TestWebKitAPI::TEST):
2266         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2267         (-[TestWKWebView stringByEvaluatingJavaScript:]):
2268         * TestWebKitAPI/ios/DataInteractionSimulator.h: Added.
2269         * TestWebKitAPI/ios/DataInteractionSimulator.mm: Added.
2270         (-[MockLongPressGestureRecognizer initWithWindow:]):
2271         (-[MockLongPressGestureRecognizer locationInView:]):
2272         (-[MockLongPressGestureRecognizer state]):
2273         (-[MockLongPressGestureRecognizer numberOfTouches]):
2274         (-[DataInteractionSimulator initWithWebView:startLocation:endLocation:]):
2275         (-[DataInteractionSimulator dealloc]):
2276         (-[DataInteractionSimulator run]):
2277
2278         Performs a data interaction gesture from the start location to the end location with linear interpolation. For
2279         now, the timestep and progress per tick are 30ms and 3.33%, respectively, which means that tests should complete
2280         in a little under 1 second, though this can be easily changed to be configurable in the future if needed.
2281
2282         (-[DataInteractionSimulator _advanceProgress]):
2283
2284         Fired periodically to drive the data interaction gesture. Schedules a call of itself until the test is
2285         completed, and calls _finishDataInteraction when progress is at 1.
2286
2287         (-[DataInteractionSimulator _finishDataInteraction]):
2288         (-[DataInteractionSimulator _currentLocation]):
2289         (-[DataInteractionSimulator _scheduleAdvanceProgress]):
2290         (-[DataInteractionSimulator _recognizeGestureAtLocation:withState:]):
2291         (-[DataInteractionSimulator dataInteractionGestureRecognizer]):
2292         (-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]):
2293         (-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]):
2294
2295 2017-02-13  Alex Christensen  <achristensen@webkit.org>
2296
2297         Percent should be allowed in non-special URL hosts
2298         https://bugs.webkit.org/show_bug.cgi?id=168255
2299
2300         Reviewed by Tim Horton.
2301
2302         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2303         (TestWebKitAPI::TEST_F):
2304
2305 2017-02-13  Fujii Hironori  <Hironori.Fujii@sony.com>
2306
2307         Nwtr unexpectedly passes mismatch ref test if the hashes doesn't match but no diff
2308         https://bugs.webkit.org/show_bug.cgi?id=168221
2309
2310         Reviewed by Ryosuke Niwa.
2311
2312         There is a logic error in comparing mismatch ref test images. In
2313         mismatch ref tests, it should be failed if two images has no diff.
2314         But, if the hashes are different, nwtr unexpectedly pass the
2315         mismatch ref test.
2316
2317         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
2318         (SingleTestRunner._compare_output_with_reference): Fail the
2319         mismatch ref test if hashes of two images are equal. Invoke
2320         ImageDiff if the hashes don't match.
2321
2322 2017-02-13  Myles C. Maxfield  <mmaxfield@apple.com>
2323
2324         Update custom line breaking iterators to the latest version of Unicode
2325         https://bugs.webkit.org/show_bug.cgi?id=168182
2326
2327         Reviewed by Zalan Bujtas.
2328
2329         Treat the system's ICU as the source of truth to compare breaking positions against.
2330
2331         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2332         * TestWebKitAPI/Tests/WebCore/LineBreaking.mm: Added.
2333         (generateJavaScriptForTest):
2334         (breakingLocationsFromICU):
2335         (testAFewStrings):
2336         (TEST):
2337         * TestWebKitAPI/Tests/WebKit2Cocoa/AllAhem.svg: Renamed from LayoutTests/css3/line-break/resources/AllAhem.svg.
2338         * TestWebKitAPI/Tests/WebKit2Cocoa/LineBreaking.html: Added.
2339
2340 2017-02-12  Michael Catanzaro  <mcatanzaro@igalia.com>
2341
2342         [GTK] Several failing WebViewEditor API tests
2343         https://bugs.webkit.org/show_bug.cgi?id=161608
2344
2345         Reviewed by Carlos Garcia Campos.
2346
2347         Selection.collapse() requires arguments; passing no arguments means the JS that selects the
2348         text range here never gets evaluated. Perhaps there was a DOM API change? Changing it to use
2349         Selection.removeAllRanges(), which seems like a better function anyway, fixes all the tests
2350         except the first one, which is still broken due to unrelated bug #151654.
2351
2352         * Scripts/run-gtk-tests:
2353         (TestRunner):
2354         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
2355
2356 2017-02-12  Michael Catanzaro  <mcatanzaro@igalia.com>
2357
2358         Unreviewed, skip flaky WebKitPrintOperation/custom-widget test
2359
2360         * Scripts/run-gtk-tests:
2361         (TestRunner):
2362
2363 2017-02-12  Michael Catanzaro  <mcatanzaro@igalia.com>
2364
2365         Unreviewed, skip flaky form-controls-associated-signal test
2366
2367         * Scripts/run-gtk-tests:
2368         (TestRunner):
2369
2370 2017-02-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2371
2372         [GTK] Handle caps lock indicator in event modifiers
2373         https://bugs.webkit.org/show_bug.cgi?id=168186
2374
2375         Reviewed by Michael Catanzaro.
2376
2377         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
2378         (WTR::webkitModifiersToGDKModifiers): Handle kWKEventModifiersCapsLockKey.
2379
2380 2017-02-11  Simon Fraser  <simon.fraser@apple.com>
2381
2382         MiniBrowser WK1 fails to update URL for within-page navigations
2383         https://bugs.webkit.org/show_bug.cgi?id=168173
2384
2385         Reviewed by Tim Horton.
2386         
2387         Implement -webView:didChangeLocationWithinPageForFrame: so that clicking on named
2388         anchors updates the URL field.
2389
2390         * MiniBrowser/mac/WK1BrowserWindowController.m:
2391         (-[WK1BrowserWindowController webView:didChangeLocationWithinPageForFrame:]):
2392
2393 2017-02-10  John Wilander  <wilander@apple.com>
2394
2395         Updates to Resource Load Statistics: Get the right website data store and introduce timeout for user interaction
2396         https://bugs.webkit.org/show_bug.cgi?id=167474
2397         <rdar://problem/24681808>
2398         <rdar://problem/24703286>
2399         <rdar://problem/30290270>
2400
2401         This patch adds test infrastructure to allow testing 
2402         of the various rules in place for data records removal.
2403
2404         Reviewed by Andy Estes.
2405
2406         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2407         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2408         (WTR::InjectedBundle::didReceiveMessageToPage):
2409             Callback mechanism to tell pages that a website data store
2410             scan has happened.
2411         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2412         (WTR::TestRunner::setStatisticsPrevalentResource):
2413         (WTR::TestRunner::isStatisticsPrevalentResource):
2414         (WTR::TestRunner::setStatisticsHasHadUserInteraction):
2415         (WTR::TestRunner::isStatisticsHasHadUserInteraction):
2416         (WTR::TestRunner::setStatisticsTimeToLiveUserInteraction):
2417         (WTR::TestRunner::installStatisticsDidModifyDataRecordsCallback):
2418         (WTR::TestRunner::statisticsDidModifyDataRecordsCallback):
2419         (WTR::TestRunner::statisticsFireDataModificationHandler):
2420         (WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2421         (WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
2422         (WTR::TestRunner::setStatisticsMinimumTimeBetweeenDataRecordsRemoval):
2423         (WTR::TestRunner::statisticsResetToConsistentState):
2424         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2425         * WebKitTestRunner/TestController.cpp:
2426         (WTR::TestController::setStatisticsPrevalentResource):
2427         (WTR::TestController::isStatisticsPrevalentResource):
2428         (WTR::TestController::setStatisticsHasHadUserInteraction):
2429         (WTR::TestController::isStatisticsHasHadUserInteraction):
2430         (WTR::TestController::setStatisticsTimeToLiveUserInteraction):
2431         (WTR::TestController::statisticsFireDataModificationHandler):
2432         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2433         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
2434         (WTR::TestController::setStatisticsMinimumTimeBetweeenDataRecordsRemoval):
2435         (WTR::TestController::statisticsResetToConsistentState):
2436         * WebKitTestRunner/TestController.h:
2437             These are all configuration and test functions.
2438         * WebKitTestRunner/TestInvocation.cpp:
2439         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2440
2441 2017-02-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2442
2443         REGRESSION(r182916) run-perf-tests never timeouts
2444         https://bugs.webkit.org/show_bug.cgi?id=167626
2445
2446         Reviewed by Ryosuke Niwa.
2447
2448         The --time-out-ms value (defaults to 600 seconds) of run-perf-tests
2449         was beeing ignored because the driver was created with no_timeout=True
2450         unconditionally.
2451         This adds a new parameter --no-timeout (disabled by default), that
2452         allows to use the driver with the expected timeout values.
2453         It also passes --no-timeout to DRT/WTR to ensure that timeouts
2454         are always controlled by the Python Driver.
2455
2456         * Scripts/webkitpy/performance_tests/perftest.py:
2457         (PerfTest._create_driver): Only disable timeout if --no-timeout is passed.
2458         (PerfTest.run): Disabling timeout should be done when the Driver is created.
2459         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
2460         (PerfTestsRunner.__init__): Ensure --no-timeout is passed to DRT/WTR
2461         (PerfTestsRunner._parse_args): Add a --no-timeout parameter.
2462         (_run_tests_set): Pass the no-timeout parameter.
2463         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
2464         (MainTest.test_drt_notimeout): Test --no-timeout is passed to DRT/WTR
2465         (MainTest.test_default_args): Test default values for additional_drt_flag and no_timeout.
2466         (MainTest.test_parse_args): Test that the argument no-timeout.
2467
2468 2017-02-10  Daniel Bates  <dabates@apple.com>
2469
2470         Detach frame from document when entering page cache
2471         https://bugs.webkit.org/show_bug.cgi?id=166774
2472         <rdar://problem/29904368>
2473
2474         Reviewed by Chris Dumez.
2475
2476         * DumpRenderTree/mac/DumpRenderTree.mm:
2477         (resetWebPreferencesToConsistentValues):
2478         * DumpRenderTree/win/DumpRenderTree.cpp:
2479         (resetWebPreferencesToConsistentValues):
2480         * WebKitTestRunner/TestController.cpp:
2481         (WTR::TestController::resetPreferencesToConsistentValues):
2482
2483 2017-02-10  Tim Horton  <timothy_horton@apple.com>
2484
2485         Infinite UI process hang under ensurePositionInformationIsUpToDate
2486         https://bugs.webkit.org/show_bug.cgi?id=168154
2487         <rdar://problem/30428673>
2488
2489         Reviewed by Simon Fraser.
2490
2491         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2492         * TestWebKitAPI/Tests/WebKit2Cocoa/InteractionDeadlockAfterCrash.mm: Added.
2493         (recursiveFindHighlightLongPressRecognizer):
2494         (TEST):
2495         Add a somewhat nasty test that does an async interaction information update, but
2496         kills the Web process before it arrives, and then does a sync interaction
2497         information update, which will wait for the oustanding async interaction
2498         information update if we still think it's coming. Before the patch, this
2499         test times out with the UI process stuck under ensurePositionInformationIsUpToDate.
2500
2501 2017-02-10  Simon Fraser  <simon.fraser@apple.com>
2502
2503         Make sure the "inwindow" flag propagates to TiledBackings for masks and reflections
2504         https://bugs.webkit.org/show_bug.cgi?id=168127
2505         rdar://problem/30467120
2506
2507         Reviewed by Tim Horton.
2508
2509         Reparent the web view before we try to fetch it via:
2510             [[[window contentView] subviews] objectAtIndex:0];
2511         which would throw an exception if the test unparented it.
2512
2513         * DumpRenderTree/mac/DumpRenderTree.mm:
2514         (resetWebViewToConsistentStateBeforeTesting):
2515         (runTest):
2516
2517 2017-02-10  Joseph Pecoraro  <pecoraro@apple.com>
2518
2519         [Resource Timing] Enable Resource Timing by default in Tests
2520         https://bugs.webkit.org/show_bug.cgi?id=168145
2521
2522         Reviewed by Ryosuke Niwa.
2523
2524         * DumpRenderTree/mac/DumpRenderTree.mm:
2525         (resetWebPreferencesToConsistentValues):
2526         * DumpRenderTree/win/DumpRenderTree.cpp:
2527         (resetWebPreferencesToConsistentValues):
2528         * WebKitTestRunner/TestController.cpp:
2529         (WTR::TestController::resetPreferencesToConsistentValues):
2530
2531 2017-02-10  Jonathan Bedard  <jbedard@apple.com>
2532
2533         Removing LayoutTestRelay
2534         https://bugs.webkit.org/show_bug.cgi?id=165927
2535
2536         Reviewed by Daniel Bates.
2537         Part 2
2538
2539         LayoutTestRelay uses SPI, since recent versions of the iOS SDK allow for installing apps on
2540         simulators through simctl (iOS 10 and later), use this functionality instead.
2541
2542         * BuildSlaveSupport/built-product-archive:
2543         (archiveBuiltProduct): Remove archiving of LayoutTestRelay as it is no longer being built.
2544         Added a FIXME that we will need to implement similar archiving machinery once we build
2545         ImageDiff for Mac when building WebKit for iOS. Currently ImageDiff is built with the iOS SDK.
2546         * BuildSlaveSupport/kill-old-processes:
2547         (main): Remove LayoutTestRelay from list of processes.
2548         * LayoutTestRelay: Removed LayoutTestRelay.
2549         * Makefile:
2550         * Scripts/build-layouttestrelay: Removed.
2551         * Scripts/build-webkit: Removed LayoutTestRelay references.
2552
2553 2017-02-10  Jiewen Tan  <jiewen_tan@apple.com>
2554
2555         [WebCrypto] Add WebCryptoAPI to watchlist
2556         https://bugs.webkit.org/show_bug.cgi?id=168138
2557
2558         Reviewed by Youenn Fablet.
2559
2560         * Scripts/webkitpy/common/config/watchlist:
2561
2562 2017-02-10  Brady Eidson  <beidson@apple.com>
2563
2564         Replace all WebKit Library Version checks in WK2 with SDK version checks.
2565         https://bugs.webkit.org/show_bug.cgi?id=168124
2566
2567         Reviewed by Geoffrey Garen.
2568
2569         For each of our tools that use WebKit2, opt them in to the new linkedOnOrAfter(Everything) setting.
2570         
2571         * MiniBrowser/mac/main.m:
2572         (main):
2573         * MobileMiniBrowser/MobileMiniBrowser/main.m:
2574         (main):
2575         * TestWebKitAPI/ios/mainIOS.mm:
2576         (main):
2577         * TestWebKitAPI/mac/mainMac.mm:
2578         (main):
2579         * WebKitTestRunner/ios/mainIOS.mm:
2580         (main):
2581         * WebKitTestRunner/mac/main.mm:
2582         (setDefaultsToConsistentValuesForTesting):
2583
2584 2017-02-10  Alex Christensen  <achristensen@webkit.org>
2585
2586         Fix El Capitan build.
2587
2588         * Scripts/build-webkit:
2589         Don't build libwebrtc anywhere for now.
2590
2591 2017-02-10  Andy Estes  <aestes@apple.com>
2592
2593         Move two MiniBrowserBundle settings out of the .pbxproj
2594         https://bugs.webkit.org/show_bug.cgi?id=168106
2595
2596         Reviewed by Tim Horton.
2597
2598         INFOPLIST_FILE was specified in MiniBrowserBundle.xcconfig but overridden to "" in
2599         the project file. This removes the project file override.
2600
2601         WRAPPER_EXTENSION was moved from the project file to MiniBrowserBundle.xcconfig.
2602
2603         * MiniBrowser/Configurations/MiniBrowserBundle.xcconfig:
2604         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
2605
2606 2017-02-10  Alex Christensen  <achristensen@webkit.org>
2607
2608         Fix 32-and-64-bit build on El Capitan.
2609
2610         * Scripts/build-webkit:
2611         Somebody's building with something like this:
2612         build-webkit ARCHS="i386 x86_64"
2613         We want this to also not build libwebrtc for now.
2614
2615 2017-02-10  Alex Christensen  <achristensen@webkit.org>
2616
2617         Fix 32-bit build on El Capitan.
2618
2619         * Scripts/build-webkit:
2620         The bot uses ARCHS=i386 instead of --32-bit.
2621         This is a hack, but it should fix the bot until I can do a better fix in the morning.
2622
2623 2017-02-10  Alex Christensen  <achristensen@webkit.org>
2624
2625         Fix 32-bit build on El Capitan.
2626
2627         * Scripts/build-webkit:
2628         Don't build i386 libwebrtc.
2629
2630 2017-02-09  Alex Christensen  <achristensen@webkit.org>
2631
2632         Unreviewed, rolling out r212040.
2633
2634         Broke build.  I'm not surprised
2635
2636         Reverted changeset:
2637
2638         "[WebRTC][Mac] Activate libwebrtc"
2639         https://bugs.webkit.org/show_bug.cgi?id=167293
2640         http://trac.webkit.org/changeset/212040
2641
2642 2017-02-09  Alex Christensen  <achristensen@webkit.org>
2643
2644         Build libwebrtc on bots without using it yet
2645         https://bugs.webkit.org/show_bug.cgi?id=168062
2646
2647         Reviewed by Brent Fulgham.
2648
2649         * Scripts/build-webkit:
2650
2651 2017-02-09  Alex Christensen  <achristensen@webkit.org>
2652
2653         Don't build libwebrtc.
2654
2655         * Scripts/build-webkit:
2656         Not ready yet.  It broke El Capitan and iOS.
2657
2658 2017-02-09  Alex Christensen  <achristensen@webkit.org>
2659
2660         Build libwebrtc on bots without using it yet
2661         https://bugs.webkit.org/show_bug.cgi?id=168062
2662
2663         Reviewed by Brent Fulgham.
2664
2665         * Scripts/build-webkit:
2666
2667 2017-02-09  Alex Christensen  <achristensen@webkit.org>
2668
2669         Rename isAppleMacWebKit to isAppleCocoaWebKit
2670         https://bugs.webkit.org/show_bug.cgi?id=168075
2671
2672         Reviewed by Geoffrey Garen.
2673
2674         It returns true for Mac and iOS.  "isAppleMacWebKit" is confusing and wrong.
2675
2676         * Scripts/build-api-tests:
2677         * Scripts/build-dumprendertree:
2678         * Scripts/build-jsc:
2679         (buildMyProject):
2680         * Scripts/build-layouttestrelay:
2681         * Scripts/build-webkit:
2682         * Scripts/build-webkittestrunner:
2683         * Scripts/run-api-tests:
2684         (isSupportedPlatform):
2685         (runTest):
2686         (listAllTests):
2687         (prepareEnvironmentForRunningTestTool):
2688         * Scripts/run-content-extension-tester:
2689         * Scripts/run-javascriptcore-tests:
2690         * Scripts/run-minibrowser:
2691         * Scripts/show-pretty-diff:
2692         * Scripts/webkitdirs.pm:
2693         (determineBaseProductDir):
2694         (determineArchitecture):
2695         (determinePassedArchitecture):
2696         (safariPath):
2697         (builtDylibPathForName):
2698         (checkFrameworks):
2699         (isAppleWebKit):
2700         (isAppleCocoaWebKit):
2701         (determineNmPath):
2702         (launcherName):
2703         (wrapperPrefixIfNeeded):
2704         (isCMakeBuild):
2705         (mobileSafariBundle):
2706         (debugSafari):
2707         (runSafari):
2708         (runMiniBrowser):
2709         (debugMiniBrowser):
2710         (runWebKitTestRunner):
2711         (debugWebKitTestRunner):
2712         (isAppleMacWebKit): Deleted.
2713         * Scripts/webkitperl/FeatureList.pm:
2714
2715 2017-02-09  Alex Christensen  <achristensen@webkit.org>
2716
2717         Revert r211991
2718         https://bugs.webkit.org/show_bug.cgi?id=168062
2719
2720         * Scripts/build-webkit:
2721         Not quite ready yet.
2722
2723 2017-02-09  Alex Christensen  <achristensen@webkit.org>
2724
2725         Build libwebrtc on bots without using it yet
2726         https://bugs.webkit.org/show_bug.cgi?id=168062
2727
2728         Reviewed by Brent Fulgham.
2729
2730         * Scripts/build-webkit:
2731         Build libwebrtc on Mac when we build ANGLE.
2732
2733 2017-02-09  Youenn Fablet  <youenn@apple.com>
2734
2735         Improve W3C importer command line options
2736         https://bugs.webkit.org/show_bug.cgi?id=167448
2737
2738         Reviewed by Ryosuke Niwa.
2739
2740         Making the list of test paths to import the main arguments of the script.
2741         Allow passing the source directory to import as a -s option.
2742         Adding a warning when given test paths are skipped by default in ImportExpectations.
2743
2744         Making link conversion off by default when importing from a specific directory since this script is mostly used with web-platform-tests.
2745         Link conversion rules do not change when imported tests are downloaded by the script.
2746
2747         * Scripts/webkitpy/w3c/test_importer.py:
2748         (main):
2749         (parse_args):
2750         (TestImporter.__init__):
2751         (TestImporter.do_import):
2752         (TestImporter):
2753         (TestImporter.check_imported_expectations):
2754
2755 2017-02-08  Chris Dumez  <cdumez@apple.com>
2756
2757         Update web-platform-tests resources
2758         https://bugs.webkit.org/show_bug.cgi?id=168026
2759
2760         Reviewed by Youenn Fablet.
2761
2762         Stop copying testharness.js from resources/ to web-platform-tests/resources.
2763
2764         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
2765         (WebPlatformTestServer._copy_webkit_test_files):
2766
2767 2017-02-08  Andy Estes  <aestes@apple.com>
2768
2769         Custom protocols should not continue loading after a network process crash
2770         https://bugs.webkit.org/show_bug.cgi?id=168028
2771         <rdar://problem/27607520>
2772
2773         Reviewed by Brady Eidson.
2774
2775         * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
2776         (processGroup):
2777         (-[CloseWhileStartingProtocol startLoading]):
2778         (-[CloseWhileStartingProtocol stopLoading]):
2779         (TestWebKitAPI::runTest):
2780         (TestWebKitAPI::TEST):
2781
2782 2017-02-08  Dan Bernstein  <mitz@apple.com>
2783
2784         [Cocoa] WKRemoteObjectCoder doesn’t handle CGSize
2785         https://bugs.webkit.org/show_bug.cgi?id=168031
2786
2787         Reviewed by Tim Horton.
2788
2789         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h:
2790         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:
2791         (TEST):
2792         * TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm:
2793         (-[RemoteObjectRegistryPlugIn takeSize:completionHandler:]):
2794
2795 2017-02-08  Chris Dumez  <cdumez@apple.com>
2796
2797         Use smaller tiles in windows that are not active to facilitate App Napping
2798         https://bugs.webkit.org/show_bug.cgi?id=167997
2799         <rdar://problem/30358835>
2800
2801         Reviewed by Simon Fraser.
2802
2803         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2804         (WTR::PlatformWebView::setWindowIsKey):
2805         Actually update windowIsKey state of NSWindow so the WebView
2806         properly updates its activity state.
2807
2808 2017-02-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2809
2810         Add kUTTypeUTF8PlainText and kUTTypeJPEG to the list of compatible content types in DragData
2811         https://bugs.webkit.org/show_bug.cgi?id=167942
2812         <rdar://problem/30315079>
2813
2814         Reviewed by Tim Horton.
2815
2816         Adds a new test case that simulates dragging from a source that only vends JPEG images or UTF8 plaintext into a
2817         contenteditable area. An image element and the plain text content, respectively, should be inserted into the
2818         contenteditable in these cases.
2819
2820         The DragSource and DragInfo are used to mock dragging into the WebView. There is no reliance on using mouse
2821         events in this test, since we call the dragging delegate methods (draggingEntered:, draggingUpdated:, and
2822         performDragOperation:) directly.
2823
2824         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2825         * TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm: Added.
2826         (+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
2827         (-[FrameLoadCompletionListener initWithCompletionBlock:]):
2828         (-[FrameLoadCompletionListener webView:didFinishLoadForFrame:]):
2829         (-[DragSource draggingSourceOperationMaskForLocal:]):
2830         (-[DragInfo initWithImage:offset:pasteboard:source:destinationWindow:]):
2831         (-[DragInfo lastMousePosition]):
2832         (-[DragInfo setLastMousePosition:]):
2833         (-[DragInfo draggingDestinationWindow]):
2834         (-[DragInfo draggingSourceOperationMask]):
2835         (-[DragInfo draggingLocation]):
2836         (-[DragInfo draggedImageLocation]):
2837         (-[DragInfo draggedImage]):
2838         (-[DragInfo draggingPasteboard]):
2839         (-[DragInfo draggingSource]):
2840         (-[DragInfo draggingSequenceNumber]):
2841         (-[DragInfo slideDraggedImageTo:]):
2842         (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
2843         (-[DragInfo draggingFormation]):
2844         (-[DragInfo setDraggingFormation:]):
2845         (-[DragInfo animatesToDestination]):
2846         (-[DragInfo setAnimatesToDestination:]):
2847         (-[DragInfo numberOfValidItemsForDrop]):
2848         (-[DragInfo setNumberOfValidItemsForDrop:]):
2849         (-[DragInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
2850         (-[DragInfo springLoadingHighlight]):
2851         (-[DragInfo resetSpringLoading]):
2852         (TestWebKitAPI::getTestImage):
2853         (TestWebKitAPI::webViewAfterPerformingDragOperation):
2854         (TestWebKitAPI::TEST):
2855         * TestWebKitAPI/Tests/mac/full-page-contenteditable.html: Added.
2856
2857 2017-02-08  Jer Noble  <jer.noble@apple.com>
2858
2859         Move FullscreenClient creation into WebViewImpl, for use in (deprecated) WKView.
2860         https://bugs.webkit.org/show_bug.cgi?id=168007
2861
2862         Reviewed by Alex Christensen.
2863
2864         * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.mm:
2865         (didFinishLoadForFrame):
2866         (TestWebKitAPI::TEST):
2867
2868 2017-02-08  Commit Queue  <commit-queue@webkit.org>
2869
2870         Unreviewed, rolling out r211873.
2871         https://bugs.webkit.org/show_bug.cgi?id=168001
2872
2873         It's in jhbuild for consistent layout tests (Requested by
2874         mcatanzaro on #webkit).
2875
2876         Reverted changeset:
2877
2878         "[GTK] Add icu packages to Tools/gtk/install-dependencies"
2879         https://bugs.webkit.org/show_bug.cgi?id=167993
2880         http://trac.webkit.org/changeset/211873
2881
2882 2017-02-08  Adrian Perez de Castro  <aperez@igalia.com>
2883
2884         [GTK] Add icu packages to Tools/gtk/install-dependencies
2885         https://bugs.webkit.org/show_bug.cgi?id=167993
2886
2887         Reviewed by Michael Catanzaro.
2888
2889         * gtk/install-dependencies: Add "icu" to the list of required packages (or "icu-dev", or "icu-devel"
2890         depending in the GNU/Linux distribution)
2891
2892 2017-02-07  Ryan Haddad  <ryanhaddad@apple.com>
2893
2894         Update flakiness dashboard configuration.
2895         https://bugs.webkit.org/show_bug.cgi?id=167957
2896
2897         Reviewed by Alexey Proskuryakov.
2898
2899         * TestResultServer/static-dashboards/builders.jsonp:
2900
2901 2017-02-07  Ryan Haddad  <ryanhaddad@apple.com>
2902
2903         Replace a bot that has an incorrect configuration.
2904         https://bugs.webkit.org/show_bug.cgi?id=167747
2905
2906         Rubber-stamped by Alexey Proskuryakov.
2907
2908         * BuildSlaveSupport/build.webkit.org-config/config.json:
2909
2910 2017-02-07  Myles C. Maxfield  <mmaxfield@apple.com>
2911
2912         [Win] [GTK] [EFL] Compile (but don't use, yet) the platform-independent piece of ComplexTextController
2913         https://bugs.webkit.org/show_bug.cgi?id=167927
2914
2915         Reviewed by Brent Fulgham.
2916
2917         Enable ComplexTextController API tests on the Win and GTK ports.
2918
2919         * TestWebKitAPI/PlatformGTK.cmake:
2920         * TestWebKitAPI/PlatformWin.cmake:
2921
2922 2017-02-07  Jonathan Bedard  <jbedard@apple.com>
2923
2924         File index appended to previous file in svn-create-patch with SVN 1.9
2925         https://bugs.webkit.org/show_bug.cgi?id=167903
2926         <rdar://problem/30387395>
2927
2928         Reviewed by Daniel Bates.
2929
2930         * Scripts/VCSUtils.pm:
2931         (fixSVNPatchForAdditionWithHistory): Append a trailing newline character.
2932         * Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl: Do not remove
2933         trailing newline character from the expected result before comparing it to the actual result.
2934
2935 2017-02-07  Olivier Blin  <olivier.blin@softathome.com>
2936
2937         [webkitdirs] remove unused host_processor variable in determineArchitecture()
2938         https://bugs.webkit.org/show_bug.cgi?id=167936
2939
2940         Reviewed by Michael Catanzaro.
2941
2942         * Scripts/webkitdirs.pm:
2943         (determineArchitecture):
2944         The host_processor variable in webkitdirs.pm's determineArchitecture() is not used anymore,
2945         since r195083.
2946
2947 2017-02-07  Youenn Fablet  <youenn@apple.com>
2948
2949         Use a JSON file to define which WPT files/folders to import
2950         https://bugs.webkit.org/show_bug.cgi?id=167923
2951
2952         Reviewed by Alex Christensen.
2953
2954         * Scripts/webkitpy/w3c/test_downloader.py:
2955         (TestDownloader.__init__):
2956         (TestDownloader._init_paths_from_expectations):
2957         * Scripts/webkitpy/w3c/test_importer.py:
2958         (parse_args):
2959         * Scripts/webkitpy/w3c/test_importer_unittest.py:
2960
2961 2017-02-06  Fujii Hironori  <Hironori.Fujii@sony.com>
2962
2963         [GTK] jhbuild fails: mesa-11.0.6.tar.xz: 404 Not Found
2964         https://bugs.webkit.org/show_bug.cgi?id=167916
2965
2966         Reviewed by Carlos Garcia Campos.
2967
2968         URL of mesa-11.0.6.tar.xz has been moved.
2969
2970         * gtk/jhbuild.modules: Fix the module path.
2971
2972 2017-02-06  Joseph Pecoraro  <pecoraro@apple.com>
2973
2974         Static Analyzer: Address some leaks in MiniBrowser
2975         https://bugs.webkit.org/show_bug.cgi?id=167897
2976
2977         Reviewed by Alexey Proskuryakov.
2978
2979         * MiniBrowser/mac/BrowserWindowController.m:
2980         (-[BrowserWindowController sharingService:transitionImageForShareItem:contentRect:]):
2981         * MiniBrowser/mac/ExtensionManagerWindowController.m:
2982         (-[ExtensionManagerWindowController add:]):
2983         (-[ExtensionManagerWindowController remove:]):
2984         * MiniBrowser/mac/SettingsController.m:
2985         (-[SettingsController _populateMenu]):
2986         (-[SettingsController togglePerWindowWebProcessesDisabled:]):
2987         Address obvious leaks caught by the static analyzer.
2988
2989 2017-02-06  Myles C. Maxfield  <mmaxfield@apple.com>
2990
2991         Migrate ComplexTextController to use platform-independent types
2992         https://bugs.webkit.org/show_bug.cgi?id=167833
2993
2994         Reviewed by Brent Fulgham.
2995
2996         Migrate tests away from platform-dependent types.
2997
2998         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
2999         (TestWebKitAPI::TEST_F):
3000
3001 2017-02-06  Brent Fulgham  <bfulgham@apple.com>
3002
3003         Correct File Path Handling in SecurityOrigin and FileSystem
3004         https://bugs.webkit.org/show_bug.cgi?id=167894
3005         <rdar://problem/30380080>
3006
3007         Reviewed by Alexey Proskuryakov.
3008
3009         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp: Don't encode the temporary files,
3010         and perform same-volume checks using filesystem-compatible paths.        
3011         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: Create SecurityOrigins from
3012         filesystem paths, and perform validation of same-volume checks.
3013         (TestWebKitAPI::SecurityOriginTest::tempFilePath): Added.
3014         (TestWebKitAPI::SecurityOriginTest::spaceContainingFilePath): Added.
3015         (TestWebKitAPI::SecurityOriginTest::bangContainingFilePath): Added.
3016         (TestWebKitAPI::SecurityOriginTest::quoteContainingFilePath): Added.
3017
3018 2017-02-06  Jer Noble  <jer.noble@apple.com>
3019
3020         Playback stalls when a SourceBuffer append causes frame eviction
3021         https://bugs.webkit.org/show_bug.cgi?id=167834
3022
3023         Reviewed by Eric Carlson.
3024
3025         Add new correctness tests for the Webcore::SampleMap class. Add additional subtests
3026         for the WTF::MediaTime class.
3027
3028         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3029         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
3030         (TestWebKitAPI::TEST):
3031         * TestWebKitAPI/Tests/WebCore/SampleMap.cpp: Added.
3032         (WTF::operator<<):
3033         (TestWebKitAPI::TestSample::create):
3034         (TestWebKitAPI::TestSample::TestSample):
3035         (TestWebKitAPI::TEST_F):
3036
3037 2017-02-06  Ryan Haddad  <ryanhaddad@apple.com>
3038
3039         Change capitalization in platform name after r211735.
3040
3041         Unreviewed dashboard fix.
3042
3043         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
3044         (WebKitBuildbot):
3045
3046 2017-02-06  Alexey Proskuryakov  <ap@apple.com>
3047
3048         Move the Leaks bot to Sierra
3049         https://bugs.webkit.org/show_bug.cgi?id=167886
3050
3051         Reviewed by Daniel Bates.
3052
3053         * BuildSlaveSupport/build.webkit.org-config/config.json:
3054         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
3055         * BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/LeaksViewer.js:
3056         (LeaksViewer._displayURLPrompt):
3057         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
3058         (WebKitBuildbot):
3059
3060 2017-02-06  Jonathan Bedard  <jbedard@apple.com>
3061
3062         Prevent app crash on launch during simctl install workaround
3063         https://bugs.webkit.org/show_bug.cgi?id=167685
3064
3065         Reviewed by Daniel Bates.
3066
3067         * Scripts/webkitpy/port/simulator_process.py:
3068         (SimulatorProcess.__init__): Pass environment to install.
3069         * Scripts/webkitpy/xcode/simulator.py:
3070         (Device.install_app): Accept environment, pass environment to launch.
3071
3072 2017-02-06  Alex Christensen  <achristensen@webkit.org>
3073
3074         Rebase API tests after r211638
3075         https://bugs.webkit.org/show_bug.cgi?id=167779
3076
3077         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
3078         (TestWebKitAPI::TEST_F):
3079         URLs with non-special schemes and characters like % in the host now fail to parse,
3080         more like their special counterparts and according to spec.
3081
3082 2017-02-06  Csaba Osztrogonác  <ossy@webkit.org>
3083
3084         Unreviewed trivial fix after r211697.
3085         https://bugs.webkit.org/show_bug.cgi?id=167863
3086
3087         * Scripts/run-javascriptcore-tests:
3088         (runJSCStressTests): Renamed ES6SampleBench to ARES-6.
3089
3090 2017-02-04  Simon Fraser  <simon.fraser@apple.com>
3091
3092         Clean up how GraphicsLayer's "inWindow" state is set, and fix some issues with Page Overlays
3093         https://bugs.webkit.org/show_bug.cgi?id=167850
3094
3095         Reviewed by Tim Horton.
3096
3097         * DumpRenderTree/TestRunner.cpp:
3098         (TestRunner::uiScriptDidComplete): Fix an assertion that fires for non-16-bit strings.
3099
3100 2017-02-04  Andreas Kling  <akling@apple.com>
3101
3102         Plug some leaks in TestController and UIScriptContext.
3103         <https://webkit.org/b/167839>
3104
3105         Reviewed by Alexey Proskuryakov.
3106
3107         Fix a couple of the leaks seen on the leaks bot.
3108
3109         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
3110         (UIScriptContext::runUIScript):
3111         * WebKitTestRunner/TestController.cpp:
3112         (WTR::TestController::handleCheckOfUserMediaPermissionForOrigin):
3113         (WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible):
3114
3115 2017-02-03  Jeremy Jones  <jeremyj@apple.com>
3116
3117         WK1 mouse events are missing movementX and movementY for pointerlock.
3118         https://bugs.webkit.org/show_bug.cgi?id=167775
3119         rdar://problem/30343810
3120
3121         Reviewed by Alexey Proskuryakov.
3122
3123         Set kCGMouseEventDeltaX and kCGMouseEventDeltaY when synthesizing mouse move events.
3124
3125         * DumpRenderTree/mac/EventSendingController.mm:
3126         (-[EventSendingController mouseMoveToX:Y:]):
3127         * WebKitTestRunner/mac/EventSenderProxy.mm:
3128         (WTR::EventSenderProxy::mouseMoveTo):
3129
3130 2017-02-03  Simon Fraser  <simon.fraser@apple.com>
3131
3132         Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic
3133         https://bugs.webkit.org/show_bug.cgi?id=167774
3134
3135         Reviewed by Tim Horton.
3136
3137         Implement UIScriptController removeViewFromWindow() and addViewToWindow(), and hook
3138         up for Mac WK1 and WK2, and iOS WK2. It takes a callback because view state updates to the
3139         web process are async, so the callback fires after the web process gets the new state.
3140
3141         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3142         (WTR::UIScriptController::removeViewFromWindow):
3143         (WTR::UIScriptController::addViewToWindow):
3144         * DumpRenderTree/mac/DumpRenderTree.mm:
3145         (createWebViewAndOffscreenWindow):
3146         (resetWebViewToConsistentStateBeforeTesting):
3147         * DumpRenderTree/mac/DumpRenderTreeMac.h:
3148         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3149         (WTR::UIScriptController::removeViewFromWindow):
3150         (WTR::UIScriptController::addViewToWindow):
3151         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3152         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3153         (WTR::UIScriptController::removeViewFromWindow):
3154         (WTR::UIScriptController::addViewToWindow):
3155         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3156         * WebKitTestRunner/PlatformWebView.h:
3157         * WebKitTestRunner/TestController.cpp:
3158         (WTR::TestController::resetStateToConsistentValues):
3159         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3160         (WTR::PlatformWebView::removeFromWindow):
3161         (WTR::PlatformWebView::addToWindow):
3162         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3163         (WTR::UIScriptController::removeViewFromWindow):
3164         (WTR::UIScriptController::addViewToWindow):
3165         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
3166         (WTR::PlatformWebView::removeFromWindow):
3167         (WTR::PlatformWebView::addToWindow):
3168         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3169         (WTR::UIScriptController::removeViewFromWindow):
3170         (WTR::UIScriptController::addViewToWindow):
3171
3172 2017-02-03  Alexey Proskuryakov  <ap@apple.com>
3173
3174         Remove check for SkipSafariExecutableEntitlementChecks
3175         https://bugs.webkit.org/show_bug.cgi?id=167762
3176
3177         Reviewed by Dan Bernstein.
3178
3179         Follow-up fix: don't break internal behavior.
3180
3181         * Scripts/webkitdirs.pm:
3182         (safariPath):
3183         (executableHasEntitlements): Deleted.
3184         (safariPathFromSafariBundle): Deleted.
3185         (installedSafariPath): Deleted.
3186
3187 2017-02-03  Daniel Bates  <dabates@apple.com>
3188
3189         [Mac][WK2] Add SPI to override the Content Security Policy of a page
3190         https://bugs.webkit.org/show_bug.cgi?id=167810
3191         <rdar://problem/30102568>
3192
3193         Reviewed by Anders Carlsson.
3194
3195         Add tests to ensure that we do not regress -[WKWebView _setOverrideContentSecurityPolicy:].
3196
3197         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3198         * TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm: Added.
3199         (TEST):
3200         * TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp-iframe.html: Added.
3201         * TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp.html: Added.
3202         * TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp-iframe.html: Added.
3203         * TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp.html: Added.
3204
3205 2017-02-02  Alex Christensen  <achristensen@webkit.org>
3206
3207         URLParser: Fix parsing invalid IPv4 addresses with non-ASCII characters
3208         https://bugs.webkit.org/show_bug.cgi?id=167773
3209         <rdar://problem/30221102>
3210
3211         Reviewed by Ryosuke Niwa.
3212
3213         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
3214         (TestWebKitAPI::TEST_F):
3215
3216 2017-02-02  Alexey Proskuryakov  <ap@apple.com>
3217
3218         Remove check for SkipSafariExecutableEntitlementChecks
3219         https://bugs.webkit.org/show_bug.cgi?id=167762
3220         rdar://problem/22480673
3221
3222         Reviewed by Dan Bernstein.
3223
3224         * Scripts/webkitdirs.pm:
3225         (safariPathFromSafariBundle):
3226         (skipSafariExecutableEntitlementChecks): Deleted.
3227
3228 2017-02-02  Jonathan Bedard  <jbedard@apple.com>
3229
3230         Undefined subroutine in svn-create-patch
3231         https://bugs.webkit.org/show_bug.cgi?id=167742
3232
3233         Unreviewed build-fix after r211543.
3234
3235         * Scripts/VCSUtils.pm: fixSVNPatchForAdditionWithHistory was not exported.
3236
3237 2017-02-02  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3238
3239         Unreviewed. Fix jhbuild dependencies build.
3240
3241         * gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch:
3242         Patch updated.
3243
3244 2017-02-02  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3245
3246         [EME][GStreamer] Fixed decryptor selection
3247         https://bugs.webkit.org/show_bug.cgi?id=167588
3248
3249         Reviewed by Žan Doberšek.
3250
3251         This patches are pending at https://bugzilla.gnome.org/show_bug.cgi?id=770107
3252
3253         * gtk/jhbuild.modules: Added patches to gstreamer and
3254         gst-plugins-good packages.
3255         * gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch: Added.
3256         * gtk/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Added.
3257
3258 2017-02-01  Dewei Zhu  <dewei_zhu@apple.com>
3259
3260         Make run-benchmark script supports 'config' key in test plan.
3261         https://bugs.webkit.org/show_bug.cgi?id=167715
3262
3263         Reviewed by Ryosuke Niwa.
3264
3265         Add support for 'config' key in test paln.
3266         'config' key is a dictionary that specifies environment configurations while test is running.
3267         Specifies orientation to be portrait in MotionMark benchmark.
3268
3269         * Scripts/webkitpy/benchmark_runner/README.md:
3270         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
3271         (BenchmarkRunner.__init__):
3272         (BenchmarkRunner._run_benchmark):
3273         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
3274         (BrowserDriver.prepare_env):
3275         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
3276         (LinuxBrowserDriver.prepare_env):
3277         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
3278         (OSXBrowserDriver.prepare_env):
3279         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
3280         (OSXSafariDriver.prepare_env):
3281         * Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan:
3282
3283 2017-02-01  Daniel Bates  <dabates@apple.com>
3284
3285         REGRESSION (r210820): svn-create-patch does not emit property change only diff
3286         https://bugs.webkit.org/show_bug.cgi?id=167169
3287
3288         Reviewed by David Kilzer.
3289
3290         More directly handle the SVN 1.9 or newer syntax change for a diff of a copied or moved file
3291         - a SVN diff header and an empty body. In particular, remove a duplicate leading SVN diff
3292         header from the output of "svn diff" on a file that was copied or moved.
3293
3294         Following r210820 svn-create-patch emits to standard output a diff only if it has at least one
3295         chunk range line (e.g. @@ -0,0 +1,7 @@) as a means to workaround a syntax change in the diff
3296         output of a copied or moved file in SVN version 1.9 or newer. In SVN 1.9 or newer "svn diff"
3297         of a copied or moved file always emits to standard output a leading SVN diff header (an "Index:"
3298         line followed by a separator line) with an empty body; => no chunk range lines. However a diff
3299         of a file with only a property change also does not contain any chunk range lines. Therefore
3300         svn-create-patch no longer emitted to standard output such a diff. Instead of indirectly detecting
3301         a SVN diff header with an empty body by counting the number of chunk range lines in the diff
3302         we should directly test for the presence of a leading SVN diff header with an empty body and
3303         remove such lines from the diff.
3304
3305         * Scripts/VCSUtils.pm:
3306         (fixSVNPatchForAdditionWithHistory): Added.
3307         * Scripts/svn-create-patch:
3308         (generateDiff): Pass the output from "svn diff" to fixSVNPatchForAdditionWithHistory() when
3309         we have a non empty patch for an added file with history (i.e. a copied or moved file).
3310         * Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl: Added.
3311
3312 2017-02-01  Eric Carlson  <eric.carlson@apple.com>
3313
3314         [Mac] Update CARingBuffer class
3315         https://bugs.webkit.org/show_bug.cgi?id=167656
3316
3317         Reviewed by Jer Noble.
3318
3319         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3320         * TestWebKitAPI/Tests/WebCore/CARingBuffer.cpp: Added.
3321         (TestWebKitAPI::CARingBufferTest::SetUp):
3322         (TestWebKitAPI::CARingBufferTest::setup):
3323         (TestWebKitAPI::CARingBufferTest::setListDataBuffer):
3324         (TestWebKitAPI::CARingBufferTest::description):
3325         (TestWebKitAPI::CARingBufferTest::bufferList):
3326         (TestWebKitAPI::CARingBufferTest::ringBuffer):
3327         (TestWebKitAPI::CARingBufferTest::capacity):
3328         (TestWebKitAPI::CARingBufferTest::audioBufferListSizeForStream):
3329         (TestWebKitAPI::CARingBufferTest::configureBufferListForStream):
3330         (TestWebKitAPI::TEST_F):
3331         (TestWebKitAPI::MixingTest::run):
3332
3333 2017-02-01  Alexey Proskuryakov  <ap@apple.com>
3334
3335         [Mac] TestWebKitAPI includes system frameworks incorrectly
3336         https://bugs.webkit.org/show_bug.cgi?id=167703
3337         rdar://problem/30301498
3338
3339         Reviewed by Ryosuke Niwa.
3340
3341         FRAMEWORK_SEARCH_PATH results in frameworks being treated as user ones, not system.
3342         Make TestWebKitAPI use -iframework instead, like the rest of WebKit does.
3343
3344         Also, reduced the number of subframework search paths, looks like we only need one now.
3345
3346         * TestWebKitAPI/Configurations/Base.xcconfig:
3347
3348 2017-02-01  Brent Fulgham  <bfulgham@apple.com>
3349
3350         Correct "filesHaveSameVolume" predicate
3351         https://bugs.webkit.org/show_bug.cgi?id=167696
3352         <rdar://problem/30298722>
3353
3354         Reviewed by David Kilzer.
3355
3356         Add new tests that confirm that the 'filesHaveSamePath' predicate properly handles
3357         percent-escaped path inputs.
3358
3359         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
3360         (TestWebKitAPI::FileSystemTest::spaceContainingFilePath):
3361         (TestWebKitAPI::FileSystemTest::bangContainingFilePath):
3362         (TestWebKitAPI::FileSystemTest::quoteContainingFilePath):
3363         (TestWebKitAPI::TEST_F):
3364
3365 2017-02-01  Tomas Popela  <tpopela@redhat.com>
3366
3367         Unreviewed. Fix coding style in MiniBrowser
3368
3369         * MiniBrowser/gtk/BrowserWindow.c:
3370         (editingCommandCallback):
3371         (insertImageCommandCallback):
3372         (insertLinkCommandCallback):
3373
3374 2017-02-01  Tomas Popela  <tpopela@redhat.com>
3375
3376         [GTK] Add an API to add a custom tab into the print dialog
3377         https://bugs.webkit.org/show_bug.cgi?id=151998
3378
3379         Reviewed by Carlos Garcia Campos.
3380
3381         Add a new WebKitPrintOperation/custom-widget test in TestPrinting
3382         that is testing a newly added API.
3383
3384         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
3385         (testPrintCustomWidget):
3386         (beforeAll):
3387
3388 2017-02-01  Enrique Ocaña González  <eocanha@igalia.com>
3389
3390         [GStreamer][MSE] qtdemux: Update the tfdt patch to the version finally accepted upstream
3391         https://bugs.webkit.org/show_bug.cgi?id=166529
3392
3393         Reviewed by Xabier Rodriguez-Calvar.
3394
3395         * gtk/patches/gst-plugins-good-use-the-tfdt-decode-time.patch:
3396         New patch version accepted in GStreamer upstream.
3397
3398 2017-02-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3399
3400         [GTK] Install either libxfont1-dev or libxfont-dev as dependency
3401         https://bugs.webkit.org/show_bug.cgi?id=167498
3402
3403         Reviewed by Carlos Garcia Campos.
3404
3405         Depending on the distro version you can need either libxfont1-dev
3406         or libfont-dev to build with jhbuild.
3407
3408         * gtk/install-dependencies:
3409
3410 2017-01-31  Ryan Haddad  <ryanhaddad@apple.com>
3411
3412         Disable API test WebKit2.WKWebProcessPlugInRangeHandle
3413         https://bugs.webkit.org/show_bug.cgi?id=167594
3414
3415         Unreviewed test gardening.
3416
3417         Disabling this test while we investigate the cause of a timeout on ios-simulator.
3418
3419         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
3420         (TEST):
3421
3422 2017-01-31  Filip Pizlo  <fpizlo@apple.com>
3423
3424         Move slow-running microbenchmarks out of JSTests/microbenchmarks
3425         https://bugs.webkit.org/show_bug.cgi?id=167676
3426
3427         Reviewed by Saam Barati.
3428
3429         * Scripts/run-javascriptcore-tests:
3430         (runJSCStressTests): Add slowMicrobenchmarks.yaml.
3431
3432 2017-01-31  Megan Gardner  <megan_gardner@apple.com>
3433
3434         Make Dump Render Tree not crash
3435         https://bugs.webkit.org/show_bug.cgi?id=167667
3436
3437         DumpRenderTree is crashing when running WK2 tests that it's not supposed to be running. 
3438         DumpRenderTree uses RunLoop::main.dispatch(), but that crashes because it's not set up on iOS.
3439         So we're making use of RunWebThread, which is the correct thing to do on iOS, and it doesn't crash.
3440         This does not fix any tests, it just fixes the crash.
3441         
3442         Reviewed by Simon Fraser.
3443
3444         * DumpRenderTree/TestRunner.cpp:
3445         (TestRunner::callUIScriptCallback):
3446
3447 2017-01-31  Jonathan Bedard  <jbedard@apple.com>
3448
3449         Workaround for simctl install failing to report install failure
3450         https://bugs.webkit.org/show_bug.cgi?id=167654
3451
3452         Reviewed by Daniel Bates.
3453
3454         simctl install will sometimes report success even though install has failed.
3455         To workaround this bug, we attempt an app launch after install to ensure
3456         install has succeeded.
3457
3458         * Scripts/webkitpy/xcode/simulator.py:
3459         (Device.install_app): Attempt app launch after install, retry install if launch fails.
3460         (Device.launch_app): Correct comment.
3461
3462 2017-01-31  Jonathan Bedard  <jbedard@apple.com>
3463
3464         Unreviewed webkitpy fix after r211405.
3465
3466         * Scripts/webkitpy/xcode/simulator.py:
3467         (Device.launch_app): Remove @staticmethod on _log_debug_error.
3468
3469 2017-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
3470
3471         Unreviewed. Do not include libwebrtc and qunit in GTK+ tarballs.
3472
3473         * gtk/manifest.txt.in:
3474
3475 2017-01-31  Chris Fleizach  <cfleizach@apple.com>
3476
3477         AX: enable search predication for iOS
3478         https://bugs.webkit.org/show_bug.cgi?id=167558
3479         <rdar://problem/30251367>
3480
3481         Reviewed by Joanmarie Diggs.
3482
3483         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
3484         (AccessibilityUIElement::uiElementForSearchPredicate):
3485         * DumpRenderTree/mac/AccessibilityCommonMac.h:
3486         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
3487         (searchPredicateParameterizedAttributeForSearchCriteria):
3488         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
3489         (searchPredicateParameterizedAttributeForSearchCriteria): Deleted.
3490         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
3491         (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
3492         (WTR::AccessibilityUIElement::uiElementForSearchPredicate):
3493         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
3494         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
3495         (WTR::searchPredicateParameterizedAttributeForSearchCriteria):
3496         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
3497         (WTR::searchPredicateParameterizedAttributeForSearchCriteria): Deleted.
3498         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3499
3500 2017-01-30  Jonathan Bedard  <jbedard@apple.com>
3501
3502         Workaround for simctl launch bug
3503         https://bugs.webkit.org/show_bug.cgi?id=167613
3504
3505         Reviewed by Daniel Bates.
3506
3507         simctl launch will sometimes fail because of a race condition when many
3508         simulators are being run simultaneously. These failures will always have
3509         an exit code of 1. This change attempts to launch an app multiple times
3510         before reporting a failure to workaround this bug.
3511
3512         * Scripts/webkitpy/xcode/simulator.py:
3513         (Device.launch_app): Execute multiple launch attempts, better logging of failures.
3514
3515 2017-01-30  Alexey Proskuryakov  <ap@apple.com>
3516
3517         Commit queue fails to look at real name aliases for the reviewer
3518         https://bugs.webkit.org/show_bug.cgi?id=167422
3519
3520         Reviewed by Joseph Pecoraro.
3521
3522         * Scripts/webkitpy/common/checkout/changelog_unittest.py:
3523         (test_has_valid_reviewer): Added tests.
3524
3525         * Scripts/webkitpy/common/config/committers.py:
3526         (CommitterList._name_to_contributor_map):
3527         Made _name_to_contributor_map include alias names.
3528
3529         * Scripts/webkitpy/common/config/committers_unittest.py:
3530         (CommittersTest.test_contributors_by_fuzzy_match):
3531         Removed subtests that are now obsolete, as these matches are strict. It is not
3532         obvious if distance based fuzzy matching for names is useful at all, but we can
3533         look into that some other time.
3534
3535 2017-01-30  Aakash Jain  <aakash_jain@apple.com>
3536
3537         QueueStatusServer should have an explicit timeout for _fetch_url
3538         https://bugs.webkit.org/show_bug.cgi?id=167467
3539
3540         Reviewed by Alexey Proskuryakov.
3541
3542         * Scripts/webkitpy/common/net/statusserver.py:
3543         (StatusServer._fetch_url): Add an explicit timeout of 300s.
3544
3545 2017-01-30  Kocsen Chung  <kocsen_chung@apple.com>
3546
3547         Add support for Trac instances that host multiple projects.
3548         https://bugs.webkit.org/show_bug.cgi?id=167524
3549
3550         Reviewed by Alexey Proskuryakov.
3551
3552         When multiple projects are hosted on a single Trac instance, the current
3553         behavior will retrieve changesets from all tracked projects.
3554         This patch teaches Trac.js to get project-specific changesets from Trac.
3555         We do this by replacing the parameter `changeset=on` to `repo-projectname=on`
3556         when querying the Trac timeline.
3557
3558         To tell Trac to be aware of multi-project instances we leverage the 
3559         `options` parameter when creating a new instance: 
3560
3561             new Trac("https://mytrac.com/", { projectIdentifier: "tracProjectName" });
3562
3563         If this option is not provided, the original behaviour will prevail.
3564         Additionally, add corresponding tests.
3565
3566         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
3567         (Trac): Reason about new optional parameter 'projectIdentifier'.
3568         (Trac.prototype.revisionURL): Given a projectIdentifier, append it to the end of the URL.
3569         (Trac.prototype._xmlTimelineURL): Given a projectIdentifier,
3570         replace default parameter `changeset=on` with `repo-projectname=on`.
3571         (Trac.prototype._convertCommitInfoElementToObject): Fix missing ';'.
3572         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js:
3573         (MockTrac): Add support for instantiating Trac with a projectIdentifier.
3574         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
3575         (setup): Provide a multiple-project MockTrac instance to all test cases for testing.
3576         Add the following tests:
3577             test("revisionURL")
3578             test("revisionURL with Trac Identifier")
3579             test("_xmlTimelineURL")
3580             test("_xmlTimelineURL with Trac Identifier")
3581         (this.view._latestProductiveIteration): Fix missing ';'.
3582
3583 2017-01-30  Myles C. Maxfield  <mmaxfield@apple.com>
3584
3585         Correct spacing regression on inter-element complex path shaping on some fonts
3586         https://bugs.webkit.org/show_bug.cgi?id=166013
3587
3588         Reviewed by Simon Fraser.
3589
3590         Unskip existing tests and make some new tests:
3591         - Testing complex text with no origins
3592         - Testing initial expansions
3593         - Testing the sign of vertical advances
3594
3595         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
3596         (TestWebKitAPI::TEST_F):
3597
3598 2017-01-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3599
3600         [GTK][EFL] Avoid using a thin directory to create the built product on the archive-built-product step.
3601         https://bugs.webkit.org/show_bug.cgi?id=167596
3602
3603         Reviewed by Daniel Bates.
3604
3605         We avoid needing a thin directory by invoking the zip program with
3606         the list of directories from the build directory to be zipped,
3607         and by using the zip feature to exclude files matching a pattern.
3608
3609         * BuildSlaveSupport/built-product-archive:
3610         (copyBuildFiles):
3611         (createZipFromList):
3612         (archiveBuiltProduct):
3613
3614 2017-01-30  Jonathan Bedard  <jbedard@apple.com>
3615
3616         Use simctl instead of LayoutTestRelay
3617         https://bugs.webkit.org/show_bug.cgi?id=165927
3618
3619         Reviewed by Daniel Bates.
3620
3621         Part 1
3622
3623         LayoutTestRelay uses SPI, since recent versions of the iOS SDK allow for installing apps on
3624         simulators through simctl (iOS 10 and later), use this functionality instead.
3625
3626         * Scripts/webkitpy/port/base.py:
3627         (Port.__init__): Added _test_runner_process_constructor.
3628         * Scripts/webkitpy/port/darwin.py:
3629         (DarwinPort.app_identifier_from_bundle): Added function to extract bundle ID from plist.
3630         * Scripts/webkitpy/port/driver.py:
3631         (Driver._start): Pass worker_number to server_process so we can look up the correct simulator device to use.
3632         (IOSSimulatorDriver): Deleted.
3633         * Scripts/webkitpy/port/driver_unittest.py:
3634         (DriverTest.test_stop_cleans_up_properly): Set _test_runner_process_constructor for testing.
3635         (DriverTest.test_two_starts_cleans_up_properly): Ditto.
3636         (DriverTest.test_start_actually_starts): Ditto.
3637         * Scripts/webkitpy/port/ios.py:
3638         (IOSSimulatorPort): Remove relay_name.
3639         (IOSSimulatorPort.__init__): Set _test_runner_process_constructor to SimulatorProcess for IOSSimulatorPort.
3640         (IOSSimulatorPort._create_simulators): Formatting change.
3641         (IOSSimulatorPort.relay_path): Deleted.
3642         (IOSSimulatorPort._check_relay): Deleted.
3643         (IOSSimulatorPort._check_port_build): Deleted. Use base class implementation
3644         (IOSSimulatorPort._build_relay): Deleted.
3645         (IOSSimulatorPort._build_driver): Deleted. Use base class implementation
3646         (IOSSimulatorPort._driver_class): Deleted. Use base class implementation
3647         * Scripts/webkitpy/port/ios_unittest.py:
3648         (iosTest.test_32bit): Update test.
3649         (iosTest.test_64bit): Update test.
3650         * Scripts/webkitpy/port/server_process.py:
3651         (ServerProcess.__init__): Added argument worker_number. This class does not make use of it. We will make use of this argument in SimulatorProcess to lookup the associated simulator device.
3652         (ServerProcess._set_file_nonblocking): Added to share common code.
3653         * Scripts/webkitpy/port/server_process_mock.py:
3654         (MockServerProcess.__init__): Added argument worker_number.
3655         * Scripts/webkitpy/port/simulator_process.py: Added.
3656         (SimulatorProcess): Added.
3657         (SimulatorProcess.Popen): Added.
3658         (SimulatorProcess.Popen.__init__): Added. Initialize Popen structure with stdin, stdout, stderr and pid.
3659         (SimulatorProcess.Popen.poll): Added. Check if the process is running.
3660         (SimulatorProcess.Popen.wait): Added. Wait for process to close.
3661         (SimulatorProcess.__init__): Added. Install app to device specified through port and worker_number.
3662         (SimulatorProcess._reset): Added. Unlink fifos.
3663         (SimulatorProcess._start): Added. Launch app on simulator, link fifos.
3664         (SimulatorProcess._kill): Added. Shutdown app on simulator.
3665         * Scripts/webkitpy/xcode/simulator.py:
3666         (Device.__init__): Accept host to run install/launch/terminate.
3667         (Device.install_app): Install app to target Device.
3668         (Device.launch_app): Launch app on target Device.
3669         (Device.terminate_app): Shutdown app on target Device.
3670         (Simulator._parse_devices): Pass host to Device.
3671
3672 2017-01-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3673
3674         [GTK] pixman fails to compile on Raspberry Pi (GCC crash)
3675         https://bugs.webkit.org/show_bug.cgi?id=167411
3676
3677         Reviewed by Michael Catanzaro.
3678
3679         Disable the ARM iwMMXt fast path for pixman, because it triggers
3680         a GCC bug on the RPi with Raspbian/PIXEL causing a build failure.
3681
3682         * gtk/jhbuild.modules:
3683
3684 2017-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
3685
3686         [GTK] Add API to handle the accelerated compositing policy
3687         https://bugs.webkit.org/show_bug.cgi?id=167509
3688
3689         Reviewed by Michael Catanzaro.
3690
3691         Handle new setting in MiniBrowser. The settings dialog doesn't support enum settings so it needs to be handled
3692         as a special case. Also add test cases to the get/set API.
3693
3694         * MiniBrowser/gtk/BrowserSettingsDialog.c:
3695         (hardwareAccelerationPolicyToString):
3696         (stringToHardwareAccelerationPolicy):
3697         (cellRendererChanged):
3698         (browserSettingsDialogConstructed):
3699         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:
3700         (testWebKitSettings):
3701
3702 2017-01-29  Andy Estes  <aestes@apple.com>
3703
3704         [QuickLook] Add a WebPreference to enable saving QuickLook documents in WebKitLegacy
3705         https://bugs.webkit.org/show_bug.cgi?id=167563
3706         <rdar://problem/30253207>
3707
3708         Reviewed by Andreas Kling.
3709
3710         * TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
3711         (-[QuickLookNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]):
3712         (-[QuickLookNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
3713         (runTest):
3714         (-[QuickLookFrameLoadDelegate webView:didFinishLoadForFrame:]):
3715         (TEST):
3716
3717 2017-01-29  Dan Bernstein  <mitz@apple.com>
3718
3719         [iOS] Expose WebCore::DataDetection::detectContentInRange WKWebProcessPlugInRangeHandle
3720         https://bugs.webkit.org/show_bug.cgi?id=167565
3721
3722         Reviewed by Sam Weinig.
3723
3724         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3725         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: Added.
3726         (-[BundleRangeHandleRemoteObject textFromBodyRange:]):
3727         (-[BundleRangeHandleRemoteObject bodyInnerHTMLAfterDetectingData:]):
3728         (TEST):
3729         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandlePlugIn.mm: Added.
3730         (-[BundleRangeHandlePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
3731         (-[BundleRangeHandlePlugIn webProcessPlugInBrowserContextController:didFinishDocumentLoadForFrame:]):
3732         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandleProtocol.h: Added.
3733
3734 2017-01-28  Yoav Weiss  <yoav@yoav.ws>
3735
3736         Add Link Preload as an off-by-default experimental feature menu item.
3737         https://bugs.webkit.org/show_bug.cgi?id=167201
3738
3739         Reviewed by Ryosuke Niwa.
3740
3741         * DumpRenderTree/mac/DumpRenderTree.mm:
3742         (resetWebPreferencesToConsistentValues):
3743         * DumpRenderTree/win/DumpRenderTree.cpp:
3744         (resetWebPreferencesToConsistentValues):
3745
3746 2017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
3747
3748         Add User Timing Experimental Feature
3749         https://bugs.webkit.org/show_bug.cgi?id=167542
3750         <rdar://problem/22746307>
3751
3752         Reviewed by Ryosuke Niwa.
3753
3754         * DumpRenderTree/mac/DumpRenderTree.mm:
3755         (enableExperimentalFeatures):
3756         (resetWebPreferencesToConsistentValues):
3757         * DumpRenderTree/win/DumpRenderTree.cpp:
3758         (enableExperimentalFeatures):
3759
3760 2017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
3761
3762         Patch Review: EWS Bubbles wrap to multiple lines but can fit on one line
3763         https://bugs.webkit.org/show_bug.cgi?id=167519
3764
3765         Reviewed by Ryosuke Niwa.
3766
3767         * QueueStatusServer/templates/statusbubble.html:
3768         To measure the bubbleContainer's width, it must not be wrapping based
3769         on its parent container. So when measuring the width temporarily set
3770         the parent to a very large width so as to not artificially wrap us.
3771         Restore the parent's width after measuring.
3772
3773 2017-01-27  Andy Estes  <aestes@apple.com>
3774
3775         [iOS] Add a test for _WKNSFileManagerExtras
3776         https://bugs.webkit.org/show_bug.cgi?id=167478
3777
3778         Reviewed by Andreas Kling.
3779
3780         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3781         * TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm: Added.
3782         (expectAttributes):
3783         (TEST):
3784
3785 2017-01-27  Keith Miller  <keith_miller@apple.com>
3786
3787         run-benchmarks should make sure it passes the test url to the right application
3788         https://bugs.webkit.org/show_bug.cgi?id=167533
3789
3790         Reviewed by Joseph Pecoraro.
3791
3792         This fixes an issue when trying to run-benchmark script with the
3793         system default browser set to STP. Previously, it would run
3794         the test in STP rather than the provided build. Now, it should run
3795         in the provided build.
3796
3797         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
3798         (OSXSafariDriver.launch_url):
3799
3800 2017-01-27  Myles C. Maxfield  <mmaxfield@apple.com>
3801
3802         [Cocoa] Prepare ComplexTextController for unit testing
3803         https://bugs.webkit.org/show_bug.cgi?id=167493
3804
3805         Reviewed by Simon Fraser.
3806
3807         Addressing post-review comments from Simon Fraser.
3808
3809         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
3810         (TestWebKitAPI::TEST_F):
3811
3812 2017-01-27  Myles C. Maxfield  <mmaxfield@apple.com>
3813
3814         [Cocoa] Prepare ComplexTextController for unit testing
3815         https://bugs.webkit.org/show_bug.cgi?id=167493
3816
3817         Reviewed by Dean Jackson.
3818
3819         Create four unit tests.
3820
3821         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3822         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp: Added.
3823         (TestWebKitAPI::ComplexTextControllerTest::SetUp):
3824         (TestWebKitAPI::TEST_F):
3825
3826 2017-01-26  Chris Dumez  <cdumez@apple.com>
3827
3828         Crash when navigating back to a page in PacheCache when one of its frames has been removed
3829         https://bugs.webkit.org/show_bug.cgi?id=167421
3830         <rdar://problem/30188490>
3831
3832         Reviewed by Darin Adler.
3833
3834         Add a new setting allowing layout tests to enable PageCache in a window
3835         that has an opener, for convenience.
3836
3837         * DumpRenderTree/mac/DumpRenderTree.mm:
3838         (resetWebPreferencesToConsistentValues):
3839         * DumpRenderTree/win/DumpRenderTree.cpp:
3840         (resetWebPreferencesToConsistentValues):
3841         * WebKitTestRunner/TestController.cpp:
3842         (WTR::TestController::resetPreferencesToConsistentValues):
3843
3844 2017-01-26  Keith Miller  <keith_miller@apple.com>
3845
3846         classInfo should take a VM so it is not materialized from the object on each call
3847         https://bugs.webkit.org/show_bug.cgi?id=167424
3848
3849         Rubber Stamped by Michael Saboff.
3850
3851         Previously, classInfo() would get the VM from the target's
3852         MarkedBlock.  Most callers already have a VM on hand, so it is
3853         wasteful to compute the VM from the marked block every time. This
3854         patch refactors some of the most common callers of classInfo(),
3855         jsDynamicCast and inherits to take a VM as well.
3856
3857         * DumpRenderTree/TestRunner.cpp:
3858         (setAudioResultCallback):
3859
3860 2017-01-26  Jer Noble  <jer.noble@apple.com>
3861
3862         Autoplay muted videos stop playback of any streaming app in the background
3863         https://bugs.webkit.org/show_bug.cgi?id=163993
3864         <rdar://problem/29020431>
3865
3866         Reviewed by Eric Carlson.
3867
3868         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3869         * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
3870         (TestWebKitAPI::TEST):
3871         * TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio-and-webaudio.html: Added.
3872
3873 2017-01-26  Ryan Haddad  <ryanhaddad@apple.com>
3874
3875         Disable API test WebKit2.WebsitePoliciesPlayAfterPreventedAutoplay.
3876         https://bugs.webkit.org/show_bug.cgi?id=167466
3877
3878         Unreviewed test gardening.
3879
3880         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
3881         (TEST):
3882
3883 2017-01-26  Matt Rajca  <mrajca@apple.com>
3884
3885         Notify clients when the user plays media otherwise prevented from autoplaying
3886         https://bugs.webkit.org/show_bug.cgi?id=167390
3887
3888         Reviewed by Alex Christensen.
3889
3890         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3891         * TestWebKitAPI/Tests/WebKit2/autoplay-with-controls.html: Added.
3892         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html: Added.
3893         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
3894         (didPlayMediaPreventedFromPlayingWithoutUserGesture):
3895         (TEST):
3896         * TestWebKitAPI/cocoa/TestWKWebView.h:
3897         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3898         (-[TestWKWebViewHostWindow _mouseUpAtPoint:]):
3899         (-[TestWKWebView waitForLoad]):
3900         (-[TestWKWebView mouseUpAtPoint:]):
3901         * WebKitTestRunner/TestController.cpp:
3902         (WTR::TestController::createOtherPage):
3903         (WTR::TestController::createWebViewWithOptions):
3904
3905 2017-01-26  Per Arne Vollan  <pvollan@apple.com>
3906
3907         Crash when setting custom scale factor.
3908         https://bugs.webkit.org/show_bug.cgi?id=167369
3909
3910         Reviewed by Sam Weinig.
3911
3912         Added API test.
3913
3914         * TestWebKitAPI/PlatformWin.cmake:
3915         * TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp: Added.
3916         (TestWebKitAPI::WebKitCreateInstance):
3917         (TestWebKitAPI::ScaleWebView::SetUp):
3918         (TestWebKitAPI::ScaleWebView::TearDown):
3919         (TestWebKitAPI::TEST_F):
3920
3921 2017-01-25  Ryosuke Niwa  <rniwa@webkit.org>
3922
3923         run-benchmark nests MotionMark results by the suite name twice
3924         https://bugs.webkit.org/show_bug.cgi?id=164948
3925
3926         Reviewed by Said Abou-Hallawa.
3927
3928         Use a single level MotionMark now that this is the name of the benchmark,
3929         and we no longer have tests that aren't part of the MotionMark suite.
3930
3931         * Scripts/webkitpy/benchmark_runner/data/patches/MotionMark.patch:
3932
3933 2017-01-25  Ryan Haddad  <ryanhaddad@apple.com>
3934
3935         Unreviewed, rolling out r211193.
3936
3937         This change broke internal builds.
3938
3939         Reverted changeset:
3940
3941         "Notify clients when the user plays media otherwise prevented
3942         from autoplaying"
3943         https://bugs.webkit.org/show_bug.cgi?id=167390
3944         http://trac.webkit.org/changeset/211193
3945
3946 2017-01-25  Matt Rajca  <mrajca@apple.com>
3947
3948         Notify clients when the user plays media otherwise prevented from autoplaying
3949         https://bugs.webkit.org/show_bug.cgi?id=167390
3950
3951         Reviewed by Alex Christensen.
3952
3953         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3954         * TestWebKitAPI/Tests/WebKit2/autoplay-with-controls.html: Added.
3955         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html: Added.
3956         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
3957         (didPlayMediaPreventedFromPlayingWithoutUserGesture):
3958         (TEST):
3959         * TestWebKitAPI/cocoa/TestWKWebView.h:
3960         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3961         (-[TestWKWebViewHostWindow _mouseUpAtPoint:]):
3962         (-[TestWKWebView waitForLoad]):
3963         (-[TestWKWebView mouseUpAtPoint:]):
3964         * WebKitTestRunner/TestController.cpp:
3965         (WTR::TestController::createOtherPage):
3966         (WTR::TestController::createWebViewWithOptions):
3967
3968 2017-01-25  Matt Rajca  <mrajca@apple.com>
3969
3970         [ios-simulator] API test WebKit2.WebsitePoliciesAutoplayEnabled timing out
3971         https://bugs.webkit.org/show_bug.cgi?id=167385
3972
3973         Reviewed by Alex Christensen.
3974
3975         * TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Avoid arbitrary timeouts in favor of promises.
3976         * TestWebKitAPI/Tests/WebKit2/autoplay-no-audio-check.html:
3977         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
3978         (TEST): Allow inline (rather than full screen) media playback on iOS.
3979
3980 2017-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3981
3982         [GTK] Icon Database should be in private browsing mode for ephemeral web views
3983         https://bugs.webkit.org/show_bug.cgi?id=167414
3984
3985         Reviewed by Michael Catanzaro.
3986
3987         Add a test case to check ephemeral web views don't write favicons to the database.
3988
3989         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:
3990         (ephemeralViewLoadChanged):
3991         (testPrivateBrowsing):
3992         (testFaviconDatabase):
3993
3994 2017-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3995
3996         [GTK] Add a private browsing mode to MiniBrowser
3997         https://bugs.webkit.org/show_bug.cgi?id=167413
3998
3999         Reviewed by Michael Catanzaro.
4000
4001         Add -p/--private command line option to create a private instance. Also add CTRL+SHIFT+P shortcut to create
4002         private windows, even on non-private instances.
4003
4004         * MiniBrowser/gtk/BrowserWindow.c:
4005         (webViewTitleChanged): Add [Private] to title window for private windows.
4006         (webViewCreate): Pass web context to browser_window_new.
4007         (openPrivateWindow): Create a new ephemeral web view and add it to a new window.
4008         (browserWindowFinalize): Disconnect web context signal handlers.
4009         (browser_window_init): Add shortcut for opening private window.
4010         (browser_window_new): It now receives the context and connect to download-started here.
4011         (browser_window_get_web_context): Return the context.
4012         * MiniBrowser/gtk/BrowserWindow.h:
4013         * MiniBrowser/gtk/main.c:
4014         (createBrowserTab): Create the web view for the window web context.
4015         (aboutDataScriptMessageReceivedCallback): Do not use the default web context, but the window one.
4016         (aboutDataHandleRequest): Ditto.
4017         (aboutURISchemeRequestCallback): Ditto.
4018         (main): Create ephemeral web context if private command line option is used.
4019
4020 2017-01-25  Ryosuke Niwa  <rniwa@webkit.org>
4021
4022         collectMatchingElementsInFlatTree should not find elements inside an user agent shadow tree
4023         https://bugs.webkit.org/show_bug.cgi?id=167409
4024
4025         Reviewed by Antti Koivisto.
4026
4027         Added a test case for collectMatchingElementsInFlatTree not finding elements inside an user agent shadow tree
4028         as well as tests for the newly added matchingElementInFlatTree.
4029
4030         * TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen.cpp:
4031         (TestWebKitAPI::runJavaScriptAlert):
4032         * TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp:
4033         (TestWebKitAPI::InjectedBundleMakeAllShadowRootOpenTest::initialize):
4034         * TestWebKitAPI/Tests/WebKit2/closed-shadow-tree-test.html:
4035
4036 2017-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
4037
4038         [GTK] Add API to create ephemeral web views and deprecate the private browsing setting
4039         https://bugs.webkit.org/show_bug.cgi?id=167370
4040
4041         Reviewed by Michael Catanzaro.
4042
4043         Add several test cases of ephemeral web views.
4044
4045         * TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp:
4046         (testWebViewAuthenticationStorage):
4047         * TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
4048         (ephemeralViewloadChanged):
4049         (testCookieManagerEphemeral):
4050         (beforeAll):
4051         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:
4052         (testWebKitSettings):
4053         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
4054         (testWebContextEphemeral):
4055         (ephemeralViewloadChanged):
4056         (testWebContextProxySettings):
4057         (beforeAll):
4058         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
4059         (ephemeralViewloadChanged):
4060         (testWebViewEphemeral):
4061         (beforeAll):
4062         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp:
4063         (ephemeralViewloadChanged):
4064         (testWebsiteDataEphemeral):
4065         (beforeAll):
4066
4067 2017-01-24  Alex Christensen  <achristensen@webkit.org>
4068
4069         REGRESSION (r208902): URLWithUserTypedString returns nil with file URLs
4070         https://bugs.webkit.org/show_bug.cgi?id=167402
4071
4072         Reviewed by Ryosuke Niwa.
4073
4074         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
4075         (TestWebKitAPI::TEST):
4076
4077 2017-01-24  Zalan Bujtas  <zalan@apple.com>
4078
4079         Add simple line layout toggle to MiniBrowser
4080         https://bugs.webkit.org/show_bug.cgi?id=167405
4081
4082         Reviewed by Andreas Kling.
4083
4084         * MiniBrowser/mac/SettingsController.h:
4085         * MiniBrowser/mac/SettingsController.m:
4086         (-[SettingsController _populateMenu]):
4087         (-[SettingsController validateMenuItem:]):
4088         (-[SettingsController toggleSimpleLineLayoutEnabled:]):
4089         (-[SettingsController simpleLineLayoutEnabled]):
4090         * MiniBrowser/mac/WK1BrowserWindowController.m:
4091         (-[WK1BrowserWindowController didChangeSettings]):
4092         * MiniBrowser/mac/WK2BrowserWindowController.m:
4093         (-[WK2BrowserWindowController didChangeSettings]):
4094
4095 2017-01-24  Joseph Pecoraro  <pecoraro@apple.com>
4096
4097         WKR does not include my nick when commit-queue lands my patch
4098         https://bugs.webkit.org/show_bug.cgi?id=167388
4099
4100         Reviewed by Ryosuke Niwa.
4101
4102         * Scripts/webkitpy/tool/commands/newcommitbot.py:
4103         (NewCommitBot._summarize_commit_log):
4104         * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
4105         Perform nickname insertion before grabbing "Patch by" details.
4106         This way we can include the nickname with the full name.
4107
4108 2017-01-24  Joseph Pecoraro  <pecoraro@apple.com>
4109
4110         Fold USER_TIMING into WEB_TIMING and make it a RuntimeEnabledFeature
4111         https://bugs.webkit.org/show_bug.cgi?id=167394
4112
4113         Reviewed by Ryosuke Niwa.
4114
4115         * Scripts/webkitperl/FeatureList.pm:
4116         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4117
4118 2017-01-24  Youenn Fablet  <youenn@apple.com>
4119
4120         [WebRTC] Use HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE for libwebrtc
4121         https://bugs.webkit.org/show_bug.cgi?id=167353
4122
4123         Reviewed by Alex Christensen.
4124
4125         * Scripts/webkitpy/libwebrtc/generate_cmake.py:
4126         (CMakeGenerator.initialize_targets):
4127
4128 2017-01-24  Michael Catanzaro  <mcatanzaro@igalia.com>
4129
4130         WKR should not confuse Miguel Gomez with Andres Gomez
4131         https://bugs.webkit.org/show_bug.cgi?id=167389
4132
4133         Reviewed by Lucas Forschler.
4134
4135         Andres's email is a substring of Miguel's, causing WKR to credit Miguel's commits to
4136         "mAndres Gomez". Fix this.
4137
4138         * Scripts/webkitpy/tool/commands/newcommitbot.py:
4139         (NewCommitBot._summarize_commit_log): Be stricter about matching emails. SVN logs include a
4140         space on each side of the email address, so expect both spaces to be there before
4141         considering the email for replacement.
4142         * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py: Add a test.
4143
4144 2017-01-24  Matt Rajca  <mrajca@apple.com>
4145
4146         Pass down website autoplay policies to media elements
4147         https://bugs.webkit.org/show_bug.cgi?id=167355
4148
4149         Reviewed by Alex Christensen.
4150
4151         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4152         * TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Renamed from Tools/TestWebKitAPI/Tests/WebKit2/autoplayCheck.html to match our naming conventions.
4153         * TestWebKitAPI/Tests/WebKit2/autoplay-no-audio-check.html: Added.
4154         * TestWebKitAPI/Tests/WebKit2/test-without-audio-track.mp4: Added.
4155         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
4156         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
4157         (TEST):
4158
4159 2017-01-24  Nan Wang  <n_wang@apple.com>
4160
4161         AX: Speak Selection does not work in an iframe
4162         https://bugs.webkit.org/show_bug.cgi?id=166794
4163         <rdar://problem/29913013>
4164
4165         Reviewed by Chris Fleizach.
4166
4167         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
4168         (WTR::UIScriptController::retrieveSpeakSelectionContent):
4169         (WTR::UIScriptController::accessibilitySpeakSelectionContent):
4170         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
4171         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
4172         (WTR::UIScriptController::retrieveSpeakSelectionContent):
4173         (WTR::UIScriptController::accessibilitySpeakSelectionContent):
4174         * TestRunnerShared/UIScriptContext/UIScriptController.h:
4175         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
4176         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
4177         (-[TestRunnerWKWebView dealloc]):
4178         (-[TestRunnerWKWebView _accessibilityDidGetSpeakSelectionContent:]):
4179         (-[TestRunnerWKWebView accessibilityRetrieveSpeakSelectionContentWithCompletionHandler:]):
4180         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
4181         (WTR::UIScriptController::retrieveSpeakSelectionContent):
4182         (WTR::UIScriptController::accessibilitySpeakSelectionContent):
4183
4184 2017-01-24  Daniel Bates  <dabates@apple.com>
4185
4186         StringView.split() should use an iterator design pattern instead of allocating a Vector
4187         https://bugs.webkit.org/show_bug.cgi?id=163225
4188
4189         Reviewed by Darin Adler.
4190
4191         Add unit tests for StringView.split().
4192
4193         * TestWebKitAPI/Tests/WTF/StringView.cpp:
4194         (TestWebKitAPI::stringViewFromLiteral): Moved to the top of the file so that it can be
4195         used in the StringView.split() unit tests.
4196         (TestWebKitAPI::stringViewFromUTF8): Ditto.
4197         (TestWebKitAPI::vectorFromSplitResult): Convenience function to convert a StringView::SplitResult
4198         object to a Vector of String objects.
4199         (TestWebKitAPI::TEST): Added the following tests:
4200             - WTF.StringViewSplitEmptyAndNullStrings
4201             - WTF.StringViewSplitBasic
4202             - WTF.StringViewSplitWithConsecutiveSeparators
4203
4204 2017-01-23  Anders Carlsson  <andersca@apple.com>
4205
4206         The Score Esports crashes on launch
4207         https://bugs.webkit.org/show_bug.cgi?id=167338
4208         rdar://problem/29948645
4209
4210         Reviewed by Dan Bernstein.
4211
4212         * TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
4213         (TestWebKitAPI::TEST):
4214         Add a test.
4215
4216 2017-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
4217
4218         [GTK] Add API to WebKitWebsiteDataManager to handle website data
4219         https://bugs.webkit.org/show_bug.cgi?id=146589
4220
4221         Reviewed by Michael Catanzaro.
4222
4223         Add about:data handler to MiniBrowser to manually test the website data API. Also add unit tests to test all the
4224         new API, moving the WebKitWebsiteDataManager configuration API to the new file too.
4225
4226         * MiniBrowser/gtk/BrowserWindow.c:
4227         (webViewDecidePolicy):
4228         (newTabCallback):
4229         * MiniBrowser/gtk/main.c:
4230         (createBrowserTab):
4231         (aboutDataRequestFree):
4232         (aboutDataRequestNew):
4233         (aboutDataRequestForView):
4234         (websiteDataRemovedCallback):
4235         (websiteDataClearedCallback):
4236         (aboutDataScriptMessageReceivedCallback):
4237         (domainListFree):
4238         (aboutDataFillTable):
4239         (gotWebsiteDataCallback):
4240         (aboutDataHandleRequest):
4241         (aboutURISchemeRequestCallback):
4242         (main):
4243         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
4244         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
4245         (serverCallback):
4246         (beforeAll):
4247         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp: Added.
4248         (serverCallback):
4249         (WebsiteDataTest::WebsiteDataTest):
4250         (WebsiteDataTest::~WebsiteDataTest):
4251         (WebsiteDataTest::fetch):
4252         (WebsiteDataTest::remove):
4253         (WebsiteDataTest::clear):
4254         (testWebsiteDataConfiguration):
4255         (testWebsiteDataCache):
4256         (testWebsiteDataStorage):
4257         (testWebsiteDataDatabases):
4258         (testWebsiteDataAppcache):
4259         (beforeAll):
4260         (afterAll):
4261
4262 2017-01-23  Commit Queue  <commit-queue@webkit.org>
4263
4264         Unreviewed, rolling out r211062.
4265         https://bugs.webkit.org/show_bug.cgi?id=167354
4266
4267         broke API tests (Requested by alexchristensen on #webkit).
4268
4269         Reverted changeset:
4270
4271         "Pass down website autoplay policies to media elements"
4272         https://bugs.webkit.org/show_bug.cgi?id=167132
4273         http://trac.webkit.org/changeset/211062
4274
4275 2017-01-23  Alex Christensen  <achristensen@webkit.org>
4276
4277         URLParser should fail to parse percent-encoded invalid UTF-8 sequences
4278         https://bugs.webkit.org/show_bug.cgi?id=167330
4279
4280         Reviewed by Tim Horton.
4281
4282         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
4283         (TestWebKitAPI::TEST_F):
4284
4285 2017-01-23  Alex Christensen  <achristensen@webkit.org>
4286
4287         Make URLs with non-special schemes and a query or fragment but no slash after the host more compatible
4288         https://bugs.webkit.org/show_bug.cgi?id=167317
4289
4290         Reviewed by Sam Weinig.
4291