Add SW IDLs and stub out basic functionality.
[WebKit.git] / Source / WebKitLegacy / mac / ChangeLog
1 2017-08-03  Brady Eidson  <beidson@apple.com>
2
3         Add SW IDLs and stub out basic functionality.
4         https://bugs.webkit.org/show_bug.cgi?id=175115
5
6         Reviewed by Chris Dumez.
7
8         * Configurations/FeatureDefines.xcconfig:
9
10 2017-08-02  Sam Weinig  <sam@webkit.org>
11
12         [WebIDL] Convert MutationCallback to be a normal generated callback
13         https://bugs.webkit.org/show_bug.cgi?id=174140
14
15         Reviewed by Darin Adler.
16
17         * DOM/DOMDocument.mm:
18         (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
19         (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
20         Pass, now necessary, Document to NativeNodeFilter constructor.
21
22 2017-08-01  Chris Dumez  <cdumez@apple.com>
23
24         Add initial support for navigator.sendBeacon
25         https://bugs.webkit.org/show_bug.cgi?id=175007
26         <rdar://problem/33547728>
27
28         Reviewed by Sam Weinig.
29
30         Add setting to toggle support for the Beacon API (it is disabled by default).
31
32         * WebView/WebPreferenceKeysPrivate.h:
33         * WebView/WebPreferences.mm:
34         (+[WebPreferences initialize]):
35         (-[WebPreferences beaconAPIEnabled]):
36         (-[WebPreferences setBeaconAPIEnabled:]):
37         * WebView/WebPreferencesPrivate.h:
38         * WebView/WebView.mm:
39         (-[WebView _preferencesChanged:]):
40
41 2017-07-28  Jeremy Jones  <jeremyj@apple.com>
42
43         Remove Web prefix from WebVideoFullscreen and WebPlaybackSession classes.
44         https://bugs.webkit.org/show_bug.cgi?id=174437
45
46         Reviewed by Darin Adler.
47
48         Remove redundant Web- prefix from classes in WebKit namespace.
49
50         * WebView/WebView.mm:
51         (-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
52         * WebView/WebViewData.h:
53         * WebView/WebViewData.mm:
54
55 2017-07-26  Brian Burg  <bburg@apple.com>
56
57         Remove WEB_TIMING feature flag
58         https://bugs.webkit.org/show_bug.cgi?id=174795
59
60         Reviewed by Alex Christensen.
61
62         * Configurations/FeatureDefines.xcconfig:
63
64 2017-07-25  Said Abou-Hallawa  <sabouhallawa@apple.com>
65
66         Async image decoding for large images should be disabled after the first time a tile is painted
67         https://bugs.webkit.org/show_bug.cgi?id=174451
68         <rdar://problem/31246421>
69
70         Reviewed by Simon Fraser.
71
72         * WebView/WebFrame.mm:
73         (-[WebFrame _paintBehaviorForDestinationContext:]):
74         (-[WebFrame _drawRect:contentsOnly:]):
75         * WebView/WebHTMLView.mm:
76         (imageFromRect):
77
78 2017-07-23  Darin Adler  <darin@apple.com>
79
80         More NeverDestroyed and related cleanup
81         https://bugs.webkit.org/show_bug.cgi?id=174745
82
83         Reviewed by Alex Christensen.
84
85         * DOM/DOMUIKitExtensions.mm: Removed a lot of unneeded "using"
86         for names that aren't even used in this file.
87         (-[DOMNode boundingBoxes]): Use @[] syntax instead of
88         -[NSArray arrayWithObject:].
89         (-[DOMNode absoluteQuads]): Ditto.
90         (-[DOMNode findExplodedTextNodeAtPoint:]): Use auto* instead
91         of writing out various types.
92         (-[DOMHTMLAreaElement boundingBoxesWithOwner:]): Use @[]
93         syntax instea of -[NSArray arrayWithObject:].
94         (-[DOMHTMLAreaElement absoluteQuadsWithOwner:]): Ditto.
95         (-[DOMHTMLImageElement dataRepresentation:]): Use auto* instead
96         of writing out various types.
97         (-[DOMHTMLImageElement mimeType]): Ditto.
98
99 2017-07-24  Chris Dumez  <cdumez@apple.com>
100
101         ExceptionCode enumeration should use modern exception names
102         https://bugs.webkit.org/show_bug.cgi?id=174794
103
104         Reviewed by Geoffrey Garen.
105
106         * DOM/ExceptionHandlers.mm:
107         (raiseNotSupportedErrorException):
108
109 2017-07-23  Chris Dumez  <cdumez@apple.com>
110
111         Drop ExceptionCodeDescription class
112         https://bugs.webkit.org/show_bug.cgi?id=174757
113
114         Reviewed by Darin Adler.
115
116         Stop using ExceptionCodeDescription.
117
118         * DOM/ExceptionHandlers.mm:
119         (raiseDOMErrorException):
120
121 2017-07-21  Andreas Kling  <akling@apple.com>
122
123         Use more references in event dispatch code
124         https://bugs.webkit.org/show_bug.cgi?id=174681
125
126         Reviewed by Geoffrey Garen.
127
128         * DOM/ObjCEventListener.h:
129         * DOM/ObjCEventListener.mm:
130         (WebCore::ObjCEventListener::handleEvent):
131         * WebCoreSupport/WebFrameLoaderClient.mm:
132         (NetscapePluginWidget::handleEvent):
133
134 2017-07-21  Brady Eidson  <beidson@apple.com>
135
136         Get rid of WebCore IconDatabase code.
137         https://bugs.webkit.org/show_bug.cgi?id=174700
138
139         Reviewed by Tim Horton.
140
141         * Misc/WebCoreStatistics.mm:
142         (+[WebCoreStatistics iconPageURLMappingCount]):
143         (+[WebCoreStatistics iconRetainedPageURLCount]):
144         (+[WebCoreStatistics iconRecordCount]):
145         (+[WebCoreStatistics iconsWithDataCount]):
146         * WebCoreSupport/WebFrameLoaderClient.h:
147         * WebCoreSupport/WebFrameLoaderClient.mm:
148         * WebCoreSupport/WebIconDatabaseClient.h: Removed.
149         * WebCoreSupport/WebIconDatabaseClient.mm: Removed.
150         * WebView/WebView.mm:
151         (-[WebView mainFrameIconURL]):
152
153 2017-07-20  Chris Dumez  <cdumez@apple.com>
154
155         Drop legacy XPathException type
156         https://bugs.webkit.org/show_bug.cgi?id=174679
157
158         Reviewed by Sam Weinig.
159
160         Drop legacy XPathException type and use DOMException instead. Both Firefox and Chrome
161         no longer expose XPathException.
162
163         * DOM/ExceptionHandlers.mm:
164         (raiseDOMErrorException):
165
166 2017-07-20  Chris Dumez  <cdumez@apple.com>
167
168         Unreviewed, rolling out r219706.
169
170         Broke iOS build
171
172         Reverted changeset:
173
174         "Drop legacy XPathException type"
175         https://bugs.webkit.org/show_bug.cgi?id=174679
176         http://trac.webkit.org/changeset/219706
177
178 2017-07-20  Chris Dumez  <cdumez@apple.com>
179
180         Drop legacy XPathException type
181         https://bugs.webkit.org/show_bug.cgi?id=174679
182
183         Reviewed by Sam Weinig.
184
185         Drop legacy XPathException type and use DOMException instead. Both Firefox and Chrome
186         no longer expose XPathException.
187
188         * DOM/ExceptionHandlers.mm:
189         (raiseDOMErrorException):
190         * WebKit.exp:
191
192 2017-07-20  Chris Dumez  <cdumez@apple.com>
193
194         Replace calls to Vector::resize() with calls to more efficient shrink() / grow() when applicable
195         https://bugs.webkit.org/show_bug.cgi?id=174660
196
197         Reviewed by Geoffrey Garen.
198
199         Replace calls to Vector::resize() with calls to more efficient shrink() / grow() when applicable.
200         This essentially replaces a branch to figure out if the new size is less or greater than the
201         current size by an assertion.
202
203         * Plugins/WebNetscapePluginView.mm:
204         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
205
206 2017-07-20  Brady Eidson  <beidson@apple.com>
207
208         Deprecate WebIconDatabase in WebKitLegacy/mac.
209         https://bugs.webkit.org/show_bug.cgi?id=174607
210
211         Reviewed by Alex Christensen.
212
213         This patch:
214         1 - Formally deprecates WebIconDatabase (which was never API anyways)
215         2 - Guts the class to where it can only return the default icon at the small size
216         3 - Reworks other parts of WebKitLegacy that used it for anything to either
217             use something else or to not do anything.
218         
219         This patch *could* go much farther. A future patch is what will remove WebCore/IconDatabase
220         and that patch will remove all of the last remnants of WebIconDatabase.
221         
222         * History/WebHistoryItem.mm:
223         (-[WebHistoryItem icon]):
224
225         * Misc/WebIconDatabase.h:
226         * Misc/WebIconDatabase.mm:
227         (-[WebIconDatabase init]):
228         (-[WebIconDatabase iconForURL:withSize:cache:]):
229         (-[WebIconDatabase iconForURL:withSize:]):
230         (-[WebIconDatabase defaultIconWithSize:]):
231         (-[WebIconDatabase defaultIconForURL:withSize:]):
232         (-[WebIconDatabase iconURLForURL:]):
233         (-[WebIconDatabase retainIconForURL:]):
234         (-[WebIconDatabase releaseIconForURL:]):
235         (+[WebIconDatabase delayDatabaseCleanup]):
236         (+[WebIconDatabase allowDatabaseCleanup]):
237         (-[WebIconDatabase setDelegate:]):
238         (-[WebIconDatabase delegate]):
239         (+[WebIconDatabase initialize]): Deleted.
240         (-[WebIconDatabase isEnabled]): Deleted.
241         (-[WebIconDatabase setEnabled:]): Deleted.
242         (-[WebIconDatabase removeAllIcons]): Deleted.
243         (+[WebIconDatabase _checkIntegrityBeforeOpening]): Deleted.
244         (-[WebIconDatabase _sendNotificationForURL:]): Deleted.
245         (-[WebIconDatabase _sendDidRemoveAllIconsNotification]): Deleted.
246         (-[WebIconDatabase _startUpIconDatabase]): Deleted.
247         (-[WebIconDatabase _shutDownIconDatabase]): Deleted.
248         (-[WebIconDatabase _applicationWillTerminate:]): Deleted.
249         (-[WebIconDatabase _iconForFileURL:withSize:]): Deleted.
250         (-[WebIconDatabase _resetCachedWebPreferences:]): Deleted.
251         (-[WebIconDatabase _largestIconFromDictionary:]): Deleted.
252         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): Deleted.
253         (-[WebIconDatabase _iconFromDictionary:forSize:cache:]): Deleted.
254         (-[WebIconDatabase _scaleIcon:toSize:]): Deleted.
255         (-[WebIconDatabase _databaseDirectory]): Deleted.
256         (webGetNSImage): Deleted.
257
258         * Misc/WebIconDatabaseDelegate.h: Removed.
259         * Misc/WebIconDatabaseInternal.h: Removed.
260         * Misc/WebIconDatabasePrivate.h: Removed.
261
262         * WebCoreSupport/WebFrameLoaderClient.mm:
263         (webGetNSImage):
264
265         * WebCoreSupport/WebIconDatabaseClient.mm:
266         (WebIconDatabaseClient::didRemoveAllIcons):
267         (WebIconDatabaseClient::didImportIconURLForPageURL):
268
269         * WebView/WebView.mm:
270         (-[WebView setFrameLoadDelegate:]):
271         (-[WebView mainFrameIcon]):
272
273 2017-07-18  Andy Estes  <aestes@apple.com>
274
275         [Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS
276         https://bugs.webkit.org/show_bug.cgi?id=174631
277
278         Reviewed by Tim Horton.
279
280         * Configurations/Base.xcconfig:
281
282 2017-07-18  Andy Estes  <aestes@apple.com>
283
284         [Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
285         https://bugs.webkit.org/show_bug.cgi?id=174631
286
287         Reviewed by Sam Weinig.
288
289         * Configurations/Base.xcconfig:
290
291 2017-07-18  Andy Estes  <aestes@apple.com>
292
293         [Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
294         https://bugs.webkit.org/show_bug.cgi?id=174631
295
296         Reviewed by Dan Bernstein.
297
298         * Configurations/Base.xcconfig:
299
300 2017-07-18  Wenson Hsieh  <wenson_hsieh@apple.com>
301
302         [iOS DnD] [WK1] Add missing calls to WebThreadLock() in some WebView drag-and-drop SPIs
303         https://bugs.webkit.org/show_bug.cgi?id=174640
304         <rdar://problem/33297400>
305
306         Reviewed by Tim Horton.
307
308         Adds a missing call to WebThreadLock() in -_requestStartDataInteraction:globalPosition:. Previously, this was
309         invoked at the call site in UIKit, but was removed after some refactoring in UIKit. Instead, we should lock the
310         web thread here, to match the other WebView drag and drop SPI methods.
311
312         This patch also adds a WebThreadLock() call in -_dataInteractionCaretRect. While this is fine today, since all
313         existing callers of _dataInteractionCaretRect already invoke other methods that WebThreadLock() beforehand, we
314         should make this robust against future UIKit changes that could make this no longer the case.
315
316         * WebView/WebView.mm:
317         (-[WebView _requestStartDataInteraction:globalPosition:]):
318         (-[WebView _dataInteractionCaretRect]):
319
320 2017-07-18  Andy Estes  <aestes@apple.com>
321
322         [Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
323         https://bugs.webkit.org/show_bug.cgi?id=174631
324
325         Reviewed by Darin Adler.
326
327         * Configurations/Base.xcconfig:
328
329 2017-07-17  Sam Weinig  <sam@webkit.org>
330
331         [WebIDL] Remove custom bindings that require non-caching JS strings
332         https://bugs.webkit.org/show_bug.cgi?id=174552
333
334         Reviewed by Darin Adler.
335
336         * DOM/DOMHTMLCanvasElement.mm:
337         (-[DOMHTMLCanvasElement toDataURL:]):
338         Update to account for implementation now returning an UncachedString.
339
340 2017-07-17  Darin Adler  <darin@apple.com>
341
342         Improve use of NeverDestroyed
343         https://bugs.webkit.org/show_bug.cgi?id=174348
344
345         Reviewed by Sam Weinig.
346
347         * Misc/WebStringTruncator.mm:
348         (+[WebStringTruncator centerTruncateString:toWidth:]): Replace
349         NeverDestroyed<RetainPtr> with just an NSFont * global.
350
351         * Plugins/Hosted/NetscapePluginHostManager.h: Removed unneeded include of
352         NeverDestroyed.h.
353         * Storage/WebDatabaseManager.mm: Ditto.
354         * WebCoreSupport/WebFrameNetworkingContext.mm: Ditto.
355         * WebCoreSupport/WebPlatformStrategies.mm: Ditto.
356
357         * WebView/WebView.mm: Removed unneeded include of NetworkStateNotifier.h.
358         (aeDescFromJSValue): Removed double hashing by using the return value from
359         add rather than calling contains before calling add.
360
361 2017-07-14  Jer Noble  <jer.noble@apple.com>
362
363         Allow clients to override their own hardware media requirements where no fallback media exists.
364         https://bugs.webkit.org/show_bug.cgi?id=174426
365         <rdar://problem/32537704>
366
367         Reviewed by Eric Carlson.
368
369         Add a new WebPreferences property to control WebCore's new
370         allowMediaContentTypesRequiringHardwareSupportAsFallback setting.
371
372         * WebView/WebPreferenceKeysPrivate.h:
373         * WebView/WebPreferences.mm:
374         (+[WebPreferences initialize]):
375         (-[WebPreferences allowMediaContentTypesRequiringHardwareSupportAsFallback]):
376         (-[WebPreferences setAllowMediaContentTypesRequiringHardwareSupportAsFallback:]):
377         * WebView/WebPreferencesPrivate.h:
378         * WebView/WebView.mm:
379         (-[WebView _preferencesChanged:]):
380
381 2017-07-12  Said Abou-Hallawa  <sabouhallawa@apple.com>
382
383         Async image decoding for large images should be disabled by default
384         https://bugs.webkit.org/show_bug.cgi?id=174432
385
386         Reviewed by Simon Fraser.
387
388         -- Remove setting the bit PaintBehaviorSnapshotting in any new PaintBehavoir.
389         -- Return PaintBehaviorAllowAsyncImageDecoding when the return value was 0.
390         -- Propagate PaintBehaviorAllowAsyncImageDecoding from a parent view to 
391            a child view instead of propagating PaintBehaviorSnapshotting.
392         -- Replace setting the bit PaintBehaviorSnapshotting in an existing PaintBehavoir
393            by resetting the bit PaintBehaviorAllowAsyncImageDecoding.
394
395         * WebView/WebFrame.mm:
396         (-[WebFrame _paintBehaviorForDestinationContext:]):
397         (-[WebFrame _drawRect:contentsOnly:]):
398         * WebView/WebHTMLView.mm:
399         (imageFromRect):
400
401 2017-07-12  Daniel Bates  <dabates@apple.com>
402
403         Rename NavigationInitiatedByMainFrame to InitiatedByMainFrame
404         https://bugs.webkit.org/show_bug.cgi?id=174427
405
406         Rubber-stamped by Brady Eidson.
407
408         * WebView/WebPDFView.mm:
409         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
410
411 2017-07-12  Matt Lewis  <jlewis3@apple.com>
412
413         Unreviewed, rolling out r219401.
414
415         This revision rolled out the previous patch, but after talking
416         with reviewer, a rebaseline is what was needed.Rolling back in
417         before rebaseline.
418
419         Reverted changeset:
420
421         "Unreviewed, rolling out r219379."
422         https://bugs.webkit.org/show_bug.cgi?id=174400
423         http://trac.webkit.org/changeset/219401
424
425 2017-07-12  Matt Lewis  <jlewis3@apple.com>
426
427         Unreviewed, rolling out r219379.
428
429         This revision caused a consistent failure in the test
430         fast/dom/Window/property-access-on-cached-window-after-frame-
431         removed.html.
432
433         Reverted changeset:
434
435         "Remove NAVIGATOR_HWCONCURRENCY"
436         https://bugs.webkit.org/show_bug.cgi?id=174400
437         http://trac.webkit.org/changeset/219379
438
439 2017-07-11  Dean Jackson  <dino@apple.com>
440
441         Remove NAVIGATOR_HWCONCURRENCY
442         https://bugs.webkit.org/show_bug.cgi?id=174400
443
444         * Configurations/FeatureDefines.xcconfig:
445
446 2017-07-11  Dean Jackson  <dino@apple.com>
447
448         Rolling out r219372.
449
450         * Configurations/FeatureDefines.xcconfig:
451
452 2017-07-11  Dean Jackson  <dino@apple.com>
453
454         Remove NAVIGATOR_HWCONCURRENCY
455         https://bugs.webkit.org/show_bug.cgi?id=174400
456
457         * Configurations/FeatureDefines.xcconfig:
458
459 2017-07-03  Brian Burg  <bburg@apple.com>
460
461         Web Replay: remove some unused code
462         https://bugs.webkit.org/show_bug.cgi?id=173903
463
464         Rubber-stamped by Joseph Pecoraro.
465
466         * Configurations/FeatureDefines.xcconfig:
467
468 2017-07-09  Brady Eidson  <beidson@apple.com>
469
470         Remove some obsolete WebKitVersionChecks.
471         https://bugs.webkit.org/show_bug.cgi?id=174294
472
473         Reviewed by Dan Bernstein.
474
475         * Misc/WebKitVersionChecks.h:
476
477         * WebView/WebHTMLView.mm:
478         (-[WebHTMLView hitTest:]):
479
480         * WebView/WebView.mm:
481         (shouldRespectPriorityInCSSAttributeSetters):
482         (-[WebView _commonInitializationWithFrameName:groupName:]):
483         (-[WebView _preferencesChanged:]):
484         (shouldTransformsAffectOverflow): Deleted.
485         (shouldDispatchJavaScriptWindowOnErrorEvents): Deleted.
486
487 2017-07-08  Brady Eidson  <beidson@apple.com>
488
489         Remove some obsolete RuntimeApplicationChecks.
490         https://bugs.webkit.org/show_bug.cgi?id=174293
491
492         Reviewed by Dan Bernstein.
493
494         * Misc/WebKitVersionChecks.h:
495         * WebView/WebView.mm:
496         (+[WebView enableWebThread]):
497         (-[WebView _needsPreHTML5ParserQuirks]):
498
499 2017-07-08  Yusuke Suzuki  <utatane.tea@gmail.com>
500
501         Drop NOSNIFF compile flag
502         https://bugs.webkit.org/show_bug.cgi?id=174289
503
504         Reviewed by Michael Catanzaro.
505
506         * Configurations/FeatureDefines.xcconfig:
507
508 2017-07-06  Yusuke Suzuki  <utatane.tea@gmail.com>
509
510         [WTF] Clean up StringStatics.cpp by using LazyNeverDestroyed<> for Atoms
511         https://bugs.webkit.org/show_bug.cgi?id=174150
512
513         Reviewed by Mark Lam.
514
515         * DOM/DOM.mm:
516         (lookupElementClass):
517
518 2017-07-06  Brady Eidson  <beidson@apple.com>
519
520         Add logging to first attempt to use the WebIconDatabase class.
521         https://bugs.webkit.org/show_bug.cgi?id=174190
522
523         Reviewed by Andy Estes.
524
525         * Misc/WebIconDatabase.mm:
526         (+[WebIconDatabase sharedIconDatabase]): On first call, log a warning of the bleak future of this non-API.
527         * Misc/WebKitVersionChecks.h:
528
529 2017-07-06  Matt Lewis  <jlewis3@apple.com>
530
531         Unreviewed, rolling out r219178.
532
533         This caused a consistent failure with the API test
534         StringBuilderTest.ToAtomicStringOnEmpty on all Debug testers.
535
536         Reverted changeset:
537
538         "[WTF] Clean up StringStatics.cpp by using
539         LazyNeverDestroyed<> for Atoms"
540         https://bugs.webkit.org/show_bug.cgi?id=174150
541         http://trac.webkit.org/changeset/219178
542
543 2017-07-05  Don Olmstead  <don.olmstead@sony.com>
544
545         [WTF] Move SoftLinking.h into WTF
546         https://bugs.webkit.org/show_bug.cgi?id=174000
547
548         Reviewed by Alex Christensen.
549
550         * Plugins/WebNetscapePluginView.mm:
551         * Plugins/WebPluginController.mm:
552         * WebCoreSupport/WebInspectorClient.mm:
553         * WebView/WebFullScreenController.mm:
554         * WebView/WebImmediateActionController.mm:
555         * WebView/WebView.mm:
556
557 2017-07-05  Yusuke Suzuki  <utatane.tea@gmail.com>
558
559         [WTF] Clean up StringStatics.cpp by using LazyNeverDestroyed<> for Atoms
560         https://bugs.webkit.org/show_bug.cgi?id=174150
561
562         Reviewed by Mark Lam.
563
564         * DOM/DOM.mm:
565         (lookupElementClass):
566
567 2017-07-05  Brady Eidson  <beidson@apple.com>
568
569         Allow navigations in subframes to get a ShouldOpenExternalURLsPolicy of "ShouldAllow".
570         <rdar://problem/22485589> and https://bugs.webkit.org/show_bug.cgi?id=174178
571
572         Reviewed by Alex Christensen.
573
574         Adopt to the new constructor for FrameLoadRequest.
575
576         * WebView/WebPDFView.mm:
577         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
578
579 2017-07-05  Ryosuke Niwa  <rniwa@webkit.org>
580
581         Make WebKit's public headers on Mac and iOS C++ module safe
582         https://bugs.webkit.org/show_bug.cgi?id=174175
583
584         Reviewed by Alex Christensen.
585
586         Fixed the header files.
587
588         * Misc/WebDownload.h:
589         * Misc/WebKitErrors.h:
590         * Plugins/WebPluginContainer.h:
591         * WebView/WebResourceLoadDelegate.h:
592
593 2017-07-03  Myles C. Maxfield  <mmaxfield@apple.com>
594
595         Remove copy of ICU headers from WebKit
596         https://bugs.webkit.org/show_bug.cgi?id=116407
597
598         Reviewed by Alex Christensen.
599
600         Use WTF's copy of ICU headers.
601
602         * Configurations/WebKitLegacy.xcconfig:
603         * icu/unicode/localpointer.h: Removed.
604         * icu/unicode/parseerr.h: Removed.
605         * icu/unicode/platform.h: Removed.
606         * icu/unicode/ptypes.h: Removed.
607         * icu/unicode/putil.h: Removed.
608         * icu/unicode/uchar.h: Removed.
609         * icu/unicode/uconfig.h: Removed.
610         * icu/unicode/ucurr.h: Removed.
611         * icu/unicode/uidna.h: Removed.
612         * icu/unicode/uiter.h: Removed.
613         * icu/unicode/umachine.h: Removed.
614         * icu/unicode/unorm.h: Removed.
615         * icu/unicode/unorm2.h: Removed.
616         * icu/unicode/urename.h: Removed.
617         * icu/unicode/uscript.h: Removed.
618         * icu/unicode/ustring.h: Removed.
619         * icu/unicode/utf.h: Removed.
620         * icu/unicode/utf16.h: Removed.
621         * icu/unicode/utf8.h: Removed.
622         * icu/unicode/utf_old.h: Removed.
623         * icu/unicode/utypes.h: Removed.
624         * icu/unicode/uvernum.h: Removed.
625         * icu/unicode/uversion.h: Removed.
626
627 2017-07-05  Jonathan Bedard  <jbedard@apple.com>
628
629         Add WebKitPrivateFrameworkStubs for iOS 11
630         https://bugs.webkit.org/show_bug.cgi?id=173988
631
632         Reviewed by David Kilzer.
633
634         * Configurations/WebKitLegacy.xcconfig: iphoneos and iphonesimulator should
635         use the same directory for private framework stubs.
636
637 2017-07-03  Matt Lewis  <jlewis3@apple.com>
638
639         Unreviewed, rolling out r219103.
640
641         Caused multiple build failures.
642
643         Reverted changeset:
644
645         "Remove copy of ICU headers from WebKit"
646         https://bugs.webkit.org/show_bug.cgi?id=116407
647         http://trac.webkit.org/changeset/219103
648
649 2017-07-03  Myles C. Maxfield  <mmaxfield@apple.com>
650
651         Remove copy of ICU headers from WebKit
652         https://bugs.webkit.org/show_bug.cgi?id=116407
653
654         Reviewed by Alex Christensen.
655
656         Use WTF's copy of ICU headers.
657
658         * Configurations/WebKitLegacy.xcconfig:
659         * icu/unicode/localpointer.h: Removed.
660         * icu/unicode/parseerr.h: Removed.
661         * icu/unicode/platform.h: Removed.
662         * icu/unicode/ptypes.h: Removed.
663         * icu/unicode/putil.h: Removed.
664         * icu/unicode/uchar.h: Removed.
665         * icu/unicode/uconfig.h: Removed.
666         * icu/unicode/ucurr.h: Removed.
667         * icu/unicode/uidna.h: Removed.
668         * icu/unicode/uiter.h: Removed.
669         * icu/unicode/umachine.h: Removed.
670         * icu/unicode/unorm.h: Removed.
671         * icu/unicode/unorm2.h: Removed.
672         * icu/unicode/urename.h: Removed.
673         * icu/unicode/uscript.h: Removed.
674         * icu/unicode/ustring.h: Removed.
675         * icu/unicode/utf.h: Removed.
676         * icu/unicode/utf16.h: Removed.
677         * icu/unicode/utf8.h: Removed.
678         * icu/unicode/utf_old.h: Removed.
679         * icu/unicode/utypes.h: Removed.
680         * icu/unicode/uvernum.h: Removed.
681         * icu/unicode/uversion.h: Removed.
682
683 2017-07-03  Brady Eidson  <beidson@apple.com>
684
685         Switch all WebKit API related to favicons from WebIconDatabase over to new WebCore::IconLoader mechanism.
686         https://bugs.webkit.org/show_bug.cgi?id=174073
687
688         Reviewed by Andy Estes.
689
690         WebView now keeps a direct copy of its main frame icon as a member variable.
691         It populates that variable by finding exactly one Favicon LinkIcon from WebCore and loading it.
692         
693         This change causes a progression in KVO observation of the mainFrameIcon property as we now
694         have both the old icon and new icon at the time it changes.
695
696         * WebCoreSupport/WebFrameLoaderClient.h:
697         * WebCoreSupport/WebFrameLoaderClient.mm:
698         (WebFrameLoaderClient::prepareForDataSourceReplacement):
699         (WebFrameLoaderClient::getLoadDecisionForIcons):
700         (WebFrameLoaderClient::finishedLoadingIcon):
701         (WebFrameLoaderClient::dispatchDidReceiveIcon): Deleted.
702         (WebFrameLoaderClient::registerForIconNotification): Deleted.
703
704         * WebView/WebView.mm:
705         (+[WebView _setIconLoadingEnabled:]):
706         (+[WebView _isIconLoadingEnabled]):
707         (-[WebView mainFrameIcon]):
708         (-[WebView _setMainFrameIcon:]):
709         (-[WebView _receivedIconChangedNotification:]): Deleted.
710         (-[WebView _registerForIconNotification:]): Deleted.
711         (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Deleted.
712         * WebView/WebViewData.h:
713         * WebView/WebViewInternal.h:
714         * WebView/WebViewPrivate.h:
715
716 2017-07-03  Sam Weinig  <sam@webkit.org>
717
718         [WebIDL] Remove more unnecessary uses of the preprocessor in idl files
719         https://bugs.webkit.org/show_bug.cgi?id=174083
720
721         Reviewed by Alex Christensen.
722
723         * Configurations/FeatureDefines.xcconfig:
724         Add ENABLE_NAVIGATOR_STANDALONE.
725
726 2017-07-03  Tim Horton  <timothy_horton@apple.com>
727
728         Expose unobscuredSafeAreaInsets on WebView
729         https://bugs.webkit.org/show_bug.cgi?id=174075
730         <rdar://problem/33096997>
731
732         Reviewed by Beth Dakin.
733
734         * WebView/WebView.mm:
735         (-[WebView _setUnobscuredSafeAreaInsets:]):
736         (-[WebView _unobscuredSafeAreaInsets]):
737         * WebView/WebViewPrivate.h:
738         Expose unobscuredSafeAreaInsets as a new private property on WebView,
739         similar to how it is exposed in WebKit2.
740
741 2017-07-03  Andy Estes  <aestes@apple.com>
742
743         [Xcode] Add an experimental setting to build with ccache
744         https://bugs.webkit.org/show_bug.cgi?id=173875
745
746         Reviewed by Tim Horton.
747
748         * Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.
749
750 2017-07-03  Tim Horton  <timothy_horton@apple.com>
751
752         Expose WebPreferences for viewport-fit and constant() properties
753         https://bugs.webkit.org/show_bug.cgi?id=174072
754         <rdar://problem/33096639>
755
756         Reviewed by Ryosuke Niwa.
757
758         * WebView/WebPreferenceKeysPrivate.h:
759         * WebView/WebPreferences.mm:
760         (-[WebPreferences viewportFitEnabled]):
761         (-[WebPreferences setViewportFitEnabled:]):
762         (-[WebPreferences constantPropertiesEnabled]):
763         (-[WebPreferences setConstantPropertiesEnabled:]):
764         * WebView/WebPreferencesPrivate.h:
765         * WebView/WebView.mm:
766         (-[WebView _preferencesChanged:]):
767
768 2017-07-01  Tim Horton  <timothy_horton@apple.com>
769
770         Expose viewport-fit value to UIKit via viewport arguments dictionary
771         https://bugs.webkit.org/show_bug.cgi?id=174071
772         <rdar://problem/33096620>
773
774         Reviewed by Wenson Hsieh.
775
776         * History/WebHistoryItem.mm:
777         * History/WebHistoryItemPrivate.h:
778         Add another dictionary key and three values.
779
780 2017-07-01  Dan Bernstein  <mitz@apple.com>
781
782         [iOS] Remove code only needed when building for iOS 9.x
783         https://bugs.webkit.org/show_bug.cgi?id=174068
784
785         Reviewed by Tim Horton.
786
787         * Configurations/FeatureDefines.xcconfig:
788
789 2017-07-01  Ryosuke Niwa  <rniwa@webkit.org>
790
791         Frame.h doesn't need to include FrameLoader.h, IntRect.h, and NavigationScheduler.h
792         https://bugs.webkit.org/show_bug.cgi?id=174004
793
794         Reviewed by Simon Fraser.
795
796         * WebCoreSupport/WebPluginInfoProvider.mm:
797
798 2017-07-01  Dan Bernstein  <mitz@apple.com>
799
800         [macOS] Remove code only needed when building for OS X Yosemite
801         https://bugs.webkit.org/show_bug.cgi?id=174067
802
803         Reviewed by Tim Horton.
804
805         * Configurations/Base.xcconfig:
806         * Configurations/DebugRelease.xcconfig:
807         * Configurations/FeatureDefines.xcconfig:
808         * Configurations/Version.xcconfig:
809         * Plugins/WebBasePluginPackage.mm:
810         (-[WebBasePluginPackage getPluginInfoFromPLists]):
811         * WebCoreSupport/PopupMenuMac.mm:
812         (PopupMenuMac::show):
813         * WebCoreSupport/WebInspectorClient.mm:
814         (WebInspectorFrontendClient::startWindowDrag):
815         (-[WebInspectorWindowController window]):
816         * WebView/WebView.mm:
817         (-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
818
819 2017-06-30  Daniel Bates  <dabates@apple.com>
820
821         API::FrameInfo should know the web page that contains the frame; add API property webView to WKFrameInfo
822         https://bugs.webkit.org/show_bug.cgi?id=165160
823         <rdar://problem/29451999>
824
825         Reviewed by Brady Eidson.
826
827         Pass the document that is requesting the load to the loader.
828
829         * WebView/WebPDFView.mm:
830         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
831
832 2017-06-29  Jer Noble  <jer.noble@apple.com>
833
834         Make Legacy EME API controlled by RuntimeEnabled setting.
835         https://bugs.webkit.org/show_bug.cgi?id=173994
836
837         Reviewed by Sam Weinig.
838
839         Add a new preference used to control WebCore's new RuntimeEnabledFeature setting.
840
841         * Configurations/FeatureDefines.xcconfig:
842         * WebView/WebPreferenceKeysPrivate.h:
843         * WebView/WebPreferences.mm:
844         (+[WebPreferences initialize]):
845         (-[WebPreferences legacyEncryptedMediaAPIEnabled]):
846         (-[WebPreferences setLegacyEncryptedMediaAPIEnabled:]):
847         * WebView/WebPreferencesPrivate.h:
848         * WebView/WebView.mm:
849         (-[WebView _preferencesChanged:]):
850
851 2017-06-30  Chris Dumez  <cdumez@apple.com>
852
853         ResourceLoadObserver does not need a ResourceLoadStatisticsStore
854         https://bugs.webkit.org/show_bug.cgi?id=174013
855
856         Reviewed by Brent Fulgham.
857
858         ResourceLoadObserver does not need a ResourceLoadStatisticsStore. ResourceLoadStatisticsStore is too complicated for its needs.
859         ResourceLoadStatisticsStore can then be moved to WebKit2/UIProcess in a follow-up.
860
861         * WebView/WebView.mm:
862         (-[WebView _commonInitializationWithFrameName:groupName:]):
863
864 2017-06-30  Wenson Hsieh  <wenson_hsieh@apple.com>
865
866         [iOS DnD] Drag caret rect is incorrectly computed when dropping in editable content in iframes
867         https://bugs.webkit.org/show_bug.cgi?id=174017
868         <rdar://problem/32959782>
869
870         Reviewed by Simon Fraser.
871
872         Use root view coordinates when computing the drag caret rect.
873
874         * WebView/WebView.mm:
875         (-[WebView _dataInteractionCaretRect]):
876
877 2017-06-28  Simon Fraser  <simon.fraser@apple.com>
878
879         Mark the GraphicsContext as accelerated when the WebHTMLView's layer is drawing asynchronously
880         https://bugs.webkit.org/show_bug.cgi?id=173899
881         rdar://problem/32994474
882
883         Reviewed by Tim Horton.
884
885         When the WebHTMLView is layer-backed, and -drawsAsynchronously on its layer is YES,
886         then mark the GraphicsContext that WebCore is using for drawing as accelerated, so
887         that ImageBuffer::createCompatibleBuffer() creates appropriately matched buffers.
888
889         Also clean up WebFrame a little, sharing code that checks whether the WebFrame's
890         documentView is a WebHTMLView.
891
892         * WebView/WebFrame.mm:
893         (-[WebFrame _webHTMLDocumentView]):
894         (-[WebFrame _paintBehaviorForDestinationContext:]):
895         (-[WebFrame _drawRect:contentsOnly:]):
896         (-[WebFrame setTimeoutsPaused:]):
897         (-[WebFrame prepareForPause]):
898         (-[WebFrame resumeFromPause]):
899         (-[WebFrame resetTextAutosizingBeforeLayout]):
900         * WebView/WebHTMLView.mm:
901         (-[WebHTMLView drawLayer:inContext:]):
902         (-[WebHTMLView _web_isDrawingIntoAcceleratedLayer]):
903         * WebView/WebHTMLViewInternal.h:
904
905 2017-06-27  Wenson Hsieh  <wenson_hsieh@apple.com>
906
907         [iOS DnD] Support dragging out of contenteditable areas without a prior selection
908         https://bugs.webkit.org/show_bug.cgi?id=173854
909         <rdar://problem/32236827>
910
911         Reviewed by Ryosuke Niwa and Tim Horton.
912
913         Vends some information from the DragItem passed into -[WebView _startDrag:] through the WebView as SPI for
914         WebKit1 clients. No behavior change with these changes alone -- see <rdar://problem/32991062> for more detail.
915
916         * WebView/WebView.mm:
917         (-[WebView _startDrag:]):
918         (-[WebView _dragSourceAction]):
919         (-[WebView _draggedLinkTitle]):
920         (-[WebView _draggedLinkURL]):
921         (-[WebView _draggedElementBounds]):
922         (-[WebView _endedDataInteraction:global:]):
923         * WebView/WebViewData.h:
924         * WebView/WebViewPrivate.h:
925
926 2017-06-26  Wenson Hsieh  <wenson_hsieh@apple.com>
927
928         Refactor drag start codepaths to plumb a DragItem to client layers
929         https://bugs.webkit.org/show_bug.cgi?id=173832
930         Work towards <rdar://problem/32236827>
931
932         Reviewed by Ryosuke Niwa and Tim Horton.
933
934         Refactor code used to start a drag in WebKit1 to plumb a single DragItem from DragController to the client layer
935         in WebDragClient that contains all the information needed to begin a drag. Also renames _setDataInteractionData:
936         to _startDrag: to match logic used to start a drag on other platforms.
937
938         No behavior change -- the same information should be propagated to AppKit and UIKit when beginning a drag, only
939         through the DragItem struct.
940
941         * WebCoreSupport/WebDragClient.h:
942         * WebCoreSupport/WebDragClient.mm:
943         (WebDragClient::startDrag):
944         (WebDragClient::dragSourceActionMaskForPoint):
945         (WebDragClient::willPerformDragSourceAction):
946         (WebDragClient::beginDrag):
947         * WebView/WebView.mm:
948         (-[WebView _startDrag:]):
949         (-[WebView _setDataInteractionData:textIndicator:atClientPosition:anchorPoint:action:]): Deleted.
950         * WebView/WebViewInternal.h:
951
952 2017-06-25  Konstantin Tokarev  <annulen@yandex.ru>
953
954         Remove excessive headers from JavaScriptCore
955         https://bugs.webkit.org/show_bug.cgi?id=173812
956
957         Reviewed by Darin Adler.
958
959         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
960         * WebView/WebView.mm:
961
962 2017-06-23  Tim Horton  <timothy_horton@apple.com>
963
964         Remove an unused typedef from WebFrameLoaderClient
965         https://bugs.webkit.org/show_bug.cgi?id=173795
966
967         Reviewed by Simon Fraser.
968
969         * WebCoreSupport/WebFrameLoaderClient.h:
970         This unused typedef in the global namespace conflicts with one in a macOS system header.
971         Also... it's unused.
972         Remove it.
973
974 2017-06-23  Konstantin Tokarev  <annulen@yandex.ru>
975
976         Remove excessive headers from WebCore/{bindings,css,dom}
977         https://bugs.webkit.org/show_bug.cgi?id=173766
978
979         Reviewed by Simon Fraser.
980
981         * DOM/DOMInternal.mm:
982
983 2017-06-22  Daniel Bates  <dabates@apple.com>
984
985         Make FrameLoadRequest a move-only type
986         https://bugs.webkit.org/show_bug.cgi?id=173682
987
988         Reviewed by Alex Christensen and Darin Adler.
989
990         A FrameLoadRequest groups together the information to perform a load into a single object
991         that is more manageable to pass around than its constituent parts. Code that receives a
992         FrameLoadRequest is expected to extract out the information it needs to complete its task.
993         And it does not make sense to re-use the same FrameLoadRequest object for more than one
994         load. Therefore, it is sufficient to make FrameLoadRequest a move-only type.
995
996         * Plugins/WebPluginController.mm:
997         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
998         * WebView/WebPDFView.mm:
999         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
1000
1001 2017-06-21  Antoine Quint  <graouts@apple.com>
1002
1003         Ensure DRT always logs rAF suspension debugging code
1004         https://bugs.webkit.org/show_bug.cgi?id=173681
1005
1006         Reviewed by Tim "Mr. T" Horton.
1007
1008         * WebView/WebPreferenceKeysPrivate.h:
1009         * WebView/WebPreferences.mm:
1010         (+[WebPreferences initialize]):
1011         (-[WebPreferences shouldLogScriptedAnimationControllerSuspensionChange]): Deleted.
1012         (-[WebPreferences setShouldLogScriptedAnimationControllerSuspensionChange:]): Deleted.
1013         * WebView/WebPreferencesPrivate.h:
1014         * WebView/WebView.mm:
1015         (-[WebView _preferencesChanged:]):
1016
1017 2017-06-21  Daniel Bates  <dabates@apple.com>
1018
1019         Cleanup FrameLoadRequest
1020         https://bugs.webkit.org/show_bug.cgi?id=173564
1021         <rdar://problem/32903570>
1022
1023         Reviewed by Brent Fulgham.
1024
1025         * WebView/WebPDFView.mm:
1026         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Move FrameLoadRequest instantiation
1027         into a local variable and use C++11 brace initialization syntax to make it easier to identify
1028         the arguments passed to FrameLoader::loadFrameRequest().
1029
1030 2017-06-21  Antoine Quint  <graouts@apple.com>
1031
1032         Add logging to identify when the Page suspends scripted animations
1033         https://bugs.webkit.org/show_bug.cgi?id=173626
1034
1035         Reviewed by Tim Horton.
1036
1037         Add a new preference to control the new shouldLogScriptedAnimationControllerSuspensionChange settings
1038         through WebKit. This is specific to WK1 since the issue we're trying to pinpoint only occurs on WK1 bots.
1039
1040         * WebView/WebPreferenceKeysPrivate.h:
1041         * WebView/WebPreferences.mm:
1042         (+[WebPreferences initialize]):
1043         (-[WebPreferences shouldLogScriptedAnimationControllerSuspensionChange]):
1044         (-[WebPreferences setShouldLogScriptedAnimationControllerSuspensionChange:]):
1045         * WebView/WebPreferencesPrivate.h:
1046         * WebView/WebView.mm:
1047         (-[WebView _preferencesChanged:]):
1048
1049 2017-06-20  Myles C. Maxfield  <mmaxfield@apple.com>
1050
1051         Disable font variations on macOS Sierra and iOS 10
1052         https://bugs.webkit.org/show_bug.cgi?id=173618
1053         <rdar://problem/32879164>
1054
1055         Reviewed by Jon Lee.
1056
1057         * Configurations/FeatureDefines.xcconfig:
1058
1059 2017-06-20  Daniel Bates  <dabates@apple.com>
1060
1061         Have FrameLoadRequest takes a Frame& instead of a Frame*
1062         https://bugs.webkit.org/show_bug.cgi?id=173614
1063         <rdar://problem/32884890>
1064
1065         Reviewed by Brent Fulgham.
1066
1067         * Plugins/WebPluginController.mm:
1068         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
1069         * WebView/WebFrame.mm:
1070         (-[WebFrame loadRequest:]):
1071         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
1072
1073 2017-06-19  Frederic Wang  <fwang@igalia.com>
1074
1075         [Mac] Add an experimental feature setting for async frame scrolling
1076         https://bugs.webkit.org/show_bug.cgi?id=173359
1077
1078         Reviewed by Simon Fraser.
1079
1080         * WebView/WebPreferenceKeysPrivate.h: Declare key for async frame scrolling preference.
1081         * WebView/WebPreferences.mm:
1082         (+[WebPreferences initialize]): Initialize async frame scrolling preference to false.
1083         (-[WebPreferences asyncFrameScrollingEnabled]): Define getter for async frame scrolling.
1084         (-[WebPreferences setAsyncFrameScrollingEnabled:]): Define setter for async frame scrolling.
1085         * WebView/WebPreferencesPrivate.h: Declare setter and getter.
1086         * WebView/WebView.mm:
1087         (-[WebView _preferencesChanged:]): Take into account preference update for async frame
1088         scrolling.
1089
1090 2017-06-19  Chris Dumez  <cdumez@apple.com>
1091
1092         Use WTF::Function instead of std::function in more places in WebCore/
1093         https://bugs.webkit.org/show_bug.cgi?id=173535
1094
1095         Reviewed by Antti Koivisto.
1096
1097         Use WTF::Function instead of std::function in more places in WebCore/ to avoid copying.
1098
1099         * WebCoreSupport/WebFrameLoaderClient.h:
1100         * WebCoreSupport/WebFrameLoaderClient.mm:
1101         (WebFrameLoaderClient::dispatchDecidePolicyForResponse):
1102         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1103         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1104         (WebFrameLoaderClient::dispatchWillSubmitForm):
1105         (WebFrameLoaderClient::setUpPolicyListener):
1106         (-[WebFramePolicyListener initWithFrame:policyFunction:]):
1107         (-[WebFramePolicyListener initWithFrame:policyFunction:appLinkURL:]):
1108
1109 2017-05-14 Frederic Wang  <fwang@igalia.com>
1110
1111         Add heuristic to avoid flattening "fullscreen" iframes
1112         https://bugs.webkit.org/show_bug.cgi?id=171914
1113
1114         Reviewed by Simon Fraser.
1115
1116         This commit adjusts the mac/ios preference interface to treat frame flattening as an enum.
1117
1118         * WebView/WebPreferenceKeysPrivate.h: Rename the key.
1119         * WebView/WebPreferences.mm:
1120         (+[WebPreferences initialize]): Handle frame flattening as an enum.
1121         (-[WebPreferences isFrameFlatteningEnabled]): Ditto.
1122         (-[WebPreferences setFrameFlatteningEnabled:]): Ditto.
1123         (-[WebPreferences frameFlattening]): New function to get frame flattening as an enum.
1124         (-[WebPreferences setFrameFlattening:]): New function to set frame flattening as an enum.
1125         * WebView/WebPreferencesPrivate.h: Ditto.
1126         * WebView/WebView.mm:
1127         (-[WebView _preferencesChanged:]): Ditto.
1128         * WebView/WebPreferencesPrivate.h: Add new enum definition.
1129
1130 2017-06-17  Chris Dumez  <cdumez@apple.com>
1131
1132         Use WTF::Function instead of std::function in WebKit2/
1133         https://bugs.webkit.org/show_bug.cgi?id=173504
1134
1135         Reviewed by Darin Adler.
1136
1137         Use WTF::Function instead of std::function in WebKit2/ to avoid
1138         unnecessary copying.
1139
1140         * Plugins/Hosted/HostedNetscapePluginStream.h:
1141         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1142         (WebKit::HostedNetscapePluginStream::willSendRequest):
1143         * Plugins/WebNetscapePluginStream.h:
1144         * Plugins/WebNetscapePluginStream.mm:
1145         (WebNetscapePluginStream::willSendRequest):
1146         * WebCoreSupport/WebPaymentCoordinatorClient.h:
1147         * WebCoreSupport/WebPaymentCoordinatorClient.mm:
1148         (WebPaymentCoordinatorClient::canMakePaymentsWithActiveCard):
1149         (WebPaymentCoordinatorClient::openPaymentSetup):
1150
1151 2017-06-16  Sam Weinig  <sam@webkit.org>
1152
1153         [WebIDL] Remove custom bindings for HTMLDocument
1154         https://bugs.webkit.org/show_bug.cgi?id=173444
1155
1156         Reviewed by Darin Adler.
1157
1158         * DOM/DOMHTMLDocument.mm:
1159         (-[DOMHTMLDocument linkColor]):
1160         (-[DOMHTMLDocument setLinkColor:]):
1161         (-[DOMHTMLDocument write:]):
1162         (-[DOMHTMLDocument writeln:]):
1163         Update for new signature of write/writeln and rename of linkColor to linkColorForBindings.
1164
1165 2017-06-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1166
1167         [iOS DnD] Upstream iOS drag and drop implementation into OpenSource WebKit
1168         https://bugs.webkit.org/show_bug.cgi?id=173366
1169         <rdar://problem/32767014>
1170
1171         Reviewed by Tim Horton.
1172
1173         Move pieces of iOS WebKit1 drag and drop implementation into OpenSource. No change in behavior.
1174
1175         * Configurations/FeatureDefines.xcconfig:
1176         * WebCoreSupport/WebDragClient.mm:
1177         (WebDragClient::useLegacyDragClient):
1178         (WebDragClient::willPerformDragDestinationAction):
1179         (WebDragClient::dragSourceActionMaskForPoint):
1180         (WebDragClient::willPerformDragSourceAction):
1181         (WebDragClient::startDrag):
1182         (WebDragClient::beginDrag):
1183         (WebDragClient::declareAndWriteDragImage):
1184         (WebDragClient::declareAndWriteAttachment):
1185         (WebDragClient::didConcludeEditDrag):
1186         * WebView/WebView.mm:
1187         (-[WebView _setDataInteractionData:textIndicator:atClientPosition:anchorPoint:action:]):
1188         (-[WebView _getDataInteractionData]):
1189         (-[WebView dragDataForSession:client:global:operation:]):
1190         (-[WebView _enteredDataInteraction:client:global:operation:]):
1191         (-[WebView _updatedDataInteraction:client:global:operation:]):
1192         (-[WebView _exitedDataInteraction:client:global:operation:]):
1193         (-[WebView _performDataInteraction:client:global:operation:]):
1194         (-[WebView _tryToPerformDataInteraction:client:global:operation:]):
1195         (-[WebView _endedDataInteraction:global:]):
1196         (-[WebView _didConcludeEditDataInteraction]):
1197         (floatRectsForCGRectArray): Deleted.
1198         (-[WebView _createImageWithPlatterForImage:boundingRect:contentScaleFactor:clippingRects:]): Deleted.
1199         * WebView/WebViewData.h:
1200         * WebView/WebViewData.mm:
1201         (-[WebViewPrivate dealloc]):
1202         * WebView/WebViewPrivate.h:
1203
1204 2017-06-15  Wenson Hsieh  <wenson_hsieh@apple.com>
1205
1206         [iOS DnD] [WK1] Dropping links onto UIWebViews should not trigger navigation by default
1207         https://bugs.webkit.org/show_bug.cgi?id=173454
1208         <rdar://problem/31720671>
1209
1210         Reviewed by Tim Horton.
1211
1212         Adds -webView:dragDestinationActionMaskForSession: as SPI to WebUIDelegate.
1213         If unimplemented, the default UI delegate allows all actions except for URL loading.
1214
1215         * DefaultDelegates/WebDefaultUIDelegate.mm:
1216         (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForSession:]):
1217         * WebView/WebUIDelegatePrivate.h:
1218         * WebView/WebView.mm:
1219         (-[WebView dragDestinationActionMaskForSession:]):
1220
1221 2017-06-15  Wenson Hsieh  <wenson_hsieh@apple.com>
1222
1223         Using -[WebItemProviderPasteboard setItemProviders:] to swap out item providers before a drop breaks item provider loading
1224         https://bugs.webkit.org/show_bug.cgi?id=173338
1225         <rdar://problem/32777720>
1226
1227         Reviewed by Tim Horton.
1228
1229         Rename updatePreferredTypeIdentifiers to updateSupportedTypeIdentifiers.
1230
1231         * WebCoreSupport/WebPlatformStrategies.h:
1232         * WebCoreSupport/WebPlatformStrategies.mm:
1233         (WebPlatformStrategies::updateSupportedTypeIdentifiers):
1234         (WebPlatformStrategies::updatePreferredTypeIdentifiers): Deleted.
1235
1236 2017-06-13  Daniel Bates  <dabates@apple.com>
1237
1238         Implement W3C Secure Contexts Draft Specification
1239         https://bugs.webkit.org/show_bug.cgi?id=158121
1240         <rdar://problem/26012994>
1241
1242         Reviewed by Brent Fulgham.
1243
1244         Part 4
1245
1246         Adds a preference to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.
1247
1248         * WebView/WebPreferenceKeysPrivate.h:
1249         * WebView/WebPreferences.mm:
1250         (+[WebPreferences initialize]):
1251         (-[WebPreferences isSecureContextAttributeEnabled]):
1252         (-[WebPreferences setIsSecureContextAttributeEnabled:]):
1253         * WebView/WebPreferencesPrivate.h:
1254         * WebView/WebView.mm:
1255         (-[WebView _preferencesChanged:]):
1256
1257 2017-06-13  Sam Weinig  <sam@webkit.org>
1258
1259         Rename JSDOMWindowShell to JSDOMWindowProxy to match the HTML5 spec.
1260         https://bugs.webkit.org/show_bug.cgi?id=80733
1261
1262         Reviewed by Chris Dumez.
1263
1264         * DOM/DOMUtility.mm:
1265         (createDOMWrapper):
1266         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1267         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
1268         * WebView/WebFrame.mm:
1269         (-[WebFrame _attachScriptDebugger]):
1270         (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
1271
1272 2017-06-12  Jiewen Tan  <jiewen_tan@apple.com>
1273
1274         [WebCrypto] Remove experimental feature flag of SubtleCrypto
1275         https://bugs.webkit.org/show_bug.cgi?id=173197
1276         <rdar://problem/32688148>
1277
1278         Reviewed by Brent Fulgham.
1279
1280         * WebView/WebPreferences.mm:
1281         (+[WebPreferences initialize]):
1282         (-[WebPreferences subtleCryptoEnabled]): Deleted.
1283         (-[WebPreferences setSubtleCryptoEnabled:]): Deleted.
1284         * WebView/WebPreferencesPrivate.h:
1285         * WebView/WebView.mm:
1286         (-[WebView _preferencesChanged:]):
1287
1288 2017-06-10  Dan Bernstein  <mitz@apple.com>
1289
1290         Reverted r218056 because it made the IDE reindex constantly.
1291
1292         * Configurations/DebugRelease.xcconfig:
1293
1294 2017-06-10  Dan Bernstein  <mitz@apple.com>
1295
1296         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
1297         https://bugs.webkit.org/show_bug.cgi?id=173223
1298
1299         Reviewed by Sam Weinig.
1300
1301         The rebuilds were happening due to a difference in the compiler options that the IDE and
1302         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
1303         xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
1304         specify an appropriate path in CLANG_INDEX_STORE_PATH.
1305
1306         * Configurations/DebugRelease.xcconfig:
1307
1308 2017-06-09  Wenson Hsieh  <wenson_hsieh@apple.com>
1309
1310         [iOS DnD] Add a hook to perform two-step drops in editable content
1311         https://bugs.webkit.org/show_bug.cgi?id=172992
1312         <rdar://problem/32590174>
1313
1314         Reviewed by Tim Horton.
1315
1316         Adds a new SPI to WebUIKitDelegate to allow WK1 clients to override default drop behavior. Returning YES from
1317         -performTwoStepDrop:atDestination:isMove: will prevent content from being inserted on drop in WebKit; otherwise,
1318         returning NO will continue with default WebKit behavior.
1319
1320         * WebCoreSupport/WebEditorClient.h:
1321         * WebCoreSupport/WebEditorClient.mm:
1322         (WebEditorClient::performTwoStepDrop):
1323
1324 2017-06-08  Jer Noble  <jer.noble@apple.com>
1325
1326         Clients of the WK2 C-API don't have their mediaContentTypesRequiringHardwareSupport setting initialized correctly.
1327         https://bugs.webkit.org/show_bug.cgi?id=173091
1328
1329         Reviewed by Eric Carlson.
1330
1331         * WebView/WebPreferences.mm:
1332         (+[WebPreferences initialize]):
1333
1334 2017-06-07  Jer Noble  <jer.noble@apple.com>
1335
1336         Clean-up: RenderElement.h includes headers it doesn't use
1337         https://bugs.webkit.org/show_bug.cgi?id=173046
1338
1339         Reviewed by Andy Estes.
1340
1341         * WebView/WebImmediateActionController.mm:
1342
1343 2017-06-07  Zalan Bujtas  <zalan@apple.com>
1344
1345         [iOS WK1 WebThread] Do not call out to the main thread for device orientation.
1346         https://bugs.webkit.org/show_bug.cgi?id=173044
1347         <rdar://problem/32449338>
1348
1349         Reviewed by Tim Horton.
1350
1351         Cache the current device orientation so that we don't have to lift the WebThread lock
1352         to collect it.
1353
1354         * WebView/WebFrame.mm:
1355         (-[WebFrame deviceOrientationChanged]):
1356         * WebView/WebView.mm:
1357         (-[WebView _commonInitializationWithFrameName:groupName:]):
1358         (-[WebView _setDeviceOrientation:]):
1359         (-[WebView _deviceOrientation]):
1360         * WebView/WebViewData.h:
1361         * WebView/WebViewInternal.h:
1362
1363 2017-06-06  Jer Noble  <jer.noble@apple.com>
1364
1365         [Cocoa] Set defaults for mediaContentTypesRequiringHardwareSupport setting
1366         https://bugs.webkit.org/show_bug.cgi?id=173008
1367
1368         Reviewed by Eric Carlson.
1369
1370         Add a private preference (with default) for the mediaContentTypesRequiringHardwareSupport WebCore setting.
1371
1372         * WebView/WebPreferenceKeysPrivate.h:
1373         * WebView/WebPreferences.mm:
1374         (+[WebPreferences initialize]):
1375         (-[WebPreferences mediaUserGestureInheritsFromDocument]):
1376         (-[WebPreferences setMediaUserGestureInheritsFromDocument:]):
1377         * WebView/WebPreferencesPrivate.h:
1378         * WebView/WebView.mm:
1379         (-[WebView _preferencesChanged:]):
1380
1381 2017-06-06  Youenn Fablet  <youenn@apple.com>
1382
1383         Add an option to disable getUserMedia prompt in case of mock capture sources
1384         https://bugs.webkit.org/show_bug.cgi?id=172981
1385         <rdar://problem/32580325>
1386
1387         Reviewed by Eric Carlson.
1388
1389         Defining the option, getter and setter.
1390
1391         * WebView/WebPreferences.mm:
1392         (+[WebPreferences initialize]):
1393         (-[WebPreferences mockCaptureDevicesPromptEnabled]):
1394         (-[WebPreferences setMockCaptureDevicesPromptEnabled:]):
1395         * WebView/WebPreferencesPrivate.h:
1396
1397 2017-06-05  Dan Bernstein  <mitz@apple.com>
1398
1399         Tried to fix the build when targrting macOS 10.12 using the macOS 10.13 developer beta SDK.
1400
1401         * WebView/WebView.mm:
1402         (-[WebView updateMediaTouchBar]):
1403         * WebView/WebViewData.h:
1404
1405 2017-06-03  Darin Adler  <darin@apple.com>
1406
1407         Streamline handling of attributes, using references as much as possible
1408         https://bugs.webkit.org/show_bug.cgi?id=172899
1409
1410         Reviewed by Chris Dumez.
1411
1412         * WebView/WebHTMLRepresentation.mm:
1413         (matchLabelsAgainstElement): Added handling of nullptr since nothing guarantees the
1414         passed in element can't be null. Removed unnecessary conversion from NSString to String
1415         and then back to NSString.
1416
1417 2017-06-01  Andy Estes  <aestes@apple.com>
1418
1419         REGRESSION (r217626): ENABLE_APPLE_PAY_SESSION_V3 was disabled by mistake
1420         https://bugs.webkit.org/show_bug.cgi?id=172828
1421
1422         Reviewed by Beth Dakin.
1423
1424         * Configurations/FeatureDefines.xcconfig:
1425
1426 2017-05-31  Andy Estes  <aestes@apple.com>
1427
1428         Rename ENABLE_APPLE_PAY_DELEGATE to ENABLE_APPLE_PAY_SESSION_V3 and bump the supported version number
1429         https://bugs.webkit.org/show_bug.cgi?id=172366
1430
1431         Reviewed by Daniel Bates.
1432
1433         * Configurations/FeatureDefines.xcconfig:
1434
1435 2017-05-30  Ryosuke Niwa  <rniwa@webkit.org>
1436
1437         Only include DataDetectorsUI headers in iOS
1438         https://bugs.webkit.org/show_bug.cgi?id=172633
1439
1440         Reviewed by David Kilzer.
1441
1442         Enable data detectors only on iOS and not other variants of iOS.
1443
1444         * WebCoreSupport/WebFrameLoaderClient.mm:
1445
1446 2017-05-30  Alex Christensen  <achristensen@webkit.org>
1447
1448         Update libwebrtc configuration
1449         https://bugs.webkit.org/show_bug.cgi?id=172727
1450
1451         Reviewed by Geoffrey Garen.
1452
1453         * Configurations/FeatureDefines.xcconfig:
1454
1455 2017-05-28  Dan Bernstein  <mitz@apple.com>
1456
1457         [Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
1458         https://bugs.webkit.org/show_bug.cgi?id=172691
1459
1460         Reviewed by Tim Horton.
1461
1462         * Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.
1463
1464 2017-05-26  Brent Fulgham  <bfulgham@apple.com>
1465
1466         [WK2] Address thread safety issues with ResourceLoadStatistics
1467         https://bugs.webkit.org/show_bug.cgi?id=172519
1468         <rdar://problem/31707642>
1469
1470         Reviewed by Chris Dumez.
1471
1472         Create a new WorkQueue for the ResourceLoadStatistics store to use for processing data.
1473
1474         * WebView/WebView.mm:
1475         (WebKitInitializeApplicationStatisticsStoragePathIfNecessary): Pass WorkQueue to the observer.
1476
1477 2017-05-25  Myles C. Maxfield  <mmaxfield@apple.com>
1478
1479         [WK1] iframes in layer-backed NSViews are not cleared between successive draws
1480         https://bugs.webkit.org/show_bug.cgi?id=172554
1481         <rdar://problem/31247133>
1482
1483         Reviewed by Simon Fraser.
1484
1485         Update an overridden internal AppKit function to the new signature.
1486
1487         * WebView/WebHTMLView.mm:
1488         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]):
1489         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):
1490         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.
1491         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]): Deleted.
1492
1493 2017-05-24  Jer Noble  <jer.noble@apple.com>
1494
1495         Rename DisplaySleepDisabler -> SleepDisabler
1496         https://bugs.webkit.org/show_bug.cgi?id=172478
1497
1498         Reviewed by Sam Weinig.
1499
1500         * WebView/WebFullScreenController.h:
1501
1502 2017-05-23  Simon Fraser  <simon.fraser@apple.com>
1503
1504         Stop consulting -viewsNeedDisplay when doing layer flushing in WebKit1
1505         https://bugs.webkit.org/show_bug.cgi?id=172522
1506         rdar://problem/31071812
1507
1508         Reviewed by Tim Horton.
1509
1510         There's no need to consult -[NSWindow viewsNeedDisplay] on newer OSes. It was
1511         added in r58623, and modified in r61204 for Carbon apps, but with more recent AppKit
1512         versions this synchronization is no longer required.
1513
1514         * WebView/WebView.mm:
1515         (LayerFlushController::flushLayers):
1516
1517 2017-05-22  Simon Fraser  <simon.fraser@apple.com>
1518
1519         Snapshotting via -renderInContext: should do synchronous image decodes
1520         https://bugs.webkit.org/show_bug.cgi?id=172485
1521         rdar://problem/32276146
1522
1523         Reviewed by Tim Horton.
1524
1525         Remove the _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap: SPI that no longer
1526         has any callers.
1527
1528         * Plugins/WebBaseNetscapePluginView.h:
1529         * Plugins/WebBaseNetscapePluginView.mm:
1530         (-[WebBaseNetscapePluginView inFlatteningPaint]): Deleted.
1531         * WebView/WebFrame.mm:
1532         (-[WebFrame _paintBehaviorForDestinationContext:]):
1533         (-[WebFrame _drawRect:contentsOnly:]):
1534         (-[WebFrame _shouldFlattenCompositingLayers:]): Deleted.
1535         * WebView/WebHTMLView.mm:
1536         (imageFromRect):
1537         * WebView/WebView.mm:
1538         (-[WebView _commonInitializationWithFrameName:groupName:]):
1539         (-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]): Deleted.
1540         (-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]): Deleted.
1541         * WebView/WebViewData.h:
1542         * WebView/WebViewPrivate.h:
1543
1544 2017-05-23  Myles C. Maxfield  <mmaxfield@apple.com>
1545
1546         Remove dead ENABLE(FONT_LOAD_EVENTS) code
1547         https://bugs.webkit.org/show_bug.cgi?id=172517
1548
1549         Rubber-stamped by Simon Fraser.
1550
1551         * Configurations/FeatureDefines.xcconfig:
1552
1553 2017-05-23  Emilio Cobos Álvarez  <ecobos@igalia.com>
1554
1555         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
1556         https://bugs.webkit.org/show_bug.cgi?id=171984
1557
1558         Reviewed by Antti Koivisto.
1559
1560         * WebView/WebPreferenceKeysPrivate.h:
1561         * WebView/WebPreferences.mm:
1562         (+[WebPreferences initialize]):
1563         (-[WebPreferences displayContentsEnabled]):
1564         (-[WebPreferences setDisplayContentsEnabled:]):
1565         * WebView/WebPreferencesPrivate.h:
1566         * WebView/WebView.mm:
1567         (-[WebView _preferencesChanged:]):
1568
1569 2017-05-22  Youenn Fablet  <youenn@apple.com>
1570
1571         Remove AVAudioCaptureSource
1572         https://bugs.webkit.org/show_bug.cgi?id=172360
1573
1574         Reviewed by Sam Weinig.
1575
1576         Removing the handling of AVAudio/CoreAudio capture source dynamic switch.
1577
1578         * WebView/WebPreferenceKeysPrivate.h:
1579         * WebView/WebPreferences.mm:
1580         (+[WebPreferences initialize]):
1581         (-[WebPreferences useAVFoundationAudioCapture]): Deleted.
1582         (-[WebPreferences setUseAVFoundationAudioCapture:]): Deleted.
1583         * WebView/WebPreferencesPrivate.h:
1584         * WebView/WebView.mm:
1585         (-[WebView _preferencesChanged:]):
1586
1587 2017-05-22  Sam Weinig  <sam@webkit.org>
1588
1589         [WebIDL] Support callbacks with arbitrary return types
1590         https://bugs.webkit.org/show_bug.cgi?id=172407
1591
1592         Reviewed by Chris Dumez.
1593
1594         * DOM/DOM.mm:
1595         (-[DOMNodeFilter acceptNode:]):
1596         Update for CallbackResult adoption in the base class.
1597
1598         * DOM/DOMNodeIterator.mm:
1599         * DOM/DOMTreeWalker.mm:
1600         Update to account for new WebCore implementation return types. We return nil
1601         if there was an exception, since retains the existing behavior if a javascript
1602         NodeFilter had been used (an exception would cause all nodes to be rejected,
1603         thus returning nullptr).
1604
1605         * DOM/ObjCNodeFilterCondition.h:
1606         * DOM/ObjCNodeFilterCondition.mm:
1607         Update to match new interface of NodeFilterCondition.
1608
1609 2017-05-18  Sam Weinig  <sam@webkit.org>
1610
1611         [WebIDL] Remove the need for the generator to know about native type mapping
1612         https://bugs.webkit.org/show_bug.cgi?id=172310
1613
1614         Reviewed by Darin Adler.
1615
1616         * DOM/DOM.mm:
1617         (-[DOMNodeFilter acceptNode:]):
1618         Update to pass Node by reference.
1619
1620 2017-05-19  Yusuke Suzuki  <utatane.tea@gmail.com>
1621
1622         [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
1623         https://bugs.webkit.org/show_bug.cgi?id=172098
1624
1625         Reviewed by Saam Barati.
1626
1627         * Plugins/Hosted/ProxyInstance.mm:
1628         * Plugins/Hosted/ProxyRuntimeObject.mm:
1629
1630 2017-05-18  Andy Estes  <aestes@apple.com>
1631
1632         ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier
1633         https://bugs.webkit.org/show_bug.cgi?id=172305
1634
1635         Reviewed by Anders Carlsson.
1636
1637         * Configurations/FeatureDefines.xcconfig:
1638
1639 2017-05-18  Commit Queue  <commit-queue@webkit.org>
1640
1641         Unreviewed, rolling out r217031, r217032, and r217037.
1642         https://bugs.webkit.org/show_bug.cgi?id=172293
1643
1644         cause linking errors in Windows (Requested by yusukesuzuki on
1645         #webkit).
1646
1647         Reverted changesets:
1648
1649         "[JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass"
1650         https://bugs.webkit.org/show_bug.cgi?id=172098
1651         http://trac.webkit.org/changeset/217031
1652
1653         "Unreviewed, rebaseline for newly added ClassInfo"
1654         https://bugs.webkit.org/show_bug.cgi?id=172098
1655         http://trac.webkit.org/changeset/217032
1656
1657         "Unreviewed, fix debug and non-JIT build"
1658         https://bugs.webkit.org/show_bug.cgi?id=172098
1659         http://trac.webkit.org/changeset/217037
1660
1661 2017-05-16  Yusuke Suzuki  <utatane.tea@gmail.com>
1662
1663         [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass
1664         https://bugs.webkit.org/show_bug.cgi?id=172098
1665
1666         Reviewed by Saam Barati.
1667
1668         * Plugins/Hosted/ProxyInstance.mm:
1669         * Plugins/Hosted/ProxyRuntimeObject.mm:
1670
1671 2017-05-17  Matt Lewis  <jlewis3@apple.com>
1672
1673         Unreviewed, rolling out r216974.
1674
1675         Revision caused consistent timeouts on all platforms.
1676
1677         Reverted changeset:
1678
1679         "Add a RuntimeEnabledFeature for display: contents, defaulted
1680         to false."
1681         https://bugs.webkit.org/show_bug.cgi?id=171984
1682         http://trac.webkit.org/changeset/216974
1683
1684 2017-05-17  Emilio Cobos Álvarez  <ecobos@igalia.com>
1685
1686         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
1687         https://bugs.webkit.org/show_bug.cgi?id=171984
1688
1689         Reviewed by Antti Koivisto.
1690
1691         * WebView/WebPreferenceKeysPrivate.h:
1692         * WebView/WebPreferences.mm:
1693         (+[WebPreferences initialize]):
1694         (-[WebPreferences displayContentsEnabled]):
1695         (-[WebPreferences setDisplayContentsEnabled:]):
1696         * WebView/WebPreferencesPrivate.h:
1697         * WebView/WebView.mm:
1698         (-[WebView _preferencesChanged:]):
1699
1700 2017-05-16  Sam Weinig  <sam@webkit.org>
1701
1702         Bring Notification.idl up to spec
1703         https://bugs.webkit.org/show_bug.cgi?id=172156
1704
1705         Reviewed by Chris Dumez.
1706
1707         * WebCoreSupport/WebNotificationClient.h:
1708         * WebCoreSupport/WebNotificationClient.mm:
1709         (generateNotificationID):
1710         (WebNotificationClient::show):
1711         (WebNotificationClient::cancel):
1712         (WebNotificationClient::clearNotifications):
1713         (WebNotificationClient::notificationObjectDestroyed):
1714         (WebNotificationClient::requestPermission):
1715         (WebNotificationClient::hasPendingPermissionRequests):
1716         (WebNotificationClient::checkPermission):
1717         (-[WebNotificationPolicyListener allow]):
1718         (-[WebNotificationPolicyListener deny]):
1719         * WebView/WebNotification.mm:
1720         (-[WebNotification iconURL]):
1721         (-[WebNotification dir]):
1722         Simplify #ifdefs and update for enum vs String usage.
1723
1724 2017-05-15  Said Abou-Hallawa  <sabouhallawa@apple.com>
1725
1726         Do not delete asynchronously decoded frames for large images if their clients are in the viewport
1727         https://bugs.webkit.org/show_bug.cgi?id=170640
1728
1729         Reviewed by Simon Fraser.
1730
1731         Enable the async decoding for large images.
1732
1733         * WebView/WebView.mm:
1734         (-[WebView _preferencesChanged:]):
1735
1736 2017-05-15  Jer Noble  <jer.noble@apple.com>
1737
1738         Add experimental setting to allow document gesture interaction to fulfill media playback gesture requirement
1739         https://bugs.webkit.org/show_bug.cgi?id=172131
1740
1741         Reviewed by Eric Carlson.
1742
1743         * WebView/WebPreferenceKeysPrivate.h:
1744         * WebView/WebPreferences.mm:
1745         (+[WebPreferences initialize]):
1746         (-[WebPreferences mediaUserGestureInheritsFromDocument]):
1747         (-[WebPreferences setMediaUserGestureInheritsFromDocument:]):
1748         * WebView/WebPreferencesPrivate.h:
1749
1750 2017-05-12  Chris Dumez  <cdumez@apple.com>
1751
1752         Drop uses of PassRefPtr in WebKit/mac
1753         https://bugs.webkit.org/show_bug.cgi?id=172066
1754
1755         Reviewed by Sam Weinig.
1756
1757         * History/WebBackForwardListInternal.h:
1758         * History/WebHistoryItem.mm:
1759         (kit):
1760         (-[WebHistoryItem initWithWebCoreHistoryItem:]):
1761         * History/WebHistoryItemInternal.h:
1762         * Plugins/Hosted/HostedNetscapePluginStream.h:
1763         (WebKit::HostedNetscapePluginStream::create):
1764         * Plugins/Hosted/NetscapePluginHostManager.h:
1765         * Plugins/Hosted/NetscapePluginHostManager.mm:
1766         (WebKit::NetscapePluginHostManager::instantiatePlugin):
1767         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1768         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1769         (WebKit::NetscapePluginInstanceProxy::PluginRequest::create):
1770         (WebKit::NetscapePluginInstanceProxy::create):
1771         (WebKit::NetscapePluginInstanceProxy::setManualStream):
1772         * Plugins/Hosted/ProxyInstance.h:
1773         (WebKit::ProxyInstance::create):
1774         * Plugins/Hosted/ProxyInstance.mm:
1775         (WebKit::ProxyInstance::ProxyInstance):
1776         (WebKit::ProxyInstance::newRuntimeObject):
1777         * Plugins/Hosted/ProxyRuntimeObject.h:
1778         (WebKit::ProxyRuntimeObject::create):
1779         * Plugins/Hosted/ProxyRuntimeObject.mm:
1780         (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
1781         * Plugins/Hosted/WebHostedNetscapePluginView.h:
1782         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1783         (-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):
1784         * Plugins/WebBaseNetscapePluginView.h:
1785         * Plugins/WebBaseNetscapePluginView.mm:
1786         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):
1787         * Plugins/WebNetscapePluginStream.h:
1788         (WebNetscapePluginStream::create):
1789         * Plugins/WebNetscapePluginView.h:
1790         * Plugins/WebNetscapePluginView.mm:
1791         (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):
1792         * WebCoreSupport/WebChromeClient.mm:
1793         * WebCoreSupport/WebEditorClient.mm:
1794         * WebCoreSupport/WebNotificationClient.mm:
1795         (WebNotificationClient::requestPermission):
1796         (-[WebNotificationPolicyListener initWithCallback:]):
1797         * WebCoreSupport/WebOpenPanelResultListener.mm:
1798         * WebCoreSupport/WebUserMediaClient.mm:
1799         (WebUserMediaClient::requestUserMediaAccess):
1800         (WebUserMediaClient::enumerateMediaDevices):
1801         (-[WebUserMediaPolicyListener initWithUserMediaRequest:]):
1802         (-[WebUserMediaPolicyCheckerListener initWithMediaDevicesEnumerationRequest:]):
1803         * WebView/WebArchive.mm:
1804         (-[WebArchivePrivate initWithCoreArchive:]):
1805         (-[WebArchivePrivate setCoreArchive:]):
1806         (-[WebArchive initWithData:]):
1807         (-[WebArchive subframeArchives]):
1808         (-[WebArchive _initWithCoreLegacyWebArchive:]):
1809         * WebView/WebArchiveInternal.h:
1810         * WebView/WebDataSource.mm:
1811         (WebDataSourcePrivate::WebDataSourcePrivate):
1812         (WebDataSourcePrivate::~WebDataSourcePrivate):
1813         (-[WebDataSource _initWithDocumentLoader:]):
1814         * WebView/WebDataSourceInternal.h:
1815         * WebView/WebDeviceOrientation.mm:
1816         (-[WebDeviceOrientation initWithCoreDeviceOrientation:]):
1817         * WebView/WebDeviceOrientationInternal.h:
1818         * WebView/WebFrame.mm:
1819         (-[WebFrame _convertToDOMRange:]):
1820         (-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]):
1821         * WebView/WebFrameInternal.h:
1822         * WebView/WebFullScreenController.h:
1823         * WebView/WebFullScreenController.mm:
1824         (-[WebFullScreenController setElement:]):
1825         * WebView/WebGeolocationPosition.mm:
1826         (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
1827         (-[WebGeolocationPosition initWithGeolocationPosition:]):
1828         * WebView/WebHTMLView.mm:
1829         (currentKeyboardEvent):
1830         * WebView/WebResource.mm:
1831         * WebView/WebScriptWorld.mm:
1832         (-[WebScriptWorld initWithWorld:]):
1833         (+[WebScriptWorld standardWorld]):
1834         (+[WebScriptWorld findOrCreateWorld:]):
1835         * WebView/WebViewData.h:
1836         (LayerFlushController::create):
1837
1838 2017-05-11  Chris Dumez  <cdumez@apple.com>
1839
1840         Drop remaining uses of PassRefPtr in WebCore
1841         https://bugs.webkit.org/show_bug.cgi?id=172013
1842
1843         Reviewed by Yusuke Suzuki.
1844
1845         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1846         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1847         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
1848         (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
1849         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1850         (-[WebHostedNetscapePluginView createPluginBindingsInstance:]):
1851
1852 2017-05-11  Tim Horton  <timothy_horton@apple.com>
1853
1854         Mail spins launching spell checker when typing
1855         https://bugs.webkit.org/show_bug.cgi?id=171986
1856         <rdar://problem/26305327>
1857
1858         Reviewed by Beth Dakin.
1859
1860         * WebView/WebView.mm:
1861         (-[WebView setEditable:]):
1862         Asynchronously pre-warm the spell checker when a WebView becomes editable.
1863
1864 2017-05-09  Sam Weinig  <sam@webkit.org>
1865
1866         Remove support for legacy Notifications
1867         https://bugs.webkit.org/show_bug.cgi?id=171487
1868
1869         Reviewed by Jon Lee.
1870
1871         * Configurations/FeatureDefines.xcconfig:
1872         * WebCoreSupport/WebNotificationClient.h:
1873         * WebCoreSupport/WebNotificationClient.mm:
1874         * WebView/WebNotification.mm:
1875         * WebView/WebNotificationInternal.h:
1876         * WebView/WebView.mm:
1877         (-[WebView _commonInitializationWithFrameName:groupName:]):
1878         (-[WebView _notificationIDForTesting:]):
1879         Remove legacy notification specific code.
1880
1881 2017-05-10  Chris Dumez  <cdumez@apple.com>
1882
1883         Simplify relationship between Attr and Element now that Attr is childless
1884         https://bugs.webkit.org/show_bug.cgi?id=171909
1885
1886         Reviewed by Ryosuke Niwa.
1887
1888         Build fix.
1889
1890         * DOM/DOMAttr.mm:
1891         (-[DOMAttr value]):
1892         (-[DOMAttr setValue:]):
1893
1894 2017-05-08  Chris Dumez  <cdumez@apple.com>
1895
1896         Move 'style' from Element to HTMLElement / SVGElement and make it settable
1897         https://bugs.webkit.org/show_bug.cgi?id=171795
1898
1899         Reviewed by Alex Christensen.
1900
1901         Build fix.
1902
1903         * DOM/DOMElement.mm:
1904         (-[DOMElement style]):
1905         * WebCoreSupport/WebEditorClient.mm:
1906         (WebEditorClient::shouldApplyStyle):
1907         * WebView/WebFrame.mm:
1908         (-[WebFrame _typingStyle]):
1909
1910 2017-05-06  Chris Dumez  <cdumez@apple.com>
1911
1912         Align our IDL files with the latest DOM specification
1913         https://bugs.webkit.org/show_bug.cgi?id=171777
1914
1915         Reviewed by Sam Weinig.
1916
1917         Build fix.
1918
1919         * DOM/DOMDocument.mm:
1920         (-[DOMDocument readyState]):
1921
1922 2017-05-05  Jeremy Jones  <jeremyj@apple.com>
1923
1924         REGRESSION (r215951): LayoutTest media/modern-media-controls/placard-support/placard-support-pip.html is a flaky crash
1925         https://bugs.webkit.org/show_bug.cgi?id=171610
1926         <rdar://problem/31976820>
1927
1928         Reviewed by Eric Carlson.
1929
1930         Fullscreen state gets confused because WK1 WebChromeClient doesn't implement exitVideoFullscreenToModeWithoutAnimation.
1931
1932         * WebCoreSupport/WebChromeClient.h:
1933         * WebCoreSupport/WebChromeClient.mm:
1934         (WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
1935
1936 2017-05-04  Commit Queue  <commit-queue@webkit.org>
1937
1938         Unreviewed, rolling out r216206.
1939         https://bugs.webkit.org/show_bug.cgi?id=171714
1940
1941         Multiple LayoutTests crashing in Document::page() (Requested
1942         by ap on #webkit).
1943
1944         Reverted changeset:
1945
1946         "Remove support for legacy Notifications"
1947         https://bugs.webkit.org/show_bug.cgi?id=171487
1948         http://trac.webkit.org/changeset/216206
1949
1950 2017-05-04  Jeremy Jones  <jeremyj@apple.com>
1951
1952         UIColor +whiteColor and +clearColor are ambiguous and need to be casted when soft linked.
1953         https://bugs.webkit.org/show_bug.cgi?id=171704
1954
1955         Reviewed by Jer Noble.
1956
1957         Fix build by casting result of +whiteColor to UIColor.
1958
1959         * WebView/WebView.mm:
1960         (-[WebView _createImageWithPlatterForImage:boundingRect:contentScaleFactor:clippingRects:]):
1961
1962 2017-05-04  Sam Weinig  <sam@webkit.org>
1963
1964         Remove support for legacy Notifications
1965         https://bugs.webkit.org/show_bug.cgi?id=171487
1966
1967         Reviewed by Jon Lee.
1968
1969         * Configurations/FeatureDefines.xcconfig:
1970         * WebCoreSupport/WebNotificationClient.h:
1971         * WebCoreSupport/WebNotificationClient.mm:
1972         * WebView/WebNotification.mm:
1973         * WebView/WebNotificationInternal.h:
1974         * WebView/WebView.mm:
1975         (-[WebView _commonInitializationWithFrameName:groupName:]):
1976         (-[WebView _notificationIDForTesting:]):
1977         Remove legacy notification specific code.
1978
1979 2017-05-03  Joseph Pecoraro  <pecoraro@apple.com>
1980
1981         [Cocoa] Stop exporting symbols for ivars that were made private
1982         https://bugs.webkit.org/show_bug.cgi?id=171631
1983
1984         Reviewed by Dan Bernstein.
1985
1986         * WebKit.exp:
1987
1988 2017-05-01  Chris Dumez  <cdumez@apple.com>
1989
1990         Remove some usage of PassRefPtr in editing code
1991         https://bugs.webkit.org/show_bug.cgi?id=171490
1992
1993         Reviewed by Darin Adler.
1994
1995         * WebView/WebFrame.mm:
1996         (-[WebFrame dictationResultMetadataForRange:]):
1997         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
1998
1999 2017-05-01  Beth Dakin  <bdakin@apple.com>
2000
2001         On-screen panel for candidate bar is in the wrong place when the caret is at the 
2002         start of a paragraph
2003         https://bugs.webkit.org/show_bug.cgi?id=171453
2004         -and corresponding-
2005         rdar://problem/29779764
2006
2007         Reviewed by Tim Horton.
2008
2009         This bug only happens when the caret is at the beginning of the paragraph, and it 
2010         is because Range::absoluteTextQuads() returns no quads in this case. I think it 
2011         might be correct that absoluteTextQuads() returns no quads in this case, so this 
2012         patch fixes the bug at the call site by using absoluteCaretBounds() in this case.
2013
2014         * WebCoreSupport/WebEditorClient.mm:
2015         (WebEditorClient::handleRequestedCandidates):
2016
2017 2017-04-30  Dan Bernstein  <mitz@apple.com>
2018
2019         [Cocoa] Replaces uses of [get…() alloc] with alloc…Instance()
2020         https://bugs.webkit.org/show_bug.cgi?id=171485
2021
2022         Reviewed by Geoffrey Garen.
2023
2024         * WebView/WebView.mm:
2025         (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
2026         (-[WebUITextIndicatorData initWithImage:scale:]):
2027
2028 2017-04-28  Youenn Fablet  <youenn@apple.com>
2029
2030         Adding a runtime flag specific to MediaDevices
2031         https://bugs.webkit.org/show_bug.cgi?id=171433
2032
2033         Reviewed by Geoffrey Garen.
2034
2035         Adding a preference for MediaDevices.
2036         Setting media devices runtime flag to false by default.
2037         Setting peer connection and media stream flags to true by default.
2038
2039         * WebView/WebPreferenceKeysPrivate.h:
2040         * WebView/WebPreferences.mm:
2041         (+[WebPreferences initialize]):
2042         (-[WebPreferences mediaDevicesEnabled]):
2043         (-[WebPreferences setMediaDevicesEnabled:]):
2044         * WebView/WebPreferencesPrivate.h:
2045         * WebView/WebView.mm:
2046         (-[WebView _preferencesChanged:]):
2047
2048 2017-04-27  Chris Dumez  <cdumez@apple.com>
2049
2050         Align colspan/rowspan limits with the latest HTML specification
2051         https://bugs.webkit.org/show_bug.cgi?id=171322
2052
2053         Reviewed by Darin Adler.
2054
2055         ObjC bindings build fix.
2056
2057         * DOM/DOMHTMLTableCellElement.mm:
2058         (-[DOMHTMLTableCellElement colSpan]):
2059         (-[DOMHTMLTableCellElement setColSpan:]):
2060
2061 2017-04-27  Said Abou-Hallawa  <sabouhallawa@apple.com>
2062
2063         REGRESSION(r213764): Async decoding of animated images is disabled for ImageDocument
2064         https://bugs.webkit.org/show_bug.cgi?id=170333
2065
2066         Reviewed by Simon Fraser.
2067
2068         Disbale the async decoding for large images for now.
2069
2070         * WebView/WebView.mm:
2071         (-[WebView _preferencesChanged:]):
2072
2073 2017-04-27  Alex Christensen  <achristensen@webkit.org>
2074
2075         Modernize Frame.h
2076         https://bugs.webkit.org/show_bug.cgi?id=171357
2077
2078         Reviewed by Andy Estes.
2079
2080         * WebCoreSupport/WebEditorClient.h:
2081         * WebCoreSupport/WebEditorClient.mm:
2082         (WebEditorClient::isSelectTrailingWhitespaceEnabled):
2083
2084 2017-04-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2085
2086         [WK1] Tweak the data interaction SPI to indicate whether or not a data interaction was handled
2087         https://bugs.webkit.org/show_bug.cgi?id=171369
2088         <rdar://problem/31858853>
2089
2090         Reviewed by Dan Bernstein.
2091
2092         Introduce a new SPI hook intended to replace performDataInteraction:client:global:operation: that
2093         returns whether or not the data interaction was handled. Due to the difference only in return type
2094         and some staging constraints, this version is prefixed with "_tryTo".
2095
2096         * WebView/WebView.mm:
2097         (-[WebView _tryToPerformDataInteraction:client:global:operation:]):
2098         * WebView/WebViewPrivate.h:
2099
2100 2017-04-26  Wenson Hsieh  <wenson_hsieh@apple.com>
2101
2102         WebItemProviderPasteboard should not synchronously load provided data
2103         https://bugs.webkit.org/show_bug.cgi?id=171341
2104         <rdar://problem/31614010>
2105
2106         Reviewed by Tim Horton.
2107
2108         Adds client-layer plumbing for updatePreferredTypeIdentifiers. See WebCore ChangeLog for more details.
2109
2110         * WebCoreSupport/WebPlatformStrategies.h:
2111         * WebCoreSupport/WebPlatformStrategies.mm:
2112         (WebPlatformStrategies::updatePreferredTypeIdentifiers):
2113
2114 2017-04-26  Zalan Bujtas  <zalan@apple.com>
2115
2116         RTL: recent searches popover is displayed in incorrect location
2117         https://bugs.webkit.org/show_bug.cgi?id=171338
2118         <rdar://problem/31377807>
2119
2120         Reviewed by Dean Jackson.
2121
2122         Add RTL support for the pop-under branch.
2123
2124         * WebCoreSupport/PopupMenuMac.mm:
2125         (PopupMenuMac::show):
2126
2127 2017-04-25  Brent Fulgham  <bfulgham@apple.com>
2128
2129         Limit allowed size of document.title to avoid locking WebKit clients
2130         https://bugs.webkit.org/show_bug.cgi?id=165113
2131         <rdar://problem/28324389>
2132
2133         Reviewed by Darin Adler.
2134
2135         When a web application attempts to set an extremely long title, truncate the
2136         title to a more reasonable size.
2137
2138         We do this at at the presentation layer, rather than in the DOM, so that we do
2139         not affect script function. Instead, we merely limit display to a level that is
2140         reasonable for normal GUI widgets. Anything else needs to be truncated in the UI
2141         layer, so it is a waste of effort to send across IPC.
2142
2143         * WebCoreSupport/WebFrameLoaderClient.h:
2144         * WebCoreSupport/WebFrameLoaderClient.mm:
2145         (WebFrameLoaderClient::dispatchDidReceiveTitle):
2146
2147 2017-04-25  Daniel Bates  <dabates@apple.com>
2148
2149         [Cocoa][Win] Enable of X-Content-Type-Options: nosniff header
2150         https://bugs.webkit.org/show_bug.cgi?id=136452
2151         <rdar://problem/23412620>
2152
2153         Reviewed by Brent Fulgham.
2154
2155         Enable X-Content-Type-Options: nosniff on Mac, iOS and Windows platforms.
2156
2157         * Configurations/FeatureDefines.xcconfig:
2158
2159 2017-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
2160
2161         Support reading NSURL titles from the pasteboard when performing data interaction
2162         https://bugs.webkit.org/show_bug.cgi?id=171156
2163         <rdar://problem/31356937>
2164
2165         Reviewed by Tim Horton.
2166
2167         Add a new WK1 SPI property, -[WebFrame hasRichlyEditableDragCaret].
2168
2169         * WebCoreSupport/WebPlatformStrategies.h:
2170         * WebCoreSupport/WebPlatformStrategies.mm:
2171         (WebPlatformStrategies::readURLFromPasteboard):
2172         * WebView/WebFrame.mm:
2173         (-[WebFrame hasRichlyEditableDragCaret]):
2174         * WebView/WebFramePrivate.h:
2175
2176 2017-04-24  Andy VanWagoner  <thetalecrafter@gmail.com>
2177
2178         Clean up ICU headers
2179         https://bugs.webkit.org/show_bug.cgi?id=170997
2180
2181         Reviewed by JF Bastien.
2182
2183         Update all icu headers to 55.1
2184
2185         * icu/README: Explain ICU headers for OS X better
2186         * icu/unicode/localpointer.h:
2187         (LocalPointer::LocalPointer):
2188         (LocalPointer::adoptInsteadAndCheckErrorCode):
2189         * icu/unicode/platform.h:
2190         * icu/unicode/putil.h:
2191         * icu/unicode/uchar.h:
2192         * icu/unicode/uconfig.h:
2193         * icu/unicode/ucurr.h:
2194         * icu/unicode/uidna.h:
2195         * icu/unicode/umachine.h:
2196         * icu/unicode/urename.h:
2197         * icu/unicode/uscript.h:
2198         * icu/unicode/ustring.h:
2199         * icu/unicode/utf8.h:
2200         * icu/unicode/utypes.h:
2201         * icu/unicode/uvernum.h:
2202
2203 2017-04-24  Wenson Hsieh  <wenson_hsieh@apple.com>
2204
2205         Respect fidelity order when reading web content from item providers
2206         https://bugs.webkit.org/show_bug.cgi?id=171155
2207         <rdar://problem/31356937>
2208
2209         Reviewed by Tim Horton.
2210
2211         Adjusts for changes in WebCore (see WebCore/ChangeLog for more details).
2212
2213         * WebCoreSupport/WebPlatformStrategies.h:
2214         * WebCoreSupport/WebPlatformStrategies.mm:
2215         (WebPlatformStrategies::getTypesByFidelityForItemAtIndex):
2216
2217 2017-04-24  Alex Christensen  <achristensen@webkit.org>
2218
2219         Reduce copies and allocations in SharedBuffer::append
2220         https://bugs.webkit.org/show_bug.cgi?id=170956
2221
2222         Reviewed by Andreas Kling.
2223
2224         * WebView/WebArchive.mm:
2225         (-[WebArchive initWithData:]):
2226         * WebView/WebFrame.mm:
2227         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2228         * WebView/WebResource.mm:
2229         (-[WebResource initWithCoder:]):
2230         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
2231
2232 2017-04-24  Dan Bernstein  <mitz@apple.com>
2233
2234         [Cocoa] Some ivars are needlessly @protected
2235         https://bugs.webkit.org/show_bug.cgi?id=171208
2236
2237         Reviewed by Anders Carlsson
2238
2239         Made ivars @private where possible.
2240
2241         * Misc/WebUserContentURLPattern.h:
2242         * Plugins/WebPluginDatabase.h:
2243         * Storage/WebDatabaseQuotaManager.h:
2244         * WebCoreSupport/WebSecurityOriginPrivate.h:
2245         * WebInspector/WebInspector.h:
2246         * WebView/WebDeviceOrientation.h:
2247         * WebView/WebDeviceOrientationProviderMock.h:
2248         * WebView/WebGeolocationPosition.h:
2249         * WebView/WebHTMLRepresentation.h:
2250         * WebView/WebNotification.h:
2251
2252 2017-04-21  Wenson Hsieh  <wenson_hsieh@apple.com>
2253
2254         Support writing link titles to the pasteboard when beginning data interaction on a link
2255         https://bugs.webkit.org/show_bug.cgi?id=171154
2256         <rdar://problem/31356937>
2257
2258         Reviewed by Andy Estes.
2259
2260         Adjust for some changes in WebCore to introduce a separate codepath for writing PasteboardURLs. See WebCore
2261         and WebKit2 ChangeLogs for more details.
2262
2263         * WebCoreSupport/WebPlatformStrategies.h:
2264         * WebCoreSupport/WebPlatformStrategies.mm:
2265         (WebPlatformStrategies::writeToPasteboard):
2266
2267 2017-04-21  Michael Catanzaro  <mcatanzaro@igalia.com>
2268
2269         Unreviewed, rolling out r215608.
2270
2271         Hundreds of test failures on GTK bot
2272
2273         Reverted changeset:
2274
2275         "Reduce copies and allocations in SharedBuffer::append"
2276         https://bugs.webkit.org/show_bug.cgi?id=170956
2277         http://trac.webkit.org/changeset/215608
2278
2279 2017-04-21  Alex Christensen  <achristensen@webkit.org>
2280
2281         Reduce copies and allocations in SharedBuffer::append
2282         https://bugs.webkit.org/show_bug.cgi?id=170956
2283
2284         Reviewed by Andreas Kling.
2285
2286         * WebView/WebArchive.mm:
2287         (-[WebArchive initWithData:]):
2288         * WebView/WebFrame.mm:
2289         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2290         * WebView/WebResource.mm:
2291         (-[WebResource initWithCoder:]):
2292         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
2293
2294 2017-04-20  Dewei Zhu  <dewei_zhu@apple.com>
2295
2296         Build fix to start using C++14.
2297         https://bugs.webkit.org/show_bug.cgi?id=171038
2298
2299         Reviewed by Alex Christensen.
2300
2301         Use 'c++14' instead of 'c++11' in order to use 'auto' in lambda.
2302
2303         * Configurations/WebKitLegacy.xcconfig:
2304
2305 2017-04-19  Youenn Fablet  <youenn@apple.com>
2306
2307         [Mac] Allow customizing H264 encoder
2308         https://bugs.webkit.org/show_bug.cgi?id=170829
2309
2310         Reviewed by Alex Christensen.
2311
2312         * Configurations/FeatureDefines.xcconfig:
2313
2314 2017-04-19  Anders Carlsson  <andersca@apple.com>
2315
2316         Stop using deprecated APIs, part 3
2317         https://bugs.webkit.org/show_bug.cgi?id=171003
2318         rdar://problem/31589635
2319
2320         Reviewed by Tim Horton.
2321
2322         * WebCoreSupport/WebPaymentCoordinatorClient.h:
2323         * WebCoreSupport/WebPaymentCoordinatorClient.mm:
2324         (WebPaymentCoordinatorClient::cancelPaymentSession):
2325         Update for WebCore changes.
2326
2327 2017-04-18  Wenson Hsieh  <wenson_hsieh@apple.com>
2328
2329         [WK2] Support DataTransfer::files() when performing a DHTML data interaction
2330         https://bugs.webkit.org/show_bug.cgi?id=170880
2331         <rdar://problem/31314689>
2332
2333         Reviewed by Tim Horton.
2334
2335         Adjust for a change in PasteboardStrategy. See WebCore ChangeLog for more details.
2336
2337         * WebCoreSupport/WebPlatformStrategies.h:
2338         * WebCoreSupport/WebPlatformStrategies.mm:
2339         (WebPlatformStrategies::getFilenamesForDataInteraction):
2340
2341 2017-04-17  Youenn Fablet  <youenn@apple.com>
2342
2343         Disable outdated WritableStream API
2344         https://bugs.webkit.org/show_bug.cgi?id=170749
2345         <rdar://problem/31446233>
2346
2347         Reviewed by Alex Christensen.
2348
2349         Replacing READABLE_STREAM_API, READABLE_BYTE_STREAM_API and WRITABLE_STREAM_API compilation flag by:
2350         - A STREAMS_API compilation flag.
2351         - A ReadableByteStreamAPI and WritableStreamAPI runtime flags, turned off except for RWT and DRT.
2352
2353         * Configurations/FeatureDefines.xcconfig:
2354         * WebView/WebPreferenceKeysPrivate.h:
2355         * WebView/WebPreferences.mm:
2356         (+[WebPreferences initialize]):
2357         (-[WebPreferences readableByteStreamAPIEnabled]):
2358         (-[WebPreferences setReadableByteStreamAPIEnabled:]):
2359         (-[WebPreferences writableStreamAPIEnabled]):
2360         (-[WebPreferences setWritableStreamAPIEnabled:]):
2361         * WebView/WebPreferencesPrivate.h:
2362         * WebView/WebView.mm:
2363         (-[WebView _preferencesChanged:]):
2364
2365 2017-04-15  Wenson Hsieh  <wenson_hsieh@apple.com>
2366
2367         [WK2] Support data interaction of files into file inputs
2368         https://bugs.webkit.org/show_bug.cgi?id=170803
2369         <rdar://problem/31286130>
2370
2371         Reviewed by Tim Horton.
2372
2373         Add boilerplate plumbing for fetching the number of files in the pasteboard.
2374
2375         * WebCoreSupport/WebPlatformStrategies.h:
2376         * WebCoreSupport/WebPlatformStrategies.mm:
2377         (WebPlatformStrategies::getNumberOfFiles):
2378
2379 2017-04-14  Mark Lam  <mark.lam@apple.com>
2380
2381         Update architectures in xcconfig files.
2382         https://bugs.webkit.org/show_bug.cgi?id=170867
2383         <rdar://problem/31628104>
2384
2385         Reviewed by Joseph Pecoraro.
2386
2387         * Configurations/FeatureDefines.xcconfig:
2388
2389 2017-04-14  Wenson Hsieh  <wenson_hsieh@apple.com>
2390
2391         [WK2] Support Icon creation from file URLs on iOS
2392         https://bugs.webkit.org/show_bug.cgi?id=170809
2393         <rdar://problem/31286130>
2394
2395         Reviewed by Tim Horton.
2396
2397         Adjust for changes in the ChromeClient in WebCore.
2398
2399         * WebCoreSupport/WebChromeClient.h:
2400         * WebCoreSupport/WebChromeClient.mm:
2401         (WebChromeClient::loadIconForFiles):
2402         (WebChromeClient::createIconForFiles):
2403
2404 2017-04-12  Dan Bernstein  <mitz@apple.com>
2405
2406         [Mac] Future-proof .xcconfig files
2407         https://bugs.webkit.org/show_bug.cgi?id=170802
2408
2409         Reviewed by Tim Horton.
2410
2411         * Configurations/Base.xcconfig:
2412         * Configurations/DebugRelease.xcconfig:
2413         * Configurations/FeatureDefines.xcconfig:
2414         * Configurations/Version.xcconfig:
2415
2416 2017-04-12  Beth Dakin  <bdakin@apple.com>
2417
2418         Build fix.
2419
2420         * WebView/WebViewData.h:
2421
2422 2017-04-12  Brian Weinstein  <bweinstein@apple.com>
2423
2424         Should always override -[WebStorageManager init].
2425         https://bugs.webkit.org/show_bug.cgi?id=170787
2426         -and corresponding-
2427         rdar://problem/31371835
2428
2429         Reviewed by Anders Carlsson.
2430
2431         * Storage/WebStorageManager.mm:
2432         (-[WebStorageManager init]):
2433
2434 2017-04-12  Beth Dakin  <bdakin@apple.com>
2435
2436         Speculative build fix. 
2437
2438         * WebView/WebViewData.h:
2439
2440 2017-04-12  Beth Dakin  <bdakin@apple.com>
2441
2442         Adopt AVKit name change from AVFunctionBar* to AVTouchBar*
2443         https://bugs.webkit.org/show_bug.cgi?id=170693
2444         -and corresponding-
2445         rdar://problem/31230018
2446
2447         Reviewed by Sam Weinig.
2448
2449         Since the new names only apply to some versions of macOS, this patch uses typedefs 
2450         for the older OS’s. SO:
2451
2452         AVFunctionBarScrubber is now AVTouchBarScrubber
2453
2454         AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider
2455
2456         AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption
2457
2458         And the protocol AVFunctionBarPlaybackControlsControlling is now 
2459         AVTouchBarPlaybackControlsControlling
2460
2461         Soft links and allocations cannot use the typedefs.
2462         * WebView/WebView.mm:
2463         (-[WebView updateMediaTouchBar]):
2464         * WebView/WebViewData.h:
2465
2466 2017-04-11  Dean Jackson  <dino@apple.com>
2467
2468         Disable outdated WritableStream API
2469         https://bugs.webkit.org/show_bug.cgi?id=170749
2470         <rdar://problem/31446233>
2471
2472         Reviewed by Tim Horton.
2473
2474         The API we implement is no longer accurate. Disable it until we
2475         are compatible with the new specification
2476
2477         * Configurations/FeatureDefines.xcconfig:
2478
2479 2017-04-11  Dan Bernstein  <mitz@apple.com>
2480
2481         [iOS] Simple HTML documents should allow non-markup JavaScript
2482         https://bugs.webkit.org/show_bug.cgi?id=170734
2483
2484         Reviewed by Sam Weinig.
2485
2486         * WebView/WebView.mm:
2487         (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]): Enabled scripting
2488           but disabled scripting markup.
2489
2490 2017-04-10  Alex Christensen  <achristensen@webkit.org>
2491
2492         Revert r215217
2493         https://bugs.webkit.org/show_bug.cgi?id=170703
2494
2495         * Configurations/FeatureDefines.xcconfig:
2496
2497 2017-04-10  Alex Christensen  <achristensen@webkit.org>
2498
2499         Continue enabling WebRTC
2500         https://bugs.webkit.org/show_bug.cgi?id=170703
2501
2502         Reviewed by Youenn Fablet.
2503
2504         * Configurations/FeatureDefines.xcconfig:
2505
2506 2017-04-10  Anders Carlsson  <andersca@apple.com>
2507
2508         Remove call to WKShowKeyAndMain
2509         https://bugs.webkit.org/show_bug.cgi?id=170691
2510         rdar://problem/31050032
2511
2512         Reviewed by Beth Dakin.
2513
2514         * Carbon/CarbonWindowAdapter.mm:
2515         (-[CarbonWindowAdapter makeKeyWindow]):
2516
2517 2017-04-10  Jeremy Jones  <jeremyj@apple.com>
2518
2519         Add CoreAudioCaptureSource.
2520         https://bugs.webkit.org/show_bug.cgi?id=170112
2521         rdar://problem/30293338
2522
2523         Reviewed by Eric Carlson.
2524
2525         Add UseAVFoundationAudioCapture preference to switch back from the new default of CoreAudio.
2526
2527         * WebView/WebPreferenceKeysPrivate.h:
2528         * WebView/WebPreferences.mm:
2529         (+[WebPreferences initialize]):
2530         (-[WebPreferences useAVFoundationAudioCapture]):
2531         (-[WebPreferences setUseAVFoundationAudioCapture:]):
2532         * WebView/WebPreferencesPrivate.h:
2533         * WebView/WebView.mm:
2534         (-[WebView _preferencesChanged:]):
2535
2536 2017-04-10  Chris Dumez  <cdumez@apple.com>
2537
2538         Drop Timer::startOneShot() overload taking a double
2539         https://bugs.webkit.org/show_bug.cgi?id=170659
2540
2541         Reviewed by Yusuke Suzuki.
2542
2543         Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
2544
2545         * Plugins/WebNetscapePluginView.mm:
2546         (PluginTimer::start):
2547         * Storage/WebStorageManager.mm:
2548         (+[WebStorageManager setStorageDatabaseIdleInterval:]):
2549
2550 2017-04-09  Chris Dumez  <cdumez@apple.com>
2551
2552         Drop Timer::startRepeating() overload taking a double
2553         https://bugs.webkit.org/show_bug.cgi?id=170656
2554
2555         Reviewed by Yusuke Suzuki.
2556
2557         Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.
2558
2559         * Plugins/WebNetscapePluginView.mm:
2560         (PluginTimer::start):
2561
2562 2017-04-09  Chris Dumez  <cdumez@apple.com>
2563
2564         Start dropping Timer API dealing with double
2565         https://bugs.webkit.org/show_bug.cgi?id=170649
2566
2567         Reviewed by Yusuke Suzuki.
2568
2569         Start dropping Timer API dealing with double as people should use Seconds now.
2570
2571         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2572         (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
2573         (WebKit::NetscapePluginInstanceProxy::loadRequest):
2574         * Plugins/WebNetscapePluginStream.mm:
2575         (WebNetscapePluginStream::deliverData):
2576
2577 2017-04-08  Chris Dumez  <cdumez@apple.com>
2578
2579         Drop std::chrono support from Timer class
2580         https://bugs.webkit.org/show_bug.cgi?id=170645
2581
2582         Reviewed by Sam Weinig.
2583
2584         Drop std::chrono support from Timer class now that we prefer using Seconds type.
2585
2586         * WebView/WebView.mm:
2587         (+[WebView _setCacheModel:]):
2588
2589 2017-04-08  Youenn Fablet  <youenn@apple.com>
2590
2591         WebRTC tests gardening
2592         https://bugs.webkit.org/show_bug.cgi?id=170508
2593
2594         Reviewed by Eric Carlson.
2595
2596         * Configurations/FeatureDefines.xcconfig:
2597
2598 2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>
2599
2600         Unreviewed, rolling out r215046.
2601
2602         This change broke internal builds.
2603
2604         Reverted changeset:
2605
2606         "WebRTC tests gardening"
2607         https://bugs.webkit.org/show_bug.cgi?id=170508
2608         http://trac.webkit.org/changeset/215046
2609
2610 2017-04-06  Tim Horton  <timothy_horton@apple.com>
2611
2612         Obj-C bindings build fails with CSS_DEVICE_ADAPTATION turned on
2613         https://bugs.webkit.org/show_bug.cgi?id=170566
2614
2615         Reviewed by Simon Fraser.
2616
2617         * DOM/DOMCSS.mm:
2618         (kitClass):
2619         Use the WebCore-side enum for this, since that's actually what we're switching over.
2620         This allows us to handle values here without adding them to the API header.
2621         All of the other kitClass() functions work the same way.
2622         Also, unindent for style purposes.
2623
2624 2017-04-06  Youenn Fablet  <youenn@apple.com>
2625
2626         WebRTC tests gardening
2627         https://bugs.webkit.org/show_bug.cgi?id=170508
2628
2629         Reviewed by Eric Carlson.
2630
2631         * Configurations/FeatureDefines.xcconfig:
2632
2633 2017-04-04  Megan Gardner  <megan_gardner@apple.com>
2634
2635         Fix leaks in WebUITextIndicatorData
2636         https://bugs.webkit.org/show_bug.cgi?id=170480
2637
2638         Reviewed by Wenson Hsieh.
2639
2640         Removes extraneous retains.
2641
2642         * WebView/WebView.mm:
2643         (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
2644
2645 2017-04-04  Tim Horton  <timothy_horton@apple.com>
2646
2647         [Mac] -[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:] invokes the resultCollector with didWrap = NO even when it wraps
2648         https://bugs.webkit.org/show_bug.cgi?id=165801
2649         <rdar://problem/29649535>
2650
2651         Reviewed by Wenson Hsieh.
2652
2653         * WebView/WebView.mm:
2654         (incrementFrame):
2655         Adjust to the new CanWrap enum.
2656
2657 2017-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2658
2659         Web Inspector: Saving files should not suggest the top level directory
2660         https://bugs.webkit.org/show_bug.cgi?id=170085
2661         <rdar://problem/30197794>
2662
2663         Reviewed by Matt Baker.
2664
2665         * WebCoreSupport/WebInspectorClient.mm:
2666         (WebInspectorFrontendClient::save):
2667         Don't set panel.directoryURL unless we have a good suggestion.
2668
2669 2017-03-24  Wenson Hsieh  <wenson_hsieh@apple.com>
2670
2671         [WK2] Add a UI delegate SPI hook to enable or disable navigation on drop
2672         https://bugs.webkit.org/show_bug.cgi?id=169168
2673         <rdar://problem/30688374>
2674
2675         Reviewed by Tim Horton.
2676
2677         Refactors WebDragClient::actionMaskForDrag to take platform data only, rather than the entire DragData. See the
2678         WebCore ChangeLog entry for more details. Also renames WebDefaultUIDelegate.m to WebDefaultUIDelegate.mm, since
2679         we need to import a C++ header for linkedOnOrAfter().
2680
2681         The default delegate implementation of webView:dragDestinationActionMaskForDraggingInfo: now checks if the current
2682         application is linking against 10.12 or earlier, and if so, will allow any drag destination action instead of
2683         the new default value of everything but DragDestinationActionLoad.
2684
2685         * DefaultDelegates/WebDefaultUIDelegate.mm: Renamed from Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.m.
2686         (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
2687         * Misc/WebKitVersionChecks.h:
2688         * WebCoreSupport/WebDragClient.h:
2689         * WebCoreSupport/WebDragClient.mm:
2690         (WebDragClient::actionMaskForDrag): Deleted.
2691         * WebView/WebView.mm:
2692         (-[WebView draggingEntered:]):
2693         (-[WebView draggingUpdated:]):
2694
2695 2017-03-21  Wenson Hsieh  <wenson_hsieh@apple.com>
2696
2697         Add support for showing the platform data interaction caret
2698         https://bugs.webkit.org/show_bug.cgi?id=169898
2699         <rdar://problem/31146295>
2700
2701         Reviewed by Beth Dakin.
2702
2703         Plumb the dataInteractionCaretRect through WebView SPI to WebKit1 clients.
2704
2705         * WebView/WebView.mm:
2706         (-[WebView _dataInteractionCaretRect]):
2707         * WebView/WebViewPrivate.h:
2708
2709 2017-03-22  Dan Bernstein  <mitz@apple.com>
2710
2711         [iOS] downloadableBinaryFontsEnabled is set to false in -initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:
2712         https://bugs.webkit.org/show_bug.cgi?id=169967
2713         <rdar://problem/30406898>
2714
2715         Reviewed by Anders Carlsson.
2716
2717         * WebView/WebView.mm:
2718         (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]): Removed call to
2719           Settings::downloadableBinaryFontsEnabled. The default is true.
2720
2721 2017-03-22  Andy Estes  <aestes@apple.com>
2722
2723         [QuickLook] Rename QuickLookHandle to PreviewLoader
2724         https://bugs.webkit.org/show_bug.cgi?id=169961
2725
2726         Reviewed by Andreas Kling.
2727
2728         * WebCoreSupport/WebFrameLoaderClient.h:
2729         * WebCoreSupport/WebFrameLoaderClient.mm:
2730         (WebFrameLoaderClient::createPreviewLoaderClient):
2731         (WebFrameLoaderClient::createQuickLookHandleClient): Deleted.
2732
2733 2017-03-21  Anders Carlsson  <andersca@apple.com>
2734
2735         Remove bogus availability annotations from DOM SPI headers.
2736         rdar://problem/31015675
2737
2738         Rubber-stamped by Dan Bernstein.
2739
2740         * DOM/DOMHTMLMediaElement.h:
2741         * DOM/DOMHTMLVideoElement.h:
2742         * DOM/DOMMediaError.h:
2743         * DOM/DOMTextEvent.h:
2744         * DOM/DOMTimeRanges.h:
2745         * DOM/DOMTokenList.h:
2746
2747 2017-03-19  Wenson Hsieh  <wenson_hsieh@apple.com>
2748
2749         Teach TextIndicator to estimate the background color of the given Range
2750         https://bugs.webkit.org/show_bug.cgi?id=169869
2751         <rdar://problem/31127272>
2752
2753         Reviewed by Anders Carlsson and Simon Fraser.
2754
2755         Plumb the estimated background color for WebKit1 clients through a new property in WebUITextIndicatorData.
2756
2757         * WebView/WebView.mm:
2758         (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
2759         (-[WebUITextIndicatorData dealloc]):
2760         * WebView/WebViewPrivate.h:
2761
2762 2017-03-20  Dan Bernstein  <mitz@apple.com>
2763
2764         [Xcode] Incremental builds of WebKitLegacy are slow because of the Postprocess Headers phase
2765         https://bugs.webkit.org/show_bug.cgi?id=169861
2766
2767         Reviewed by Sam Weinig.
2768
2769         * MigrateHeaders.make: Touch the PrivateHeaders directory when migrating a header into it.
2770         * postprocess-headers.sh: Preserve the timestamp on the headers directories. Write out the
2771           timestamp file used by the Xcode project to determine whether to run the script.
2772
2773 2017-03-19  Alexey Proskuryakov  <ap@apple.com>
2774
2775         WebHTMLView is useless as WebResourceHandler
2776         https://bugs.webkit.org/show_bug.cgi?id=169857
2777
2778         Reviewed by Dan Bernstein.
2779
2780         * WebView/WebHTMLView.mm:
2781         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2782         WebHTMLView doesnt implement any of WebResourceHandler methods.
2783
2784 2017-03-17  Michael Saboff  <msaboff@apple.com>
2785
2786         Use USE_INTERNAL_SDK to compute ENABLE_FAST_JIT_PERMISSIONS instead of HAVE_INTERNAL_SDK
2787         https://bugs.webkit.org/show_bug.cgi?id=169817
2788
2789         Reviewed by Filip Pizlo.
2790
2791         * Configurations/FeatureDefines.xcconfig:
2792
2793 2017-03-17  Antti Koivisto  <antti@apple.com>
2794
2795         Add a reload policy where only expired subresources are revalidated
2796         https://bugs.webkit.org/show_bug.cgi?id=169756
2797
2798         Reviewed by Andreas Kling.
2799
2800         * WebView/WebFrame.mm:
2801         (toWebFrameLoadType):
2802         (-[WebFrame reload]):
2803         (-[WebFrame reloadFromOrigin]):
2804
2805 2017-03-17  Wenson Hsieh  <wenson_hsieh@apple.com>
2806
2807         [WK1] Support animated transitions when performing a data interaction operation
2808         https://bugs.webkit.org/show_bug.cgi?id=169805
2809         <rdar://problem/31045767>
2810
2811         Reviewed by Beth Dakin and Megan Gardner.
2812
2813         Adds WebKit1 support for animated transitions when performing a data interaction operation. See per-method changes
2814         for more details.
2815
2816         * DOM/DOMElement.h:
2817         * DOM/DOMElement.mm:
2818         (-[DOMElement boundsInRootViewSpace]):
2819
2820         Introduce -[DOMElement boundsInRootViewSpace], which returns the bounds of the element in root view coordinates.
2821
2822         * WebCoreSupport/WebDragClient.h:
2823         (): Deleted.
2824         * WebCoreSupport/WebDragClient.mm:
2825         (WebDragClient::didConcludeEditDrag):
2826
2827         Add boilerplate plumbing.
2828
2829         * WebView/WebView.mm:
2830         (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
2831
2832         Add contentImageWithoutSelection and contentImageWithoutSelectionRectInRootViewCoordinates to WebUITextIndicatorData.
2833
2834         (floatRectsForCGRectArray):
2835         (-[WebView _createImageWithPlatterForImage:boundingRect:contentScaleFactor:clippingRects:]):
2836
2837         Introduces a SPI helper method in WebView that clients can use to generate an image of a text platter given an
2838         image of some text, as well as clipping rects to apply to the image.
2839
2840         (-[WebView _dataOperationTextIndicator]):
2841
2842         Add SPI to fetch the text indicator used to drive animations for the current data operation.
2843
2844         (-[WebView _didConcludeEditDataInteraction]):
2845         * WebView/WebViewData.h:
2846         * WebView/WebViewInternal.h:
2847         * WebView/WebViewPrivate.h:
2848
2849 2017-03-16  Simon Fraser  <simon.fraser@apple.com>
2850
2851         Improve the system tracing points
2852         https://bugs.webkit.org/show_bug.cgi?id=169790
2853
2854         Reviewed by Zalan Bujtas.
2855
2856         Use a more cohesive set of system trace points that give a good overview of what
2857         WebKit is doing. Added points for resource loading, render tree building, sync messages
2858         to the web process, async image decode, WASM and fetching cookies.
2859
2860         * WebView/WebHTMLView.mm:
2861         (-[WebHTMLView drawRect:]):
2862
2863 2017-03-16  Youenn Fablet  <youenn@apple.com>
2864
2865         Wrap legacy WebRTC API in runtime flag
2866         https://bugs.webkit.org/show_bug.cgi?id=169646
2867
2868         Reviewed by Alex Christensen.
2869
2870         * WebView/WebPreferenceKeysPrivate.h:
2871         * WebView/WebPreferences.mm:
2872         (+[WebPreferences initialize]):
2873         (-[WebPreferences webRTCLegacyAPIEnabled]):
2874         (-[WebPreferences setWebRTCLegacyAPIEnabled:]):
2875         * WebView/WebPreferencesPrivate.h:
2876         * WebView/WebView.mm:
2877         (-[WebView _preferencesChanged:]):
2878
2879 2017-03-14  Megan Gardner  <megan_gardner@apple.com>
2880
2881         Correctly export WebItemProviderPasteboard
2882         https://bugs.webkit.org/show_bug.cgi?id=169578
2883
2884         Reviewed by Tim Horton.
2885
2886         * MigrateHeaders.make:
2887
2888 2017-03-14  Wenson Hsieh  <wenson_hsieh@apple.com>
2889
2890         [WK2] Data interaction tests occasionally hit assertions in debug builds
2891         https://bugs.webkit.org/show_bug.cgi?id=169002
2892         <rdar://problem/30994806>
2893
2894         Reviewed by Tim Horton.
2895
2896         Renames setIgnoreCompositionSelectionChange to setIgnoreSelectionChanges. See WebCore ChangeLog for more details.
2897
2898         * WebView/WebHTMLView.mm:
2899         (-[WebHTMLView _updateSelectionForInputManager]):
2900         * WebView/WebView.mm:
2901         (-[WebView updateTextTouchBar]):
2902
2903 2017-03-13  Anders Carlsson  <andersca@apple.com>
2904
2905         Fix build warnings.
2906
2907         * WebCoreSupport/WebInspectorClient.mm:
2908         (WebInspectorFrontendClient::save):
2909         (-[WebInspectorWindowController webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
2910
2911 2017-03-11  Brady Eidson  <beidson@apple.com>
2912
2913         Cleanup "addCookie" and its sole user.
2914         https://bugs.webkit.org/show_bug.cgi?id=169486
2915
2916         Reviewed by Brian Burg.
2917
2918         * WebCoreSupport/WebPlatformStrategies.h:
2919         * WebCoreSupport/WebPlatformStrategies.mm:
2920         (WebPlatformStrategies::addCookie): Deleted.
2921
2922 2017-03-10  Alex Christensen  <achristensen@webkit.org>
2923
2924         Fix watch and tv builds after r213294
2925         https://bugs.webkit.org/show_bug.cgi?id=169508
2926
2927         Reviewed by Dan Bernstein.
2928
2929         * Configurations/FeatureDefines.xcconfig:
2930
2931 2017-03-10  Alex Christensen  <achristensen@webkit.org>
2932
2933         Fix CMake build.
2934
2935         * WebView/WebNotification.h:
2936         Don't assume we have already included something that includes NSObject.h.
2937
2938 2017-03-09  Daniel Bates  <dabates@apple.com>
2939
2940         Guard Credential Management implementation behind a runtime enabled feature flag
2941         https://bugs.webkit.org/show_bug.cgi?id=169364
2942         <rdar://problem/30957425>
2943
2944         Reviewed by Brent Fulgham.
2945
2946         Add WebKit preference for Credential Management (disabled by default).
2947
2948         * WebView/WebPreferenceKeysPrivate.h:
2949         * WebView/WebPreferences.mm:
2950         (+[WebPreferences initialize]):
2951         (-[WebPreferences credentialManagementEnabled]): Added.
2952         (-[WebPreferences setCredentialManagementEnabled:]): Added.
2953         * WebView/WebPreferencesPrivate.h:
2954         * WebView/WebView.mm:
2955         (-[WebView _preferencesChanged:]):
2956
2957 2017-03-09  Anders Carlsson  <andersca@apple.com>
2958
2959         Add delegate support to WebCore
2960         https://bugs.webkit.org/show_bug.cgi?id=169427
2961         Part of rdar://problem/28880714.
2962
2963         Reviewed by Geoffrey Garen.
2964
2965         * Configurations/FeatureDefines.xcconfig:
2966         Add feature define.
2967
2968 2017-03-08  Megan Gardner  <megan_gardner@apple.com>
2969
2970         Fix DataInteraction guards
2971         https://bugs.webkit.org/show_bug.cgi?id=169404
2972
2973         Reviewed by Wenson Hsieh.
2974
2975         * WebCoreSupport/WebDragClient.mm:
2976
2977 2017-03-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2978
2979         Add plumbing for WebCore to notify WebKit2 when an edit drag has concluded
2980         https://bugs.webkit.org/show_bug.cgi?id=169392
2981         <rdar://problem/30882974>
2982
2983         Reviewed by Tim Horton.
2984
2985         Add a stub implementation of WebDragClient::didConcludeEditDrag.
2986
2987         * WebCoreSupport/WebDragClient.h:
2988
2989 2017-03-08  Anders Carlsson  <andersca@apple.com>
2990
2991         Simplify the PaymentCoordinator interface
2992         https://bugs.webkit.org/show_bug.cgi?id=169382
2993         Part of rdar://problem/28880714.
2994
2995         Reviewed by Tim Horton.
2996
2997         Update for PaymentCoordinatorClient changes.
2998
2999         * WebCoreSupport/WebPaymentCoordinatorClient.h:
3000         * WebCoreSupport/WebPaymentCoordinatorClient.mm:
3001         (WebPaymentCoordinatorClient::completeShippingMethodSelection):
3002         (WebPaymentCoordinatorClient::completeShippingContactSelection):
3003         (WebPaymentCoordinatorClient::completePaymentMethodSelection):
3004         (WebPaymentCoordinatorClient::completePaymentSession):
3005
3006 2017-03-08  Megan Gardner  <megan_gardner@apple.com>
3007
3008         Fix for dependency fix
3009         https://bugs.webkit.org/show_bug.cgi?id=169369
3010
3011         Reviewed by Beth Dakin.
3012
3013         * WebView/WebViewPrivate.h:
3014
3015 2017-03-07  Megan Gardner  <megan_gardner@apple.com>
3016
3017         Fix Project Dependency
3018         https://bugs.webkit.org/show_bug.cgi?id=169340
3019
3020         Unreviewed Dependency Fix.
3021
3022         * WebView/WebViewPrivate.h:
3023
3024 2017-03-07  Alexey Proskuryakov  <ap@apple.com>
3025
3026         WebKitLegacy should re-export symbols from WebCore on watchos and tvos
3027         https://bugs.webkit.org/show_bug.cgi?id=169341
3028         <rdar://problem/30913788>
3029
3030         Reviewed by Dan Bernstein.
3031
3032         * MigrateHeaders.make:
3033
3034 2017-03-07  Simon Fraser  <simon.fraser@apple.com>
3035
3036         Have fixedPositionCreatesStackingContext be on by default everywhere
3037         https://bugs.webkit.org/show_bug.cgi?id=169334
3038
3039         Reviewed by Zalan Bujtas.
3040
3041         It makes no sense to have web-exposed CSS functionality be different based on setting,
3042         and other browser are now aligned with having position:fixed create stacking context.
3043
3044         So remove the fixedPositionCreatesStackingContext setting and have StyleResolver::adjustRenderStyle()
3045         always force stacking context for position:fixed.
3046
3047         * WebView/WebView.mm:
3048         (-[WebView _preferencesChanged:]):
3049
3050 2017-03-06  Simon Fraser  <simon.fraser@apple.com>
3051
3052         Initialize the subpixelAntialiasedLayerTextEnabled Setting in WebKit1
3053         https://bugs.webkit.org/show_bug.cgi?id=169230
3054
3055         Reviewed by Tim Horton.
3056
3057         * WebView/WebView.mm:
3058         (-[WebView _preferencesChanged:]):
3059
3060 2017-03-07  Simon Fraser  <simon.fraser@apple.com>
3061
3062         Enable SubpixelAntialiasedLayerTextEnabled by default on some versions of macOS
3063         https://bugs.webkit.org/show_bug.cgi?id=169329
3064
3065         Reviewed by Tim Horton.
3066
3067         If the macOS version is > 101300, enable subpixelAntialiasedLayerTextEnabled.
3068
3069         * WebView/WebPreferences.mm:
3070         (+[WebPreferences initialize]):
3071
3072 2017-03-07  Megan Gardner  <megan_gardner@apple.com>
3073
3074         Additional DataInteraction Support
3075         https://bugs.webkit.org/show_bug.cgi?id=169316
3076         <rdar://problem/30884234>
3077
3078         Reviewed by Wenson Hsieh.
3079
3080         Add stub implementations to WebView for methods that handle data interaction
3081
3082         * WebView/WebView.mm:
3083         (-[WebView _enteredDataInteraction:client:global:operation:]):
3084         (-[WebView _updatedDataInteraction:client:global:operation:]):
3085         (-[WebView _exitedDataInteraction:client:global:operation:]):
3086         (-[WebView _performDataInteraction:client:global:operation:]):
3087         (-[WebView _endedDataInteraction:global:]):
3088         * WebView/WebViewPrivate.h:
3089
3090 2017-03-07  Dean Jackson  <dino@apple.com>
3091
3092         Some platforms won't be able to create a GPUDevice
3093         https://bugs.webkit.org/show_bug.cgi?id=169314
3094         <rdar://problems/30907521>
3095
3096         Reviewed by Jon Lee.
3097
3098         Disable WEB_GPU on the iOS Simulator.
3099
3100         * Configurations/FeatureDefines.xcconfig:
3101
3102 2017-03-07  Maureen Daum  <mdaum@apple.com>
3103
3104         Correctly check for an empty database file.
3105         <rdar://problem/30542242> Removing Website Data not working (WebSQL directories being left behind)
3106         https://bugs.webkit.org/show_bug.cgi?id=169256
3107
3108         Reviewed by Brady Eidson.
3109
3110         Check if the folder for an origin's WebSQL databases is empty after trying to delete
3111         all of its files. Currently we check if the deletedDatabaseFileCount matches the number
3112         of files that were in the folder. However, when we delete the actual database file in
3113         DatabaseTracker::deleteDatabaseFileIfEmpty(), the shm and wal files get deleted along with
3114         the database file, but deletedDatabaseFileCount only gets incremented once.
3115
3116         * Storage/WebDatabaseManager.mm:
3117         (+[WebDatabaseManager removeEmptyDatabaseFiles]):
3118         Delete the folder if it is empty.
3119
3120 2017-03-06  Michael Saboff  <msaboff@apple.com>
3121
3122         Unreviewed build fix to add
3123         -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
3124         for objective C++ files.
3125
3126         * Configurations/WebKitLegacy.xcconfig:
3127
3128 2017-03-06  Michael Saboff  <msaboff@apple.com>
3129
3130         Take advantage of fast permissions switching of JIT memory for devices that support it
3131         https://bugs.webkit.org/show_bug.cgi?id=169155
3132
3133         Reviewed by Saam Barati.
3134
3135         Updated the Xcode config files to match what is in the JavaScriptCore ones.
3136
3137         * Configurations/FeatureDefines.xcconfig:
3138
3139 2017-03-06  Myles C. Maxfield  <mmaxfield@apple.com>
3140
3141         Expand font-weight and font-stretch to take any number
3142         https://bugs.webkit.org/show_bug.cgi?id=168889
3143
3144         Reviewed by Simon Fraser.
3145
3146         Migrate off old enum types.
3147
3148         * WebCoreSupport/PopupMenuMac.mm:
3149         (PopupMenuMac::populate):
3150         * WebView/WebHTMLView.mm:
3151         (fontNameForDescription):
3152         * WebView/WebView.mm:
3153         (-[WebView updateTextTouchBar]):
3154
3155 2017-03-03  Dean Jackson  <dino@apple.com>
3156
3157         Add WebGPU compile flag and experimental feature flag
3158         https://bugs.webkit.org/show_bug.cgi?id=169161
3159         <rdar://problem/30846689>
3160
3161         Reviewed by Tim Horton.
3162
3163         Add ENABLE_WEBGPU, an experimental feature flag, a RuntimeEnabledFeature,
3164         and an InternalSetting.
3165
3166         * Configurations/FeatureDefines.xcconfig:
3167         * WebView/WebPreferenceKeysPrivate.h:
3168         * WebView/WebPreferences.mm:
3169         (+[WebPreferences initialize]):
3170         (-[WebPreferences webGPUEnabled]):
3171         (-[WebPreferences setWebGPUEnabled:]):
3172         * WebView/WebPreferencesPrivate.h:
3173         * WebView/WebView.mm:
3174         (-[WebView _preferencesChanged:]):
3175
3176 2017-03-03  Alexey Proskuryakov  <ap@apple.com>
3177
3178         Build fix
3179         rdar://problem/30825660
3180
3181         Suggested by Dan Bernstein.
3182
3183         * Configurations/WebKitLegacy.xcconfig:
3184
3185 2017-03-02  Sam Weinig  <sam@webkit.org>
3186
3187         Rename htmlediting.h/cpp to Editing.h/cpp
3188         https://bugs.webkit.org/show_bug.cgi?id=169103
3189
3190         Reviewed by Alex Christensen.
3191
3192         * DOM/DOMUIKitExtensions.mm:
3193         * WebView/WebFrame.mm:
3194         * WebView/WebView.mm:
3195
3196 2017-03-02  Megan Gardner  <megan_gardner@apple.com>
3197
3198         Fix 32-bit
3199         https://bugs.webkit.org/show_bug.cgi?id=169114
3200
3201         Reviewed by Alex Christensen.
3202
3203         * WebView/WebView.mm:
3204
3205 2017-03-02  Megan Gardner  <megan_gardner@apple.com>
3206
3207         More guard fixing
3208         https://bugs.webkit.org/show_bug.cgi?id=169112
3209
3210         Reviewed by Alex Christensen.
3211
3212         Fixed an internal build.
3213
3214         * WebView/WebView.mm:
3215         * WebView/WebViewPrivate.h:
3216
3217 2017-03-02  Megan Gardner  <megan_gardner@apple.com>
3218
3219         Data Interaction build fixes
3220         https://bugs.webkit.org/show_bug.cgi?id=169096
3221
3222         Reviewed by Tim Horton.
3223
3224         Guards weren't all correct, also missed a selector name change.
3225
3226         * WebView/WebView.mm:
3227         (-[WebView _setDataInteractionData:textIndicator:atClientPosition:anchorPoint:action:]):
3228         * WebView/WebViewData.h:
3229         * WebView/WebViewData.mm:
3230         (-[WebViewPrivate dealloc]):
3231
3232 2017-03-02  Alex Christensen  <achristensen@webkit.org>
3233
3234         Continue enabling WebRTC
3235         https://bugs.webkit.org/show_bug.cgi?id=169056
3236
3237         Reviewed by Jon Lee.
3238
3239         * Configurations/FeatureDefines.xcconfig:
3240
3241 2017-03-01  Megan Gardner  <megan_gardner@apple.com>
3242
3243         Data interaction support for WK1
3244         https://bugs.webkit.org/show_bug.cgi?id=169062
3245
3246         Reviewed by Wenson Hsieh.
3247
3248         Support for data interaction in WebKit1
3249
3250         * WebCoreSupport/WebDragClient.mm:
3251         * WebView/WebView.mm:
3252         (-[WebUITextIndicatorData initWithImage:TextIndicatorData:scale:]):
3253         (-[WebUITextIndicatorData initWithImage:scale:]):
3254         (-[WebUITextIndicatorData dealloc]):
3255         (-[WebView _requestStartDataInteraction:globalPosition:]):
3256         (-[WebView _setDataInteractionData:textIndicator:atClientPosition:anchorPoint:action:]):
3257         (-[WebView _getDataInteractionData]):
3258         * WebView/WebViewData.h:
3259         * WebView/WebViewData.mm:
3260         (-[WebViewPrivate dealloc]):
3261         * WebView/WebViewInternal.h:
3262         * WebView/WebViewPrivate.h:
3263
3264 2017-03-02  Youenn Fablet  <youenn@apple.com>
3265
3266         [WebRTC] Activate ICE candidate privacy policy
3267         https://bugs.webkit.org/show_bug.cgi?id=168975
3268
3269         Reviewed by Alex Christensen.
3270
3271         * WebView/WebPreferenceKeysPrivate.h:
3272         * WebView/WebPreferences.mm:
3273         (-[WebPreferences enumeratingAllNetworkInterfacesEnabled]):
3274         (-[WebPreferences setEnumeratingAllNetworkInterfacesEnabled:]):
3275         (-[WebPreferences iceCandidateFilteringEnabled]):
3276         (-[WebPreferences setIceCandidateFilteringEnabled:]):
3277         * WebView/WebPreferencesPrivate.h:
3278
3279 2017-03-01  Alex Christensen  <achristensen@webkit.org>
3280
3281         Unreviewed, rolling out r213259.
3282
3283         Broke an internal build
3284
3285         Reverted changeset:
3286
3287         "Continue enabling WebRTC"
3288         https://bugs.webkit.org/show_bug.cgi?id=169056
3289         http://trac.webkit.org/changeset/213259
3290
3291 2017-03-01  Alex Christensen  <achristensen@webkit.org>
3292
3293         Continue enabling WebRTC
3294         https://bugs.webkit.org/show_bug.cgi?id=169056
3295
3296         Reviewed by Jon Lee.
3297
3298         * Configurations/FeatureDefines.xcconfig:
3299
3300 2017-02-27  Alex Christensen  <achristensen@webkit.org>
3301
3302         Begin enabling WebRTC on 64-bit
3303         https://bugs.webkit.org/show_bug.cgi?id=168915
3304
3305         Reviewed by Eric Carlson.
3306
3307         * Configurations/FeatureDefines.xcconfig:
3308
3309 2017-02-27  Aakash Jain  <aakash_jain@apple.com>
3310
3311         Enable SUPPORTS_TEXT_BASED_API in WebKitLegacy for iOS
3312         https://bugs.webkit.org/show_bug.cgi?id=168919
3313
3314         Reviewed by Tim Horton.
3315
3316         * Configurations/WebKitLegacy.xcconfig: Enable SUPPORTS_TEXT_BASED_API.
3317         * migrate-headers.sh: Run the migrate-headers script for installapi phase.
3318
3319 2017-02-27  Alex Christensen  <achristensen@webkit.org>
3320
3321         [libwebrtc] Enable WebRTC in some Production Builds
3322         https://bugs.webkit.org/show_bug.cgi?id=168858
3323
3324         * Configurations/FeatureDefines.xcconfig:
3325
3326 2017-02-26  Alexey Proskuryakov  <ap@apple.com>
3327
3328         Don't import RetainPtr in WebNotification.h
3329         https://bugs.webkit.org/show_bug.cgi?id=168876
3330
3331         Reviewed by Dan Bernstein.
3332
3333         This is an Objective-C SPI header.
3334
3335         * WebView/WebNotification.h:
3336         * WebView/WebNotification.mm:
3337         (-[WebNotification initWithCoreNotification:notificationID:]):
3338         (-[WebNotification dealloc]):
3339
3340 2017-02-26  Aakash Jain  <aakash_jain@apple.com>
3341
3342         Simplify EXPORTED_SYMBOLS_FILE variables in WebKitLegacy.xcconfig
3343         https://bugs.webkit.org/show_bug.cgi?id=168819
3344
3345         Reviewed by Dan Bernstein.
3346
3347         * Configurations/WebKitLegacy.xcconfig:
3348
3349 2017-02-22  Aakash Jain  <aakash_jain@apple.com>
3350
3351         Export Objective-C symbols for variables in Webkit SPI
3352         https://bugs.webkit.org/show_bug.cgi?id=168758
3353
3354         Reviewed by Alexey Proskuryakov.
3355
3356         * Configurations/WebKitLegacy.xcconfig: using separate .exp file for i386.
3357         * WebKit.exp: Added various Objective-C symbols.
3358
3359 2017-02-22  Aakash Jain  <aakash_jain@apple.com>
3360
3361         Move instance members from WKQuadObject to implementation file
3362         https://bugs.webkit.org/show_bug.cgi?id=168740
3363
3364         Reviewed by Tim Horton.
3365
3366         * DOM/DOM.mm: Moving instance member to implementation file.
3367         * DOM/DOMExtensions.h: Ditto.
3368
3369 2017-02-22  Aakash Jain  <aakash_jain@apple.com>
3370
3371         Move iOS specific symbols to WebKit.ios.exp
3372         https://bugs.webkit.org/show_bug.cgi?id=168726
3373
3374         Reviewed by Alexey Proskuryakov.
3375
3376         * WebKit.exp:
3377
3378 2017-02-21  Youenn Fablet  <youenn@apple.com>
3379
3380         [WebRTC][Mac] Activate libwebrtc
3381         https://bugs.webkit.org/show_bug.cgi?id=167293
3382         <rdar://problem/30401864>
3383
3384         Reviewed by Alex Christensen.
3385
3386         * Configurations/FeatureDefines.xcconfig:
3387
3388 2017-02-21  Aakash Jain  <aakash_jain@apple.com>
3389
3390         Export various NSString symbols from WebFramePrivate.h
3391         https://bugs.webkit.org/show_bug.cgi?id=168702
3392
3393         Reviewed by Alexey Proskuryakov.
3394
3395         * WebKit.exp:
3396
3397 2017-02-21  Aakash Jain  <aakash_jain@apple.com>
3398
3399         Export various NSString symbols from WebPreferencesPrivate.h
3400         https://bugs.webkit.org/show_bug.cgi?id=168701
3401
3402         Reviewed by Alexey Proskuryakov.
3403
3404         * WebKit.exp:
3405
3406 2017-02-21  Joseph Pecoraro  <pecoraro@apple.com>
3407
3408         Add missing WebConsoleMessage string key
3409         https://bugs.webkit.org/show_bug.cgi?id=168690
3410
3411         Reviewed by Alexey Proskuryakov.
3412
3413         * WebKit.exp:
3414         * WebView/WebUIDelegatePrivate.h:
3415         This key has an implementation but was not extern / exported like the others.
3416
3417 2017-02-21  Aakash Jain  <aakash_jain@apple.com>
3418
3419         Export various NSString symbols from WebViewPrivate.h
3420         https://bugs.webkit.org/show_bug.cgi?id=168689
3421
3422         Reviewed by Alexey Proskuryakov.
3423
3424         * WebKit.exp:
3425
3426 2017-02-21  Commit Queue  <commit-queue@webkit.org>
3427
3428         Unreviewed, rolling out r212768.
3429         https://bugs.webkit.org/show_bug.cgi?id=168698
3430
3431         Rolling out since this would break other projects. (Requested
3432         by aakashjain on #webkit).
3433
3434         Reverted changeset:
3435
3436         "[iOS] Remove old WebKit1 MemoryMeasure helper."
3437         https://bugs.webkit.org/show_bug.cgi?id=168675
3438         http://trac.webkit.org/changeset/212768
3439
3440 2017-02-20  Simon Fraser  <simon.fraser@apple.com>
3441
3442         Add support to PlatformCALayer/GraphicsLayerCA for subpixel-antialiased text, with a Setting and a MiniBrowser switch
3443         https://bugs.webkit.org/show_bug.cgi?id=168620
3444         <rdar://problem/30617772>
3445
3446         Reviewed by Tim Horton.
3447
3448         * WebView/WebPreferenceKeysPrivate.h:
3449         * WebView/WebPreferences.mm:
3450         (+[WebPreferences initialize]):
3451         (-[WebPreferences subpixelAntialiasedLayerTextEnabled]):
3452         (-[WebPreferences setSubpixelAntialiasedLayerTextEnabled:]):
3453         * WebView/WebPreferencesPrivate.h:
3454
3455 2017-02-21  Aakash Jain  <aakash_jain@apple.com>
3456
3457         Export various NSString symbols from WebUIDelegatePrivate.h
3458         https://bugs.webkit.org/show_bug.cgi?id=168679
3459
3460         Reviewed by Joseph Pecoraro.
3461
3462         * WebKit.exp:
3463
3464 2017-02-21  Aakash Jain  <aakash_jain@apple.com>
3465
3466         Export symbols for various classes present in webkit SPI
3467         https://bugs.webkit.org/show_bug.cgi?id=168674
3468
3469         Reviewed by Dan Bernstein.
3470
3471         * WebKit.exp:
3472
3473 2017-02-21  Andreas Kling  <akling@apple.com>
3474
3475         [iOS] Remove old WebKit1 MemoryMeasure helper.
3476         <https://webkit.org/b/168675>
3477
3478         Reviewed by Sam Weinig.
3479
3480         * Configurations/WebKitLegacy.xcconfig:
3481         * Misc/WebCache.mm:
3482         (+[WebCache emptyInMemoryResources]):
3483         * WebView/WebView.mm:
3484
3485 2017-02-21  Andreas Kling  <akling@apple.com>
3486
3487         [iOS] WebKit1 should use shared memory pressure handler code.
3488         <https://webkit.org/b/168653>
3489
3490         Reviewed by Antti Koivisto.
3491
3492         Register a WebThread-aware memory callback with the shared MemoryPressureHandler
3493         and get rid of the old iOS WebKit1 specific implementation. Some of it was even
3494         dead code since MobileSafari has been using WebKit2 for quite a while.
3495
3496         * WebView/WebView.h:
3497         * WebView/WebView.mm:
3498         (WebInstallMemoryPressureHandler):
3499         (+[WebView _handleMemoryWarning]): Deleted.
3500         (+[WebView registerForMemoryNotifications]): Deleted.
3501         (+[WebView releaseFastMallocMemoryOnCurrentThread]): Deleted.
3502         (+[WebView garbageCollectNow]): Deleted.
3503         (+[WebView purgeInactiveFontData]): Deleted.
3504         (+[WebView drainLayerPool]): Deleted.
3505         (+[WebView discardAllCompiledCode]): Deleted.
3506         (+[WebView _clearMemoryPressure]): Deleted.
3507         (+[WebView _shouldWaitForMemoryClearMessage]): Deleted.
3508         * WebView/WebViewPrivate.h:
3509
3510 2017-02-20  Aakash Jain  <aakash_jain@apple.com>
3511
3512         Stop exporting interface WebCoreScrollView on iOS
3513         https://bugs.webkit.org/show_bug.cgi?id=168536
3514
3515         Reviewed by Dan Bernstein.
3516
3517         * WebKit.exp: Moved symbol for WebCoreScrollView interface to mac specific file.
3518         * WebKit.mac.exp: Ditto.
3519         * WebView/WebHTMLView.mm: WebCoreScrollView shouldn't be defined for iOS platform.
3520
3521 2017-02-20  Aakash Jain  <aakash_jain@apple.com>
3522
3523         Exclude various mac-specific header files from iOS build
3524         https://bugs.webkit.org/show_bug.cgi?id=168621
3525
3526         Reviewed by Dan Bernstein.
3527
3528         * Configurations/WebKitLegacy.xcconfig:
3529
3530 2017-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
3531
3532         Add plumbing to the UI process for TextIndicatorData when computing the drag image
3533         https://bugs.webkit.org/show_bug.cgi?id=168583
3534         Work towards <rdar://problem/30313681>
3535
3536         Accounts for changes in WebCore -- see Source/WebCore/ChangeLog for more details.
3537
3538         Reviewed by Tim Horton.
3539
3540         * WebView/WebHTMLView.mm:
3541         (-[WebHTMLView _selectionDraggingImage]):
3542         (-[WebHTMLView selectionImageForcingBlackText:selectionImageForcingBlackText:]):
3543
3544 2017-02-17  Anders Carlsson  <andersca@apple.com>
3545
3546         Add a new drag code path and use it for dragging plain text
3547         https://bugs.webkit.org/show_bug.cgi?id=168534
3548
3549         Reviewed by Geoffrey Garen.
3550
3551         * WebCoreSupport/WebDragClient.h:
3552         Add new members.
3553
3554         * WebCoreSupport/WebDragClient.mm:
3555         (WebDragClient::useLegacyDragClient):
3556         Return false here.
3557
3558         (WebDragClient::beginDrag):
3559         New client member function. Create an NSDraggingItem and use it to begin a dragging session.
3560
3561         * WebView/WebHTMLView.mm:
3562         (-[WebHTMLView draggingSession:sourceOperationMaskForDraggingContext:]):
3563         Get the source operation mask from WebCore.
3564
3565         (-[WebHTMLView draggingSession:endedAtPoint:operation:]):
3566         Send a fake mouse up event.
3567
3568         * WebView/WebHTMLViewInternal.h:
3569         Declare that WebHTMLView conforms to NSDraggingSource.
3570
3571 2017-02-20  Alexey Proskuryakov  <ap@apple.com>
3572
3573         List of WebCore symbols to re-export from WebKitLegacy should be built automatically
3574         https://bugs.webkit.org/show_bug.cgi?id=168342
3575         rdar://problem/26182266
3576
3577         Reviewed by Tim Horton.
3578
3579         * MigrateHeaders.make: On iOS only, process re-exported headers to build a list of
3580         symbols to re-export.
3581
3582 2017-02-20  Aakash Jain  <aakash_jain@apple.com>
3583
3584         Stop exporting DOMTokenList from WebKit
3585         https://bugs.webkit.org/show_bug.cgi?id=168544
3586
3587         Reviewed by Alexey Proskuryakov.
3588
3589         * WebKit.exp:
3590
3591 2017-02-20  Alexey Proskuryakov  <ap@apple.com>
3592
3593         Clean up how WebKit exports _WebCreateFragment
3594         https://bugs.webkit.org/show_bug.cgi?id=168579
3595
3596         Reviewed by Dan Bernstein.
3597
3598         * WebCoreSupport/WebCreateFragmentInternal.h: Added a private header.
3599         * WebCoreSupport/WebEditorClient.mm: Include the new header that declares _WebCreateFragment.
3600
3601 2017-02-20  Aakash Jain  <aakash_jain@apple.com>
3602
3603         Stop exporting DOMNodeFilter
3604         https://bugs.webkit.org/show_bug.cgi?id=168542
3605
3606         Reviewed by Alexey Proskuryakov.
3607
3608         * WebKit.exp:
3609
3610 2017-02-20  Manuel Rego Casasnovas  <rego@igalia.com>
3611
3612         [css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
3613         https://bugs.webkit.org/show_bug.cgi?id=167693
3614
3615         Reviewed by Sergio Villar Senin.
3616
3617         * Configurations/FeatureDefines.xcconfig:
3618         * WebView/WebPreferences.mm:
3619         (+[WebPreferences initialize]):
3620         * WebView/WebView.mm:
3621         (-[WebView _preferencesChanged:]):
3622
3623 2017-02-15  Brady Eidson  <beidson@apple.com>
3624
3625         Stop backing up localStorage databases to iCloud by default.
3626         <rdar://problem/29045531> and https://bugs.webkit.org/show_bug.cgi?id=168388
3627
3628         Reviewed by Geoffrey Garen.
3629
3630         * Misc/WebKitVersionChecks.h:
3631         * Misc/WebKitVersionChecks.mm: Renamed from Source/WebKit/mac/Misc/WebKitVersionChecks.m.
3632         (WebKitLinkedOnOrAfter):
3633         (setWebKitLinkTimeVersion):
3634         (WebKitLinkTimeVersion):
3635         (linkedOnOrAfter):
3636
3637         * Storage/WebStorageManager.mm:
3638         (WebKitInitializeStorageIfNecessary):
3639
3640 2017-02-16  Daniel Bates  <dabates@apple.com>
3641
3642         Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
3643         https://bugs.webkit.org/show_bug.cgi?id=168417
3644         <rdar://problem/30541748>
3645
3646         Reviewed by Brent Fulgham.
3647
3648         Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
3649         Widget* as it is always called with a valid Widget.
3650
3651         * WebCoreSupport/WebFrameLoaderClient.h:
3652         * WebCoreSupport/WebFrameLoaderClient.mm:
3653         (WebFrameLoaderClient::redirectDataToPlugin):
3654         * WebKit.order: Remove symbol for WebFrameLoaderClient::redirectDataToPlugin() that took a Widget*
3655         as it no longer exists. I am unclear if this file is still meaningful as it was last modified in
3656         r180570 (2 years ago) though Xcode still references this ordering file (why?).
3657
3658 2017-02-16  Yusuke Suzuki  <utatane.tea@gmail.com>
3659
3660         [JSC] Drop PassRefPtr in inspector/
3661         https://bugs.webkit.org/show_bug.cgi?id=168420
3662
3663         Reviewed by Alex Christensen.
3664
3665         * WebView/WebScriptDebugger.mm:
3666         (WebScriptDebugger::handlePause):
3667
3668 2017-02-16  Simon Fraser  <simon.fraser@apple.com>
3669
3670         Clean up use of some CALayer-related SPI
3671         https://bugs.webkit.org/show_bug.cgi?id=168401
3672
3673         Reviewed by Tim Horton.
3674
3675         Include CALayer.h not CATiledLayer.h.
3676
3677         * WebInspector/WebNodeHighlight.h:
3678
3679 2017-02-15  Wenson Hsieh  <wenson_hsieh@apple.com>
3680
3681         Fix the build after r212379
3682
3683         Rubber-stamped by Anders Carlsson.
3684
3685         * WebCoreSupport/WebDragClient.mm:
3686         (WebDragClient::startDrag):
3687
3688 2017-02-15  Anders Carlsson  <andersca@apple.com>
3689
3690         Modernize DragClient::startDrag somewhat
3691         https://bugs.webkit.org/show_bug.cgi?id=168379
3692
3693         Reviewed by Tim Horton.
3694
3695         Update for WebCore changes.
3696
3697         * WebCoreSupport/WebDragClient.h:
3698         * WebCoreSupport/WebDragClient.mm:
3699         (WebDragClient::startDrag):
3700
3701 2017-02-14  Dean Jackson  <dino@apple.com>
3702
3703         Rename preferLowPowerWebGLRendering setting to forceWebGLUsesLowPower
3704         https://bugs.webkit.org/show_bug.cgi?id=168339
3705
3706         Reviewed by Simon Fraser.
3707
3708         Use a better name.
3709
3710         * WebView/WebPreferenceKeysPrivate.h:
3711         * WebView/WebPreferences.mm:
3712         (+[WebPreferences initialize]):
3713         (-[WebPreferences forceLowPowerGPUForWebGL]):
3714         (-[WebPreferences setForceLowPowerGPUForWebGL:]):
3715         (-[WebPreferences preferLowPowerWebGLRendering]): Deleted.
3716         (-[WebPreferences setPreferLowPowerWebGLRendering:]): Deleted.
3717         * WebView/WebPreferencesPrivate.h:
3718         * WebView/WebView.mm:
3719         (-[WebView _preferencesChanged:]):
3720
3721 2017-02-14  Chris Dumez  <cdumez@apple.com>
3722
3723         HTML Form Validation bubble should take minimum font size setting into consideration
3724         https://bugs.webkit.org/show_bug.cgi?id=168271
3725         <rdar://problem/29869869>
3726
3727         Reviewed by Simon Fraser.
3728
3729         * WebView/WebView.mm:
3730         (-[WebView _contentsOfUserInterfaceItem:]):
3731         Return font size used in the validation bubble.
3732
3733         (-[WebView showFormValidationMessage:withAnchorRect:]):
3734         Pass minimum font size setting when constructing the validation bubble.
3735
3736 2017-02-14  Anders Carlsson  <andersca@apple.com>
3737
3738         Remove an unused delegate method
3739         https://bugs.webkit.org/show_bug.cgi?id=168328
3740
3741         Reviewed by Wenson Hsieh.
3742
3743         * DefaultDelegates/WebDefaultUIDelegate.m:
3744         (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): Deleted.
3745
3746 2017-02-14  Alexey Proskuryakov  <ap@apple.com>
3747
3748         WebCore shouldn't export SystemMemory.h
3749         https://bugs.webkit.org/show_bug.cgi?id=168285
3750
3751         Reviewed by Alex Christensen.
3752
3753         * MigrateHeaders.make: And WebKit shouldn't re-export it.
3754
3755 2017-02-13  Alexey Proskuryakov  <ap@apple.com>
3756
3757         WebKit shouldn't re-export ScrollTypes.h and WebCoreFrameView.h
3758         https://bugs.webkit.org/show_bug.cgi?id=168282
3759
3760         Reviewed by Dan Bernstein.
3761
3762         * MigrateHeaders.make:
3763
3764 2017-02-12  Dan Bernstein  <mitz@apple.com>
3765
3766         Tried to fix USE(APPLE_INTERNAL_SDK) builds after r212211.
3767
3768         * WebView/WebHTMLView.mm:
3769         (createShareMenuItem): Use non-deprecated method.
3770
3771 2017-02-12  Dan Bernstein  <mitz@apple.com>
3772
3773         [Cocoa] Some -respondsToSelector: checks are unnecessary
3774         https://bugs.webkit.org/show_bug.cgi?id=168183
3775
3776         Reviewed by Tim Horton.
3777
3778         * WebView/WebFullScreenController.mm:
3779         (-[WebFullScreenController applicationDidResignActive:]): Removed check whether NSWindow
3780           responds to -isOnActiveSpace.
3781         (-[WebFullScreenController exitFullScreen]): Ditto.
3782         (-[WebFullScreenController _updateMenuAndDockForFullScreen]): Removed check whether
3783           NSApplication responds to -setPresentationOptions.
3784
3785         * WebView/WebHTMLView.mm:
3786         (createShareMenuItem): Removed unnecessary -respondsToSelector: check.
3787         (-[WebHTMLView otherMouseDown:]): Ditto.
3788
3789         * WebView/WebImmediateActionController.mm:
3790         (-[WebImmediateActionController _clearImmediateActionState]): Ditto.
3791         (-[WebImmediateActionController _animationControllerForDataDetectedText]): Ditto.
3792
3793         * WebView/WebView.mm:
3794         (-[WebView _didStartProvisionalLoadForFrame:]): Removed redundant nil check.
3795         (+[WebView _setCacheModel:]): Removed unnecessary -respondsToSelector: check.
3796
3797 2017-02-10  Daniel Bates  <dabates@apple.com>
3798
3799         Detach frame from document when entering page cache
3800         https://bugs.webkit.org/show_bug.cgi?id=166774
3801         <rdar://problem/29904368>
3802
3803         Reviewed by Chris Dumez.
3804
3805         * WebView/WebPreferenceKeysPrivate.h:
3806         * WebView/WebPreferences.mm:
3807         (+[WebPreferences initialize]):
3808         (-[WebPreferences allowsPageCacheWithWindowOpener]): Deleted.
3809         (-[WebPreferences setAllowsPageCacheWithWindowOpener:]): Deleted.
3810         * WebView/WebPreferencesPrivate.h:
3811         * WebView/WebView.mm:
3812         (-[WebView _preferencesChanged:]):
3813
3814 2017-02-10  Joseph Pecoraro  <pecoraro@apple.com>
3815
3816         [Resource Timing] Enable Resource Timing by default in Tests
3817         https://bugs.webkit.org/show_bug.cgi?id=168145
3818
3819         Reviewed by Ryosuke Niwa.
3820
3821         * WebView/WebPreferenceKeysPrivate.h:
3822         * WebView/WebPreferences.mm:
3823         (+[WebPreferences initialize]):
3824         (-[WebPreferences resourceTimingEnabled]):
3825         (-[WebPreferences setResourceTimingEnabled:]):
3826         * WebView/WebPreferencesPrivate.h:
3827         * WebView/WebView.mm:
3828         (-[WebView _preferencesChanged:]):
3829
3830 2017-02-10  Aakash Jain  <aakash_jain@apple.com>
3831
3832         cleanup WebLocalizableStrings.
3833         https://bugs.webkit.org/show_bug.cgi?id=168078
3834
3835         Reviewed by Alexey Proskuryakov.
3836
3837         * Misc/WebLocalizableStrings.h: Make visibility hidden for WebLocalizableStringsBundle 
3838         as it's for each framework's own consumption, and never needs to be exported.
3839
3840 2017-02-10  Aakash Jain  <aakash_jain@apple.com>
3841
3842         WebResourceLoadDelegatePrivate.h cannot be imported standalone
3843         https://bugs.webkit.org/show_bug.cgi?id=168096
3844
3845         Reviewed by Alexey Proskuryakov.
3846
3847         * WebView/WebResourceLoadDelegatePrivate.h: Change WebNSInteger to NSInteger. 
3848
3849 2017-02-09  Antti Koivisto  <antti@apple.com>
3850
3851         Remove most cases of #if ENABLE(CACHE_PARTITIONING)
3852         https://bugs.webkit.org/show_bug.cgi?id=167990
3853
3854         Reviewed by Sam Weinig.
3855
3856         * Misc/WebCache.mm:
3857         (+[WebCache addImageToCache:forURL:forFrame:]):
3858         (+[WebCache removeImageFromCacheForURL:forFrame:]):
3859         * WebCoreSupport/WebSystemInterface.mm:
3860         (InitWebCoreSystemInterface):
3861
3862 2017-02-07  Alexey Proskuryakov  <ap@apple.com>
3863
3864         Don't migrate WebKit DOM headers in MigrateHeaders.make
3865         https://bugs.webkit.org/show_bug.cgi?id=167608
3866
3867         Reviewed by Darin Adler.
3868
3869         Stop migrating DOM headers that are now in WebKit.
3870
3871         * DOM/DOMDOMImplementation.h: Removed.
3872         * DOM/DOMDOMImplementation.mm: Removed.
3873         * DOM/DOMDOMImplementationInternal.h: Removed.
3874         * DOM/DOMDOMTokenList.h: Removed.
3875         * DOM/DOMDOMTokenList.mm: Removed.
3876         * DOM/DOMDOMTokenListInternal.h: Removed.
3877         * DOM/DOMImplementation.h: Copied from Source/WebKit/mac/DOM/DOMDOMImplementation.h.
3878         * DOM/DOMImplementation.mm: Copied from Source/WebKit/mac/DOM/DOMDOMImplementation.mm.
3879         * DOM/DOMImplementationInternal.h: Copied from Source/WebKit/mac/DOM/DOMDOMImplementationInternal.h.
3880         * DOM/DOMTokenList.h: Copied from Source/WebKit/mac/DOM/DOMDOMTokenList.h.
3881         * DOM/DOMTokenList.mm: Copied from Source/WebKit/mac/DOM/DOMDOMTokenList.mm.
3882         * DOM/DOMTokenListInternal.h: Copied from Source/WebKit/mac/DOM/DOMDOMTokenListInternal.h.
3883         As the files are not in WebCore any more, there is no need to differentiate from
3884         WebCore internal headers with the same name. This makes it possible to make these
3885         headers private using Xcode mechanisms, as opposed to copying with a shell script.
3886
3887         * DOM/DOMElement.mm: Removed "using namespace WebCore". Other DOM implementation
3888         files don't have it.
3889
3890         * DOM/DOMCore.h:
3891         * DOM/DOMDocument.mm:
3892         * DOM/DOMHTMLAnchorElement.mm:
3893         * DOM/DOMHTMLAreaElement.mm:
3894         * DOM/DOMHTMLLinkElement.mm:
3895         * DOM/DOMUtility.mm:
3896         No more "DOMDOM".
3897
3898         * WebKit.exp:
3899         No more "DOMDOM". DOMDOMTokenList was not directly exposed via an SPI header, so
3900         renaming it is likely to be safe.
3901
3902         * MigrateHeaders.make: Don't migrate WebKit headers.
3903
3904         * Configurations/WebKitLegacy.xcconfig: Don't include two iOS specific SPI headers
3905         on macOS.
3906
3907 2017-02-08  Aakash Jain  <aakash_jain@apple.com>
3908
3909         Don't re-export PluginData.h from WebKit
3910         https://bugs.webkit.org/show_bug.cgi?id=168020
3911
3912         Reviewed by Alexey Proskuryakov.
3913
3914         * MigrateHeaders.make: Removed PluginData.h
3915
3916 2017-02-08  Aakash Jain  <aakash_jain@apple.com>
3917
3918         Don't re-export WKUtilities.h from WebKit
3919         https://bugs.webkit.org/show_bug.cgi?id=167977
3920
3921         Reviewed by Alexey Proskuryakov.
3922
3923         * MigrateHeaders.make: Removed WKUtilities.h
3924
3925 2017-02-06  Alex Christensen  <achristensen@webkit.org>
3926
3927         credentials should be partitioned by main document domain
3928         https://bugs.webkit.org/show_bug.cgi?id=166998
3929         rdar://problem/22901123
3930
3931         Reviewed by Brady Eidson.
3932
3933         * Misc/WebDownload.mm:
3934         * Plugins/WebBaseNetscapePluginView.mm:
3935         (WebKit::getAuthenticationInfo):
3936         Don't use partitioned credentials for WebKit1 plugins or downloads.
3937         Downloads should be authenticated before becoming a download anyways.
3938
3939 2017-02-06  Said Abou-Hallawa  <sabouhallawa@apple.com>
3940
3941         Rename AnimationController to CSSAnimationController
3942         https://bugs.webkit.org/show_bug.cgi?id=167829
3943
3944         Reviewed by Simon Fraser.
3945
3946         * WebView/WebFrame.mm:
3947         * WebView/WebView.mm:
3948
3949 2017-02-03  Chris Dumez  <cdumez@apple.com>
3950
3951         Dismiss HTML form validation popover when pressing Escape key
3952         https://bugs.webkit.org/show_bug.cgi?id=167716
3953         <rdar://problem/29872943>
3954
3955         Reviewed by Simon Fraser.
3956
3957         Override ValidationMessageClient::hideAnyValidationMessage().
3958
3959         * WebCoreSupport/WebValidationMessageClient.h:
3960         * WebCoreSupport/WebValidationMessageClient.mm:
3961         (WebValidationMessageClient::hideAnyValidationMessage):
3962
3963 2017-02-02  Wenson Hsieh  <wenson_hsieh@apple.com>
3964
3965         Drag images should be anchored to the mouse location
3966         https://bugs.webkit.org/show_bug.cgi?id=167690
3967         <rdar://problem/30295261>
3968
3969         Reviewed by Enrica Casucci.
3970
3971         Adds some plumbing for the anchor point in the WK1 client layer.
3972
3973         * WebCoreSupport/WebDragClient.h:
3974         * WebCoreSupport/WebDragClient.mm:
3975         (WebDragClient::startDrag):
3976
3977 2017-02-02  Chris Dumez  <cdumez@apple.com>
3978
3979         Rename Node::inDocument() to isConnected()
3980         https://bugs.webkit.org/show_bug.cgi?id=167743
3981
3982         Reviewed by Sam Weinig.
3983
3984         Rename Node::inDocument() to isConnected() to match the DOM specification more closely:
3985         - https://dom.spec.whatwg.org/#connected
3986
3987         * DOM/DOMNode.mm:
3988         (-[DOMNode isConnected]):
3989         * WebView/WebFrame.mm:
3990         (-[WebFrame selectNSRange:onElement:]):
3991
3992 2017-02-02  Chris Dumez  <cdumez@apple.com>
3993
3994         [Crash] com.apple.WebKit.WebContent at WebKit: WebKit::WebPage::fromCorePage()
3995         https://bugs.webkit.org/show_bug.cgi?id=167738
3996         <rdar://problem/30229990>
3997
3998         Reviewed by Andreas Kling.
3999
4000         The BackForwardClient no longer needs to worry about removing HistoryItems
4001         from the PageCache now that WebCore takes care of it.
4002
4003         * History/BackForwardList.mm:
4004         (BackForwardList::close):
4005
4006 2017-02-02  Yongjun Zhang  <yongjun_zhang@apple.com>
4007
4008         In iOS, we should take background assertion when accessing localstorage databases.
4009         https://bugs.webkit.org/show_bug.cgi?id=165478
4010
4011         Move database transaction background task handling code from WebDatabaseManager to
4012         WebCore's WebSQLiteDatabaseTrackerClient.
4013
4014         Reviewed by Brady Eidson.
4015
4016         * Storage/WebDatabaseManager.mm:
4017         * Storage/WebDatabaseManagerInternal.h: Remove a category for background task handling.
4018         * WebCoreSupport/WebApplicationCache.mm:
4019         (+[WebApplicationCache initializeWithBundleIdentifier:]): Use WebCore::WebSQLiteDatabaseTrackerClient.
4020         * WebView/WebView.mm:
4021         (-[WebView _commonInitializationWithFrameName:groupName:]): Ditto.
4022
4023 2017-02-01  Wenson Hsieh  <wenson_hsieh@apple.com>
4024
4025         [WK1] Allow the drag client to be initialized on platforms that do not support drag and drop
4026         https://bugs.webkit.org/show_bug.cgi?id=167695
4027         <rdar://problem/30305390>
4028
4029         Reviewed by Sam Weinig.
4030
4031         Due to the common codepath for destroying the drag client, we need to ensure that the drag client actually
4032         exists, even on platforms that do not support drag and drop, in order to avoid crashing when the DragController
4033         is destroyed.
4034
4035         * WebView/WebView.mm:
4036         (-[WebView _commonInitializationWithFrameName:groupName:]):
4037
4038 2017-01-31  Joseph Pecoraro  <pecoraro@apple.com>
4039
4040         ld: warning: instance method '_setAutofilled:' in category conflicts with same method from another category
4041         https://bugs.webkit.org/show_bug.cgi?id=167684
4042
4043         Reviewed by Dan Bernstein.
4044
4045         * DOM/DOMHTML.mm:
4046         (-[DOMHTMLInputElement _isAutofilled]): Deleted.
4047         (-[DOMHTMLInputElement _setAutofilled:]): Deleted.
4048         Consolidate in the WebDOMOperationsPrivate category.
4049
4050         * DOM/DOMPrivate.h:
4051         Include WebDOMOperationsPrivate header to get other DOM Private categories.
4052
4053         * DOM/WebDOMOperations.mm:
4054         (-[DOMHTMLInputElement _isAutofilled]):
4055         * DOM/WebDOMOperationsPrivate.h:
4056         Include getter alongside the setter.
4057
4058 2017-01-31  Jessie Berlin  <jberlin@webkit.org>
4059
4060         Build fix.
4061
4062         * Misc/WebNSPasteboardExtras.mm:
4063         (+[NSPasteboard _web_setFindPasteboardString:withOwner:]):
4064         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
4065         * WebView/WebHTMLView.mm:
4066         (-[WebHTMLView _fontAttributesFromFontPasteboard]):
4067         (-[WebHTMLView copyFont:]):
4068
4069 2017-01-30  Andy Estes  <aestes@apple.com>
4070
4071         [QuickLook] FrameLoaderClient should return the new QuickLookHandleClient it creates
4072         https://bugs.webkit.org/show_bug.cgi?id=167625
4073
4074         Reviewed by Andreas Kling.
4075
4076         * WebCoreSupport/WebFrameLoaderClient.h: Declared createQuickLookHandleClient().
4077         * WebCoreSupport/WebFrameLoaderClient.mm:
4078         (WebFrameLoaderClient::createQuickLookHandleClient): Renamed from didCreateQuickLookHandle().
4079         (WebFrameLoaderClient::didCreateQuickLookHandle): Renamed to createQuickLookHandleClient().
4080
4081 2017-01-30  Chris Dumez  <cdumez@apple.com>
4082
4083         Drop legacy Attributes.isId attribute
4084         https://bugs.webkit.org/show_bug.cgi?id=167603
4085
4086         Reviewed by Ryosuke Niwa.
4087
4088         Keep Attr.isId in ObjC bindings.
4089
4090         * DOM/DOMAttr.mm:
4091         (-[DOMAttr isId]):
4092
4093 2017-01-30  Andreas Kling  <akling@apple.com>
4094
4095         [macOS] WebHTMLView has an internal retain cycle with its flagsChangedEventMonitor.
4096         <https://webkit.org/b/167580>
4097
4098         Reviewed by Antti Koivisto.
4099
4100         Avoid the implicit strong capture of self by keeping it in a __block variable.
4101         Also add code to dealloc to unregister the event monitor, since it will otherwise leak.
4102         This fixes huge WebHTMLView leaks seen on the leaks bot.
4103
4104         * WebView/WebHTMLView.mm:
4105         (-[WebHTMLViewPrivate dealloc]):
4106         (-[WebHTMLView viewDidMoveToWindow]):
4107
4108 2017-01-29  Andy Estes  <aestes@apple.com>
4109
4110         [QuickLook] Add a WebPreference to enable saving QuickLook documents in WebKitLegacy
4111         https://bugs.webkit.org/show_bug.cgi?id=167563
4112         <rdar://problem/30253207>
4113
4114         Reviewed by Andreas Kling.
4115
4116         Instead of only saving QuickLook documents to a temporary file when the client is
4117         MobileSafari, base this decision on a WebPreference that clients can choose to enable.
4118
4119         This also changes the SPI for accessing the temporary file path and UTI. Instead of
4120         -[WebView quickLookContentForURL:], which requires the client to pass the response URL of
4121         the frame that saved the QuickLook document, the content dictionary is now stored as a
4122         property of WebDataSource.
4123
4124         This also removes the manual lifetime management of the QLPreviewConverter from
4125         QuickLookDocumentWriter. The QLPreviewConverter is kept alive by DocumentLoader these days,
4126         which ensures it lives long enough to respond to subresource requests.
4127
4128         New API test: QuickLook.LegacyQuickLookContent
4129
4130         * WebCoreSupport/WebFrameLoaderClient.mm:
4131         (WebFrameLoaderClient::didCreateQuickLookHandle): Moved the logic of deciding whether to
4132         write a temporary file to here from the QuickLookDocumentWriter constructor.
4133         * WebView/WebDataSource.mm: Declared _quickLookContent.
4134         (-[WebDataSource _quickLookContent]):
4135         (-[WebDataSource _setQuickLookContent:]):
4136         * WebView/WebDataSourceInternal.h: Overrode _quickLookContent as a read/write property.
4137         * WebView/WebDataSourcePrivate.h: Declared _quickLookContent as a readonly property.
4138         * WebView/WebPreferenceKeysPrivate.h: Defined WebKitQuickLookDocumentSavingPreferenceKey.
4139         * WebView/WebPreferences.mm:
4140         (-[WebPreferences quickLookDocumentSavingEnabled]):
4141         (-[WebPreferences setQuickLookDocumentSavingEnabled:]):
4142         * WebView/WebPreferencesPrivate.h: Declared property quickLookDocumentSavingEnabled.
4143         * WebView/WebView.mm:
4144         (-[WebView quickLookContentForURL:]): Changed to always return nil.
4145         * WebView/WebViewPrivate.h: Added a comment stating that clients should use
4146         -[WebDataSource _quickLookContent] instead.
4147
4148 2017-01-28  Yoav Weiss  <yoav@yoav.ws>
4149
4150         Add Link Preload as an off-by-default experimental feature menu item.
4151         https://bugs.webkit.org/show_bug.cgi?id=167201
4152
4153         Reviewed by Ryosuke Niwa.
4154
4155         * WebView/WebPreferenceKeysPrivate.h:
4156         * WebView/WebPreferences.mm:
4157         (-[WebPreferences linkPreloadEnabled]):
4158         (-[WebPreferences setLinkPreloadEnabled:]):
4159         * WebView/WebPreferencesPrivate.h:
4160         * WebView/WebView.mm:
4161         (-[WebView _preferencesChanged:]):
4162
4163 2017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
4164
4165         Add User Timing Experimental Feature
4166         https://bugs.webkit.org/show_bug.cgi?id=167542
4167         <rdar://problem/22746307>
4168
4169         Reviewed by Ryosuke Niwa.
4170
4171         * WebView/WebPreferenceKeysPrivate.h:
4172         * WebView/WebPreferences.mm:
4173         (+[WebPreferences initialize]):
4174         (-[WebPreferences userTimingEnabled]):
4175         (-[WebPreferences setUserTimingEnabled:]):
4176         * WebView/WebPreferencesPrivate.h:
4177         * WebView/WebView.mm:
4178         (-[WebView _preferencesChanged:]):
4179         Add setting for User Timing runtime enabled feature.
4180
4181 2017-01-27  Wenson Hsieh  <wenson_hsieh@apple.com>
4182
4183         [WK1] Do not prevent the drag client from initializing on Mac
4184         https://bugs.webkit.org/show_bug.cgi?id=167541
4185
4186         Reviewed by Dan Bernstein.
4187
4188         Fixes fallout from r211192. To ensure compability with WebKit clients, we need to ensure that WebDragClient is
4189         initialized everywhere when creating a WebView. Stub out method implementations as no-ops for non-Mac platforms.
4190         This caused certain clients, such as Mail, to crash when a webView closes due to  null dereference.
4191
4192         * WebCoreSupport/WebDragClient.mm:
4193         (WebDragClient::WebDragClient):
4194         (WebDragClient::actionMaskForDrag):
4195         (WebDragClient::willPerformDragDestinationAction):
4196         (WebDragClient::dragSourceActionMaskForPoint):
4197         (WebDragClient::willPerformDragSourceAction):
4198         (WebDragClient::startDrag):
4199         (WebDragClient::declareAndWriteDragImage):
4200         (WebDragClient::declareAndWriteAttachment):
4201         * WebView/WebView.mm:
4202         (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
4203
4204 2017-01-26  Chris Dumez  <cdumez@apple.com>
4205
4206         Crash when navigating back to a page in PacheCache when one of its frames has been removed
4207         https://bugs.webkit.org/show_bug.cgi?id=167421
4208         <rdar://problem/30188490>
4209
4210         Reviewed by Darin Adler.
4211
4212         Add a new setting allowing layout tests to enable PageCache in a window
4213         that has an opener, for convenience.
4214
4215         * WebView/WebPreferenceKeysPrivate.h:
4216         * WebView/WebPreferences.mm:
4217         (+[WebPreferences initialize]):
4218         (-[WebPreferences allowsPageCacheWithWindowOpener]):
4219         (-[WebPreferences setAllowsPageCacheWithWindowOpener:]):
4220         * WebView/WebPreferencesPrivate.h:
4221         * WebView/WebView.mm:
4222         (-[WebView _preferencesChanged:]):
4223
4224 2017-01-26  Keith Miller  <keith_miller@apple.com>
4225
4226         classInfo should take a VM so it is not materialized from the object on each call
4227         https://bugs.webkit.org/show_bug.cgi?id=167424
4228
4229         Rubber Stamped by Michael Saboff.
4230