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