734a453d0f7b5670c70b37be97564dfa4d9170cb
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-11-13  Dan Bernstein  <mitz@apple.com>
2
3         REGRESSION (r159263): caused 50+ crashes on all mac webkit2 bots
4         https://bugs.webkit.org/show_bug.cgi?id=124327
5
6         Reviewed by Tim Horton.
7
8         * Shared/Cocoa/APIObject.mm:
9         (API::Object::newObject): Allocate extra memory for the WebError inside the WKNSError.
10
11 2013-11-13  Dan Bernstein  <mitz@apple.com>
12
13         [Cocoa] Add WKNSError
14         https://bugs.webkit.org/show_bug.cgi?id=124295
15
16         Reviewed by Anders Carlsson.
17
18         * Shared/Cocoa/APIObject.mm:
19         (API::Object::newObject): Allocate a WKNSError if the object is a WebError.
20         * Shared/Cocoa/WKNSError.h: Added.
21         (WebKit::wrapper): Added. Returns a WebError’s wrapper as an NSError.
22         * Shared/Cocoa/WKNSError.mm: Added.
23         (-[WKNSError _web_createTarget]): Override this WKObject method to return a copy of the
24         underlying CFError.
25         (-[WKNSError copyWithZone:]): Retains self.
26         * WebKit2.xcodeproj/project.pbxproj: Added new files.
27
28 2013-11-13  Simon Fraser  <simon.fraser@apple.com>
29
30         Tweak the property syntax after https://bugs.webkit.org/show_bug.cgi?id=124317
31
32         Reviewed by Dan Bernstein.
33
34         * UIProcess/API/mac/WKViewPrivate.h:
35
36 2013-11-13  Anders Carlsson  <andersca@apple.com>
37
38         Move more state tracking to FrameLoadState
39         https://bugs.webkit.org/show_bug.cgi?id=124316
40
41         Reviewed by Simon Fraser.
42
43         * UIProcess/FrameLoadState.cpp:
44         (WebKit::FrameLoadState::didStartProvisionalLoad):
45         (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
46         (WebKit::FrameLoadState::didFailProvisionalLoad):
47         (WebKit::FrameLoadState::didCommitLoad):
48         (WebKit::FrameLoadState::didFinishLoad):
49         (WebKit::FrameLoadState::didFailLoad):
50         (WebKit::FrameLoadState::didSameDocumentNotification):
51         (WebKit::FrameLoadState::setUnreachableURL):
52         * UIProcess/FrameLoadState.h:
53         * UIProcess/WebFrameProxy.cpp:
54         (WebKit::WebFrameProxy::didCommitLoad):
55         (WebKit::WebFrameProxy::didFinishLoad):
56         (WebKit::WebFrameProxy::didFailLoad):
57         (WebKit::WebFrameProxy::didSameDocumentNavigation):
58         (WebKit::WebFrameProxy::setUnreachableURL):
59
60 2013-11-13  Simon Fraser  <simon.fraser@apple.com>
61
62         Expose a private flag on WKView to indicate whether it's using a remote layer tree drawing area
63         https://bugs.webkit.org/show_bug.cgi?id=124317
64
65         Reviewed by Anders Carlsson.
66         
67         Expose isUsingUISideCompositing on WKView in the private header,
68         which returns YES if the view is using a DrawingAreaTypeRemoteLayerTree.
69
70         * UIProcess/API/mac/WKView.mm:
71         (-[WKView isUsingUISideCompositing]):
72         * UIProcess/API/mac/WKViewPrivate.h:
73
74 2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
75
76         Maybe the last attempt to fix the GTK build.
77
78         * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
79         * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
80
81 2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
82
83         One more attempt to fix the GTK build.
84
85         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
86
87 2013-11-13  Anders Carlsson  <andersca@apple.com>
88
89         Plug-in processes hang around for 10 sec after Safari quits
90         https://bugs.webkit.org/show_bug.cgi?id=124314
91         <rdar://problem/15460613>
92
93         Reviewed by Simon Fraser.
94
95         Call stopRunLoop instead of instead of RunLoop::stop().
96
97         * PluginProcess/PluginProcess.cpp:
98         (WebKit::PluginProcess::didClose):
99
100 2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
101
102         URTBF after r159234.
103
104         * CMakeLists.txt:
105         * GNUmakefile.list.am:
106         * Shared/efl/WebEventFactory.cpp:
107         (WebKit::WebEventFactory::createWebTouchEvent):
108         * UIProcess/API/C/WKGrammarDetail.cpp:
109         * UIProcess/API/C/efl/WKEventEfl.cpp:
110         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
111         (webkitBackForwardListCreateList):
112         (webkitBackForwardListChanged):
113         (webkit_back_forward_list_get_back_list_with_limit):
114         (webkit_back_forward_list_get_forward_list_with_limit):
115         * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
116         * UIProcess/API/gtk/WebKitContextMenu.cpp:
117         (webkitContextMenuCreate):
118         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
119         (webkitContextMenuItemCreate):
120         * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
121         * UIProcess/API/gtk/WebKitCookieManager.cpp:
122         (webkitCookieManagerGetDomainsWithCookiesCallback):
123         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
124         (webkit_file_chooser_request_get_mime_types):
125         (webkit_file_chooser_request_get_mime_types_filter):
126         (webkit_file_chooser_request_select_files):
127         (webkit_file_chooser_request_get_selected_files):
128         * UIProcess/API/gtk/WebKitWebView.cpp:
129         (webkitWebViewPopulateContextMenu):
130         * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
131         (toImmutableArray):
132         (webkit_web_view_group_add_user_style_sheet):
133         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
134         * UIProcess/WebGrammarDetail.cpp:
135         (WebKit::WebGrammarDetail::create):
136         (WebKit::WebGrammarDetail::WebGrammarDetail):
137         (WebKit::WebGrammarDetail::guesses):
138         * UIProcess/WebGrammarDetail.h:
139         * UIProcess/WebTextCheckerClient.cpp:
140         (WebKit::WebTextCheckerClient::checkGrammarOfString):
141         (WebKit::WebTextCheckerClient::guessesForWord):
142         * UIProcess/efl/WebUIPopupMenuClient.cpp:
143         (WebUIPopupMenuClient::showPopupMenu):
144
145 2013-11-13  Anders Carlsson  <andersca@apple.com>
146
147         Fix build.
148
149         Not sure why these weren't added.
150
151         * Shared/APIArray.cpp: Added.
152         * Shared/APIArray.h: Added.
153
154 2013-11-13  Anders Carlsson  <andersca@apple.com>
155
156         Rename ImmutableArray to API::Array
157         https://bugs.webkit.org/show_bug.cgi?id=124307
158
159         Reviewed by Andreas Kling.
160
161         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
162         (ensureObjectStream):
163         (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
164         * Shared/API/c/WKArray.cpp:
165         (WKArrayGetTypeID):
166         (WKArrayCreate):
167         (WKArrayCreateAdoptingValues):
168         * Shared/API/c/WKContextMenuItem.cpp:
169         * Shared/API/c/WKDictionary.cpp:
170         (WKDictionaryCopyKeys):
171         * Shared/API/c/WKMutableArray.cpp:
172         (WKMutableArrayCreate):
173         * Shared/API/c/WKRenderObject.cpp:
174         (WKRenderObjectGetChildren):
175         * Shared/API/c/WKSharedAPICast.h:
176         (WebKit::toImpl):
177         * Shared/API/c/mac/WKWebArchive.cpp:
178         (WKWebArchiveCopySubresources):
179         (WKWebArchiveCopySubframeArchives):
180         * Shared/APIArray.cpp: Renamed from Source/WebKit2/Shared/ImmutableArray.cpp.
181         (API::Array::create):
182         (API::Array::createStringArray):
183         (API::Array::Array):
184         (API::Array::~Array):
185         * Shared/APIArray.h: Renamed from Source/WebKit2/Shared/ImmutableArray.h.
186         * Shared/Cocoa/WKNSArray.h:
187         (wrapper):
188         * Shared/Cocoa/WKNSArray.mm:
189         (-[WKNSArray dealloc]):
190         (-[WKNSArray count]):
191         (-[WKNSArray objectAtIndex:]):
192         (-[WKNSArray API::]):
193         * Shared/ImmutableDictionary.cpp:
194         (WebKit::ImmutableDictionary::keys):
195         * Shared/ImmutableDictionary.h:
196         * Shared/SecurityOriginData.cpp:
197         (WebKit::performAPICallbackWithSecurityOriginDataVector):
198         * Shared/UserMessageCoders.h:
199         (WebKit::UserMessageEncoder::baseEncode):
200         (WebKit::UserMessageDecoder::baseDecode):
201         * Shared/WebArchive.cpp:
202         (WebKit::WebArchive::create):
203         (WebKit::WebArchive::WebArchive):
204         (WebKit::WebArchive::subresources):
205         (WebKit::WebArchive::subframeArchives):
206         * Shared/WebArchive.h:
207         * Shared/WebContextMenuItem.cpp:
208         (WebKit::WebContextMenuItem::create):
209         (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
210         * Shared/WebContextMenuItem.h:
211         * Shared/WebOpenPanelParameters.cpp:
212         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
213         (WebKit::WebOpenPanelParameters::selectedFileNames):
214         * Shared/WebOpenPanelParameters.h:
215         * Shared/WebRenderLayer.cpp:
216         (WebKit::WebRenderLayer::create):
217         (WebKit::WebRenderLayer::createArrayFromLayerList):
218         (WebKit::WebRenderLayer::WebRenderLayer):
219         * Shared/WebRenderLayer.h:
220         (WebKit::WebRenderLayer::negativeZOrderList):
221         (WebKit::WebRenderLayer::normalFlowList):
222         (WebKit::WebRenderLayer::positiveZOrderList):
223         * Shared/WebRenderObject.cpp:
224         (WebKit::WebRenderObject::create):
225         (WebKit::WebRenderObject::WebRenderObject):
226         (WebKit::WebRenderObject::~WebRenderObject):
227         * Shared/WebRenderObject.h:
228         (WebKit::WebRenderObject::children):
229         (WebKit::WebRenderObject::elementClassNames):
230         * UIProcess/API/C/WKBackForwardListRef.cpp:
231         * UIProcess/API/C/WKOpenPanelParameters.cpp:
232         * UIProcess/API/C/WKPage.cpp:
233         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
234         (WKContextGetInfoForInstalledPlugIns):
235         * UIProcess/API/Cocoa/WKBackForwardList.mm:
236         (-[WKBackForwardList backListWithLimit:]):
237         (-[WKBackForwardList forwardListWithLimit:]):
238         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
239         (createWKArray):
240         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
241         (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
242         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
243         (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
244         * UIProcess/Notifications/WebNotificationManagerProxy.h:
245         * UIProcess/Notifications/WebNotificationProvider.cpp:
246         (WebKit::WebNotificationProvider::clearNotifications):
247         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
248         (WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray):
249         * UIProcess/Plugins/PlugInAutoStartProvider.h:
250         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
251         (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
252         (WebKit::WebPluginSiteDataManager::clearSiteData):
253         * UIProcess/Plugins/WebPluginSiteDataManager.h:
254         * UIProcess/StatisticsRequest.cpp:
255         (WebKit::StatisticsRequest::completedRequest):
256         * UIProcess/WebApplicationCacheManagerProxy.h:
257         * UIProcess/WebBackForwardList.cpp:
258         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
259         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
260         * UIProcess/WebBackForwardList.h:
261         * UIProcess/WebContext.cpp:
262         (WebKit::WebContext::setPlugInAutoStartOrigins):
263         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
264         * UIProcess/WebContext.h:
265         * UIProcess/WebContextClient.cpp:
266         (WebKit::WebContextClient::plugInInformationBecameAvailable):
267         * UIProcess/WebContextClient.h:
268         * UIProcess/WebCookieManagerProxy.cpp:
269         (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
270         * UIProcess/WebCookieManagerProxy.h:
271         * UIProcess/WebDatabaseManagerProxy.cpp:
272         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
273         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
274         * UIProcess/WebFindClient.cpp:
275         (WebKit::WebFindMatchesClient::didFindStringMatches):
276         * UIProcess/WebFindClient.h:
277         * UIProcess/WebFrameProxy.h:
278         * UIProcess/WebKeyValueStorageManager.cpp:
279         (WebKit::didGetKeyValueStorageOrigins):
280         * UIProcess/WebKeyValueStorageManager.h:
281         * UIProcess/WebLoaderClient.cpp:
282         (WebKit::WebLoaderClient::didChangeBackForwardList):
283         * UIProcess/WebMediaCacheManagerProxy.cpp:
284         (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
285         * UIProcess/WebMediaCacheManagerProxy.h:
286         * UIProcess/WebOpenPanelResultListenerProxy.cpp:
287         (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
288         * UIProcess/WebOpenPanelResultListenerProxy.h:
289         * UIProcess/WebOriginDataManagerProxy.h:
290         * UIProcess/WebPageContextMenuClient.cpp:
291         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
292         (WebKit::WebPageContextMenuClient::showContextMenu):
293         * UIProcess/WebPageGroup.cpp:
294         (WebKit::toStringVector):
295         (WebKit::WebPageGroup::addUserStyleSheet):
296         (WebKit::WebPageGroup::addUserScript):
297         * UIProcess/WebPageGroup.h:
298         * UIProcess/WebPageProxy.cpp:
299         (WebKit::WebPageProxy::relatedPages):
300         (WebKit::WebPageProxy::didFindStringMatches):
301         * UIProcess/WebPageProxy.h:
302         * UIProcess/WebResourceCacheManagerProxy.cpp:
303         * WebKit2.xcodeproj/project.pbxproj:
304         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
305         (WKBundleCopyOriginsWithApplicationCache):
306         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
307         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
308         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
309         (contextMenuItems):
310         * WebProcess/InjectedBundle/InjectedBundle.cpp:
311         (WebKit::InjectedBundle::originsWithApplicationCache):
312         (WebKit::toStringVector):
313         (WebKit::InjectedBundle::addUserScript):
314         (WebKit::InjectedBundle::addUserStyleSheet):
315         * WebProcess/InjectedBundle/InjectedBundle.h:
316         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
317         (WebKit::InjectedBundleBackForwardListItem::children):
318         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
319         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
320         (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
321         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
322         (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
323         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
324         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
325         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
326         (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
327         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
328         (WebKit::findLargestFrameInFrameSet):
329         * WebProcess/WebPage/WebFrame.cpp:
330         (WebKit::WebFrame::childFrames):
331         * WebProcess/WebPage/WebFrame.h:
332         * WebProcess/WebPage/WebPage.cpp:
333         (WebKit::WebPage::trackedRepaintRects):
334         * WebProcess/WebPage/WebPage.h:
335
336 2013-11-13  Nick Diego Yamane  <nick.yamane@openbossa.org>
337
338         [GTK] Fix build after r159222
339         https://bugs.webkit.org/show_bug.cgi?id=124305
340
341         Reviewed by Tim Horton.
342
343         WebGraphicsContext and its API has been removed.
344
345         * CMakeLists.txt:
346         * GNUmakefile.list.am:
347         * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Removed.
348         * Shared/API/c/gtk/WKGraphicsContextGtk.h: Removed.
349
350 2013-11-13  Tim Horton  <timothy_horton@apple.com>
351
352         Remove redundant return after r159173
353         https://bugs.webkit.org/show_bug.cgi?id=124303
354
355         Reviewed by Geoff Garen.
356
357         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
358         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
359         Remove redundant return.
360
361 2013-11-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
362
363         Unreviewed EFL build fix after r159222.
364
365         * CMakeLists.txt:
366
367 2013-11-13  Anders Carlsson  <andersca@apple.com>
368
369         Remove WebGraphicsContext
370         https://bugs.webkit.org/show_bug.cgi?id=124302
371
372         Reviewed by Dan Bernstein.
373
374         WebGraphicsContext and its API "object", WKGraphicsContextRef was only used
375         for the overhang paint callback which has been removed.
376
377         * Shared/API/c/WKDeprecatedFunctions.cpp:
378         (WKGraphicsContextGetCGContext):
379         * Shared/API/c/WKGraphicsContext.cpp: Removed.
380         * Shared/API/c/WKGraphicsContext.h: Removed.
381         * Shared/API/c/cg/WKGraphicsContextCG.cpp: Removed.
382         * Shared/API/c/cg/WKGraphicsContextCG.h: Removed.
383         * Shared/APIObject.h:
384         * Shared/WebGraphicsContext.cpp: Removed.
385         * Shared/WebGraphicsContext.h: Removed.
386         * UIProcess/API/C/WebKit2_C.h:
387         * WebKit2.xcodeproj/project.pbxproj:
388         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
389
390 2013-11-13  Anders Carlsson  <andersca@apple.com>
391
392         WKArrayIsMutable should not be mangled
393         https://bugs.webkit.org/show_bug.cgi?id=124299
394
395         Reviewed by Andreas Kling.
396
397         * Shared/API/c/WKDeprecatedFunctions.cpp:
398
399 2013-11-13  Anders Carlsson  <andersca@apple.com>
400
401         Move provisional load state handling to FrameLoadState
402         https://bugs.webkit.org/show_bug.cgi?id=124291
403
404         Reviewed by Dan Bernstein.
405
406         * UIProcess/FrameLoadState.cpp:
407         (WebKit::FrameLoadState::didStartProvisionalLoad):
408         (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
409         (WebKit::FrameLoadState::didFailProvisionalLoad):
410         * UIProcess/FrameLoadState.h:
411         * UIProcess/WebFrameProxy.cpp:
412         (WebKit::WebFrameProxy::didStartProvisionalLoad):
413         (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
414         (WebKit::WebFrameProxy::didFailProvisionalLoad):
415
416 2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
417
418         One more fix after r159197.
419
420         * UIProcess/efl/EwkTouchEvent.h:
421         * UIProcess/efl/EwkTouchPoint.h:
422
423 2013-11-13  Brendan Long  <b.long@cablelabs.com>
424
425         [Gtk][EFL] Fix builds by updating Object::TypeX to Object::Type::X
426         https://bugs.webkit.org/show_bug.cgi?id=124289
427
428         Reviewed by Alexey Proskuryakov.
429
430         * Shared/API/c/WKContextMenuItem.cpp:
431         (WKContextMenuItemGetTypeID):
432         * Shared/WebBatteryStatus.h:
433         * Shared/WebNetworkInfo.h:
434         * UIProcess/API/C/WKGrammarDetail.cpp:
435         (WKGrammarDetailGetTypeID):
436         * UIProcess/API/C/WKPluginSiteDataManager.cpp:
437         (WKPluginSiteDataManagerGetTypeID):
438         * UIProcess/CoordinatedGraphics/WebView.h:
439         * UIProcess/WebBatteryManagerProxy.h:
440         * UIProcess/WebNetworkInfoManagerProxy.h:
441         * UIProcess/WebTextChecker.h:
442         * UIProcess/WebVibrationProxy.h:
443         * UIProcess/WebViewportAttributes.h:
444         * UIProcess/efl/WebPopupItemEfl.h:
445         * UIProcess/soup/WebSoupRequestManagerProxy.h:
446
447 2013-11-13  Tamas Gergely  <gertom@inf.u-szeged.hu>
448
449         Remove prefixed template class processing from message receiver generator.
450         https://bugs.webkit.org/show_bug.cgi?id=123095
451
452         Reviewed by Anders Carlsson.
453
454         There was a FIXME in messages.py to remove unprefixed WTF template classes,
455         but in the discussion of the bug report we concluded that in the messages.in
456         files we should follow the C++ naming convention where none of the WTF
457         classes require the WTF prefix.
458
459         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
460         * Scripts/webkit2/messages.py:
461         (class_template_headers):
462         * Scripts/webkit2/messages_unittest.py:
463         (std):
464         * UIProcess/Storage/StorageManager.messages.in:
465         * UIProcess/WebPageProxy.messages.in:
466         * WebProcess/WebPage/WebPage.messages.in:
467
468 2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
469
470         URTBF after r159199 to make cmake and GTK build happy.
471
472         * CMakeLists.txt:
473         * GNUmakefile.list.am:
474
475 2013-11-13  Anders Carlsson  <andersca@apple.com>
476
477         Add WKDeprecatedFunctions.cpp and move WKArrayIsMutable there
478         https://bugs.webkit.org/show_bug.cgi?id=124284
479
480         Reviewed by Andreas Kling.
481
482         * Shared/API/c/WKDeprecatedFunctions.cpp: Copied from Source/WebKit2/Shared/API/c/WKMutableArray.h.
483         (WKArrayIsMutable):
484         * Shared/API/c/WKMutableArray.cpp:
485         * Shared/API/c/WKMutableArray.h:
486         * WebKit2.xcodeproj/project.pbxproj:
487
488 2013-11-12  Anders Carlsson  <andersca@apple.com>
489
490         API::Object::Type should be a strongly typed enum
491         https://bugs.webkit.org/show_bug.cgi?id=124258
492
493         Reviewed by Tim Horton.
494
495         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
496         (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
497         * Shared/APIObject.h:
498         * Shared/Cocoa/APIObject.mm:
499         (API::Object::newObject):
500         * Shared/ImmutableArray.h:
501         * Shared/ImmutableDictionary.h:
502         * Shared/UserMessageCoders.h:
503         (WebKit::UserMessageEncoder::baseEncode):
504         (WebKit::UserMessageDecoder::baseDecode):
505         * Shared/WebArchive.h:
506         * Shared/WebArchiveResource.h:
507         * Shared/WebBackForwardListItem.h:
508         * Shared/WebCertificateInfo.h:
509         * Shared/WebConnection.h:
510         * Shared/WebContextMenuItem.h:
511         * Shared/WebData.h:
512         * Shared/WebError.h:
513         * Shared/WebGeolocationPosition.h:
514         * Shared/WebGeometry.h:
515         * Shared/WebGraphicsContext.h:
516         * Shared/WebHitTestResult.h:
517         * Shared/WebImage.h:
518         * Shared/WebNumber.h:
519         * Shared/WebOpenPanelParameters.h:
520         * Shared/WebRenderLayer.h:
521         * Shared/WebRenderObject.h:
522         * Shared/WebSecurityOrigin.h:
523         * Shared/WebSerializedScriptValue.h:
524         * Shared/WebString.h:
525         * Shared/WebURL.h:
526         * Shared/WebURLRequest.h:
527         * Shared/WebURLResponse.h:
528         * Shared/WebUserContentURLPattern.h:
529         * Shared/mac/ObjCObjectGraph.h:
530         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
531         * UIProcess/Authentication/AuthenticationDecisionListener.h:
532         * UIProcess/Authentication/WebCredential.h:
533         * UIProcess/Authentication/WebProtectionSpace.h:
534         * UIProcess/Downloads/DownloadProxy.h:
535         * UIProcess/GeolocationPermissionRequestProxy.h:
536         * UIProcess/Notifications/NotificationPermissionRequest.h:
537         * UIProcess/Notifications/WebNotification.h:
538         * UIProcess/Notifications/WebNotificationManagerProxy.h:
539         * UIProcess/Plugins/WebPluginSiteDataManager.h:
540         * UIProcess/WebApplicationCacheManagerProxy.h:
541         * UIProcess/WebBackForwardList.h:
542         * UIProcess/WebColorPickerResultListenerProxy.h:
543         * UIProcess/WebContext.h:
544         * UIProcess/WebContextUserMessageCoders.h:
545         (WebKit::WebContextUserMessageEncoder::encode):
546         (WebKit::WebContextUserMessageDecoder::decode):
547         * UIProcess/WebCookieManagerProxy.h:
548         * UIProcess/WebDatabaseManagerProxy.h:
549         * UIProcess/WebEditCommandProxy.h:
550         * UIProcess/WebFormSubmissionListenerProxy.h:
551         * UIProcess/WebFramePolicyListenerProxy.h:
552         * UIProcess/WebFrameProxy.h:
553         * UIProcess/WebGeolocationManagerProxy.h:
554         * UIProcess/WebGrammarDetail.h:
555         * UIProcess/WebIconDatabase.h:
556         * UIProcess/WebInspectorProxy.h:
557         * UIProcess/WebKeyValueStorageManager.h:
558         * UIProcess/WebMediaCacheManagerProxy.h:
559         * UIProcess/WebNavigationData.h:
560         * UIProcess/WebOpenPanelResultListenerProxy.h:
561         * UIProcess/WebOriginDataManagerProxy.h:
562         * UIProcess/WebPageGroup.h:
563         * UIProcess/WebPageProxy.h:
564         * UIProcess/WebPreferences.h:
565         * UIProcess/WebResourceCacheManagerProxy.h:
566         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
567         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
568         * WebProcess/InjectedBundle/InjectedBundle.h:
569         * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
570         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
571         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
572         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
573         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
574         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
575         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
576         (WebKit::InjectedBundleUserMessageEncoder::encode):
577         (WebKit::InjectedBundleUserMessageDecoder::decode):
578         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
579         (WebKit::InjectedBundle::load):
580         * WebProcess/WebPage/PageBanner.h:
581         * WebProcess/WebPage/PageOverlay.h:
582         * WebProcess/WebPage/WebFrame.h:
583         * WebProcess/WebPage/WebInspector.h:
584         * WebProcess/WebPage/WebPage.h:
585         * WebProcess/WebPage/WebPageGroupProxy.h:
586         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
587         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
588         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
589
590 2013-11-13  Anders Carlsson  <andersca@apple.com>
591
592         Remove custom overhang area painting code
593         https://bugs.webkit.org/show_bug.cgi?id=124282
594
595         Reviewed by Andreas Kling.
596
597         This code was only used by the Mac port, to draw the linen background color on Lion.
598         We now do that on the GPU instead so get rid of this code.
599
600         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
601         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
602         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
603         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
604         * WebProcess/WebCoreSupport/WebChromeClient.h:
605
606 2013-11-13  Sergio Correia  <sergio.correia@openbossa.org>
607
608         [EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
609         https://bugs.webkit.org/show_bug.cgi?id=124241
610
611         Reviewed by Gyuyoung Kim.
612
613         The modified files are located under UIProcess/{efl,API/efl}.
614
615         * UIProcess/API/efl/EwkView.cpp:
616         * UIProcess/API/efl/EwkView.h:
617         * UIProcess/API/efl/GestureRecognizer.cpp:
618         * UIProcess/API/efl/GestureRecognizer.h:
619         * UIProcess/API/efl/ewk_back_forward_list_private.h:
620         * UIProcess/API/efl/ewk_color_picker_private.h:
621         * UIProcess/API/efl/ewk_context.cpp:
622         * UIProcess/API/efl/ewk_context_menu.cpp:
623         * UIProcess/API/efl/ewk_context_menu_item.cpp:
624         * UIProcess/API/efl/ewk_context_menu_item_private.h:
625         * UIProcess/API/efl/ewk_context_private.h:
626         * UIProcess/API/efl/ewk_cookie_manager.cpp:
627         * UIProcess/API/efl/ewk_cookie_manager_private.h:
628         * UIProcess/API/efl/ewk_database_manager_private.h:
629         * UIProcess/API/efl/ewk_favicon_database_private.h:
630         * UIProcess/API/efl/ewk_popup_menu.cpp:
631         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
632         * UIProcess/API/efl/ewk_popup_menu_private.h:
633         * UIProcess/API/efl/ewk_settings_private.h:
634         * UIProcess/API/efl/ewk_storage_manager.cpp:
635         * UIProcess/API/efl/ewk_storage_manager_private.h:
636         * UIProcess/API/efl/ewk_view.cpp:
637         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
638         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
639         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
640         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
641         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
642         * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
643         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
644         * UIProcess/efl/ContextHistoryClientEfl.h:
645         * UIProcess/efl/ContextMenuClientEfl.h:
646         * UIProcess/efl/DownloadManagerEfl.h:
647         * UIProcess/efl/FindClientEfl.h:
648         * UIProcess/efl/FormClientEfl.h:
649         * UIProcess/efl/PageLoadClientEfl.h:
650         * UIProcess/efl/PagePolicyClientEfl.h:
651         * UIProcess/efl/PageUIClientEfl.h:
652         * UIProcess/efl/PageViewportControllerClientEfl.h:
653         * UIProcess/efl/RequestManagerClientEfl.h:
654         * UIProcess/efl/VibrationClientEfl.cpp:
655         * UIProcess/efl/VibrationClientEfl.h:
656         * UIProcess/efl/ViewClientEfl.h:
657
658 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
659
660         Disable WebCrypto on Mountain Lion
661         https://bugs.webkit.org/show_bug.cgi?id=124261
662
663         Rubber-stamped by Sam Weinig.
664
665         * Configurations/FeatureDefines.xcconfig:
666
667 2013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>
668
669         [GTK][EFL] More on renaming WebKit::APIObject to API::Object
670         https://bugs.webkit.org/show_bug.cgi?id=124255
671
672         Reviewed by Anders Carlsson.
673
674         In r159163 WebKit::APIObject has been renamed to API::Object.
675         This patch refactors the remaining files which were still
676         using WebKit::APIObject and WebKit::TypedAPIObject.
677
678         * Shared/WebBatteryStatus.h:
679         * Shared/WebNetworkInfo.h:
680         * UIProcess/API/C/WKGrammarDetail.cpp:
681         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
682         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
683         * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
684         * UIProcess/CoordinatedGraphics/WebView.h:
685         * UIProcess/WebBatteryManagerProxy.cpp:
686         * UIProcess/WebBatteryManagerProxy.h:
687         * UIProcess/WebGrammarDetail.cpp:
688         * UIProcess/WebNetworkInfoManagerProxy.cpp:
689         * UIProcess/WebNetworkInfoManagerProxy.h:
690         * UIProcess/WebTextChecker.h:
691         * UIProcess/WebVibrationProxy.h:
692         * UIProcess/WebViewportAttributes.h:
693         * UIProcess/efl/EwkTouchEvent.h:
694         * UIProcess/efl/EwkTouchPoint.h:
695         * UIProcess/efl/WebPopupItemEfl.h:
696         * UIProcess/efl/WebUIPopupMenuClient.cpp:
697         * UIProcess/gtk/WebFullScreenClientGtk.h:
698         * UIProcess/gtk/WebInspectorClientGtk.h:
699         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
700         * UIProcess/soup/WebSoupRequestManagerProxy.h:
701         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
702         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
703
704 2013-11-12  Anders Carlsson  <andersca@apple.com>
705
706         fast/canvas/webgl/draw-arrays-out-of-bounds.html is flaky on Mavericks WK2 testers, fails about 20% of the time
707         https://bugs.webkit.org/show_bug.cgi?id=124223
708         <rdar://problem/15333977>
709
710         Reviewed by Tim Horton.
711
712         It's wrong to use DataReferences in sync IPC replies; the underlying MessageDecoder will be freed after the call to
713         sendSync returns and the DataReference will point to freed memory. Use a Vector<char> instead.
714
715         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
716         * NetworkProcess/SynchronousNetworkLoaderClient.cpp:
717         (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
718         (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
719         * NetworkProcess/SynchronousNetworkLoaderClient.h:
720         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
721         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
722
723 2013-11-12  Gustavo Noronha Silva  <gns@gnome.org>
724
725         Unreviewed try at fixing the GTK+ build.
726
727         * UIProcess/soup/WebSoupRequestManagerProxy.h: rename TypedAPIObject to API:TypedObject.
728
729 2013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>
730
731         [EFL][GTK] Remove MutableArray leftovers from build systems
732         https://bugs.webkit.org/show_bug.cgi?id=124248
733
734         Reviewed by Anders Carlsson.
735
736         MutableArray.cpp and .h file has been removed by r159155.
737
738         * CMakeLists.txt:
739         * GNUmakefile.list.am:
740
741 2013-11-12  Anders Carlsson  <andersca@apple.com>
742
743         Rename APIObject to API::Object
744         https://bugs.webkit.org/show_bug.cgi?id=124247
745
746         Reviewed by Tim Horton.
747
748         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
749         (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
750         * Shared/API/c/WKArray.cpp:
751         (WKArrayCreate):
752         (WKArrayCreateAdoptingValues):
753         * Shared/API/c/WKContextMenuItem.cpp:
754         (WKContextMenuItemGetTypeID):
755         * Shared/API/c/WKSharedAPICast.h:
756         (WebKit::toAPI):
757         * Shared/API/c/WKType.cpp:
758         (WKGetTypeID):
759         (WKRetain):
760         (WKRelease):
761         * Shared/APIObject.cpp:
762         (API::Object::Object):
763         * Shared/APIObject.h:
764         (API::Object::~Object):
765         (API::TypedObject::~TypedObject):
766         (API::TypedObject::TypedObject):
767         * Shared/Cocoa/APIObject.mm:
768         (API::Object::ref):
769         (API::Object::deref):
770         (API::Object::newObject):
771         * Shared/Cocoa/WKNSArray.mm:
772         (-[WKNSArray objectAtIndex:]):
773         (-[WKNSArray API::]):
774         * Shared/Cocoa/WKNSDictionary.mm:
775         (-[WKNSDictionary objectForKey:]):
776         (-[WKNSDictionary API::]):
777         * Shared/Cocoa/WKObject.h:
778         * Shared/Cocoa/WKObject.mm:
779         (-[WKObject dealloc]):
780         (-[WKObject API::]):
781         * Shared/ImmutableArray.cpp:
782         (WebKit::ImmutableArray::create):
783         (WebKit::ImmutableArray::createStringArray):
784         (WebKit::ImmutableArray::ImmutableArray):
785         * Shared/ImmutableArray.h:
786         * Shared/ImmutableDictionary.cpp:
787         (WebKit::ImmutableDictionary::keys):
788         * Shared/ImmutableDictionary.h:
789         (WebKit::ImmutableDictionary::get):
790         * Shared/MutableDictionary.cpp:
791         (WebKit::MutableDictionary::add):
792         (WebKit::MutableDictionary::set):
793         * Shared/MutableDictionary.h:
794         * Shared/SecurityOriginData.cpp:
795         (WebKit::performAPICallbackWithSecurityOriginDataVector):
796         * Shared/UserMessageCoders.h:
797         (WebKit::UserMessageEncoder::baseEncode):
798         (WebKit::UserMessageEncoder::UserMessageEncoder):
799         (WebKit::UserMessageDecoder::baseDecode):
800         (WebKit::UserMessageDecoder::UserMessageDecoder):
801         * Shared/WebArchive.cpp:
802         (WebKit::WebArchive::subresources):
803         (WebKit::WebArchive::subframeArchives):
804         * Shared/WebArchive.h:
805         * Shared/WebArchiveResource.h:
806         * Shared/WebBackForwardListItem.h:
807         * Shared/WebCertificateInfo.h:
808         * Shared/WebConnection.cpp:
809         (WebKit::WebConnection::postMessage):
810         (WebKit::WebConnection::handleMessage):
811         * Shared/WebConnection.h:
812         * Shared/WebConnectionClient.cpp:
813         (WebKit::WebConnectionClient::didReceiveMessage):
814         * Shared/WebConnectionClient.h:
815         * Shared/WebContextMenuItem.cpp:
816         (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
817         (WebKit::WebContextMenuItem::userData):
818         (WebKit::WebContextMenuItem::setUserData):
819         * Shared/WebContextMenuItem.h:
820         * Shared/WebContextMenuItemData.cpp:
821         (WebKit::WebContextMenuItemData::userData):
822         (WebKit::WebContextMenuItemData::setUserData):
823         * Shared/WebContextMenuItemData.h:
824         * Shared/WebData.h:
825         * Shared/WebError.h:
826         * Shared/WebGeolocationPosition.h:
827         * Shared/WebGeometry.h:
828         * Shared/WebGraphicsContext.h:
829         * Shared/WebHitTestResult.h:
830         * Shared/WebImage.h:
831         * Shared/WebNumber.h:
832         * Shared/WebOpenPanelParameters.h:
833         * Shared/WebRenderLayer.cpp:
834         (WebKit::WebRenderLayer::createArrayFromLayerList):
835         * Shared/WebRenderLayer.h:
836         * Shared/WebRenderObject.cpp:
837         (WebKit::WebRenderObject::WebRenderObject):
838         * Shared/WebRenderObject.h:
839         * Shared/WebSecurityOrigin.h:
840         * Shared/WebSerializedScriptValue.h:
841         * Shared/WebString.h:
842         * Shared/WebURL.h:
843         * Shared/WebURLRequest.h:
844         * Shared/WebURLResponse.h:
845         * Shared/WebUserContentURLPattern.h:
846         * Shared/mac/ObjCObjectGraph.h:
847         * Shared/mac/ObjCObjectGraphCoders.mm:
848         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
849         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
850         * UIProcess/API/C/WKPluginSiteDataManager.cpp:
851         (WKPluginSiteDataManagerGetTypeID):
852         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
853         (WKContextGetInfoForInstalledPlugIns):
854         * UIProcess/API/Cocoa/WKBackForwardList.mm:
855         (-[WKBackForwardList API::]):
856         * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
857         (-[WKBackForwardListItem API::]):
858         * UIProcess/API/Cocoa/WKNavigationData.mm:
859         (-[WKNavigationData API::]):
860         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
861         (createWKArray):
862         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
863         * UIProcess/Authentication/AuthenticationDecisionListener.h:
864         * UIProcess/Authentication/WebCredential.h:
865         * UIProcess/Authentication/WebProtectionSpace.h:
866         * UIProcess/Downloads/DownloadProxy.h:
867         * UIProcess/GeolocationPermissionRequestProxy.h:
868         * UIProcess/Notifications/NotificationPermissionRequest.h:
869         * UIProcess/Notifications/WebNotification.h:
870         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
871         (WebKit::WebNotificationManagerProxy::refWebContextSupplement):
872         (WebKit::WebNotificationManagerProxy::derefWebContextSupplement):
873         * UIProcess/Notifications/WebNotificationManagerProxy.h:
874         * UIProcess/Notifications/WebNotificationProvider.cpp:
875         (WebKit::WebNotificationProvider::clearNotifications):
876         * UIProcess/Plugins/WebPluginSiteDataManager.h:
877         * UIProcess/StatisticsRequest.cpp:
878         (WebKit::StatisticsRequest::completedRequest):
879         * UIProcess/WebApplicationCacheManagerProxy.cpp:
880         (WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
881         (WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
882         * UIProcess/WebApplicationCacheManagerProxy.h:
883         * UIProcess/WebBackForwardList.cpp:
884         (WebKit::WebBackForwardList::addItem):
885         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
886         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
887         (WebKit::WebBackForwardList::clear):
888         * UIProcess/WebBackForwardList.h:
889         * UIProcess/WebColorPickerResultListenerProxy.h:
890         * UIProcess/WebConnectionToWebProcess.cpp:
891         (WebKit::WebConnectionToWebProcess::encodeMessageBody):
892         (WebKit::WebConnectionToWebProcess::decodeMessageBody):
893         * UIProcess/WebConnectionToWebProcess.h:
894         * UIProcess/WebContext.cpp:
895         (WebKit::WebContext::createNewWebProcess):
896         (WebKit::WebContext::postMessageToInjectedBundle):
897         (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
898         (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle):
899         (WebKit::WebContext::didReceiveMessage):
900         (WebKit::WebContext::didReceiveSyncMessage):
901         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
902         * UIProcess/WebContext.h:
903         (WebKit::WebContext::setInjectedBundleInitializationUserData):
904         * UIProcess/WebContextInjectedBundleClient.cpp:
905         (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
906         (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
907         (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
908         * UIProcess/WebContextInjectedBundleClient.h:
909         * UIProcess/WebContextUserMessageCoders.h:
910         (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
911         (WebKit::WebContextUserMessageEncoder::encode):
912         (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
913         (WebKit::WebContextUserMessageDecoder::decode):
914         * UIProcess/WebCookieManagerProxy.cpp:
915         (WebKit::WebCookieManagerProxy::refWebContextSupplement):
916         (WebKit::WebCookieManagerProxy::derefWebContextSupplement):
917         * UIProcess/WebCookieManagerProxy.h:
918         * UIProcess/WebDatabaseManagerProxy.cpp:
919         (WebKit::WebDatabaseManagerProxy::refWebContextSupplement):
920         (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement):
921         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
922         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
923         * UIProcess/WebDatabaseManagerProxy.h:
924         * UIProcess/WebEditCommandProxy.h:
925         * UIProcess/WebFormClient.cpp:
926         (WebKit::WebFormClient::willSubmitForm):
927         * UIProcess/WebFormClient.h:
928         * UIProcess/WebFrameListenerProxy.h:
929         * UIProcess/WebFrameProxy.h:
930         * UIProcess/WebGeolocationManagerProxy.cpp:
931         (WebKit::WebGeolocationManagerProxy::refWebContextSupplement):
932         (WebKit::WebGeolocationManagerProxy::derefWebContextSupplement):
933         * UIProcess/WebGeolocationManagerProxy.h:
934         * UIProcess/WebGrammarDetail.h:
935         * UIProcess/WebIconDatabase.h:
936         * UIProcess/WebIconDatabaseClient.h:
937         * UIProcess/WebInspectorProxy.h:
938         * UIProcess/WebKeyValueStorageManager.cpp:
939         (WebKit::WebKeyValueStorageManager::refWebContextSupplement):
940         (WebKit::WebKeyValueStorageManager::derefWebContextSupplement):
941         (WebKit::didGetKeyValueStorageOrigins):
942         * UIProcess/WebKeyValueStorageManager.h:
943         * UIProcess/WebLoaderClient.cpp:
944         (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
945         (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
946         (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
947         (WebKit::WebLoaderClient::didCommitLoadForFrame):
948         (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
949         (WebKit::WebLoaderClient::didFinishLoadForFrame):
950         (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
951         (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
952         (WebKit::WebLoaderClient::didReceiveTitleForFrame):
953         (WebKit::WebLoaderClient::didFirstLayoutForFrame):
954         (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
955         (WebKit::WebLoaderClient::didLayout):
956         (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
957         (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
958         (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
959         (WebKit::WebLoaderClient::didDetectXSSForFrame):
960         (WebKit::WebLoaderClient::didChangeBackForwardList):
961         (WebKit::WebLoaderClient::willGoToBackForwardListItem):
962         * UIProcess/WebLoaderClient.h:
963         * UIProcess/WebMediaCacheManagerProxy.cpp:
964         (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement):
965         (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement):
966         * UIProcess/WebMediaCacheManagerProxy.h:
967         * UIProcess/WebNavigationData.h:
968         * UIProcess/WebOpenPanelResultListenerProxy.h:
969         * UIProcess/WebOriginDataManagerProxy.cpp:
970         (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
971         (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
972         * UIProcess/WebOriginDataManagerProxy.h:
973         * UIProcess/WebPageContextMenuClient.cpp:
974         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
975         (WebKit::WebPageContextMenuClient::showContextMenu):
976         * UIProcess/WebPageContextMenuClient.h:
977         * UIProcess/WebPageGroup.h:
978         * UIProcess/WebPageProxy.cpp:
979         (WebKit::WebPageProxy::relatedPages):
980         (WebKit::WebPageProxy::loadURL):
981         (WebKit::WebPageProxy::loadURLRequest):
982         (WebKit::WebPageProxy::loadFile):
983         (WebKit::WebPageProxy::loadData):
984         (WebKit::WebPageProxy::loadHTMLString):
985         (WebKit::WebPageProxy::loadAlternateHTMLString):
986         (WebKit::WebPageProxy::loadPlainTextString):
987         (WebKit::WebPageProxy::loadWebArchiveData):
988         (WebKit::WebPageProxy::didChangeBackForwardList):
989         (WebKit::WebPageProxy::willGoToBackForwardListItem):
990         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
991         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
992         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
993         (WebKit::WebPageProxy::didCommitLoadForFrame):
994         (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
995         (WebKit::WebPageProxy::didFinishLoadForFrame):
996         (WebKit::WebPageProxy::didFailLoadForFrame):
997         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
998         (WebKit::WebPageProxy::didReceiveTitleForFrame):
999         (WebKit::WebPageProxy::didFirstLayoutForFrame):
1000         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
1001         (WebKit::WebPageProxy::didLayout):
1002         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
1003         (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
1004         (WebKit::WebPageProxy::didRunInsecureContentForFrame):
1005         (WebKit::WebPageProxy::didDetectXSSForFrame):
1006         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
1007         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
1008         (WebKit::WebPageProxy::decidePolicyForResponse):
1009         (WebKit::WebPageProxy::unableToImplementPolicy):
1010         (WebKit::WebPageProxy::willSubmitForm):
1011         (WebKit::WebPageProxy::mouseDidMoveOverElement):
1012         (WebKit::WebPageProxy::didFindStringMatches):
1013         (WebKit::WebPageProxy::postMessageToInjectedBundle):
1014         (WebKit::WebPageProxy::internalShowContextMenu):
1015         * UIProcess/WebPageProxy.h:
1016         * UIProcess/WebPolicyClient.cpp:
1017         (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
1018         (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
1019         (WebKit::WebPolicyClient::decidePolicyForResponse):
1020         (WebKit::WebPolicyClient::unableToImplementPolicy):
1021         * UIProcess/WebPolicyClient.h:
1022         * UIProcess/WebPreferences.h:
1023         * UIProcess/WebResourceCacheManagerProxy.cpp:
1024         (WebKit::WebResourceCacheManagerProxy::refWebContextSupplement):
1025         (WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement):
1026         * UIProcess/WebResourceCacheManagerProxy.h:
1027         * UIProcess/WebUIClient.cpp:
1028         (WebKit::WebUIClient::mouseDidMoveOverElement):
1029         * UIProcess/WebUIClient.h:
1030         * UIProcess/mac/WebContextMenuProxyMac.mm:
1031         (-[WKUserDataWrapper initWithUserData:API::]):
1032         (-[WKUserDataWrapper API::]):
1033         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1034         (WKBundlePostSynchronousMessage):
1035         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1036         (contextMenuItems):
1037         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
1038         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
1039         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1040         (WebKit::InjectedBundle::postMessage):
1041         (WebKit::InjectedBundle::postSynchronousMessage):
1042         (WebKit::InjectedBundle::originsWithApplicationCache):
1043         (WebKit::InjectedBundle::didReceiveMessage):
1044         (WebKit::InjectedBundle::didReceiveMessageToPage):
1045         * WebProcess/InjectedBundle/InjectedBundle.h:
1046         * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
1047         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
1048         (WebKit::InjectedBundleBackForwardListItem::children):
1049         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
1050         * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
1051         (WebKit::InjectedBundleClient::didReceiveMessage):
1052         (WebKit::InjectedBundleClient::didReceiveMessageToPage):
1053         * WebProcess/InjectedBundle/InjectedBundleClient.h:
1054         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
1055         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
1056         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
1057         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
1058         (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
1059         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
1060         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
1061         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1062         (WebKit::InjectedBundlePageFormClient::willSubmitForm):
1063         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
1064         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
1065         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1066         (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
1067         (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
1068         (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
1069         (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
1070         (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
1071         (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
1072         (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
1073         (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
1074         (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
1075         (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
1076         (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
1077         (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
1078         (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
1079         (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
1080         (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
1081         (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
1082         (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
1083         (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
1084         (WebKit::InjectedBundlePageLoaderClient::didLayout):
1085         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1086         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
1087         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
1088         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
1089         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
1090         (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
1091         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
1092         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
1093         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1094         (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
1095         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1096         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
1097         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
1098         (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder):
1099         (WebKit::InjectedBundleUserMessageEncoder::encode):
1100         (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder):
1101         (WebKit::InjectedBundleUserMessageDecoder::decode):
1102         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
1103         (WebKit::InjectedBundle::load):
1104         * WebProcess/WebConnectionToUIProcess.cpp:
1105         (WebKit::WebConnectionToUIProcess::encodeMessageBody):
1106         (WebKit::WebConnectionToUIProcess::decodeMessageBody):
1107         * WebProcess/WebConnectionToUIProcess.h:
1108         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1109         (WebKit::WebChromeClient::mouseDidMoveOverElement):
1110         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1111         (WebKit::WebFrameLoaderClient::detachedFromParent2):
1112         (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
1113         (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
1114         (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
1115         (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
1116         (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
1117         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
1118         (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
1119         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1120         (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
1121         (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
1122         (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
1123         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
1124         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1125         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
1126         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1127         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1128         (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy):
1129         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1130         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
1131         (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
1132         (WebKit::WebFrameLoaderClient::didRunInsecureContent):
1133         (WebKit::WebFrameLoaderClient::didDetectXSS):
1134         * WebProcess/WebPage/PageBanner.h:
1135         * WebProcess/WebPage/PageOverlay.h:
1136         * WebProcess/WebPage/WebContextMenu.cpp:
1137         (WebKit::WebContextMenu::show):
1138         (WebKit::WebContextMenu::menuItemsWithUserData):
1139         (WebKit::WebContextMenu::items):
1140         * WebProcess/WebPage/WebContextMenu.h:
1141         * WebProcess/WebPage/WebFrame.cpp:
1142         (WebKit::WebFrame::childFrames):
1143         * WebProcess/WebPage/WebFrame.h:
1144         * WebProcess/WebPage/WebInspector.h:
1145         * WebProcess/WebPage/WebPage.cpp:
1146         (WebKit::WebPage::trackedRepaintRects):
1147         (WebKit::WebPage::loadURLRequest):
1148         (WebKit::WebPage::loadDataImpl):
1149         (WebKit::WebPage::postInjectedBundleMessage):
1150         * WebProcess/WebPage/WebPage.h:
1151         * WebProcess/WebPage/WebPageGroupProxy.h:
1152         * WebProcess/WebProcess.cpp:
1153         (WebKit::WebProcess::initializeWebProcess):
1154         (WebKit::WebProcess::postInjectedBundleMessage):
1155
1156 2013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>
1157
1158         Fix GTK build after r159142
1159         https://bugs.webkit.org/show_bug.cgi?id=124243
1160
1161         Reviewed by Anders Carlsson.
1162
1163         Use Vector + ImmutableArray instead of MutableArray
1164
1165         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
1166         (webkitContextMenuItemCreate):
1167
1168 2013-11-12  Anders Carlsson  <andersca@apple.com>
1169
1170         Remove ImmutableArray::isMutable
1171         https://bugs.webkit.org/show_bug.cgi?id=124242
1172
1173         Reviewed by Dan Bernstein.
1174
1175         * Shared/API/c/WKMutableArray.cpp:
1176         (WKArrayIsMutable):
1177         * Shared/Cocoa/WKNSArray.mm:
1178         (-[WKNSArray copyWithZone:]):
1179         * Shared/ImmutableArray.h:
1180
1181 2013-11-12  Anders Carlsson  <andersca@apple.com>
1182
1183         WKMutableArrayRef should be an ImmutableArray
1184         https://bugs.webkit.org/show_bug.cgi?id=124239
1185
1186         Reviewed by Sam Weinig.
1187
1188         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
1189         (ensureObjectStream):
1190         * Shared/API/c/WKMutableArray.cpp:
1191         (WKMutableArrayCreate):
1192         * Shared/API/c/WKSharedAPICast.h:
1193
1194 2013-11-12  Anders Carlsson  <andersca@apple.com>
1195
1196         Remove more functionality from MutableArray
1197         https://bugs.webkit.org/show_bug.cgi?id=124235
1198
1199         Reviewed by Beth Dakin.
1200
1201         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
1202         (encodeToObjectStream):
1203         * Shared/API/c/WKMutableArray.cpp:
1204         (WKArrayAppendItem):
1205         (WKArrayRemoveItemAtIndex):
1206         * Shared/Cocoa/WKNSArray.mm:
1207         (-[WKNSArray copyWithZone:]):
1208         * Shared/ImmutableArray.h:
1209         (WebKit::ImmutableArray::elements):
1210         * Shared/MutableArray.cpp:
1211         * Shared/MutableArray.h:
1212
1213 2013-11-12  Anders Carlsson  <andersca@apple.com>
1214
1215         Remove most uses of MutableArray
1216         https://bugs.webkit.org/show_bug.cgi?id=124232
1217
1218         Reviewed by Sam Weinig.
1219
1220         * Shared/API/c/WKMutableArray.cpp:
1221         (WKMutableArrayCreate):
1222         * Shared/UserMessageCoders.h:
1223         (WebKit::UserMessageDecoder::baseDecode):
1224         * Shared/WebRenderLayer.h:
1225         (WebKit::WebRenderLayer::create):
1226         (WebKit::WebRenderLayer::WebRenderLayer):
1227         * Shared/WebRenderObject.cpp:
1228         (WebKit::WebRenderObject::WebRenderObject):
1229         * Shared/WebRenderObject.h:
1230         (WebKit::WebRenderObject::create):
1231         (WebKit::WebRenderObject::WebRenderObject):
1232         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
1233         (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
1234
1235 2013-11-12  Anders Carlsson  <andersca@apple.com>
1236
1237         Use Vector + ImmutableArray instead of MutableArray
1238         https://bugs.webkit.org/show_bug.cgi?id=124221
1239
1240         Reviewed by Andreas Kling.
1241
1242         * Shared/WebRenderLayer.cpp:
1243         (WebKit::WebRenderLayer::createArrayFromLayerList):
1244         * Shared/WebRenderLayer.h:
1245         * UIProcess/Notifications/WebNotificationProvider.cpp:
1246         (WebKit::WebNotificationProvider::clearNotifications):
1247         * UIProcess/WebPageContextMenuClient.cpp:
1248         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
1249         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1250         (contextMenuItems):
1251         (WKBundlePageCopyContextMenuItems):
1252         (WKBundlePageCopyContextMenuAtPointInWindow):
1253
1254 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
1255
1256         Unreviewed GTK build fix after r159129.
1257
1258         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
1259         (webkit_file_chooser_request_select_files): Use ImmutableArray::create() instead.
1260         * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
1261         (toImmutableArray): Ditto.
1262
1263 2013-11-12  Anders Carlsson  <andersca@apple.com>
1264
1265         Stop using WKArrayCreate internally
1266         https://bugs.webkit.org/show_bug.cgi?id=124217
1267
1268         Reviewed by Andreas Kling.
1269
1270         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
1271         (createWKArray):
1272         (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]):
1273         (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
1274         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1275         (WKBundlePageCopyContextMenuItems):
1276
1277 2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
1278
1279         URTBF after r159129, use create() instead of adopt() everywhere.
1280
1281         * UIProcess/WebGrammarDetail.cpp:
1282         (WebKit::WebGrammarDetail::guesses):
1283         * UIProcess/efl/WebUIPopupMenuClient.cpp:
1284         (WebUIPopupMenuClient::showPopupMenu):
1285
1286 2013-11-12  Anders Carlsson  <andersca@apple.com>
1287
1288         Simplify ImmutableArray creation
1289         https://bugs.webkit.org/show_bug.cgi?id=124213
1290
1291         Reviewed by Andreas Kling.
1292
1293         Get rid of the various ImmutableArray::adopt functions and have a single create function instead.
1294         Use std::move to avoid unnecessarily copying vector data.
1295
1296         * Shared/API/c/WKArray.cpp:
1297         (WKArrayCreate):
1298         (WKArrayCreateAdoptingValues):
1299         * Shared/Cocoa/WKNSArray.mm:
1300         (-[WKNSArray copyWithZone:]):
1301         * Shared/ImmutableArray.cpp:
1302         (WebKit::ImmutableArray::create):
1303         (WebKit::ImmutableArray::createStringArray):
1304         (WebKit::ImmutableArray::ImmutableArray):
1305         * Shared/ImmutableArray.h:
1306         (WebKit::ImmutableArray::at):
1307         (WebKit::ImmutableArray::size):
1308         (WebKit::ImmutableArray::entries):
1309         * Shared/ImmutableDictionary.cpp:
1310         (WebKit::ImmutableDictionary::keys):
1311         * Shared/MutableArray.cpp:
1312         (WebKit::MutableArray::MutableArray):
1313         (WebKit::MutableArray::append):
1314         (WebKit::MutableArray::reserveCapacity):
1315         (WebKit::MutableArray::removeItemAtIndex):
1316         * Shared/SecurityOriginData.cpp:
1317         (WebKit::performAPICallbackWithSecurityOriginDataVector):
1318         * Shared/UserMessageCoders.h:
1319         (WebKit::UserMessageDecoder::baseDecode):
1320         * Shared/WebArchive.cpp:
1321         (WebKit::WebArchive::subresources):
1322         (WebKit::WebArchive::subframeArchives):
1323         * Shared/WebContextMenuItem.cpp:
1324         (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
1325         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1326         (WKContextGetInfoForInstalledPlugIns):
1327         * UIProcess/StatisticsRequest.cpp:
1328         (WebKit::StatisticsRequest::completedRequest):
1329         * UIProcess/WebBackForwardList.cpp:
1330         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
1331         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
1332         * UIProcess/WebContext.cpp:
1333         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
1334         * UIProcess/WebDatabaseManagerProxy.cpp:
1335         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
1336         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
1337         * UIProcess/WebKeyValueStorageManager.cpp:
1338         (WebKit::didGetKeyValueStorageOrigins):
1339         * UIProcess/WebLoaderClient.cpp:
1340         (WebKit::WebLoaderClient::didChangeBackForwardList):
1341         * UIProcess/WebPageContextMenuClient.cpp:
1342         (WebKit::WebPageContextMenuClient::showContextMenu):
1343         * UIProcess/WebPageProxy.cpp:
1344         (WebKit::WebPageProxy::relatedPages):
1345         (WebKit::WebPageProxy::didFindStringMatches):
1346         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1347         (WebKit::InjectedBundle::originsWithApplicationCache):
1348         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
1349         (WebKit::InjectedBundleBackForwardListItem::children):
1350         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1351         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
1352         * WebProcess/WebPage/WebFrame.cpp:
1353         (WebKit::WebFrame::childFrames):
1354         * WebProcess/WebPage/WebPage.cpp:
1355         (WebKit::WebPage::trackedRepaintRects):
1356
1357 2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
1358
1359         The last URTBF after r159108 to make GTK happy.
1360
1361         * GNUmakefile.am:
1362
1363 2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
1364
1365         One more URTBF after r159108, I hope the last one.
1366
1367         * GNUmakefile.am:
1368
1369 2013-11-12  Tim Horton  <timothy_horton@apple.com>
1370
1371         Remote Layer Tree: Assertions during layer flushing after replaceSublayer()
1372         https://bugs.webkit.org/show_bug.cgi?id=124194
1373
1374         Reviewed by Anders Carlsson.
1375
1376         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1377         (PlatformCALayerRemote::replaceSublayer):
1378         Only remove the old layer from the children array once (via removeFromSuperlayer).
1379         Update the superlayer backpointer on the new layer.
1380
1381 2013-11-12  Anders Carlsson  <andersca@apple.com>
1382
1383         Add ImmutableArray::createStringArray
1384         https://bugs.webkit.org/show_bug.cgi?id=124210
1385
1386         Reviewed by Andreas Kling.
1387
1388         Creating an ImmutableArray of WebStrings is a common operation, so add a 
1389         helper function to ImmutableArray that does this from a Vector of Strings.
1390
1391         * Shared/ImmutableArray.cpp:
1392         (WebKit::ImmutableArray::createStringArray):
1393         * Shared/ImmutableArray.h:
1394         * Shared/ImmutableDictionary.cpp:
1395         (WebKit::ImmutableDictionary::keys):
1396         * Shared/WebOpenPanelParameters.cpp:
1397         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
1398         (WebKit::WebOpenPanelParameters::selectedFileNames):
1399         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
1400         (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
1401         * UIProcess/WebCookieManagerProxy.cpp:
1402         (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
1403         * UIProcess/WebMediaCacheManagerProxy.cpp:
1404         (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
1405         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1406         (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
1407
1408 2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
1409
1410         One more URTBF after r159108.
1411
1412         * GNUmakefile.am:
1413
1414 2013-11-12  Anders Carlsson  <andersca@apple.com>
1415
1416         Begin cleaning up handling of ImmutableArray vectors
1417         https://bugs.webkit.org/show_bug.cgi?id=124208
1418
1419         Reviewed by Andreas Kling.
1420
1421         Use range based for to iterate the loops. Use reserveInitialCapacity + uncheckedAppend
1422         when appending vector elements.
1423
1424         * Shared/SecurityOriginData.cpp:
1425         (WebKit::performAPICallbackWithSecurityOriginDataVector):
1426         * Shared/WebArchive.cpp:
1427         (WebKit::WebArchive::subresources):
1428         (WebKit::WebArchive::subframeArchives):
1429         * Shared/WebContextMenuItem.cpp:
1430         (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
1431         * Shared/WebOpenPanelParameters.cpp:
1432         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
1433         (WebKit::WebOpenPanelParameters::selectedFileNames):
1434         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1435         (WKContextGetInfoForInstalledPlugIns):
1436         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
1437         (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
1438         * UIProcess/StatisticsRequest.cpp:
1439         (WebKit::StatisticsRequest::completedRequest):
1440         * UIProcess/WebContext.cpp:
1441         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
1442         * UIProcess/WebCookieManagerProxy.cpp:
1443         (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
1444         * UIProcess/WebDatabaseManagerProxy.cpp:
1445         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
1446         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
1447         * UIProcess/WebMediaCacheManagerProxy.cpp:
1448         (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
1449         * UIProcess/WebPageContextMenuClient.cpp:
1450         (WebKit::WebPageContextMenuClient::showContextMenu):
1451         * UIProcess/WebPageProxy.cpp:
1452         (WebKit::WebPageProxy::relatedPages):
1453         (WebKit::WebPageProxy::didFindStringMatches):
1454         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1455         (WebKit::InjectedBundle::originsWithApplicationCache):
1456         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
1457         (WebKit::InjectedBundleBackForwardListItem::children):
1458         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1459         (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
1460         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1461         (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
1462         * WebProcess/WebPage/WebPage.cpp:
1463         (WebKit::WebPage::trackedRepaintRects):
1464
1465 2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
1466
1467         One more URTBF after r159108.
1468
1469         * CMakeLists.txt:
1470
1471 2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
1472
1473         URTBF after r159108.
1474
1475         * CMakeLists.txt:
1476         * GNUmakefile.list.am:
1477
1478 2013-11-12  Anders Carlsson  <andersca@apple.com>
1479
1480         Move StringReference to Platform/IPC
1481         https://bugs.webkit.org/show_bug.cgi?id=124203
1482
1483         Reviewed by Antti Koivisto.
1484
1485         * Platform/IPC/StringReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.cpp.
1486         (CoreIPC::StringReference::toString):
1487         (CoreIPC::StringReference::encode):
1488         (CoreIPC::StringReference::decode):
1489         (CoreIPC::StringReference::Hash::hash):
1490         * Platform/IPC/StringReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.h.
1491         (CoreIPC::StringReference::StringReference):
1492         (CoreIPC::StringReference::isEmpty):
1493         (CoreIPC::StringReference::size):
1494         (CoreIPC::StringReference::data):
1495         (CoreIPC::StringReference::operator==):
1496         (CoreIPC::StringReference::Hash::equal):
1497         * WebKit2.xcodeproj/project.pbxproj:
1498
1499 2013-11-11  Tim Horton  <timothy_horton@apple.com>
1500
1501         Remote Layer Tree: Sporadic memory corruption during painting
1502         https://bugs.webkit.org/show_bug.cgi?id=124191
1503
1504         Reviewed by Brady Eidson.
1505
1506         Fix a logic error (flipped the logic, didn't flip the operator)
1507         made in the last version of r158982 that caused some crashes because
1508         it allowed us to overrun the end of cgPaintingRects.
1509
1510         * Shared/mac/RemoteLayerBackingStore.mm:
1511         (RemoteLayerBackingStore::drawInContext):
1512
1513 2013-11-11  Commit Queue  <commit-queue@webkit.org>
1514
1515         Unreviewed, rolling out r159088.
1516         http://trac.webkit.org/changeset/159088
1517         https://bugs.webkit.org/show_bug.cgi?id=124187
1518
1519         It broke the EFL build, because it removed a used function
1520         (rs=thorton) (Requested by Ossy_night on #webkit).
1521
1522         * UIProcess/WebPageProxy.cpp:
1523         (WebKit::WebPageProxy::WebPageProxy):
1524         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1525         * UIProcess/WebPageProxy.h:
1526         (WebKit::WebPageProxy::urlAtProcessExit):
1527         (WebKit::WebPageProxy::loadStateAtProcessExit):
1528
1529 2013-11-11  Csaba Osztrogonác  <ossy@webkit.org>
1530
1531         URTBF after r159077 to make GTK build happy.
1532
1533         * GNUmakefile.list.am:
1534
1535 2013-11-11  Gustavo Noronha Silva  <gns@gnome.org>
1536
1537         REGRESSION(r158976): Web Inspector: unable to start docked or dock
1538         https://bugs.webkit.org/show_bug.cgi?id=124148
1539
1540         Reviewed by Timothy Hatcher.
1541
1542         * UIProcess/WebInspectorProxy.cpp:
1543         (WebKit::WebInspectorProxy::canAttach): check for a level that is greater than 1 rather than 0
1544         to deny attachment, since 1 is the first level of inspectors.
1545
1546 2013-11-11  Anders Carlsson  <andersca@apple.com>
1547
1548         FrameFilter can just be an std::function instead
1549         https://bugs.webkit.org/show_bug.cgi?id=124176
1550
1551         Reviewed by Tim Horton.
1552
1553         * WebProcess/WebPage/WebFrame.cpp:
1554         (WebKit::WebFrame::webArchiveData):
1555
1556 2013-11-11  Anders Carlsson  <andersca@apple.com>
1557
1558         Remove unused Qt cruft
1559         https://bugs.webkit.org/show_bug.cgi?id=124174
1560
1561         Reviewed by Tim Horton.
1562
1563         * UIProcess/WebPageProxy.cpp:
1564         (WebKit::WebPageProxy::WebPageProxy):
1565         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1566         * UIProcess/WebPageProxy.h:
1567
1568 2013-11-11  Anders Carlsson  <andersca@apple.com>
1569
1570         REGRESSION (r158927): curly-braces-escaping.html is broken on Mac WebKit2
1571         https://bugs.webkit.org/show_bug.cgi?id=124164
1572
1573         Reviewed by Alexey Proskuryakov.
1574
1575         Back out the change to use NSSecureCoding for encoding/decoding NSURLRequest and
1576         NSURLResponse objects; turns out the NSURL encoding/decoding doesn't preserve the raw URL bytes.
1577
1578         * Shared/mac/WebCoreArgumentCodersMac.mm:
1579         (CoreIPC::encodePlatformData):
1580         (CoreIPC::decodePlatformData):
1581
1582 2013-11-11  Ryuan Choi  <ryuan.choi@samsung.com>
1583
1584         Unreviewed build fix on CMake Based port since r159077.
1585
1586         * CMakeLists.txt:
1587
1588 2013-11-11  Tim Horton  <timothy_horton@apple.com>
1589
1590         Remote Layer Tree: Implement Page Overlays
1591         https://bugs.webkit.org/show_bug.cgi?id=124165
1592         <rdar://problem/15199056>
1593
1594         Reviewed by Anders Carlsson.
1595
1596         Implement page overlays, very similar to how they work in TiledCoreAnimationDrawingArea,
1597         but manipulating the PlatformCALayer tree instead of the CALayer tree directly.
1598
1599         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1600         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1601         (WebKit::RemoteLayerTreeContext::outOfTreeLayerWasAdded):
1602         (WebKit::RemoteLayerTreeContext::outOfTreeLayerWillBeRemoved):
1603         (WebKit::RemoteLayerTreeContext::flushLayers):
1604         Add a list of out-of-tree GraphicsLayers which are flushed in addition
1605         to the page's GraphicsLayer tree, and functions to manipulate this list.
1606
1607         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1608         Make RemoteLayerTreeDrawingArea a GraphicsLayerClient, so we can get callbacks
1609         from the GraphicsLayers that drive our page overlays.
1610         Override the relevant page overlay functions.
1611         Add storage for the root layer, view size, and a map of PageOverlay->GraphicsLayer.
1612
1613         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1614         (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
1615         Store the root GraphicsLayer for later use.
1616
1617         (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
1618         Update the size of the page overlays when the DrawingArea's geometry changes.
1619
1620         (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
1621         Update the page overlay settings when necessary.
1622
1623         (WebKit::RemoteLayerTreeDrawingArea::didInstallPageOverlay):
1624         Create a GraphicsLayer for our page overlay, set it up, and parent it.
1625         Inform the RemoteLayerTreeContext that it will need to flush this GraphicsLayer,
1626         since it's not a part of the page's GraphicsLayer tree.
1627
1628         (WebKit::RemoteLayerTreeDrawingArea::didUninstallPageOverlay):
1629         Tear down our page overlay's GraphicsLayer.
1630
1631         (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayNeedsDisplay):
1632         (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayOpacity):
1633         (WebKit::RemoteLayerTreeDrawingArea::paintContents):
1634         (WebKit::RemoteLayerTreeDrawingArea::deviceScaleFactor):
1635
1636 2013-11-11  Anders Carlsson  <andersca@apple.com>
1637
1638         Add a FrameLoadState object and begin moving loading related members from WebFrameProxy
1639         https://bugs.webkit.org/show_bug.cgi?id=124163
1640
1641         Reviewed by Beth Dakin.
1642
1643         * UIProcess/API/C/WKFrame.cpp:
1644         (WKFrameGetFrameLoadState):
1645         * UIProcess/FrameLoadState.cpp: Added.
1646         (WebKit::FrameLoadState::FrameLoadState):
1647         (WebKit::FrameLoadState::~FrameLoadState):
1648         * UIProcess/FrameLoadState.h: Added.
1649         * UIProcess/WebFrameProxy.cpp:
1650         (WebKit::WebFrameProxy::WebFrameProxy):
1651         (WebKit::WebFrameProxy::didStartProvisionalLoad):
1652         (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
1653         (WebKit::WebFrameProxy::didFailProvisionalLoad):
1654         (WebKit::WebFrameProxy::didCommitLoad):
1655         (WebKit::WebFrameProxy::didFinishLoad):
1656         (WebKit::WebFrameProxy::didFailLoad):
1657         (WebKit::WebFrameProxy::didSameDocumentNavigation):
1658         (WebKit::WebFrameProxy::setUnreachableURL):
1659         * UIProcess/WebFrameProxy.h:
1660         (WebKit::WebFrameProxy::frameLoadState):
1661         (WebKit::WebFrameProxy::loadState):
1662         (WebKit::WebFrameProxy::url):
1663         (WebKit::WebFrameProxy::provisionalURL):
1664         (WebKit::WebFrameProxy::unreachableURL):
1665         * UIProcess/WebPageProxy.cpp:
1666         (WebKit::WebPageProxy::WebPageProxy):
1667         (WebKit::WebPageProxy::activeURL):
1668         * UIProcess/WebPageProxy.h:
1669         (WebKit::WebPageProxy::loadStateAtProcessExit):
1670         * WebKit2.xcodeproj/project.pbxproj:
1671
1672 2013-11-11  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
1673
1674         Remove #include from test input of the *Messages.in processing scripts.
1675         https://bugs.webkit.org/show_bug.cgi?id=123563
1676
1677         Reviewed by Darin Adler.
1678
1679         * Scripts/webkit2/messages_unittest.py:
1680
1681 2013-11-11  Anders Carlsson  <andersca@apple.com>
1682
1683         Remove block based APIs from the WebKit2 C API
1684         https://bugs.webkit.org/show_bug.cgi?id=124157
1685
1686         Reviewed by Sam Weinig.
1687
1688         Remove most of the block based C APIs from WebKit2. We want to discourage people from using
1689         them since any C API "objects" captured by blocks won't be implicitly retained which
1690         can lead to dangling pointer bugs.
1691
1692         * UIProcess/API/C/WKDatabaseManager.cpp:
1693         * UIProcess/API/C/WKDatabaseManager.h:
1694         * UIProcess/API/C/WKFrame.cpp:
1695         * UIProcess/API/C/WKFrame.h:
1696         * UIProcess/API/C/WKPage.cpp:
1697         * UIProcess/API/C/WKPage.h:
1698         * UIProcess/API/C/WKPagePrivate.h:
1699
1700 2013-11-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1701
1702         [GTK] Crash when printing via javascript in WebKit2
1703         https://bugs.webkit.org/show_bug.cgi?id=124043
1704
1705         Reviewed by Martin Robinson.
1706
1707         It happens because the print operation when started by the
1708         WebProcess due to a DOM operation is supposed to be synchronous
1709         and our print operation is always asynchronous. This is currently
1710         handled only in the UI process because other ports print
1711         synchronously in the WebProcess. In the GTK+ port we need to
1712         notify the WebProcess that the print operation should run
1713         synchronously when request by a DOM operation. Together with the
1714         print settings and page setup we now send a print mode that can be
1715         sync or async. When printing in sync mode we run a nested main loop
1716         for the print operation, making sure that print sources have a
1717         higher priority.
1718
1719         * Shared/PrintInfo.cpp:
1720         (WebKit::PrintInfo::encode): Encode the print mode.
1721         (WebKit::PrintInfo::decode): Decode the print mode.
1722         * Shared/PrintInfo.h: Add PrintMode enum.
1723         * Shared/gtk/PrintInfoGtk.cpp:
1724         (WebKit::PrintInfo::PrintInfo): Initialize print mode.
1725         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1726         (drawPagesForPrintingCompleted): Do not call endPrinting() when
1727         printing synchronously because WebPageProxy already calls it right
1728         after sending the message to the WebProcess.
1729         (webkitPrintOperationPrintPagesForFrame): Create the PrintInfo
1730         struct with a print mode.
1731         (webkitPrintOperationSetPrintMode): Helper private function to set
1732         the print mode of the print operation.
1733         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
1734         * UIProcess/API/gtk/WebKitWebView.cpp:
1735         (webkitWebViewPrintFrame): Set sync print mode when printing due
1736         to a UIClient request.
1737         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1738         (WebKit::PrintPagesData::PrintPagesData): Create a main loop when
1739         printing synchronously.
1740         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
1741         print mode.
1742         (WebKit::WebPrintOperationGtk::printPagesIdleDone): Finish the
1743         nested main loop when printing synchronously.
1744         (WebKit::WebPrintOperationGtk::print): Run a nested main loop when
1745         printing synchronously.
1746         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1747         (WebKit::WebPrintOperationGtk::printMode): Return the print mode.
1748
1749 2013-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1750
1751         [GTK] [WebKit2] Crash when printing to a file via javascript
1752         https://bugs.webkit.org/show_bug.cgi?id=122801
1753
1754         Reviewed by Martin Robinson.
1755
1756         This crash is caused by a GTK+ bug, but we can work around it by
1757         ensuring the print dialog is always shown with a valid
1758         GtkPrintSettings object.
1759
1760         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1761         (webkitPrintOperationRunDialog):
1762
1763 2013-11-09  Dan Bernstein  <mitz@apple.com>
1764
1765         Use createCFURLFromBuffer when converting a String to a CFURL
1766         https://bugs.webkit.org/show_bug.cgi?id=124113
1767
1768         Reviewed by Anders Carlsson.
1769
1770         * Shared/API/c/cf/WKURLCF.mm:
1771         (WKURLCopyCFURL): Replaced some code with a call to createCFURLFromBuffer(), which does the
1772         same thing.
1773
1774         * Shared/Cocoa/WKNSURLExtras.h: Added.
1775         * Shared/Cocoa/WKNSURLExtras.mm: Added.
1776         (+[NSURL _web_URLWithWTFString:relativeToURL:]): Added. Returns nil for the null String,
1777         otherwise returns the result of createCFURLFromBuffer().
1778
1779         * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
1780         (-[WKBackForwardListItem URL]): Changed to use +_web_URLWithWTFString:relativeToURL:.
1781         (-[WKBackForwardListItem originalURL]): Ditto.
1782
1783         * UIProcess/API/Cocoa/WKNavigationData.mm:
1784         (-[WKNavigationData destinationURL]): Ditto.
1785
1786         * UIProcess/API/mac/WKBrowsingContextController.mm:
1787         (-[WKBrowsingContextController unreachableURL]): Ditto.
1788
1789         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
1790
1791 2013-11-09  Anders Carlsson  <andersca@apple.com>
1792
1793         Encode form data using the KeyedEncoder
1794         https://bugs.webkit.org/show_bug.cgi?id=124107
1795
1796         Reviewed by Sam Weinig.
1797
1798         * Shared/cf/KeyedEncoder.cpp:
1799         (WebKit::KeyedEncoder::encodeBool):
1800         (WebKit::KeyedEncoder::encodeDouble):
1801         * Shared/cf/KeyedEncoder.h:
1802
1803 2013-11-09  Anders Carlsson  <andersca@apple.com>
1804
1805         Remove an unused file.
1806
1807         Rubber-stamped by Andreas Kling.
1808
1809         * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Removed.
1810
1811 2013-11-09  Patrick Gansterer  <paroga@webkit.org>
1812
1813         Move RunLoop from WebCore to WTF
1814         https://bugs.webkit.org/show_bug.cgi?id=116606
1815
1816         Reviewed by Anders Carlsson.
1817
1818         * DatabaseProcess/DatabaseProcess.cpp:
1819         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
1820         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1821         * NetworkProcess/NetworkProcess.cpp:
1822         * NetworkProcess/NetworkProcess.h:
1823         * NetworkProcess/NetworkResourceLoader.h:
1824         * NetworkProcess/mac/DiskCacheMonitor.h:
1825         * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
1826         * Platform/CoreIPC/Connection.cpp:
1827         * Platform/CoreIPC/Connection.h:
1828         * Platform/CoreIPC/mac/ConnectionMac.cpp:
1829         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
1830         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
1831         * PluginProcess/PluginControllerProxy.h:
1832         * PluginProcess/PluginProcess.cpp:
1833         * PluginProcess/PluginProcess.h:
1834         * PluginProcess/WebProcessConnection.cpp:
1835         * PluginProcess/unix/PluginProcessMainUnix.cpp:
1836         * Shared/ChildProcess.cpp:
1837         * Shared/ChildProcess.h:
1838         * Shared/ChildProcessProxy.cpp:
1839         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
1840         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
1841         * Shared/Plugins/NPObjectProxy.cpp:
1842         * Shared/WebKit2Initialize.cpp:
1843         (WebKit::InitializeWebKit2):
1844         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
1845         * UIProcess/API/mac/FindIndicatorWindow.h:
1846         * UIProcess/API/mac/WKPrintingView.mm:
1847         * UIProcess/API/mac/WKView.mm:
1848         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
1849         * UIProcess/DrawingAreaProxyImpl.h:
1850         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
1851         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1852         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1853         * UIProcess/Network/NetworkProcessProxy.cpp:
1854         * UIProcess/Plugins/PluginProcessProxy.cpp:
1855         * UIProcess/ResponsivenessTimer.cpp:
1856         * UIProcess/ResponsivenessTimer.h:
1857         * UIProcess/VisitedLinkProvider.h:
1858         * UIProcess/WebContext.cpp:
1859         * UIProcess/WebProcessProxy.cpp:
1860         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
1861         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
1862         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
1863         * WebProcess/Network/WebResourceLoadScheduler.h:
1864         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1865         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1866         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1867         * WebProcess/Plugins/PluginView.h:
1868         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
1869         * WebProcess/WebPage/DrawingAreaImpl.h:
1870         * WebProcess/WebPage/EventDispatcher.cpp:
1871         * WebProcess/WebPage/PageOverlay.h:
1872         * WebProcess/WebPage/WebPage.cpp:
1873         * WebProcess/WebPage/WebPage.h:
1874         * WebProcess/WebProcess.cpp:
1875         * WebProcess/efl/WebProcessMainEfl.cpp:
1876         * WebProcess/gtk/WebProcessMainGtk.cpp:
1877
1878 2013-11-08  Brady Eidson  <beidson@apple.com>
1879
1880         Merge IDBDatabaseBackendInterface and IDBDatabaseBackendImpl
1881         https://bugs.webkit.org/show_bug.cgi?id=124088
1882
1883         Reviewed by Tim Horton.
1884
1885         This abstraction is no longer meaningful in its current form in WebCore.
1886         The current groundwork for the WK2 DatabaseProcess relied on this abstraction,
1887         but that will be reworked in a future patch.
1888
1889         * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h:
1890
1891         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
1892         (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
1893         (WebKit::WebIDBFactoryBackend::createCursorBackend):
1894         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
1895
1896         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
1897         (WebKit::WebProcessIDBDatabaseBackend::put):
1898         (WebKit::WebProcessIDBDatabaseBackend::openCursor):
1899         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
1900
1901 2013-11-08  Jaehun Lim  <ljaehun.lim@samsung.com>
1902
1903         Unreviewed build fix after r158984.
1904
1905         No needs to include "KeyedEncoder.h".
1906         WebKit/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:31:26: fatal error: KeyedEncoder.h: No such file or directory
1907
1908         * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed #include line.
1909
1910 2013-11-08  Anders Carlsson  <andersca@apple.com>
1911
1912         Implement encoding of arrays of objects
1913         https://bugs.webkit.org/show_bug.cgi?id=124091
1914
1915         Reviewed by Beth Dakin.
1916
1917         Add a new array stack and push and pop from it accordingly.
1918
1919         * Shared/cf/KeyedEncoder.cpp:
1920         (WebKit::KeyedEncoder::~KeyedEncoder):
1921         (WebKit::KeyedEncoder::encodeBytes):
1922         (WebKit::KeyedEncoder::encodeUInt32):
1923         (WebKit::KeyedEncoder::encodeInt32):
1924         (WebKit::KeyedEncoder::encodeInt64):
1925         (WebKit::KeyedEncoder::encodeFloat):
1926         (WebKit::KeyedEncoder::beginArray):
1927         (WebKit::KeyedEncoder::beginArrayElement):
1928         (WebKit::KeyedEncoder::endArrayElement):
1929         (WebKit::KeyedEncoder::endArray):
1930         * Shared/cf/KeyedEncoder.h:
1931
1932 2013-11-08  Tim Horton  <timothy_horton@apple.com>
1933
1934         Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache
1935         https://bugs.webkit.org/show_bug.cgi?id=123944
1936
1937         Reviewed by Simon Fraser.
1938
1939         Rework RemoteLayerBackingStore painting to fix some rounding issues
1940         that would cause pixel cracks upon repaint, and to speed it up a bit.
1941
1942         * Shared/mac/RemoteLayerBackingStore.h:
1943         Redefine RepaintRectList because we can't include WebLayer.h here yet.
1944         Remove createBackingStore, which was never implemented.
1945         Remove mapToContentCoordinates, because we don't need it on Mac.
1946
1947         (WebKit::RemoteLayerBackingStore::paintingRects): Added.
1948
1949         * Shared/mac/RemoteLayerBackingStore.mm:
1950         (RemoteLayerBackingStore::setNeedsDisplay):
1951         (RemoteLayerBackingStore::display):
1952         Stop using mapToContentCoordinates.
1953
1954         (RemoteLayerBackingStore::drawInContext):
1955         Use clipping instead of painting the image multiple times.
1956         Never repaint more than the dirty region's bounds.
1957         Don't waste time with all of the drawNativeImage code, just use CG.
1958         Unindent the switch's cases.
1959         Store the rects we're painting so that enumerateRectsBeingDrawn can get them.
1960         Pixel-snap the rects we're painting.
1961         Clip the context before going to paint.
1962
1963         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1964         (PlatformCALayerRemote::enumerateRectsBeingDrawn):
1965         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1966         Retrieve the rects currently being painted from our backing store, and
1967         transform them (mostly) according to the CTM, to match the transformation
1968         that will have occurred underneath wkCALayerEnumerateRectsBeingDrawnWithBlock.
1969
1970 2013-11-08  Anders Carlsson  <andersca@apple.com>
1971
1972         Implement more KeyedEncoder functionality
1973         https://bugs.webkit.org/show_bug.cgi?id=124089
1974
1975         Reviewed by Beth Dakin.
1976
1977         * Shared/cf/KeyedEncoder.cpp:
1978         (WebKit::KeyedEncoder::encodeBytes):
1979         (WebKit::KeyedEncoder::encodeInt32):
1980         (WebKit::KeyedEncoder::encodeFloat):
1981         * Shared/cf/KeyedEncoder.h:
1982
1983 2013-11-08  Anders Carlsson  <andersca@apple.com>
1984
1985         KeyedEncoder should be able to encoder objects
1986         https://bugs.webkit.org/show_bug.cgi?id=124085
1987
1988         Reviewed by Sam Weinig.
1989
1990         Add a dictionary stack to KeyedEncoder that's pushed and popped by
1991         beginObject/endObject.
1992
1993         * Shared/cf/KeyedEncoder.cpp:
1994         (WebKit::KeyedEncoder::KeyedEncoder):
1995         (WebKit::KeyedEncoder::~KeyedEncoder):
1996         (WebKit::KeyedEncoder::encodeUInt32):
1997         (WebKit::KeyedEncoder::encodeString):
1998         (WebKit::KeyedEncoder::beginObject):
1999         (WebKit::KeyedEncoder::endObject):
2000         * Shared/cf/KeyedEncoder.h:
2001
2002 2013-11-08  Alexandru Chiculita  <achicu@adobe.com>
2003
2004         Web Inspector: It should be possible to debug the Inspector code
2005         https://bugs.webkit.org/show_bug.cgi?id=124065
2006
2007         Reviewed by Timothy Hatcher.
2008
2009         When the script is paused, the debugger will pause all the pages in the same PageGroup.
2010         All the Inspector windows were created in the same PageGroup, so pausing one debugger
2011         would stop the other too.
2012
2013         Added WebInspectorPageGroups to manage the PageGroups created for the Inspectors.
2014         The WebInspectors will now use the inspection "level" to figure out which PageGroup to use.
2015         The inspector that debugs the main page will use "__WebInspectorPageGroupLevel1__",
2016         the second inspector (that debugs the first inspector) will use "__WebInspectorPageGroupLevel2__" ...
2017
2018         * UIProcess/WebInspectorProxy.cpp:
2019         (WebKit::WebInspectorPageGroups::shared):
2020         (WebKit::WebInspectorPageGroups::inspectorLevel):
2021         (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
2022         (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
2023         (WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel):
2024         (WebKit::WebInspectorPageGroups::createInspectorPageGroup):
2025         (WebKit::WebInspectorProxy::WebInspectorProxy):
2026         (WebKit::WebInspectorProxy::inspectorPageGroup):
2027         (WebKit::WebInspectorProxy::isInspectorPage):
2028         (WebKit::WebInspectorProxy::canAttach):
2029         * UIProcess/WebInspectorProxy.h:
2030
2031 2013-11-08  Anders Carlsson  <andersca@apple.com>
2032
2033         Begin stubbing out a KeyedEncoder class in WebCore
2034         https://bugs.webkit.org/show_bug.cgi?id=124079
2035
2036         Reviewed by Sam Weinig.
2037
2038         * Shared/KeyedEncoder.h: Removed.
2039         * Shared/cf/KeyedCodingValueCF.cpp: Removed.
2040         * Shared/cf/KeyedEncoder.cpp: Added.
2041         Remove old keyed encoders.
2042
2043         (WebKit::createDictionary):
2044         Helper function to create a mutable dictionary.
2045         (WebKit::KeyedEncoder::KeyedEncoder):
2046         Create the root dictionary.
2047
2048         (WebKit::KeyedEncoder::encodeUInt32):
2049         Create a CFNumberRef and add it to the dictionary.
2050
2051         * Shared/cf/KeyedEncoder.h: Added.
2052         * WebKit2.xcodeproj/project.pbxproj:
2053         Add new files.
2054
2055         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2056         (WebKit::updateBackForwardItem):
2057         Create a KeyedEncoder and encode the history tree.
2058
2059 2013-11-08  Brady Eidson  <beidson@apple.com>
2060
2061         Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl
2062         https://bugs.webkit.org/show_bug.cgi?id=124077
2063
2064         Reviewed by Alexey Proskuryakov.
2065
2066         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
2067         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2068
2069 2013-11-08  Brady Eidson  <beidson@apple.com>
2070
2071         Merge IDBCursorBackendInterface and IDBCursorBackendImpl
2072         https://bugs.webkit.org/show_bug.cgi?id=124068
2073
2074         Reviewed by Anders Carlsson.
2075
2076         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
2077         (WebKit::WebIDBFactoryBackend::createCursorBackend):
2078         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2079
2080 2013-11-08  Anders Carlsson  <andersca@apple.com>
2081
2082         Remove a workaround for a bug in malloc on Symbian
2083         https://bugs.webkit.org/show_bug.cgi?id=124069
2084
2085         Reviewed by Sam Weinig.
2086
2087         * Platform/CoreIPC/ArgumentDecoder.cpp:
2088         (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
2089         (CoreIPC::ArgumentDecoder::initialize):
2090         * Platform/CoreIPC/ArgumentDecoder.h:
2091
2092 2013-11-08  Anders Carlsson  <andersca@apple.com>
2093
2094         More build fixes.
2095
2096         * UIProcess/API/mac/WKBrowsingContextController.mm:
2097         * UIProcess/API/mac/WKConnection.mm:
2098         (didReceiveMessage):
2099
2100 2013-11-08  Anders Carlsson  <andersca@apple.com>
2101
2102         More build fixes.
2103
2104         * UIProcess/API/mac/WKConnection.h:
2105         * UIProcess/API/mac/WKConnection.mm:
2106         (didReceiveMessage):
2107
2108 2013-11-08  Anders Carlsson  <andersca@apple.com>
2109
2110         Try to fix the 32-bit build.
2111
2112         * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h:
2113
2114 2013-11-08  Anders Carlsson  <andersca@apple.com>
2115
2116         Replace __alignof with alignof.
2117
2118         Rubber-stamped by Beth Dakin.
2119
2120         * Platform/CoreIPC/ArgumentCoders.cpp:
2121         (CoreIPC::::encode):
2122         (CoreIPC::decodeStringText):
2123         * Platform/CoreIPC/ArgumentCoders.h:
2124         (CoreIPC::SimpleArgumentCoder::encode):
2125         (CoreIPC::SimpleArgumentCoder::decode):
2126         * Platform/CoreIPC/ArgumentDecoder.h:
2127         (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
2128         * WebProcess/WebPage/DecoderAdapter.cpp:
2129         (WebKit::DecoderAdapter::decodeString):
2130         * WebProcess/WebPage/EncoderAdapter.cpp:
2131         (WebKit::EncoderAdapter::encodeString):
2132
2133 2013-11-08  Anders Carlsson  <andersca@apple.com>
2134
2135         Add a way to get a WKWebProcessPlugInBrowserContextController from a handle
2136         https://bugs.webkit.org/show_bug.cgi?id=124063
2137
2138         Reviewed by Beth Dakin.
2139
2140         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2141         (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):
2142         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
2143
2144 2013-11-08  Anders Carlsson  <andersca@apple.com>
2145
2146         More work on WKBrowsingContextHandle
2147         https://bugs.webkit.org/show_bug.cgi?id=124060
2148
2149         Reviewed by Beth Dakin.
2150
2151         Implement -hash and -isEqual: and add -[WKWebProcessPlugInBrowserContextController handle].
2152
2153         * Shared/API/Cocoa/WKBrowsingContextHandle.mm:
2154         (-[WKBrowsingContextHandle hash]):
2155         (-[WKBrowsingContextHandle isEqual:]):
2156         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2157         (decodeInvocation):
2158         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2159         (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
2160         (-[WKWebProcessPlugInBrowserContextController selectedRange]):
2161         (-[WKWebProcessPlugInBrowserContextController handle]):
2162         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
2163         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
2164
2165 2013-11-08  Anders Carlsson  <andersca@apple.com>
2166
2167         Add A WKBrowsingContextHandle class
2168         https://bugs.webkit.org/show_bug.cgi?id=124058
2169
2170         Reviewed by Sam Weinig.
2171
2172         The WKBrowsingContextHandle class represents a browsing context and can be sent across process boundaries.
2173
2174         * Shared/API/Cocoa/WKBrowsingContextHandle.h: Added.
2175         * Shared/API/Cocoa/WKBrowsingContextHandle.mm: Added.
2176         (-[WKBrowsingContextHandle _initWithPageID:]):
2177         (-[WKBrowsingContextHandle encodeWithCoder:]):
2178         (-[WKBrowsingContextHandle initWithCoder:]):
2179         (+[WKBrowsingContextHandle supportsSecureCoding]):
2180         * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h: Added.
2181         * UIProcess/API/mac/WKBrowsingContextController.mm:
2182         (-[WKBrowsingContextController handle]):
2183         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
2184         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
2185         (NS_ENUM):
2186         * WebKit2.xcodeproj/project.pbxproj:
2187
2188 2013-11-08  Anders Carlsson  <andersca@apple.com>
2189
2190         Add WKRemoteObjectRegistry to WKConnection
2191         https://bugs.webkit.org/show_bug.cgi?id=124054
2192
2193         Reviewed by Sam Weinig.
2194
2195         * UIProcess/API/mac/WKConnection.h:
2196         * UIProcess/API/mac/WKConnection.mm:
2197         (-[WKConnection delegate]):
2198         (-[WKConnection setDelegate:]):
2199         (-[WKConnection remoteObjectRegistry]):
2200         (didReceiveMessage):
2201
2202 2013-11-08  Anders Carlsson  <andersca@apple.com>
2203
2204         Encode and decode NSURLRequests using NSCoder
2205         https://bugs.webkit.org/show_bug.cgi?id=124051
2206
2207         Reviewed by Sam Weinig.
2208
2209         * Shared/mac/WebCoreArgumentCodersMac.mm:
2210         (CoreIPC::archiveAndEncodeObject):
2211         (CoreIPC::decodeAndUnarchiveObject):
2212         (CoreIPC::::encodePlatformData):
2213         (CoreIPC::::decodePlatformData):
2214
2215 2013-11-07  Anders Carlsson  <andersca@apple.com>
2216
2217         Encode and decode NSURLResponse objects using NSCoder
2218         https://bugs.webkit.org/show_bug.cgi?id=124028
2219
2220         Reviewed by Andreas Kling.
2221
2222         * Shared/mac/WebCoreArgumentCodersMac.mm:
2223         (CoreIPC::::encodePlatformData):
2224         (CoreIPC::::decodePlatformData):
2225
2226 2013-11-07  Anders Carlsson  <andersca@apple.com>
2227
2228         Move m_destinationID to MessageDecoder
2229         https://bugs.webkit.org/show_bug.cgi?id=124026
2230
2231         Reviewed by Andreas Kling.
2232
2233         * Platform/CoreIPC/ArgumentDecoder.h:
2234         * Platform/CoreIPC/MessageDecoder.h:
2235         (CoreIPC::MessageDecoder::destinationID):
2236
2237 2013-11-07  Anders Carlsson  <andersca@apple.com>
2238
2239         Get rid of the out-of-line memory attachment type
2240         https://bugs.webkit.org/show_bug.cgi?id=124023
2241
2242         Reviewed by Andreas Kling.
2243
2244         We're only using out-of-line memory for when the message body is too big, so
2245         isolate that code in Connection and get rid of the out of line attachment type.
2246
2247         * Platform/CoreIPC/Attachment.cpp:
2248         (CoreIPC::Attachment::Attachment):
2249         * Platform/CoreIPC/Attachment.h:
2250         (CoreIPC::Attachment::port):
2251         (CoreIPC::Attachment::disposition):
2252         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2253         (CoreIPC::Connection::sendOutgoingMessage):
2254         (CoreIPC::createMessageDecoder):
2255
2256 2013-11-07  Simon Fraser  <simon.fraser@apple.com>
2257
2258         Lots of layers get solid color but transparent contents layers now
2259         https://bugs.webkit.org/show_bug.cgi?id=123537
2260
2261         Reviewed by Tim Horton.
2262         
2263         Add some properties to the list of things not to implicitly animate.
2264
2265         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
2266         (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):
2267
2268 2013-11-07  Anders Carlsson  <andersca@apple.com>
2269
2270         Remove more dead code
2271         https://bugs.webkit.org/show_bug.cgi?id=124016
2272
2273         Reviewed by Beth Dakin.
2274
2275         We're always layer backed now so we never scroll using the PageClient.
2276
2277         * UIProcess/API/mac/PageClientImpl.mm:
2278         (WebKit::PageClientImpl::canScrollView):
2279         (WebKit::PageClientImpl::scrollView):
2280
2281 2013-11-07  Anders Carlsson  <andersca@apple.com>
2282
2283         Don't repaint the view when the web process crashes
2284         https://bugs.webkit.org/show_bug.cgi?id=124013
2285
2286         Reviewed by Dan Bernstein.
2287
2288         It's up to each individual port to decide whether the view should be repainted when the web process crashes.
2289
2290         * UIProcess/API/mac/PageClientImpl.mm:
2291         (WebKit::PageClientImpl::setViewNeedsDisplay):
2292         (WebKit::PageClientImpl::displayView):
2293         * UIProcess/WebPageProxy.cpp:
2294         (WebKit::WebPageProxy::resetStateAfterProcessExited):
2295
2296 2013-11-07  Tamas Gergely  <gertom@inf.u-szeged.hu>
2297
2298         Report error on unknown template class usage.
2299         https://bugs.webkit.org/show_bug.cgi?id=123096
2300
2301         Reviewed by Darin Adler.
2302
2303         Report error when template class is not found in the dictionary.
2304
2305         * Scripts/webkit2/messages.py:
2306         (class_template_headers):
2307         (class_template_headers.template):
2308
2309 2013-11-07  Denis Nomiyama  <d.nomiyama@samsung.com>
2310
2311         [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise
2312         https://bugs.webkit.org/show_bug.cgi?id=50619
2313
2314         Reviewed by Martin Robinson.
2315
2316         Added WebCore/platform/graphics/opentype to the include path.
2317
2318         * PlatformEfl.cmake:
2319         * PlatformGTK.cmake:
2320
2321 2013-11-07  Brendan Long  <b.long@cablelabs.com>
2322
2323         [Gtk] Remove old takeFocus() method from PageClientImpl and mark methods as OVERRIDE
2324         https://bugs.webkit.org/show_bug.cgi?id=123919
2325
2326         Reviewed by Carlos Garcia Campos.
2327
2328         * UIProcess/API/gtk/PageClientImpl.cpp: Remove takeFocus().
2329         * UIProcess/API/gtk/PageClientImpl.h: Remove takeFocus() and mark methods as OVERRIDE.
2330
2331 2013-11-06  Dan Bernstein  <mitz@apple.com>
2332
2333         Moved UIProcess/Cocoa to UIProcess/API/Cocoa.
2334
2335         Rubber-stamped by Anders Carlsson.
2336
2337         * UIProcess/API/Cocoa: Copied from Source/WebKit2/UIProcess/Cocoa.
2338         * UIProcess/Cocoa: Removed.
2339         * UIProcess/Cocoa/WKBackForwardList.h: Removed.
2340         * UIProcess/Cocoa/WKBackForwardList.mm: Removed.
2341         * UIProcess/Cocoa/WKBackForwardListInternal.h: Removed.
2342         * UIProcess/Cocoa/WKBackForwardListItem.h: Removed.
2343         * UIProcess/Cocoa/WKBackForwardListItem.mm: Removed.
2344         * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Removed.
2345         * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Removed.
2346         * UIProcess/Cocoa/WKNavigationData.h: Removed.
2347         * UIProcess/Cocoa/WKNavigationData.mm: Removed.
2348         * UIProcess/Cocoa/WKNavigationDataInternal.h: Removed.
2349         * WebKit2.xcodeproj/project.pbxproj:
2350
2351 2013-11-06  Brendan Long  <b.long@cablelabs.com>
2352
2353         [Gtk][EFL] Fix build after r158759
2354         https://bugs.webkit.org/show_bug.cgi?id=123910
2355
2356         Reviewed by Gyuyoung Kim.
2357
2358         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
2359         (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): Remove call to flashBackingStoreUpdates().
2360
2361 2013-11-06  Tim Horton  <timothy_horton@apple.com>
2362
2363         Remote Layer Tree: RemoteLayerTreeDrawingArea doesn't make layers for fixedpos elements
2364         https://bugs.webkit.org/show_bug.cgi?id=123943
2365
2366         Reviewed by Simon Fraser.
2367
2368         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2369         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2370         (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
2371         Make fixed position elements create compositing layers and stacking contexts
2372         in the RemoteLayerTreeDrawingArea just like they do in TiledCoreAnimationDrawingArea.
2373
2374         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2375         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
2376         Fix the comment, since we have long since achieved this goal.
2377
2378 2013-11-06  Anders Carlsson  <andersca@apple.com>
2379
2380         Implement enough functionality so that NSURLRequest objects can be decoded
2381         https://bugs.webkit.org/show_bug.cgi?id=123942
2382
2383         Reviewed by Andreas Kling.
2384
2385         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2386         (-[WKRemoteObjectEncoder requiresSecureCoding]):
2387         Add new method. Return YES.
2388
2389         (-[WKRemoteObjectDecoder decodeValueOfObjCType:at:]):
2390         Add new method. This currently only handles 'i', but we'll add more variants as needed.
2391
2392         (-[WKRemoteObjectDecoder decodeBoolForKey:]):
2393         Get a WebBoolean from the dictionary and return its value.
2394
2395 2013-11-06  Anders Carlsson  <andersca@apple.com>
2396
2397         Encoded object stream should be sequential
2398         https://bugs.webkit.org/show_bug.cgi?id=123939
2399
2400         Reviewed by Andreas Kling.
2401
2402         Reserve space in the object stream for objects that are to be encoded, otherwise
2403         the object stream will not be sequential.
2404
2405         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2406         (encodeToObjectStream):
2407         * Shared/ImmutableArray.h:
2408         (WebKit::ImmutableArray::entries):
2409
2410 2013-11-06  Anders Carlsson  <andersca@apple.com>
2411
2412         Allow property list classes to exist in containers
2413         https://bugs.webkit.org/show_bug.cgi?id=123938
2414
2415         Reviewed by Andreas Kling.
2416
2417         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
2418         (isContainerClass):
2419         Return whether a given class is a container class.
2420
2421         (propertyListClasses):
2422         Return the set of property list classes.
2423
2424         (allowedArgumentClassesForMethod):
2425         Allow all property list classes for container type arguments.
2426
2427 2013-11-06  Daniel Bates  <dabates@apple.com>
2428
2429         [iOS] Upstream Letterpress effect
2430         https://bugs.webkit.org/show_bug.cgi?id=123932
2431
2432         Reviewed by Sam Weinig.
2433
2434         Add feature define ENABLE_LETTERPRESS disabled by default. We only enable
2435         letterpress on iOS.
2436
2437         * Configurations/FeatureDefines.xcconfig:
2438
2439 2013-11-06  Dan Bernstein  <mitz@apple.com>
2440
2441         Fixed multiple API test failures after r158764.
2442
2443         Reviewed by Sam Weinig.
2444
2445         * UIProcess/API/mac/WKBrowsingContextController.mm:
2446         (setUpPagePolicyClient): If the delegate isn’t set or doesn’t respond to a selector, respond
2447         with WKFramePolicyListenerUse().
2448
2449 2013-11-06  Anders Carlsson  <andersca@apple.com>
2450
2451         Move allowed classes handling to decodeObject
2452         https://bugs.webkit.org/show_bug.cgi?id=123930
2453
2454         Reviewed by Andreas Kling.
2455
2456         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2457         (decodeObjectFromObjectStream):
2458         Pass allowed classes through to decodeObject.
2459
2460         (decodeObject):
2461         Update to take an NSSet of allowed classes. If the set is nil, use the current set.
2462
2463         (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
2464         Pass classes to decodeObject.
2465
2466 2013-11-06  Sergio Correia  <sergio.correia@openbossa.org>
2467
2468         Fix EFL build after r158753
2469         https://bugs.webkit.org/show_bug.cgi?id=123923
2470
2471         r158753 renamed WKNavigationData.h as WKNavigationDataRef.h, so
2472         update it in UIProcess/API/efl/ewk_navigation_data_private.h.
2473
2474         Reviewed by Csaba Osztrogonác.
2475
2476         * UIProcess/API/efl/ewk_navigation_data_private.h:
2477
2478 2013-11-06  Anders Carlsson  <andersca@apple.com>
2479
2480         Implement more decoding methods
2481         https://bugs.webkit.org/show_bug.cgi?id=123922
2482
2483         Reviewed by Dan Bernstein.
2484
2485         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2486         (-[WKRemoteObjectDecoder decodeObjectForKey:]):
2487         Call decodeObjectOfClasses:forKey: passing nil as the classes set.
2488
2489         (-[WKRemoteObjectDecoder decodeInt64ForKey:]):
2490         Try to get a WebUInt64 and return its value.
2491
2492         (-[WKRemoteObjectDecoder decodeDoubleForKey:]):
2493         Try to get a WebDouble and return its value.
2494
2495         (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
2496         Move this method next to the other decoding methods.
2497
2498         (-[WKRemoteObjectDecoder requiresSecureCoding]):
2499         Ditto.
2500
2501 2013-11-06  Brendan Long  <b.long@cablelabs.com>
2502
2503         [Gtk][EFL] Fix build after r158759
2504         https://bugs.webkit.org/show_bug.cgi?id=123910
2505
2506         Reviewed by Gustavo Noronha Silva.
2507
2508         * UIProcess/API/gtk/PageClientImpl.cpp: Remove flashBackingStoreUpdates().
2509         * UIProcess/API/gtk/PageClientImpl.h: Same.
2510         * UIProcess/CoordinatedGraphics/WebView.cpp: Same.
2511         * UIProcess/CoordinatedGraphics/WebView.h: Same.
2512         * UIProcess/DrawingAreaProxyImpl.cpp:
2513         (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Don't call flashBackingStoreUpdates().
2514
2515 2013-11-06  Jer Noble  <jer.noble@apple.com>
2516
2517         Unreviewed Mac build fix; include ResourceResponse.
2518
2519         * Shared/WebNavigationDataStore.h:
2520
2521 2013-11-06  Anders Carlsson  <andersca@apple.com>
2522
2523         Decode invocation arguments
2524         https://bugs.webkit.org/show_bug.cgi?id=123917
2525
2526         Reviewed by Sam Weinig.
2527
2528         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2529         (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
2530         Initialize the object stream.
2531
2532         (decodeObjectFromObjectStream):
2533         Check that we're not reading past the end of the stream, then decode the object.
2534
2535         (decodeInvocationArguments):
2536         Decode arguments from the object stream.
2537
2538         (decodeInvocation):
2539         Call decodeInvocationArguments and set up the selector argument.
2540         
2541         * Shared/ImmutableArray.h:
2542         (WebKit::ImmutableArray::at):
2543         (WebKit::ImmutableArray::size):
2544         (WebKit::ImmutableArray::entries):
2545         Constify.
2546
2547 2013-11-06  Dan Bernstein  <mitz@apple.com>
2548
2549         [Cocoa] Add -[WKNavigationData response]
2550         https://bugs.webkit.org/show_bug.cgi?id=123918
2551
2552         Reviewed by Sam Weinig.
2553
2554         * Shared/WebNavigationDataStore.h: Added a ResourceResponse data member.
2555         (WebKit::WebNavigationDataStore::encode): Encode the response.
2556         (WebKit::WebNavigationDataStore::decode): Decode the response.
2557         * UIProcess/Cocoa/WKNavigationData.h: Declared new property.
2558         * UIProcess/Cocoa/WKNavigationData.mm:
2559         (-[WKNavigationData response]): Added.
2560         * UIProcess/WebNavigationData.h:
2561         (WebKit::WebNavigationData::response): Added.
2562         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2563         (WebKit::WebFrameLoaderClient::updateGlobalHistory): Set the response in the data store.
2564
2565 2013-11-06  Sam Weinig  <sam@webkit.org>
2566
2567         Fix the 32-bit build.
2568
2569         * UIProcess/API/mac/WKBrowsingContextController.h:
2570         * UIProcess/API/mac/WKBrowsingContextController.mm:
2571         (-[WKBrowsingContextController dealloc]):
2572         (-[WKBrowsingContextController _initWithPageRef:]):
2573
2574 2013-11-06  Dan Bernstein  <mitz@apple.com>
2575
2576         [Cocoa] Add -[WKBrowsingContextController unreachableURL]
2577         https://bugs.webkit.org/show_bug.cgi?id=123909
2578
2579         Reviewed by Anders Carlsson.
2580
2581         * UIProcess/API/mac/WKBrowsingContextController.h: Declared unreachableURL property.
2582         * UIProcess/API/mac/WKBrowsingContextController.mm:
2583         (-[WKBrowsingContextController unreachableURL]): Added.
2584         * UIProcess/WebPageProxy.cpp:
2585         (WebKit::WebPageProxy::unreachableURL): Added.
2586         * UIProcess/WebPageProxy.h:
2587
2588 2013-11-06  Anders Carlsson  <andersca@apple.com>
2589
2590         Encode parameters as objects
2591         https://bugs.webkit.org/show_bug.cgi?id=123912
2592
2593         Reviewed by Beth Dakin.
2594
2595         We want to ensure that the objects have the right types when decoded, so just encode them as objects.
2596
2597         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2598         (encodeInvocation):
2599         (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
2600
2601 2013-11-06  Sam Weinig  <sam@webkit.org>
2602
2603         Add WKBrowsingContextPolicyDelegate
2604         https://bugs.webkit.org/show_bug.cgi?id=123904
2605
2606         Reviewed by Anders Carlsson.
2607
2608         * UIProcess/API/mac/WKBrowsingContextController.h:
2609         * UIProcess/API/mac/WKBrowsingContextController.mm:
2610         Implement a WKPagePolicyClient in terms of the new WKBrowsingContextPolicyDelegate protocol.
2611         
2612         * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: 
2613         Added.
2614
2615         * UIProcess/API/mac/WebKit2.h:
2616         Add new #include of WKBrowsingContextPolicyDelegate.h
2617
2618         * WebKit2.xcodeproj/project.pbxproj:
2619         Add new file.
2620
2621 2013-11-06  Anders Carlsson  <andersca@apple.com>
2622
2623         WKRemoteObjectInterface should keep track of allowed decodable classes
2624         https://bugs.webkit.org/show_bug.cgi?id=123903
2625
2626         Reviewed by Sam Weinig.
2627
2628         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
2629         (allowedArgumentClassesForMethod):
2630         Helper function that returns a vector of sets of allowed classes for each method argument.
2631
2632         (initializeAllowedArgumentClasses):
2633         Iterate over the methods in the protocol, get the extended method type encoding and create an
2634         NSMethodSignature from it. Finally, pass the signature to allowedArgumentClassesForMethod.
2635
2636         (initializeAllowedArgumentClasses):
2637         Call the other initializeAllowedArgumentClasses twice, once for required methods,
2638         and once for optional methods.
2639
2640         (-[WKRemoteObjectInterface initWithProtocol:identifier:]):
2641         Call initializeAllowedArgumentClasses.
2642
2643         (-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):
2644         Add new getter.
2645
2646         * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h:
2647
2648 2013-11-06  Anders Carlsson  <andersca@apple.com>
2649
2650         Remove dead code
2651         https://bugs.webkit.org/show_bug.cgi?id=123902
2652
2653         Reviewed by Tim Horton.
2654
2655         Remove the PageClient::containingWindowGraphicsContext() as well as the
2656         WKPageSetDebugPaintFlags and WKPageGetDebugPaintFlags API functions.
2657
2658         * UIProcess/API/C/WKPage.cpp:
2659         * UIProcess/API/mac/PageClientImpl.h:
2660         * UIProcess/API/mac/PageClientImpl.mm:
2661         * UIProcess/PageClient.h:
2662         * UIProcess/WebPageProxy.cpp:
2663         * UIProcess/WebPageProxy.h:
2664         * UIProcess/mac/WebPageProxyMac.mm:
2665         (WebKit::WebPageProxy::searchTheWeb):
2666
2667 2013-11-06  Dan Bernstein  <mitz@apple.com>
2668
2669         Promoted WKBrowsingContextHistoryDelegate.h to private.
2670
2671         Rubber-stamped by Sam Weinig.
2672
2673         * WebKit2.xcodeproj/project.pbxproj:
2674
2675 2013-11-06  Dan Bernstein  <mitz@apple.com>
2676
2677         [Cocoa] History delegate
2678         https://bugs.webkit.org/show_bug.cgi?id=123837
2679
2680         Reviewed by Sam Weinig.
2681
2682         * Shared/Cocoa/APIObject.mm:
2683         (WebKit::APIObject::newObject): Allocate a WKNavigationData if the object is a
2684         WebNavigationData.
2685
2686         * Shared/Cocoa/WKNSString.h:
2687         (WebKit::wrapper): Added. Returns a WebString’s wrapper as an NSString.
2688
2689         * Shared/Cocoa/WKNSURL.h:
2690         (WebKit::wrapper): Added. Returns a WebURL’s wrapper as an NSURL.
2691
2692         * UIProcess/API/C/WKNavigationData.cpp: Renamed.
2693         * UIProcess/API/C/WKNavigationData.h: Renamed.
2694         * UIProcess/API/C/WKNavigationDataRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.cpp.
2695         * UIProcess/API/C/WKNavigationDataRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.h.
2696
2697         * UIProcess/API/mac/WKBrowsingContextController.h: Declared historyDelegate property.
2698
2699         * UIProcess/API/mac/WKProcessGroup.mm:
2700         (didNavigateWithNavigationData): Added history client callback that calls the browsing
2701         context’s history delegate.
2702         (didPerformClientRedirect): Ditto.
2703         (didPerformServerRedirect): Ditto.
2704         (didUpdateHistoryTitle): Ditto.
2705         (setUpHistoryClient): Added.
2706         (-[WKProcessGroup initWithInjectedBundleURL:]): Added call to setUpHistoryClient.
2707         (-[WKProcessGroup dealloc]): Clear the history client.
2708
2709         * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Added.
2710
2711         * UIProcess/Cocoa/WKNavigationData.h: Added.
2712         * UIProcess/Cocoa/WKNavigationData.mm: Added.
2713         (-[WKNavigationData dealloc]): Calls the WebNavigationData destructor.
2714         (-[WKNavigationData title]): Added.
2715         (-[WKNavigationData originalRequest]): Added.
2716         (-[WKNavigationData destinationURL]): Added.
2717         (-[WKNavigationData _apiObject]): Returns the wrapped WebNavigationData.
2718         * UIProcess/Cocoa/WKNavigationDataInternal.h: Added.
2719         (WebKit::wrapper): Added. Returns a WebNavigationData’s wrapper as a WKNavigationData.
2720         * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.
2721
2722 2013-11-05  Anders Carlsson  <andersca@apple.com>
2723
2724         Begin work on decoding invocations
2725         https://bugs.webkit.org/show_bug.cgi?id=123838
2726
2727         Reviewed by Dan Bernstein.
2728
2729         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2730         (encodeInvocation):
2731         Declare the type string and selector keys as constants.
2732
2733         (encodeObject):
2734         Make sure to encode the class name for NSInvocations as well.
2735
2736         (decodeInvocation):
2737         Figure out the local and remove method signatures and make sure that they are equal.
2738
2739         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
2740         (methodArgumentTypeEncodingForSelector):
2741         Helper function that returns the type encoding for a given selector.
2742
2743         (-[WKRemoteObjectInterface _methodSignatureForSelector:]):
2744         Helper function that returns a method signature for the method with the name referred to by selector.
2745
2746         * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h: Added.
2747         Add internal header.
2748
2749         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
2750         (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
2751         Pass the right object to the WKRemoteObjectDecoder initializer and decode the invocation.
2752
2753         * WebKit2.xcodeproj/project.pbxproj:
2754         Add internal header.
2755
2756 2013-11-05  Anders Carlsson  <andersca@apple.com>
2757
2758         WKRemoteObjectDecoder should know which interface it's decoding for
2759         https://bugs.webkit.org/show_bug.cgi?id=123833
2760
2761         Reviewed by Andreas Kling.
2762
2763         Move the interface identifier out into the root object body dictionary and make 
2764         the encoded invocation a sibling of it. That way we can look up the interface before
2765         creating the decoder.
2766         
2767         Also, manage exported objects and interfaces in a separate hash map.
2768
2769         * Shared/API/Cocoa/WKRemoteObjectCoder.h:
2770         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2771         (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
2772         (decodeInvocation):
2773         (decodeObject):
2774         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
2775         (-[WKRemoteObjectRegistry registerExportedObject:interface:]):
2776         (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
2777         (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
2778         (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
2779         (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
2780
2781 2013-11-05  Anders Carlsson  <andersca@apple.com>
2782
2783         Add support for decoding NSStrings
2784         https://bugs.webkit.org/show_bug.cgi?id=123829
2785
2786         Reviewed by Andreas Kling.
2787
2788         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2789         (encodeObject):
2790         (-[WKRemoteObjectDecoder allowsKeyedCoding]):
2791         Always return YES.
2792
2793         (-[WKRemoteObjectDecoder containsValueForKey:]):
2794         Look up the key in the current dictionary.
2795
2796         (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
2797         Try to get the WebData object and return its data + size.
2798
2799         (-[WKRemoteObjectDecoder requiresSecureCoding]):
2800         Return YES.
2801
2802         (checkIfClassIsAllowed):
2803         Check if the class or any of its superclasses are are allowed.
2804
2805         (validateClass):
2806         Call checkIfClassIsAllowed and validate that the class conforms to NSSecureCoding.
2807
2808         (decodeObject):
2809         Get the class name, verify that the class exists and is allowed. 
2810         Allocate and initialize an object using initWithCoder:.
2811
2812         (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
2813         Set the allowed classes, look up the object in _currentDictionary and call decodeObject.
2814
2815         (-[WKRemoteObjectDecoder allowedClasses]):
2816         Return _allowedClasses.
2817
2818         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
2819         (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
2820         Declare interfaceIdentifier as a constant.
2821
2822         (-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
2823         Decode the interface identifier.
2824
2825         * Shared/ImmutableDictionary.h:
2826         (WebKit::ImmutableDictionary::get):
2827         (WebKit::ImmutableDictionary::size):
2828         (WebKit::ImmutableDictionary::map):
2829         Make member functions const.
2830
2831 2013-11-05  Benjamin Poulain  <benjamin@webkit.org>
2832
2833         Fix Mountain Lion Debug bot after r158689
2834
2835         Unreviewed.
2836
2837         It looks like WebGeolocationManagerProxy::stopUpdating() and WebGeolocationManagerProxy::processDidClose()
2838         are racing in some cases, causing the assertion to fail.
2839
2840         That case is handled properly in the last if() branch of WebGeolocationManagerProxy::removeRequester().
2841         This patch remove the overzealous assertion.
2842
2843         * UIProcess/WebGeolocationManagerProxy.cpp:
2844         (WebKit::WebGeolocationManagerProxy::removeRequester):
2845
2846 2013-11-05  Tim Horton  <timothy_horton@apple.com>
2847
2848         Remote Layer Tree: Apply layer changes to LayerTypeCustom layers to the custom layer in the Web process, not to the CALayerHost
2849         https://bugs.webkit.org/show_bug.cgi?id=123818
2850
2851         Reviewed by Anders Carlsson.
2852
2853         Changes to the properties of a PlatformCALayer of type LayerTypeCustom are intended
2854         to affect the custom CALayer; however, we were bundling them up with the transaction
2855         and applying them to the CALayerHost, leading to important properties being lost.
2856
2857         Instead, apply them to the Web-process-side CALayer when building the transaction.
2858
2859         * Shared/mac/RemoteLayerTreePropertyApplier.h: Added.
2860         * Shared/mac/RemoteLayerTreePropertyApplier.mm: Added.
2861         (WebKit::cgColorFromColor):
2862         (WebKit::toCAFilterType):
2863         (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
2864         (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):
2865         Move code to apply LayerProperties to a CALayer from RemoteLayerTreeHost.
2866         Move code to disable actions on a CALayer from RemoteLayerTreeHost.
2867
2868         * UIProcess/mac/RemoteLayerTreeHost.mm:
2869         (WebKit::RemoteLayerTreeHost::commit):
2870         (WebKit::RemoteLayerTreeHost::createLayer):
2871         Use RemoteLayerTreePropertyApplier.
2872         Hand it a map of LayerID->CALayer so that it can look up related layers
2873         for children and mask layers.
2874
2875         * WebKit2.xcodeproj/project.pbxproj:
2876         Add RemoteLayerTreePropertyApplier.{h,mm}
2877
2878         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2879         (PlatformCALayerRemote::recursiveBuildTransaction):
2880         Upon commit, apply changes to LayerTypeCustom layers to the platform layer.
2881         Setting children or maskLayer won't work, since we don't know about other raw CALayers.
2882         This is OK, since nothing uses those properties on custom layers.
2883
2884         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp:
2885         (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
2886         Disable actions on the root custom layer.
2887
2888 2013-11-05  Anders Carlsson  <andersca@apple.com>
2889
2890         Begin work on a WKRemoteObjectDecoder object
2891         https://bugs.webkit.org/show_bug.cgi?id=123819
2892
2893         Reviewed by Dan Bernstein.
2894
2895         * Shared/API/Cocoa/WKRemoteObjectCoder.h:
2896         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2897         (-[WKRemoteObjectDecoder initWithRootObjectDictionary:]):
2898         Add designated initializer.
2899
2900         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
2901         (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
2902         If the message has the expected name and body type, pass it along to -_invokeMessageWithBody:.
2903
2904         (-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
2905         Create a decoder.
2906
2907 2013-11-05  Benjamin Poulain  <benjamin@webkit.org>
2908
2909         [WK2] Add a WebKit2 API for Geolocation's highAccuracy
2910         https://bugs.webkit.org/show_bug.cgi?id=123786
2911
2912         Reviewed by Darin Adler.
2913
2914         This adds support for highAccuracy Geolocation with WebKit2.
2915
2916         The key is to track which page/requester need what kind of geolocation
2917         in order to change between high and low accuracy as pages run and disappear.
2918
2919         WebGeolocationManager and WebGeolocationManagerProxy have very similar roles
2920         but for different sources:
2921         -WebGeolocationManager tracks which live page require high accuracy geolocation.
2922          When the state changes, it forward the information to the UIProcess.
2923         -WebGeolocationManagerProxy tracks which WebContent processes needs high accuracy.
2924
2925         * Shared/APIClientTraits.cpp:
2926         * Shared/APIClientTraits.h:
2927         * UIProcess/API/C/WKGeolocationManager.h:
2928         * UIProcess/WebGeolocationManagerProxy.cpp:
2929         (WebKit::WebGeolocationManagerProxy::startUpdating):
2930         (WebKit::WebGeolocationManagerProxy::removeRequester):
2931         (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
2932         * UIProcess/WebGeolocationManagerProxy.h:
2933         (WebKit::WebGeolocationManagerProxy::isUpdating):
2934         (WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled):
2935         * UIProcess/WebGeolocationManagerProxy.messages.in:
2936         * UIProcess/WebGeolocationProvider.cpp:
2937         (WebKit::WebGeolocationProvider::setEnableHighAccuracy):
2938         * UIProcess/WebGeolocationProvider.h:
2939         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2940         (WebKit::WebGeolocationManager::registerWebPage):
2941         (WebKit::WebGeolocationManager::unregisterWebPage):
2942         (WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
2943         * WebProcess/Geolocation/WebGeolocationManager.h:
2944         (WebKit::WebGeolocationManager::isUpdating):
2945         (WebKit::WebGeolocationManager::isHighAccuracyEnabled):
2946         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
2947         (WebKit::WebGeolocationClient::setEnableHighAccuracy):
2948
2949 2013-11-05  Anders Carlsson  <andersca@apple.com>
2950
2951         Implement more NSCoder methods
2952         https://bugs.webkit.org/show_bug.cgi?id=123815
2953
2954         Reviewed by Dan Bernstein.
2955
2956         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2957         (encodeObject):
2958         Assert that object is not nil.
2959
2960         (createEncodedObject):
2961         Handle nil objects.
2962
2963         (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
2964         Call the right object stream encoding function based on the object type.
2965
2966         (-[WKRemoteObjectEncoder encodeBool:forKey:]):
2967         (-[WKRemoteObjectEncoder encodeInt64:forKey:]):
2968         (-[WKRemoteObjectEncoder encodeDouble:forKey:]):
2969         Create APIObjects and add them to the current dictionary.
2970
2971 2013-11-05  Anders Carlsson  <andersca@apple.com>
2972
2973         Encode the class name
2974         https://bugs.webkit.org/show_bug.cgi?id=123813
2975
2976         Reviewed by Dan Bernstein.
2977
2978         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2979         (encodeObject):
2980         Get the Class using -[NSObject classForCoder] and encode its name in the object dictionary.
2981
2982 2013-11-05  Anders Carlsson  <andersca@apple.com>
2983
2984         Clean up the WKRemoteObjectEncoder code
2985         https://bugs.webkit.org/show_bug.cgi?id=123811
2986
2987         Reviewed by Dan Bernstein.
2988
2989         Add a new object stream array to be used for the non-keyed encoding values
2990         and free functions for encoding values to the object stream. Simplify object encoding
2991         by moving the dictionary creation out into a separate function and ditching the block based methods.
2992
2993         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2994         (ensureObjectStream):
2995         Add helper function to create an object stream.
2996
2997         (encodeToObjectStream):
2998         Add overloads for encoding values into the object streams.
2999
3000         (encodeInvocation):
3001         Add helper function for encoding an NSInvocation.
3002
3003         (encodeObject):
3004         Call encodeInvocation if needed, otherwise just use encodeWithCoder:.
3005
3006         (createEncodedObject):
3007         Helper function that sets up a dictionary, encodes the object into the dictionary and then returns the dictionary.
3008
3009         (-[WKRemoteObjectEncoder encodeObject:forKey:]):
3010         Call createEncodedObject.    
3011
3012 2013-11-04  Brady Eidson  <beidson@apple.com>
3013
3014         IDB: Split backend Cursors and Transactions into their own files
3015         https://bugs.webkit.org/show_bug.cgi?id=123789
3016
3017         Reviewed by Alexey Proskuryakov.
3018
3019         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
3020         (WebKit::WebIDBFactoryBackend::createCursorBackend):
3021         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
3022
3023 2013-11-04  Alexey Proskuryakov  <ap@apple.com>
3024
3025         DumpRenderTree should reset its preferences file on launch
3026         https://bugs.webkit.org/show_bug.cgi?id=29751
3027
3028         Reviewed by Dan Bernstein.
3029
3030         * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
3031         (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
3032         Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
3033         domain meant that current application's domain was explcitly ignored, and the only
3034         way to override the setting in WTR was through argument domain.
3035
3036 2013-11-04  Tim Horton  <timothy_horton@apple.com>
3037
3038         Remote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
3039         https://bugs.webkit.org/show_bug.cgi?id=123766
3040
3041         Reviewed by Anders Carlsson.
3042
3043         Put each LayerTypeCustom layer into a CAContext, so that we can
3044         host small CALayer trees (for video, plugins, etc.) from the Web process
3045         to the UI process without proxying their (more complex) content.
3046
3047         * Shared/mac/RemoteLayerTreeTransaction.h:
3048         * Shared/mac/RemoteLayerTreeTransaction.mm:
3049         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
3050         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
3051         (WebKit::RemoteLayerTreeTransaction::dump):
3052         Store, encode, and dump the CAContext ID of custom layers.
3053
3054         * UIProcess/mac/RemoteLayerTreeHost.mm:
3055         (WebKit::RemoteLayerTreeHost::createLayer):
3056         Create a CALayerHost with the CAContext ID from the Web process.
3057
3058         * WebKit2.xcodeproj/project.pbxproj:
3059         Add PlatformCALayerRemoteCustom.
3060
3061         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
3062         (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
3063         Call the newly-added custom-layer constructor.
3064
3065         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
3066         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3067         (PlatformCALayerRemote::create):
3068         (PlatformCALayerRemote::PlatformCALayerRemote):
3069         Move the call to layerWasCreated() out to ::create(), so that all of
3070         the constructors for this class and all subclasses have completed
3071         before we call it (so that layerWasCreated() can store the context ID
3072         in the created layer properties object).
3073
3074         (WebKit::PlatformCALayerRemote::hostingContextID):
3075         Should never be reached on the base class, only PlatformCALayerRemoteCustom.
3076
3077         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: Added.
3078         (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
3079         (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
3080         (PlatformCALayerRemoteCustom::hostingContextID):
3081         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: Added.
3082         Add PlatformCALayerRemoteCustom, which owns a LayerHostingContext
3083         which it will use to share a custom CALayer tree with the UI process.
3084
3085         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
3086         Drive-by remove an unnecessary include.
3087
3088         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
3089         (WebKit::RemoteLayerTreeContext::layerWasCreated):
3090         Store the CAContext ID with the layer creation properties so it can
3091         be used to create a CALayerHost upon commit in the UI process.
3092
3093 2013-11-04  Tim Horton  <timothy_horton@apple.com>
3094
3095         Remove PlatformCALayer::playerLayer
3096         https://bugs.webkit.org/show_bug.cgi?id=123764
3097
3098         Reviewed by Sam Weinig.
3099
3100         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3101         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
3102         Remove playerLayer().
3103
3104 2013-11-04  Anders Carlsson  <andersca@apple.com>
3105
3106         WKRemoteObjectEncoder should escape keys
3107         https://bugs.webkit.org/show_bug.cgi?id=123761
3108
3109         Reviewed by Tim Horton.
3110
3111         Keys that start with $ will be reserved for use by the coder, so prepend an extra
3112         $ to keys that already start with $ to avoid clashes.
3113
3114         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
3115         (escapeKey):
3116         (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
3117         (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
3118
3119 2013-11-04  Benjamin Poulain  <bpoulain@apple.com>
3120
3121         [WK2] Update WebGeolocationManager to support multiple WebContent processes
3122         https://bugs.webkit.org/show_bug.cgi?id=123658
3123
3124         Reviewed by Anders Carlsson.
3125
3126         Change WebGeolocationManagerProxy to track which WebProcessProxy needs geolocation.
3127
3128         * UIProcess/WebContext.cpp:
3129         (WebKit::WebContext::disconnectProcess):
3130         WebContext::disconnectProcess does not handle ContextSupplement yet when using multiple
3131         WebContent processes. Add an explicit call for WebGeolocationManagerProxy as a temporary
3132         solution.
3133
3134         * UIProcess/WebGeolocationManagerProxy.cpp:
3135         (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
3136         (WebKit::WebGeolocationManagerProxy::contextDestroyed):
3137         (WebKit::WebGeolocationManagerProxy::processDidClose):
3138         (WebKit::WebGeolocationManagerProxy::startUpdating):
3139         (WebKit::WebGeolocationManagerProxy::stopUpdating):
3140         (WebKit::WebGeolocationManagerProxy::removeRequester):
3141         * UIProcess/WebGeolocationManagerProxy.h:
3142         * UIProcess/WebGeolocationManagerProxy.messages.in:
3143
3144 2013-11-01  Jer Noble  <jer.noble@apple.com>
3145
3146         [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
3147         https://bugs.webkit.org/show_bug.cgi?id=123621
3148
3149         Reviewed by Eric Carlson.
3150
3151         Add WebKit2 functions for setting then new isVideoPluginProxyEnabled preference.
3152
3153         * Shared/WebPreferencesStore.h:
3154         * UIProcess/API/C/WKPreferences.cpp:
3155         (WKPreferencesSetVideoPluginProxyEnabled):
3156         (WKPreferencesGetVideoPluginProxyEnabled):
3157         * UIProcess/API/C/WKPreferences.h:
3158         * WebProcess/WebPage/WebPage.cpp:
3159         (WebKit::WebPage::updatePreferences):
3160
3161 2013-11-04  Anders Carlsson  <andersca@apple.com>
3162
3163         More WKRemoteObjectRegistry work
3164         https://bugs.webkit.org/show_bug.cgi?id=123754
3165
3166         Reviewed by Dan Bernstein.
3167
3168         * Shared/API/Cocoa/WKRemoteObjectCoder.h:
3169         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
3170         (-[WKRemoteObjectEncoder rootObjectDictionary]):
3171         Add a getter for the root object dictionary.
3172
3173         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
3174         (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
3175         Call _sendMessageWithBody:.
3176         (-[WKRemoteObjectRegistry _sendMessageWithBody:]):
3177         Call WebConnection::postMessage.
3178
3179 2013-11-03  Dan Bernstein  <mitz@apple.com>
3180
3181         [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
3182         https://bugs.webkit.org/show_bug.cgi?id=123707
3183
3184         Reviewed by Geoff Garen and Anders Carlsson.
3185
3186         * Shared/Cocoa/WKNSArray.mm:
3187         (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
3188         * Shared/Cocoa/WKNSDictionary.mm:
3189         (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
3190         * Shared/ImmutableArray.h:
3191         (WebKit::ImmutableArray::entries): Added this accessor.
3192
3193 2013-11-03  Dan Bernstein  <mitz@apple.com>
3194
3195         Reverted r158538.
3196
3197         * Shared/Cocoa/WKNSArray.mm:
3198         (-[WKNSArray copyWithZone:]):
3199         * Shared/Cocoa/WKNSDictionary.mm:
3200         (-[WKNSDictionary copyWithZone:]):
3201         * Shared/ImmutableArray.h:
3202
3203 2013-11-03  Dan Bernstein  <mitz@apple.com>
3204
3205         [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
3206         https://bugs.webkit.org/show_bug.cgi?id=123707
3207
3208         Reviewed by Geoff Garen.
3209
3210         * Shared/Cocoa/WKNSArray.mm:
3211         (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
3212         * Shared/Cocoa/WKNSDictionary.mm:
3213         (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
3214         * Shared/ImmutableArray.h:
3215         (WebKit::ImmutableArray::entries): Added this accessor.
3216
3217 2013-11-02  Dan Bernstein  <mitz@apple.com>
3218
3219         [Cocoa] Wrappers mishandle NULL values in arrays and dictionaries
3220         https://bugs.webkit.org/show_bug.cgi?id=123671
3221
3222         Reviewed by Darin Adler.
3223
3224         * Shared/Cocoa/WKNSArray.mm:
3225         (-[WKNSArray objectAtIndex:]): Represent a NULL object as NSNull.
3226         * Shared/Cocoa/WKNSDictionary.mm:
3227         (-[WKNSDictionary objectForKey:]): Represent a NULL value as NSNull.
3228         * Shared/ImmutableDictionary.h:
3229         (WebKit::ImmutableDictionary::get): Added this overload that returns whether the key exists.
3230
3231 2013-11-02  Dan Bernstein  <mitz@apple.com>
3232
3233         Fixed release builds.
3234
3235         * Shared/Cocoa/WKNSDictionary.mm:
3236         (-[WKNSDictionary initWithObjects:forKeys:count:]):
3237
3238 2013-11-02  Dan Bernstein  <mitz@apple.com>
3239
3240         [Cocoa] Add WKNSDictionary
3241         https://bugs.webkit.org/show_bug.cgi?id=123660
3242
3243         Reviewed by Anders Carlsson.
3244
3245         * Shared/Cocoa/APIObject.mm:
3246         (WebKit::APIObject::newObject): Allocate a WKNSDictionary if the APIObject is a dictionary.
3247         * Shared/Cocoa/WKNSDictionary.h: Added.
3248         (WebKit::wrapper):  Added. Returns an ImmutableDictionary’s wrapper as an NSDictionary.
3249         * Shared/Cocoa/WKNSDictionary.mm: Added.
3250         (-[WKNSDictionary dealloc]): Calls the ImmutableDictionary destructor.
3251         (-[WKNSDictionary count]): Added.
3252         (-[WKNSDictionary objectForKey:]): Added.
3253         (-[WKNSDictionary keyEnumerator]): Added.
3254         (-[WKNSDictionary copyWithZone:]): Retains self.
3255         (-[WKNSDictionary _apiObject]): Returns the wrapped ImmutableDictionary.
3256         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
3257
3258 2013-11-02  Tim Horton  <timothy_horton@apple.com>
3259
3260         Address some review comments noted in r158463
3261         https://bugs.webkit.org/show_bug.cgi?id=123646
3262
3263         Reviewed by Darin Adler.
3264
3265         * Shared/mac/RemoteLayerBackingStore.mm:
3266         Put our __has_include ifs all on one line.
3267
3268         (createIOSurface):
3269         IOSurfaceAlignProperty returns size_t, not unsigned long.
3270
3271         (RemoteLayerBackingStore::display):
3272         (RemoteLayerBackingStore::drawInContext):
3273         Create the frontImage in display() and hand it to drawInContext().
3274
3275         Use the GraphicsContext API instead of CG itself for clearRect().
3276
3277         When using ShareableBitmap, replace m_frontBuffer instead of
3278         having a backBuffer local; the CGImageRef will retain the
3279         ShareableBitmap it references.
3280
3281         Duplicate our drawInContext() calls so we don't have to allocate
3282         a GraphicsContext on the heap in the IOSurface case.
3283
3284         Don't bother clearing frontContext; it'll happen for us at
3285         the appropriate time. Instead, assert that it's still alive after
3286         we drop our reference to the frontImage created from it.
3287
3288 2013-11-02  Zan Dobersek  <zdobersek@igalia.com>
3289
3290         [GTK] invalid use of incomplete type 'class WTF::PassOwnPtr<WTF::Vector<unsigned char> >'
3291         https://bugs.webkit.org/show_bug.cgi?id=123601
3292
3293         Reviewed by Carlos Garcia Campos.
3294
3295         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Explicitly include the PassOwnPtr.h header
3296         as certain configurations on the GTK port don't ensure that the header is included indirectly.
3297
3298 2013-11-02  Vitaly Katunin  <vkatunin@luxoft.com>
3299
3300         [GTK] invalid application of 'sizeof' to incomplete type
3301         https://bugs.webkit.org/show_bug.cgi?id=123502
3302
3303         Reviewed by Carlos Garcia Campos.
3304
3305         * Shared/WebCoreArgumentCoders.cpp:
3306
3307 2013-11-01  Tim Horton  <timothy_horton@apple.com>
3308
3309         Remote Layer Tree: Crashes allocating incredibly large backing store for tiled backing layers
3310         https://bugs.webkit.org/show_bug.cgi?id=123651
3311
3312         Reviewed by Simon Fraser.
3313
3314         * Shared/mac/RemoteLayerBackingStore.mm:
3315         (RemoteLayerBackingStore::display):
3316         (RemoteLayerBackingStore::drawInContext):
3317         We can't dirty the whole layer if we have no existing front buffer if
3318         we have no paints, because that will lead to layers which were never
3319         setNeedsDisplay()'d getting backing store. Added back an assertion
3320         that will catch this, too.
3321
3322 2013-11-01  Dan Bernstein  <mitz@apple.com>
3323
3324         [Cocoa] WKObject seems to be initializing its target in a thread-safe manner, but really is not
3325         https://bugs.webkit.org/show_bug.cgi?id=123640
3326
3327         Reviewed by Darin Adler.
3328
3329         * Shared/Cocoa/WKObject.mm:
3330         (initializeTargetIfNeeded): Removed misleading incorrect code.
3331
3332 2013-11-01  Benjamin Poulain  <benjamin@webkit.org>
3333
3334         [WK2] Create a unique identifier for WebPageGroup if the input name is empty
3335         https://bugs.webkit.org/show_bug.cgi?id=123606
3336
3337         Reviewed by Andreas Kling.
3338
3339         Strengthen the "public" API of page group.
3340         If someone uses WKBrowsingContextGroup with a nil or empty string, the related WKString
3341         would be empty, and all the WKBrowsingContextGroup end up with the same identifier.
3342
3343         * UIProcess/WebPageGroup.cpp:
3344         (WebKit::WebPageGroup::WebPageGroup):
3345
3346 2013-11-01  Dan Bernstein  <mitz@apple.com>
3347
3348         [Cocoa] Avoid some double-wrapping of strings and URLs
3349         https://bugs.webkit.org/show_bug.cgi?id=123632
3350
3351         Reviewed by Anders Carlsson.
3352
3353         * Shared/API/c/cf/WKStringCF.cpp: Removed.
3354         * Shared/API/c/cf/WKStringCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKStringCF.cpp.
3355         (wkNSStringClass): Added this helper.
3356         (WKStringCreateWithCFString): If the passed-in CFString is already wrapping a WebString,
3357         then retain it and return it.
3358         * Shared/API/c/cf/WKURLCF.cpp: Removed.
3359         * Shared/API/c/cf/WKURLCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKURLCF.cpp.
3360         (wkNSURLClass): Added this helper.
3361         (WKURLCreateWithCFURL): If the passed-in CFURL is already wrapping a WebURL, then retain it
3362         and return it.
3363         * WebKit2.xcodeproj/project.pbxproj: Updated for renames.
3364
3365 2013-11-01  Anders Carlsson  <andersca@apple.com>
3366
3367         Begin work on encoding argument types
3368         https://bugs.webkit.org/show_bug.cgi?id=123631
3369
3370         Reviewed by Dan Bernstein.
3371
3372         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
3373         (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
3374         Encode argument types in an array.
3375
3376         (-[WKRemoteObjectEncoder _encodedObjectUsingBlock:]):
3377         Add new helper method that encodes an object and returns the dictionary.
3378
3379         (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
3380         Implement this in terms of _encodedObjectUsingBlock:.
3381
3382         * Shared/MutableArray.cpp:
3383         (WebKit::MutableArray::append):
3384         * Shared/MutableArray.h:
3385         Change append to take a PassRefPtr.
3386
3387 2013-10-31  Gavin Barraclough  <barraclough@apple.com>
3388
3389         Rename InWindowState -> ViewState
3390         https://bugs.webkit.org/show_bug.cgi?id=123584
3391
3392         Rubber stamped by Sam Weinig.
3393
3394         WebPageProxy::setViewState offers the option to wait for a reply. Previously this option
3395         was only available via setIsInWindow, hence the mechanism to wait to the update has
3396         'InWindowState' in method and variable names (i.e.
3397         'WebPageProxy::waitForDidUpdateInWindowState'). Since the mechanism is now applicable to
3398         all ViewState changes, rename to reflect this.
3399
3400         * UIProcess/API/mac/WKView.mm:
3401         (-[WKView endDeferringViewInWindowChangesSync]):
3402         * UIProcess/WebPageProxy.cpp:
3403         (WebKit::WebPageProxy::WebPageProxy):
3404         (WebKit::WebPageProxy::waitForDidUpdateViewState):
3405         (WebKit::WebPageProxy::resetStateAfterProcessExited):
3406         * UIProcess/WebPageProxy.h:
3407         (WebKit::WebPageProxy::didUpdateViewState):
3408         * UIProcess/WebPageProxy.messages.in:
3409         * WebProcess/WebPage/WebPage.cpp:
3410         (WebKit::WebPage::WebPage):
3411         (WebKit::WebPage::didUpdateViewStateTimerFired):
3412         (WebKit::WebPage::setViewState):
3413         * WebProcess/WebPage/WebPage.h:
3414         * WebProcess/WebPage/WebPage.messages.in:
3415         * WebProcess/WebPage/mac/WebPageMac.mm:
3416         (WebKit::WebPage::didUpdateViewStateTimerFired):
3417
3418 2013-11-01  Tim Horton  <timothy_horton@apple.com>
3419
3420         Remote Layer Tree: Move RemoteLayerBackingStore to Shared/
3421         https://bugs.webkit.org/show_bug.cgi?id=123646
3422
3423         Reviewed by Darin Adler.
3424
3425         Move RemoteLayerBackingStore to Shared/, since it is
3426         used on both the UI and Web process side of things.
3427
3428         * Shared/mac/RemoteLayerBackingStore.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h.
3429         * Shared/mac/RemoteLayerBackingStore.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.mm.
3430         * WebKit2.xcodeproj/project.pbxproj:
3431
3432 2013-11-01  Tim Horton  <timothy_horton@apple.com>
3433
3434         Remote Layer Tree: Vend layer contents via IOSurfaces
3435         https://bugs.webkit.org/show_bug.cgi?id=123600
3436
3437         Reviewed by Anders Carlsson.
3438
3439         Address some review comments from Darin (and subsequently Anders).
3440
3441         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
3442         (WebKit::RemoteLayerBackingStore::surface):
3443         No need for .get() here.
3444
3445         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
3446         (RemoteLayerBackingStore::ensureBackingStore):
3447         All on one line for readability.
3448
3449         (createIOSurfaceContext):
3450         This 'if' is meaningless.
3451
3452         (createIOSurface):
3453         No need for a RetainPtr here, the dictionary is autoreleased.
3454
3455         (RemoteLayerBackingStore::display):
3456         Snuggle 'context' up next to the other declarations.
3457
3458 2013-11-01  Anders Carlsson  <andersca@apple.com>
3459
3460         Don't use the C API in WKRemoteObjectCoder
3461         https://bugs.webkit.org/show_bug.cgi?id=123627
3462
3463         Reviewed by Dan Bernstein.
3464
3465         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
3466         (-[WKRemoteObjectEncoder init]):
3467         (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
3468         (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
3469         * Shared/ImmutableDictionary.h:
3470         * Shared/MutableDictionary.cpp:
3471         (WebKit::MutableDictionary::add):
3472         (WebKit::MutableDictionary::set):
3473         * Shared/MutableDictionary.h:
3474
3475 2013-11-01  Emilio Pozuelo Monfort  <pochu27@gmail.com>
3476
3477         Fix build on non-linux platforms
3478         https://bugs.webkit.org/show_bug.cgi?id=123622
3479
3480         Reviewed by Darin Adler.
3481
3482         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3483
3484 2013-11-01  Brian Holt  <brian.holt@samsung.com>
3485
3486         [GTK] [WK2] Crash in webkitWebViewLoadFailedWithTLSErrors
3487         https://bugs.webkit.org/show_bug.cgi?id=123618
3488
3489         Reviewed by Mario Sanchez Prada.
3490
3491         The GOwnPtrSoup header was not included which meant that the
3492         specialization for GOwnPtr<SoupURI> was not used and instead the
3493         default freeOwnedGPtr which calls g_free is used and crashes.
3494
3495         * UIProcess/API/gtk/WebKitWebView.cpp:
3496
3497 2013-10-31  Tim Horton  <timothy_horton@apple.com>
3498
3499         Fix a typo/review comment from Dan, in http://trac.webkit.org/changeset/158413
3500
3501         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
3502
3503 2013-10-31  Tim Horton  <timothy_horton@apple.com>
3504
3505         Remote Layer Tree: Vend layer contents via IOSurfaces
3506         https://bugs.webkit.org/show_bug.cgi?id=123600
3507
3508         Reviewed by Anders Carlsson.
3509
3510         * Configurations/WebKit2.xcconfig:
3511         Link WebKit2 against IOSurface.
3512
3513         * Shared/mac/RemoteLayerTreeTransaction.mm:
3514         (WebKit::dumpChangedLayers):
3515         Dump the size of the backing store instead of the pointer of its
3516         SharedBitmap, because that's slightly more useful.
3517
3518         * UIProcess/mac/RemoteLayerTreeHost.mm:
3519         (WebKit::RemoteLayerTreeHost::commit):
3520         If a layer's backing store uses accelerated drawing, hand the IOSurface
3521         to the CALayer for display.
3522
3523         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3524         (PlatformCALayerRemote::PlatformCALayerRemote):
3525         Initialize contentsScale to 1 to match CA. Other properties will follow.
3526
3527         (PlatformCALayerRemote::ensureBackingStore):
3528         Instead of replacing the RemoteLayerBackingStore when its properties
3529         change, allow it to update them on the fly. Replacing them caused
3530         us to throw away repaint rects when the accelerated drawing