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