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