Mountain Lion build fix after r161332.
[WebKit-https.git] / Source / WebKit / mac / ChangeLog
1 2014-01-06  Mark Rowe  <mrowe@apple.com>
2
3         Mountain Lion build fix after r161332.
4
5         * Carbon/HIWebView.h: Mountain Lion's version of CF_AVAILABLE_MAC doesn't accept a message
6         argument so remove it.
7
8 2014-01-06  Mark Rowe  <mrowe@apple.com>
9
10         <https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros
11
12         The legacy WebKit availability macros are verbose, confusing, and provide no benefit
13         over using the system availability macros directly. The original vision was that
14         they'd serve a cross-platform purpose but that never came to be.
15
16         Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
17         availability macros to allow the headers to advertise the API as unavailable on OS X
18         without interfering with the ability to build on iOS. This is achieved by defining
19         WEBKIT-prefixed versions of the Foundation availability macros that are defined to
20         their NS-prefixed equivalents. The installed headers are post-processed to map these
21         macros back to their Foundation equivalents.
22
23         Part of <rdar://problem/15512304>.
24
25         The OS X version used in the new availability macros is based on the mapping in
26         JavaScriptCore/WebKitAvailability.h.
27
28         Reviewed by Sam Weinig.
29
30         * Carbon/CarbonUtils.h:
31         * Carbon/HIWebView.h:
32         * MigrateHeaders.make: Migrate WebKitAvailability.h from WebCore as an API header.
33         * Plugins/WebPlugin.h:
34         * Plugins/WebPluginViewFactory.h:
35         * WebView/WebFrameLoadDelegate.h:
36         * WebView/WebResourceLoadDelegatePrivate.h:
37         * WebView/WebUIDelegate.h:
38         * postprocess-headers.sh: Added. Extracted from the Xcode project. Extended to map the
39         WEBKIT-prefixed macros to their NS-prefixed equivalents on OS X and to remove them on iOS.
40
41 2014-01-04  Zan Dobersek  <zdobersek@igalia.com>
42
43         Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
44         https://bugs.webkit.org/show_bug.cgi?id=126439
45
46         Reviewed by Andreas Kling.
47
48         Instead of relying on std::pair and std::make_pair symbols being present in the current scope
49         through the pair and make_pair symbols, the std:: specifier should be used explicitly.
50
51         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
52         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
53         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
54         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
55         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
56         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
57
58 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
59
60         Remove WindowIsVisible
61         https://bugs.webkit.org/show_bug.cgi?id=126270
62
63         Reviewed by Tim Horton.
64
65         We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
66         The latter detects that the content is hidden in fewer cases than the former, and as such, the
67         former is always preferable.
68
69         This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
70         Plugin::windowVisibilityChanged.
71
72         * WebView/WebView.mm:
73         (-[WebView _windowWillOrderOnScreen:]):
74         (-[WebView _windowWillOrderOffScreen:]):
75             - rename ContainingWindowIsVisible -> ContentIsVisible.
76
77 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
78
79         Merge didMoveOnscreen / page visibility to isVisible
80         https://bugs.webkit.org/show_bug.cgi?id=126268
81
82         Reviewed by Tim Horton.
83
84         The onscreen state most closely tracks view visibility (though currently
85         also tracks a mix of in-window state). Make more consistent, simplify,
86         and move all animation suspension logic to Page, so it can be controlled
87         by the PageThrottler.
88
89         * WebView/WebView.mm:
90         (-[WebView _commonInitializationWithFrameName:groupName:]):
91         (-[WebView _updateVisibilityState]):
92             - _setVisibilityState:isInitialState: -> _setIsVisibile:isInitialState:.
93         (-[WebView _setIsVisible:isInitialState:]):
94             - added.
95         (-[WebView _setVisibilityState:isInitialState:]):
96             - setVisibilityState -> setIsVisible/setIsPrerender.
97         (-[WebView viewWillMoveToWindow:]):
98         (-[WebView viewDidMoveToWindow]):
99             - remove redundant calls to willMoveOffscreen/didMoveOnscreen
100               (this is handled by _updateVisibilityState).
101
102 2013-12-23  Oliver Hunt  <oliver@apple.com>
103
104         Refactor PutPropertySlot to be aware of custom properties
105         https://bugs.webkit.org/show_bug.cgi?id=126187
106
107         Reviewed by Antti Koivisto.
108
109         Update for new method signatures.
110
111         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
112         (WebKit::NetscapePluginInstanceProxy::setProperty):
113
114 2013-12-31  Andy Estes  <aestes@apple.com>
115
116         [iOS] Upstream PLATFORM(IOS) changes to Source/WebKit/
117         https://bugs.webkit.org/show_bug.cgi?id=125746
118
119         Reviewed by David Kilzer.
120
121         This is a straight upstreaming of the various PLATFORM(IOS) changes
122         made to Source/WebKit/ with the following modifications:
123
124         - Includes of <Cocoa/Cocoa.h> were generally replaced with an include
125         of <Foundation/Foundation.h> followed by an include of
126         <AppKit/AppKit.h> on non-iOS platforms. This assumes that nobody was
127         relying on <Cocoa/Cocoa.h>'s inclusion of <CoreData/CoreData.h>.
128
129         - Includes of <Cocoa/Cocoa.h> and <Foundation/Foundation.h> were
130         removed from files that include WebKitPrefix.h.
131
132         - Instances of 'iPhone (OS)' in comments were replaced with 'iOS', and
133         other sensitive terms were elided.
134
135         - Various PLATFORM(IOS) blocks were simplified. For instance:
136
137             #if !PLATFORM(IOS)
138             ...
139             #endif
140             #if PLATFORM(IOS)
141             ...
142             #endif
143
144         Was simplified to:
145
146             #if !PLATFORM(IOS)
147             ...
148             #else
149             ...
150             #endif
151
152         * Configurations/Base.xcconfig:
153         * Configurations/DebugRelease.xcconfig:
154         * Configurations/Version.xcconfig:
155         * Configurations/WebKit.xcconfig:
156         * Configurations/iOS.xcconfig: Added.
157         * DOM/WebDOMOperations.mm:
158         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
159         * DefaultDelegates/WebDefaultEditingDelegate.m:
160         * DefaultDelegates/WebDefaultPolicyDelegate.m:
161         * DefaultDelegates/WebDefaultUIDelegate.h:
162         * DefaultDelegates/WebDefaultUIDelegate.m:
163         * History/WebBackForwardList.mm:
164         * History/WebHistory.mm:
165         * History/WebHistoryItem.mm:
166         * History/WebURLsWithTitles.m:
167         * Misc/WebCache.mm:
168         * Misc/WebDownload.mm:
169         * Misc/WebElementDictionary.mm:
170         * Misc/WebIconDatabase.mm:
171         * Misc/WebIconDatabaseInternal.h:
172         * Misc/WebKitNSStringExtras.mm:
173         * Misc/WebKitSystemBits.m:
174         * Misc/WebKitVersionChecks.h:
175         * Misc/WebKitVersionChecks.m:
176         * Misc/WebLocalizableStrings.mm:
177         * Misc/WebNSArrayExtras.h:
178         * Misc/WebNSArrayExtras.m:
179         * Misc/WebNSControlExtras.h:
180         * Misc/WebNSControlExtras.m:
181         * Misc/WebNSDictionaryExtras.h:
182         * Misc/WebNSDictionaryExtras.m:
183         * Misc/WebNSEventExtras.m:
184         * Misc/WebNSFileManagerExtras.mm:
185         * Misc/WebNSImageExtras.h:
186         * Misc/WebNSImageExtras.m:
187         * Misc/WebNSPasteboardExtras.mm:
188         * Misc/WebNSPrintOperationExtras.h:
189         * Misc/WebNSPrintOperationExtras.m:
190         * Misc/WebNSURLExtras.mm:
191         * Misc/WebNSViewExtras.m:
192         * Misc/WebNSWindowExtras.m:
193         * Panels/WebAuthenticationPanel.h:
194         * Panels/WebAuthenticationPanel.m:
195         * Panels/WebPanelAuthenticationHandler.m:
196         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
197         * Plugins/WebBasePluginPackage.h:
198         * Plugins/WebBasePluginPackage.mm:
199         * Plugins/WebJavaPlugIn.h:
200         * Plugins/WebPluginContainerCheck.mm:
201         * Plugins/WebPluginController.h:
202         * Plugins/WebPluginController.mm:
203         * Plugins/WebPluginDatabase.mm:
204         * Plugins/WebPluginPackage.mm:
205         * Plugins/WebPluginsPrivate.m:
206         * Storage/WebDatabaseManager.mm:
207         * Storage/WebDatabaseManagerClient.h:
208         * Storage/WebDatabaseManagerClient.mm:
209         * Storage/WebDatabaseManagerInternal.h: Added.
210         * Storage/WebStorageManager.mm:
211         * WebCoreSupport/CorrectionPanel.h:
212         * WebCoreSupport/WebAlternativeTextClient.h:
213         * WebCoreSupport/WebApplicationCache.mm:
214         * WebCoreSupport/WebChromeClient.h:
215         * WebCoreSupport/WebChromeClient.mm:
216         * WebCoreSupport/WebContextMenuClient.mm:
217         * WebCoreSupport/WebEditorClient.h:
218         * WebCoreSupport/WebEditorClient.mm:
219         * WebCoreSupport/WebFrameLoaderClient.h:
220         * WebCoreSupport/WebFrameLoaderClient.mm:
221         * WebCoreSupport/WebFrameNetworkingContext.h:
222         * WebCoreSupport/WebFrameNetworkingContext.mm:
223         * WebCoreSupport/WebGeolocationClient.h:
224         * WebCoreSupport/WebGeolocationClient.mm:
225         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
226         * WebCoreSupport/WebKeyGenerator.mm:
227         * WebCoreSupport/WebNotificationClient.mm:
228         * WebCoreSupport/WebOpenPanelResultListener.mm:
229         * WebCoreSupport/WebSecurityOrigin.mm:
230         * WebCoreSupport/WebSystemInterface.mm:
231         * WebKitPrefix.h:
232         * WebView/WebArchive.mm:
233         * WebView/WebClipView.h:
234         * WebView/WebDataSource.mm:
235         * WebView/WebDelegateImplementationCaching.h:
236         * WebView/WebDelegateImplementationCaching.mm:
237         * WebView/WebDeviceOrientation.mm:
238         * WebView/WebDocumentInternal.h:
239         * WebView/WebDocumentLoaderMac.mm:
240         * WebView/WebDynamicScrollBarsViewInternal.h:
241         * WebView/WebFormDelegate.m:
242         * WebView/WebFrame.mm:
243         * WebView/WebFrameInternal.h:
244         * WebView/WebFrameView.mm:
245         * WebView/WebFullScreenController.h:
246         * WebView/WebFullScreenController.mm:
247         * WebView/WebHTMLRepresentation.mm:
248         * WebView/WebHTMLView.mm:
249         * WebView/WebHTMLViewInternal.h:
250         * WebView/WebPDFDocumentExtras.h:
251         * WebView/WebPDFDocumentExtras.mm:
252         * WebView/WebPDFRepresentation.h:
253         * WebView/WebPDFRepresentation.mm:
254         * WebView/WebPDFView.h:
255         * WebView/WebPDFView.mm:
256         * WebView/WebPreferences.mm:
257         * WebView/WebResource.mm:
258         * WebView/WebTextCompletionController.h:
259         * WebView/WebTextIterator.mm:
260         * WebView/WebView.mm:
261         * WebView/WebViewData.h:
262         * WebView/WebViewData.mm:
263         * WebView/WebViewInternal.h:
264
265 2013-12-25  Commit Queue  <commit-queue@webkit.org>
266
267         Unreviewed, rolling out r161033 and r161074.
268         http://trac.webkit.org/changeset/161033
269         http://trac.webkit.org/changeset/161074
270         https://bugs.webkit.org/show_bug.cgi?id=126240
271
272         Oliver says that a rollout would be better (Requested by ap on
273         #webkit).
274
275         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
276         (WebKit::NetscapePluginInstanceProxy::setProperty):
277
278 2013-12-23  Oliver Hunt  <oliver@apple.com>
279
280         Refactor PutPropertySlot to be aware of custom properties
281         https://bugs.webkit.org/show_bug.cgi?id=126187
282
283         Reviewed by msaboff.
284
285         Update for new method signatures.
286
287         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
288         (WebKit::NetscapePluginInstanceProxy::setProperty):
289
290 2013-12-23  Lucas Forschler  <lforschler@apple.com>
291
292         <rdar://problem/15682948> Update copyright strings
293
294         Reviewed by Dan Bernstein.
295
296         * Info.plist:
297
298 2013-12-19  Andy Estes  <aestes@apple.com>
299
300         Remove WebFilterEvaluator wrappers from WebKitSystemInterface
301         https://bugs.webkit.org/show_bug.cgi?id=126028
302
303         Reviewed by Anders Carlsson.
304
305         * WebCoreSupport/WebSystemInterface.mm:
306         (InitWebCoreSystemInterface): Don't INIT() removed function pointers.
307
308 2013-12-17  Gavin Barraclough  <barraclough@apple.com>
309
310         Remove PageVisibilityStateUnloaded
311         https://bugs.webkit.org/show_bug.cgi?id=125869
312
313         Reviewed by Anders Carlsson.
314
315         This is not currently supported by WebKit, remove this enum value.
316         We can always add this back later if/when we add support for this state.
317
318         * WebView/WebView.mm:
319         (core):
320         (kit):
321         * WebView/WebViewPrivate.h:
322             - removed PageVisibilityStateUnloaded/WebPageVisibilityStateUnloade
323
324 2013-12-14  Andy Estes  <aestes@apple.com>
325
326         [iOS] Upstream changes to WebKit Public and Private headers
327         https://bugs.webkit.org/show_bug.cgi?id=125745
328
329         Reviewed by Dan Bernstein.
330
331         * Configurations/WebKit.xcconfig: Ignore headers that are completely
332         excluded on iOS. This prevents empty headers from being installed into
333         the iOS SDK.
334         * DOM/WebDOMOperationsPrivate.h: Upstream iOS changes.
335         * History/WebBackForwardListPrivate.h: Ditto.
336         * History/WebHistoryItem.h: Ditto.
337         * History/WebHistoryItemPrivate.h: Ditto.
338         * Misc/WebCache.h: Ditto.
339         * Misc/WebIconDatabase.h: Ditto.
340         * Misc/WebIconDatabasePrivate.h: Ditto.
341         * Misc/WebKitNSStringExtras.h: Ditto.
342         * Misc/WebLocalizableStrings.h: Ditto.
343         * Misc/WebNSEventExtras.h: Ditto.
344         * Misc/WebNSFileManagerExtras.h: Ditto.
345         * Misc/WebNSPasteboardExtras.h: Ditto.
346         * Misc/WebNSURLExtras.h: Ditto.
347         * Misc/WebNSViewExtras.h: Ditto.
348         * Misc/WebNSWindowExtras.h: Ditto.
349         * Panels/WebPanelAuthenticationHandler.h: Ditto.
350         * Plugins/WebPlugin.h: Ditto.
351         * Plugins/WebPluginContainer.h: Ditto.
352         * Plugins/WebPluginContainerPrivate.h: Ditto.
353         * Plugins/WebPluginDatabase.h: Ditto.
354         * Plugins/WebPluginPrivate.h: Ditto.
355         * Plugins/WebPluginViewFactory.h: Ditto.
356         * Plugins/WebPluginsPrivate.h: Ditto.
357         * Storage/WebDatabaseManagerPrivate.h: Ditto.
358         * WebCoreSupport/WebApplicationCache.h: Ditto.
359         * WebCoreSupport/WebJavaScriptTextInputPanel.h: Ditto.
360         * WebCoreSupport/WebKeyGenerator.h: Ditto.
361         * WebCoreSupport/WebSecurityOriginPrivate.h: Ditto.
362         * WebView/WebDashboardRegion.h: Ditto.
363         * WebView/WebDataSource.h: Ditto.
364         * WebView/WebDataSourcePrivate.h: Ditto.
365         * WebView/WebDocument.h: Ditto.
366         * WebView/WebDocumentPrivate.h: Ditto.
367         * WebView/WebDynamicScrollBarsView.h: Ditto.
368         * WebView/WebEditingDelegate.h: Ditto.
369         * WebView/WebEditingDelegatePrivate.h: Ditto.
370         * WebView/WebFormDelegate.h: Ditto.
371         * WebView/WebFrameLoadDelegate.h: Ditto.
372         * WebView/WebFramePrivate.h: Ditto.
373         * WebView/WebFrameView.h: Ditto.
374         * WebView/WebFrameViewPrivate.h: Ditto.
375         * WebView/WebHTMLRepresentation.h: Ditto.
376         * WebView/WebHTMLView.h: Ditto.
377         * WebView/WebHTMLViewPrivate.h: Ditto.
378         * WebView/WebPolicyDelegate.h: Ditto.
379         * WebView/WebPreferenceKeysPrivate.h: Ditto.
380         * WebView/WebPreferences.h: Ditto.
381         * WebView/WebPreferencesPrivate.h: Ditto.
382         * WebView/WebRenderLayer.h: Ditto.
383         * WebView/WebResourceLoadDelegatePrivate.h: Ditto.
384         * WebView/WebResourcePrivate.h: Ditto.
385         * WebView/WebUIDelegate.h: Ditto.
386         * WebView/WebUIDelegatePrivate.h: Ditto.
387         * WebView/WebView.h: Ditto.
388         * WebView/WebViewPrivate.h: Ditto.
389
390 2013-12-15  Andy Estes  <aestes@apple.com>
391
392         [iOS] Upstream changes to FeatureDefines.xcconfig
393         https://bugs.webkit.org/show_bug.cgi?id=125742
394
395         Reviewed by Dan Bernstein.
396
397         * Configurations/FeatureDefines.xcconfig:
398
399 2013-12-14  Andy Estes  <aestes@apple.com>
400
401         Unify FeatureDefines.xcconfig
402         https://bugs.webkit.org/show_bug.cgi?id=125741
403
404         Rubber-stamped by Dan Bernstein.
405
406         * Configurations/FeatureDefines.xcconfig: Remove a stray space in
407         FEATURE_DEFINES.
408
409 2013-12-11  Joseph Pecoraro  <pecoraro@apple.com>
410
411         Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
412         https://bugs.webkit.org/show_bug.cgi?id=125324
413
414         Reviewed by Timothy Hatcher.
415
416         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
417         * WebCoreSupport/WebInspectorClient.mm:
418         * WebView/WebFrame.mm:
419         * WebView/WebView.mm:
420
421 2013-12-03  Mark Rowe  <mrowe@apple.com>
422
423         <https://webkit.org/b/125139> Modernize the WebKit API headers
424         <rdar://problem/15540175>
425
426         This consists of three main changes:
427         1) Converting the return type of initializer methods to instancetype.
428         2) Declaring properties rather than getters and setters.
429         3) Declaring explicitly sized enums.
430
431         Changing the declarations from getters and setters to properties also required
432         updating the headerdoc in a number of places.
433
434         Reviewed by Anders Carlsson.
435
436         * DOM/WebDOMOperations.h:
437         * History/WebBackForwardList.h:
438         * History/WebHistory.h:
439         * History/WebHistoryItem.h:
440         * History/WebHistoryItem.mm:
441         * Plugins/WebPlugin.h:
442         * Plugins/WebPluginContainer.h:
443         * WebView/WebArchive.h:
444         * WebView/WebArchive.mm:
445         * WebView/WebDataSource.h:
446         * WebView/WebDataSource.mm:
447         * WebView/WebEditingDelegate.h:
448         * WebView/WebFrame.h:
449         * WebView/WebFrame.mm:
450         * WebView/WebFrameView.h:
451         * WebView/WebPolicyDelegate.h:
452         * WebView/WebPreferences.h:
453         * WebView/WebPreferences.mm:
454         (-[WebPreferences cacheModel]): Cast to the enum.
455         * WebView/WebResource.h:
456         * WebView/WebResource.mm:
457         * WebView/WebUIDelegate.h:
458         * WebView/WebView.h:
459         * WebView/WebView.mm:
460         (+[WebView _didSetCacheModel]): Fix the return type.
461
462 2013-12-10  Mark Rowe  <mrowe@apple.com>
463
464         <http://webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly
465         <rdar://problem/15634192>
466
467         Reviewed by Dan Bernstein.
468
469         * WebView/WebView.mm:
470         (createUserVisibleWebKitVersionString): Strip as many leading digits as is necessary to
471         bring the major component of the version down to 3 digits.
472
473 2013-12-09  Sam Weinig  <sam@webkit.org>
474
475         Fix the build of projects including <WebKit/WebUIDelegatePrivate.h>
476
477         Rubber-stamped by Dan Bernstein.
478
479         * WebView/WebAllowDenyPolicyListener.h:
480         Use TARGET_OS_IPHONE rather than PLATFORM(IOS) in an exposed header.
481
482 2013-12-05  Jer Noble  <jer.noble@apple.com>
483
484         [MSE] Add a runtime-setting for the MediaSource constructor.
485         https://bugs.webkit.org/show_bug.cgi?id=125336
486
487         Reviewed by Eric Carlson.
488
489         Add a private WebPreference which controls the WebCore mediaSourceEnabled setting.
490
491         * WebView/WebPreferenceKeysPrivate.h:
492         * WebView/WebPreferences.mm:
493         (+[WebPreferences initialize]):
494         (-[WebPreferences mediaSourceEnabled]):
495         (-[WebPreferences setMediaSourceEnabled:]):
496         * WebView/WebPreferencesPrivate.h:
497         * WebView/WebView.mm:
498         (-[WebView _preferencesChanged:]):
499
500 2013-12-05  Mark Lam  <mark.lam@apple.com>
501
502         C Loop LLINT layout test regressions.
503         https://bugs.webkit.org/show_bug.cgi?id=125314.
504
505         Reviewed by Geoffrey Garen.
506
507         The regression was due to the ENABLE_LLINT_C_LOOP flag not being included
508         in the build of the WebKit and WebKit2 components. As a result, some fields
509         in JSC::VM were ifdef'ed out in WebCore and JSC, but not in WebKit and
510         WebKit2. This resulted in VM::m_initializingObjectClass having 2 different
511         offsets depending on whether it is accessed from WebCore and JSC or from
512         WebKit and WebKit2, and chaos ensued.
513
514         This issue will manifest when we pass --cloop to build-webkit.
515         The fix is simply to add ENABLE_LLINT_C_LOOP to FEATURE_DEFINES for WebKit
516         and WebKit2.
517
518         * Configurations/FeatureDefines.xcconfig:
519
520 2013-12-04  Brian J. Burg  <burg@cs.washington.edu>
521
522         Consolidate various frame snapshot capabilities.
523         https://bugs.webkit.org/show_bug.cgi?id=124325
524
525         Reviewed by Darin Adler.
526
527         Use new platform-independent methods instead of Mac methods.
528
529         * WebView/WebHTMLView.mm:
530         (-[WebHTMLView _selectionDraggingImage]):
531         (-[WebHTMLView selectionImageForcingBlackText:]):
532
533 2013-12-04  Andy Estes  <aestes@apple.com>
534
535         [iOS] Build projects with $(ARCHS_STANDARD_32_64_BIT)
536         https://bugs.webkit.org/show_bug.cgi?id=125236
537
538         Reviewed by Sam Weinig.
539
540         $(ARCHS_STANDARD_32_64_BIT) is what we want for both device and simulator builds.
541
542         * Configurations/DebugRelease.xcconfig:
543
544 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
545
546         Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
547         https://bugs.webkit.org/show_bug.cgi?id=124613
548
549         Reviewed by Timothy Hatcher.
550
551         Remove the old ENABLE(REMOTE_INSPECTOR) connection management implementation.
552
553         * WebCoreSupport/WebInspectorClient.h:
554         * WebCoreSupport/WebInspectorClient.mm:
555         (WebInspectorClient::indicate):
556         (WebInspectorClient::hideIndicate):
557         Hook up WebView indication through this new path.
558
559         * WebCoreSupport/WebFrameLoaderClient.mm:
560         (WebFrameLoaderClient::dispatchDidReceiveTitle):
561         * WebCoreSupport/WebInspectorClient.h:
562         * WebCoreSupport/WebInspectorClient.mm:
563         (WebInspectorClient::WebInspectorClient):
564         (WebInspectorClient::inspectorDestroyed):
565         * WebInspector/remote/WebInspectorClientRegistry.h: Removed.
566         * WebInspector/remote/WebInspectorClientRegistry.mm: Removed.
567         * WebInspector/remote/WebInspectorRelayDefinitions.h: Removed.
568         * WebInspector/remote/WebInspectorRemoteChannel.h: Removed.
569         * WebInspector/remote/WebInspectorRemoteChannel.mm: Removed.
570         * WebInspector/remote/WebInspectorServer.h: Removed.
571         * WebInspector/remote/WebInspectorServer.mm: Removed.
572         * WebInspector/remote/WebInspectorServerWebViewConnection.h: Removed.
573         * WebInspector/remote/WebInspectorServerWebViewConnection.mm: Removed.
574         * WebInspector/remote/WebInspectorServerWebViewConnectionController.h: Removed.
575         * WebInspector/remote/WebInspectorServerWebViewConnectionController.mm: Removed.
576         * WebInspector/remote/WebInspectorXPCWrapper.h: Removed.
577         * WebInspector/remote/WebInspectorXPCWrapper.m: Removed.
578         * WebKit.exp:
579         * WebView/WebView.mm:
580         (-[WebView _commonInitializationWithFrameName:groupName:]):
581         (+[WebView _enableRemoteInspector]):
582         (+[WebView _disableRemoteInspector]):
583         (+[WebView _disableAutoStartRemoteInspector]):
584         (+[WebView _isRemoteInspectorEnabled]):
585         (+[WebView _hasRemoteInspectorSession]):
586         (-[WebView allowsRemoteInspection]):
587         (-[WebView setAllowsRemoteInspection:]):
588         (-[WebView setIndicatingForRemoteInspector:]):
589         (-[WebView setHostApplicationBundleId:name:]):
590         (-[WebView _didCommitLoadForFrame:]):
591         * WebView/WebViewData.h:
592         * WebView/WebViewData.mm:
593         (-[WebViewPrivate init]):
594         (-[WebViewPrivate dealloc]):
595         * WebView/WebViewInternal.h:
596         * WebView/WebViewPrivate.h:
597         Remove old REMOTE_INSPECTOR.
598
599 2013-12-02  Chris Fleizach  <cfleizach@apple.com>
600
601         AX: Crash in accessibilityRoot when Document goes away
602         https://bugs.webkit.org/show_bug.cgi?id=125113
603
604         Reviewed by Tim Horton.
605
606         The AXObjectCache can sometimes be null if the render tree has been detached from the document.
607
608         * WebView/WebFrame.mm:
609         (-[WebFrame accessibilityRoot]):
610
611 2013-11-28  Antti Koivisto  <antti@apple.com>
612
613         Remove feature: CSS variables
614         https://bugs.webkit.org/show_bug.cgi?id=114119
615
616         Reviewed by Andreas Kling.
617
618         * Configurations/FeatureDefines.xcconfig:
619
620 2013-11-27  Sam Weinig  <sam@webkit.org>
621
622         Fix the iOS build.
623
624         * WebView/WebAllowDenyPolicyListener.h: Added.
625         * WebView/WebUIDelegatePrivate.h:
626         Move the WebAllowDenyPolicyListener protocol to its own file.
627
628 2013-11-21  Mark Rowe  <mrowe@apple.com>
629
630         <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
631
632         All modern versions of Xcode set it appropriately for our needs.
633
634         Reviewed by Alexey Proskuryakov.
635
636         * Configurations/Base.xcconfig:
637
638 2013-11-21  Mark Rowe  <mrowe@apple.com>
639
640         <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
641
642         Reviewed by Alexey Proskuryakov.
643
644         * Configurations/Base.xcconfig:
645
646 2013-11-21  Mark Rowe  <mrowe@apple.com>
647
648         <https://webkit.org/b/124700> Fix some deprecation warnings.
649
650         Reviewed by Anders Carlsson.
651
652         * Plugins/WebNetscapePluginStream.mm:
653         (WebNetscapePluginStream::startStream): Move off a deprecated NSData method.
654         * WebView/WebDataSource.mm:
655         (-[WebDataSource _fileWrapperForURL:]): Move off a deprecated NSFileWrapper method.
656         * WebView/WebHTMLView.mm:
657         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
658
659 2013-11-20  Mark Lam  <mark.lam@apple.com>
660
661         Introducing VMEntryScope to update the VM stack limit.
662         https://bugs.webkit.org/show_bug.cgi?id=124634.
663
664         Reviewed by Geoffrey Garen.
665
666         * WebView/WebScriptDebugger.mm:
667         (WebScriptDebugger::sourceParsed):
668
669 2013-11-19  Ryosuke Niwa  <rniwa@webkit.org>
670
671         Enable HTMLTemplateElement on Mac port
672         https://bugs.webkit.org/show_bug.cgi?id=124637
673
674         Reviewed by Tim Horton.
675
676         * Configurations/FeatureDefines.xcconfig:
677
678 2013-11-18  Commit Queue  <commit-queue@webkit.org>
679
680         Unreviewed, rolling out r159455.
681         http://trac.webkit.org/changeset/159455
682         https://bugs.webkit.org/show_bug.cgi?id=124568
683
684         broke two api tests (see bug 124564) (Requested by thorton on
685         #webkit).
686
687         * WebView/WebHTMLView.mm:
688         (-[WebHTMLView _selectionDraggingImage]):
689         (-[WebHTMLView selectionImageForcingBlackText:]):
690
691 2013-11-18  Mark Rowe  <mrowe@apple.com>
692
693         Disable deprecation warnings related to NSCalendarDate in WebHistory.
694
695         Reviewed by Anders Carlsson.
696
697         * History/WebHistory.h: Use a #pragma to have the compiler treat this header as
698         a system header, even when not included from a system location. This has the effect
699         of suppressing warnings when including this header. It's a more general effect than
700         we're after but is also less invasive than disabling deprecation warnings around
701         the APIs that are defined in terms of NSCalendarDate. We'll hopefully revisit this
702         in the future.
703         * History/WebHistory.mm: Disable deprecation warnings around uses of NSCalendarDate.
704
705 2013-11-18  David Hyatt  <hyatt@apple.com>
706
707         Add a quirk to not respect center text-align when positioning
708
709         <rdar://problem/15427571>
710         https://bugs.webkit.org/show_bug.cgi?id=124522
711
712         Reviewed by Simon Fraser.
713
714         Added fast/block/legacy-text-align-position-quirk.html
715
716         * WebView/WebPreferenceKeysPrivate.h:
717         * WebView/WebPreferences.mm:
718         (+[WebPreferences initialize]):
719         (-[WebPreferences useLegacyTextAlignPositionedElementBehavior]):
720         (-[WebPreferences setUseLegacyTextAlignPositionedElementBehavior:]):
721         * WebView/WebPreferencesPrivate.h:
722         * WebView/WebView.mm:
723         (-[WebView _preferencesChanged:]):
724
725 2013-11-18  Brian J. Burg  <burg@cs.washington.edu>
726
727         Consolidate various frame snapshot capabilities.
728         https://bugs.webkit.org/show_bug.cgi?id=124325
729
730         Reviewed by Timothy Hatcher.
731
732         Use new platform-independent methods instead of Mac methods.
733
734         * WebView/WebHTMLView.mm:
735         (-[WebHTMLView _selectionDraggingImage]):
736         (-[WebHTMLView selectionImageForcingBlackText:]):
737
738 2013-11-18  Anders Carlsson  <andersca@apple.com>
739
740         Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
741         https://bugs.webkit.org/show_bug.cgi?id=124523
742
743         Reviewed by Dan Bernstein.
744
745         * Plugins/Hosted/NetscapePluginHostManager.mm:
746         (WebKit::NetscapePluginHostManager::spawnPluginHost):
747         (WebKit::NetscapePluginHostManager::didCreateWindow):
748         * Plugins/Hosted/NetscapePluginHostProxy.mm:
749         (WebKit::NetscapePluginHostProxy::makeCurrentProcessFrontProcess):
750         (WebKit::NetscapePluginHostProxy::makePluginHostProcessFrontProcess):
751         (WebKit::NetscapePluginHostProxy::isPluginHostProcessFrontProcess):
752
753 2013-11-18  Anders Carlsson  <andersca@apple.com>
754
755         Ignore deprecation warnings for now.
756
757         * History/WebHistory.h:
758
759 2013-11-14  Anders Carlsson  <andersca@apple.com>
760
761         Reimplement getDayBoundaries using NSCalendar on 10.9
762         https://bugs.webkit.org/show_bug.cgi?id=124379
763
764         Reviewed by Dan Bernstein.
765
766         * History/WebHistory.mm:
767         (getDayBoundaries):
768
769 2013-11-14  Anders Carlsson  <andersca@apple.com>
770
771         Stop using deprecated NSPropertyListSerialization methods
772         https://bugs.webkit.org/show_bug.cgi?id=124377
773
774         Reviewed by Mark Rowe.
775
776         * History/WebHistory.mm:
777         (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
778         * Plugins/Hosted/NetscapePluginHostManager.mm:
779         (WebKit::NetscapePluginHostManager::spawnPluginHost):
780         (WebKit::NetscapePluginHostManager::instantiatePlugin):
781         * Plugins/Hosted/NetscapePluginHostProxy.mm:
782         (WKPCIdentifierInfo):
783         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
784         (WebKit::NetscapePluginInstanceProxy::enumerate):
785         (WebKit::NetscapePluginInstanceProxy::marshalValue):
786         (WebKit::NetscapePluginInstanceProxy::marshalValues):
787         (WebKit::NetscapePluginInstanceProxy::demarshalValue):
788         (WebKit::NetscapePluginInstanceProxy::demarshalValues):
789         * Plugins/Hosted/ProxyInstance.mm:
790         (WebKit::ProxyInstance::getPropertyNames):
791
792 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
793
794         Unreviewed rollout of r159271, broke Mountain Lion build.
795
796         * History/WebHistory.h:
797         * History/WebHistory.mm:
798
799 2013-11-13  Anders Carlsson  <andersca@apple.com>
800
801         Deprecate WebHistory methods that use NSCalendarDate
802         https://bugs.webkit.org/show_bug.cgi?id=124329
803         <rdar://problem/15441122>
804
805         Reviewed by Mark Rowe.
806
807         * History/WebHistory.h:
808         Add NS_DEPRECATED_MAC to orderedLastVisitedDays and orderedItemsLastVisitedOnDay:.
809         In order to not break the Mountain Lion build, define __NSd_10_9 if necessary.
810         
811         * History/WebHistory.mm:
812         Ignore deprecation warnings in methods where NSCalendarDate is used.
813
814 2013-11-13  Gordon Sheridan  <gordon_sheridan@apple.com>
815
816         Removed deprecated download delegates.
817         https://bugs.webkit.org/show_bug.cgi?id=124309
818         <rdar://problem/13570414>
819
820         Reviewed by Anders Carlsson.
821
822         * Misc/WebDownload.mm:
823         (-[WebDownloadInternal respondsToSelector:]):
824         Removed download:shouldBeginChildDownloadOfSource:delegate and
825         download:didBeginChildDownload.
826
827 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
828
829         Disable WebCrypto on Mountain Lion
830         https://bugs.webkit.org/show_bug.cgi?id=124261
831
832         Rubber-stamped by Sam Weinig.
833
834         * Configurations/FeatureDefines.xcconfig:
835
836 2013-11-12  Andy Estes  <aestes@apple.com>
837
838         [Mac] Fix some deprecation warnings
839         https://bugs.webkit.org/show_bug.cgi?id=124252
840
841         Reviewed by Mark Rowe.
842
843         * Plugins/WebBasePluginPackage.mm:
844         (-[WebBasePluginPackage pListForPath:createFile:]): Use +[NSPropertyListSerialization propertyListWithData:options:format:error:] instead of +[NSPropertyListSerialization propertyListFromData:mutabilityOption:format:errorDescription:].
845
846 2013-11-12  Anders Carlsson  <andersca@apple.com>
847
848         Remove -[WebHistoryItem _lastVisitedDate]
849         https://bugs.webkit.org/show_bug.cgi?id=124250
850
851         Reviewed by Mark Rowe.
852
853         This method is not called by anyone and NSCalendarDate is deprecated so get rid of it.
854
855         * History/WebHistoryItem.mm:
856         * History/WebHistoryItemPrivate.h:
857
858 2013-11-11  Anders Carlsson  <andersca@apple.com>
859
860         FrameFilter can just be an std::function instead
861         https://bugs.webkit.org/show_bug.cgi?id=124176
862
863         Reviewed by Tim Horton.
864
865         * DOM/WebDOMOperations.mm:
866         (-[DOMNode webArchiveByFilteringSubframes:]):
867
868 2013-11-11  Dan Bernstein  <mitz@apple.com>
869
870         [Mac] .exp files are not source code
871         https://bugs.webkit.org/show_bug.cgi?id=124154
872
873         Reviewed by Andy Estes.
874
875         * Configurations/WebKit.xcconfig: Removed WebKit.iOS.exp from
876         EXCLUDED_SOURCE_FILE_NAMES_macosx.
877
878 2013-11-09  Patrick Gansterer  <paroga@webkit.org>
879
880         Move RunLoop from WebCore to WTF
881         https://bugs.webkit.org/show_bug.cgi?id=116606
882
883         Reviewed by Anders Carlsson.
884
885         * Carbon/CarbonWindowAdapter.mm:
886         (+[CarbonWindowAdapter initialize]):
887         * History/WebBackForwardList.mm:
888         (+[WebBackForwardList initialize]):
889         * History/WebHistoryItem.mm:
890         (+[WebHistoryItem initialize]):
891         * Misc/WebCache.mm:
892         (+[WebCache initialize]):
893         * Misc/WebElementDictionary.mm:
894         (+[WebElementDictionary initialize]):
895         * Misc/WebIconDatabase.mm:
896         (+[WebIconDatabase initialize]):
897         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
898         (+[WebHostedNetscapePluginView initialize]):
899         * Plugins/WebBaseNetscapePluginView.mm:
900         * Plugins/WebBasePluginPackage.mm:
901         * Plugins/WebNetscapePluginView.mm:
902         (+[WebNetscapePluginView initialize]):
903         * WebCoreSupport/WebEditorClient.mm:
904         (+[WebUndoStep initialize]):
905         * WebCoreSupport/WebFrameLoaderClient.mm:
906         * WebView/WebArchive.mm:
907         (+[WebArchivePrivate initialize]):
908         * WebView/WebDataSource.mm:
909         (+[WebDataSource initialize]):
910         * WebView/WebHTMLView.mm:
911         (+[WebHTMLViewPrivate initialize]):
912         (+[WebHTMLView initialize]):
913         * WebView/WebPreferences.mm:
914         (+[WebPreferences initialize]):
915         * WebView/WebResource.mm:
916         (+[WebResourcePrivate initialize]):
917         * WebView/WebTextIterator.mm:
918         (+[WebTextIteratorPrivate initialize]):
919         * WebView/WebView.mm:
920         (+[WebView initialize]):
921         * WebView/WebViewData.mm:
922         (+[WebViewPrivate initialize]):
923
924 2013-11-08  Mark Lam  <mark.lam@apple.com>
925
926         Move breakpoint (and exception break) functionality into JSC::Debugger.
927         https://bugs.webkit.org/show_bug.cgi?id=121796.
928
929         Reviewed by Geoffrey Garen.
930
931         * WebView/WebScriptDebugger.h:
932         * WebView/WebScriptDebugger.mm:
933         (WebScriptDebugger::WebScriptDebugger):
934         (WebScriptDebugger::handlePause):
935
936 2013-11-07  Joseph Pecoraro  <pecoraro@apple.com>
937
938         Remove a PLATFORM(IOS) from WebKit Private Header
939         https://bugs.webkit.org/show_bug.cgi?id=124014
940
941         Reviewed by Timothy Hatcher.
942
943         Make the previously iOS only WebInspectorDidStartSearchingForNode
944         and WebInspectorDidStopSearchingForNode notifications non iOS specific.
945
946         * WebCoreSupport/WebInspectorClient.h:
947         * WebCoreSupport/WebInspectorClient.mm:
948         (WebInspectorClient::didSetSearchingForNode):
949         * WebInspector/WebInspector.h:
950         * WebInspector/WebInspector.mm:
951         * WebKit.exp:
952
953 2013-11-07  Mark Lam  <mark.lam@apple.com>
954
955         Cosmetic: rename xxxId to xxxID for ScriptId, SourceId, and BreakpointId.
956         https://bugs.webkit.org/show_bug.cgi?id=123945.
957
958         Reviewed by Geoffrey Garen.
959
960         * WebView/WebScriptDebugger.mm:
961         (WebScriptDebugger::exception):
962
963 2013-11-06  Daniel Bates  <dabates@apple.com>
964
965         [iOS] Upstream Letterpress effect
966         https://bugs.webkit.org/show_bug.cgi?id=123932
967
968         Reviewed by Sam Weinig.
969
970         Add feature define ENABLE_LETTERPRESS disabled by default. We only enable
971         letterpress on iOS.
972
973         * Configurations/FeatureDefines.xcconfig:
974
975 2013-11-04  Alexey Proskuryakov  <ap@apple.com>
976
977         DumpRenderTree should reset its preferences file on launch
978         https://bugs.webkit.org/show_bug.cgi?id=29751
979
980         Reviewed by Dan Bernstein.
981
982         * WebView/WebView.mm:
983         (-[WebView _retrieveKeyboardUIModeFromPreferences:]):
984         Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
985         domain meant that current application's domain was explcitly ignored, and the only
986         way to override the setting in DRT was through argument domain.
987
988 2013-11-01  Jer Noble  <jer.noble@apple.com>
989
990         [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
991         https://bugs.webkit.org/show_bug.cgi?id=123621
992
993         Reviewed by Eric Carlson.
994
995         Add a new isVideoPluginProxyEnabled setting.
996
997         * WebView/WebPreferenceKeysPrivate.h:
998         * WebView/WebPreferences.mm:
999         (+[WebPreferences initialize]): Set isVideoPluginProxyEnabled preference.
1000         (-[WebPreferences isVideoPluginProxyEnabled]): Pass through to Settings.
1001         * WebView/WebPreferencesPrivate.h:
1002         * WebView/WebView.mm:
1003         (-[WebView _preferencesChanged:]): Set isVideoPluginProxyEnabled preference.
1004
1005 2013-11-01  Andy Estes  <aestes@apple.com>
1006
1007         [iOS] Make some headers Private
1008         https://bugs.webkit.org/show_bug.cgi?id=123626
1009
1010         Reviewed by Andreas Kling.
1011
1012         * Configurations/WebKit.xcconfig: Exclude iOS Private headers from the Mac build.
1013
1014 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
1015
1016         Enable WebCrypto on Mac
1017         https://bugs.webkit.org/show_bug.cgi?id=123587
1018
1019         Reviewed by Anders Carlsson.
1020
1021         * Configurations/FeatureDefines.xcconfig: Do it.
1022
1023 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
1024
1025         Remove code for Mac Lion
1026         https://bugs.webkit.org/show_bug.cgi?id=123542
1027
1028         Reviewed by Anders Carlsson.
1029
1030         * WebView/WebHTMLView.mm:
1031         (-[WebHTMLView attachRootLayer:]):
1032         * WebView/WebView.mm:
1033
1034 2013-10-29  Andy Estes  <aestes@apple.com>
1035
1036         [iOS] Upstream Source/WebKit/ios/
1037         https://bugs.webkit.org/show_bug.cgi?id=123470
1038
1039         Reviewed by Sam Weinig.
1040
1041         * Configurations/WebKit.xcconfig: Excluded some iOS files from the Mac build.
1042
1043 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
1044
1045         Result of focus-option-control-on-page.html depends on system preferences
1046         https://bugs.webkit.org/show_bug.cgi?id=123304
1047
1048         Reviewed by Simon Fraser.
1049
1050         * WebView/WebView.mm: (-[WebView _retrieveKeyboardUIModeFromPreferences:]):
1051         Read the preference from its correct domain. This doesn't affect behavior in practice
1052         and isn't part of the fix, but it's a good opportunity to correct this code.
1053
1054 2013-10-29  Jer Noble  <jer.noble@apple.com>
1055
1056         [MSE] [Mac] Enable MediaSource on the Mac
1057         https://bugs.webkit.org/show_bug.cgi?id=122484
1058
1059         Reviewed by Darin Adler.
1060
1061         Enable ENABLE_MEDIA_SOURCE.
1062
1063         * Configurations/FeatureDefines.xcconfig:
1064
1065 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
1066
1067         Upstream remaining PLATFORM(IOS) and ENABLE(REMOTE_INSPECTOR) pieces
1068         https://bugs.webkit.org/show_bug.cgi?id=123411
1069
1070         Reviewed by Timothy Hatcher.
1071
1072         Upstream iOS node highlighting and view indication.
1073
1074         * WebCoreSupport/WebInspectorClient.h:
1075         * WebInspector/WebInspector.h:
1076         * WebInspector/WebInspector.mm:
1077         * WebInspector/WebNodeHighlight.h:
1078         * WebInspector/WebNodeHighlight.mm:
1079         (-[WebHighlightLayer initWithHighlightView:webView:]):
1080         (-[WebHighlightLayer layoutSublayers]):
1081         (-[WebHighlightLayer actionForKey:]):
1082         (-[WebNodeHighlight initWithTargetView:inspectorController:]):
1083         (-[WebNodeHighlight dealloc]):
1084         (-[WebNodeHighlight attach]):
1085         * WebInspector/WebNodeHighlightView.h:
1086         * WebInspector/WebNodeHighlightView.mm:
1087         (-[WebNodeHighlightView initWithWebNodeHighlight:]):
1088         (-[WebNodeHighlightView dealloc]):
1089         (-[WebNodeHighlightView _attach:numLayers:]):
1090         (findIntersectionOnLineBetweenPoints):
1091         (quadIntersection):
1092         (layerPathWithHole):
1093         (layerPath):
1094         (-[WebNodeHighlightView _layoutForNodeHighlight:parent:]):
1095         (-[WebNodeHighlightView _layoutForRectsHighlight:parent:]):
1096         (-[WebNodeHighlightView layoutSublayers:]):
1097         * WebInspector/WebNodeHighlighter.mm:
1098         (-[WebNodeHighlighter highlight]):
1099         * WebView/WebIndicateLayer.h: Added.
1100         * WebView/WebIndicateLayer.mm: Added.
1101         (-[WebIndicateLayer layoutSublayers]):
1102         (-[WebIndicateLayer actionForKey:]):
1103         * WebView/WebView.mm:
1104         (-[WebView setIndicatingForRemoteInspector:]):
1105         (-[WebView setHostApplicationBundleId:name:]):
1106         (-[WebView hostApplicationBundleId]):
1107         (-[WebView hostApplicationName]):
1108         * WebView/WebViewData.h:
1109         * WebView/WebViewData.mm:
1110         (-[WebViewPrivate dealloc]):
1111
1112 2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>
1113
1114         Parsing support for -webkit-text-decoration-skip: ink
1115         https://bugs.webkit.org/show_bug.cgi?id=123358
1116
1117         Reviewed by Dean Jackson.
1118
1119         Adding ENABLE(CSS3_TEXT_DECORATION)
1120
1121         * Configurations/FeatureDefines.xcconfig:
1122
1123 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
1124
1125         Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
1126         https://bugs.webkit.org/show_bug.cgi?id=123111
1127
1128         Reviewed by Timothy Hatcher.
1129
1130         The actual implementation at the WebCoreSupport/WebInspectorClient level
1131         is the same as INSPECTOR_SERVER. Give debuggable pages a pageIdentifer.
1132
1133         * Configurations/FeatureDefines.xcconfig:
1134         * Misc/WebKitLogging.h:
1135         Misc.
1136
1137         * WebCoreSupport/WebInspectorClient.h:
1138         (WebInspectorClient::pageId):
1139         (WebInspectorClient::setPageId):
1140         Give WebInspectorClient's a page identifier.
1141
1142         * WebCoreSupport/WebInspectorClient.mm:
1143         (WebInspectorClient::WebInspectorClient):
1144         (WebInspectorClient::inspectorDestroyed):
1145         (WebInspectorClient::sendMessageToFrontend):
1146         (WebInspectorClient::sendMessageToBackend):
1147         (WebInspectorClient::setupRemoteConnection):
1148         (WebInspectorClient::teardownRemoteConnection):
1149         (WebInspectorClient::hasLocalSession):
1150         (WebInspectorClient::canBeRemotelyInspected):
1151         (WebInspectorClient::inspectedWebView):
1152         A WebInspectorClient can be either local or remote. Add handling
1153         for remote connections.
1154
1155         * WebInspector/remote/WebInspectorClientRegistry.h: Added.
1156         * WebInspector/remote/WebInspectorClientRegistry.mm: Added.
1157         (+[WebInspectorClientRegistry sharedRegistry]):
1158         (-[WebInspectorClientRegistry init]):
1159         (-[WebInspectorClientRegistry _getNextAvailablePageId]):
1160         (-[WebInspectorClientRegistry registerClient:]):
1161         (-[WebInspectorClientRegistry unregisterClient:]):
1162         (-[WebInspectorClientRegistry clientForPageId:]):
1163         (-[WebInspectorClientRegistry inspectableWebViews]):
1164         Registry for all potentially debuggable pages. All WebInspectorClient instances.
1165
1166         * WebInspector/remote/WebInspectorRelayDefinitions.h: Added.
1167         Constants (message keys) shared between WebKit and the XPC process.
1168
1169         * WebInspector/remote/WebInspectorServer.h: Added.
1170         * WebInspector/remote/WebInspectorServer.mm: Added.
1171         (-[WebInspectorServer init]):
1172         (-[WebInspectorServer dealloc]):
1173         (-[WebInspectorServer start]):
1174         (-[WebInspectorServer stop]):
1175         (-[WebInspectorServer isEnabled]):
1176         (-[WebInspectorServer xpcConnection]):
1177         (-[WebInspectorServer setupXPCConnectionIfNeeded]):
1178         (-[WebInspectorServer pushListing]):
1179         (-[WebInspectorServer hasActiveDebugSession]):
1180         (-[WebInspectorServer setHasActiveDebugSession:]):
1181         (-[WebInspectorServer xpcConnection:receivedMessage:userInfo:]):
1182         (-[WebInspectorServer xpcConnectionFailed:]):
1183         (-[WebInspectorServer didRegisterClient:]):
1184         (-[WebInspectorServer didUnregisterClient:]):
1185         Singleton to start/stop remote inspection. Handles the connection to the XPC
1186         and hands off connections to the connection controller.
1187
1188         * WebInspector/remote/WebInspectorServerWebViewConnection.h: Added.
1189         * WebInspector/remote/WebInspectorServerWebViewConnection.mm: Added.
1190         (-[WebInspectorServerWebViewConnection initWithController:connectionIdentifier:destination:identifier:]):
1191         (-[WebInspectorServerWebViewConnection setupChannel]):
1192         (-[WebInspectorServerWebViewConnection dealloc]):
1193         (-[WebInspectorServerWebViewConnection connectionIdentifier]):
1194         (-[WebInspectorServerWebViewConnection identifier]):
1195         (-[WebInspectorServerWebViewConnection clearChannel]):
1196         (-[WebInspectorServerWebViewConnection sendMessageToFrontend:]):
1197         (-[WebInspectorServerWebViewConnection sendMessageToBackend:]):
1198         (-[WebInspectorServerWebViewConnection receivedData:]):
1199         (-[WebInspectorServerWebViewConnection receivedDidClose:]):
1200         An individual remote debug session connection.
1201
1202         * WebInspector/remote/WebInspectorServerWebViewConnectionController.h: Added.
1203         * WebInspector/remote/WebInspectorServerWebViewConnectionController.mm: Added.
1204         (-[WebInspectorServerWebViewConnectionController initWithServer:]):
1205         (-[WebInspectorServerWebViewConnectionController dealloc]):
1206         (-[WebInspectorServerWebViewConnectionController closeAllConnections]):
1207         (-[WebInspectorServerWebViewConnectionController _listingForWebView:pageId:registry:]):
1208         (-[WebInspectorServerWebViewConnectionController _pushListing:]):
1209         (-[WebInspectorServerWebViewConnectionController pushListing:]):
1210         (-[WebInspectorServerWebViewConnectionController pushListing]):
1211         (-[WebInspectorServerWebViewConnectionController _receivedSetup:]):
1212         (-[WebInspectorServerWebViewConnectionController _receivedData:]):
1213         (-[WebInspectorServerWebViewConnectionController _receivedDidClose:]):
1214         (-[WebInspectorServerWebViewConnectionController _receivedGetListing:]):
1215         (-[WebInspectorServerWebViewConnectionController _receivedIndicate:]):
1216         (-[WebInspectorServerWebViewConnectionController _receivedConnectionDied:]):
1217         (-[WebInspectorServerWebViewConnectionController receivedMessage:userInfo:]):
1218         (-[WebInspectorServerWebViewConnectionController connectionClosing:]):
1219         (-[WebInspectorServerWebViewConnectionController sendMessageToFrontend:userInfo:]):
1220         ConnectionController:
1221           - Holds all the current ongoing remote debug connections.
1222           - Simplifies multi-threaded work on iOS.
1223           - Dispatches incoming messages from the remote connection.
1224
1225         * WebInspector/remote/WebInspectorRemoteChannel.h: Added.
1226         * WebInspector/remote/WebInspectorRemoteChannel.mm: Added.
1227         (+[WebInspectorRemoteChannel createChannelForPageId:connection:]):
1228         (-[WebInspectorRemoteChannel initWithRemote:local:]):
1229         (-[WebInspectorRemoteChannel closeFromLocalSide]):
1230         (-[WebInspectorRemoteChannel closeFromRemoteSide]):
1231         (-[WebInspectorRemoteChannel sendMessageToFrontend:]):
1232         (-[WebInspectorRemoteChannel sendMessageToBackend:]):
1233         Thin interface between the remote connection and web inspector client.
1234         This simplifies breaking the connection from either side, e.g. the
1235         page closing, or the remote connection disconnecting.
1236
1237         * WebInspector/remote/WebInspectorXPCWrapper.h: Added.
1238         * WebInspector/remote/WebInspectorXPCWrapper.m: Added.
1239         (-[WebInspectorXPCWrapper initWithConnection:]):
1240         (-[WebInspectorXPCWrapper close]):
1241         (-[WebInspectorXPCWrapper dealloc]):
1242         (-[WebInspectorXPCWrapper _deserializeMessage:]):
1243         (-[WebInspectorXPCWrapper _handleEvent:]):
1244         (-[WebInspectorXPCWrapper sendMessage:userInfo:]):
1245         (-[WebInspectorXPCWrapper available]):
1246         * WebKit.exp:
1247         XPC Connection wrapper handling a simple message format.
1248
1249         * WebView/WebViewData.h:
1250         * WebView/WebViewData.mm:
1251         (-[WebViewPrivate init]):
1252         (-[WebViewPrivate dealloc]):
1253         * WebView/WebViewInternal.h:
1254         * WebView/WebViewPrivate.h:
1255         * WebView/WebView.mm:
1256         (-[WebView _commonInitializationWithFrameName:groupName:]):
1257         (+[WebView sharedWebInspectorServer]):
1258         (+[WebView _enableRemoteInspector]):
1259         (+[WebView _disableRemoteInspector]):
1260         (+[WebView _disableAutoStartRemoteInspector]):
1261         (+[WebView _isRemoteInspectorEnabled]):
1262         (+[WebView _hasRemoteInspectorSession]):
1263         (-[WebView canBeRemotelyInspected]):
1264         (-[WebView allowsRemoteInspection]):
1265         (-[WebView setAllowsRemoteInspection:]):
1266         (-[WebView setIndicatingForRemoteInspector:]):
1267         (-[WebView setRemoteInspectorUserInfo:]):
1268         (-[WebView remoteInspectorUserInfo]):
1269         Remote inspector private API.
1270           - Enable / disable globally
1271           - Allow / disallow per webview
1272           - Optionally attach a userInfo dictionary on the WebView that is published with listing.
1273           - Indicate a WebView (implementation to land later)
1274
1275         (-[WebView _didCommitLoadForFrame:]):
1276         * WebCoreSupport/WebFrameLoaderClient.mm:
1277         (WebFrameLoaderClient::dispatchDidReceiveTitle):
1278         Pages changed, pushed page listing.
1279
1280 2013-10-25  Mark Rowe  <mrowe@apple.com>
1281
1282         Fix or disable some deprecation warnings.
1283
1284         Reviewed by Darin Adler.
1285
1286         * Panels/WebAuthenticationPanel.m:
1287         (-[WebAuthenticationPanel cancel:]): On newer OS versions, use the modern API.
1288         (-[WebAuthenticationPanel logIn:]): Ditto.
1289         (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Ditto. Translate the
1290         response code in to the form that -sheetDidEnd:responseCode:contextInfo: expects.
1291         * WebView/WebClipView.mm:
1292         (-[WebClipView initWithFrame:]): Disable deprecation warnings since it's not obvious
1293         how to avoid calling -releaseGState here.
1294
1295 2013-10-24  Mark Rowe  <mrowe@apple.com>
1296
1297         Remove references to OS X 10.7 from Xcode configuration settings.
1298
1299         Now that we're not building for OS X 10.7 they're no longer needed.
1300
1301         Reviewed by Anders Carlsson.
1302
1303         * Configurations/Base.xcconfig:
1304         * Configurations/DebugRelease.xcconfig:
1305         * Configurations/FeatureDefines.xcconfig:
1306         * Configurations/Version.xcconfig:
1307
1308 2013-10-24  Mark Rowe  <mrowe@apple.com>
1309
1310         <rdar://problem/15312643> Prepare for the mysterious future.
1311
1312         Reviewed by David Kilzer.
1313
1314         * Configurations/Base.xcconfig:
1315         * Configurations/DebugRelease.xcconfig:
1316         * Configurations/FeatureDefines.xcconfig:
1317         * Configurations/Version.xcconfig:
1318
1319 2013-10-24  Anders Carlsson  <andersca@apple.com>
1320
1321         Stop bringing in the std namespace
1322         https://bugs.webkit.org/show_bug.cgi?id=123273
1323
1324         Reviewed by Andreas Kling.
1325
1326         * WebView/WebFrameView.mm:
1327         (-[WebFrameView _verticalPageScrollDistance]):
1328         (-[WebFrameView _horizontalPageScrollDistance]):
1329         * WebView/WebHTMLView.mm:
1330         (-[WebHTMLView _scaleFactorForPrintOperation:]):
1331         * WebView/WebView.mm:
1332         (+[WebView _setCacheModel:]):
1333         (+[WebView _maxCacheModelInAnyInstance]):
1334         (+[WebView _cacheModelChangedNotification:]):
1335         (+[WebView _preferencesRemovedNotification:]):
1336
1337 2013-10-22  Dean Jackson  <dino@apple.com>
1338
1339         [WebGL] Implement a software rendering option on Mac
1340         https://bugs.webkit.org/show_bug.cgi?id=123177
1341
1342         Reviewed by Tim Horton.
1343
1344         Implement a way to force software OpenGL rendering
1345         for WebGL, via a Setting/Preference.
1346
1347         * WebView/WebPreferenceKeysPrivate.h: New WebKitForceSoftwareWebGLRendering key.
1348         * WebView/WebPreferences.mm:
1349         (+[WebPreferences initialize]):
1350         (-[WebPreferences forceSoftwareWebGLRendering]):
1351         (-[WebPreferences setForceSoftwareWebGLRendering:]):
1352         * WebView/WebPreferencesPrivate.h:
1353         * WebView/WebView.mm:
1354         (-[WebView _preferencesChanged:]):
1355
1356 2013-10-21  Mark Rowe  <mrowe@apple.com>
1357
1358         Add a version of WebKitSystemInterface for Mavericks.
1359
1360         Reviewed by Ryosuke Niwa.
1361
1362         * Configurations/DebugRelease.xcconfig:
1363
1364 2013-10-21  Daniel Bates  <dabates@apple.com>
1365
1366         Remove platform #ifdefs from WebDataSourcePrivate.h
1367         https://bugs.webkit.org/show_bug.cgi?id=123120
1368         <rdar://problem/15275533>
1369
1370         Reviewed by Anders Carlsson.
1371
1372         * WebView/WebDataSource.mm:
1373         (-[WebDataSource _setAllowToBeMemoryMapped]): Define empty implementation when building without
1374         disk image cache enabled.
1375         (-[WebDataSource setDataSourceDelegate:]): Ditto.
1376         (-[WebDataSource dataSourceDelegate]): Return nullptr when building without disk image cache
1377         enabled on iOS.
1378         * WebView/WebDataSourcePrivate.h: Removed platform #ifdefs added in
1379         <http://trac.webkit.org/changeset/156918> (https://bugs.webkit.org/show_bug.cgi?id=121985)
1380
1381 2013-10-20  Mark Lam  <mark.lam@apple.com>
1382
1383         Avoid JSC debugger overhead unless needed.
1384         https://bugs.webkit.org/show_bug.cgi?id=123084.
1385
1386         Reviewed by Geoffrey Garen.
1387
1388         * WebView/WebScriptDebugger.mm:
1389         (WebScriptDebugger::WebScriptDebugger):
1390
1391 2013-10-19  Jer Noble  <jer.noble@apple.com>
1392
1393         Unreviewed roll out of r157695; broke Mac builds.
1394
1395         * Configurations/FeatureDefines.xcconfig:
1396
1397 2013-10-07  Jer Noble  <jer.noble@apple.com>
1398
1399         [MSE] [Mac] Enable MediaSource on the Mac
1400         https://bugs.webkit.org/show_bug.cgi?id=122484
1401
1402         Reviewed by Darin Adler.
1403
1404         Enable ENABLE_MEDIA_SOURCE.
1405
1406         * Configurations/FeatureDefines.xcconfig:
1407
1408 2013-10-19  Andreas Kling  <akling@apple.com>
1409
1410         Attempt to get Lion building.
1411
1412         * WebView/WebDataSource.mm:
1413
1414 2013-10-18  Anders Carlsson  <andersca@apple.com>
1415
1416         Remove spaces between template angle brackets
1417         https://bugs.webkit.org/show_bug.cgi?id=123040
1418
1419         Reviewed by Andreas Kling.
1420
1421         * History/WebHistory.mm:
1422         (-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]):
1423         * History/WebHistoryItem.mm:
1424         (-[WebHistoryItem initFromDictionaryRepresentation:]):
1425         * Plugins/Hosted/NetscapePluginHostProxy.h:
1426         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1427         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1428         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
1429         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
1430         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
1431         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
1432         (WebKit::NetscapePluginInstanceProxy::stopAllStreams):
1433         * Plugins/WebNetscapePluginView.h:
1434         * Plugins/WebNetscapePluginView.mm:
1435         (-[WebNetscapePluginView destroyPlugin]):
1436         * Storage/WebDatabaseManager.mm:
1437         (-[WebDatabaseManager origins]):
1438         * Storage/WebStorageManager.mm:
1439         (-[WebStorageManager origins]):
1440         * WebCoreSupport/WebApplicationCache.mm:
1441         (+[WebApplicationCache originsWithCache]):
1442         * WebCoreSupport/WebEditorClient.h:
1443         * WebCoreSupport/WebEditorClient.mm:
1444         (WebEditorClient::getClientPasteboardDataForRange):
1445         (WebEditorClient::documentFragmentFromAttributedString):
1446         * WebCoreSupport/WebFrameLoaderClient.h:
1447         * WebCoreSupport/WebNotificationClient.h:
1448         * WebCoreSupport/WebNotificationClient.mm:
1449         (WebNotificationClient::show):
1450         (WebNotificationClient::clearNotifications):
1451         * WebView/WebArchive.mm:
1452         (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
1453         (-[WebArchive subresources]):
1454         (-[WebArchive subframeArchives]):
1455         * WebView/WebDataSource.mm:
1456         (-[WebDataSource subresources]):
1457         * WebView/WebViewData.h:
1458
1459 2013-10-16  Jochen Eisinger  <jochen@chromium.org>
1460
1461         A page should exit fullscreen mode if it opens a new popup
1462         https://bugs.webkit.org/show_bug.cgi?id=122865
1463
1464         Reviewed by Jer Noble.
1465
1466         If a fullscreen page opens a popup, the popup would be hidden and
1467         therefore invisible to the user. To avoid this, exit fullscreen mode
1468         before opening a new window.
1469
1470         * WebCoreSupport/WebChromeClient.mm:
1471         (WebChromeClient::createWindow):
1472
1473 2013-10-15  Dean Jackson  <dino@apple.com>
1474
1475         Add ENABLE_WEB_ANIMATIONS flag
1476         https://bugs.webkit.org/show_bug.cgi?id=122871
1477
1478         Reviewed by Tim Horton.
1479
1480         Eventually might be http://dev.w3.org/fxtf/web-animations/
1481         but this is just engine-internal work at the moment.
1482
1483         * Configurations/FeatureDefines.xcconfig:
1484
1485 2013-10-15  Andy Estes  <aestes@apple.com>
1486
1487         Expose -[WebPluginPackage bundle] as SPI
1488         https://bugs.webkit.org/show_bug.cgi?id=122814
1489
1490         Reviewed by Anders Carlsson.
1491
1492         * Plugins/WebPluginPackage.mm:
1493         (-[WebPluginPackage bundle]): Defined.
1494         * Plugins/WebPluginPackagePrivate.h: Declared bundle as a method in a
1495         category on NSObject.
1496
1497 2013-10-12  Darin Adler  <darin@apple.com>
1498
1499         Get rid of the toHTMLElement helper for casting FormAssociatedElement to HTMLElement
1500         https://bugs.webkit.org/show_bug.cgi?id=122713
1501
1502         Reviewed by Sam Weinig.
1503
1504         * WebView/WebHTMLRepresentation.mm:
1505         (-[WebHTMLRepresentation elementWithName:inForm:]): Use asHTMLElement.
1506         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
1507
1508 2013-10-12  Adam Roben  <aroben@webkit.org>
1509
1510         WebViews inside OS X screen savers have large caches, but should not
1511         https://bugs.webkit.org/show_bug.cgi?id=122604
1512
1513         We use WebCacheModelDocumentViewer by default for apps linked against
1514         modern WebKit, and WebCacheModelDocumentBrowser for apps linked
1515         against legacy WebKit. ScreenSaverEngine.app doesn't link against
1516         WebKit at all, and thus falls into the legacy case by accident because
1517         NSVersionOfLinkTimeLibrary("WebKit") returns -1.
1518
1519         But WebViews inside screen savers are almost certainly not being used
1520         as browsers, so this large-ish cache specified by
1521         WebCacheModelDocumentBrowser is wasteful. This is likely true for all
1522         apps that don't directly link against WebKit, so now we use
1523         WebCacheModelDocumentViewer by default for those apps.
1524
1525         Reviewed by Darin Adler.
1526
1527         * WebView/WebPreferences.mm:
1528         (cacheModelForMainBundle): Use WebCacheModelDocumentViewer by default
1529         for apps that don't link against WebKit directly. Also converted to
1530         use @autoreleasepool {} and early returns while I was in here.
1531
1532 2013-10-12  Alexey Proskuryakov  <ap@apple.com>
1533
1534         Add a feature define for SubtleCrypto
1535         https://bugs.webkit.org/show_bug.cgi?id=122683
1536
1537         Reviewed by Anders Carlsson.
1538
1539         * Configurations/FeatureDefines.xcconfig:
1540
1541 2013-10-12  Darin Adler  <darin@apple.com>
1542
1543         Use unique_ptr instead of delete in a few places
1544         https://bugs.webkit.org/show_bug.cgi?id=122639
1545
1546         Reviewed by Anders Carlsson.
1547
1548         * History/WebHistory.mm:
1549         (-[WebHistoryPrivate init]): Use make_unique.
1550         (-[WebHistoryPrivate dealloc]): Don't delete.
1551         (-[WebHistoryPrivate finalize]): Don't delete.
1552         (-[WebHistoryPrivate data]): Use get.
1553
1554         * WebCoreSupport/WebFrameNetworkingContext.mm:
1555         (privateSession): Use NeverDestroyed here instead of a raw pointer.
1556         (WebFrameNetworkingContext::ensurePrivateBrowsingSession): Use the
1557         new function instead of direct global variable access.
1558         (WebFrameNetworkingContext::destroyPrivateBrowsingSession): Ditto.
1559         (WebFrameNetworkingContext::storageSession): Ditto.
1560
1561         * WebView/WebFrame.mm:
1562         (-[WebFramePrivate dealloc]): Don't delete.
1563         (-[WebFramePrivate finalize]): Don't delete.
1564         (-[WebFrame _attachScriptDebugger]): Use make_unique.
1565         (-[WebFrame _detachScriptDebugger]): Don't delete.
1566         * WebView/WebFrameInternal.h: Use unique_ptr.
1567
1568 2013-10-11  Timothy Hatcher  <timothy@apple.com>
1569
1570         Remove preference support for picking the old Web Inspector.
1571         https://bugs.webkit.org/show_bug.cgi?id=122655
1572
1573         Reviewed by Alexey Proskuryakov.
1574
1575         * WebCoreSupport/WebInspectorClient.mm:
1576         (WebInspectorFrontendClient::localizedStringsURL):
1577         (-[WebInspectorWindowController inspectorPagePath]):
1578
1579 2013-10-10  Simon Fraser  <simon.fraser@apple.com>
1580
1581         Always force layout before flushing compositing layers
1582         https://bugs.webkit.org/show_bug.cgi?id=122626
1583
1584         Reviewed by Tim Horton.
1585         
1586         [m_webView _flushCompositingChanges] only actually flushes compositing
1587         layers if the FrameView does not need layout (FrameView::flushCompositingStateForThisFrame()
1588         returns in this case). In this situation, flushLayers() does actually try
1589         to force a layout, but on some platforms it's possible for something else
1590         to dirty layout before the runloop observer fires again. This can result
1591         in flushLayers() never actually managing to flush, which stalls visual
1592         updates.
1593         
1594         Fix by always calling -viewWillDraw (which updates layout) before flushing
1595         layers. This now matches WebKit2 behavior.
1596
1597         * WebView/WebView.mm:
1598         (LayerFlushController::flushLayers):
1599
1600 2013-10-10  Andy Estes  <aestes@apple.com>
1601
1602         Add SPI for telling WebKit to prefer pictograph glyphs over monochrome ones
1603         https://bugs.webkit.org/show_bug.cgi?id=122608
1604
1605         Reviewed by Dan Bernstein.
1606
1607         Based on patches by Dan Bernstein.
1608
1609         * WebView/WebView.mm:
1610         (-[WebView _setFontFallbackPrefersPictographs:]): Called
1611         WebCore::Settings::setFontFallbackPrefersPictographs().
1612         * WebView/WebViewPrivate.h:
1613
1614 2013-10-10  Mark Rowe  <mrowe@apple.com>
1615
1616         <rdar://problem/13341666> WebKit should always build against an SDK.
1617
1618         Have all projects default to building against the OS X Internal SDK for the Production
1619         configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
1620         to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
1621
1622         Reviewed by Dan Bernstein.
1623
1624         * Configurations/Base.xcconfig:
1625         * Configurations/DebugRelease.xcconfig:
1626
1627 2013-10-08  Darin Adler  <darin@apple.com>
1628
1629         WebNetscapePluginView should no longer use deleteAllValues
1630         https://bugs.webkit.org/show_bug.cgi?id=122495
1631
1632         Reviewed by Anders Carlsson.
1633
1634         * Plugins/WebNetscapePluginView.h: Use unique_ptr for both the pointer to
1635         the timers hash table, and for the values in the hash table.
1636
1637         * Plugins/WebNetscapePluginView.mm:
1638         (-[WebNetscapePluginView stopTimers]): Rewrote loop so it works with unique_ptr.
1639         (-[WebNetscapePluginView startTimers]): Ditto.
1640         (-[WebNetscapePluginView fini]): Removed unneeded code to delete timers.
1641         (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): Make
1642         the timers hash table with make-unique. Fixed the loop that chooses the timer
1643         ID so it won't ever try to use a deleted value, although that never happens
1644         in practice. Use HashMap::add instead of using both contains and set.
1645         Rearranged code so we don't need to make a raw pointer for the timer.
1646         (-[WebNetscapePluginView unscheduleTimer:]): Use remove instead of take/delete,
1647         since remove takes care of the deletion automatically since we are using the
1648         unique_ptr class.
1649
1650 2013-10-08  Darin Adler  <darin@apple.com>
1651
1652         Eliminate use of deleteAllValues in ProxyInstance
1653         https://bugs.webkit.org/show_bug.cgi?id=122499
1654
1655         Reviewed by Anders Carlsson.
1656
1657         * Plugins/Hosted/ProxyInstance.h: Use unique_ptr for map values in m_fields and m_methods.
1658
1659         * Plugins/Hosted/ProxyInstance.mm:
1660         (WebKit::ProxyInstance::~ProxyInstance): Removed calls to deleteAllValues.
1661         (WebKit::ProxyInstance::methodNamed): Use make_unique and get to deal with map entries
1662         that are unique_ptr. Also fixed a bug where this would do an expensive no-op if the map
1663         already had an entry with a null in it. We would call the plug-in, but eventually
1664         isNewEntry would be false so we would return null.
1665         (WebKit::ProxyInstance::fieldNamed): Use make_unique and get to deal with map entries
1666         that are unique_ptr.
1667
1668 2013-10-08  Darin Adler  <darin@apple.com>
1669
1670         Change NetscapePluginInstanceProxy::m_replies to use unique_ptr instead of deleteAllValues
1671         https://bugs.webkit.org/show_bug.cgi?id=122492
1672
1673         Reviewed by Andreas Kling.
1674
1675         * Plugins/Hosted/NetscapePluginHostManager.mm:
1676         (WebKit::NetscapePluginHostManager::instantiatePlugin): Use auto so this works with
1677         unique_ptr instead of auto_ptr.
1678         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1679         (WKPCGetScriptableNPObjectReply): Use make_unique instead of using new directly.
1680         (WKPCBooleanReply): Ditto.
1681         (WKPCBooleanAndDataReply): Ditto.
1682         (WKPCInstantiatePluginReply): Ditto.
1683         * Plugins/Hosted/NetscapePluginInstanceProxy.h: Changed m_replies to map to unique_ptr
1684         instead of to a raw pointer.
1685         (WebKit::NetscapePluginInstanceProxy::setCurrentReply): Changed to take a unique_ptr
1686         instead of a raw pointer since this takes ownership of the pointer.
1687         (WebKit::NetscapePluginInstanceProxy::waitForReply): Changed to return a unique_ptr
1688         instead of a auto_ptr because that's better. Use unique_ptr inside the function
1689         too to avoid the need for an explicit delete.
1690         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1691         (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy): Removed the call to
1692         deleteAllValues.
1693         (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): Removed unneeded initialization
1694         of a local variable that was already set in all code paths.
1695         (WebKit::NetscapePluginInstanceProxy::wheelEvent): Use auto so this works with unique_ptr
1696         instead of auto_ptr.
1697         (WebKit::NetscapePluginInstanceProxy::print): Ditto.
1698         (WebKit::NetscapePluginInstanceProxy::snapshot): Ditto. Ditto.
1699         (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Changed to return
1700         a unique_ptr. Also removed an unneeded assertion.
1701         (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Use auto so this works
1702         with unique_ptr instead of auto_ptr.
1703
1704         * Plugins/Hosted/ProxyInstance.h: Changed return type of waitForReply to unique_ptr.
1705
1706         * Plugins/Hosted/ProxyInstance.mm:
1707         (WebKit::ProxyInstance::invoke): Use auto so this works with unique_ptr instead of auto_ptr.
1708         (WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto.
1709         (WebKit::ProxyInstance::supportsConstruct): Ditto.
1710         (WebKit::ProxyInstance::getPropertyNames): Ditto.
1711         (WebKit::ProxyInstance::methodNamed): Ditto.
1712         (WebKit::ProxyInstance::fieldNamed): Ditto.
1713         (WebKit::ProxyInstance::fieldValue): Ditto.
1714         (WebKit::ProxyInstance::setFieldValue): Ditto.
1715
1716 2013-10-07  Sam Weinig  <sam@webkit.org>
1717
1718         CTTE: Use references in and around DragController
1719         https://bugs.webkit.org/show_bug.cgi?id=122427
1720
1721         Reviewed by Andreas Kling.
1722
1723         * WebCoreSupport/WebDragClient.h:
1724         * WebCoreSupport/WebDragClient.mm:
1725         (WebDragClient::actionMaskForDrag):
1726         (WebDragClient::willPerformDragDestinationAction):
1727         (WebDragClient::willPerformDragSourceAction):
1728         (WebDragClient::startDrag):
1729         (WebDragClient::declareAndWriteDragImage):
1730         * WebView/WebFrame.mm:
1731         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
1732         * WebView/WebHTMLView.mm:
1733         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
1734         * WebView/WebView.mm:
1735         (-[WebView draggingEntered:]):
1736         (-[WebView draggingUpdated:]):
1737         (-[WebView draggingExited:]):
1738         (-[WebView performDragOperation:]):
1739
1740 2013-10-05  Sam Weinig  <sam@webkit.org>
1741
1742         CTTE: Thread references through markup.h
1743         https://bugs.webkit.org/show_bug.cgi?id=122403
1744
1745         Reviewed by Darin Adler and Andreas Kling.
1746
1747         * DOM/WebDOMOperations.mm:
1748         (-[DOMNode markupString]):
1749         (-[DOMRange markupString]):
1750         * WebView/WebFrame.mm:
1751         (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
1752         (-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
1753
1754 2013-10-05  Sam Weinig  <sam@webkit.org>
1755
1756         CTTE: Pass DocumentWriter around as a reference
1757         https://bugs.webkit.org/show_bug.cgi?id=122396
1758
1759         Reviewed by Andreas Kling.
1760
1761         * WebView/WebFrame.mm:
1762         (-[WebFrame _canProvideDocumentSource]):
1763
1764 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
1765
1766         Don't preflight spell checker when calling -setContinuousSpellCheckingEnabled repeatedly
1767         https://bugs.webkit.org/show_bug.cgi?id=122329
1768
1769         Reviewed by Darin Adler.
1770
1771         * WebView/WebView.mm: (-[WebView setContinuousSpellCheckingEnabled:]): Don't do any
1772         work if preference didn't change (continuousSpellCheckingEnabled is a static that
1773         starts with false).
1774
1775 2013-10-04  Anders Carlsson  <andersca@apple.com>
1776
1777         FramePolicyFunction should be an std::function
1778         https://bugs.webkit.org/show_bug.cgi?id=122362
1779
1780         Reviewed by Darin Adler.
1781
1782         * WebCoreSupport/WebFrameLoaderClient.h:
1783         * WebCoreSupport/WebFrameLoaderClient.mm:
1784         (WebFrameLoaderClient::dispatchDecidePolicyForResponse):
1785         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1786         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1787         (WebFrameLoaderClient::dispatchWillSubmitForm):
1788
1789 2013-10-04  Mark Lam  <mark.lam@apple.com>
1790
1791         Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
1792         https://bugs.webkit.org/show_bug.cgi?id=121969.
1793
1794         Reviewed by Geoffrey Garen.
1795
1796         1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
1797            DebuggerCallFrame now tracks whether it is valid instead of needing
1798            JavaScriptCallFrame do it.
1799         2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
1800            just before it pauses and calls back to its client, and then invalidates
1801            it immediately when the callback returns. Every subsequent callback to
1802            the client will use a new instance of the DebuggerCallFrame.
1803         3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
1804            it "pauses".
1805         4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
1806            it is needed i.e. when the client calls callerFrame(). Similarly,
1807            JavaScriptCallFrame only creates its caller when it's requested.
1808         5. DebuggerCallFrame's line() and column() now returns a base-zero int.
1809         6. WebScriptDebugDelegate now only caches the functionName of the frame
1810            instead of the entire DebuggerCallFrame because that is all that is
1811            needed.
1812         7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
1813
1814         * WebView/WebScriptDebugDelegate.mm:
1815         (-[WebScriptCallFramePrivate dealloc]):
1816         (-[WebScriptCallFrame _initWithGlobalObject:functionName:exceptionValue:JSC::]):
1817         (-[WebScriptCallFrame functionName]):
1818         (-[WebScriptCallFrame exception]):
1819         * WebView/WebScriptDebugger.mm:
1820         (WebScriptDebugger::exception):
1821
1822 2013-10-04  Anders Carlsson  <andersca@apple.com>
1823
1824         Remove some unneeded code from WidgetMac
1825         https://bugs.webkit.org/show_bug.cgi?id=122355
1826
1827         Reviewed by Dan Bernstein.
1828
1829         Remove code to handle the visible rect changing, it's not needed anymore since we always put Netscape plug-ins into their own layers now.
1830
1831         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1832         * Plugins/WebBaseNetscapePluginView.h:
1833         * Plugins/WebBaseNetscapePluginView.mm:
1834
1835 2013-10-04  Daniel Bates  <dabates@apple.com>
1836
1837         [iOS] Upstream disk image cache
1838         https://bugs.webkit.org/show_bug.cgi?id=121985
1839
1840         Reviewed by Joseph Pecoraro.
1841
1842         * Misc/WebCache.mm:
1843         (+[WebCache statistics]):
1844         * WebView/WebDataSource.mm:
1845         (BufferMemoryMapped): Added.
1846         (-[WebDataSource _setAllowToBeMemoryMapped]): Added.
1847         (-[WebDataSource setDataSourceDelegate:]): Added.
1848         (-[WebDataSource dataSourceDelegate]): Added.
1849         (-[WebDataSource dealloc]):
1850         * WebView/WebDataSourcePrivate.h: Declared private delegate
1851         protocol, WebDataSourcePrivateDelegate.
1852         * WebView/WebPreferenceKeysPrivate.h:
1853         * WebView/WebPreferences.mm:
1854         (+[WebPreferences initialize]):
1855         (-[WebPreferences diskImageCacheEnabled]): Added.
1856         (-[WebPreferences setDiskImageCacheEnabled:]): Added.
1857         (-[WebPreferences diskImageCacheMinimumImageSize]): Added.
1858         (-[WebPreferences setDiskImageCacheMinimumImageSize:]): Added.
1859         (-[WebPreferences diskImageCacheMaximumCacheSize]): Added.
1860         (-[WebPreferences setDiskImageCacheMaximumCacheSize:]): Added.
1861         (-[WebPreferences _diskImageCacheSavedCacheDirectory]): Added.
1862         (-[WebPreferences _setDiskImageCacheSavedCacheDirectory:]): Added.
1863         * WebView/WebView.mm:
1864         (-[WebView _commonInitializationWithFrameName:groupName:]):
1865         (-[WebView _preferencesChanged:]):
1866
1867 2013-10-04  Anders Carlsson  <andersca@apple.com>
1868
1869         Remove WebAssertions.h
1870         https://bugs.webkit.org/show_bug.cgi?id=122328
1871
1872         Reviewed by Jessie Berlin.
1873
1874         * Misc/WebAssertions.h: Removed.
1875
1876 2013-10-03  Anders Carlsson  <andersca@apple.com>
1877
1878         Remove WebNSNotificationCenterExtras
1879         https://bugs.webkit.org/show_bug.cgi?id=122316
1880
1881         Reviewed by Dan Bernstein.
1882
1883         Use dispatch_async to ensure that notifications are posted on the main thread.
1884
1885         * Misc/WebIconDatabase.mm:
1886         (-[WebIconDatabase _sendNotificationForURL:]):
1887         (-[WebIconDatabase _sendDidRemoveAllIconsNotification]):
1888         * Misc/WebNSNotificationCenterExtras.h: Removed.
1889         * Misc/WebNSNotificationCenterExtras.m: Removed.
1890
1891 2013-10-03  Sam Weinig  <sam@webkit.org>
1892
1893         Remove shouldRubberBandInDirection from the WKBundlePageUIClient
1894         https://bugs.webkit.org/show_bug.cgi?id=122309
1895
1896         Reviewed by Andreas Kling.
1897
1898         * WebCoreSupport/WebChromeClient.h:
1899
1900 2013-10-03  Anders Carlsson  <andersca@apple.com>
1901
1902         Ignore deprecation warnings
1903         https://bugs.webkit.org/show_bug.cgi?id=122302
1904
1905         Reviewed by Mark Rowe.
1906
1907         * Misc/WebIconDatabase.mm:
1908         (-[WebIconDatabase _scaleIcon:toSize:]):
1909         (webGetNSImage):
1910         * Misc/WebNSImageExtras.m:
1911         (-[NSImage _web_scaleToMaxSize:]):
1912         (-[NSImage _web_dissolveToFraction:]):
1913         * Misc/WebNSViewExtras.m:
1914         (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
1915         (-[NSView _web_convertRect:toView:]):
1916         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1917         (WebKit::NetscapePluginInstanceProxy::mouseEvent):
1918         * Plugins/Hosted/WebTextInputWindowController.m:
1919         (-[WebTextInputPanel _interpretKeyEvent:string:]):
1920         * Plugins/WebBaseNetscapePluginView.mm:
1921         (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
1922         * WebCoreSupport/WebDragClient.mm:
1923         (WebDragClient::startDrag):
1924         * WebInspector/WebNodeHighlight.mm:
1925         (-[WebNodeHighlight _computeHighlightWindowFrame]):
1926         * WebView/WebFullScreenController.mm:
1927         (-[WebFullScreenController _startEnterFullScreenAnimationWithDuration:]):
1928         (-[WebFullScreenController _startExitFullScreenAnimationWithDuration:]):
1929         * WebView/WebHTMLView.mm:
1930         (+[WebHTMLView _postFlagsChangedEvent:]):
1931         (-[WebHTMLView _updateMouseoverWithFakeEvent]):
1932         (-[WebHTMLView _autoscroll]):
1933         (-[WebHTMLView mouseDown:]):
1934         (-[WebHTMLView mouseDragged:]):
1935         (-[WebHTMLView mouseUp:]):
1936         (-[WebHTMLView accessibilityHitTest:]):
1937         (-[WebHTMLView _executeSavedKeypressCommands]):
1938         (-[WebHTMLView attachRootLayer:]):
1939         (-[WebHTMLView textStorage]):
1940         (-[WebHTMLView _updateSelectionForInputManager]):
1941         * WebView/WebTextCompletionController.mm:
1942         (-[WebTextCompletionController _buildUI]):
1943         (-[WebTextCompletionController _placePopupWindow:]):
1944
1945 2013-10-01  Sam Weinig  <sam@webkit.org>
1946
1947         CTTE: DOMWrapperWorlds should be passed around by reference
1948         https://bugs.webkit.org/show_bug.cgi?id=122206
1949
1950         Reviewed by Andreas Kling.
1951
1952         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1953         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
1954         (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
1955         (WebKit::NetscapePluginInstanceProxy::evaluate):
1956         * WebCoreSupport/WebFrameLoaderClient.h:
1957         * WebCoreSupport/WebFrameLoaderClient.mm:
1958         * WebView/WebFrame.mm:
1959         (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
1960         (-[WebFrame _globalContextForScriptWorld:]):
1961         (-[WebFrame jsWrapperForNode:inScriptWorld:]):
1962         * WebView/WebScriptWorld.mm:
1963         (+[WebScriptWorld standardWorld]):
1964         (+[WebScriptWorld findOrCreateWorld:]):
1965         * WebView/WebScriptWorldInternal.h:
1966         * WebView/WebView.mm:
1967         (-[WebView _injectOutlookQuirksScript]):
1968         (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
1969         (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
1970         (+[WebView _removeUserScriptFromGroup:world:url:]):
1971         (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
1972         (+[WebView _removeUserScriptsFromGroup:world:]):
1973         (+[WebView _removeUserStyleSheetsFromGroup:world:]):
1974
1975 2013-09-30  Sam Weinig  <sam@webkit.org>
1976
1977         Remove support for DOMFileSystem
1978         https://bugs.webkit.org/show_bug.cgi?id=122137
1979
1980         Reviewed by Anders Carlsson.
1981
1982         * Configurations/FeatureDefines.xcconfig:
1983
1984 2013-09-30  Benjamin Poulain  <benjamin@webkit.org>
1985
1986         Remove the code guarded by STYLE_SCOPED
1987         https://bugs.webkit.org/show_bug.cgi?id=122123
1988
1989         Reviewed by Anders Carlsson.
1990
1991         * Configurations/FeatureDefines.xcconfig:
1992
1993 2013-09-30  Mark Rowe  <mrowe@apple.com>
1994
1995         Fix the build when building against an SDK.
1996
1997         Xcode helpfully prepends $(SDKROOT) to the paths in FRAMEWORK_SEARCH_PATHS when generating
1998         the compiler command lines. It can't know to do this for the system framework search paths
1999         we add manually via OTHER_CFLAGS though, so we need to prefix them with $(SDKROOT) ourself.
2000
2001         * Configurations/WebKit.xcconfig:
2002
2003 2013-09-29  Mark Rowe  <mrowe@apple.com>
2004
2005         Fix the Lion build.
2006
2007         Ensure that C++ and Objective-C++ files build with the right compiler flags.
2008
2009         * Configurations/WebKit.xcconfig:
2010
2011 2013-09-28  Mark Rowe  <mrowe@apple.com>
2012
2013         Fix some failures with newer versions of clang.
2014
2015         Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would
2016         usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated
2017         as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler
2018         flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level
2019         in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig.
2020
2021         Reviewed by Dan Bernstein.
2022
2023         * Configurations/DebugRelease.xcconfig:
2024         * Configurations/WebKit.xcconfig:
2025
2026 2013-09-28  Mark Rowe  <mrowe@apple.com>
2027
2028         Take Xcode's advice and enable some extra warnings.
2029
2030         Reviewed by Sam Weinig.
2031
2032         * Configurations/Base.xcconfig:
2033
2034 2013-09-28  Darin Adler  <darin@apple.com>
2035
2036         Add Frame::mainFrame and Frame::isMainFrame
2037         https://bugs.webkit.org/show_bug.cgi?id=122064
2038
2039         Reviewed by Andreas Kling.
2040
2041         * WebCoreSupport/WebFrameLoaderClient.mm:
2042         (WebFrameLoaderClient::canHandleRequest):
2043         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2044         * WebView/WebFrameView.mm:
2045         (-[WebFrameView _install]):
2046         Call isMainFrame.
2047
2048 2013-09-28  Mark Rowe  <mrowe@apple.com>
2049
2050         WebKit fails to build with newer versions of clang.
2051
2052         Reviewed by Sam Weinig.
2053
2054         * Carbon/HIWebView.mm: Remove an unused function.
2055         * History/BinaryPropertyList.cpp: #if a constant that's only used in 64-bit.
2056         * Misc/WebIconDatabase.mm: Remove two unused constants.
2057         * Plugins/WebBaseNetscapePluginView.mm: Remove an unused constant.
2058         * WebCoreSupport/WebEditorClient.mm: Ditto.
2059
2060 2013-09-27  Enrica Casucci  <enrica@apple.com>
2061
2062         Upstream changes to Pasteboard implementation for iOS.
2063         https://bugs.webkit.org/show_bug.cgi?id=121818
2064
2065         Reviewed by Benjamin Poulain.
2066
2067         * WebCoreSupport/WebPlatformStrategies.h:
2068         * WebCoreSupport/WebPlatformStrategies.mm:
2069         (WebPlatformStrategies::writeToPasteboard):
2070         (WebPlatformStrategies::getPasteboardItemsCount):
2071         (WebPlatformStrategies::readBufferFromPasteboard):
2072         (WebPlatformStrategies::readURLFromPasteboard):
2073         (WebPlatformStrategies::readStringFromPasteboard):
2074         (WebPlatformStrategies::changeCount):
2075
2076 2013-09-26  Darin Adler  <darin@apple.com>
2077
2078         rename KURL to URL
2079         https://bugs.webkit.org/show_bug.cgi?id=16214
2080
2081         Reviewed by Andreas Kling.
2082
2083         * many files: Renamed, using script.
2084
2085 2013-09-06  Jer Noble  <jer.noble@apple.com>
2086
2087         [Mac] Implement the media controls in JavaScript.
2088         https://bugs.webkit.org/show_bug.cgi?id=120895
2089
2090         Reviewed by Dean Jackson.
2091
2092         Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT.
2093
2094         * Configurations/FeatureDefines.xcconfig:
2095
2096 2013-09-27  Darin Adler  <darin@apple.com>
2097
2098         Add empty MainFrame class
2099         https://bugs.webkit.org/show_bug.cgi?id=121770
2100
2101         Reviewed by Andreas Kling.
2102
2103         * WebCoreSupport/WebDragClient.mm:
2104         * WebCoreSupport/WebInspectorClient.mm:
2105         * WebCoreSupport/WebPlatformStrategies.mm:
2106         * WebView/WebFrame.mm:
2107         * WebView/WebHTMLView.mm:
2108         * WebView/WebView.mm:
2109         Include MainFrame.h instead of Frame.h as needed.
2110
2111 2013-09-26  Eric Carlson  <eric.carlson@apple.com>
2112
2113         [MediaStream] make MediaStream testable
2114         https://bugs.webkit.org/show_bug.cgi?id=121967
2115
2116         Reviewed by Dean Jackson.
2117
2118         * WebCoreSupport/WebUserMediaClient.h: Added.
2119         * WebCoreSupport/WebUserMediaClient.mm: Added.
2120
2121         * WebView/WebUIDelegatePrivate.h: Declare decidePolicyForUserMediaRequestFromOrigin:listener:
2122
2123         * WebView/WebView.mm:
2124         (-[WebView _commonInitializationWithFrameName:groupName:]): Register WebUserMediaClient.
2125         (-[WebView _setUserMediaClient:]): New.
2126         (-[WebView _userMediaClient]): New.
2127         * WebView/WebViewData.h:
2128         * WebView/WebViewPrivate.h:
2129
2130 2013-09-25  Sam Weinig  <sam@webkit.org>
2131
2132         Pass a JSC::VM& to JS bindings object creation functions, rather than a JSC::ExecState*
2133         https://bugs.webkit.org/show_bug.cgi?id=121934
2134
2135         Reviewed by Geoffrey Garen.
2136
2137         * Plugins/Hosted/ProxyInstance.mm:
2138         (WebKit::ProxyInstance::newRuntimeObject):
2139         * Plugins/Hosted/ProxyRuntimeObject.h:
2140         (WebKit::ProxyRuntimeObject::create):
2141         * Plugins/Hosted/ProxyRuntimeObject.mm:
2142         (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
2143         (WebKit::ProxyRuntimeObject::finishCreation):
2144
2145 2013-09-25  Brady Eidson  <beidson@apple.com>
2146
2147         Enable the IndexedDB build on Mac, but leave the feature non-functional
2148         https://bugs.webkit.org/show_bug.cgi?id=121918
2149
2150         Reviewed by Alexey Proskuryakov.
2151
2152         * Configurations/FeatureDefines.xcconfig:
2153
2154 2013-09-25  Commit Queue  <commit-queue@webkit.org>
2155
2156         Unreviewed, rolling out r156432.
2157         http://trac.webkit.org/changeset/156432
2158         https://bugs.webkit.org/show_bug.cgi?id=121932
2159
2160         some integer conversion things that need brady to fix
2161         (Requested by thorton on #webkit).
2162
2163         * Configurations/FeatureDefines.xcconfig:
2164
2165 2013-09-25  Brady Eidson  <beidson@apple.com>
2166
2167         Enable the IndexedDB build on Mac, but leave the feature non-functional
2168         https://bugs.webkit.org/show_bug.cgi?id=121918
2169
2170         Reviewed by Alexey Proskuryakov.
2171
2172         * Configurations/FeatureDefines.xcconfig:
2173
2174 2013-09-25  Brent Fulgham  <bfulgham@apple.com>
2175
2176         Refactor RuntimeEnabledFeatures as a Singleton.
2177         https://bugs.webkit.org/show_bug.cgi?id=121883.
2178
2179         Reviewed by Jer Noble.
2180
2181         * WebView/WebView.mm:
2182         (-[WebView _preferencesChanged:]): Use singleton accessor.
2183         (-[WebView _setDashboardBehavior:to:]): Ditto.
2184
2185 2013-09-25  Brady Eidson  <beidson@apple.com>
2186
2187         FeatureDefine.xcconfig cleanup (They should all be identical).
2188         https://bugs.webkit.org/show_bug.cgi?id=121921
2189
2190         Reviewed by Mark Rowe.
2191
2192         * Configurations/FeatureDefines.xcconfig:
2193
2194 2013-09-24  Mark Lam  <mark.lam@apple.com>
2195
2196         Change JSC debug hooks to pass a CallFrame* instead of a DebuggerCallFrame.
2197         https://bugs.webkit.org/show_bug.cgi?id=121867.
2198
2199         Reviewed by Geoffrey Garen.
2200
2201         * WebView/WebScriptDebugDelegate.mm:
2202         (-[WebScriptCallFrame _initWithGlobalObject:debuggerCallFrame:exceptionValue:JSC::]):
2203         (-[WebScriptCallFrame exception]):
2204         * WebView/WebScriptDebugger.h:
2205         * WebView/WebScriptDebugger.mm:
2206         (WebScriptDebugger::exception):
2207
2208 2013-09-24  Enrica Casucci  <enrica@apple.com>
2209
2210         Upstream changes to Pasteboard implementation for iOS.
2211         https://bugs.webkit.org/show_bug.cgi?id=121818
2212
2213         Reviewed by Darin Adler.
2214
2215         * WebCoreSupport/WebPlatformStrategies.h:
2216         * WebCoreSupport/WebPlatformStrategies.mm:
2217         (WebPlatformStrategies::writeToPasteboard):
2218
2219 2013-09-24  Mark Rowe  <mrowe@apple.com>
2220
2221         <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
2222
2223         Reviewed by Dan Bernstein.
2224
2225         * Configurations/Base.xcconfig:
2226
2227 2013-09-21  Mark Lam  <mark.lam@apple.com>
2228
2229         Remove unused code in WebKit/mac's WebScriptDebugDelegate.
2230         https://bugs.webkit.org/show_bug.cgi?id=121706.
2231
2232         Reviewed by Timothy Hatcher.
2233
2234         WebScriptDebugDelegate's didEnterCallFrame, willExecuteStatement,
2235         and willLeaveCallFrame are not in use. Removed them and all methods
2236         and fields used for supporting them.
2237
2238         * WebView/WebDelegateImplementationCaching.h:
2239         * WebView/WebScriptDebugDelegate.h:
2240         * WebView/WebScriptDebugDelegate.mm:
2241         (-[WebScriptCallFramePrivate dealloc]):
2242         (-[WebScriptCallFrame _initWithGlobalObject:debuggerCallFrame:]):
2243         * WebView/WebScriptDebugger.h:
2244         (WebScriptDebugger::globalObject):
2245         (WebScriptDebugger::callEvent):
2246         (WebScriptDebugger::atStatement):
2247         (WebScriptDebugger::returnEvent):
2248         (WebScriptDebugger::willExecuteProgram):
2249         (WebScriptDebugger::didExecuteProgram):
2250         (WebScriptDebugger::didReachBreakpoint):
2251         * WebView/WebScriptDebugger.mm:
2252         (WebScriptDebugger::WebScriptDebugger):
2253         (WebScriptDebugger::exception):
2254         * WebView/WebView.mm:
2255         (-[WebView _cacheScriptDebugDelegateImplementations]):
2256
2257 2013-09-18  Anders Carlsson  <andersca@apple.com>
2258
2259         RefPtrHashMap should work with move only types
2260         https://bugs.webkit.org/show_bug.cgi?id=121564
2261
2262         Reviewed by Andreas Kling.
2263
2264         * Plugins/Hosted/ProxyInstance.mm:
2265         (WebKit::ProxyInstance::methodNamed):
2266         (WebKit::ProxyInstance::fieldNamed):
2267
2268 2013-09-16  Enrica Casucci  <enrica@apple.com>
2269
2270         Remove unused function didSetSelectionTypesForPasteboard from EditorClient.
2271         https://bugs.webkit.org/show_bug.cgi?id=121464
2272
2273         Reviewed by Darin Adler.
2274
2275         This method was only implemented in WebEditorClient.mm for Mac where it was
2276         calling a private delegate that is no longer in use.
2277
2278         * DefaultDelegates/WebDefaultEditingDelegate.m:
2279         * WebCoreSupport/WebEditorClient.h:
2280         * WebCoreSupport/WebEditorClient.mm:
2281         * WebView/WebEditingDelegatePrivate.h:
2282
2283 2013-09-13  Anders Carlsson  <andersca@apple.com>
2284
2285         Use nullptr instead of 0 in calls to HashMap::add
2286         https://bugs.webkit.org/show_bug.cgi?id=121322
2287
2288         Reviewed by Sam Weinig.
2289
2290         * Plugins/Hosted/NetscapePluginHostManager.mm:
2291         (WebKit::NetscapePluginHostManager::hostForPlugin):
2292
2293 2013-09-13  Dan Bernstein  <mitz@apple.com>
2294
2295         [mac WK1] Introduce WebViewWillCloseNotification
2296         https://bugs.webkit.org/show_bug.cgi?id=121321
2297
2298         Reviewed by Sam Weinig.
2299
2300         * WebKit.exp: Exported WebViewWillCloseNotification.
2301         * WebView/WebView.mm:
2302         (-[WebView _close]): Send WebViewWillCloseNotification before closing the WebView.
2303         * WebView/WebViewPrivate.h: Declared WebViewWillCloseNotification.
2304
2305 2013-09-13  Tim Horton  <timothy_horton@apple.com>
2306
2307         REGRESSION (r155615): Lots of reftests fail with single line or single pixel differences
2308         https://bugs.webkit.org/show_bug.cgi?id=121245
2309
2310         Reviewed by Darin Adler.
2311
2312         Similar to https://bugs.webkit.org/show_bug.cgi?id=120963,
2313         we need to manually ensure that some pieces of persistent
2314         CoreGraphics state are restored after PDFKit changes them.
2315
2316         In this case, we bookend our restoration around the various
2317         _recursiveDisplay... functions that we also use in WebHTMLView.
2318
2319         * WebView/WebPDFView.mm:
2320         (-[WebPDFView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
2321         (-[WebPDFView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2322         (-[WebPDFView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
2323         (-[WebPDFView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):
2324
2325 2013-09-12  Anders Carlsson  <andersca@apple.com>
2326
2327         SharedBuffer::createNSData should return a RetainPtr<NSData>
2328         https://bugs.webkit.org/show_bug.cgi?id=121237
2329
2330         Reviewed by Darin Adler.
2331
2332         Update for WebCore changes. This also fixes a leak where we'd create an NSFileWrapper from NSData but never release the data.
2333
2334         * WebView/WebDataSource.mm:
2335         (-[WebDataSource data]):
2336         * WebView/WebHTMLRepresentation.mm:
2337         (-[WebHTMLRepresentation documentSource]):
2338         * WebView/WebHTMLView.mm:
2339         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2340         * WebView/WebResource.mm:
2341         (-[WebResource encodeWithCoder:]):
2342         (-[WebResource data]):
2343
2344 2013-09-12  Mark Lam  <mark.lam@apple.com>
2345
2346         Change debug hooks to pass sourceID and position info via the DebuggerCallFrame.
2347         https://bugs.webkit.org/show_bug.cgi?id=121214.
2348
2349         Reviewed by Geoffrey Garen.
2350
2351         * webview/WebScriptDebugger.h:
2352         * WebView/WebScriptDebugger.mm:
2353         (WebScriptDebugger::WebScriptDebugger):
2354         (WebScriptDebugger::callEvent):
2355         (WebScriptDebugger::atStatement):
2356         (WebScriptDebugger::returnEvent):
2357         (WebScriptDebugger::exception):
2358         (WebScriptDebugger::willExecuteProgram):
2359         (WebScriptDebugger::didExecuteProgram):
2360         (WebScriptDebugger::didReachBreakpoint):
2361
2362 2013-09-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2363
2364         Generate more HTML type checks and casting
2365         https://bugs.webkit.org/show_bug.cgi?id=121080
2366
2367         Reviewed by Andreas Kling.
2368
2369         Clean-up remained functions of HTML elements using auto-generated isFooElement(),
2370         and replace toFooElement() with ELEMENT_TYPE_CASTS() macro.
2371
2372         Besides this patch clean-up unnecessary checks which are being supported by
2373         auto-generated isFooElement().
2374
2375         No new tests, no behavior change.
2376
2377         * Plugins/WebPluginController.mm:
2378         * WebCoreSupport/WebChromeClient.mm:
2379         (WebChromeClient::supportsFullscreenForNode):
2380         * WebView/WebView.mm:
2381         (-[WebView _enterFullscreenForNode:WebCore::]):
2382
2383 2013-09-10  Daniel Bates  <dabates@apple.com>
2384
2385         [iOS] Upstream text autosizing
2386         https://bugs.webkit.org/show_bug.cgi?id=121111
2387
2388         Reviewed by Andy Estes and Sam Weinig.
2389
2390         * WebView/WebFrame.mm:
2391         (-[WebFrame resetTextAutosizingBeforeLayout]): Added.
2392         (-[WebFrame _setVisibleSize:]): Added.
2393         (-[WebFrame _setTextAutosizingWidth:]): Added.
2394         * WebView/WebFramePrivate.h:
2395         * WebView/WebPreferenceKeysPrivate.h:
2396         * WebView/WebPreferences.mm:
2397         (+[WebPreferences initialize]):
2398         (-[WebPreferences _setMinimumZoomFontSize:]): Added.
2399         (-[WebPreferences _minimumZoomFontSize]): Added.
2400
2401 2013-09-09  Dean Jackson  <dino@apple.com>
2402
2403         [WebGL] Allow multithreaded OpenGL contexts
2404         https://bugs.webkit.org/show_bug.cgi?id=121062
2405
2406         Reviewed by Simon Fraser.
2407
2408         Expose a new preference "multithreadedWebGLEnabled".
2409
2410         * WebView/WebPreferenceKeysPrivate.h:
2411         * WebView/WebPreferences.mm:
2412         (+[WebPreferences initialize]):
2413         (-[WebPreferences multithreadedWebGLEnabled]):
2414         (-[WebPreferences setMultithreadedWebGLEnabled:]):
2415         * WebView/WebPreferencesPrivate.h:
2416         * WebView/WebView.mm:
2417         (-[WebView _preferencesChanged:]):
2418
2419 2013-09-09  Dean Jackson  <dino@apple.com>
2420
2421         Enable WebGL for OS X nightlies
2422         https://bugs.webkit.org/show_bug.cgi?id=121040
2423
2424         Reviewed by Beth Dakin.
2425
2426         * WebView/WebPreferences.mm:
2427         (+[WebPreferences initialize]): Set WebPreference to YES.
2428
2429 2013-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2430
2431         Range::ownerDocument should return Document&
2432         https://bugs.webkit.org/show_bug.cgi?id=120908
2433
2434         Reviewed by Andreas Kling.
2435
2436         * WebView/WebPDFView.mm:
2437         (isFrameInRange):
2438
2439 2013-09-05  Andreas Kling  <akling@apple.com>
2440
2441         ScrollView::children() should return a reference.
2442         <https://webkit.org/b/120795>
2443
2444         Reviewed by Anders Carlsson.
2445
2446         * WebView/WebView.mm:
2447         (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):
2448
2449 2013-09-04  Mark Rowe  <mrowe@apple.com>
2450
2451         <https://webkit.org/b/120707> Make WebKit's localizable strings mechanism usable under ARC
2452
2453         WebKit's localizable strings mechanism is also used outside of WebKit so it needs to work
2454         both with and without ARC.
2455
2456         Reviewed by Anders Carlsson.
2457
2458         * Misc/WebLocalizableStrings.h: Mark the bundle member as unretained. This matches how the
2459         member is used within WebLocalizableStrings.mm.
2460
2461 2013-09-02  Darin Adler  <darin@apple.com>
2462
2463         [Mac] No need for HardAutorelease, which is same as CFBridgingRelease
2464         https://bugs.webkit.org/show_bug.cgi?id=120569
2465
2466         Reviewed by Andy Estes.
2467
2468         * Misc/WebNSFileManagerExtras.mm:
2469         (-[NSFileManager _webkit_startupVolumeName]): Removed some unneeded locals.
2470         Got rid of the pointless ref/leakRef/HardAutorelease dance, and replaced it
2471         with a [[x copy] autorelease].
2472
2473         * Misc/WebNSURLExtras.mm:
2474         (-[NSURL _web_URLWithLowercasedScheme]): Use CFBridgingRelease, and got rid
2475         of unneeded type casts.
2476
2477         * Plugins/WebBasePluginPackage.mm:
2478         (+[WebBasePluginPackage preferredLocalizationName]): Use CFBridgingRelease.
2479         * WebView/WebPDFRepresentation.mm:
2480         (-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Ditto.
2481
2482         * WebView/WebView.mm:
2483         (+[WebView _setCacheModel:]): Use CFBridgingRelease and got rid of unneeded
2484         type cast.
2485
2486 2013-08-30  Antti Koivisto  <antti@apple.com>
2487
2488         Remove code behind ENABLE(DIALOG_ELEMENT)
2489         https://bugs.webkit.org/show_bug.cgi?id=120467
2490
2491         Reviewed by Darin Adler.
2492
2493         * Configurations/FeatureDefines.xcconfig:
2494
2495 2013-08-29  Sam Weinig  <sam@webkit.org>
2496
2497         Add ENABLE gaurds for Promises
2498         https://bugs.webkit.org/show_bug.cgi?id=120488
2499
2500         Reviewed by Andreas Kling.
2501
2502         * Configurations/FeatureDefines.xcconfig:
2503
2504 2013-08-29  Joseph Pecoraro  <pecoraro@apple.com>
2505
2506         Web Inspector: Download Web Archive of Inspected Page
2507         https://bugs.webkit.org/show_bug.cgi?id=119774
2508
2509         Reviewed by Timothy Hatcher.
2510
2511         Update to support InspectorFrontendHost.save's new base64Encoded
2512         parameter. It means the incoming content is binary data, not a string.
2513
2514         * WebCoreSupport/WebInspectorClient.h:
2515         * WebCoreSupport/WebInspectorClient.mm:
2516         (WebInspectorFrontendClient::save):
2517
2518 2013-08-28  Chris Curtis  <chris_curtis@apple.com>
2519
2520         https://bugs.webkit.org/show_bug.cgi?id=119548
2521         Refactoring Exception throws.
2522
2523         Reviewed by Geoffrey Garen.
2524         
2525         Moved setting an exception into the vm, These functions changed to use the new functionality.
2526
2527         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2528         (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
2529         * Plugins/Hosted/ProxyInstance.mm:
2530         (WebKit::ProxyInstance::invokeMethod):
2531
2532 2013-08-27  Anders Carlsson  <andersca@apple.com>
2533
2534         Fix build.
2535
2536         * Plugins/Hosted/ProxyInstance.h:
2537         * Plugins/Hosted/ProxyInstance.mm:
2538         (WebKit::ProxyInstance::methodNamed):
2539         (WebKit::ProxyInstance::fieldNamed):
2540
2541 2013-08-23  Andy Estes  <aestes@apple.com>
2542
2543         Fix issues found by the Clang Static Analyzer
2544         https://bugs.webkit.org/show_bug.cgi?id=120230
2545
2546         Reviewed by Darin Adler.
2547
2548         * Misc/WebNSFileManagerExtras.mm:
2549         (-[NSFileManager _webkit_startupVolumeName]): Used HardAutorelease()
2550         instead of WebCFAutorelease().
2551         * Misc/WebNSObjectExtras.h: Removed definition of WebCFAutorelease().
2552         * Misc/WebNSURLExtras.mm:
2553         (-[NSURL _web_URLWithLowercasedScheme]): Used HardAutorelease()
2554         instead of WebCFAutorelease().
2555         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2556         (-[WebHostedNetscapePluginView createPluginLayer]): Stop leaking
2557         CGColors (CALayer retains its backgroundColor property despite the
2558         property attributes claiming otherwise).
2559         * Plugins/WebBasePluginPackage.mm:
2560         (+[WebBasePluginPackage preferredLocalizationName]): Used
2561         HardAutorelease() instead of WebCFAutorelease().
2562         * WebView/WebDeviceOrientationProviderMock.mm:
2563         (-[WebDeviceOrientationProviderMockInternal lastOrientation]): Stop
2564         leaking WebDeviceOrientations.
2565         * WebView/WebPDFRepresentation.mm:
2566         (-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Used
2567         HardAutorelease() instead of WebCFAutorelease().
2568         * WebView/WebView.mm:
2569         (+[WebView _setCacheModel:]): Ditto.
2570         (-[WebView _removeObjectForIdentifier:]): Ditto.
2571
2572 2013-08-26  Alexey Proskuryakov  <ap@apple.com>
2573
2574         [Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
2575         https://bugs.webkit.org/show_bug.cgi?id=113094
2576
2577         Reviewed by Darin Adler.
2578
2579         Return new pasteboard change count from all functions that change it.
2580
2581         * WebCoreSupport/WebPlatformStrategies.h:
2582         * WebCoreSupport/WebPlatformStrategies.mm:
2583         (WebPlatformStrategies::copy):
2584         (WebPlatformStrategies::changeCount):
2585         (WebPlatformStrategies::addTypes):
2586         (WebPlatformStrategies::setTypes):
2587         (WebPlatformStrategies::setBufferForType):
2588         (WebPlatformStrategies::setPathnamesForType):
2589         (WebPlatformStrategies::setStringForType):
2590
2591 2013-08-26  Andreas Kling  <akling@apple.com>
2592
2593         Unreviewed build fix.
2594
2595         * WebView/WebFrame.mm:
2596         (+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
2597
2598 2013-08-26  Andreas Kling  <akling@apple.com>
2599
2600         WebCore: Let Page create the main Frame.
2601         <https://webkit.org/b/119964>
2602
2603         Reviewed by Anders Carlsson.
2604
2605         * WebCoreSupport/WebFrameLoaderClient.h:
2606         (WebFrameLoaderClient::setWebFrame):
2607
2608             Make it possible to construct a WebFrameLoaderClient with a null WebFrame*.
2609             A WebFrame* is later hooked up with a call to setWebFrame().
2610
2611         * WebView/WebFrame.mm:
2612         (+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
2613
2614             Customized this method to wrap the Page::mainFrame() instead of creating a
2615             new Frame.
2616
2617         * WebView/WebView.mm:
2618         (-[WebView _commonInitializationWithFrameName:groupName:]):
2619
2620             Add a WebFrameLoaderClient to the PageClients passed to Page().
2621
2622 2013-08-25  Darin Adler  <darin@apple.com>
2623
2624         Frame should not have a documentTypeString member function
2625         https://bugs.webkit.org/show_bug.cgi?id=120262
2626
2627         Reviewed by Andreas Kling.
2628
2629         * WebView/WebFrame.mm: Removed _stringWithDocumentTypeStringAndMarkupString:
2630         internal method, which was not used anywhere in WebKit. Internal methods are
2631         only for use within WebKit, as opposed to public and private methods that can
2632         be used outside.
2633         * WebView/WebFrameInternal.h: Ditto.
2634
2635 2013-08-24  Darin Adler  <darin@apple.com>
2636
2637         Frame::tree should return a reference instead of a pointer
2638         https://bugs.webkit.org/show_bug.cgi?id=120259
2639
2640         Reviewed by Andreas Kling.
2641
2642         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2643         (WebKit::NetscapePluginInstanceProxy::performRequest):
2644         * Plugins/WebBaseNetscapePluginView.mm:
2645         (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
2646         * Plugins/WebNetscapePluginView.mm:
2647         (-[WebNetscapePluginView loadPluginRequest:]):
2648         * WebCoreSupport/WebFrameLoaderClient.mm:
2649         (applyAppleDictionaryApplicationQuirkNonInlinePart):
2650         (WebFrameLoaderClient::prepareForDataSourceReplacement):
2651         (WebFrameLoaderClient::createFrame):
2652         * WebView/WebFrame.mm:
2653         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
2654         (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
2655         (-[WebFrame _unmarkAllBadGrammar]):
2656         (-[WebFrame _unmarkAllMisspellings]):
2657         (-[WebFrame _atMostOneFrameHasSelection]):
2658         (-[WebFrame _findFrameWithSelection]):
2659         (-[WebFrame _drawRect:contentsOnly:]):
2660         (-[WebFrame _isDescendantOfFrame:]):
2661         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
2662         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
2663         (-[WebFrame name]):
2664         (-[WebFrame findFrameNamed:]):
2665         (-[WebFrame parentFrame]):
2666         (-[WebFrame childFrames]):
2667         * WebView/WebView.mm:
2668         (-[WebView _attachScriptDebuggerToAllFrames]):
2669         (-[WebView _detachScriptDebuggerFromAllFrames]):
2670         (-[WebView _clearMainFrameName]):
2671         (-[WebView _isUsingAcceleratedCompositing]):
2672         (-[WebView _isSoftwareRenderable]):
2673         (-[WebView setHostWindow:]):
2674         (incrementFrame):
2675         Use tree(). instead of tree()->.
2676
2677 2013-08-23  Beth Dakin  <bdakin@apple.com>
2678
2679         REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in 
2680         Adobe Reader
2681         https://bugs.webkit.org/show_bug.cgi?id=120240
2682         -and corresponding-
2683         <rdar://problem/14634453>
2684
2685         Reviewed by Anders Carlsson.
2686
2687         Hook up new WebSystemInterface API to find out if the current context is the PDF 
2688         context.
2689
2690         * WebCoreSupport/WebSystemInterface.mm:
2691         (InitWebCoreSystemInterface):
2692
2693 2013-08-20  Pratik Solanki  <psolanki@apple.com>
2694
2695         <https://webkit.org/b/120029> Document::markers() should return a reference
2696
2697         Reviewed by Andreas Kling.
2698
2699         Document::m_markers is never NULL so return a reference from Document::markers(). Also mark
2700         m_markers as const and initialize it in member initialization.
2701
2702         * WebView/WebFrame.mm:
2703         (-[WebFrame _unmarkAllBadGrammar]):
2704         (-[WebFrame _unmarkAllMisspellings]):
2705         * WebView/WebHTMLView.mm:
2706         (-[WebHTMLView unmarkAllTextMatches]):
2707         (-[WebHTMLView rectsForTextMatches]):
2708
2709 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2710
2711         <https://webkit.org/b/120049> Delete code for Snow Leopard
2712
2713         Reviewed by Benjamin Poulain.
2714
2715         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
2716         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
2717         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
2718         * Misc/WebNSControlExtras.m:
2719         (-[NSControl sizeToFitAndAdjustWindowHeight]):
2720         * Misc/WebNSFileManagerExtras.mm:
2721         * WebCoreSupport/WebEditorClient.mm:
2722         (WebEditorClient::shouldEraseMarkersAfterChangeSelection):
2723         (WebEditorClient::getGuessesForWord):
2724         * WebCoreSupport/WebFrameLoaderClient.mm:
2725         (WebFrameLoaderClient::dispatchDidLayout):
2726         (WebFrameLoaderClient::provisionalLoadStarted):
2727         * WebCoreSupport/WebSystemInterface.mm:
2728         (InitWebCoreSystemInterface):
2729         * WebKitPrefix.h:
2730         * WebView/WebDynamicScrollBarsView.mm:
2731         (-[WebDynamicScrollBarsView scrollWheel:]):
2732         * WebView/WebFullScreenController.mm:
2733         (convertRectToScreen):
2734         (-[WebFullScreenController finishedEnterFullScreenAnimation:]):
2735         (-[WebFullScreenController exitFullScreen]):
2736         * WebView/WebHTMLView.mm:
2737         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
2738         (-[WebHTMLView removeMouseMovedObserver]):
2739         (-[WebHTMLView windowDidBecomeKey:]):
2740         (-[WebHTMLView windowDidResignKey:]):
2741         * WebView/WebView.mm:
2742         (-[WebView _deviceScaleFactor]):
2743
2744 2013-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2745
2746         <https://webkit.org/b/120051> Remove the Mail thread workaround
2747
2748         Reviewed by Sam Weinig.
2749
2750         Remove the workaround for a very old version of Mail added in r39455.
2751
2752         * WebView/WebArchive.mm:
2753         (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
2754         (-[WebArchive mainResource]):
2755         (-[WebArchive subresources]):
2756         (-[WebArchive subframeArchives]):
2757         * WebView/WebFrameView.mm:
2758         (-[WebFrameView initWithFrame:]):
2759         * WebView/WebResource.mm:
2760         (-[WebResource data]):
2761         (-[WebResource URL]):
2762         (-[WebResource MIMEType]):
2763         (-[WebResource textEncodingName]):
2764         (-[WebResource frameName]):
2765         (-[WebResource _ignoreWhenUnarchiving]):
2766         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
2767         (-[WebResource _suggestedFilename]):
2768         (-[WebResource _response]):
2769         (-[WebResource _stringValue]):
2770
2771 2013-08-19  Pratik Solanki  <psolanki@apple.com>
2772
2773         <https://webkit.org/b/119918> Frame::selection() should return a reference
2774
2775         Reviewed by Darin Adler.
2776
2777         m_selection is never NULL so return a reference from Frame::selection(). Also removed some
2778         unnecessary null checks and assert diff ts exposed as a result.
2779
2780         * Plugins/WebPluginController.mm:
2781         * WebView/WebFrame.mm:
2782         (-[WebFrame _hasSelection]):
2783         (-[WebFrame _rangeByAlteringCurrentSelection:FrameSelection::direction:granularity:]):
2784         (-[WebFrame _selectionGranularity]):
2785         (-[WebFrame _convertToNSRange:]):
2786         (-[WebFrame _convertToDOMRange:]):
2787         (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
2788         (-[WebFrame _typingStyle]):
2789         (-[WebFrame _selectedNSRange]):
2790         (-[WebFrame _selectNSRange:]):
2791         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
2792         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
2793         * WebView/WebHTMLRepresentation.mm:
2794         (-[WebHTMLRepresentation currentForm]):
2795         * WebView/WebHTMLView.mm:
2796         (-[WebHTMLView readSelectionFromPasteboard:]):
2797         (-[WebHTMLView _selectedRange]):
2798         (-[WebHTMLView _hasSelection]):
2799         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
2800         (-[WebHTMLView _hasInsertionPoint]):
2801         (-[WebHTMLView _isEditable]):
2802         (-[WebHTMLView jumpToSelection:]):
2803         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2804         (-[WebHTMLView maintainsInactiveSelection]):
2805         (isTextInput):
2806         (isInPasswordField):
2807         (-[WebHTMLView centerSelectionInVisibleArea:]):
2808         (-[WebHTMLView _canSmartCopyOrDelete]):
2809         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2810         (-[WebHTMLView _updateSelectionForInputManager]):
2811         (-[WebHTMLView selectionRect]):
2812         (-[WebHTMLView selectionTextRects]):
2813         (-[WebHTMLView selectionImageRect]):
2814         (-[WebHTMLView selectAll]):
2815         (-[WebHTMLView deselectAll]):
2816         (-[WebHTMLView selectedAttributedString]):
2817         * WebView/WebTextCompletionController.mm:
2818         (-[WebTextCompletionController doCompletion]):
2819         * WebView/WebView.mm:
2820         (-[WebView setSelectedDOMRange:affinity:]):
2821         (-[WebView selectedDOMRange]):
2822         (-[WebView selectionAffinity]):
2823         (-[WebView setEditable:]):
2824         (-[WebView _selectionIsCaret]):
2825         (-[WebView _selectionIsAll]):
2826
2827 2013-08-17  Darin Adler  <darin@apple.com>
2828
2829         <https://webkit.org/b/119941> Make Page::dragController return a reference
2830
2831         Reviewed by Andreas Kling.
2832
2833         * WebView/WebFrameView.mm:
2834         (-[WebFrameView _setDocumentView:]):
2835         * WebView/WebHTMLView.mm:
2836         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2837         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2838         * WebView/WebView.mm:
2839         (-[WebView _setInitiatedDrag:]):
2840         (-[WebView draggingEntered:]):
2841         (-[WebView draggingUpdated:]):
2842         (-[WebView draggingExited:]):
2843         (-[WebView performDragOperation:]):
2844         (-[WebView moveDragCaretToPoint:]):
2845         (-[WebView removeDragCaret]):
2846         Updated call sites.
2847
2848 2013-08-16  Pratik Solanki  <psolanki@apple.com>
2849
2850         <https://webkit.org/b/119852> Frame::scriptController() should return a reference
2851
2852         Reviewed by Andreas Kling.
2853
2854         m_script is never NULL so we can just return a reference. Also remove some pointless null
2855         checks as a result of doing this.
2856
2857         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2858         (WebKit::NetscapePluginInstanceProxy::cleanup):
2859         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
2860         (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
2861         (WebKit::NetscapePluginInstanceProxy::evaluate):
2862         (WebKit::NetscapePluginInstanceProxy::invoke):
2863         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
2864         (WebKit::NetscapePluginInstanceProxy::construct):
2865         (WebKit::NetscapePluginInstanceProxy::getProperty):
2866         (WebKit::NetscapePluginInstanceProxy::setProperty):
2867         (WebKit::NetscapePluginInstanceProxy::removeProperty):
2868         (WebKit::NetscapePluginInstanceProxy::hasProperty):
2869         (WebKit::NetscapePluginInstanceProxy::hasMethod):
2870         (WebKit::NetscapePluginInstanceProxy::enumerate):
2871         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
2872         * Plugins/WebNetscapePluginView.mm:
2873         (-[WebNetscapePluginView getVariable:value:]):
2874         (-[WebNetscapePluginView _destroyPlugin]):
2875         * Plugins/WebPluginController.mm:
2876         * WebCoreSupport/WebFrameLoaderClient.mm:
2877         * WebCoreSupport/WebInspectorClient.mm:
2878         (WebInspectorFrontendClient::save):
2879         (WebInspectorFrontendClient::append):
2880         * WebView/WebFrame.mm:
2881         (-[WebFrame _attachScriptDebugger]):
2882         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2883         (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
2884         (-[WebFrame _globalContextForScriptWorld:]):
2885         (-[WebFrame jsWrapperForNode:inScriptWorld:]):
2886         (-[WebFrame windowObject]):
2887         (-[WebFrame globalContext]):
2888         (-[WebFrame javaScriptContext]):
2889         * WebView/WebScriptDebugger.mm:
2890         (WebScriptDebugger::initGlobalCallFrame):
2891         (WebScriptDebugger::callEvent):
2892         * WebView/WebView.mm:
2893         (-[WebView windowScriptObject]):
2894         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2895
2896 2013-08-15  Anders Carlsson  <andersca@apple.com>
2897
2898         <https://webkit.org/b/119859> Frame::loader() should return a reference
2899
2900         Reviewed by Andreas Kling.
2901
2902         * Plugins/Hosted/HostedNetscapePluginStream.mm:
2903         (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
2904         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2905         (WebKit::NetscapePluginInstanceProxy::performRequest):
2906         (WebKit::NetscapePluginInstanceProxy::loadRequest):
2907         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2908         (-[WebHostedNetscapePluginView pluginView:receivedResponse:]):
2909         * Plugins/WebBaseNetscapePluginView.mm:
2910         (-[WebBaseNetscapePluginView requestWithURLCString:]):
2911         * Plugins/WebNetscapePluginStream.mm:
2912         (WebNetscapePluginStream::WebNetscapePluginStream):
2913         * Plugins/WebNetscapePluginView.mm:
2914         (-[WebNetscapePluginView loadStream]):
2915         (-[WebNetscapePluginView pluginView:receivedResponse:]):
2916         (-[WebNetscapePluginView loadPluginRequest:]):
2917         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2918         * Plugins/WebPluginController.mm:
2919         * WebCoreSupport/WebFrameLoaderClient.mm:
2920         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
2921         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2922         (WebFrameLoaderClient::dispatchWillSubmitForm):
2923         (WebFrameLoaderClient::updateGlobalHistory):
2924         (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
2925         (WebFrameLoaderClient::restoreViewState):
2926         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2927         (WebFrameLoaderClient::createFrame):
2928         * WebCoreSupport/WebFrameNetworkingContext.mm:
2929         (WebFrameNetworkingContext::blockedError):
2930         * WebCoreSupport/WebPlatformStrategies.mm:
2931         (WebPlatformStrategies::getPluginInfo):
2932         * WebView/WebFrame.mm:
2933         (kit):
2934         (-[WebFrame _dataSource]):
2935         (-[WebFrame _canProvideDocumentSource]):
2936         (-[WebFrame _commitData:]):
2937         (-[WebFrame _firstLayoutDone]):
2938         (-[WebFrame _loadType]):
2939         (-[WebFrame _cacheabilityDictionary]):
2940         (-[WebFrame _clearOpener]):
2941         (-[WebFrame provisionalDataSource]):
2942         (-[WebFrame dataSource]):
2943         (-[WebFrame loadRequest:]):
2944         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2945         (-[WebFrame loadArchive:]):
2946         (-[WebFrame stopLoading]):
2947         (-[WebFrame reload]):
2948         (-[WebFrame reloadFromOrigin]):
2949         * WebView/WebHTMLRepresentation.mm:
2950         (-[WebHTMLRepresentation receivedData:withDataSource:]):
2951         * WebView/WebHTMLView.mm:
2952         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2953         * WebView/WebPDFView.mm:
2954         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2955         * WebView/WebRenderLayer.mm:
2956         (-[WebRenderLayer initWithWebFrame:]):
2957         * WebView/WebRenderNode.mm:
2958         (-[WebRenderNode _initWithCoreFrame:]):
2959         * WebView/WebView.mm:
2960         (-[WebView _close]):
2961         (-[WebView _loadBackForwardListFromOtherView:]):
2962         (-[WebView _cachedResponseForURL:]):
2963         (-[WebView setCustomTextEncodingName:]):
2964         (-[WebView shouldClose]):
2965
2966 2013-08-15  Anders Carlsson  <andersca@apple.com>
2967
2968         <https://webkit.org/b/119854> REGRESSION (r153379): Serious drawing issues with WebViews
2969         <rdar://problem/14698870>
2970
2971         Reviewed by Simon Fraser.
2972
2973         Don't set aside subviews if they have already been set aside.
2974
2975         * WebView/WebHTMLView.mm:
2976         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):
2977
2978 2013-08-15  Eric Carlson  <eric.carlson@apple.com>
2979
2980         [Mac] Remove "legacy" media UI
2981         https://bugs.webkit.org/show_bug.cgi?id=119752
2982
2983         Reviewed by Jer Noble.
2984
2985         * WebCoreSupport/WebSystemInterface.mm:
2986         (InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable.
2987
2988 2013-08-14  Tim Horton  <timothy_horton@apple.com>
2989
2990         Remotely hosted plugins don’t work in window-server-hosted WebKit1 views
2991         https://bugs.webkit.org/show_bug.cgi?id=119709
2992         <rdar://problem/14717572>
2993
2994         Reviewed by Anders Carlsson.
2995
2996         * Plugins/Hosted/NetscapePluginHostManager.h:
2997         Add hostLayersInWindowServer argument to instantiatePlugin.
2998
2999         * Plugins/Hosted/NetscapePluginHostManager.mm:
3000         (WebKit::NetscapePluginHostManager::instantiatePlugin):
3001         Add hostLayersInWindowServer argument to instantiatePlugin, and pass it through to WebKitPluginHost.
3002
3003         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3004         (WKPCLayerHostingModeChanged):
3005         Forward the notification that the plugin host changed its layer hosting mode
3006         to the instance proxy.
3007
3008         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3009         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3010         (WebKit::NetscapePluginInstanceProxy::setShouldHostLayersInWindowServer):
3011         Ask the plugin host to re-host its layers when the layer hosting mode changes.
3012
3013         (WebKit::NetscapePluginInstanceProxy::layerHostingModeChanged):
3014         Inform the WebHostedNetscapePluginView of the new layer hosting mode
3015         when it changes. Also, store the new CAContext ID.
3016
3017         * Plugins/Hosted/WebHostedNetscapePluginView.h:
3018         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3019         (-[WebHostedNetscapePluginView windowHostsLayersInWindowServer]):
3020         Determine whether the WebView's current window uses window-server hosting for its layers.
3021
3022         (-[WebHostedNetscapePluginView createPlugin]):
3023         Drive-by spelling fix.
3024         Factor _pluginLayer initialization out into createPluginLayer.
3025         Instantiate the plugin with the appropriate layer hosting mode.
3026
3027         (-[WebHostedNetscapePluginView createPluginLayer]):
3028
3029         (-[WebHostedNetscapePluginView setHostsLayersInWindowServer:]):
3030         Create a new _pluginLayer if the layer hosting mode changes.
3031         Attach the new _pluginLayer to our parent layer.
3032
3033         (-[WebHostedNetscapePluginView updateAndSetWindow]):
3034         Inform the NetscapePluginInstanceProxy if the layer hosting mode changes,
3035         so it can inform the plugin host. We will asynchronously receive a reply
3036         with the new hosting mode and renderContextID and switch to the new CAContext,
3037         in setHostsLayersInWindowServer:.
3038
3039         * Plugins/Hosted/WebKitPluginClient.defs:
3040         * Plugins/Hosted/WebKitPluginHost.defs:
3041
3042 2013-08-14  Tim Horton  <timothy_horton@apple.com>
3043
3044         REGRESSION (r153877): Plugin scanning slows creation of WebViews
3045         https://bugs.webkit.org/show_bug.cgi?id=119665
3046         <rdar://problem/14716549>
3047
3048         Reviewed by Darin Adler.
3049
3050         * Plugins/WebPluginDatabase.h:
3051         * Plugins/WebPluginDatabase.mm:
3052         (+[WebPluginDatabase sharedDatabaseIfExists]): Added.
3053
3054         * WebCoreSupport/WebPlatformStrategies.mm:
3055         (WebPlatformStrategies::refreshPlugins):
3056         Only refresh the plugin database if it's already been loaded.
3057
3058 2013-08-14  Jer Noble  <jer.noble@apple.com>
3059
3060         Revert r154019; causes >50 tests to fail on WebKit1 bots.
3061
3062         * Plugins/Hosted/NetscapePluginHostManager.h:
3063         * Plugins/Hosted/NetscapePluginHostManager.mm:
3064         (WebKit::NetscapePluginHostManager::instantiatePlugin):
3065         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3066         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3067         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3068         * Plugins/Hosted/WebHostedNetscapePluginView.h:
3069         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3070         (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
3071         (-[WebHostedNetscapePluginView createPlugin]):
3072         (-[WebHostedNetscapePluginView updateAndSetWindow]):
3073         * Plugins/Hosted/WebKitPluginClient.defs:
3074         * Plugins/Hosted/WebKitPluginHost.defs:
3075
3076 2013-08-13  Filip Pizlo  <fpizlo@apple.com>
3077
3078         Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
3079         https://bugs.webkit.org/show_bug.cgi?id=119770
3080
3081         Reviewed by Mark Hahnenberg.
3082
3083         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3084         (WebKit::getObjectID):
3085         (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
3086         (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
3087         * Plugins/Hosted/ProxyInstance.mm:
3088         (WebKit::ProxyRuntimeMethod::finishCreation):
3089         (WebKit::ProxyInstance::invokeMethod):
3090         * Plugins/Hosted/ProxyRuntimeObject.h:
3091         (WebKit::ProxyRuntimeObject::createStructure):
3092         * WebView/WebView.mm:
3093         (aeDescFromJSValue):
3094
3095 2013-08-13  Anders Carlsson  <andersca@apple.com>
3096
3097         <https://webkit.org/b/119777> Get rid of two gotos
3098
3099         Reviewed by Tim Horton.
3100
3101         * WebView/WebHTMLView.mm:
3102         (-[WebHTMLView mouseDown:]):
3103         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
3104
3105 2013-08-13  Tim Horton  <timothy_horton@apple.com>
3106
3107         Remotely hosted plugins don’t work in window-server-hosted WebKit1 views
3108         https://bugs.webkit.org/show_bug.cgi?id=119709
3109         <rdar://problem/14717572>
3110
3111         Reviewed by Anders Carlsson.
3112
3113         * Plugins/Hosted/NetscapePluginHostManager.h:
3114         Add hostLayersInWindowServer argument to instantiatePlugin.
3115
3116         * Plugins/Hosted/NetscapePluginHostManager.mm:
3117         (WebKit::NetscapePluginHostManager::instantiatePlugin):
3118         Add hostLayersInWindowServer argument to instantiatePlugin, and pass it through to WebKitPluginHost.
3119
3120         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3121         (WKPCLayerHostingModeChanged):
3122         Forward the notification that the plugin host changed its layer hosting mode
3123         to the instance proxy.
3124
3125         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3126         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3127         (WebKit::NetscapePluginInstanceProxy::setShouldHostLayersInWindowServer):
3128         Ask the plugin host to re-host its layers when the layer hosting mode changes.
3129
3130         (WebKit::NetscapePluginInstanceProxy::layerHostingModeChanged):
3131         Inform the WebHostedNetscapePluginView of the new layer hosting mode
3132         when it changes. Also, store the new CAContext ID.
3133
3134         * Plugins/Hosted/WebHostedNetscapePluginView.h:
3135         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3136         (-[WebHostedNetscapePluginView windowHostsLayersInWindowServer]):
3137         Determine whether the WebView's current window uses window-server hosting for its layers.
3138
3139         (-[WebHostedNetscapePluginView createPlugin]):
3140         Drive-by spelling fix.
3141         Factor _pluginLayer initialization out into createPluginLayer.
3142         Instantiate the plugin with the appropriate layer hosting mode.
3143
3144         (-[WebHostedNetscapePluginView createPluginLayer]):
3145
3146         (-[WebHostedNetscapePluginView setHostsLayersInWindowServer:]):
3147         Create a new _pluginLayer if the layer hosting mode changes.
3148         Attach the new _pluginLayer to our parent layer.
3149
3150         (-[WebHostedNetscapePluginView updateAndSetWindow]):
3151         Inform the NetscapePluginInstanceProxy if the layer hosting mode changes,
3152         so it can inform the plugin host. We will asynchronously receive a reply
3153         with the new hosting mode and renderContextID and switch to the new CAContext,
3154         in setHostsLayersInWindowServer:.
3155
3156         * Plugins/Hosted/WebKitPluginClient.defs:
3157         * Plugins/Hosted/WebKitPluginHost.defs:
3158
3159 2013-08-08  Tim Horton  <timothy_horton@apple.com>
3160
3161         navigator.plugins has plugins in it when plugins are disabled
3162         https://bugs.webkit.org/show_bug.cgi?id=119607
3163         <rdar://problem/14678030>
3164
3165         Reviewed by Anders Carlsson.
3166
3167         * WebCoreSupport/WebPlatformStrategies.mm:
3168         (WebPlatformStrategies::getPluginInfo):
3169         If plugins are disabled for the given page, give WebCore an empty list of
3170         plugins. If WebKit1 had any application plugins, we'd return just them
3171         instead.
3172
3173 2013-08-06  Stephanie Lewis  <slewis@apple.com>
3174
3175         Update Order Files for Safari
3176         <rdar://problem/14517392>
3177
3178         Unreviewed.
3179
3180         * WebKit.order:
3181
3182 2013-08-04  Sam Weinig  <sam@webkit.org>
3183
3184         Remove support for HTML5 MicroData
3185         https://bugs.webkit.org/show_bug.cgi?id=119480
3186
3187         Reviewed by Anders Carlsson.
3188
3189         * Configurations/FeatureDefines.xcconfig:
3190
3191 2013-07-23  David Farler  <dfarler@apple.com>
3192
3193         Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
3194         https://bugs.webkit.org/show_bug.cgi?id=117762
3195
3196         Reviewed by Mark Rowe.
3197
3198         * Configurations/DebugRelease.xcconfig:
3199         Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
3200         * Configurations/WebKit.xcconfig:
3201         Add ASAN_OTHER_LDFLAGS.
3202
3203 2013-07-26  Mark Rowe  <mrowe@apple.com>
3204
3205         Logging should be configurable using human-readable channel names rather than crazy bitmasks
3206         <http://webkit.org/b/119031>
3207
3208         Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
3209         and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
3210
3211         Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
3212         "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
3213         being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
3214         for history and loading being enabled.
3215
3216         For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
3217         the old user defaults to remain set for those people that need to switch between version of WebKit before and
3218         after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
3219         the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
3220
3221         For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
3222         consistency with the other platforms and to enable more code sharing.
3223
3224         While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
3225         adding a new logging channel. Now only the header in the relevant project needs to be updated.
3226
3227         Reviewed by Sam Weinig.
3228
3229         * Misc/WebKitLogging.h: Declare a WEBKIT_LOG_CHANNELS macro that can be used to apply a preprocessor macro
3230         across the set of all logging channels. Use this macro to declare the logging channels.
3231         * Misc/WebKitLogging.m: Use WEBKIT_LOG_CHANNELS to define all of the channels. Pass the channels and the
3232         preference value to the new WTF function that handles the initialization.
3233         * WebView/WebPreferenceKeysPrivate.h: Remove a key that does not need to be here.
3234         * WebView/WebView.mm: Switch from WebCore's InitializeLogging.h to Logging.h.
3235
3236 2013-08-01  Ruth Fong  <ruth_fong@apple.com>
3237
3238         [Forms: color] <input type='color'> popover color well implementation
3239         <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
3240
3241         Reviewed by Benjamin Poulain.
3242
3243         * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
3244
3245 2013-07-31  Tim Horton  <timothy_horton@apple.com>
3246
3247         Remove didFinishLoad order quirk
3248         https://bugs.webkit.org/show_bug.cgi?id=119354
3249         <rdar://problem/11510686>
3250
3251         Reviewed by Alexey Proskuryakov.
3252
3253         * Misc/WebKitVersionChecks.h:
3254         * WebView/WebView.mm:
3255         (-[WebView _preferencesChanged:]):
3256         Don't set the now-removed preference.
3257
3258 2013-07-31  Kwang Yul Seo  <skyul@company100.net>
3259
3260         Use emptyString instead of String("")
3261         https://bugs.webkit.org/show_bug.cgi?id=119335
3262
3263         Reviewed by Darin Adler.
3264
3265         Use emptyString() instead of String("") because it is better style and
3266         faster. This is a followup to r116908, removing all occurrences of
3267         String("") from WebKit.
3268
3269         * WebCoreSupport/WebFrameLoaderClient.mm:
3270         (WebFrameLoaderClient::userAgent):
3271
3272 2013-07-31  Ruth Fong  <ruth_fong@apple.com>
3273
3274         <input type=color> Mac UI behaviour
3275         <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276
3276
3277         Reviewed by Brady Eidson.
3278
3279         * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR.
3280         * WebCoreSupport/WebChromeClient.h:
3281         * WebCoreSupport/WebChromeClient.mm:
3282         (WebChromeClient::createColorPicker): Added stub implementation.
3283
3284 2013-07-26  Dean Jackson  <dino@apple.com>
3285
3286         Allow new transitions to run even when controller is suspended
3287         https://bugs.webkit.org/show_bug.cgi?id=119171
3288         <rdar://problem/14511404>
3289
3290         Reviewed by Simon Fraser.
3291
3292         Expose a new SPI on WebView that triggers the (buggy) old behaviour
3293         for animations, such that any newly created animations will start even
3294         when the document is supposedly suspended. It turns out that client content was
3295         unknowingly relying on this behaviour - e.g. suspending a view, loading a
3296         bunch of new content, bringing the view on screen and then unsuspending. In this
3297         situation, we were not running CSS transitions, because the page was suspended.
3298         However, JS was still triggering them, and content was expecting a transitionEnd event.
3299
3300         * WebView/WebView.mm:
3301         (-[WebView allowsNewCSSAnimationsWhileSuspended]): Calls into AnimationController.
3302         (-[WebView setAllowsNewCSSAnimationsWhileSuspended:]): Ditto.
3303         * WebView/WebViewPrivate.h: New methods listed above.
3304
3305 2013-07-26  Anders Carlsson  <andersca@apple.com>
3306
3307         Add another method that we need to set aside subviews for
3308         https://bugs.webkit.org/show_bug.cgi?id=119157
3309         <rdar://problem/14554723>
3310
3311         Reviewed by Beth Dakin.
3312
3313         * WebView/WebHTMLView.mm:
3314         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
3315         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]):
3316
3317 2013-07-25  Andreas Kling  <akling@apple.com>
3318
3319         ChromeClient::focusedNodeChanged() should be focusedElementChanged().
3320         <http://webkit.org/b/119110>
3321
3322         Reviewed by Anders Carlsson.
3323
3324         * WebCoreSupport/WebChromeClient.h:
3325         * WebCoreSupport/WebChromeClient.mm:
3326         (WebChromeClient::focusedElementChanged):
3327
3328 2013-05-05  Geoffrey Garen  <ggaren@apple.com>
3329
3330         Rolled back in r149527 with crash fixed.
3331
3332         Reviewed by Oliver Hunt.
3333
3334             Rationalized 'this' value conversion
3335             https://bugs.webkit.org/show_bug.cgi?id=115542
3336
3337 2013-07-17  Commit Queue  <commit-queue@webkit.org>
3338
3339         Unreviewed, rolling out r152701, r152703, r152739, r152754,
3340         and r152756.
3341         http://trac.webkit.org/changeset/152701
3342         http://trac.webkit.org/changeset/152703
3343         http://trac.webkit.org/changeset/152739
3344         http://trac.webkit.org/changeset/152754
3345         http://trac.webkit.org/changeset/152756
3346         https://bugs.webkit.org/show_bug.cgi?id=118821
3347
3348         this was a buggy fix and we're going to try something
3349         different (Requested by thorton on #webkit).
3350
3351         * WebCoreSupport/WebChromeClient.h:
3352         * WebCoreSupport/WebChromeClient.mm:
3353         (WebChromeClient::shouldUnavailablePluginMessageBeButton):
3354
3355 2013-07-17  Kangil Han  <kangil.han@samsung.com>
3356
3357         Use toHTMLMediaElement
3358         https://bugs.webkit.org/show_bug.cgi?id=118727
3359
3360         Reviewed by Ryosuke Niwa.
3361
3362         To avoid direct use of static_cast, this patch uses toHTMLMediaElement for code cleanup.
3363
3364         * WebView/WebView.mm:
3365         (-[WebView _enterFullscreenForNode:WebCore::]):
3366
3367 2013-07-16  Simon Fraser  <simon.fraser@apple.com>
3368
3369         Protect against the LayerFlushController being deleted inside its flushLayers() callback
3370         https://bugs.webkit.org/show_bug.cgi?id=118741
3371         <rdar://problem/14402651>
3372
3373         Reviewed by Tim Horton.
3374         
3375         It's possible (especially on iOS) for the LayerFlushController to be destroyed
3376         inside its callback, via -[WebView _close]. Protect against this by making
3377         it refcounted, and holding a ref across the callback.
3378         
3379         Due to the odd relationship in which LayerFlushController owns its LayerFlushScheduler
3380         by value, we achieve this by allowing subclasses of LayerFlushScheduler
3381         to override runLoopObserverCallback(). WebViewLayerFlushScheduler uses the
3382         override to protect the owner of the LayerFlushScheduler, which is the
3383         LayerFlushController, when the callback is firing.
3384
3385         * WebView/WebView.mm:
3386         (-[WebView _close]):
3387         * WebView/WebViewData.h:
3388         (WebViewLayerFlushScheduler::~WebViewLayerFlushScheduler):
3389         (LayerFlushController::create):
3390         * WebView/WebViewData.mm:
3391         (LayerFlushController::invalidate):
3392         (WebViewLayerFlushScheduler::WebViewLayerFlushScheduler):
3393
3394 2013-07-16  Jessie Berlin  <jberlin@apple.com>
3395
3396         Fix some NSDictionary misuse pointed out by the clang static analyzer
3397         https://bugs.webkit.org/show_bug.cgi?id=118736
3398
3399         Reviewed by Anders Carlsson.
3400
3401         * Plugins/Hosted/NetscapePluginHostManager.mm:
3402         (WebKit::NetscapePluginHostManager::spawnPluginHost):
3403         Explicitly cast the CFStringRef to an NSString *.
3404         * WebCoreSupport/WebEditorClient.mm:
3405         (WebEditorClient::documentFragmentFromAttributedString):
3406         Do not put a key with a nil value pair into the NSDictionary.
3407
3408 2013-07-15  Tim Horton  <timothy_horton@apple.com>
3409
3410         Update blocked/missing plug-in UI
3411         https://bugs.webkit.org/show_bug.cgi?id=118347
3412         <rdar://problem/14209318>
3413
3414         Reviewed by Sam Weinig.
3415         Patch by Antoine Quint, Anders Carlsson, Sam Weinig, and myself.
3416
3417         * WebCoreSupport/WebChromeClient.h:
3418         * WebCoreSupport/WebChromeClient.mm:
3419         (WebChromeClient::shouldUnavailablePluginMessageIncludeButton):
3420         Rename from shouldUnavailablePluginMessageBeButton to
3421         shouldUnavailablePluginMessageIncludeButton for accuracy.
3422
3423 2013-07-14  Jon Lee  <jonlee@apple.com>
3424
3425         [WK2] Calling Notification.requestPermission() without a callback crashes
3426         https://bugs.webkit.org/show_bug.cgi?id=118654
3427         <rdar://problem/14293352>
3428
3429         Reviewed by Alexey Proskuryakov.
3430
3431         * WebCoreSupport/WebNotificationClient.mm:
3432         (-[WebNotificationPolicyListener initWithCallback:]): The callback can be NULL, so remove the ASSERT.
3433         (-[WebNotificationPolicyListener allow]): Check for the callback before asking it to handle the event.
3434         (-[WebNotificationPolicyListener deny]): Ditto.
3435
3436 2013-07-12  Jessie Berlin  <jberlin@apple.com>
3437
3438         Remove some dead stores pointed out by the clang static analyzer.
3439         https://bugs.webkit.org/show_bug.cgi?id=118608
3440
3441         Reviewed by Anders Carlsson.
3442
3443         * Plugins/Hosted/NetscapePluginHostManager.mm:
3444         (WebKit::NetscapePluginHostManager::instantiatePlugin):
3445         kr is never read after this point, so there is no reason to assign to it.
3446
3447         * Plugins/WebBasePluginPackage.mm:
3448         (-[WebBasePluginPackage getPluginInfoFromPLists]):
3449         The extensions array is only used in the while loop. Move the declaration to the first place
3450         it is used in the while loop. Since it is always reassigned at that location, and since it
3451         is never read after the subsequent for loop, the assignment to an array containing the empty
3452         string is never used. Remove it.
3453         Similarly, the value of the description is always overwritten before used to assign to
3454         mimeClassInfo.desc or to pluginInfo.desc, so the code to assign it to the empty string is
3455         never used. Remove it.
3456
3457         * WebView/WebTextCompletionController.mm:
3458         (-[WebTextCompletionController _placePopupWindow:]):
3459         maxWidth is never read (and never was since it was added in r7311) after it is used on the
3460         line above to set windowFrame.size.width.
3461
3462 2013-07-11  Dan Bernstein  <mitz@apple.com>
3463
3464         [mac] No API for getting the page visibility state of a WebView
3465         https://bugs.webkit.org/show_bug.cgi?id=118578
3466
3467         Reviewed by Simon Fraser.
3468
3469         * WebView/WebView.mm:
3470         (kit): Added. Converts from WebCore::PageVisibilityState to WebPageVisibilityState.
3471         (-[WebView _visibilityState]): Added.
3472         * WebView/WebViewPrivate.h: Declared -_visibilityState.
3473
3474 2013-07-11  Timothy Hatcher  <timothy@apple.com>
3475
3476         Revert r152267 and soft link WebInspectorUI.framework again.
3477
3478         https://bugs.webkit.org/show_bug.cgi?id=118544
3479
3480         Reviewed by David Kilzer.
3481
3482         * Configurations/WebKit.xcconfig:
3483         * WebCoreSupport/WebInspectorClient.mm:
3484         (useWebKitWebInspector):
3485
3486 2013-07-10  Jessie Berlin  <jberlin@apple.com>
3487
3488         Remove some dead code from WebNSURLExtras _web_hostString
3489         https://bugs.webkit.org/show_bug.cgi?id=118519
3490
3491         Reviewed by Anders Carlsson.
3492
3493         * Misc/WebNSURLExtras.mm:
3494         (-[NSURL _web_hostString]):
3495         NSString initWithData:encoding: does not throw an exception when passing nil for the data, so
3496         just delete the code that wasn't being run.
3497
3498 2013-07-09  Jeremy Noble  <jer.noble@apple.com>
3499
3500         Reviewed by Simon Fraser.
3501
3502         Remember the scroll position and restore after exiting full-screen mode.
3503         https://bugs.webkit.org/show_bug.cgi?id=61956
3504         <rdar://problem/9544461>
3505
3506         Call into the main FrameView to save the scroll position before swapping the
3507         WebView into the full-screen window, and restore the scroll position after 
3508         swapping the WebView back into the browser window.
3509