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