12014-02-20  Beth Dakin  <bdakin@apple.com>
2
3        WKPage's setBackgroundExtendsBeyondPage API should be exposed through WKView and 
4        WKWebView
5        https://bugs.webkit.org/show_bug.cgi?id=129120
6
7        Reviewed by Anders Carlsson.
8
9        While we’re in this code, fix up the pageExtendedBackgroundColor to match.
10        * UIProcess/API/Cocoa/WKViewPrivate.h:
11        * UIProcess/API/Cocoa/WKWebView.mm:
12        (-[WKWebView _pageExtendedBackgroundColor]):
13        (-[WKWebView _setBackgroundExtendsBeyondPage:]):
14        (-[WKWebView _backgroundExtendsBeyondPage]):
15        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
16        * UIProcess/API/ios/WKViewIOS.mm:
17        (-[WKView _pageExtendedBackgroundColor]):
18        (-[WKView _setBackgroundExtendsBeyondPage:]):
19        (-[WKView _backgroundExtendsBeyondPage]):
20
212014-02-20  Dean Jackson  <dino@apple.com>
22
23        Add an unresolved WebGLPolicy and an API to resolve it
24        https://bugs.webkit.org/show_bug.cgi?id=129109
25
26        Reviewed by Anders Carlsson.
27
28        Add a third WebGLLoadPolicy which is "pending" allowing the page
29        to go ahead with creating the WebGLRenderingContext and resolve the policy
30        at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.
31
32        * UIProcess/API/APILoaderClient.h:
33        (API::LoaderClient::webGLLoadPolicy): New return value.
34        (API::LoaderClient::resolveWebGLLoadPolicy): New method definition.
35        * UIProcess/API/C/WKAPICast.h:
36        (WebKit::toWebGLLoadPolicy): Change names of return types.
37        * UIProcess/API/C/WKPage.cpp:
38        (WKPageSetPageLoaderClient): New stubs.
39        * UIProcess/API/C/WKPageLoaderClient.h: New policy type kWKWebGLLoadPolicyPending.
40        * UIProcess/WebPageProxy.cpp:
41        (WebKit::WebPageProxy::resolveWebGLPolicyForURL): New method.
42        * UIProcess/WebPageProxy.h:
43        * UIProcess/WebPageProxy.messages.in: New message.
44        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45        (WebKit::WebFrameLoaderClient::webGLPolicyForURL):
46        (WebKit::WebFrameLoaderClient::resolveWebGLPolicyForURL):
47        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
48        * WebProcess/WebPage/WebPage.cpp:
49        (WebKit::WebPage::webGLPolicyForURL):
50        (WebKit::WebPage::resolveWebGLPolicyForURL):
51        * WebProcess/WebPage/WebPage.h:
52
532014-02-20  Anders Carlsson  <andersca@apple.com>
54
55        Make it possible to reply asynchronously to JavaScript panels and alerts
56        https://bugs.webkit.org/show_bug.cgi?id=129116
57
58        Reviewed by Dan Bernstein.
59
60        * Scripts/webkit2/LegacyMessageReceiver-expected.cpp:
61        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
62        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
63        * Scripts/webkit2/MessageReceiver-expected.cpp:
64        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
65        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
66        * Scripts/webkit2/messages.py:
67        (generate_message_handler):
68        * UIProcess/API/APIUIClient.h:
69        (API::UIClient::runJavaScriptAlert):
70        (API::UIClient::runJavaScriptConfirm):
71        (API::UIClient::runJavaScriptPrompt):
72        * UIProcess/API/C/WKPage.cpp:
73        (WKPageSetPageUIClient):
74        * UIProcess/WebPageProxy.cpp:
75        (WebKit::WebPageProxy::runJavaScriptAlert):
76        (WebKit::WebPageProxy::runJavaScriptConfirm):
77        (WebKit::WebPageProxy::runJavaScriptPrompt):
78        * UIProcess/WebPageProxy.h:
79        * UIProcess/WebPageProxy.messages.in:
80
812014-02-20  Enrique Ocaña González  <eocanha@igalia.com>
82
83        WebKitGTK+ should stop using COMPILE_ASSERT_MATCHING_ENUM macros
84        https://bugs.webkit.org/show_bug.cgi?id=127800
85
86        Reviewed by Martin Robinson.
87
88        * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Defined and applied type conversions.
89        (webkit_authentication_request_get_scheme):
90        * UIProcess/API/gtk/WebKitCookieManager.cpp: Defined and applied type conversions.
91        (toWebKitCookieAcceptPolicy):
92        (toHTTPCookieAcceptPolicy):
93        (webkit_cookie_manager_set_persistent_storage):
94        (webkit_cookie_manager_set_accept_policy):
95        (webkitCookieManagerGetAcceptPolicyCallback):
96        * UIProcess/API/gtk/WebKitCredential.cpp: Defined and applied type conversions.
97        (toWebKitCredentialPersistence):
98        (toWebCoreCredentialPersistence):
99        (webkit_credential_new):
100        (webkit_credential_get_persistence):
101        * UIProcess/API/gtk/WebKitDownload.cpp: Defined and applied type conversions.
102        (webkitDownloadFailed):
103        * UIProcess/API/gtk/WebKitError.cpp: Defined and applied type conversions.
104        * UIProcess/API/gtk/WebKitFindController.cpp: Defined and applied type conversions.
105        (toWebKitFindOptions):
106        (webKitFindControllerPerform):
107        (webkit_find_controller_search_next):
108        (webkit_find_controller_search_previous):
109        * UIProcess/API/gtk/WebKitFindController.h: Added new private fields to the enum, needed to match conversions.
110        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Defined and applied type conversions.
111        (didReceiveWebViewMessageFromInjectedBundle):
112        * UIProcess/API/gtk/WebKitLoaderClient.cpp: Defined and applied type conversions.
113        (didFailProvisionalLoadWithErrorForFrame):
114        (didFailLoadWithErrorForFrame):
115        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Defined and applied type conversions.
116        * UIProcess/API/gtk/WebKitPolicyClient.cpp: Defined and applied type conversions.
117        (toWebKitNavigationType):
118        (decidePolicyForNavigationAction):
119        (decidePolicyForNewWindowAction):
120        * UIProcess/API/gtk/WebKitPrintOperation.cpp: Defined and applied type conversions.
121        (drawPagesForPrintingCompleted):
122        * UIProcess/API/gtk/WebKitPrivate.cpp: Defined and applied type conversions.
123        (toWebKitError):
124        (toWebCoreError):
125        * UIProcess/API/gtk/WebKitPrivate.h: Defined and applied type conversions.
126        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Defined and applied type conversions.
127        (webkit_uri_scheme_request_finish_error):
128        * UIProcess/API/gtk/WebKitWebContext.cpp: Defined and applied type conversions.
129        (toWebKitProcessModel):
130        (webkit_web_context_set_process_model):
131        (webkit_web_context_get_process_model):
132        * UIProcess/API/gtk/WebKitWebView.cpp: Defined and applied type conversions.
133        (toSnapshotRegion):
134        (webkit_web_view_get_snapshot):
135        * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Defined and applied type conversions.
136        (toWebCoreUserContentInjectedFrames):
137        (webkit_web_view_group_add_user_style_sheet):
138
1392014-02-20  Csaba Osztrogonác  <ossy@webkit.org>
140
141        Get rid of redundant Platform.h includes
142        https://bugs.webkit.org/show_bug.cgi?id=128817
143
144        Reviewed by Brent Fulgham.
145
146        * config.h:
147
1482014-02-19  Alexey Proskuryakov  <ap@apple.com>
149
150        Build fix.
151
152        * UIProcess/API/C/WKPage.cpp: (WKPageGetBytecodeProfile): Updated a recently added
153        instance of ScriptCallback.
154
1552014-02-18  Alexey Proskuryakov  <ap@apple.com>
156
157        [WK2] IPC callback classes should not be tightly coupled to C API
158        https://bugs.webkit.org/show_bug.cgi?id=129030
159
160        Reviewed by Anders Carlsson.
161
162        Changed CallbackBase subclasses to take an std::function (with context captured inside).
163        Instead of C API objects, these callback functions take implementation ones.
164        There are VoidAPICallback and GenericAPICallback helpers for the common case of C API.
165
166        * Shared/SecurityOriginData.h:
167        * UIProcess/API/C/WKApplicationCacheManager.cpp:
168        (WKApplicationCacheManagerGetApplicationCacheOrigins):
169        * UIProcess/API/C/WKContext.cpp:
170        (WKContextGetStatistics):
171        (WKContextGetStatisticsWithOptions):
172        * UIProcess/API/C/WKCookieManager.cpp:
173        (WKCookieManagerGetHostnamesWithCookies):
174        (WKCookieManagerGetHTTPCookieAcceptPolicy):
175        * UIProcess/API/C/WKDatabaseManager.cpp:
176        (WKDatabaseManagerGetDatabasesByOrigin):
177        (WKDatabaseManagerGetDatabaseOrigins):
178        * UIProcess/API/C/WKFrame.cpp:
179        (WKFrameGetMainResourceData):
180        (WKFrameGetResourceData):
181        (WKFrameGetWebArchive):
182        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
183        (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
184        (WKKeyValueStorageManagerGetStorageDetailsByOrigin):
185        * UIProcess/API/C/WKMediaCacheManager.cpp:
186        (WKMediaCacheManagerGetHostnamesWithMediaCache):
187        * UIProcess/API/C/WKOriginDataManager.cpp:
188        (WKOriginDataManagerGetOrigins):
189        * UIProcess/API/C/WKPage.cpp:
190        (WKPageRunJavaScriptInMainFrame):
191        (WKPageRenderTreeExternalRepresentation):
192        (WKPageGetSourceForFrame):
193        (WKPageGetContentsAsString):
194        (WKPageGetSelectionAsWebArchiveData):
195        (WKPageGetContentsAsMHTMLData):
196        (WKPageForceRepaint):
197        (WKPageValidateCommand):
198        (WKPageComputePagesForPrinting):
199        (WKPageDrawPagesToPDF):
200        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
201        (WKPluginSiteDataManagerGetSitesWithData):
202        (WKPluginSiteDataManagerClearSiteData):
203        (WKPluginSiteDataManagerClearAllSiteData):
204        * UIProcess/API/C/WKResourceCacheManager.cpp:
205        (WKResourceCacheManagerGetCacheOrigins):
206        * UIProcess/API/gtk/WebKitCookieManager.cpp:
207        (webkit_cookie_manager_get_accept_policy):
208        (webkit_cookie_manager_get_domains_with_cookies):
209        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
210        (drawPagesForPrintingCompleted):
211        (webkitPrintOperationPrintPagesForFrame):
212        * UIProcess/API/gtk/WebKitWebResource.cpp:
213        (resourceDataCallback):
214        (webkit_web_resource_get_data):
215        * UIProcess/API/gtk/WebKitWebView.cpp:
216        (webkit_web_view_can_execute_editing_command):
217        (webkitWebViewRunJavaScriptCallback):
218        (webkit_web_view_run_javascript):
219        (resourcesStreamReadCallback):
220        (getContentsAsMHTMLDataCallback):
221        (webkit_web_view_save):
222        (webkit_web_view_save_to_file):
223        * UIProcess/API/ios/WKInteractionView.mm:
224        (-[WKInteractionView _define:]):
225        (selectionChangedWithGesture):
226        (selectionChangedWithTouch):
227        (-[WKInteractionView changeSelectionWithGestureAt:withGesture:withState:]):
228        (-[WKInteractionView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
229        (-[WKInteractionView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
230        (-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
231        (-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
232        (-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):
233        * UIProcess/API/mac/WKPrintingView.mm:
234        (pageDidDrawToImage):
235        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
236        (pageDidComputePageRects):
237        (-[WKPrintingView _askPageToComputePageRects]):
238        (-[WKPrintingView _drawPreview:]):
239        * UIProcess/API/mac/WKView.mm:
240        (-[WKView validateUserInterfaceItem:]):
241        (-[WKView startSpeaking:]):
242        * UIProcess/AutoCorrectionCallback.h:
243        (WebKit::AutocorrectionDataCallback::create):
244        (WebKit::AutocorrectionDataCallback::performCallbackWithReturnValue):
245        (WebKit::AutocorrectionDataCallback::invalidate):
246        (WebKit::AutocorrectionDataCallback::AutocorrectionDataCallback):
247        (WebKit::AutocorrectionContextCallback::create):
248        (WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue):
249        (WebKit::AutocorrectionContextCallback::invalidate):
250        (WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback):
251        * UIProcess/GenericCallback.h:
252        (WebKit::CallbackBase::CallbackBase):
253        (WebKit::CallbackBase::generateCallbackID):
254        (WebKit::VoidCallback::create):
255        (WebKit::VoidCallback::performCallback):
256        (WebKit::VoidCallback::invalidate):
257        (WebKit::VoidCallback::VoidCallback):
258        (WebKit::VoidAPICallback::create):
259        (WebKit::GenericCallback::create):
260        (WebKit::GenericCallback::performCallbackWithReturnValue):
261        (WebKit::GenericCallback::invalidate):
262        (WebKit::GenericCallback::GenericCallback):
263        (WebKit::GenericAPICallback::create):
264        (WebKit::ComputedPagesCallback::create):
265        (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
266        (WebKit::ComputedPagesCallback::invalidate):
267        (WebKit::ComputedPagesCallback::ComputedPagesCallback):
268        (WebKit::ImageCallback::create):
269        (WebKit::ImageCallback::performCallbackWithReturnValue):
270        (WebKit::ImageCallback::invalidate):
271        (WebKit::ImageCallback::ImageCallback):
272        * UIProcess/Plugins/WebPluginSiteDataManager.h:
273        * UIProcess/StatisticsRequest.h:
274        * UIProcess/WebApplicationCacheManagerProxy.h:
275        * UIProcess/WebContext.h:
276        * UIProcess/WebCookieManagerProxy.h:
277        * UIProcess/WebDatabaseManagerProxy.h:
278        * UIProcess/WebFrameProxy.h:
279        * UIProcess/WebKeyValueStorageManager.h:
280        * UIProcess/WebMediaCacheManagerProxy.h:
281        * UIProcess/WebOriginDataManagerProxy.h:
282        * UIProcess/WebPageProxy.h:
283        (WebKit::ValidateCommandCallback::create):
284        (WebKit::ValidateCommandCallback::performCallbackWithReturnValue):
285        (WebKit::ValidateCommandCallback::invalidate):
286        (WebKit::ValidateCommandCallback::ValidateCommandCallback):
287        (WebKit::GestureCallback::create):
288        (WebKit::GestureCallback::performCallbackWithReturnValue):
289        (WebKit::GestureCallback::invalidate):
290        (WebKit::GestureCallback::GestureCallback):
291        (WebKit::TouchesCallback::create):
292        (WebKit::TouchesCallback::performCallbackWithReturnValue):
293        (WebKit::TouchesCallback::invalidate):
294        (WebKit::TouchesCallback::TouchesCallback):
295        * UIProcess/WebResourceCacheManagerProxy.h:
296        * UIProcess/mac/WKFullScreenWindowController.mm:
297        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
298
2992014-02-19  Simon Fraser  <simon.fraser@apple.com>
300
301        Avoid sending redundant layer properties to the UI process, and avoid allocation of RemoteLayerBackingStore unless we need it
302        https://bugs.webkit.org/show_bug.cgi?id=129076
303
304        Reviewed by Tim Horton.
305        
306        Normally we rely on GraphicsLayerCA to avoid redundant property
307        setting on PlatformCALayers, but for contents layers GraphicsLayerCA
308        sets properties on every update.
309        
310        Make PlatformCALayerRemote more efficient in this case by not
311        setting dirty flags for unchanged property sets.
312        
313        Also avoid creation of RemoteLayerBackingStore unless we
314        actually need one.
315
316        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
317        (PlatformCALayerRemote::ensureBackingStore):
318        (PlatformCALayerRemote::updateBackingStore):
319        (PlatformCALayerRemote::setBounds):
320        (PlatformCALayerRemote::setPosition):
321        (PlatformCALayerRemote::setAnchorPoint):
322        (PlatformCALayerRemote::setMasksToBounds):
323        (PlatformCALayerRemote::setAcceleratesDrawing):
324        (PlatformCALayerRemote::setBorderWidth):
325        (PlatformCALayerRemote::setBorderColor):
326        (PlatformCALayerRemote::setContentsScale):
327        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
328
3292014-02-19  Simon Fraser  <simon.fraser@apple.com>
330
331        [UI-Side Compositing] 6% of main thread time spent copying LayerProperties when adding to hash table
332        https://bugs.webkit.org/show_bug.cgi?id=129074
333
334        Reviewed by Tim Horton.
335        
336        Make RemoteLayerTreeTransaction::LayerProperties smaller and not copied by
337        value everywhere.
338        
339        Put some big members into unique_ptrs, and store unique_ptrs
340        in the hash of layerID to properties.
341        
342        Clean up member variable order of LayerProperties to improve packing.
343        
344        Also have applyPropertiesToLayer() take references to things to avoid
345        copies.
346        
347        * Shared/mac/RemoteLayerTreePropertyApplier.h:
348        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
349        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
350        * Shared/mac/RemoteLayerTreeTransaction.h:
351        (WebKit::RemoteLayerTreeTransaction::changedLayers):
352        * Shared/mac/RemoteLayerTreeTransaction.mm:
353        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
354        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
355        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
356        (WebKit::RemoteLayerTreeTransaction::encode):
357        (WebKit::RemoteLayerTreeTransaction::decode):
358        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
359        (WebKit::dumpChangedLayers):
360        * UIProcess/mac/RemoteLayerTreeHost.h:
361        * UIProcess/mac/RemoteLayerTreeHost.mm:
362        (WebKit::RemoteLayerTreeHost::updateLayerTree):
363        (WebKit::RemoteLayerTreeHost::createLayer):
364        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
365        (PlatformCALayerRemote::create):
366        (PlatformCALayerRemote::PlatformCALayerRemote):
367        (PlatformCALayerRemote::clone):
368        (PlatformCALayerRemote::recursiveBuildTransaction):
369        (PlatformCALayerRemote::ensureBackingStore):
370        (PlatformCALayerRemote::setNeedsDisplay):
371        (PlatformCALayerRemote::transform):
372        (PlatformCALayerRemote::setTransform):
373        (PlatformCALayerRemote::sublayerTransform):
374        (PlatformCALayerRemote::setSublayerTransform):
375        (PlatformCALayerRemote::setFilters):
376        (PlatformCALayerRemote::enumerateRectsBeingDrawn):
377        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
378
3792014-02-19  Benjamin Poulain  <bpoulain@apple.com>
380
381        Remove -[WKContentView setViewportSize:]
382        https://bugs.webkit.org/show_bug.cgi?id=129071
383
384        Reviewed by Enrica Casucci.
385
386        I forgot to clean that up.
387
388        * UIProcess/API/ios/WKContentView.h:
389        * UIProcess/API/ios/WKContentView.mm:
390
3912014-02-19  Oliver Hunt  <oliver@apple.com>
392
393        Add WK2 SPI to get bytecode profile from web process
394        https://bugs.webkit.org/show_bug.cgi?id=129069
395
396        Reviewed by Anders Carlsson.
397
398        Simple patch to allow asynchronous fetching of the
399        bytecode profiler output from the WebProcess.
400
401        * UIProcess/API/C/WKPage.cpp:
402        (WKPageGetBytecodeProfile):
403        * UIProcess/API/C/WKPagePrivate.h:
404        * UIProcess/WebPageProxy.cpp:
405        (WebKit::WebPageProxy::getBytecodeProfile):
406        * UIProcess/WebPageProxy.h:
407        * WebProcess/WebPage/WebPage.cpp:
408        (WebKit::WebPage::getBytecodeProfile):
409        * WebProcess/WebPage/WebPage.h:
410        * WebProcess/WebPage/WebPage.messages.in:
411
4122014-02-19  Beth Dakin  <bdakin@apple.com>
413
414        Build fix.
415
416        * UIProcess/API/Cocoa/WKWebView.mm:
417        (-[WKWebView pageExtendedBackgroundColor]):
418
4192014-02-19  Beth Dakin  <bdakin@apple.com>
420
421        UIProcess needs to know the color of the page's extended background
422        https://bugs.webkit.org/show_bug.cgi?id=129004
423
424        Reviewed by Simon Fraser and Brent Fulgham.
425
426        New method on WKWebView and WKView will return the page’s extended background 
427        color.
428        * UIProcess/API/Cocoa/WKViewPrivate.h:
429        * UIProcess/API/Cocoa/WKWebView.mm:
430        (-[WKWebView pageExtendedBackgroundColor]):
431        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
432        * UIProcess/API/ios/WKViewIOS.mm:
433        (-[WKView pageExtendedBackgroundColor]):
434
435        The color is stored in the WebPageProxy, and the ChromeClient sends a message to 
436        the WebPageProxy with the new color whenever it changes.
437        * UIProcess/WebPageProxy.cpp:
438        (WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange):
439        * UIProcess/WebPageProxy.h:
440        (WebKit::WebPageProxy::pageExtendedBackgroundColor):
441        * UIProcess/WebPageProxy.messages.in:
442        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
443        (WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):
444        * WebProcess/WebCoreSupport/WebChromeClient.h:
445
4462014-02-19  Tim Horton  <timothy_horton@apple.com>
447
448        [wk2] REGRESSION (r162710): Open tab urls not restored after switching to new Safari build
449        https://bugs.webkit.org/show_bug.cgi?id=128536
450        <rdar://problem/15911839>
451
452        Reviewed by Dan Bernstein.
453
454        * UIProcess/cf/WebBackForwardListCF.cpp:
455        (WebKit::extractBackForwardListEntriesFromArray):
456        Don't fail to extract an entry if it doesn't have a snapshot UUID.
457
458        * UIProcess/cf/WebPageProxyCF.cpp:
459        It turns out that this was the wrong version to bump, and we don't support
460        reading different versions of the session state data.
461
4622014-02-19  Brady Eidson  <beidson@apple.com>
463
464        Add FeatureDefines for image controls
465        https://bugs.webkit.org/show_bug.cgi?id=129022
466
467        Reviewed by Jer Noble.
468
469        * Configurations/FeatureDefines.xcconfig:
470
4712014-02-19  Brady Eidson  <beidson@apple.com>
472
473        Add settings/preferences for enabling image controls
474        https://bugs.webkit.org/show_bug.cgi?id=129027
475
476        Reviewed by Jer Noble.
477
478        * Shared/WebPreferencesStore.h:
479
480        * WebProcess/WebPage/WebPage.cpp:
481        (WebKit::WebPage::updatePreferences):
482
4832014-02-19  Dan Bernstein  <mitz@apple.com>
484
485        Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
486        https://bugs.webkit.org/show_bug.cgi?id=129029
487
488        Reviewed by Mark Rowe.
489
490        * PluginProcess/PluginProcess.cpp:
491        (WebKit::PluginProcess::netscapePluginModule):
492        * Shared/API/c/WKDeprecatedFunctions.cpp:
493        * Shared/WebPreferencesStore.h:
494        * UIProcess/API/Cocoa/WKWebView.mm:
495        (-[WKWebView initWithFrame:configuration:]):
496        * UIProcess/PageClient.h:
497        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
498        * UIProcess/Scrolling/RemoteScrollingTree.h:
499        * UIProcess/WebContext.h:
500        * UIProcess/WebInspectorProxy.h:
501        * UIProcess/WebPageProxy.cpp:
502        (WebKit::WebPageProxy::didChangeBackForwardList):
503        (WebKit::WebPageProxy::pageDidScroll):
504        (WebKit::WebPageProxy::resetStateAfterProcessExited):
505        (WebKit::WebPageProxy::creationParameters):
506        * UIProcess/WebPageProxy.h:
507        * UIProcess/WebPageProxy.messages.in:
508        * UIProcess/mac/WebContextMac.mm:
509        (WebKit::WebContext::platformInitializeWebProcess):
510        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
511        (WKBundlePageSetTopOverhangImage):
512        (WKBundlePageSetBottomOverhangImage):
513        * WebProcess/WebPage/PageBanner.h:
514        * WebProcess/WebPage/WebPage.cpp:
515        (WebKit::WebPage::setDeviceScaleFactor):
516        (WebKit::WebPage::mainFrameDidLayout):
517        (WebKit::WebPage::beginPrinting):
518        (WebKit::WebPage::drawRectToImage):
519        (WebKit::WebPage::drawPagesToPDF):
520        * WebProcess/WebPage/WebPage.messages.in:
521        * config.h:
522
5232014-02-18  Dan Bernstein  <mitz@apple.com>
524
525        PLATFORM(MAC) is true when building for iOS
526        https://bugs.webkit.org/show_bug.cgi?id=129025
527
528        Reviewed by Mark Rowe.
529
530        * Shared/Network/NetworkProcessCreationParameters.cpp: Changed PLATFORM(MAC) to
531        PLATFORM(COCOA) now that the former does not include iOS.
532        (WebKit::NetworkProcessCreationParameters::encode):
533        (WebKit::NetworkProcessCreationParameters::decode):
534        * Shared/Network/NetworkProcessCreationParameters.h: Ditto.
535        * WebKit2Prefix.h: Ditto.
536
5372014-02-18  Simon Fraser  <simon.fraser@apple.com>
538
539        Clean up WKContentView initialization
540        https://bugs.webkit.org/show_bug.cgi?id=129016
541
542        Reviewed by Benjamin Poulain.
543        
544        WKContentView had too many initializers and duplicated init
545        code. Clean up by removing all but one initializer and and
546        doing all the setup in it.
547
548        * UIProcess/API/ios/WKContentView.h:
549        * UIProcess/API/ios/WKContentView.mm:
550        * UIProcess/API/ios/WKViewIOS.mm:
551        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
552
5532014-02-18  Tim Horton  <timothy_horton@apple.com>
554
555        Another 32-bit build fix.
556
557        * UIProcess/API/mac/WKView.mm:
558        (-[WKView _acceleratedCompositingModeRootLayer]):
559
5602014-02-18  Tim Horton  <timothy_horton@apple.com>
561
562        More more WK_API_ENABLED after r164337.
563
564        * UIProcess/API/mac/PageClientImpl.mm:
565        (WebKit::PageClientImpl::activeView):
566
5672014-02-18  Tim Horton  <timothy_horton@apple.com>
568
569        Can't use #if inside a macro, so we'll duplicate the macro for now.
570
571        Build fix for all of Mac.
572
573        * UIProcess/API/mac/WKView.mm:
574
5752014-02-18  Tim Horton  <timothy_horton@apple.com>
576
577        Don't build WKThumbnailView on iOS; it won't build.
578
579        * Configurations/WebKit2.xcconfig:
580
5812014-02-18  Tim Horton  <timothy_horton@apple.com>
582
583        More WK_API_ENABLED after r164337.
584
585        * UIProcess/API/mac/WKView.mm:
586        (-[WKView dealloc]):
587        (-[WKView scrollWheel:]):
588        (-[WKView mouseMoved:]):
589        (-[WKView mouseDown:]):
590        (-[WKView mouseUp:]):
591        (-[WKView mouseDragged:]):
592        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
593        * UIProcess/API/mac/WKViewInternal.h:
594
5952014-02-18  Simon Fraser  <simon.fraser@apple.com>
596
597        Remove UIWKRemoteView
598        https://bugs.webkit.org/show_bug.cgi?id=129015
599
600        Reviewed by Dan Bernstein.
601        
602        Remove UIWKRemoteView which is unused.
603
604        * Configurations/WebKit2.xcconfig:
605        * UIProcess/API/ios/UIWKRemoteView.h: Removed.
606        * UIProcess/API/ios/UIWKRemoteView.mm: Removed.
607        * WebKit2.xcodeproj/project.pbxproj:
608
6092014-02-18  Tim Horton  <timothy_horton@apple.com>
610
611        32-bit build fix after r164337
612
613        * UIProcess/API/Cocoa/WKThumbnailView.mm:
614        Address a review comment. We'll get this for free.
615
616        * UIProcess/API/mac/PageClientImpl.mm:
617        (WebKit::PageClientImpl::activeView):
618        Build fix.
619
6202014-02-18  Tim Horton  <timothy_horton@apple.com>
621
622        Add a way to efficiently thumbnail WKViews
623        https://bugs.webkit.org/show_bug.cgi?id=128831
624        <rdar://problem/15669655>
625
626        Reviewed by Dan Bernstein.
627
628        * UIProcess/API/Cocoa/WKThumbnailView.h: Added.
629        * UIProcess/API/Cocoa/WKThumbnailView.mm: Added.
630        (-[WKThumbnailView initWithFrame:fromWKView:]):
631        (-[WKThumbnailView _viewWasUnparented]):
632        (-[WKThumbnailView _viewWasParented]):
633        (-[WKThumbnailView viewDidMoveToWindow]):
634        (-[WKThumbnailView setScale:]):
635        (-[WKThumbnailView setThumbnailLayer:]):
636        (-[WKThumbnailView thumbnailLayer]):
637        * UIProcess/API/Cocoa/WKThumbnailViewInternal.h: Added.
638        Add WKThumbnailView.
639        Clients of this private API will call initWithFrame:fromWKView:,
640        giving the WKView they wish to borrow contents from.
641        They can also call setScale: to set the scale that will be used to render
642        the content in an implementation-defined set of cases (currently, we will
643        use the low resolution scale for WKViews which were not parented when the
644        WKThumbnailView was created; parented WKViews will use the existing scale).
645
646        * UIProcess/API/mac/PageClientImpl.mm:
647        (WebKit::PageClientImpl::isViewWindowActive):
648        (WebKit::PageClientImpl::isViewVisible):
649        (WebKit::PageClientImpl::isViewVisibleOrOccluded):
650        (WebKit::PageClientImpl::isViewInWindow):
651        (WebKit::PageClientImpl::viewLayerHostingMode):
652        If the WKView has an actively-parented WKThumbnailView attached to it,
653        we should determine view visibility/etc. using that view instead of the WKView.
654
655        * UIProcess/API/mac/WKView.mm:
656        (-[WKView dealloc]):
657        WKThumbnailView holds on to the WKView, and clears WKView's backpointer
658        when it leaves the window, so we should never see WKView get deallocated
659        with a live thumbnail view.
660
661        (-[WKView scrollWheel:]):
662        (-[WKView mouseMoved:]):
663        (-[WKView mouseDown:]):
664        (-[WKView mouseUp:]):
665        (-[WKView mouseDragged:]):
666        Don't handle events while thumbnailed.
667
668        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
669        Forward root layer changes to the installed thumbnail view.
670
671        (-[WKView _acceleratedCompositingModeRootLayer]):
672        _acceleratedCompositingModeRootLayer should return the same layer
673        that was set via _setAcceleratedCompositingModeRootLayer:, not its parent.
674
675        (-[WKView _setThumbnailView:]):
676        (-[WKView _thumbnailView]):
677        Install/uninstall a WKThumbnailView. Hand it our root layer if installing,
678        or recover it from the departing thumbnail view if uninstalling.
679
680        * UIProcess/API/mac/WKViewInternal.h:
681        Add in a missing RetainPtr.h include that I missed earlier and causes trouble.
682        Add WKView _thumbnailView and _setThumbnailView:.
683
684        * UIProcess/WebPageProxy.cpp:
685        (WebKit::WebPageProxy::setThumbnailScale):
686        * UIProcess/WebPageProxy.h:
687        (WebKit::WebPageProxy::mayStartMediaWhenInWindow):
688
689        * UIProcess/mac/ViewGestureControllerMac.mm:
690        (WebKit::ViewGestureController::beginSwipeGesture):
691        (WebKit::ViewGestureController::handleSwipeGesture):
692        Swipe was accidentally depending on a mistake in WKView's
693        _acceleratedCompositingModeRootLayer where it was returning the wrong layer.
694        The actual root layer doesn't have a size, so we should use the drawing
695        area's size instead.
696
697        * WebKit2.xcodeproj/project.pbxproj:
698        Add some new files.
699
700        * WebProcess/WebPage/WebPage.cpp:
701        (WebKit::WebPage::didCommitLoad):
702        If we reset the page scale because a load was committed, we should
703        reset the stored thumbnail-scale-less page scale so that we don't restore
704        the wrong scale when leaving thumbnailing.
705
706        (WebKit::WebPage::WebPage):
707        (WebKit::WebPage::setThumbnailScale):
708        * WebProcess/WebPage/WebPage.h:
709        * WebProcess/WebPage/WebPage.messages.in:
710        Apply the thumbnail scale to the page. If we're currently not in
711        thumbnail scaling mode, save the current page scale and scroll position
712        so we can restore them once we leave thumbnail mode again.
713        Transform the DrawingArea so that the page appears at the same
714        position and size, but scaled.
715
716        * WebProcess/WebPage/DrawingArea.h:
717        (WebKit::DrawingArea::setTransform):
718        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
719        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
720        (WebKit::TiledCoreAnimationDrawingArea::setTransform):
721        Add a DrawingArea method to apply an arbitrary transform to the drawing area.
722
723        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
724        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
725        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
726        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
727        (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
728        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
729        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
730        (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
731        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
732        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
733        (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
734        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
735        Remove the word "compositing" in a bunch of places where it isn't needed.
736        Rename m_rootLayer to m_hostingLayer, and repurpose m_rootLayer to store
737        the root compositing layer actually passed in via setRootCompositingLayer.
738        Rename m_pendingRootCompositingLayer to m_pendingRootLayer.
739
7402014-02-18  Anders Carlsson  <andersca@apple.com>
741
742        Add SPI for enabling/disabling private browsing
743        https://bugs.webkit.org/show_bug.cgi?id=129012
744
745        Reviewed by Tim Horton.
746
747        * UIProcess/API/Cocoa/WKWebView.mm:
748        (-[WKWebView _privateBrowsingEnabled]):
749        (-[WKWebView _setPrivateBrowsingEnabled:]):
750        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
751
7522014-02-18  Anders Carlsson  <andersca@apple.com>
753
754        Add more SPI methods to WKWebView
755        https://bugs.webkit.org/show_bug.cgi?id=129011
756
757        Reviewed by Tim Horton.
758
759        * UIProcess/API/Cocoa/WKWebView.mm:
760        (-[WKWebView _webProcessIdentifier]):
761        (-[WKWebView _sessionState]):
762        (releaseNSData):
763        (-[WKWebView _restoreFromSessionState:]):
764        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
765
7662014-02-18  Anders Carlsson  <andersca@apple.com>
767
768        Add more new SPI methods
769        https://bugs.webkit.org/show_bug.cgi?id=129009
770
771        Reviewed by Tim Horton.
772
773        * UIProcess/API/Cocoa/WKWebView.mm:
774        (-[WKWebView _certificateChain]):
775        (-[WKWebView _committedURL]):
776        (-[WKWebView _applicationNameForUserAgent]):
777        (-[WKWebView _setApplicationNameForUserAgent:]):
778        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
779
7802014-02-18  Anders Carlsson  <andersca@apple.com>
781
782        Make reload SPI for now
783        https://bugs.webkit.org/show_bug.cgi?id=129007
784
785        Reviewed by Simon Fraser.
786
787        * UIProcess/API/Cocoa/WKWebView.h:
788        * UIProcess/API/Cocoa/WKWebView.mm:
789        (-[WKWebView _reload]):
790        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
791
7922014-02-18  Anders Carlsson  <andersca@apple.com>
793
794        Add -[WKWebView reload]
795        https://bugs.webkit.org/show_bug.cgi?id=129005
796
797        Reviewed by Tim Horton.
798
799        * UIProcess/API/Cocoa/WKWebView.h:
800        * UIProcess/API/Cocoa/WKWebView.mm:
801        (-[WKWebView reload]):
802
8032014-02-18  Anders Carlsson  <andersca@apple.com>
804
805        Add SPI for allowing HTTPS certificates
806        https://bugs.webkit.org/show_bug.cgi?id=129002
807
808        Reviewed by Dan Bernstein.
809
810        * UIProcess/API/Cocoa/WKProcessClass.mm:
811        (-[WKProcessClass _setAllowsSpecificHTTPSCertificate:forHost:]):
812        * UIProcess/API/Cocoa/WKProcessClassInternal.h:
813        * UIProcess/API/Cocoa/WKProcessClassPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
814        * WebKit2.xcodeproj/project.pbxproj:
815
8162014-02-18  Anders Carlsson  <andersca@apple.com>
817
818        Add SPI for getting the original URL from a WKNavigationAction
819        https://bugs.webkit.org/show_bug.cgi?id=128997
820
821        Reviewed by Tim Horton.
822
823        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
824        * UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
825        * UIProcess/Cocoa/NavigationState.mm:
826        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
827        * WebKit2.xcodeproj/project.pbxproj:
828
8292014-02-18  Anders Carlsson  <andersca@apple.com>
830
831        Add more WKWebView SPI
832        https://bugs.webkit.org/show_bug.cgi?id=128994
833
834        Reviewed by Tim Horton.
835
836        * UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h:
837        * UIProcess/API/Cocoa/WKWebView.mm:
838        (-[WKWebView _unreachableURL]):
839        (-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
840        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
841
8422014-02-18  Anders Carlsson  <andersca@apple.com>
843
844        Fix build.
845
846        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
847        (-[WKProcessClassConfiguration description]):
848
8492014-02-18  Sam Weinig  <sam@webkit.org>
850
851        Temporarily remove support for setting the maximumDecodedImageSize. It is causing assertions.
852
853        * Shared/WebPreferencesStore.h:
854        * WebProcess/WebPage/WebPage.cpp:
855        (WebKit::WebPage::updatePreferences):
856
8572014-02-18  Dan Bernstein  <mitz@apple.com>
858
859        [Cocoa] Implement -description in some API objects
860        https://bugs.webkit.org/show_bug.cgi?id=128956
861
862        Reviewed by Anders Carlsson.
863
864        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
865        Changed category name to have the framework’s prefix.
866        (-[WKRemoteObjectInterface description]): Added.
867        * UIProcess/API/Cocoa/WKFrameInfo.mm:
868        (-[WKFrameInfo description]): Added.
869        * UIProcess/API/Cocoa/WKNavigationAction.mm:
870        (-[WKNavigationAction description]): Added.
871        * UIProcess/API/Cocoa/WKNavigationResponse.mm:
872        (-[WKNavigationResponse description]): Added.
873        * UIProcess/API/Cocoa/WKProcessClass.mm:
874        (-[WKProcessClass description]): Added.
875        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
876        (-[WKProcessClassConfiguration description]): Added.
877        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
878        (-[WKWebViewConfiguration description]): Added.
879
8802014-02-17  ChangSeok Oh  <changseok.oh@collabora.com>
881
882        Unreviewed gtk build fix.
883
884        * GNUmakefile.list.am: Remove WebHistoryClient.cpp/h after r164230.
885
8862014-02-17  Ricky Mondello  <rmondello@apple.com>
887
888        Expose a way to clear cookies modified after a given date
889        https://bugs.webkit.org/show_bug.cgi?id=128845
890
891        Reviewed by Alexey Proskuryakov.
892
893        * UIProcess/API/C/WKCookieManager.cpp:
894        (WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager.
895        * UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate.
896        * UIProcess/WebCookieManagerProxy.cpp:
897        (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the
898            Network Process.
899        * UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate.
900        * WebProcess/Cookies/WebCookieManager.cpp:
901        (WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job.
902        * WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate.
903        * WebProcess/Cookies/WebCookieManager.messages.in: Add new message.
904
9052014-02-17  Ryuan Choi  <ryuan.choi@samsung.com>
906
907        [EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface
908        https://bugs.webkit.org/show_bug.cgi?id=119120
909
910        Reviewed by Gyuyoung Kim.
911
912        WKColorPickerResultListener and related files are only used in EFL since added.
913        Indeed, it does not work since refactored common logic for ColorPicker in WebPageProxy.
914
915        This patch moved them to EFL specfic and refactor to work well.
916
917        * CMakeLists.txt: Moved WebColorPickerResultListenerProxy.cpp to PlatformEfl.cmake.
918        * GNUmakefile.list.am: Removed ColorPickerResultListener related files which are only for Efl from source list.
919        * PlatformEfl.cmake: Added ColorPickerResultListenerProxy related files and newly added files into source list.
920        * UIProcess/API/APIUIClient.h:
921        * UIProcess/API/C/WKPage.cpp:
922        (WKPageSetPageUIClient):
923        * UIProcess/API/C/efl/WKColorPickerResultListener.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp.
924        (WKColorPickerResultListenerGetTypeID):
925        (WKColorPickerResultListenerSetColor):
926        * UIProcess/API/C/efl/WKColorPickerResultListener.h: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.h.
927        * UIProcess/API/C/efl/WKViewEfl.cpp: Introduced WKColorPickerClient and setter.
928        (WKViewSetColorPickerClient):
929        * UIProcess/API/C/efl/WKViewEfl.h:
930        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Enabled test case for color picker.
931        (TEST_F):
932        * UIProcess/WebPageProxy.cpp: Removed unnecessary WebColorPickerResultListenerProxy dependency.
933        * UIProcess/WebPageProxy.h: Ditto.
934        * UIProcess/efl/PageUIClientEfl.cpp: Removed color picker callbacks of PageUIClient.
935        (WebKit::PageUIClientEfl::PageUIClientEfl):
936        * UIProcess/efl/PageUIClientEfl.h:
937        * UIProcess/efl/ViewClientEfl.cpp: Registered callbacks of WKColorPickerClient.
938        (WebKit::ViewClientEfl::showColorPicker):
939        (WebKit::ViewClientEfl::endColorPicker):
940        (WebKit::ViewClientEfl::ViewClientEfl):
941        (WebKit::ViewClientEfl::~ViewClientEfl):
942        * UIProcess/efl/ViewClientEfl.h:
943        * UIProcess/efl/WebColorPickerClient.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
944        (WebKit::WebColorPickerClient::showColorPicker):
945        (WebKit::WebColorPickerClient::endPicker):
946        * UIProcess/efl/WebColorPickerClient.h: Added.
947        * UIProcess/efl/WebColorPickerEfl.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
948        (WebKit::WebColorPickerEfl::WebColorPickerEfl):
949        (WebKit::WebColorPickerEfl::endPicker):
950        (WebKit::WebColorPickerEfl::showColorPicker):
951        (WebKit::WebColorPickerEfl::setSelectedColor):
952        (WebKit::WebColorPickerEfl::didChooseColor):
953        * UIProcess/efl/WebColorPickerEfl.h: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
954        (WebKit::WebColorPickerEfl::create):
955        (WebKit::WebColorPickerEfl::~WebColorPickerEfl):
956        * UIProcess/efl/WebColorPickerResultListenerProxy.cpp: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.cpp.
957        (WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
958        (WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
959        (WebKit::WebColorPickerResultListenerProxy::invalidate):
960        (WebKit::WebColorPickerResultListenerProxy::setColor):
961        * UIProcess/efl/WebColorPickerResultListenerProxy.h: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.h.
962        (WebKit::WebColorPickerResultListenerProxy::create):
963        * UIProcess/efl/WebViewEfl.cpp:
964        (WebKit::WebViewEfl::initializeColorPickerClient):
965        (WebKit::WebViewEfl::createColorPicker):
966        * UIProcess/efl/WebViewEfl.h:
967        (WebKit::WebViewEfl::colorPickerClient):
968        * WebKit2.xcodeproj/project.pbxproj: Removed ColorPickerResultListener related files which are only for Efl from source list.
969
9702014-02-17  Sam Weinig  <sam@webkit.org>
971
972        [iOS, WebKit2] Add settings and correct default values for settings important on iOS
973        https://bugs.webkit.org/show_bug.cgi?id=128947
974
975        Reviewed by Simon Fraser.
976
977        * Shared/WebPreferencesStore.cpp:
978        * Shared/WebPreferencesStore.h:
979        * WebProcess/WebPage/WebPage.cpp:
980        (WebKit::WebPage::updatePreferences):
981
9822014-02-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
983
984        [CoordinatedGraphics][EFL] Remove view_source functions.
985        https://bugs.webkit.org/show_bug.cgi?id=128945
986
987        Reviewed by Anders Carlsson.
988
989        EFL port has been broken since r164254 because of removing view source files in WK2.
990        This patch is to follow to remove remained view source functions.
991
992        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
993        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
994        * UIProcess/API/efl/ewk_view.cpp:
995        * UIProcess/API/efl/ewk_view.h:
996        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
997        * UIProcess/CoordinatedGraphics/WebView.cpp:
998        * UIProcess/CoordinatedGraphics/WebView.h:
999
10002014-02-17  Tim Horton  <timothy_horton@apple.com>
1001
1002        [iOS][wk2] Custom layers are sometimes put on-screen without being parented
1003        https://bugs.webkit.org/show_bug.cgi?id=128935
1004        <rdar://problem/16022336>
1005
1006        Reviewed by Sam Weinig.
1007
1008        * Platform/mac/LayerHostingContext.mm:
1009        (WebKit::LayerHostingContext::createForExternalHostingProcess):
1010        Give an explicit and unlikely display ID, so that the layer will never
1011        be brought on-screen unless explicitly parented.
1012
10132014-02-17  Anders Carlsson  <andersca@apple.com>
1014
1015        Add history delegate to WKWebView
1016        https://bugs.webkit.org/show_bug.cgi?id=128930
1017
1018        Reviewed by Dan Bernstein.
1019
1020        * UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
1021        * UIProcess/API/Cocoa/WKProcessClass.mm:
1022        (-[WKProcessClass initWithConfiguration:]):
1023        * UIProcess/API/Cocoa/WKWebView.mm:
1024        (-[WKWebView _historyDelegate]):
1025        (-[WKWebView _setHistoryDelegate:]):
1026        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1027        * UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
1028        * UIProcess/Cocoa/HistoryClient.mm: Added.
1029        (WebKit::HistoryClient::HistoryClient):
1030        (WebKit::HistoryClient::~HistoryClient):
1031        (WebKit::HistoryClient::didNavigateWithNavigationData):
1032        (WebKit::HistoryClient::didPerformClientRedirect):
1033        (WebKit::HistoryClient::didPerformServerRedirect):
1034        (WebKit::HistoryClient::didUpdateHistoryTitle):
1035        (WebKit::HistoryClient::populateVisitedLinks):
1036        (WebKit::HistoryClient::shouldTrackVisitedLinks):
1037        * UIProcess/Cocoa/NavigationState.h:
1038        * UIProcess/Cocoa/NavigationState.mm:
1039        (WebKit::navigationStates):
1040        (WebKit::NavigationState::NavigationState):
1041        (WebKit::NavigationState::~NavigationState):
1042        (WebKit::NavigationState::fromWebPage):
1043        (WebKit::NavigationState::historyDelegate):
1044        (WebKit::NavigationState::setHistoryDelegate):
1045        (WebKit::NavigationState::didNavigateWithNavigationData):
1046        (WebKit::NavigationState::didPerformClientRedirect):
1047        (WebKit::NavigationState::didPerformServerRedirect):
1048        (WebKit::NavigationState::didUpdateHistoryTitle):
1049        * WebKit2.xcodeproj/project.pbxproj:
1050
10512014-02-17  Sam Weinig  <sam@webkit.org>
1052
1053        [WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
1054        https://bugs.webkit.org/show_bug.cgi?id=128939
1055
1056        Reviewed by Dan Bernstein.
1057
1058        * WebKit2.xcodeproj/project.pbxproj:
1059        Add/remove files/groups.
1060
1061        * WebProcess/WebProcess.h:
1062        Change stopRunLoop() to be AppKit only.
1063
1064        * WebProcess/cocoa: Added.
1065        * WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.
1066        (WebKit::WebProcess::platformInitializeWebProcess):
1067        (WebKit::WebProcess::initializeProcessName):
1068        (WebKit::WebProcess::platformInitializeProcess):
1069        (WebKit::WebProcess::initializeSandbox):
1070        (WebKit::WebProcess::updateActivePages):
1071        * WebProcess/ios/WebProcessIOS.mm: Removed.
1072        * WebProcess/mac/WebProcessMac.mm: Removed.
1073        Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.
1074
10752014-02-17  Anders Carlsson  <andersca@apple.com>
1076
1077        Stop using isMainThread() in WebKit2
1078        https://bugs.webkit.org/show_bug.cgi?id=128940
1079        <rdar://problem/15963666>
1080
1081        Reviewed by Enrica Casucci.
1082
1083        Since isMainThread() has a different meaning when the web thread is enabled on iOS,
1084        just use RunLoop::isMain() to check if we're executing on the main thread.
1085
1086        * DatabaseProcess/DatabaseProcess.cpp:
1087        (WebKit::DatabaseProcess::ensurePathExists):
1088        (WebKit::DatabaseProcess::postDatabaseTask):
1089        (WebKit::DatabaseProcess::performNextDatabaseTask):
1090        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1091        (WebKit::UniqueIDBDatabase::shutdown):
1092        (WebKit::UniqueIDBDatabase::shutdownBackingStore):
1093        (WebKit::UniqueIDBDatabase::didShutdownBackingStore):
1094        (WebKit::UniqueIDBDatabase::deleteDatabase):
1095        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
1096        (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
1097        (WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
1098        (WebKit::UniqueIDBDatabase::postTransactionOperation):
1099        (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
1100        (WebKit::UniqueIDBDatabase::changeDatabaseVersion):
1101        (WebKit::UniqueIDBDatabase::createObjectStore):
1102        (WebKit::UniqueIDBDatabase::deleteObjectStore):
1103        (WebKit::UniqueIDBDatabase::clearObjectStore):
1104        (WebKit::UniqueIDBDatabase::createIndex):
1105        (WebKit::UniqueIDBDatabase::deleteIndex):
1106        (WebKit::UniqueIDBDatabase::putRecord):
1107        (WebKit::UniqueIDBDatabase::getRecord):
1108        (WebKit::UniqueIDBDatabase::openCursor):
1109        (WebKit::UniqueIDBDatabase::cursorAdvance):
1110        (WebKit::UniqueIDBDatabase::cursorIterate):
1111        (WebKit::UniqueIDBDatabase::count):
1112        (WebKit::UniqueIDBDatabase::deleteRange):
1113        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
1114        (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
1115        (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
1116        (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
1117        (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
1118        (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
1119        (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
1120        (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
1121        (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
1122        (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
1123        (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
1124        (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
1125        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
1126        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
1127        (WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
1128        (WebKit::UniqueIDBDatabase::postMainThreadTask):
1129        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
1130        (WebKit::UniqueIDBDatabase::postDatabaseTask):
1131        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
1132        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1133        (WebKit::generateDatabaseId):
1134        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
1135        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
1136        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
1137        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
1138        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
1139        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
1140        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
1141        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
1142        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
1143        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
1144        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
1145        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion):
1146        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
1147        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
1148        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
1149        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
1150        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
1151        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
1152        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber):
1153        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
1154        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
1155        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord):
1156        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
1157        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
1158        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange):
1159        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
1160        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
1161        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
1162        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
1163        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
1164        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
1165        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges):
1166        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
1167        (WebKit::NetworkBlobRegistry::shared):
1168        * NetworkProcess/HostRecord.cpp:
1169        (WebKit::HostRecord::scheduleResourceLoader):
1170        (WebKit::HostRecord::addLoaderInProgress):
1171        (WebKit::HostRecord::removeLoader):
1172        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1173        (WebKit::NetworkResourceLoadScheduler::removeLoader):
1174        (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
1175        (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
1176        * NetworkProcess/NetworkResourceLoader.cpp:
1177        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
1178        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
1179        (WebKit::NetworkResourceLoader::start):
1180        (WebKit::NetworkResourceLoader::cleanup):
1181        (WebKit::NetworkResourceLoader::abort):
1182        (WebKit::NetworkResourceLoader::willSendRequestAsync):
1183        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
1184        * NetworkProcess/NetworkResourceLoader.h:
1185        (WebKit::NetworkResourceLoader::setHostRecord):
1186        (WebKit::NetworkResourceLoader::hostRecord):
1187        * NetworkProcess/mac/DiskCacheMonitor.mm:
1188        (WebKit::DiskCacheMonitor::DiskCacheMonitor):
1189        * Shared/AsyncRequest.cpp:
1190        (WebKit::generateRequestID):
1191        * Shared/Authentication/AuthenticationManager.cpp:
1192        (WebKit::generateAuthenticationChallengeID):
1193        (WebKit::AuthenticationManager::establishIdentifierForChallenge):
1194        (WebKit::AuthenticationManager::useCredentialForChallenge):
1195        (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
1196        (WebKit::AuthenticationManager::cancelChallenge):
1197        * Shared/Downloads/mac/DownloadMac.mm:
1198        (dispatchOnMainThread):
1199        * Shared/Plugins/NPObjectProxy.cpp:
1200        (WebKit::NPObjectProxy::~NPObjectProxy):
1201        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1202        (WebKit::getPluginInfoFromCarbonResources):
1203        * Shared/SessionTracker.cpp:
1204        (WebKit::staticSessionMap):
1205        (WebKit::storageSessionToID):
1206        (WebKit::identifierBase):
1207        (WebKit::SessionTracker::destroySession):
1208        (WebKit::SessionTracker::setIdentifierBase):
1209        * UIProcess/APISession.cpp:
1210        (API::generateID):
1211        (API::Session::defaultSession):
1212        (API::Session::legacyPrivateSession):
1213        * WebProcess/Cookies/WebCookieManager.cpp:
1214        (WebKit::WebCookieManager::dispatchCookiesDidChange):
1215        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
1216        (WebKit::WebIDBFactoryBackend::open):
1217        (WebKit::WebIDBFactoryBackend::deleteDatabase):
1218        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1219        (WebKit::generateServerConnectionIdentifier):
1220        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1221        (WebKit::WebFrameNetworkingContext::storageSession):
1222        * WebProcess/WebPage/EventDispatcher.cpp:
1223        (WebKit::EventDispatcher::dispatchWheelEvent):
1224
12252014-02-17  Anders Carlsson  <andersca@apple.com>
1226
1227        Remove view source code
1228        https://bugs.webkit.org/show_bug.cgi?id=127233
1229
1230        Reviewed by Antti Koivisto.
1231
1232        * UIProcess/WebPageProxy.cpp:
1233        (WebKit::WebPageProxy::WebPageProxy):
1234        * UIProcess/WebPageProxy.h:
1235        * WebProcess/WebPage/WebPage.cpp:
1236        * WebProcess/WebPage/WebPage.h:
1237        * WebProcess/WebPage/WebPage.messages.in:
1238
12392014-02-17  Sergio Correia  <sergio.correia@openbossa.org>
1240
1241        Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
1242        https://bugs.webkit.org/show_bug.cgi?id=128681
1243
1244        Reviewed by Timothy Hatcher.
1245
1246        Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
1247        WebCore/inspector/*. Besides files in there, a few other files in
1248        JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
1249        and WebCore/testing were touched.
1250
1251        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1252
12532014-02-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1254
1255        Unreviewed EFL build fix attempt
1256
1257        * CMakeLists.txt: Remove WebHistoryClient.cpp after r164230.
1258
12592014-02-17  Anders Carlsson  <andersca@apple.com>
1260
1261        WebKitGTK+ should stop calling functions to set the view source mode
1262        https://bugs.webkit.org/show_bug.cgi?id=128919
1263
1264        Reviewed by Carlos Garcia Campos.
1265
1266        This is a first step towards getting rid of the view source mode from WebCore. 
1267        View source shouldn't be a mode on the web page and can be implemented in other ways by
1268        embedding apps. Furthermore, the inspector has an excellent view source mode.
1269
1270        * UIProcess/API/gtk/WebKitWebView.cpp:
1271        (webkit_web_view_set_view_mode):
1272        (webkit_web_view_get_view_mode):
1273        Turn these into no-ops.
1274
12752014-02-17  Anders Carlsson  <andersca@apple.com>
1276
1277        Turn the history client into a fancy API::HistoryClient abstract base class
1278        https://bugs.webkit.org/show_bug.cgi?id=128917
1279
1280        Reviewed by Andreas Kling.
1281
1282        * UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h.
1283        (API::HistoryClient::~HistoryClient):
1284        (API::HistoryClient::didNavigateWithNavigationData):
1285        (API::HistoryClient::didPerformClientRedirect):
1286        (API::HistoryClient::didPerformServerRedirect):
1287        (API::HistoryClient::didUpdateHistoryTitle):
1288        (API::HistoryClient::populateVisitedLinks):
1289        (API::HistoryClient::shouldTrackVisitedLinks):
1290        * UIProcess/API/C/WKContext.cpp:
1291        (WKContextSetHistoryClient):
1292        * UIProcess/WebContext.cpp:
1293        (WebKit::WebContext::WebContext):
1294        (WebKit::WebContext::setHistoryClient):
1295        (WebKit::WebContext::createNewWebProcess):
1296        (WebKit::WebContext::populateVisitedLinks):
1297        * UIProcess/WebContext.h:
1298        (WebKit::WebContext::historyClient):
1299        * UIProcess/WebHistoryClient.cpp: Removed.
1300        * UIProcess/WebPageProxy.h:
1301        * UIProcess/WebProcessProxy.cpp:
1302        * WebKit2.xcodeproj/project.pbxproj:
1303
13042014-02-17  Dan Bernstein  <mitz@apple.com>
1305
1306        Try to fix iOS Debug builds without breaking Release builds.
1307
1308        * WebProcess/WebPage/PageBanner.cpp:
1309        * WebProcess/WebPage/PageBanner.h:
1310
13112014-02-16  Dan Bernstein  <mitz@apple.com>
1312
1313        Speculative iOS build fix.
1314
1315        * WebProcess/WebPage/mac/PageBannerMac.mm:
1316
13172014-02-16  Dan Bernstein  <mitz@apple.com>
1318
1319        Speculative iOS build fix.
1320
1321        * WebProcess/WebPage/PageBanner.h:
1322
13232014-02-16  Dan Bernstein  <mitz@apple.com>
1324
1325        Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
1326        https://bugs.webkit.org/show_bug.cgi?id=128885
1327
1328        Reviewed by Anders Carlsson.
1329
1330        * Configurations/WebKit2.xcconfig: Removed PageBannerMac.mm and WKBundlePageBannerMac.mm
1331        from EXCLUDED_SOURCE_FILE_NAMES_iphoneos, now that these files are guarded with
1332        !PLATFORM(IOS).
1333        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Changed PLATFORM(MAC) to
1334        PLATFORM(COCOA).
1335        (WKBundleFrameCopyWebArchiveFilteringSubframes):
1336        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Guarded with !PLATFORM(IOS).
1337        * WebProcess/InjectedBundle/InjectedBundle.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1338        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1339        * WebProcess/InjectedBundle/InjectedBundle.h: Changed PLATFORM(MAC) to USE(FOUNDATION)
1340        around use of NSBundle.
1341        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Changed PLATFORM(MAC) to
1342        PLATFORM(COCOA).
1343        (WebKit::InjectedBundleUserMessageEncoder::encode):
1344        (WebKit::InjectedBundleUserMessageDecoder::decode):
1345        * WebProcess/Network/WebResourceLoader.cpp: Ditto.
1346        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
1347        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Ditto.
1348        (WebKit::NPN_GetValue):
1349        (WebKit::NPN_SetValue):
1350        (WebKit::initializeBrowserFuncs):
1351        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Ditto.
1352        (WebKit::NetscapePlugin::NetscapePlugin):
1353        (WebKit::NetscapePlugin::supportsSnapshotting):
1354        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Ditto.
1355        * WebProcess/Plugins/Plugin.cpp: Ditto.
1356        (WebKit::Plugin::Parameters::encode):
1357        (WebKit::Plugin::Parameters::decode):
1358        * WebProcess/Plugins/Plugin.h: Ditto.
1359        * WebProcess/Plugins/PluginController.h: Ditto.
1360        * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Changed PLATFORM(MAC) to
1361        USE(DARWIN) around use of Mach-based IPC.
1362        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
1363        * WebProcess/Plugins/PluginProxy.cpp: Chanegd PLATFORM(MAC) to PLATFORM(COCOA).
1364        * WebProcess/Plugins/PluginProxy.h: Ditto.
1365        * WebProcess/Plugins/PluginProxy.messages.in: Ditto.
1366        * WebProcess/Plugins/PluginView.cpp: Ditto.
1367        (WebKit::PluginView::destroyPluginAndReset):
1368        (WebKit::PluginView::viewStateDidChange):
1369        (WebKit::PluginView::didInitializePlugin):
1370        (WebKit::PluginView::invalidateRect):
1371        (WebKit::PluginView::pluginSnapshotTimerFired):
1372        * WebProcess/Plugins/PluginView.h: Ditto.
1373        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Ditto.
1374        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
1375        (WebKit::WebChromeClient::windowRect):
1376        * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
1377        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Ditto.
1378        * WebProcess/WebCoreSupport/WebContextMenuClient.h: Ditto.
1379        * WebProcess/WebCoreSupport/WebDragClient.cpp: Ditto.
1380        * WebProcess/WebCoreSupport/WebDragClient.h: Ditto.
1381        * WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.
1382        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
1383        * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
1384        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.
1385        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1386        (WebKit::WebFrameLoaderClient::createPlugin):
1387        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Ditto.
1388        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto.
1389        * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
1390        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Removed PLATFORM(MAC).
1391        (InitWebCoreSystemInterface):
1392        * WebProcess/WebPage/DrawingArea.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1393        (WebKit::DrawingArea::create):
1394        * WebProcess/WebPage/DrawingArea.h: Ditto.
1395        * WebProcess/WebPage/DrawingArea.messages.in: Ditto.
1396        * WebProcess/WebPage/EventDispatcher.cpp: Ditto.
1397        (WebKit::EventDispatcher::wheelEvent):
1398        * WebProcess/WebPage/LayerTreeHost.h: Ditto.
1399        * WebProcess/WebPage/PageBanner.cpp: Added !PLATFORM(IOS)
1400        * WebProcess/WebPage/PageBanner.h: Ditto.
1401        * WebProcess/WebPage/WebFrame.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1402        * WebProcess/WebPage/WebFrame.h: Ditto.
1403        * WebProcess/WebPage/WebInspector.cpp: Ditto.
1404        (WebKit::WebInspector::WebInspector):
1405        * WebProcess/WebPage/WebInspector.h: Ditto.
1406        * WebProcess/WebPage/WebPage.cpp: Ditto.
1407        (WebKit::WebPage::WebPage):
1408        (WebKit::isContextClick):
1409        (WebKit::WebPage::getSelectionAsWebArchiveData):
1410        (WebKit::WebPage::getWebArchiveOfFrame):
1411        (WebKit::WebPage::updatePreferences):
1412        (WebKit::WebPage::sendSetWindowFrame):
1413        (WebKit::WebPage::beginPrinting):
1414        (WebKit::WebPage::computePagesForPrinting):
1415        * WebProcess/WebPage/WebPage.h: Ditto.
1416        * WebProcess/WebPage/WebPage.messages.in: Ditto.
1417        * WebProcess/WebPage/mac/PageBannerMac.mm: Guarded with !PLATFORM(IOS).
1418        * WebProcess/WebProcess.cpp:
1419        (WebKit::WebProcess::WebProcess): Changed PLATFORM(MAC) to PLATFORM(COCOA).
1420        (WebKit::WebProcess::initializeWebProcess): Ditto.
1421        (WebKit::WebProcess::ensureNetworkProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN).
1422        (WebKit::WebProcess::ensurePrivateBrowsingSession): Changed PLATFORM(MAC) to
1423        PLATFORM(COCOA).
1424        (WebKit::WebProcess::destroyPrivateBrowsingSession): Ditto.
1425        (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Changed PLATFORM(MAC) to
1426        OS(DARWIN).
1427        (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Changed PLATFORM(MAC) to
1428        PLATFORM(COCOA)
1429        * WebProcess/WebProcess.h: Ditto.
1430        * WebProcess/WebProcess.messages.in: Removed PLATFORM(MAC) guard around
1431        SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
1432
14332014-02-15  Alexey Proskuryakov  <ap@apple.com>
1434
1435        [Mac] All WebKit clients should encrypt WebCrypto keys automatically
1436        https://bugs.webkit.org/show_bug.cgi?id=128852
1437
1438        Reviewed by Oliver Hunt.
1439
1440        * UIProcess/WebPageProxy.cpp:
1441        (WebKit::WebPageProxy::wrapCryptoKey):
1442        (WebKit::WebPageProxy::unwrapCryptoKey):
1443        Call the default implementation if key is not provided by a client.
1444
14452014-02-15  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1446
1447        [EFL][WK2] Stop calling mktemp(3).
1448        https://bugs.webkit.org/show_bug.cgi?id=128826
1449
1450        Reviewed by Gyuyoung Kim.
1451
1452        mktemp(3) is an insecure function and should be avoided at all costs.
1453        Replace its usage with mkdtemp(3): instead of just getting a file name
1454        that is supposed to be random and unused, we now create a directory
1455        with a random name and then put whatever files we need there with fixed
1456        names.
1457
1458        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1459        (TEST_F):
1460        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
1461        (TEST_F):
1462
14632014-02-15  Dan Bernstein  <mitz@apple.com>
1464
1465        Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS”
1466        https://bugs.webkit.org/show_bug.cgi?id=128868
1467
1468        Reviewed by Anders Carlsoon.
1469
1470        * UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1471        * UIProcess/Databases/DatabaseProcessProxy.cpp:
1472        (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed
1473        PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC.
1474        * UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
1475        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
1476        * UIProcess/DrawingAreaProxy.h: Ditto.
1477        * UIProcess/DrawingAreaProxy.messages.in: Ditto.
1478        * UIProcess/Launcher/ProcessLauncher.cpp:
1479        (WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN)
1480        around use of Mach API.
1481        * UIProcess/Launcher/ProcessLauncher.h: Ditto.
1482        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to
1483        PLATFORM(COCOA)
1484        * UIProcess/Network/NetworkProcessProxy.cpp:
1485        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
1486        to OS(DARWIN).
1487        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto.
1488        (WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA)
1489        around process suppression call.
1490        * UIProcess/Network/NetworkProcessProxy.h: Ditto.
1491        * UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1492        * UIProcess/Plugins/PluginInfoStore.cpp: Ditto.
1493        * UIProcess/Plugins/PluginProcessManager.h: Ditto.
1494        * UIProcess/Plugins/PluginProcessProxy.cpp:
1495        (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
1496        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
1497        to OS(DARWIN).
1498        (WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA).
1499        (WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around
1500        use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS.
1501        (WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to
1502        OS(DARWIN).
1503        * UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1504        * UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto.
1505        * UIProcess/TextChecker.h: Ditto.
1506        * UIProcess/WebContext.cpp: Ditto.
1507        (WebKit::WebContext::ensureNetworkProcess):
1508        (WebKit::WebContext::createNewWebProcess):
1509        (WebKit::WebContext::setHTTPPipeliningEnabled):
1510        (WebKit::WebContext::httpPipeliningEnabled):
1511        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
1512        * UIProcess/WebContext.h: Ditto.
1513        * UIProcess/WebContext.messages.in: Ditto.
1514        * UIProcess/WebContextUserMessageCoders.h: Ditto.
1515        (WebKit::WebContextUserMessageEncoder::encode):
1516        (WebKit::WebContextUserMessageDecoder::decode):
1517        * UIProcess/WebCookieManagerProxy.cpp: Ditto.
1518        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
1519        * UIProcess/WebCookieManagerProxy.h: Ditto.
1520        * UIProcess/WebFormSubmissionListenerProxy.h: Ditto.
1521        * UIProcess/WebFramePolicyListenerProxy.h: Ditto.
1522        * UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing
1523        the inspector window and its view.
1524        * UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1525        (WebKit::WebPageProxy::WebPageProxy):
1526        (WebKit::WebPageProxy::initializeWebPage):
1527        (WebKit::WebPageProxy::recordNavigationSnapshot):
1528        (WebKit::WebPageProxy::canShowMIMEType):
1529        (WebKit::canCoalesce):
1530        (WebKit::coalesce):
1531        (WebKit::WebPageProxy::findPlugin):
1532        (WebKit::WebPageProxy::editorStateChanged):
1533        (WebKit::WebPageProxy::contextMenuItemSelected):
1534        (WebKit::WebPageProxy::didReceiveEvent):
1535        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1536        * UIProcess/WebPageProxy.h: Ditto.
1537        * UIProcess/WebPageProxy.messages.in: Ditto.
1538        * UIProcess/WebProcessProxy.cpp: Ditto.
1539        (WebKit::WebProcessProxy::WebProcessProxy):
1540        (WebKit::WebProcessProxy::createWebPage):
1541        (WebKit::WebProcessProxy::addExistingWebPage):
1542        (WebKit::WebProcessProxy::removeWebPage):
1543        (WebKit::WebProcessProxy::didFinishLaunching):
1544        (WebKit::WebProcessProxy::pageSuppressibilityChanged):
1545        (WebKit::WebProcessProxy::pagePreferencesChanged):
1546        * UIProcess/WebProcessProxy.h: Ditto.
1547        * UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any
1548        configuration.
1549        * UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be
1550        implemented for iOS.
1551        * WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp.
1552
15532014-02-15  Jeremy Jones  <jeremyj@apple.com>
1554
1555        messages.py doesn't handle parameters with more than one level of scope.
1556        https://bugs.webkit.org/show_bug.cgi?id=128573
1557
1558        Reviewed by Simon Fraser.
1559
1560        Support .messages.in header include generation for parameter types with more than 1 level of scope.
1561
1562        Add a test case and update expected results.
1563
1564        * Scripts/webkit2/LegacyMessageReceiver-expected.cpp:
1565        (WebKit::WebPage::didReceiveWebPageMessage):
1566        * Scripts/webkit2/LegacyMessages-expected.h:
1567        (Messages::WebPage::SetVideoLayerID::receiverName):
1568        (Messages::WebPage::SetVideoLayerID::name):
1569        (Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
1570        (Messages::WebPage::SetVideoLayerID::arguments):
1571        * Scripts/webkit2/MessageReceiver-expected.cpp:
1572        (WebKit::WebPage::didReceiveMessage):
1573        * Scripts/webkit2/Messages-expected.h:
1574        (Messages::WebPage::SetVideoLayerID::receiverName):
1575        (Messages::WebPage::SetVideoLayerID::name):
1576        (Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
1577        (Messages::WebPage::SetVideoLayerID::arguments):
1578        * Scripts/webkit2/messages.py:
1579        (headers_for_type):
1580        * Scripts/webkit2/messages_unittest.py:
1581        * Scripts/webkit2/test-legacy-messages.in:
1582        * Scripts/webkit2/test-messages.in:
1583
15842014-02-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1585
1586        [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
1587        https://bugs.webkit.org/show_bug.cgi?id=128808
1588
1589        Reviewed by Sergio Villar Senin.
1590
1591        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1592        (webkit_web_page_class_init): Use g_cclosure_marshal_VOID__VOID
1593        instead of g_cclosure_marshal_VOID__OBJECT.
1594
15952014-02-14  Anders Carlsson  <andersca@apple.com>
1596
1597        Add SPI for monitoring web process crashes
1598        https://bugs.webkit.org/show_bug.cgi?id=128851
1599
1600        Reviewed by Beth Dakin.
1601
1602        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
1603        * UIProcess/Cocoa/NavigationState.h:
1604        * UIProcess/Cocoa/NavigationState.mm:
1605        (WebKit::NavigationState::setNavigationDelegate):
1606        (WebKit::NavigationState::LoaderClient::processDidCrash):
1607
16082014-02-14  Anders Carlsson  <andersca@apple.com>
1609
1610        Add SPI for authentication 
1611        https://bugs.webkit.org/show_bug.cgi?id=128847
1612
1613        Reviewed by Dan Bernstein.
1614
1615        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
1616        * UIProcess/Cocoa/NavigationState.h:
1617        * UIProcess/Cocoa/NavigationState.mm:
1618        (WebKit::NavigationState::setNavigationDelegate):
1619        (WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
1620        (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):
1621
16222014-02-14  Anders Carlsson  <andersca@apple.com>
1623
1624        Add WKBackForwardListDidChangeNotification 
1625        https://bugs.webkit.org/show_bug.cgi?id=128839
1626
1627        Reviewed by Dan Bernstein.
1628
1629        Also, make LoaderClient::didChangeBackForwardList take a Vector of WebBackForwardListItems
1630        instead of a pointer to a Vector of API::Objects.
1631
1632        * Shared/API/Cocoa/WKFoundation.h:
1633        * UIProcess/API/APILoaderClient.h:
1634        (API::LoaderClient::didChangeBackForwardList):
1635        * UIProcess/API/C/WKPage.cpp:
1636        (WKPageSetPageLoaderClient):
1637        * UIProcess/API/Cocoa/WKBackForwardList.h:
1638        * UIProcess/API/Cocoa/WKBackForwardList.mm:
1639        * UIProcess/Cocoa/NavigationState.h:
1640        * UIProcess/Cocoa/NavigationState.mm:
1641        (WebKit::NavigationState::LoaderClient::didChangeBackForwardList):
1642        * UIProcess/WebBackForwardList.cpp:
1643        (WebKit::WebBackForwardList::addItem):
1644        (WebKit::WebBackForwardList::goToItem):
1645        (WebKit::WebBackForwardList::clear):
1646        * UIProcess/WebPageProxy.cpp:
1647        (WebKit::WebPageProxy::didChangeBackForwardList):
1648        * UIProcess/WebPageProxy.h:
1649
16502014-02-12  Jer Noble  <jer.noble@apple.com>
1651
1652        [iOS][WK2] Always enable AVKit in WK2
1653        https://bugs.webkit.org/show_bug.cgi?id=128686
1654
1655        Reviewed by Simon Fraser.
1656
1657        Enable AVKit in iOS WK2 by default. This enables <video> element full screen in WK2.
1658
1659        * WebProcess/WebPage/WebPage.cpp:
1660        (WebKit::WebPage::updatePreferences):
1661
16622014-02-14  Benjamin Poulain  <bpoulain@apple.com>
1663
1664        [WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events
1665        https://bugs.webkit.org/show_bug.cgi?id=128715
1666
1667        Reviewed by Darin Adler.
1668
1669        * WebProcess/WebPage/ios/WebPageIOS.mm:
1670        (WebKit::WebPage::handleTap):
1671
16722014-02-14  Benjamin Poulain  <bpoulain@apple.com>
1673
1674        <rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keyboard is on the screen
1675        https://bugs.webkit.org/show_bug.cgi?id=128710
1676
1677        Reviewed by Enrica Casucci.
1678
1679        WKView/WKWebView needs to adapt the UIScrollView insets to leave some space for the keyboard.
1680
1681        * UIProcess/API/Cocoa/WKWebView.mm:
1682        (-[WKWebView initWithFrame:configuration:]):
1683        (-[WKWebView dealloc]):
1684        (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
1685        (-[WKWebView _keyboardWillChangeFrame:]):
1686        (-[WKWebView _keyboardDidChangeFrame:]):
1687        (-[WKWebView _keyboardWillShow:]):
1688        (-[WKWebView _keyboardWillHide:]):
1689        * UIProcess/API/ios/WKContentView.h:
1690        * UIProcess/API/ios/WKContentView.mm:
1691        (-[WKContentView isAssistingNode]):
1692        * UIProcess/API/ios/WKInteractionView.h:
1693        * UIProcess/API/ios/WKViewIOS.mm:
1694        (-[WKView dealloc]):
1695        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
1696        (-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
1697        (-[WKView _keyboardWillChangeFrame:]):
1698        (-[WKView _keyboardDidChangeFrame:]):
1699        (-[WKView _keyboardWillShow:]):
1700        (-[WKView _keyboardWillHide:]):
1701
17022014-02-14  Dan Bernstein  <mitz@apple.com>
1703
1704        Stop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but not iOS”
1705        https://bugs.webkit.org/show_bug.cgi?id=128802
1706
1707        Reviewed by Darin Adler.
1708
1709        * PluginProcess/PluginControllerProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1710        (WebKit::PluginControllerProxy::PluginControllerProxy):
1711        (WebKit::PluginControllerProxy::paint):
1712        * PluginProcess/PluginControllerProxy.h: Ditto.
1713        * PluginProcess/PluginControllerProxy.messages.in: Ditto.
1714        * PluginProcess/PluginProcess.cpp:
1715        (WebKit::PluginProcess::PluginProcess): Ditto.
1716        (WebKit::PluginProcess::netscapePluginModule): Added && !PLATFORM(IOS) around Mac-specific
1717        quirk.
1718        (WebKit::PluginProcess::createWebProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN)
1719        around use of Mach-based IPC.
1720        * PluginProcess/PluginProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA), and to
1721        USE(APPKIT) around override of stopRunLoop, which is implemented using AppKit.
1722        * PluginProcess/PluginProcess.messages.in: Removed PLATFORM(MAC) guard around
1723        SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
1724        * PluginProcess/WebProcessConnection.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1725        (WebKit::WebProcessConnection::createPluginInternal):
1726        (WebKit::WebProcessConnection::createPlugin):
1727
17282014-02-14  Anders Carlsson  <andersca@apple.com>
1729
1730        Add -[WKWebView estimatedProgress]
1731        https://bugs.webkit.org/show_bug.cgi?id=128830
1732
1733        Reviewed by Dan Bernstein.
1734
1735        * UIProcess/API/Cocoa/WKWebView.h:
1736        * UIProcess/API/Cocoa/WKWebView.mm:
1737        (-[WKWebView estimatedProgress]):
1738        * UIProcess/Cocoa/NavigationState.mm:
1739        (WebKit::NavigationState::willChangeEstimatedProgress):
1740        (WebKit::NavigationState::didChangeEstimatedProgress):
1741
17422014-02-13  Simon Fraser  <simon.fraser@apple.com>
1743
1744        Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
1745        https://bugs.webkit.org/show_bug.cgi?id=128790
1746
1747        Reviewed by Beth Dakin.
1748
1749        Have scrolling tree nodes and state nodes track another layer, the
1750        "scrolled contents layer", for accelerated overflow:scroll.
1751        
1752        When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
1753        layer will point to the composited element's primary layer, and its
1754        scrolledContentsLayer to the layer that gets moved around by scrolling.
1755        
1756        Do some other cleanup on AsyncScrollingCoordinator, removing
1757        functions that just called through to nodes.
1758
1759        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1760        (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
1761
17622014-02-14  Anders Carlsson  <andersca@apple.com>
1763
1764        Add -[WKWebView _handle]
1765        https://bugs.webkit.org/show_bug.cgi?id=128828
1766
1767        Reviewed by Dan Bernstein.
1768
1769        * UIProcess/API/Cocoa/WKWebView.mm:
1770        (-[WKWebView _handle]):
1771        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1772
17732014-02-13  Dan Bernstein  <mitz@apple.com>
1774
1775        [Cocoa] Expose the bundle form client
1776        https://bugs.webkit.org/show_bug.cgi?id=128792
1777
1778        Reviewed by Anders Carlsson.
1779
1780        * WebKit2.xcodeproj/project.pbxproj: Added new file.
1781        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added.
1782        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
1783        (didFocusTextField): Implemented this WKBundlePageFormClient callback by calling the form
1784        delegate.
1785        (setUpFormClient): Added. Initializes the form client with the above function.
1786        (-[WKWebProcessPlugInBrowserContextController _formDelegate]): Added this getter.
1787        (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added. Initializes or
1788        clears the form client.
1789        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
1790        Declared _formDelegate property.
1791
17922014-02-13  Dan Bernstein  <mitz@apple.com>
1793
1794        [Cocoa] Add a way to get the page from a frame in the injected bundle
1795        https://bugs.webkit.org/show_bug.cgi?id=128791
1796
1797        Reviewed by Anders Carlsson.
1798
1799        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
1800        (-[WKWebProcessPlugInFrame _browserContextController]): Added.
1801        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared
1802        _browserContextController property.
1803
18042014-02-13  Anders Carlsson  <andersca@apple.com>
1805
1806        Add -[WKWebView stopLoading:]
1807        https://bugs.webkit.org/show_bug.cgi?id=128784
1808
1809        Reviewed by Dan Bernstein.
1810
1811        * UIProcess/API/Cocoa/WKWebView.h:
1812        * UIProcess/API/Cocoa/WKWebView.mm:
1813        (-[WKWebView stopLoading:]):
1814
18152014-02-13  Anders Carlsson  <andersca@apple.com>
1816
1817        Add -[WKWebView activeURL]
1818        https://bugs.webkit.org/show_bug.cgi?id=128777
1819
1820        Reviewed by Dan Bernstein.
1821
1822        * UIProcess/API/Cocoa/WKWebView.h:
1823        * UIProcess/API/Cocoa/WKWebView.mm:
1824        (-[WKWebView activeURL]):
1825        * UIProcess/Cocoa/NavigationState.mm:
1826        (WebKit::NavigationState::willChangeActiveURL):
1827        (WebKit::NavigationState::didChangeActiveURL):
1828
18292014-02-13  Anders Carlsson  <andersca@apple.com>
1830
1831        Add -[WKWebView goToBackForwardListItem:]
1832        https://bugs.webkit.org/show_bug.cgi?id=128773
1833
1834        Reviewed by Andreas Kling.
1835
1836        * UIProcess/API/Cocoa/WKWebView.h:
1837        * UIProcess/API/Cocoa/WKWebView.mm:
1838        (-[WKWebView goToBackForwardListItem:]):
1839
18402014-02-13  Anders Carlsson  <andersca@apple.com>
1841
1842        Make WKWebViewConfigurationPrivate.h private
1843        https://bugs.webkit.org/show_bug.cgi?id=128761
1844
1845        Reviewed by Tim Horton.
1846
1847        * WebKit2.xcodeproj/project.pbxproj:
1848
18492014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>
1850
1851        During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
1852        https://bugs.webkit.org/show_bug.cgi?id=128688
1853
1854        Reviewed by Ryosuke Niwa.
1855
1856        Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy
1857
1858        * Shared/WebPreferencesStore.h:
1859        * UIProcess/API/C/WKPreferences.cpp:
1860        (WKPreferencesSetShouldConvertPositionStyleOnCopy):
1861        (WKPreferencesGetShouldConvertPositionStyleOnCopy):
1862        * UIProcess/API/C/WKPreferencesPrivate.h:
1863        * WebProcess/WebPage/WebPage.cpp:
1864        (WebKit::WebPage::updatePreferences):
1865
18662014-02-12  Timothy Hatcher  <timothy@apple.com>
1867
1868        Enable inspection of recently used IndexedDB databases.
1869
1870        https://bugs.webkit.org/show_bug.cgi?id=128687
1871
1872        Reviewed by Brady Eidson & Joseph Pecoraro.
1873
1874        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
1875        (WebKit::sharedRecentDatabaseNameMap):
1876        (WebKit::combinedSecurityOriginIdentifier):
1877        (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
1878        (WebKit::WebIDBFactoryBackend::getDatabaseNames):
1879        (WebKit::WebIDBFactoryBackend::open):
1880        (WebKit::WebIDBFactoryBackend::deleteDatabase):
1881        Keep track of recently used database names per security-origin pair.
1882        Implement getDatabaseNames to return the recently used names.
1883
1884        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
1885        Fix up the arguments passed to getDatabaseNames.
1886
18872014-02-13  Anders Carlsson  <andersca@apple.com>
1888
1889        Fix build.
1890
1891        * UIProcess/API/Cocoa/WKWebView.mm:
1892        (layoutMilestones):
1893
18942014-02-13  Anders Carlsson  <andersca@apple.com>
1895
1896        Add rendering progress events SPI
1897        https://bugs.webkit.org/show_bug.cgi?id=128752
1898
1899        Reviewed by Dan Bernstein.
1900
1901        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
1902        * UIProcess/API/Cocoa/WKWebView.mm:
1903        (-[WKWebView _observedRenderingProgressEvents]):
1904        (layoutMilestones):
1905        (-[WKWebView _setObservedRenderingProgressEvents:]):
1906        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1907        (NS_OPTIONS):
1908        * UIProcess/Cocoa/NavigationState.h:
1909        * UIProcess/Cocoa/NavigationState.mm:
1910        (WebKit::NavigationState::setNavigationDelegate):
1911        (WebKit::renderingProgressEvents):
1912        (WebKit::NavigationState::LoaderClient::didLayout):
1913        * WebKit2.xcodeproj/project.pbxproj:
1914
19152014-02-13  Anders Carlsson  <andersca@apple.com>
1916
1917        Disable XPC for plug-ins that need executable heap
1918        https://bugs.webkit.org/show_bug.cgi?id=128744
1919        <rdar://problem/15962958>
1920
1921        Reviewed by Dan Bernstein.
1922
1923        When switching to XPC for plug-ins, we accidentally broke the "feature"
1924        where plug-ins can ask for the heap to be executable. 
1925        
1926        This breaks Silverlight, so just disable XPC for any plug-ins that need this.
1927        <rdar://problem/16059483> tracks fixing this in the XPC service.
1928
1929        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1930        (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
1931        Only return true for 32-bit plug-ins, since we don't know any 64-bit plug-ins
1932        that require this feature.
1933
1934        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
1935        Set launchOptions.useXPC to false if launchOptions.executableHeap is true.
1936
19372014-02-12  Antti Koivisto  <antti@apple.com>
1938
1939        Return immediately from DestroyPlugin IPC call
1940        https://bugs.webkit.org/show_bug.cgi?id=128712
1941
1942        Reviewed by Anders Carlsson.
1943        
1944        In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce
1945        the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous
1946        IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually
1947        starting.
1948
1949        * PluginProcess/WebProcessConnection.cpp:
1950        (WebKit::WebProcessConnection::destroyPlugin):
1951        * PluginProcess/WebProcessConnection.h:
1952        * PluginProcess/WebProcessConnection.messages.in:
1953
19542014-02-12  Anders Carlsson  <andersca@apple.com>
1955
1956        Pass the related page in the WebPageConfiguration struct
1957        https://bugs.webkit.org/show_bug.cgi?id=128714
1958
1959        Reviewed by Darin Adler.
1960
1961        * UIProcess/API/Cocoa/WKWebView.mm:
1962        (-[WKWebView initWithFrame:configuration:]):
1963        * UIProcess/API/ios/WKContentView.h:
1964        * UIProcess/API/ios/WKContentView.mm:
1965        (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):
1966
19672014-02-12  Anders Carlsson  <andersca@apple.com>
1968
1969        Add relatedWebView property to WKWebViewConfiguration
1970        https://bugs.webkit.org/show_bug.cgi?id=128707
1971
1972        Reviewed by Dan Bernstein.
1973
1974        * UIProcess/API/Cocoa/WKWebView.mm:
1975        (-[WKWebView initWithFrame:configuration:]):
1976        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1977        (-[WKWebViewConfiguration copyWithZone:]):
1978        (-[WKWebViewConfiguration relatedWebView]):
1979        (-[WKWebViewConfiguration setRelatedWebView:]):
1980        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm.
1981        * WebKit2.xcodeproj/project.pbxproj:
1982
19832014-02-12  Alexey Proskuryakov  <ap@apple.com>
1984
1985        [WK2] Add a C API to get WebCrypto master key from a client
1986        https://bugs.webkit.org/show_bug.cgi?id=128702
1987
1988        Reviewed by Anders Carlsson.
1989
1990        Added a new version of WKContextClient, with a function that returns the key.
1991
1992        * UIProcess/API/C/WKContext.h:
1993        * UIProcess/WebContextClient.cpp:
1994        (WebKit::WebContextClient::copyWebCryptoMasterKey):
1995        * UIProcess/WebContextClient.h:
1996        * UIProcess/WebPageProxy.cpp:
1997        (WebKit::WebPageProxy::wrapCryptoKey):
1998        (WebKit::WebPageProxy::unwrapCryptoKey):
1999        * UIProcess/mac/WebPageProxyMac.mm:
2000
20012014-02-12  Anders Carlsson  <andersca@apple.com>
2002
2003        Add destinationFrame property to WKNavigationAction
2004        https://bugs.webkit.org/show_bug.cgi?id=128700
2005
2006        Reviewed by Tim Horton.
2007
2008        * UIProcess/API/Cocoa/WKNavigationAction.h:
2009        * UIProcess/API/Cocoa/WKNavigationAction.mm:
2010        (-[WKNavigationAction destinationFrame]):
2011        (-[WKNavigationAction setDestinationFrame:]):
2012        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
2013        * UIProcess/Cocoa/NavigationState.mm:
2014        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
2015
20162014-02-12  Anders Carlsson  <andersca@apple.com>
2017
2018        Forward declare WKNavigation in WKNavigationDelegate.h
2019        https://bugs.webkit.org/show_bug.cgi?id=128699
2020
2021        Reviewed by Tim Horton.
2022
2023        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
2024
20252014-02-12  Anders Carlsson  <andersca@apple.com>
2026
2027        Expose scrollView on the WKWebView
2028        https://bugs.webkit.org/show_bug.cgi?id=128697
2029
2030        Reviewed by Dan Bernstein.
2031
2032        * UIProcess/API/Cocoa/WKWebView.h:
2033
20342014-02-12  Anders Carlsson  <andersca@apple.com>
2035
2036        Better iOS build fix.
2037
2038        * UIProcess/WebPageProxy.cpp:
2039        (WebKit::WebPageProxy::wrapCryptoKey):
2040        (WebKit::WebPageProxy::unwrapCryptoKey):
2041        Make these functions cross platform.
2042
2043        * UIProcess/mac/WebPageProxyMac.mm:
2044
20452014-02-12  Andy Estes  <aestes@apple.com>
2046
2047        Fix the iOS build after r163976
2048
2049        Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
2050        both Mac and iOS.
2051
2052        * UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.
2053        (WebKit::WebPageProxy::wrapCryptoKey):
2054        (WebKit::WebPageProxy::unwrapCryptoKey):
2055        * UIProcess/mac/WebPageProxyMac.mm:
2056        * WebKit2.xcodeproj/project.pbxproj:
2057
20582014-02-12  Anders Carlsson  <andersca@apple.com>
2059
2060        Fix build.
2061
2062        * UIProcess/API/Cocoa/WKProcessClass.h:
2063
20642014-02-12  Benjamin Poulain  <bpoulain@apple.com>
2065
2066        [WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
2067        https://bugs.webkit.org/show_bug.cgi?id=128639
2068
2069        Reviewed by Andreas Kling.
2070
2071        * WebProcess/WebCoreSupport/WebChromeClient.h:
2072        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
2073        (WebKit::WebChromeClient::didReceiveMobileDocType):
2074        * WebProcess/WebPage/WebPage.h:
2075        * WebProcess/WebPage/ios/WebPageIOS.mm:
2076        (WebKit::WebPage::didReceiveMobileDocType):
2077
20782014-02-12  Anders Carlsson  <andersca@apple.com>
2079
2080        WKProcessClass.h and WKNavigationResponse.h should be public headers
2081        https://bugs.webkit.org/show_bug.cgi?id=128683
2082
2083        Reviewed by Dan Bernstein.
2084
2085        * WebKit2.xcodeproj/project.pbxproj:
2086
20872014-02-12  Alexey Proskuryakov  <ap@apple.com>
2088
2089        Wrap WebCrypto keys in SerializedScriptValue
2090        https://bugs.webkit.org/show_bug.cgi?id=128680
2091
2092        Reviewed by Anders Carlsson.
2093
2094        Retrieve a master key (placeholder code for now), and use it to wrap key data.
2095
2096        * UIProcess/WebPageProxy.cpp:
2097        (WebKit::WebPageProxy::wrapCryptoKey):
2098        (WebKit::WebPageProxy::unwrapCryptoKey):
2099        * UIProcess/mac/WebPageProxyMac.mm:
2100        (WebKit::WebPageProxy::wrapCryptoKey):
2101        (WebKit::WebPageProxy::unwrapCryptoKey):
2102
21032014-02-12  Zan Dobersek  <zdobersek@igalia.com>
2104
2105        [CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
2106        https://bugs.webkit.org/show_bug.cgi?id=128473
2107
2108        Reviewed by Anders Carlsson.
2109
2110        Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
2111        lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
2112        throughout the lifetime of the function wrapper.
2113
2114        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
2115        (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
2116        (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
2117        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
2118        (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
2119        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
2120
21212014-02-12  Dan Bernstein  <mitz@apple.com>
2122
2123        Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
2124        https://bugs.webkit.org/show_bug.cgi?id=128659
2125
2126        Reviewed by Anders Carlsson.
2127
2128        * DatabaseProcess/DatabaseProcess.cpp:
2129        (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
2130        OS(DARWIN) around use of Mach-based IPC.
2131        Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.
2132        * NetworkProcess/NetworkProcess.cpp: Ditto.
2133        (WebKit::NetworkProcess::NetworkProcess):
2134        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
2135        * NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2136        * NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around
2137        SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
2138        * NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
2139        (WebKit::NetworkResourceLoader::continueWillSendRequest):
2140        * NetworkProcess/NetworkResourceLoader.h: Ditto.
2141        * NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.
2142
21432014-02-11  Brent Fulgham  <bfulgham@apple.com>
2144
2145        Remove some unintended copies in ranged for loops
2146        https://bugs.webkit.org/show_bug.cgi?id=128644
2147
2148        Reviewed by Anders Carlsson.
2149
2150        * Shared/WebCrossThreadCopier.cpp:
2151        (WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
2152        vectors, 
2153        * Shared/mac/RemoteLayerBackingStore.mm:
2154        (RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
2155        on each iteration.
2156        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
2157        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
2158        a LayerProperty object each iteration.
2159        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
2160        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
2161        copying a pair<int64_t, pointer> each iteration.
2162        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
2163        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto
2164        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
2165        (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto
2166        * UIProcess/WebContext.cpp:
2167        (WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
2168        RefPtr each loop iteration.
2169        * UIProcess/WebPageProxy.cpp:
2170        (WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
2171        object each cycle.
2172        * UIProcess/mac/RemoteLayerTreeHost.mm:
2173        (WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.
2174        * UIProcess/mac/WindowServerConnection.mm:
2175        (WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
2176        of occlusionNotificationHandlers each iteration.
2177        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2178        (WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
2179        iteration.
2180        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2181        (PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
2182        RefPtr each loop iteration.
2183
21842014-02-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2185
2186        Update the HTML Media Capture implementation.
2187        https://bugs.webkit.org/show_bug.cgi?id=118465
2188
2189        Reviewed by Darin Adler.
2190
2191        Make the implementation in WebKit compatible with the 2013-05-09
2192        version of the spec, which makes the "capture" attribute a boolean
2193        instead of an enum.
2194
2195        * Shared/WebOpenPanelParameters.cpp:
2196        (WebKit::WebOpenPanelParameters::capture): Return a bool.
2197        * Shared/WebOpenPanelParameters.h: Ditto.
2198        * UIProcess/API/C/WKOpenPanelParameters.cpp:
2199        (WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
2200        incompatible with the current version of the spec.
2201        (WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.
2202        * UIProcess/API/C/WKOpenPanelParameters.h:
2203
22042014-02-12  Alberto Garcia  <berto@igalia.com>
2205
2206        [GTK] Fails to build if configure is run with its absolute path
2207        https://bugs.webkit.org/show_bug.cgi?id=126693
2208
2209        Reviewed by Gustavo Noronha Silva.
2210
2211        When creating links to the WebKit2 headers in the source tree
2212        don't expect $(WebKit2) to be a relative path.
2213
2214        * GNUmakefile.am:
2215
22162014-02-11  Filip Pizlo  <fpizlo@apple.com>
2217
2218        JIT should be enabled (regression from addition of JIT enabled setting)
2219        https://bugs.webkit.org/show_bug.cgi?id=128653
2220
2221        Reviewed by Tim Horton.
2222
2223        * UIProcess/mac/WebContextMac.mm:
2224        (WebKit::registerUserDefaultsIfNeeded):
2225
22262014-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2227
2228        Remove one of includes added in r163943 and r163939.
2229
2230        * WebProcess/WebPage/WebPage.h:
2231
22322014-02-11  Dan Bernstein  <mitz@apple.com>
2233
2234        <rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator
2235        https://bugs.webkit.org/show_bug.cgi?id=128650
2236
2237        Reviewed by Mark Rowe.
2238
2239        * Configurations/All-iOS.xcconfig: Removed this unused file.
2240        * Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that
2241        its Copy Files build phase, intended only for engineering builds, doesn’t copy into the
2242        (wrong) install location.
2243
22442014-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2245
2246        EFL build fix after r163919.
2247
2248        * WebProcess/WebPage/WebPage.h:
2249
22502014-02-11  Jaehun Lim  <ljaehun.lim@samsung.com>
2251
2252        Unreviewed build fix after r163919
2253
2254        WKGestureTypes.h needs PLATFORM(IOS) guard.
2255
2256        * WebProcess/WebPage/WebPage.h:
2257
22582014-02-11  Zalan Bujtas  <zalan@apple.com>
2259
2260        Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
2261        https://bugs.webkit.org/show_bug.cgi?id=128460
2262
2263        Reviewed by Simon Fraser.
2264
2265        GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
2266        subpixel position.
2267
2268        No change in functionality.
2269
2270        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2271        (WebKit::LayerTreeHostGtk::paintContents):
2272        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2273        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2274        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2275        (WebKit::RemoteLayerTreeDrawingArea::paintContents):
2276        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2277        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2278        (WebKit::TiledCoreAnimationDrawingArea::paintContents):
2279
22802014-02-11  Sam Weinig  <sam@webkit.org>
2281
2282        [WebKit2, JSC] Add user default to disable the JIT
2283        https://bugs.webkit.org/show_bug.cgi?id=128643
2284
2285        Reviewed by Filip Pizlo.
2286
2287        * Shared/WebProcessCreationParameters.cpp:
2288        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2289        (WebKit::WebProcessCreationParameters::encode):
2290        (WebKit::WebProcessCreationParameters::decode):
2291        * Shared/WebProcessCreationParameters.h:
2292        * UIProcess/mac/WebContextMac.mm:
2293        (WebKit::registerUserDefaultsIfNeeded):
2294        (WebKit::WebContext::platformInitializeWebProcess):
2295        * WebProcess/mac/WebProcessMac.mm:
2296        (WebKit::WebProcess::platformInitializeWebProcess):
2297
22982014-02-11  Ryosuke Niwa  <rniwa@webkit.org>
2299
2300        Frame::rectForSelection shouldn't instantiate FrameSelection
2301        https://bugs.webkit.org/show_bug.cgi?id=128587
2302
2303        Reviewed by Enrica Casucci.
2304
2305        * WebProcess/WebCoreSupport/WebEditorClient.h:
2306        * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
2307
23082014-02-11  Enrica Casucci  <enrica@apple.com>
2309
2310        Support WebSelections in WK2 on iOS.
2311        https://bugs.webkit.org/show_bug.cgi?id=127015
2312        <rdar://problem/15211964>
2313
2314        Reviewed by Benjamin Poulain.
2315
2316        First step towards implementing block selections on iOS.
2317        The main logic is in rangeForWebSelectionAtPosition that
2318        decides whether we create a text or a block selection.
2319
2320        * Shared/ios/WKGestureTypes.h:
2321        * UIProcess/API/ios/WKInteractionView.mm:
2322        (toUIWKSelectionFlags):
2323        (selectionChangedWithGesture):
2324        * WebProcess/WebPage/WebPage.h:
2325        * WebProcess/WebPage/ios/WebPageIOS.mm:
2326        (WebKit::WebPage::rangeForWebSelectionAtPosition):
2327        (WebKit::WebPage::selectWithGesture):
2328        (WebKit::WebPage::getPositionInformation):
2329
23302014-02-10  Myles C. Maxfield  <mmaxfield@apple.com>
2331
2332        Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
2333        https://bugs.webkit.org/show_bug.cgi?id=128194
2334
2335        Reviewed by Simon Fraser.
2336
2337        * Shared/WebPreferencesStore.h:
2338        * UIProcess/API/C/WKPreferences.cpp:
2339        (WKPreferencesSetConvertPositionStyleOnCopy):
2340        (WKPreferencesGetConvertPositionStyleOnCopy):
2341        * UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior
2342        * WebProcess/WebPage/WebPage.cpp:
2343        (WebKit::WebPage::updatePreferences):
2344
23452014-02-11  Benjamin Poulain  <bpoulain@apple.com>
2346
2347        [WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
2348        https://bugs.webkit.org/show_bug.cgi?id=128575
2349
2350        Reviewed by Darin Adler.
2351
2352        In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen.
2353        Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS.
2354
2355        This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart.
2356
2357        * UIProcess/API/gtk/PageClientImpl.cpp:
2358        (WebKit::PageClientImpl::screenToRootView):
2359        (WebKit::PageClientImpl::rootViewToScreen):
2360        * UIProcess/API/gtk/PageClientImpl.h:
2361        * UIProcess/API/ios/PageClientImplIOS.h:
2362        * UIProcess/API/ios/PageClientImplIOS.mm:
2363        (WebKit::PageClientImpl::screenToRootView):
2364        (WebKit::PageClientImpl::rootViewToScreen):
2365        * UIProcess/API/mac/PageClientImpl.h:
2366        * UIProcess/API/mac/PageClientImpl.mm:
2367        (WebKit::PageClientImpl::screenToRootView):
2368        (WebKit::PageClientImpl::rootViewToScreen):
2369        * UIProcess/CoordinatedGraphics/WebView.cpp:
2370        (WebKit::WebView::screenToRootView):
2371        (WebKit::WebView::rootViewToScreen):
2372        * UIProcess/CoordinatedGraphics/WebView.h:
2373        * UIProcess/PageClient.h:
2374        * UIProcess/WebPageProxy.cpp:
2375        (WebKit::WebPageProxy::screenToRootView):
2376        (WebKit::WebPageProxy::rootViewToScreen):
2377        * UIProcess/WebPageProxy.h:
2378        * UIProcess/WebPageProxy.messages.in:
2379        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2380        (WebKit::WebChromeClient::screenToRootView):
2381        (WebKit::WebChromeClient::rootViewToScreen):
2382        * WebProcess/WebPage/WebPage.cpp:
2383        (WebKit::WebPage::screenToRootView):
2384        (WebKit::WebPage::rootViewToScreen):
2385        * WebProcess/WebPage/WebPage.h:
2386        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2387        (-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]):
2388        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
2389
23902014-02-11  Andy Estes  <aestes@apple.com>
2391
2392        [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
2393        https://bugs.webkit.org/show_bug.cgi?id=128583
2394
2395        Reviewed by Anders Carlsson.
2396
2397        The delegate method was removed in Snow Leopard.
2398
2399        * NetworkProcess/NetworkResourceLoader.cpp:
2400        * NetworkProcess/NetworkResourceLoader.h:
2401
24022014-02-11  Brady Eidson  <beidson@apple.com>
2403
2404        IndexedDB tests on some bots are flakey (timeouts)
2405        <rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612
2406
2407        Reviewed by Sam Weinig.
2408
2409        When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
2410        *ESPECIALLY* when dealing with multiple threads.
2411
2412        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2413        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 
2414        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
2415
24162014-02-11  Dan Bernstein  <mitz@apple.com>
2417
2418        Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
2419        https://bugs.webkit.org/show_bug.cgi?id=128582
2420
2421        Reviewed by Darin Adler.
2422
2423        * Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.
2424        (WKContextMenuItemGetTag):
2425        * Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions
2426        are not needed on iOS.
2427        * Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2428        (WebKit::toAPI):
2429        (WebKit::toImpl):
2430        * Shared/APIObject.h: Ditto.
2431        * Shared/ChildProcess.cpp: Ditto.
2432        * Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around
2433        setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.
2434        * Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
2435        * Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2436        (WebKit::DictionaryPopupInfo::encode):
2437        (WebKit::DictionaryPopupInfo::decode):
2438        * Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2439        * Shared/Downloads/Download.h: Ditto.
2440        * Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2441        * Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2442        (WebKit::FontInfo::encode):
2443        (WebKit::FontInfo::decode):
2444        * Shared/FontInfo.h: Ditto.
2445        * Shared/LayerTreeContext.h: Ditto.
2446        * Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around
2447        forward-declaration of NSView.
2448        * Shared/NativeWebMouseEvent.h: Ditto.
2449        * Shared/NativeWebWheelEvent.h: Ditto.
2450        * Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
2451        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
2452        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
2453        * Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to
2454        PLATFORM(COCOA).
2455        * Shared/Network/CustomProtocols/mac: Removed.
2456        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
2457        * Shared/PlatformPopupMenuData.cpp:  Changed PLATFORM(MAC) to PLATFORM(COCOA).
2458        (WebKit::PlatformPopupMenuData::encode):
2459        (WebKit::PlatformPopupMenuData::decode):
2460        * Shared/PlatformPopupMenuData.h: Ditto.
2461        * Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
2462        * Shared/Plugins/PluginModuleInfo.h: Ditto.
2463        * Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.
2464        (WebKit::PluginProcessCreationParameters::encode):
2465        (WebKit::PluginProcessCreationParameters::decode):
2466        * Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
2467        * Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of
2468        NSPrintInfo.
2469        * Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2470        * Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
2471        * Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2472        * Shared/WebArchive.h: Ditto.
2473        * Shared/WebArchiveResource.cpp: Ditto.
2474        * Shared/WebArchiveResource.h: Ditto.
2475        * Shared/WebCoreArgumentCoders.cpp: Ditto.
2476        (IPC::ArgumentCoder<ResourceResponse>::encode):
2477        (IPC::ArgumentCoder<ResourceResponse>::decode):
2478        * Shared/WebCoreArgumentCoders.h: Ditto.
2479        * Shared/WebEvent.h: Ditto.
2480        * Shared/WebEventConversion.cpp: Ditto.
2481        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
2482        * Shared/WebKit2Initialize.cpp: Ditto.
2483        (WebKit::InitializeWebKit2):
2484        * Shared/WebPageCreationParameters.cpp: Ditto.
2485        (WebKit::WebPageCreationParameters::encode):
2486        (WebKit::WebPageCreationParameters::decode):
2487        * Shared/WebPageCreationParameters.h: Ditto.
2488        * Shared/WebPreferencesStore.h: Ditto.
2489        * Shared/WebProcessCreationParameters.cpp: Ditto.
2490        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2491        (WebKit::WebProcessCreationParameters::encode):
2492        (WebKit::WebProcessCreationParameters::decode):
2493        * Shared/WebProcessCreationParameters.h: Ditto.
2494        * Shared/WebWheelEvent.cpp: Ditto.
2495        (WebKit::WebWheelEvent::WebWheelEvent):
2496        (WebKit::WebWheelEvent::encode):
2497        (WebKit::WebWheelEvent::decode):
2498        * Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).
2499        (IPC::decode):
2500        * Shared/mac/CommandLineMac.cpp: Removed.
2501        * Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
2502        * Shared/posix: Added.
2503        * Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed
2504        comment.
2505        * WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.
2506
25072014-02-11  Brady Eidson  <beidson@apple.com>
2508
2509        IDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs
2510        <rdar://problem/16034112> and https://bugs.webkit.org/show_bug.cgi?id=128581
2511
2512        Reviewed by Alexey Proskuryakov.
2513
2514        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2515        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Always store keyPath for Index get results.
2516
25172014-02-11  Alberto Garcia  <berto@igalia.com>
2518
2519        O_CLOEXEC in shm_open does not work on FreeBSD
2520        https://bugs.webkit.org/show_bug.cgi?id=128572
2521
2522        Reviewed by Darin Adler.
2523
2524        The O_CLOEXEC is not supported by shm_open() and is also not
2525        necessary since FD_CLOEXEC is already set by default when the new
2526        file descriptor is created.
2527
2528        * Platform/unix/SharedMemoryUnix.cpp:
2529        (WebKit::SharedMemory::create):
2530
25312014-02-10  Commit Queue  <commit-queue@webkit.org>
2532
2533        Unreviewed, rolling out r163856.
2534        http://trac.webkit.org/changeset/163856
2535        https://bugs.webkit.org/show_bug.cgi?id=128585
2536
2537        The build fix depends on r163848, which has been reverted
2538        (Requested by notbenjamin on #webkit).
2539
2540        * UIProcess/ios/TextCheckerIOS.mm:
2541        (WebKit::TextChecker::checkTextOfParagraph):
2542        (WebKit::TextChecker::checkSpellingOfString):
2543        (WebKit::TextChecker::checkGrammarOfString):
2544
25452014-02-10  Alexey Proskuryakov  <ap@apple.com>
2546
2547        Add hooks for wrapping CryptoKeys in SerializedScriptValue
2548        https://bugs.webkit.org/show_bug.cgi?id=128567
2549
2550        Reviewed by Anders Carlsson.
2551
2552        * UIProcess/WebPageProxy.cpp:
2553        (WebKit::WebPageProxy::wrapCryptoKey):
2554        (WebKit::WebPageProxy::unwrapCryptoKey):
2555        * UIProcess/WebPageProxy.h:
2556        * UIProcess/WebPageProxy.messages.in:
2557        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2558        (WebKit::WebChromeClient::wrapCryptoKey):
2559        (WebKit::WebChromeClient::unwrapCryptoKey):
2560        * WebProcess/WebCoreSupport/WebChromeClient.h:
2561        Dummy implementation, to be filled in later.
2562
25632014-02-10  Dan Bernstein  <mitz@apple.com>
2564
2565        Stop using PLATFORM(MAC) in WebKit2/platform except where it means “OS X but not iOS”
2566        https://bugs.webkit.org/show_bug.cgi?id=128513
2567
2568        Reviewed by Dean Jackson.
2569
2570        * Platform/IPC/Connection.cpp:
2571        (IPC::Connection::waitForSyncReply): Changed PLATFORM(MAC) to PLATFORM(COCOA) around use of
2572        RunLoop::runForDuration, matching the guard around that function.
2573        * Platform/Logging.cpp: Deleted unused definition of logLevelString.
2574        * Platform/Module.cpp:
2575        (WebKit::Module::Module): Changed PLATFORM(MAC) to USE(CF).
2576        * Platform/Module.h: Changed PLATFORM(MAC) to USE(CF), since the “Mac” implementation is
2577        just a CFBundle-based implementation.
2578        * Platform/PlatformProcessIdentifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). Arguably
2579        this should be OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
2580        * Platform/cf: Added.
2581        * Platform/cf/ModuleCF.cpp: Renamed from Platform/mac/ModuleMac.mm. This file did not
2582        contain any Objective-C code.
2583        * Platform/foundation: Added.
2584        * Platform/foundation/LoggingFoundation.mm: Renamed from Platform/mac/Logging.mac.mm.
2585        * Platform/mac/Logging.mac.mm: Removed.
2586        * Platform/mac/ModuleMac.mm: Removed.
2587        * WebKit2.xcodeproj/project.pbxproj: Updated for renames.
2588
25892014-02-10  Commit Queue  <commit-queue@webkit.org>
2590
2591        Unreviewed, rolling out r163848.
2592        http://trac.webkit.org/changeset/163848
2593        https://bugs.webkit.org/show_bug.cgi?id=128580
2594
2595        Caused a lot of crashes on tests (Requested by ap on #webkit).
2596
2597        * Shared/APIString.h:
2598        * UIProcess/TextChecker.h:
2599        * UIProcess/WebPageProxy.cpp:
2600        (WebKit::WebPageProxy::checkTextOfParagraph):
2601        (WebKit::WebPageProxy::checkSpellingOfString):
2602        (WebKit::WebPageProxy::checkGrammarOfString):
2603        * UIProcess/mac/TextCheckerMac.mm:
2604        (WebKit::TextChecker::checkTextOfParagraph):
2605        (WebKit::TextChecker::checkSpellingOfString):
2606        (WebKit::TextChecker::checkGrammarOfString):
2607
26082014-02-10  Brady Eidson  <beidson@apple.com>
2609
2610        IDB: storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html fails
2611        <rdar://problem/16033286> and https://bugs.webkit.org/show_bug.cgi?id=128574
2612
2613        Reviewed by Maciej Stachowiak.
2614
2615        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2616        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If there is no value in an object-store get,
2617          don’t return *any* results.
2618
26192014-02-10  Benjamin Poulain  <bpoulain@apple.com>
2620
2621        Fix the iOS build after r163848
2622
2623        * UIProcess/ios/TextCheckerIOS.mm:
2624        (WebKit::TextChecker::checkTextOfParagraph):
2625        (WebKit::TextChecker::checkSpellingOfString):
2626        (WebKit::TextChecker::checkGrammarOfString):
2627
26282014-02-10  Brady Eidson  <beidson@apple.com>
2629
2630        IDB: storage/indexeddb/mozilla/indexes.html fails
2631        <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563
2632
2633        Reviewed by Tim Horton.
2634
2635        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2636        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Pass the cursor type to the backing store.
2637
2638        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2639        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2640        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): If it’s a key-only cursor,
2641          return only the key result.
2642        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2643
2644        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2645        (WebKit::getIndexStatement): Fix index statement selection so ascending, unique cursors sort correctly.
2646
26472014-02-10  Anders Carlsson  <andersca@apple.com>
2648
2649        Remove a couple of deprecatedCharacters() from WebKit2
2650        https://bugs.webkit.org/show_bug.cgi?id=128569
2651
2652        Reviewed by Andreas Kling.
2653
2654        * Shared/APIString.h:
2655        * UIProcess/TextChecker.h:
2656        * UIProcess/WebPageProxy.cpp:
2657        (WebKit::WebPageProxy::checkTextOfParagraph):
2658        (WebKit::WebPageProxy::checkSpellingOfString):
2659        (WebKit::WebPageProxy::checkGrammarOfString):
2660        * UIProcess/mac/TextCheckerMac.mm:
2661        (WebKit::TextChecker::checkTextOfParagraph):
2662        (WebKit::TextChecker::checkSpellingOfString):
2663        (WebKit::TextChecker::checkGrammarOfString):
2664
26652014-02-10  Filip Pizlo  <fpizlo@apple.com>
2666
2667        Rename Operations.h to JSCInlines.h
2668        https://bugs.webkit.org/show_bug.cgi?id=128543
2669
2670        Rubber stamped by Geoffrey Garen.
2671
2672        * Shared/linux/WebMemorySamplerLinux.cpp:
2673        * UIProcess/WebContext.cpp:
2674        * WebProcess/WebPage/WebPage.cpp:
2675        * WebProcess/efl/WebProcessMainEfl.cpp:
2676
26772014-02-10  Benjamin Poulain  <bpoulain@apple.com>
2678
2679        [WK2] Add support for image document viewport configuration
2680        https://bugs.webkit.org/show_bug.cgi?id=128565
2681
2682        Reviewed by Simon Fraser.
2683
2684        * UIProcess/API/ios/PageClientImplIOS.mm:
2685        (WebKit::PageClientImpl::screenToWindow):
2686        (WebKit::PageClientImpl::windowToScreen):
2687        Add the implementation for ImageDocument.
2688
2689        * WebProcess/WebPage/WebPage.cpp:
2690        (WebKit::WebPage::didCommitLoad):
2691        Use the right default settings when dealing with image documents.
2692
26932014-02-10  Simon Fraser  <simon.fraser@apple.com>
2694
2695        Show a debug tile map indicator for UI-side compositing
2696        https://bugs.webkit.org/show_bug.cgi?id=128553
2697
2698        Reviewed by Tim Horton.
2699        
2700        Implement a tiled scrolling indicator for UI-side compositing.
2701        
2702        The indicator is created by making another RemoteLayerTreeHost,
2703        and decoding the transaction in it a second time to create a cloned
2704        layer tree. In that clone commit, we modify some layer properties to
2705        make things easier to see.
2706        
2707        The cloned layer tree is hosted in the root layer of the main
2708        RemoteLayerTreeHost.
2709        
2710        RemoteLayerTreeHost was changed to not need a pointer to the WebPageProxy,
2711        which it only used in the "root layer changed" case; instead, it now just
2712        returns a bool from updateLayerTree() in that situation.
2713
2714        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Explanatory comment.
2715        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
2716        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
2717        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
2718        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
2719        (WebKit::RemoteLayerTreeDrawingAreaProxy::setExposedRect):
2720        (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
2721        (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicatorPosition):
2722        (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
2723        (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
2724        (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
2725        * UIProcess/mac/RemoteLayerTreeHost.h:
2726        (WebKit::RemoteLayerTreeHost::rootLayer):
2727        (WebKit::RemoteLayerTreeHost::setIsDebugLayerTreeHost):
2728        (WebKit::RemoteLayerTreeHost::isDebugLayerTreeHost):
2729        * UIProcess/mac/RemoteLayerTreeHost.mm:
2730        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
2731        (WebKit::RemoteLayerTreeHost::updateLayerTree):
2732        (WebKit::RemoteLayerTreeHost::createLayer):
2733
27342014-02-10  Simon Fraser  <simon.fraser@apple.com>
2735
2736        Put a delegatesScrolling flag on WebPageProxy so that the UI process knows when scrolling is delegated
2737        https://bugs.webkit.org/show_bug.cgi?id=128429
2738
2739        Reviewed by Sam Weinig.
2740        
2741        Add delegatesScrolling() which defaults to false, but is set to true for iOS
2742        by WKContentView.
2743
2744        * UIProcess/API/ios/WKContentView.mm:
2745        (-[WKContentView initWithFrame:configuration:]):
2746        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
2747        * UIProcess/WebPageProxy.cpp:
2748        (WebKit::WebPageProxy::WebPageProxy):
2749        * UIProcess/WebPageProxy.h:
2750        (WebKit::WebPageProxy::setDelegatesScrolling):
2751        (WebKit::WebPageProxy::delegatesScrolling):
2752
27532014-02-10  Gavin Barraclough  <barraclough@apple.com>
2754
2755        Remove WKPageSetVisibilityState
2756        https://bugs.webkit.org/show_bug.cgi?id=128551
2757
2758        Reviewed by Anders Carlsson.
2759
2760        Made prerender state automatic. We should move this further
2761        up into WebCore, but this requires refactoring for the Page
2762        construction order.
2763
2764        * Shared/API/c/WKDeprecatedFunctions.cpp:
2765        (WKPageSetVisibilityState):
2766            - deprecated.
2767        * UIProcess/API/C/WKPage.cpp:
2768            - removed WKPageSetVisibilityState.
2769        * UIProcess/API/C/WKPage.h:
2770            - removed WKPageSetVisibilityState.
2771        * UIProcess/WebPageProxy.cpp:
2772            - removed setVisibilityStatePrerender.
2773        * UIProcess/WebPageProxy.h:
2774            - removed setVisibilityStatePrerender.
2775        * WebProcess/WebPage/WebPage.cpp:
2776        (WebKit::WebPage::WebPage):
2777            - removed setVisibilityStatePrerender.
2778            - When creating a Page, automatically set the prerender state.
2779        * WebProcess/WebPage/WebPage.h:
2780            - removed setVisibilityStatePrerender.
2781        * WebProcess/WebPage/WebPage.messages.in:
2782            - removed SetVisibilityStatePrerender.
2783
27842014-02-10  Brady Eidson  <beidson@apple.com>
2785
2786        IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
2787        <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487
2788
2789        Missed one piece of review feedback before landing.
2790
2791        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2792        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
2793
27942014-02-10  Brady Eidson  <beidson@apple.com>
2795
2796        IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
2797        <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487
2798
2799        Reviewed by Tim Horton.
2800
2801        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2802        (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
2803        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Update logging.
2804        (WebKit::DatabaseProcessIDBConnection::deleteDatabase): If deleteDatabase succeeds,
2805          also disconnect from the UniqueIDBDatabase so it can be cleaned up properly.
2806        (WebKit::DatabaseProcessIDBConnection::close): New message from the WebProcess to handle
2807          clean closures.
2808        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2809        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2810
2811        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2812        (WebKit::UniqueIDBDatabase::shutdown): Move most of the cleanup to didShutdownBackingStore.
2813        (WebKit::UniqueIDBDatabase::didShutdownBackingStore): Execute all remaining mainThreadTasks
2814          (as they represent real results from the backing store thread). 
2815        (WebKit::UniqueIDBDatabase::deleteDatabase): Add an ASSERT.
2816        (WebKit::UniqueIDBDatabase::performNextMainThreadTask): Call through to performNextMainThreadTaskWithoutAdoptRef.
2817        (WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Execute a task,
2818          returning true if there are more tasks left to execute.
2819        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2820
2821        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2822        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): Properly
2823          handle JSC cleanup.
2824
2825        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2826        (WebKit::WebIDBServerConnection::close): Implement this.
2827
28282014-02-10  Benjamin Poulain  <bpoulain@apple.com>
2829
2830        [iOS][WK2] Add empty definition for an API allowing clients to define obscured edges over the scrollview
2831        https://bugs.webkit.org/show_bug.cgi?id=128396
2832
2833        Reviewed by Simon Fraser.
2834
2835        ObscuredInset defines the area of the scrollview unusable for positioning content.
2836        The API is unused in this patch.
2837
2838        * UIProcess/API/Cocoa/WKViewPrivate.h:
2839        * UIProcess/API/Cocoa/WKWebView.mm:
2840        (-[WKWebView _obscuredInset]):
2841        (-[WKWebView _setObscuredInset:]):
2842        (-[WKWebView _commitObscuredInset]):
2843        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2844        * UIProcess/API/ios/WKViewIOS.mm:
2845        (-[WKView _obscuredInset]):
2846        (-[WKView _setObscuredInset:]):
2847        (-[WKView _commitObscuredInset]):
2848
28492014-02-10  Martin Hock  <mhock@apple.com>
2850
2851        Add API for accessing session ephemerality from a page bundle
2852        https://bugs.webkit.org/show_bug.cgi?id=128410
2853
2854        Reviewed by Alexey Proskuryakov.
2855
2856        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2857        (WKBundlePageIsUsingEphemeralSession):
2858        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2859        * WebProcess/WebPage/WebPage.cpp:
2860        (WebKit::WebPage::isUsingEphemeralSession):
2861        * WebProcess/WebPage/WebPage.h:
2862
28632014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2864
2865        [GTK] Create the inspector view using the same web process as the inspected page
2866        https://bugs.webkit.org/show_bug.cgi?id=128539
2867
2868        Reviewed by Martin Robinson.
2869
2870        * UIProcess/API/C/gtk/WKView.cpp:
2871        (WKViewCreate): Pass nullptr as the related page.
2872        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2873        (webkitWebViewBaseCreate): Add related page argument and pass it
2874        to webkitWebViewBaseCreateWebPage() instead of nullptr.
2875        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2876        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2877        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Pass
2878        m_page as related page to webkitWebViewBaseCreate().
2879
28802014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2881
2882        [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
2883        https://bugs.webkit.org/show_bug.cgi?id=127554
2884
2885        Reviewed by Gustavo Noronha Silva.
2886
2887        Use GUniqueOutPtr instead of GOwnPtr.
2888
2889        * NetworkProcess/soup/NetworkProcessSoup.cpp:
2890        (WebKit::getCacheDiskFreeSize):
2891        * Shared/Downloads/soup/DownloadSoup.cpp:
2892        (WebKit::DownloadClient::didReceiveResponse):
2893        (WebKit::DownloadClient::didReceiveData):
2894        (WebKit::DownloadClient::didFinishLoading):
2895        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
2896        (processPendingIconsForPageURL):
2897        (webkit_favicon_database_get_favicon):
2898        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
2899        (webkitURISchemeRequestReadCallback):
2900        * UIProcess/API/gtk/WebKitWebView.cpp:
2901        (gotFaviconCallback):
2902        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
2903        (WebKit::WebInspectorServer::platformResourceForPath):
2904        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2905        (WebKit::ProcessLauncher::launchProcess):
2906        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2907        (WebKit::PluginProcessProxy::scanPlugin):
2908        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2909        * WebProcess/soup/WebProcessSoup.cpp:
2910        (WebKit::getCacheDiskFreeSize):
2911
29122014-02-10  Tim Horton  <timothy_horton@apple.com>
2913
2914        [iOS][wk2] WebKit2 View Gestures (Swipe): Forward swipe gesture 
2915        https://bugs.webkit.org/show_bug.cgi?id=128523
2916        <rdar://problem/16020378>
2917
2918        Reviewed by Darin Adler.
2919
2920        We can't install the gesture recognizer on a view that's going to be
2921        reparented during the swipe, because the gesture will be cancelled.
2922        Install the recognizer on the WKView and move the WKView's scrollview
2923        child around instead.
2924
2925        * UIProcess/API/ios/WKViewIOS.mm:
2926        (-[WKView setAllowsBackForwardNavigationGestures:]):
2927        We'll install the gesture recognizer on the WKView, but swipe the scrollview.
2928
2929        * UIProcess/ios/ViewGestureControllerIOS.mm:
2930        (-[WKSwipeTransitionController initWithViewGestureController:gestureRecognizerView:]):
2931        Clarify that WKSwipeTransitionController gets handed only the view to install the gesture recognizer on.
2932        (-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
2933        Use public enum values so we can get rid of one private header.
2934
2935        (WebKit::ViewGestureController::installSwipeHandler):
2936        Separate out the gesture recognizer view from the one that gets swiped.
2937
2938        (WebKit::ViewGestureController::beginSwipeGesture):
2939        Record a snapshot before beginning the swipe. This is important for the back-then-forward
2940        swipe case, and matches the behavior of the Mac implementation.
2941
2942        (WebKit::ViewGestureController::endSwipeGesture):
2943        * UIProcess/mac/ViewGestureController.h:
2944        Slight geometry adjustments due to the change in targetted view.
2945
29462014-02-10  Filip Pizlo  <fpizlo@apple.com>
2947
2948        JSC environment variables should override other mechanisms for setting options
2949        https://bugs.webkit.org/show_bug.cgi?id=128511
2950
2951        Reviewed by Geoffrey Garen.
2952
2953        * WebProcess/mac/WebProcessMac.mm:
2954        (WebKit::WebProcess::platformInitializeWebProcess):
2955
29562014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2957
2958        [GTK] Add API to create a webview related to another one
2959        https://bugs.webkit.org/show_bug.cgi?id=128498
2960
2961        Reviewed by Gustavo Noronha Silva.
2962
2963        Add webkit_web_view_new_with_related_view() to create a new
2964        WebView sharing the same web process as the given one.
2965
2966        * UIProcess/API/gtk/WebKitWebContext.cpp:
2967        (webkitWebContextCreatePageForWebView): Use the given related
2968        WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().
2969        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
2970        * UIProcess/API/gtk/WebKitWebView.cpp:
2971        (webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
2972        (webkitWebViewSetProperty):
2973        (webkit_web_view_class_init): Add related-view construct-only property.
2974        (webkit_web_view_new_with_related_view): New public method to
2975        create a web view with a related one.
2976        * UIProcess/API/gtk/WebKitWebView.h:
2977        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2978        (webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
2979        (webkitWebViewBaseCreateWebPage): Use the given related
2980        WebPageProxy to initialize the web page configuration.
2981        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2982        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
2983
29842014-02-10  Lukasz Bialek  <l.bialek@samsung.com>
2985
2986        [EFL] Spelling unit tests should use ecore_main_loop_iterate()
2987        https://bugs.webkit.org/show_bug.cgi?id=127427
2988
2989        Reviewed by Gyuyoung Kim.
2990
2991        r148670 gets rid of EFL's idlers in a favor of timers to load languages.
2992        ecore_main_loop_iterate() can be used now.
2993
2994        Add function that loads spellchecking languages and waits for loading
2995        to be finished:
2996        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2997        (EWK2UnitTest::EWK2UnitTestBase::waitForLanguageLoading):
2998        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2999
3000        Apply added function to tests that should wait for languages to be loaded:
3001        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
3002        (EWK2TextCheckerTest::resetCallbacksExecutionStats):
3003        (TEST_F):
3004
30052014-02-09  Carlos Garnacho  <carlosg@gnome.org>
3006
3007        [GTK] Implement support touch events
3008        https://bugs.webkit.org/show_bug.cgi?id=98931
3009
3010        Reviewed by Carlos Garcia Campos.
3011
3012        In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement
3013        touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse
3014        events will be generated as a fallback.
3015
3016        * GNUmakefile.list.am:
3017        * PlatformGTK.cmake:
3018        * Shared/gtk/NativeWebTouchEventGtk.cpp:
3019        * Shared/NativeWebTouchEvent.h:
3020        (WebKit::NativeWebTouchEvent::nativeEvent):
3021        (WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent.
3022        * Shared/gtk/WebEventFactory.cpp:
3023        (WebKit::touchPhaseFromEvents):
3024        (WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out
3025        of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current
3026        touches, in order to build information about all individual touchpoints.
3027        * Shared/gtk/WebEventFactory.h:
3028        * UIProcess/API/gtk/PageClientImpl.cpp:
3029        (WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled
3030        in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its
3031        mouse event counterpart and handled by the widget again.
3032        * UIProcess/API/gtk/PageClientImpl.h:
3033        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3034        (webkitWebViewBaseRealize): Listen for touch events
3035        (webkitWebViewBaseTouchEvent):
3036        (webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely
3037        lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received.
3038
30392014-02-09  Commit Queue  <commit-queue@webkit.org>
3040
3041        Unreviewed, rolling out r162768.
3042        http://trac.webkit.org/changeset/162768
3043        https://bugs.webkit.org/show_bug.cgi?id=128495
3044
3045        Causes crashes on GTK WK2 in three fast/forms tests.
3046        (Requested by zdobersek on #webkit).
3047
3048        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
3049        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
3050
30512014-02-08  Brady Eidson  <beidson@apple.com>
3052
3053        IDB: storage/indexeddb/mozilla/object-cursors.html fails
3054        <rdar://problem/16020585> and https://bugs.webkit.org/show_bug.cgi?id=128479
3055
3056        Reviewed by Dan Bernstein.
3057
3058        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3059        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update the IndexInfo
3060          table schema to allow for indexes with the same id/name as previous indexes.
3061          But with different object stores, of course.
3062
30632014-02-08  Brady Eidson  <beidson@apple.com>
3064
3065        IDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails
3066        <rdar://problem/16018918> and https://bugs.webkit.org/show_bug.cgi?id=128444
3067
3068        Reviewed by Dan Bernstein.
3069
3070        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
3071        (WebKit::getIndexStatement): Return different statements for unique cursors that will
3072          sort the values in reverse of the cursor direction, matching expected IndexedDB behavior.
3073        (WebKit::SQLiteIDBCursor::establishStatement):
3074
3075        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3076        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Insert the values as
3077          strings since we need the collation function to be called for proper sorting.
3078
30792014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
3080
3081        Cleanup the interface of FrameSelection
3082        https://bugs.webkit.org/show_bug.cgi?id=128481
3083
3084        Reviewed by Andreas Kling.
3085
3086        * WebProcess/WebPage/FindController.cpp:
3087        (WebKit::FindController::getFindIndicatorBitmapAndRect):
3088        (WebKit::FindController::drawRect):
3089        * WebProcess/WebPage/WebPage.cpp:
3090        (WebKit::WebPage::scaledSnapshotWithOptions):
3091
30922014-02-08  Brady Eidson  <beidson@apple.com>
3093
3094        IDB: storage/indexeddb/mozilla/cursors.html fails
3095        <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423
3096
3097        Reviewed by Dan Bernstein.
3098
3099        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
3100        (WebKit::SQLiteIDBCursor::internalAdvanceOnce): Store the primary key for object store cursors.
3101        (WebKit::SQLiteIDBCursor::iterate): We’re not supposed to check for equality to the target key.
3102          Depending on the direction of the cursor we should check for the next highest or next lowest key.
3103
31042014-02-08  Dan Bernstein  <mitz@apple.com>
3105
3106        Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
3107        https://bugs.webkit.org/show_bug.cgi?id=128456
3108
3109        Reviewed by Anders Carlsson.
3110
3111        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Removed customHighlightRect and
3112        paintCustomHighlight.
3113        * WebProcess/WebCoreSupport/WebChromeClient.h:
3114
31152014-02-08  Darin Adler  <darin@apple.com>
3116
3117        Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
3118        https://bugs.webkit.org/show_bug.cgi?id=128233
3119
3120        Reviewed by Anders Carlsson.
3121
3122        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
3123        (-[WKDOMTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.
3124
3125        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3126        (WebKit::WebEditorClient::checkSpellingOfString): Use StringView.
3127        (WebKit::WebEditorClient::checkGrammarOfString): Ditto.
3128        * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
3129
31302014-02-08  Piotr Grad  <p.grad@samsung.com>
3131
3132        [GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage
3133        https://bugs.webkit.org/show_bug.cgi?id=128449
3134
3135        Reviewed by Carlos Garcia Campos.
3136
3137        Parameter passed to context->createWebPage was inproper.
3138
3139        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3140        (webkitWebViewBaseCreateWebPage):
3141
31422014-02-08  Dan Bernstein  <mitz@apple.com>
3143
3144        Font size-related preference values should be CGFloats backed by doubles
3145        https://bugs.webkit.org/show_bug.cgi?id=128445
3146
3147        Reviewed by Filip Pizlo.
3148
3149        * Shared/WebPreferencesStore.h: Changed minimumFontSize, minimumLogicalFontSize,
3150        defaultFontSize, and defaultFixedFontSize into double-value preferences.
3151        * UIProcess/API/Cocoa/WKPreferences.h: Changed minimumFontSize into CGFloat.
3152        * UIProcess/API/Cocoa/WKPreferences.mm:
3153        (-[WKPreferences minimumFontSize]): Changed return type.
3154        (-[WKPreferences setMinimumFontSize:]): Changed parameter type.
3155        * WebProcess/WebPage/WebPage.cpp:
3156        (WebKit::WebPage::updatePreferences): Changed to use double getters.
3157
31582014-02-08  Adrian Perez de Castro  <aperez@igalia.com>
3159
3160        [GTK] Make process model names properly meaningful
3161        https://bugs.webkit.org/show_bug.cgi?id=128389
3162
3163        Reviewed by Carlos Garcia Campos.
3164
3165        The name WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
3166        is misleading because there are situations in which web views may
3167        share the same web process even when multi-process mode is enabled;
3168        for example when opening a related view and both interact using JS.
3169
3170        * UIProcess/API/gtk/WebKitWebContext.cpp:
3171        (webkit_web_context_set_process_model):
3172        (webkit_web_context_get_process_model):
3173        Update names of WebKitProcessModel enum values.
3174        * UIProcess/API/gtk/WebKitWebContext.h:
3175        Ditto.
3176
31772014-02-08  Piotr Grad  <p.grad@samsung.com>
3178
3179        [GTK] Build break in WebKitSettings
3180        https://bugs.webkit.org/show_bug.cgi?id=128446
3181
3182        Reviewed by Ryosuke Niwa.
3183
3184        Argument for WebPreferences::create was missing
3185
3186        * UIProcess/API/gtk/WebKitSettings.cpp:
3187        (_WebKitSettingsPrivate::_WebKitSettingsPrivate):
3188
31892014-02-07  Jinwoo Song  <jinwoo7.song@samsung.com>
3190
3191        Unreviewed EFL WebKit2 build fix after r163671.
3192
3193        * UIProcess/CoordinatedGraphics/WebView.cpp:
3194        (WebKit::WebView::WebView): Use WebPageConfiguration in creating WebPage.
3195
31962014-02-07  Gavin Barraclough  <barraclough@apple.com>
3197
3198        Add better comments to code that boosts the NetworkProcess
3199        https://bugs.webkit.org/show_bug.cgi?id=128431
3200
3201        Rubber stamped by Tim Horton
3202
3203        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
3204        (WebKit::XPCServiceEventHandler):
3205        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
3206        (WebKit::XPCServiceEventHandler):
3207        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3208        (WebKit::connectToService):
3209
32102014-02-07  Tim Horton  <timothy_horton@apple.com>
3211
3212       Build fix.
3213
3214        * UIProcess/API/ios/WKContentView.mm:
3215        (-[WKContentView initWithFrame:configuration:]):
3216
32172014-02-07  Anders Carlsson  <andersca@apple.com>
3218
3219        Pass the preferences through from the WKWebViewConfiguration object
3220        https://bugs.webkit.org/show_bug.cgi?id=128430
3221
3222        Reviewed by Tim Horton.
3223
3224        * UIProcess/API/Cocoa/WKPreferences.h:
3225        * UIProcess/API/Cocoa/WKPreferences.mm:
3226        (-[WKPreferences init]):
3227        Don't return nil if [super init] returns a valid object.
3228
3229        (-[WKPreferences minimumFontSize]):
3230        (-[WKPreferences setMinimumFontSize:]):
3231        Change this property to be unsigned.
3232
3233        * UIProcess/API/Cocoa/WKPreferencesInternal.h:
3234        Use @package.
3235
3236        * UIProcess/API/Cocoa/WKWebView.mm:
3237        (-[WKWebView initWithFrame:configuration:]):
3238        Set up a WebKit::WebPageConfiguration and use the new -[WKView initWithFrame:context:configuration:] method.
3239
3240        * UIProcess/API/ios/WKContentView.mm:
3241        (-[WKContentView initWithFrame:configuration:]):
3242        Set the preferences.
3243
3244        * UIProcess/API/mac/WKView.mm:
3245        (-[WKView initWithFrame:context:configuration:]):
3246        Add a new initializer that takes a WebContext and a WebPageConfiguration.
3247
3248        (-[WKView _registerDraggedTypes]):
3249        This shouldn't be in the private category.
3250        
3251        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3252        Call the new initializer.
3253
3254        * UIProcess/API/mac/WKViewInternal.h:
3255
32562014-02-07  Tim Horton  <timothy_horton@apple.com>
3257
3258        Fix the WebKit2 build after r163671.
3259
3260        * UIProcess/API/ios/WKContentView.mm:
3261        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
3262
32632014-02-07  Gavin Barraclough  <barraclough@apple.com>
3264
3265        Remove isInitialState flag from Page::setViewState
3266        https://bugs.webkit.org/show_bug.cgi?id=128428
3267
3268        Reviewed by Sam Weinig.
3269
3270        * WebProcess/WebPage/WebPage.cpp:
3271        (WebKit::WebPage::WebPage):
3272            - don't pass isInitialState to setViewState.
3273        (WebKit::WebPage::reinitializeWebPage):
3274            - if the viewState changes this should fire a visibility event.
3275        (WebKit::WebPage::setViewState):
3276            - merged with setViewStateInternal.
3277        * WebProcess/WebPage/WebPage.h:
3278            - removed setViewStateInternal.
3279
32802014-02-07  Simon Fraser  <simon.fraser@apple.com>
3281
3282        Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process
3283        https://bugs.webkit.org/show_bug.cgi?id=128416
3284
3285        Reviewed by Tim Horton.
3286        
3287        Encode and decode requestedScrollPosition() and requestedScrollPositionRepresentsProgrammaticScroll(),
3288        which can't use the macros because the setter takes both arguments.
3289        
3290        The UI process needs this to notice programmatic scrolls.
3291
3292        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
3293        (ArgumentCoder<ScrollingStateScrollingNode>::encode):
3294        (ArgumentCoder<ScrollingStateScrollingNode>::decode):
3295
32962014-02-07  Simon Fraser  <simon.fraser@apple.com>
3297
3298        Add typesafe casts for DrawingAreaProxy classes
3299        https://bugs.webkit.org/show_bug.cgi?id=128419
3300
3301        Reviewed by Andreas Kling.
3302        
3303        Add typesafe casts, and use one in RemoteScrollingCoordinatorProxy::layerTreeHost().
3304
3305        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3306        (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
3307        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
3308        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
3309        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3310        (WebKit::WebChromeClient::contentsSizeChanged):
3311        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3312
33132014-02-06  Filip Pizlo  <fpizlo@apple.com>
3314
3315        More FTL build scaffolding
3316        https://bugs.webkit.org/show_bug.cgi?id=128330
3317
3318        Reviewed by Geoffrey Garen.
3319
3320        * Configurations/FeatureDefines.xcconfig:
3321
33222014-02-07  Tim Horton  <timothy_horton@apple.com>
3323
3324        Move allowsBackForwardNavigationGestures back to private because apparently our build systems are broken.
3325
3326        * UIProcess/API/Cocoa/WKView.h:
3327        * UIProcess/API/Cocoa/WKViewPrivate.h:
3328        * UIProcess/API/mac/WKView.mm:
3329        (-[WKView setAllowsBackForwardNavigationGestures:]):
3330        (-[WKView allowsBackForwardNavigationGestures]):
3331
33322014-02-07  Anders Carlsson  <andersca@apple.com>
3333
3334        Simplify web page creation
3335        https://bugs.webkit.org/show_bug.cgi?id=128425
3336
3337        Reviewed by Andreas Kling.
3338
3339        Add a WebPageConfiguration class and stick the page group, preferences, session etc there
3340        instead of adding more and more parameters to the WebPageProxy constructor.
3341
3342        Make WebContext::createWebPage fill in the missing pieces in the WebPageConfiguration object.
3343
3344        * UIProcess/API/ios/WKContentView.mm:
3345        (-[WKContentView initWithFrame:configuration:]):
3346        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
3347        * UIProcess/API/mac/WKView.mm:
3348        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3349        * UIProcess/WebContext.cpp:
3350        (WebKit::WebContext::createWebPage):
3351        * UIProcess/WebContext.h:
3352        * UIProcess/WebPageProxy.cpp:
3353        (WebKit::WebPageProxy::create):
3354        (WebKit::WebPageProxy::WebPageProxy):
3355        * UIProcess/WebPageProxy.h:
3356        * UIProcess/WebProcessProxy.cpp:
3357        (WebKit::WebProcessProxy::createWebPage):
3358        * UIProcess/WebProcessProxy.h:
3359
33602014-02-07  Tim Horton  <timothy_horton@apple.com>
3361
3362        Build fix. Wrong section of the file.
3363
3364        * UIProcess/API/mac/WKView.mm:
3365        (-[WKView setAllowsBackForwardNavigationGestures:]):
3366        (-[WKView allowsBackForwardNavigationGestures]):
3367
33682014-02-07  Benjamin Poulain  <bpoulain@apple.com>
3369
3370        [WK2] The WebPageProxy's copy of pageScaleFactor is not update when the scale is changed from the viewport configuration
3371        https://bugs.webkit.org/show_bug.cgi?id=128415
3372
3373        Reviewed by Simon Fraser.
3374
3375        * WebProcess/WebPage/ios/WebPageIOS.mm:
3376        (WebKit::WebPage::viewportConfigurationChanged):
3377        The scale needs to be updated through WebPage::scalePage().
3378
33792014-02-07  Tim Horton  <timothy_horton@apple.com>
3380
3381        WebKit2 View Gestures (Swipe): Support for iOS
3382        https://bugs.webkit.org/show_bug.cgi?id=128363
3383        <rdar://problem/15194194>
3384
3385        Reviewed by Anders Carlsson.
3386
3387        * Shared/mac/RemoteLayerTreeTransaction.h:
3388        (WebKit::RemoteLayerTreeTransaction::renderTreeSize):
3389        (WebKit::RemoteLayerTreeTransaction::setRenderTreeSize):
3390        * Shared/mac/RemoteLayerTreeTransaction.mm:
3391        (WebKit::RemoteLayerTreeTransaction::encode):
3392        (WebKit::RemoteLayerTreeTransaction::decode):
3393        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3394        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
3395        Send the render tree size along with remote layer tree commits,
3396        so that we can act upon it (to hide snapshots) in the UI process
3397        in sync with layer commits.
3398
3399        * UIProcess/API/Cocoa/WKViewPrivate.h:
3400        We want allowsBackForwardNavigationGestures for both platforms.
3401
3402        * UIProcess/API/ios/PageClientImplIOS.mm:
3403        (WebKit::PageClientImpl::takeViewSnapshot):
3404        * UIProcess/API/ios/WKContentView.h:
3405        * UIProcess/API/ios/WKContentView.mm:
3406        (-[WKContentView _takeViewSnapshot]):
3407        * UIProcess/API/ios/WKContentViewInternal.h:
3408        Plumb snapshotting through to WKViewIOS.
3409
3410        * UIProcess/API/ios/WKViewIOS.mm:
3411        (-[WKView setAllowsBackForwardNavigationGestures:]):
3412        (-[WKView allowsBackForwardNavigationGestures]):
3413        Create/destroy the gesture controller when we turn on/off back-forward swipe.
3414        Tell WebPageProxy to save snapshots if swipe is enabled.
3415
3416        (-[WKView contentView:didCommitLayerTree:]):
3417        Forward the current transaction's render tree size to ViewGestureController.
3418
3419        (-[WKView takeViewSnapshotForContentView:]):
3420        Snapshot the view. This is not the best SPI to use, we should consider
3421        using one of those which returns an IOSurface and plumbing it through
3422        to ViewSnapshotStore, but all of our PageClient abstraction makes that annoying.
3423
3424        * UIProcess/WebPageProxy.cpp:
3425        (WebKit::WebPageProxy::recordNavigationSnapshot):
3426        Record snapshots on iOS as well.
3427
3428        * UIProcess/ios/ViewGestureControllerIOS.mm: Added.
3429        (-[WKSwipeInteractiveTransitionDelegate initWithViewGestureController:WebKit::swipingView:]):
3430        (-[WKSwipeInteractiveTransitionDelegate WebKit::ViewGestureController::directionForTransition:]):
3431        (-[WKSwipeInteractiveTransitionDelegate startInteractiveTransition:]):
3432        (-[WKSwipeInteractiveTransitionDelegate shouldBeginInteractiveTransition:]):
3433        (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
3434        (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldReceiveTouch:]):
3435        (-[WKSwipeInteractiveTransitionDelegate gestureRecognizerForInteractiveTransition:WithTarget:action:]):
3436        (WebKit::ViewGestureController::ViewGestureController):
3437        (WebKit::ViewGestureController::~ViewGestureController):
3438        (WebKit::ViewGestureController::installSwipeHandler):
3439        (WebKit::ViewGestureController::beginSwipeGesture):
3440        (WebKit::ViewGestureController::canSwipeInDirection):
3441        (WebKit::ViewGestureController::endSwipeGesture):
3442        (WebKit::ViewGestureController::setRenderTreeSize):
3443        (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
3444        (WebKit::ViewGestureController::removeSwipeSnapshot):
3445
3446        * UIProcess/mac/ViewGestureController.h:
3447        Add iOS-specific methods, and don't include all of the Mac-specific code.
3448        We can move towards sharing more logic in the future.
3449
3450        * UIProcess/mac/ViewGestureController.messages.in:
3451        * UIProcess/mac/ViewGestureControllerMac.mm:
3452        (WebKit::ViewGestureController::ViewGestureController):
3453        * UIProcess/mac/ViewSnapshotStore.h:
3454        * UIProcess/mac/ViewSnapshotStore.mm:
3455        (WebKit::ViewSnapshotStore::recordSnapshot):
3456        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
3457        Make ViewSnapshotStore build/work without IOSurface.
3458
3459        * WebKit2.xcodeproj/project.pbxproj:
3460
34612014-02-07  Anders Carlsson  <andersca@apple.com>
3462
3463        Implement more of WKPreferences
3464        https://bugs.webkit.org/show_bug.cgi?id=128411
3465
3466        Reviewed by Tim Horton.
3467
3468        Give WKPreferences an underlying WebKit::WebPreferences object, add a minimumFontSize preference
3469        and make sure that WKWebView's initializer creates a WKPreferences object if the configuration doesn't specify one.
3470
3471        * UIProcess/API/Cocoa/WKPreferences.h:
3472        * UIProcess/API/Cocoa/WKPreferences.mm:
3473        (-[WKPreferences init]):
3474        (-[WKPreferences minimumFontSize]):
3475        (-[WKPreferences setMinimumFontSize:]):
3476        * UIProcess/API/Cocoa/WKPreferencesInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm.
3477        * UIProcess/API/Cocoa/WKWebView.mm:
3478        (-[WKWebView initWithFrame:configuration:]):
3479        * UIProcess/WebPageProxy.h:
3480        * WebKit2.xcodeproj/project.pbxproj:
3481
34822014-02-07  Brady Eidson  <beidson@apple.com>
3483
3484        IDB: Some Mozilla cursor mutation tests fail
3485        <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374
3486
3487        Reviewed by Sam Weinig.
3488
3489        After a SQLite statement is prepared, stepping it will not pick up any subsequent changes
3490        to the object store.
3491
3492        By keeping track of the current record we’re looking at in the object store and being told
3493        that the object store changed its contents, we can reset the statement to pick up where it
3494        left off but with the new object store contents.
3495
3496        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3497        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Tell the backing store to notify
3498          its cursors that the object store changed its records.
3499        (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Ditto.
3500
3501        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
3502        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3503        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges): Tell the transaction
3504          to notify its cursors that the object store changed its records.
3505        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
3506
3507        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
3508        (WebKit::SQLiteIDBTransaction::notifyCursorsOfChanges): Tell the relevant cursors that their
3509          object store changed its records.
3510        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
3511
3512        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
3513        (WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
3514        (WebKit::getIndexStatement): All statements now have a lower and upper range. By default we bind
3515          IDBKey::Minimum to the lower range and IDBKey::Maximum to the upper range.
3516        (WebKit::getObjectStoreStatement): Ditto.
3517        (WebKit::SQLiteIDBCursor::establishStatement):
3518        (WebKit::SQLiteIDBCursor::createSQLiteStatement):
3519        (WebKit::SQLiteIDBCursor::objectStoreRecordsChanged): Set the flag indicating the statement
3520          needs to be reset and rebound.
3521        (WebKit::SQLiteIDBCursor::resetAndRebindStatement):
3522        (WebKit::SQLiteIDBCursor::bindArguments): Factored out to be shared between statement prepare()
3523          and statement reset().
3524        (WebKit::SQLiteIDBCursor::advance):
3525        (WebKit::SQLiteIDBCursor::advanceOnce): If the statement needs to be reset, do so before advancing it.
3526        (WebKit::SQLiteIDBCursor::internalAdvanceOnce): In a few cases, tell advanceOnce that it needs to
3527          try again because it is on a missing record or is repeating a record.
3528        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
3529        (WebKit::SQLiteIDBCursor::objectStoreID):
3530
3531        Make sure Maximum and Minimum keys are never sent across IPC, as that doesn’t make sense:
3532        * Shared/WebCoreArgumentCoders.cpp:
3533        (IPC::ArgumentCoder<IDBKeyData>::encode):
3534        (IPC::ArgumentCoder<IDBKeyData>::decode):
3535
35362014-02-07  Anders Carlsson  <andersca@apple.com>
3537
3538        Make it possible for each web page to have different preferences
3539        https://bugs.webkit.org/show_bug.cgi?id=128403
3540
3541        Reviewed by Tim Horton.
3542
3543        * UIProcess/API/C/WKPreferences.cpp:
3544        (WKPreferencesCreate):
3545        * UIProcess/WebContext.cpp:
3546        (WebKit::WebContext::ensureNetworkProcess):
3547        (WebKit::WebContext::createNewWebProcess):
3548        * UIProcess/WebIconDatabase.cpp:
3549        (WebKit::WebIconDatabase::setDatabasePath):
3550        * UIProcess/WebPageGroup.cpp:
3551        (WebKit::WebPageGroup::WebPageGroup):
3552        (WebKit::WebPageGroup::~WebPageGroup):
3553        (WebKit::WebPageGroup::setPreferences):
3554        * UIProcess/WebPageProxy.cpp:
3555        (WebKit::WebPageProxy::WebPageProxy):
3556        (WebKit::WebPageProxy::~WebPageProxy):
3557        (WebKit::WebPageProxy::setPreferences):
3558        (WebKit::WebPageProxy::preferencesDidChange):
3559        * UIProcess/WebPageProxy.h:
3560        * UIProcess/WebPreferences.cpp:
3561        (WebKit::WebPreferences::~WebPreferences):
3562        (WebKit::WebPreferences::addPage):
3563        (WebKit::WebPreferences::removePage):
3564        (WebKit::WebPreferences::update):
3565        (WebKit::WebPreferences::updatePrivateBrowsingValue):
3566        (WebKit::WebPreferences::anyPagesAreUsingPrivateBrowsing):
3567        * UIProcess/WebPreferences.h:
3568
35692014-02-07  Benjamin Poulain  <bpoulain@apple.com>
3570
3571        [WK2] Add support for text document viewport configuration
3572        https://bugs.webkit.org/show_bug.cgi?id=128359
3573
3574        Reviewed by Simon Fraser.
3575
3576        When a text document is being loaded, use the plainText viewport parameters.
3577
3578        * UIProcess/API/ios/WKContentView.h:
3579        * UIProcess/API/ios/WKContentView.mm:
3580        * WebProcess/WebPage/WebPage.cpp:
3581        (WebKit::WebPage::didCommitLoad):
3582
35832014-02-07  Gavin Barraclough  <barraclough@apple.com>
3584
3585        Should report user input to PageThrottler
3586        https://bugs.webkit.org/show_bug.cgi?id=128398
3587
3588        Reviewed by Tim Horton.
3589
3590        Make sure we wake from AppNap if there is user interaction.
3591
3592        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3593        (WebKit::NPRuntimeObjectMap::evaluate):
3594            - reportInterestingEvent() -> pluginDidEvaluate()
3595        * WebProcess/WebPage/WebPage.cpp:
3596        (WebKit::WebPage::mouseEvent):
3597        (WebKit::WebPage::wheelEvent):
3598        (WebKit::WebPage::keyEvent):
3599            - call didReceiveUserInput()
3600
36012014-02-07  Dean Jackson  <dino@apple.com>
3602
3603        WebGL doesn't update with remotely hosted layers
3604        https://bugs.webkit.org/show_bug.cgi?id=128390
3605
3606        Reviewed by Simon Fraser.
3607
3608        PlatformCALayerRemote was intercepting the setNeedsDisplay calls to
3609        WebGL layers, and thus causing them to not draw. Fix this by adding an
3610        override in PlatformCALayerRemoteCustom to check if it is a WebGLLayer
3611        and call setNeedsDisplay directly.
3612
3613        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
3614        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
3615        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
3616        (PlatformCALayerRemoteCustom::setNeedsDisplay):
3617
36182014-02-07  Benjamin Poulain  <bpoulain@apple.com>
3619
3620        [WK2] Fitler touch events only based on touch start
3621        https://bugs.webkit.org/show_bug.cgi?id=128354
3622
3623        Reviewed by Simon Fraser.
3624
3625        Touch Events track their target, we should not test the touch regions
3626        again after a touch sequence starts.
3627
3628        This patch adds a boolean flag to know if we are sending events to the WebProcess
3629        (m_isTrackingTouchEvents). The flag is updated every time a touch sequence starts.
3630
3631        * UIProcess/WebPageProxy.cpp:
3632        (WebKit::WebPageProxy::WebPageProxy):
3633        (WebKit::WebPageProxy::shouldStartTrackingTouchEvents):
3634        (WebKit::WebPageProxy::handleTouchEvent):
3635        * UIProcess/WebPageProxy.h:
3636
36372014-02-07  Anders Carlsson  <andersca@apple.com>
3638
3639        Simplify WebPreferences creation inside WebPageGroup
3640        https://bugs.webkit.org/show_bug.cgi?id=128392
3641
3642        Reviewed by Andreas Kling.
3643
3644        Always create a WebPreferences object when creating the web page group.
3645        This is another step towards letting WebPageProxy manage web preferences.
3646
3647        * UIProcess/WebPageGroup.cpp:
3648        (WebKit::pageGroupData):
3649        (WebKit::WebPageGroup::WebPageGroup):
3650        (WebKit::WebPageGroup::~WebPageGroup):
3651        (WebKit::WebPageGroup::setPreferences):
3652        (WebKit::WebPageGroup::preferences):
3653        * UIProcess/WebPageGroup.h:
3654
36552014-02-07  Gavin Barraclough  <barraclough@apple.com>
3656
3657        Reenable AppNap
3658        https://bugs.webkit.org/show_bug.cgi?id=128394
3659
3660        Reviewed by Tim Horton.
3661
3662        * Shared/WebPreferencesStore.h:
3663            - pageVisibilityBasedProcessSuppressionEnabled should default to true.
3664
36652014-02-07  Tim Horton  <timothy_horton@apple.com>
3666
3667        Rename ViewGestureController.mm to ViewGestureControllerMac.mm
3668        https://bugs.webkit.org/show_bug.cgi?id=128387
3669
3670        Reviewed by Anders Carlsson.
3671
3672        As a precursor to having a second nearly completely divergent
3673        ViewGestureController implementation for iOS.
3674
3675        * UIProcess/mac/ViewGestureControllerMac.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.mm.
3676        * WebKit2.xcodeproj/project.pbxproj:
3677        Rename ViewGestureController.mm to ViewGestureControllerMac.mm.
3678        Unfortunately, since we're not renaming the class, the header
3679        has to keep its name (and will be the recipient of a giant #if in a later
3680        patch), because the message receiver generated code will try to import
3681        ViewGestureController.h (without the Mac suffix).
3682
36832014-02-07  Anders Carlsson  <andersca@apple.com>
3684
3685        Copying a WebPreferences object should be done through a member function
3686        https://bugs.webkit.org/show_bug.cgi?id=128385
3687
3688        Reviewed by Andreas Kling.
3689
3690        * UIProcess/API/C/WKPreferences.cpp:
3691        (WKPreferencesCreateCopy):
3692        * UIProcess/WebPreferences.cpp:
3693        (WebKit::WebPreferences::copy):
3694        * UIProcess/WebPreferences.h:
3695
36962014-02-07  Anders Carlsson  <andersca@apple.com>
3697
3698        WebPageGroup::setPreferences should set the preferences on all pages in the group
3699        https://bugs.webkit.org/show_bug.cgi?id=128383
3700
3701        Reviewed by Alexey Proskuryakov.
3702
3703        * UIProcess/WebPageGroup.cpp:
3704        (WebKit::WebPageGroup::setPreferences):
3705
37062014-02-07  Dan Bernstein  <mitz@apple.com>
3707
3708        [Cocoa] WKRemoteObjectInterface doesn’t support aribtrary argument classes
3709        https://bugs.webkit.org/show_bug.cgi?id=128368
3710
3711        Reviewed by Anders Carlsson.
3712
3713        * Shared/API/Cocoa/WKRemoteObjectInterface.h: Declared new methods.
3714        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
3715        (propertyListClasses): Removed NSNull, which is not really a property list class.
3716        (classesForSelectorArgument): Added helper function.
3717        (-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Added.
3718        (-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Added.
3719
37202014-02-07  Dan Bernstein  <mitz@apple.com>
3721
3722        [Cocoa] API::FrameHandle has a generic wrapper
3723        https://bugs.webkit.org/show_bug.cgi?id=128366
3724
3725        Reviewed by Anders Carlsson.
3726
3727        Added WKFrameHandle.
3728
3729        * Shared/API/Cocoa/WKFrameHandle.h: Added.
3730        * Shared/API/Cocoa/WKFrameHandle.mm: Added.
3731        (-[WKFrameHandle dealloc]): Calls the API::FrameHandle destructor.
3732        (-[WKFrameHandle isEqual:]): Checks for frame ID equality.
3733        (-[WKFrameHandle hash]): Returns the frame ID.
3734        (-[WKFrameHandle _frameID]): Ditto.
3735        (-[WKFrameHandle copyWithZone:]): Retains self.
3736        (+[WKFrameHandle supportsSecureCoding]): Returns YES.
3737        (-[WKFrameHandle initWithCoder:]): Decodes the frame ID and constructs an API::FrameHandle
3738        with it.
3739        (-[WKFrameHandle encodeWithCoder:]): Encodes the frame ID.
3740        (-[WKFrameHandle _apiObject]): Returns the wrapped API::FrameHandle.
3741        * Shared/API/Cocoa/WKFrameHandleInternal.h: Added.
3742        (WebKit::wrapper): Added. Returns an API::FrameHandle’s wrapper as a WKFrameHandle.
3743
3744        * Shared/APIFrameHandle.cpp:
3745        (API::FrameHandle::create): Changed to return a PassRefPtr.
3746        * Shared/APIFrameHandle.h: Made the constructor public for -[WKFrameHandle initWithCoder:].
3747
3748        * Shared/Cocoa/APIObject.mm:
3749        (API::Object::newObject): Allocate a WKFrameHandle if the object is an API::FrameHandle.
3750
3751        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
3752
3753        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared handle property.
3754        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
3755        (+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]): Added. Calls WebProcess::webFrame to
3756        look up a frame with the given handle’s frame ID.
3757        (-[WKWebProcessPlugInFrame handle]): Added. Returns a new handle with the frame’s ID.
3758        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Updated #import.
3759        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Added.
3760
37612014-02-07  Dan Bernstein  <mitz@apple.com>
3762
3763        [Cocoa] WKWebProcessPlugInNodeHandle methods leak and may crash
3764        https://bugs.webkit.org/show_bug.cgi?id=128365
3765
3766        Reviewed by Anders Carlsson.
3767
3768        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
3769        (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]): Null-check the result
3770        of InjectedBundleNodeHandle::getOrCreate, and autorelease the return value.
3771        (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]): Null-check the result of
3772        InjectedBundleNodeHandle::htmlIFrameElementContentFrame, and autorelease the return value.
3773
37742014-02-06  Brady Eidson  <beidson@apple.com>
3775
3776        IDB: storage/indexeddb/create-index-with-integer-keys.html fails
3777        <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316
3778
3779        Reviewed by Geoff Garen.
3780
3781        Update Vector<char> to Vector<uint8_t> throughout:
3782        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3783        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
3784        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
3785        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
3786        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
3787        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
3788        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
3789        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
3790
3791        Update Vector<char> to Vector<uint8_t> throughout:
3792        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
3793        (WebKit::SQLiteIDBCursor::advanceOnce):
3794        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
3795        (WebKit::SQLiteIDBCursor::currentValueBuffer):
3796
3797        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
3798        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3799        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): Create a script value from the value data, use
3800          generateIndexKeysForValue to get the index keys, and then write the resulting index records.
3801        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Call through to uncheckedPutIndexRecord.
3802        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Version of putIndexRecord that doesn’t
3803          validate the transaction or its mode.
3804        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Update Vector<char> to Vector<uint8_t>.
3805        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Ditto.
3806        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto.
3807        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
3808
38092014-02-07  Jinwoo Song  <jinwoo7.song@samsung.com>
3810
3811        [EFL][WK2] WebView should be able to configure to set fixed layout
3812        https://bugs.webkit.org/show_bug.cgi?id=128300
3813
3814        Reviewed by Gyuyoung Kim.
3815
3816        Currently, webview is created by setting fixed layout as true and there is no way to change the setting.
3817        But some applications may do not want to use fixed layout so I'd like to add ewk APIs to configure to it.
3818
3819        * UIProcess/API/efl/ewk_view.cpp:
3820        (EWKViewCreate): Do not set to use fixed layout as default.
3821        (ewk_view_layout_fixed_set):
3822        (ewk_view_layout_fixed_get):
3823        * UIProcess/API/efl/ewk_view.h: Add ewk APIs to set fixed layout.
3824        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3825        (TEST_F):
3826
38272014-02-06  Brady Eidson  <beidson@apple.com>
3828
3829        Unreviewed build fix after r163612.
3830
3831        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3832
38332014-02-06  Brady Eidson  <beidson@apple.com>
3834
3835        IDB: Remove the entirely unnecessary "Value Key" concept
3836        https://bugs.webkit.org/show_bug.cgi?id=128360
3837
3838        Reviewed by Dan Bernstein.
3839
3840        All cursor operations were set up to pass a value key parameter around, but it was:
3841        1 - Entirely unused
3842        2 - The same thing that the primary key is supposed to be
3843
3844        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
3845        (WebKit::DatabaseProcessIDBConnection::openCursor):
3846        (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
3847        (WebKit::DatabaseProcessIDBConnection::cursorIterate):
3848
3849        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3850        (WebKit::UniqueIDBDatabase::openCursor):
3851        (WebKit::UniqueIDBDatabase::cursorAdvance):
3852        (WebKit::UniqueIDBDatabase::cursorIterate):
3853        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
3854        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
3855        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
3856        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
3857        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
3858        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
3859        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
3860
3861        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
3862        (WebKit::SQLiteIDBCursor::advanceOnce): Clean this logic up to not need temporaries,
3863          and also to save the correct primary key (previously the 'value key')
3864        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
3865
3866        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
3867        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3868        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
3869        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
3870        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
3871        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
3872        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
3873
3874        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
3875        (WebKit::WebIDBServerConnection::didOpenCursor):
3876        (WebKit::WebIDBServerConnection::didAdvanceCursor):
3877        (WebKit::WebIDBServerConnection::didIterateCursor):
3878        (WebKit::WebIDBServerConnection::openCursor):
3879        (WebKit::WebIDBServerConnection::cursorAdvance):
3880        (WebKit::WebIDBServerConnection::cursorIterate):
3881        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
3882        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
3883
38842014-02-06  Ryuan Choi  <ryuan.choi@samsung.com>
3885
3886        Unreviewed build fix on GTK build since r163597
3887
3888        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3889        (webkitWebViewBaseUpdatePreferences):
3890
38912014-02-06  Yongjun Zhang  <yongjun_zhang@apple.com>
3892
3893        Need a ObjC SPI to get the process identifier for web process.
3894        https://bugs.webkit.org/show_bug.cgi?id=128356
3895
3896        Reviewed by Dan Bernstein.
3897
3898        Add a SPI for WKBrowsingContextController to return the process identifier of web
3899        process in the current page.
3900
3901        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
3902        (-[WKBrowsingContextController processIdentifier]):
3903        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
3904
39052014-02-06  Ryuan Choi  <ryuan.choi@samsung.com>
3906
3907        Unreviewed build fix on EFL build since r163597
3908
3909        preferences() changed return type from pointer to reference.
3910
3911        * UIProcess/API/efl/ewk_settings.cpp:
3912        (EwkSettings::preferences):
3913        (ewk_settings_fullscreen_enabled_set):
3914        (ewk_settings_fullscreen_enabled_get):
3915        (ewk_settings_javascript_enabled_set):
3916        (ewk_settings_javascript_enabled_get):
3917        (ewk_settings_loads_images_automatically_set):
3918        (ewk_settings_loads_images_automatically_get):
3919        (ewk_settings_developer_extras_enabled_set):
3920        (ewk_settings_developer_extras_enabled_get):
3921        (ewk_settings_file_access_from_file_urls_allowed_set):
3922        (ewk_settings_file_access_from_file_urls_allowed_get):
3923        (ewk_settings_frame_flattening_enabled_set):
3924        (ewk_settings_frame_flattening_enabled_get):
3925        (ewk_settings_dns_prefetching_enabled_set):
3926        (ewk_settings_dns_prefetching_enabled_get):
3927        (ewk_settings_encoding_detector_enabled_set):
3928        (ewk_settings_encoding_detector_enabled_get):
3929        (ewk_settings_preferred_minimum_contents_width_set):
3930        (ewk_settings_preferred_minimum_contents_width_get):
3931        (ewk_settings_offline_web_application_cache_enabled_set):
3932        (ewk_settings_offline_web_application_cache_enabled_get):
3933        (ewk_settings_scripts_can_open_windows_set):
3934        (ewk_settings_scripts_can_open_windows_get):
3935        (ewk_settings_local_storage_enabled_set):
3936        (ewk_settings_local_storage_enabled_get):
3937        (ewk_settings_plugins_enabled_set):
3938        (ewk_settings_plugins_enabled_get):
3939        (ewk_settings_default_font_size_set):
3940        (ewk_settings_default_font_size_get):
3941        (ewk_settings_private_browsing_enabled_set):
3942        (ewk_settings_private_browsing_enabled_get):
3943        (ewk_settings_text_autosizing_enabled_set):
3944        (ewk_settings_text_autosizing_enabled_get):
3945        (ewk_settings_spatial_navigation_enabled_set):
3946        (ewk_settings_spatial_navigation_enabled_get):
3947        (EwkSettings::setDefaultTextEncodingName):
3948        * UIProcess/API/efl/ewk_settings_private.h:
3949        (EwkSettings::EwkSettings):
3950        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
3951        (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
3952        * UIProcess/CoordinatedGraphics/WebView.cpp:
3953        (WebKit::WebView::WebView):
3954        * UIProcess/WebPageProxy.cpp:
3955        (WebKit::WebPageProxy::initializeWebPage):
3956        (WebKit::WebPageProxy::preferencesDidChange):
3957
39582014-02-06  Anders Carlsson  <andersca@apple.com>
3959
3960        Crash in MiniBrowser when using Command-W to close a WK2 window
3961        https://bugs.webkit.org/show_bug.cgi?id=128355
3962        <rdar://problem/16008531>
3963
3964        Reviewed by Simon Fraser.
3965
3966        Don't set the API clients to nullptr when closing the page, just create new empty ones instead.
3967        Too much code depends on the clients never being null.
3968
3969        * UIProcess/WebPageProxy.cpp:
3970        (WebKit::WebPageProxy::close):
3971
39722014-02-03  Tim Horton  <timothy_horton@apple.com>
3973
3974        [wk2] iOS should use accelerated drawing by default, except in the simulator
3975        https://bugs.webkit.org/show_bug.cgi?id=128140
3976        <rdar://problem/15974171>
3977
3978        Reviewed by Anders Carlsson.
3979
3980        * Shared/WebPreferencesStore.h:
3981        Turn full-page accelerated drawing on for iOS, except the simulator which doesn't support it.
3982        Turn canvas accelerated drawing on for all platforms except the iOS simulator, for the same reason.
3983        The defaults remain the same for non-iOS platforms.
3984
39852014-02-06  Jeremy Jones  <jeremyj@apple.com>
3986
3987        Add support for AVKit fullscreen to WebKit2
3988        https://bugs.webkit.org/show_bug.cgi?id=128143
3989
3990        Reviewed by Simon Fraser.
3991
3992        Add WebVideoFullscreenManager and WebVideoFullscreenManagerProxy that implement 
3993        WebVideoFullscreenModel and WebVideoFullscreenInterface.
3994
3995        * DerivedSources.make:
3996        * UIProcess/WebPageProxy.cpp:
3997        (WebKit::WebPageProxy::WebPageProxy):
3998            initialize member m_videoFullscreenManager
3999    
4000        (WebKit::WebPageProxy::videoFullscreenManager):
4001            add accessor for videoFullscreenManager
4002
4003        * UIProcess/WebPageProxy.h:
4004        * UIProcess/WebVideoFullscreenManagerProxy.cpp: Added.
4005        (WebKit::WebVideoFullscreenManagerProxy::create):
4006        (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
4007        (WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
4008            add basic creation for object.
4009
4010        (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
4011        (WebKit::WebVideoFullscreenManagerProxy::requestExitFullScreen):
4012        (WebKit::WebVideoFullscreenManagerProxy::play):
4013        (WebKit::WebVideoFullscreenManagerProxy::pause):
4014        (WebKit::WebVideoFullscreenManagerProxy::togglePlayState):
4015        (WebKit::WebVideoFullscreenManagerProxy::seekToTime):
4016        (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
4017            implement WebVideoFullscreenModel to send IPC message.
4018
4019        * UIProcess/WebVideoFullscreenManagerProxy.h: Added.
4020        * UIProcess/WebVideoFullscreenManagerProxy.messages.in: Added.
4021            this interface closely matches WebVideoFullscreenInterface
4022
4023        * WebKit2.xcodeproj/project.pbxproj:
4024        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4025        (WebKit::WebChromeClient::supportsFullscreenForNode):
4026        (WebKit::WebChromeClient::enterFullscreenForNode):
4027        (WebKit::WebChromeClient::exitFullscreenForNode):
4028            Forward these requests onto the videoFullscreenManager
4029
4030        * WebProcess/WebCoreSupport/WebChromeClient.h:
4031        * WebProcess/WebPage/WebPage.cpp:
4032        (WebKit::WebPage::videoFullscreenManager):
4033            accessor for m_videoFullscreenManager
4034
4035        * WebProcess/WebPage/WebPage.h:
4036        * WebProcess/WebVideoFullscreenManager.cpp: Added.
4037        (WebKit::WebVideoFullscreenManager::create):
4038        (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
4039        (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
4040            add basic creation for object.
4041
4042        (WebKit::WebVideoFullscreenManager::supportsFullscreen):
4043        (WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
4044        (WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
4045            implement interface called by WebChromeClient
4046
4047        (WebKit::WebVideoFullscreenManager::setDuration):
4048        (WebKit::WebVideoFullscreenManager::setCurrentTime):
4049        (WebKit::WebVideoFullscreenManager::setRate):
4050        (WebKit::WebVideoFullscreenManager::setVideoDimensions):
4051        (WebKit::WebVideoFullscreenManager::setVideoLayer):
4052        (WebKit::WebVideoFullscreenManager::setVideoLayerID):
4053        (WebKit::WebVideoFullscreenManager::enterFullscreen):
4054        (WebKit::WebVideoFullscreenManager::exitFullscreen):
4055            implement WebVideoFullscreenInterface to send IPC message.
4056
4057        * WebProcess/WebVideoFullscreenManager.h: Added.
4058        * WebProcess/WebVideoFullscreenManager.messages.in: Added.
4059            this interface closely matches WebVideoFullscreenModel
4060
40612014-02-06  Anders Carlsson  <andersca@apple.com>
4062
4063        Begin work on making preferences per page instead of per page group
4064        https://bugs.webkit.org/show_bug.cgi?id=128349
4065
4066        Reviewed by Andreas Kling.
4067
4068        * UIProcess/API/C/WKPageGroup.cpp:
4069        (WKPageGroupGetPreferences):
4070        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
4071        (WKPageIsURLKnownHSTSHost):
4072        * UIProcess/API/mac/WKView.mm:
4073        (-[WKView _preferencesDidChange]):
4074        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
4075        * UIProcess/WebContext.cpp:
4076        (WebKit::WebContext::createWebPage):
4077        * UIProcess/WebInspectorProxy.cpp:
4078        (WebKit::WebInspectorPageGroups::createInspectorPageGroup):
4079        (WebKit::WebInspectorProxy::attach):
4080        (WebKit::WebInspectorProxy::detach):
4081        (WebKit::WebInspectorProxy::setAttachedWindowHeight):
4082        (WebKit::WebInspectorProxy::setAttachedWindowWidth):
4083        (WebKit::WebInspectorProxy::createInspectorPage):
4084        (WebKit::WebInspectorProxy::shouldOpenAttached):
4085        * UIProcess/WebPageGroup.cpp:
4086        (WebKit::WebPageGroup::preferences):
4087        * UIProcess/WebPageGroup.h:
4088        * UIProcess/WebPageProxy.cpp:
4089        (WebKit::WebPageProxy::create):
4090        (WebKit::WebPageProxy::WebPageProxy):
4091        (WebKit::WebPageProxy::isProcessSuppressible):
4092        (WebKit::WebPageProxy::canShowMIMEType):
4093        (WebKit::WebPageProxy::preferencesDidChange):
4094        (WebKit::WebPageProxy::creationParameters):
4095        * UIProcess/WebPageProxy.h:
4096        (WebKit::WebPageProxy::preferences):
4097        (WebKit::WebPageProxy::setPreferences):
4098        * UIProcess/WebProcessProxy.cpp:
4099        (WebKit::WebProcessProxy::createWebPage):
4100        * UIProcess/mac/ViewGestureController.mm:
4101        (WebKit::ViewGestureController::beginSwipeGesture):
4102        * UIProcess/mac/WebInspectorProxyMac.mm:
4103        (WebKit::WebInspectorProxy::createInspectorWindow):
4104        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
4105        (WebKit::WebInspectorProxy::windowFrameDidChange):
4106        (WebKit::WebInspectorProxy::platformAttach):
4107
41082014-02-06  Gavin Barraclough  <barraclough@apple.com>
4109
4110        Remove ChildProcess::m_activeTasks
4111        https://bugs.webkit.org/show_bug.cgi?id=128342
4112
4113        Reviewed by Anders Carlson.
4114
4115        Currently we funnel a number of different user activities
4116        to a single UserActivity object, which requires a call down
4117        from WebCore to WebKit2. Split these out so we can track
4118        them separately.
4119
4120        * PluginProcess/PluginProcess.cpp:
4121        (WebKit::PluginProcess::PluginProcess):
4122            - added m_connectionActivity.
4123        * PluginProcess/PluginProcess.h:
4124        (WebKit::PluginProcess::connectionActivity):
4125            - added m_connectionActivity.
4126        * PluginProcess/WebProcessConnection.cpp:
4127        (WebKit::WebProcessConnection::didReceiveSyncMessage):
4128        (WebKit::WebProcessConnection::destroyPlugin):
4129        (WebKit::WebProcessConnection::createPlugin):
4130            - use connectionActivity
4131        * PluginProcess/mac/PluginProcessMac.mm:
4132        (WebKit::PluginProcess::platformInitializeProcess):
4133            - use a separate UserActivity for Java.
4134        * Shared/ActivityAssertion.cpp:
4135        (WebKit::ActivityAssertion::ActivityAssertion):
4136        (WebKit::ActivityAssertion::~ActivityAssertion):
4137        * Shared/ActivityAssertion.h:
4138            - ChildProcess -> UserActivity
4139        * Shared/ChildProcess.cpp:
4140        (WebKit::ChildProcess::ChildProcess):
4141        * Shared/ChildProcess.h:
4142            - remove m_activeTasks.
4143        (WebKit::ChildProcess::processSuppressionEnabled):
4144        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4145        * WebProcess/WebCoreSupport/WebChromeClient.h:
4146            - removed [inc|dec]rementActivePageCount
4147
41482014-02-06  Pratik Solanki  <psolanki@apple.com>
4149
4150        [iOS] WebKit2 can't access the GPU
4151        https://bugs.webkit.org/show_bug.cgi?id=128345
4152        <rdar://problem/15976084>
4153
4154        Reviewed by Tim Horton.
4155
4156        Add an entitlement to allow web process to access GPU.
4157
4158        * Configurations/WebContent-iOS.entitlements: Added.
4159        * Configurations/WebContentService.Development.xcconfig:
4160        * Configurations/WebContentService.xcconfig:
4161
41622014-02-06  Pratik Solanki  <psolanki@apple.com>
4163
4164        [iOS][WebKit2] Remove JoinExistingSession from plist
4165        https://bugs.webkit.org/show_bug.cgi?id=128318
4166        <rdar://problem/15971612>
4167
4168        Reviewed by Tim Horton.
4169
4170        Remove JoinExistingSession key that is not available on iOS.
4171
4172        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
4173        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
4174        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
4175        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
4176
41772014-02-06  Anders Carlsson  <andersca@apple.com>
4178
4179        Fix build.
4180
4181        * UIProcess/API/Cocoa/WKWebView.mm:
4182        (-[WKWebView _remoteObjectRegistry]):
4183
41842014-02-06  Benjamin Poulain  <bpoulain@apple.com>
4185
4186        Fix the setter definition from r163514.
4187
4188        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
4189
41902014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
4191
4192        [iOS] Remove duplicate call to RunLoop::initializeMainRunLoop
4193        https://bugs.webkit.org/show_bug.cgi?id=128328
4194
4195        Reviewed by Dan Bernstein.
4196
4197        * UIProcess/API/ios/WKContentView.mm:
4198        (-[WKContentView initWithFrame:configuration:]):
4199        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
4200
42012014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
4202
4203        [iOS] Set UIProcess pid in WebProcess initialization for Remote Inspector
4204        https://bugs.webkit.org/show_bug.cgi?id=128338
4205
4206        Reviewed by Sam Weinig.
4207
4208        * WebProcess/ios/WebProcessIOS.mm:
4209        (WebKit::WebProcess::platformInitializeWebProcess):
4210
42112014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
4212
4213        Web Inspector: Add Console support to JSContext Inspection
4214        https://bugs.webkit.org/show_bug.cgi?id=127941
4215
4216        Reviewed by Geoffrey Garen.
4217
4218        * WebProcess/WebCoreSupport/WebChromeClient.h:
4219
42202014-02-06  Anders Carlsson  <andersca@apple.com>
4221
4222        Add preferences property to WKWebViewConfiguration
4223        https://bugs.webkit.org/show_bug.cgi?id=128337
4224
4225        Reviewed by Sam Weinig.
4226
4227        Also use RetainPtr for processClass and preferences so we won't leak them.
4228
4229        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
4230        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
4231        (-[WKWebViewConfiguration copyWithZone:]):
4232        (-[WKWebViewConfiguration processClass]):
4233        (-[WKWebViewConfiguration setProcessClass:]):
4234        (-[WKWebViewConfiguration preferences]):
4235        (-[WKWebViewConfiguration setPreferences:]):
4236
42372014-02-06  Anders Carlsson  <andersca@apple.com>
4238
4239        Add a remoteObjectRegistry property to WKWebView
4240        https://bugs.webkit.org/show_bug.cgi?id=128331
4241
4242        Reviewed by Tim Horton.
4243
4244        * UIProcess/API/Cocoa/WKWebView.mm:
4245        (-[WKWebView resizeSubviewsWithOldSize:]):
4246        (-[WKWebView _remoteObjectRegistry]):
4247        * UIProcess/API/Cocoa/WKWebViewInternal.h:
4248        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
4249
42502014-02-06  Anders Carlsson  <andersca@apple.com>
4251
4252        Add WKNavigationResponse class
4253        https://bugs.webkit.org/show_bug.cgi?id=128326
4254
4255        Reviewed by Dan Bernstein.
4256
4257        * UIProcess/API/Cocoa/WKFrameInfo.mm:
4258        (-[WKFrameInfo initWithWebFrameProxy:WebKit::]):
4259        * UIProcess/API/Cocoa/WKFrameInfoInternal.h:
4260        * UIProcess/API/Cocoa/WKNavigationResponse.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
4261        * UIProcess/API/Cocoa/WKNavigationResponse.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
4262        (-[WKNavigationResponse frame]):
4263        (-[WKNavigationResponse setFrame:]):
4264        (-[WKNavigationResponse response]):
4265        (-[WKNavigationResponse setResponse:]):
4266        * UIProcess/API/Cocoa/WKNavigationResponseInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h.
4267        * UIProcess/Cocoa/NavigationState.mm:
4268        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
4269        (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
4270        * WebKit2.xcodeproj/project.pbxproj:
4271
42722014-02-06  Anders Carlsson  <andersca@apple.com>
4273
4274        Replace ’ with ' to silence the check-for-webkit-framework-include-consistency script.
4275
4276        * UIProcess/API/Cocoa/WKWebView.h:
4277
42782014-02-06  Anders Carlsson  <andersca@apple.com>
4279
4280        Add backForwardList property to WKWebView
4281        https://bugs.webkit.org/show_bug.cgi?id=128320
4282
4283        Reviewed by Tim Horton.
4284
4285        * UIProcess/API/Cocoa/WKWebView.h:
4286        * UIProcess/API/Cocoa/WKWebView.mm:
4287        (-[WKWebView backForwardList]):
4288
42892014-02-06  Anders Carlsson  <andersca@apple.com>
4290
4291        The source frame request is not the same thing as the original request
4292        https://bugs.webkit.org/show_bug.cgi?id=128317
4293
4294        Reviewed by Andreas Kling.
4295
4296        Grab the source frame URL From the WebFrameProxy object.
4297
4298        * UIProcess/Cocoa/NavigationState.mm:
4299        (WebKit::frameInfoFromWebFrameProxy):
4300        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
4301
43022014-02-06  Brady Eidson  <beidson@apple.com>
4303
4304        IDB: storage/indexeddb/mozilla/clear.html fails
4305        <rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282
4306
4307        Reviewed by David Kilzer.
4308
4309        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
4310        (WebKit::DatabaseProcessIDBConnection::openTransaction): Update logging.
4311
4312        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
4313        (WebKit::SQLiteIDBTransaction::commit): Update ASSERT.
4314
43152014-02-06  Csaba Osztrogonác  <ossy@webkit.org>
4316
4317        Fix the build after r163516 for !ENABLE(ASYNC_SCROLLING) platforms
4318        https://bugs.webkit.org/show_bug.cgi?id=128299
4319
4320        Reviewed by Antti Koivisto.
4321
4322        * UIProcess/WebPageProxy.cpp:
4323        (WebKit::WebPageProxy::handleTouchEvent):
4324
43252014-02-05  Gavin Barraclough  <barraclough@apple.com>
4326
4327        Change Page, FocusController to use ViewState
4328        https://bugs.webkit.org/show_bug.cgi?id=126533
4329
4330        Reviewed by Tim Horton.
4331
4332        These classes currently maintain a set of separate fields to represent the view state;
4333        combine these into a single field, and allow WebPage to send the combined update rather
4334        than individual changes.
4335
4336        Maintain existing interface for WebKit1 clients.
4337
4338        * WebProcess/WebPage/WebPage.cpp:
4339        (WebKit::WebPage::WebPage):
4340            - Combined separate calls to Page::setViewState.
4341        (WebKit::WebPage::updateIsInWindow):
4342            - Simplied from setIsInWindow.
4343        (WebKit::WebPage::setViewState):
4344            - Combined separate calls to Page::setViewState.
4345        * WebProcess/WebPage/WebPage.h:
4346            - Declare updateIsInWindow.
4347
43482014-02-05  Zan Dobersek  <zdobersek@igalia.com>
4349
4350        Unreviewed GTK build fix after r163480.
4351
4352        * GNUmakefile.list.am: Removing the WebUIClient build targets.
4353
43542014-02-05  Simon Fraser  <simon.fraser@apple.com>
4355
4356        Transfer the non-fast-scrollable region to the UI process for iOS
4357        https://bugs.webkit.org/show_bug.cgi?id=128293
4358
4359        Reviewed by Benjamin Poulain.
4360
4361        Two main changes to support sending the non-fast scrollable region
4362        to the UI process for iOS:
4363        
4364        1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
4365        which is called when we've updated the touch event region (this can happen
4366        independenly of layout). When called we just scheduled a scrolling tree
4367        commit with the new region.
4368        
4369        2. Avoid thinking that we have a new root node with every remote scrolling
4370        transaction. This was a side-effect of reconstructing the scrolling state
4371        tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
4372        from a node which never had one set.
4373        
4374        Now that we have the non-fast scrollable region in the UI process, we can
4375        use it to avoid sending sync messages to the web process.
4376        
4377        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
4378        (ArgumentCoder<ScrollingStateScrollingNode>::encode): Encode hasNewRootNode.
4379        (ArgumentCoder<ScrollingStateScrollingNode>::decode): Decode hasNewRootNode and set it on
4380        the state tree.
4381        (WebKit::RemoteScrollingCoordinatorTransaction::encode): Encode the nonFastScrollableRegion
4382        now that we can encode Regions.
4383        (WebKit::RemoteScrollingCoordinatorTransaction::decode): Decode the nonFastScrollableRegion
4384        now that we can decode Regions.
4385        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
4386        (WebKit::RemoteScrollingCoordinatorProxy::isPointInNonFastScrollableRegion):
4387        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
4388        * UIProcess/WebPageProxy.cpp:
4389        (WebKit::WebPageProxy::handleTouchEvent): If we're not in the non-fast scrollable region,
4390        don't both sending touch events to the web process.
4391
43922014-02-05  Benjamin Poulain  <benjamin@webkit.org>
4393
4394        [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited
4395        https://bugs.webkit.org/show_bug.cgi?id=127886
4396
4397        Reviewed by Simon Fraser.
4398
4399        * Shared/mac/RemoteLayerTreeTransaction.h:
4400        (WebKit::RemoteLayerTreeTransaction::mainFrameContentsSize):
4401        (WebKit::RemoteLayerTreeTransaction::setMainFrameContentsSize):
4402        (WebKit::RemoteLayerTreeTransaction::pageScaleFactor):
4403        (WebKit::RemoteLayerTreeTransaction::setPageScaleFactor):
4404        (WebKit::RemoteLayerTreeTransaction::minimumScaleFactor):
4405        (WebKit::RemoteLayerTreeTransaction::setMinimumScaleFactor):
4406        (WebKit::RemoteLayerTreeTransaction::maximumScaleFactor):
4407        (WebKit::RemoteLayerTreeTransaction::setMaximumScaleFactor):
4408        (WebKit::RemoteLayerTreeTransaction::allowsUserScaling):
4409        (WebKit::RemoteLayerTreeTransaction::setAllowsUserScaling):
4410        * Shared/mac/RemoteLayerTreeTransaction.mm:
4411        (WebKit::RemoteLayerTreeTransaction::encode):
4412        (WebKit::RemoteLayerTreeTransaction::decode):
4413        * UIProcess/API/ios/PageClientImplIOS.h:
4414        * UIProcess/API/ios/PageClientImplIOS.mm:
4415        (WebKit::PageClientImpl::didCommitLayerTree):
4416        * UIProcess/API/ios/WKContentView.h:
4417        * UIProcess/API/ios/WKContentView.mm:
4418        (-[WKContentView setMinimumLayoutSize:]):
4419        (-[WKContentView willStartUserTriggeredZoom]):
4420        (-[WKContentView _didCommitLayerTree:WebKit::]):
4421        * UIProcess/API/ios/WKContentViewInternal.h:
4422        * UIProcess/API/ios/WKViewIOS.mm:
4423        (-[WKView contentViewDidCommitLoadForMainFrame:]):
4424        (-[WKView contentView:didCommitLayerTree:WebKit::]):
4425        (-[WKView scrollViewWillBeginZooming:withView:]):
4426        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
4427        (-[WKView _frameOrBoundsChanged]):
4428        (-[WKView minimumLayoutSizeOverride]):
4429        (-[WKView setMinimumLayoutSizeOverride:]):
4430        * UIProcess/PageClient.h:
4431        * UIProcess/WebPageProxy.cpp:
4432        * UIProcess/WebPageProxy.h:
4433        * UIProcess/WebPageProxy.messages.in:
4434        * UIProcess/ios/WebPageProxyIOS.mm:
4435        (WebKit::WebPageProxy::setVirtualViewportMinimumLayoutSize):
4436        (WebKit::WebPageProxy::didCommitLayerTree):
4437        (WebKit::WebPageProxy::willStartUserTriggeredZooming):
4438        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
4439        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
4440        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
4441        (WebKit::WebChromeClient::contentsSizeChanged):
4442        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
4443        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
4444        (WebKit::WebChromeClient::didReceiveMobileDocType):
4445        * WebProcess/WebPage/WebPage.cpp:
4446        (WebKit::WebPage::WebPage):
4447        (WebKit::WebPage::mainFrameDidLayout):
4448        (WebKit::WebPage::didCommitLoad):
4449        * WebProcess/WebPage/WebPage.h:
4450        * WebProcess/WebPage/WebPage.messages.in:
4451        * WebProcess/WebPage/ios/WebPageIOS.mm:
4452        (WebKit::WebPage::viewportPropertiesDidChange):
4453        (WebKit::WebPage::minimumPageScaleFactor):
4454        (WebKit::WebPage::maximumPageScaleFactor):
4455        (WebKit::WebPage::allowsUserScaling):
4456        (WebKit::WebPage::setVirtualViewportMinimumLayoutSize):
4457        (WebKit::WebPage::virtualViewportChanged):
4458        (WebKit::WebPage::willStartUserTriggeredZooming):
4459        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
4460        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
4461
44622014-02-05  Benjamin Poulain  <bpoulain@apple.com>
4463
4464        [WK2] Add the minimumLayoutSizeOverride SPI to WKWebView
4465        https://bugs.webkit.org/show_bug.cgi?id=128295
4466
4467        Reviewed by Anders Carlsson.
4468
4469        * UIProcess/API/Cocoa/WKWebView.mm:
4470        (-[WKWebView minimumLayoutSizeOverride]):
4471        (-[WKWebView setMinimumLayoutSizeOverride:]):
4472        * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added.
4473        * WebKit2.xcodeproj/project.pbxproj:
4474
44752014-02-05  Simon Fraser  <simon.fraser@apple.com>
4476
4477        Support encoding and decoding of Regions
4478        https://bugs.webkit.org/show_bug.cgi?id=128284
4479
4480        Reviewed by Anders Carlsson.
4481        
4482        Support encoding and decoding of Region, and its internal
4483        struct Region::Span.
4484        
4485        ArgumentCoders had to be taught about how to encode
4486        Vectors with inline capacity.
4487
4488        * Platform/IPC/ArgumentCoders.h:
4489        * Shared/WebCoreArgumentCoders.cpp:
4490        (IPC::ArgumentCoder<Region::Span>::encode):
4491        (IPC::ArgumentCoder<Region::Span>::decode):
4492        (IPC::ArgumentCoder<Region>::encode):
4493        (IPC::ArgumentCoder<Region>::decode):
4494        * Shared/WebCoreArgumentCoders.h:
4495
44962014-02-05  Anders Carlsson  <andersca@apple.com>
4497
4498        Add -[WKNavigationAction request]
4499        https://bugs.webkit.org/show_bug.cgi?id=128288
4500
4501        Reviewed by Andreas Kling.
4502
4503        * UIProcess/API/Cocoa/WKNavigationAction.h:
4504        * UIProcess/API/Cocoa/WKNavigationAction.mm:
4505        (-[WKNavigationAction request]):
4506        (-[WKNavigationAction setRequest:]):
4507        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
4508        * UIProcess/Cocoa/NavigationState.mm:
4509        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
4510
45112014-02-05  Sam Weinig  <sam@webkit.org>
4512
4513        [WebKit2, FTL] Add user default to enable the FTL
4514        https://bugs.webkit.org/show_bug.cgi?id=128281
4515
4516        Reviewed by Geoffrey Garen.
4517
4518        * Shared/WebProcessCreationParameters.cpp:
4519        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
4520        (WebKit::WebProcessCreationParameters::encode):
4521        (WebKit::WebProcessCreationParameters::decode):
4522        * Shared/WebProcessCreationParameters.h:
4523        * UIProcess/mac/WebContextMac.mm:
4524        (WebKit::registerUserDefaultsIfNeeded):
4525        (WebKit::WebContext::platformInitializeWebProcess):
4526        * WebProcess/mac/WebProcessMac.mm:
4527        (WebKit::WebProcess::platformInitializeWebProcess):
4528        Pipe through the default.
4529
45302014-02-05  Anders Carlsson  <andersca@apple.com>
4531
4532        Add sourceFrame to WKNavigationAction
4533        https://bugs.webkit.org/show_bug.cgi?id=128280
4534
4535        Reviewed by Dan Bernstein.
4536
4537        * UIProcess/API/Cocoa/WKFrameInfo.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
4538        * UIProcess/API/Cocoa/WKFrameInfo.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
4539        (-[WKFrameInfo request]):
4540        (-[WKFrameInfo setRequest:]):
4541        * UIProcess/API/Cocoa/WKFrameInfoInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
4542        * UIProcess/API/Cocoa/WKNavigationAction.h:
4543        * UIProcess/API/Cocoa/WKNavigationAction.mm:
4544        (-[WKNavigationAction sourceFrame]):
4545        (-[WKNavigationAction setSourceFrame:]):
4546        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
4547        * UIProcess/Cocoa/NavigationState.mm:
4548        (WebKit::frameInfoFromWebFrameProxy):
4549        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
4550        * WebKit2.xcodeproj/project.pbxproj:
4551
45522014-02-05  Enrica Casucci  <enrica@apple.com>
4553
4554        WK2: Tap highlight is positioned incorrectly in iframes.
4555        https://bugs.webkit.org/show_bug.cgi?id=128277
4556        <rdar://problem/15975993>
4557
4558        Reviewed by Benjamin Poulain.
4559
4560        We need to convert the quad to root view coordinates
4561        before returning it to the UIProcess for drawing the highlight.
4562
4563        * WebProcess/WebPage/ios/WebPageIOS.mm:
4564        (WebKit::WebPage::tapHighlightAtPosition):
4565
45662014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>
4567
4568        Unreviewed build fix attempt on EFL build after r163480
4569
4570        * CMakeLists.txt: Removed WebUIClient.cpp from source lists.
4571
45722014-02-05  Oliver Hunt  <oliver@apple.com>
4573
4574        Change custom getter signature to make the base reference an object pointer
4575        https://bugs.webkit.org/show_bug.cgi?id=128279
4576
4577        Reviewed by Geoffrey Garen.
4578
4579        Update everything to the new calling convention.
4580
4581        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
4582        (WebKit::JSNPObject::propertyGetter):
4583        (WebKit::JSNPObject::methodGetter):
4584        * WebProcess/Plugins/Netscape/JSNPObject.h:
4585
45862014-02-05  Andreas Kling  <akling@apple.com>
4587
4588        Remove ENABLE(DIRECTORY_UPLOAD).
4589        <https://webkit.org/b/128275>
4590
4591        Rubber-stamped by Ryosuke Niwa.
4592
4593        * Configurations/FeatureDefines.xcconfig:
4594        * Shared/WebCoreArgumentCoders.cpp:
4595        (IPC::ArgumentCoder<FileChooserSettings>::encode):
4596        (IPC::ArgumentCoder<FileChooserSettings>::decode):
4597
45982014-02-05  Brady Eidson  <beidson@apple.com>
4599
4600        IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
4601        https://bugs.webkit.org/show_bug.cgi?id=128257
4602
4603        Reviewed by Sam Weinig.
4604
4605        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
4606        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Write the correct key to the index if it was auto generated.
4607        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If this is an auto increment object store with
4608          a non-empty key path, save the key path to the get result.
4609
4610        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
4611        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
4612        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): The IndexRecord schema shouldn’t
4613          have key uniqueness.
4614        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): Take IDBKeyData instead of IDBKey.
4615        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Fill in the primary key from the fetch.
4616        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
4617
46182014-02-05  Anders Carlsson  <andersca@apple.com>
4619
4620        Get rid of WebUIClient
4621        https://bugs.webkit.org/show_bug.cgi?id=128274
4622
4623        Reviewed by Andreas Kling.
4624
4625        * UIProcess/API/APIUIClient.h: Added.
4626        (API::UIClient::~UIClient):
4627        (API::UIClient::createNewPage):
4628        (API::UIClient::showPage):
4629        (API::UIClient::close):
4630        (API::UIClient::takeFocus):
4631        (API::UIClient::focus):
4632        (API::UIClient::unfocus):
4633        (API::UIClient::runJavaScriptAlert):
4634        (API::UIClient::runJavaScriptConfirm):
4635        (API::UIClient::runJavaScriptPrompt):
4636        (API::UIClient::setStatusText):
4637        (API::UIClient::mouseDidMoveOverElement):
4638        (API::UIClient::unavailablePluginButtonClicked):
4639        (API::UIClient::implementsDidNotHandleKeyEvent):
4640        (API::UIClient::didNotHandleKeyEvent):
4641        (API::UIClient::implementsDidNotHandleWheelEvent):
4642        (API::UIClient::didNotHandleWheelEvent):
4643        (API::UIClient::toolbarsAreVisible):
4644        (API::UIClient::setToolbarsAreVisible):
4645        (API::UIClient::menuBarIsVisible):
4646        (API::UIClient::setMenuBarIsVisible):
4647        (API::UIClient::statusBarIsVisible):
4648        (API::UIClient::setStatusBarIsVisible):
4649        (API::UIClient::isResizable):
4650        (API::UIClient::setIsResizable):
4651        (API::UIClient::setWindowFrame):
4652        (API::UIClient::windowFrame):
4653        (API::UIClient::canRunBeforeUnloadConfirmPanel):
4654        (API::UIClient::runBeforeUnloadConfirmPanel):
4655        (API::UIClient::didDraw):
4656        (API::UIClient::pageDidScroll):
4657        (API::UIClient::exceededDatabaseQuota):
4658        (API::UIClient::runOpenPanel):
4659        (API::UIClient::decidePolicyForGeolocationPermissionRequest):
4660        (API::UIClient::decidePolicyForNotificationPermissionRequest):
4661        (API::UIClient::headerHeight):
4662        (API::UIClient::footerHeight):
4663        (API::UIClient::drawHeader):
4664        (API::UIClient::drawFooter):
4665        (API::UIClient::printFrame):
4666        (API::UIClient::canRunModal):
4667        (API::UIClient::runModal):
4668        (API::UIClient::saveDataToFileInDownloadsFolder):
4669        (API::UIClient::shouldInterruptJavaScript):
4670        (API::UIClient::showColorPicker):
4671        (API::UIClient::hideColorPicker):
4672        * UIProcess/API/C/WKPage.cpp:
4673        (WKPageSetPageUIClient):
4674        * UIProcess/WebPageProxy.cpp:
4675        (WebKit::WebPageProxy::WebPageProxy):
4676        (WebKit::WebPageProxy::setUIClient):
4677        (WebKit::WebPageProxy::close):
4678        (WebKit::WebPageProxy::createNewPage):
4679        (WebKit::WebPageProxy::showPage):
4680        (WebKit::WebPageProxy::closePage):
4681        (WebKit::WebPageProxy::runJavaScriptAlert):
4682        (WebKit::WebPageProxy::runJavaScriptConfirm):
4683        (WebKit::WebPageProxy::runJavaScriptPrompt):
4684        (WebKit::WebPageProxy::shouldInterruptJavaScript):
4685        (WebKit::WebPageProxy::setStatusText):
4686        (WebKit::WebPageProxy::mouseDidMoveOverElement):
4687        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
4688        (WebKit::WebPageProxy::setToolbarsAreVisible):
4689        (WebKit::WebPageProxy::getToolbarsAreVisible):
4690        (WebKit::WebPageProxy::setMenuBarIsVisible):
4691        (WebKit::WebPageProxy::getMenuBarIsVisible):
4692        (WebKit::WebPageProxy::setStatusBarIsVisible):
4693        (WebKit::WebPageProxy::getStatusBarIsVisible):
4694        (WebKit::WebPageProxy::setIsResizable):
4695        (WebKit::WebPageProxy::getIsResizable):
4696        (WebKit::WebPageProxy::setWindowFrame):
4697        (WebKit::WebPageProxy::getWindowFrame):
4698        (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
4699        (WebKit::WebPageProxy::pageDidScroll):
4700        (WebKit::WebPageProxy::runOpenPanel):
4701        (WebKit::WebPageProxy::printFrame):
4702        (WebKit::WebPageProxy::didDraw):
4703        (WebKit::WebPageProxy::setFocus):
4704        (WebKit::WebPageProxy::takeFocus):
4705        (WebKit::WebPageProxy::didReceiveEvent):
4706        (WebKit::WebPageProxy::creationParameters):
4707        (WebKit::WebPageProxy::exceededDatabaseQuota):
4708        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
4709        (WebKit::WebPageProxy::requestNotificationPermission):
4710        (WebKit::WebPageProxy::headerHeight):
4711        (WebKit::WebPageProxy::footerHeight):
4712        (WebKit::WebPageProxy::drawHeader):
4713        (WebKit::WebPageProxy::drawFooter):
4714        (WebKit::WebPageProxy::runModal):
4715        (WebKit::WebPageProxy::setCanRunModal):
4716        (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
4717        * UIProcess/WebPageProxy.h:
4718        * UIProcess/WebUIClient.cpp: Removed.
4719        * UIProcess/WebUIClient.h: Removed.
4720        * UIProcess/mac/WebInspectorProxyMac.mm:
4721        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
4722        * UIProcess/mac/WebPageProxyMac.mm:
4723        (WebKit::WebPageProxy::windowAndViewFramesChanged):
4724        * WebKit2.xcodeproj/project.pbxproj:
4725
47262014-02-05  Enrica Casucci  <enrica@apple.com>
4727
4728        WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe.
4729        https://bugs.webkit.org/show_bug.cgi?id=128264
4730        <rdar://problem/15986954>
4731
4732        Reviewed by Simon Fraser.
4733
4734        Everywhere we return rectangles to the UIProcess, we need to convert them
4735        to root view coordinates. Also, we should allow hit testing to go into child
4736        frames.
4737
4738        * WebProcess/WebPage/WebPage.cpp:
4739        (WebKit::WebPage::editorState):
4740        * WebProcess/WebPage/WebPage.h:
4741        * WebProcess/WebPage/ios/WebPageIOS.mm:
4742        (WebKit::WebPage::selectWithGesture):
4743        (WebKit::WebPage::updateSelectionWithTouches):
4744        (WebKit::WebPage::convertSelectionRectsToRootView):
4745        (WebKit::WebPage::requestAutocorrectionData):
4746        (WebKit::WebPage::getPositionInformation):
4747
47482014-02-05  Dan Bernstein  <mitz@apple.com>
4749
4750        [Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
4751        https://bugs.webkit.org/show_bug.cgi?id=128268
4752
4753        Reviewed by Anders Carlsson.
4754
4755        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
4756        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also
4757        set the length out parameter to 0.
4758
4759        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
4760        (propertyListClasses): Added NSNull.
4761
4762        * Shared/UserData.cpp:
4763        (WebKit::UserData::encode): Encode the Double type.
4764
47652014-02-05  Jer Noble  <jer.noble@apple.com>
4766
4767        [WK2] [iOS] No video on embedded YouTube
4768        https://bugs.webkit.org/show_bug.cgi?id=128237
4769
4770        Reviewed by Sam Weinig.
4771
4772        We were using the wrong #if directive; PLUGIN_PROXY_FOR_VIDEO is an ENABLE not a USE.
4773
4774        * WebProcess/WebPage/WebPage.cpp:
4775        (WebKit::WebPage::updatePreferences):
4776
47772014-02-05  Dan Bernstein  <mitz@apple.com>
4778
4779        [Cocoa] Expose more WKWebProcessPlugInFrame properties
4780        https://bugs.webkit.org/show_bug.cgi?id=128240
4781
4782        Reviewed by Anders Carlsson.
4783
4784        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared new properties.
4785        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
4786        (-[WKWebProcessPlugInFrame URL]): Added.
4787        (-[WKWebProcessPlugInFrame childFrames]): Added.
4788        (-[WKWebProcessPlugInFrame containsAnyFormElements]): Added.
4789
47902014-02-05  Dan Bernstein  <mitz@apple.com>
4791
4792        [Cocoa] Notify WKWebProcessPlugInLoadDelegate when a frame is removed from the frame hierarchy
4793        https://bugs.webkit.org/show_bug.cgi?id=128239
4794
4795        Reviewed by Anders Carlsson.
4796
4797        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new
4798        delegate method.
4799        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
4800        (didRemoveFrameFromHierarchy): Implemented this page loader client callback by calling the
4801        load delegate.
4802        (setUpPageLoaderClient): Set the above callback in the client structure.
4803
48042014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
4805
4806        Remove ENABLE(SVG) guards
4807        https://bugs.webkit.org/show_bug.cgi?id=127991
4808
4809        Reviewed by Sam Weinig.
4810
4811        * Configurations/FeatureDefines.xcconfig:
4812        * GNUmakefile.am:
4813
48142014-02-05  Zan Dobersek  <zdobersek@igalia.com>
4815
4816        [GTK] Replace DEFINE_STATIC_LOCAL with NeverDestroyed<T> in GTK WK1 and WK2 code
4817        https://bugs.webkit.org/show_bug.cgi?id=128195
4818
4819        Reviewed by Martin Robinson.
4820
4821        Use static NeverDestroyed<T> variables instead of the DEFINE_STATIC_LOCAL macro.
4822
4823        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
4824        (historyItemsMap):
4825        * UIProcess/API/gtk/WebKitWebContext.cpp:
4826        (downloadsMap):
4827        * UIProcess/gtk/WebPageProxyGtk.cpp:
4828        (WebKit::pluginWindowMap):
4829        * WebProcess/gtk/WebGtkExtensionManager.cpp:
4830        (WebKit::WebGtkExtensionManager::shared):
4831        * WebProcess/gtk/WebGtkExtensionManager.h:
4832
48332014-02-04  Andreas Kling  <akling@apple.com>
4834
4835        Remove <iframe seamless> support.
4836        <https://webkit.org/b/128213>
4837
4838        Rubber-stamped by Antti Koivisto.
4839
4840        * Configurations/FeatureDefines.xcconfig:
4841        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
4842        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
4843        * WebProcess/InjectedBundle/InjectedBundle.cpp:
4844        * WebProcess/InjectedBundle/InjectedBundle.h:
4845
48462014-02-04  Tim Horton  <timothy_horton@apple.com>
4847
4848        [iOS][wk2] Make development builds of WebKit work on device
4849        https://bugs.webkit.org/show_bug.cgi?id=128230
4850
4851        Reviewed by Anders Carlsson.
4852
4853        * Configurations/NetworkService.Development.xcconfig:
4854        * Configurations/WebContentService.Development.xcconfig:
4855        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
4856        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
4857        * WebKit2.xcodeproj/project.pbxproj:
4858        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Renamed from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist.
4859        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
4860        The Development services should match the non-Development version's behavior
4861        of having separate plists for OS X and iOS.
4862
48632014-02-04  Brady Eidson  <beidson@apple.com>
4864
4865        IDB: indexeddb/mozilla/add-twice-failure.html fails
4866        <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208
4867
4868        Reviewed by Tim Horton.
4869
4870        Note that besides making indexeddb/mozilla/add-twice-failure.html pass this also makes some other tests
4871        pass and also improves the failure modes of others.
4872
4873        A full accounting of which tests pass is coming soon.
4874
4875        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
4876        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): After checking for existence of the key and before
4877          adding the record, remove any previous record. (Defined by the spec, found exploring this test).
4878
4879        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
4880        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
4881        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): Implement this.
4882        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Add a form to be used as mentioned above in
4883          UniqueIDBDatabase::putRecordInBackingStore.
4884        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): CAST the key argument properly.
4885        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): Ditto.
4886        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
4887
48882014-02-04  Dan Bernstein  <mitz@apple.com>
4889
4890        [Cocoa] Expose more WKWebProcessPlugInNodeHandle properties
4891        https://bugs.webkit.org/show_bug.cgi?id=128219
4892
4893        Reviewed by Anders Carlsson.
4894
4895        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Declared new
4896        properties.
4897        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
4898        (-[WKWebProcessPlugInNodeHandle elementBounds]): Added.
4899        (-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]): Added.
4900        (-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]): Added.
4901        (-[WKWebProcessPlugInNodeHandle HTMLInputELementIsUserEdited]): Added.
4902        (-[WKWebProcessPlugInNodeHandle HTMLTextAreaELementIsUserEdited]): Added.
4903        (-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]): Added.
4904        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Rolled
4905        Internal category into the class extension.
4906
4907        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Declared
4908        -clearWrappers.
4909        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
4910        (-[WKWebProcessPlugInScriptWorld clearWrappers]): Added. Calls through to clearWrappers().
4911        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Rolled
4912        Internal category into the class extension.
4913
49142014-02-04  Alexey Proskuryakov  <ap@apple.com>
4915
4916        webKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when there are no cookies
4917        https://bugs.webkit.org/show_bug.cgi?id=128201
4918
4919        Reviewed by Sam Weinig.
4920
4921        * Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
4922        Return null when NetworkProcess provided a null string, don't build a header dictionary
4923        with an empty Cookie value.
4924
49252014-02-04  Anders Carlsson  <andersca@apple.com>
4926
4927        Add a WKNavigationAction object
4928        https://bugs.webkit.org/show_bug.cgi?id=128212
4929
4930        Reviewed by Dan Bernstein.
4931
4932        * UIProcess/API/Cocoa/WKNavigationAction.h: Added.
4933        (NS_ENUM):
4934        * UIProcess/API/Cocoa/WKNavigationAction.mm: Added.
4935        * UIProcess/API/Cocoa/WKNavigationActionInternal.h: Added.
4936        * UIProcess/Cocoa/NavigationState.mm:
4937        (WebKit::toWKNavigationType):
4938        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
4939        * WebKit2.xcodeproj/project.pbxproj:
4940
49412014-02-04  Anders Carlsson  <andersca@apple.com>
4942
4943        Add back/forward related methods to WKWebView
4944        https://bugs.webkit.org/show_bug.cgi?id=128209
4945
4946        Reviewed by Dan Bernstein.
4947
4948        * UIProcess/API/Cocoa/WKWebView.h:
4949        * UIProcess/API/Cocoa/WKWebView.mm:
4950        (-[WKWebView canGoBack]):
4951        (-[WKWebView canGoForward]):
4952        (-[WKWebView goBack]):
4953        (-[WKWebView goForward]):
4954
49552014-02-04  Enrica Casucci  <enrica@apple.com>
4956
4957        WK: Cannot select text inside clickable containers.
4958        https://bugs.webkit.org/show_bug.cgi?id=128197
4959        <rdar://problem/15970890>
4960
4961        Reviewed by Simon Fraser.
4962
4963        When retrieving position information, we first try to
4964        find the node responding to click events because we want
4965        to know whether we are on a link or an image to show
4966        the appropriate action sheet.
4967        We could still have a node responding to click events if
4968        for example we have a DIV with a click handler but that
4969        doesn't require any special handling and we still need to
4970        perform regular hit testing.
4971
4972        * WebProcess/WebPage/ios/WebPageIOS.mm:
4973        (WebKit::WebPage::getPositionInformation):
4974
49752014-02-04  Enrica Casucci  <enrica@apple.com>
4976
4977        WK2: Selection callout bar does not scroll with the selection.
4978        https://bugs.webkit.org/show_bug.cgi?id=128142
4979        <rdar://problem/15970812>
4980
4981        Reviewed by Benjamin Poulain.
4982
4983        Adding notifications to WKContentView to all the delegates
4984        for scrolling and zooming to let WKInteractionView about it.
4985        This allows the interaction assistants to hide the callout
4986        while scrolling or zooming and to fade it in again at the end.
4987
4988        * UIProcess/API/Cocoa/WKWebView.mm:
4989        (-[WKWebView scrollViewWillBeginZooming:withView:]):
4990        (-[WKWebView scrollViewWillBeginDragging:]):
4991        * UIProcess/API/ios/WKContentView.h:
4992        * UIProcess/API/ios/WKContentView.mm:
4993        (-[WKContentView didFinishScrollTo:]):
4994        (-[WKContentView willStartZoomOrScroll]):
4995        (-[WKContentView didZoomToScale:]):
4996        * UIProcess/API/ios/WKInteractionView.h:
4997        * UIProcess/API/ios/WKInteractionView.mm:
4998        (-[WKInteractionView _willStartScrollingOrZooming]):
4999        (-[WKInteractionView _didEndScrollingOrZooming]):
5000        * UIProcess/API/ios/WKViewIOS.mm:
5001        (-[WKView scrollViewWillBeginZooming:withView:]):
5002        (-[WKView scrollViewWillBeginDragging:]):
5003
50042014-02-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
5005
5006        Code cleanup: remove leftover occurrence of ENABLE(GESTURE_EVENTS)
5007        https://bugs.webkit.org/show_bug.cgi?id=128180
5008
5009        Reviewed by Csaba Osztrogonác.
5010
5011        Removed last occurrence of ENABLE(GESTURE_EVENTS).
5012
5013        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
5014        (WebKit::NetscapePlugin::platformHandleMouseEvent):
5015
50162014-02-04  Eunmi Lee  <eunmi15.lee@samsung.com>
5017
5018        [EFL][WK2] ewk_context needs to route InjectedBundle messages correctly.
5019        https://bugs.webkit.org/show_bug.cgi?id=90772
5020
5021        Reviewed by Gyuyoung Kim.
5022
5023        Add APIs to post message to injected bundle and register callback to
5024        get message from injected bundle. When callback is registered,
5025        WKContextInjectedBundleClient is set to get messages from injected bundle.
5026
5027        * UIProcess/API/efl/ewk_context.cpp:
5028        (EwkContext::EwkContext):
5029        (toEwkContext):
5030        (EwkContext::didReceiveMessageFromInjectedBundle):
5031        (EwkContext::didReceiveSynchronousMessageFromInjectedBundle):
5032        (EwkContext::setMessageFromInjectedBundleCallback): register callback to get message from injected bundle.
5033        (EwkContext::processReceivedMessageFromInjectedBundle): process message from injected bundle.
5034        (ewk_context_message_post_to_injected_bundle):
5035        (ewk_context_message_from_injected_bundle_callback_set):
5036        * UIProcess/API/efl/ewk_context.h:
5037        * UIProcess/API/efl/ewk_context_private.h:
5038
50392014-02-04  Jinwoo Song  <jinwoo7.song@samsung.com>
5040
5041        [EFL][WK2] Stop using COMPILE_ASSERT_MATCHING_ENUM macros in EFL WebKit2
5042        https://bugs.webkit.org/show_bug.cgi?id=128156
5043
5044        Reviewed by Anders Carlsson.
5045
5046        * UIProcess/API/efl/EwkView.cpp:
5047        (EwkView::requestPopupMenu):
5048        * UIProcess/API/efl/ewk_context.cpp:
5049        (toWKCacheModel):
5050        (EwkContext::setCacheModel):
5051        * UIProcess/API/efl/ewk_cookie_manager.cpp:
5052        (ewk_cookie_manager_persistent_storage_set):
5053        (ewk_cookie_manager_accept_policy_set):
5054        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
5055        (toEwkNavigationType):
5056        (toEventMouseButton):
5057        (toEventModifierKeys):
5058        (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
5059        (EwkNavigationPolicyDecision::navigationType):
5060        (EwkNavigationPolicyDecision::mouseButton):
5061        (EwkNavigationPolicyDecision::modifiers):
5062        (ewk_navigation_policy_decision_download):
5063        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
5064        (EwkNavigationPolicyDecision::create):
5065        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
5066        (EwkPopupMenuItem::type):
5067        (EwkPopupMenuItem::textDirection):
5068        * UIProcess/API/efl/ewk_private.h:
5069        * UIProcess/API/efl/ewk_view.cpp:
5070        (toWKFindOptions):
5071        (ewk_view_text_find):
5072        (toWKPaginationMode):
5073        (toEwkPaginationMode):
5074        (ewk_view_pagination_mode_set):
5075        (ewk_view_pagination_mode_get):
5076
50772014-02-03  Brady Eidson  <beidson@apple.com>
5078
5079        Unreviewed build fix after http://trac.webkit.org/changeset/163364
5080
5081        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5082        (WebKit::getObjectStoreStatement): Args need the new names, and I need to save the file before committing.  :(
5083
50842014-02-03  Brady Eidson  <beidson@apple.com>
5085
5086        IDB: HTML5 Rocks Indexed Database demo fails
5087        https://bugs.webkit.org/show_bug.cgi?id=128157
5088
5089        Reviewed by Anders Carlsson (Provisional review by Jon Lee)
5090
5091        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5092        (WebKit::getIndexStatement): Only increment the open/closed counters if those keys exist.
5093          Fix order of statements for no lower key.
5094        (WebKit::getObjectStoreStatement): Only increment the open/closed counters if those keys exist.
5095
50962014-02-03  Jae Hyun Park  <jae.park@company100.net>
5097
5098        Use nullptr in ShareableBitmap
5099        https://bugs.webkit.org/show_bug.cgi?id=128153
5100
5101        Reviewed by Gyuyoung Kim.
5102
5103        * Shared/ShareableBitmap.cpp:
5104        (WebKit::ShareableBitmap::create):
5105        (WebKit::ShareableBitmap::createShareable):
5106
51072014-02-03  Anders Carlsson  <andersca@apple.com>
5108
5109        Add title and hasOnlySecureContent properties to WKWebView
5110        https://bugs.webkit.org/show_bug.cgi?id=128152
5111
5112        Reviewed by Dan Bernstein.
5113
5114        * UIProcess/API/Cocoa/WKWebView.h:
5115        * UIProcess/API/Cocoa/WKWebView.mm:
5116        (-[WKWebView title]):
5117        (-[WKWebView hasOnlySecureContent]):
5118        * UIProcess/Cocoa/NavigationState.mm:
5119        (WebKit::NavigationState::didChangeIsLoading):
5120        (WebKit::NavigationState::willChangeTitle):
5121        (WebKit::NavigationState::didChangeTitle):
5122        (WebKit::NavigationState::willChangeHasOnlySecureContent):
5123        (WebKit::NavigationState::didChangeHasOnlySecureContent):
5124
51252014-02-03  Sam Weinig  <sam@webkit.org>
5126
5127        Fix spelling.
5128
5129        * Shared/WebPreferencesStore.h:
5130
51312014-02-03  Sam Weinig  <sam@webkit.org>
5132
5133        [WebKit2, iOS] Enable frame flattening by default on iOS
5134        <rdar://problem/15975983>
5135        https://bugs.webkit.org/show_bug.cgi?id=128151
5136
5137        Reviewed by Tim Horton.
5138
5139        * Shared/WebPreferencesStore.h:
5140
51412014-02-03  Tim Horton  <timothy_horton@apple.com>
5142
5143        [iOS][wk2] Temporarily disable accelerated drawing for canvas
5144        https://bugs.webkit.org/show_bug.cgi?id=128147
5145
5146        Reviewed by Simon Fraser.
5147
5148        * Shared/WebPreferencesStore.h:
5149        Temporarily disable accelerated canvas for WebKit2 on iOS.
5150
51512014-02-03  Anders Carlsson  <andersca@apple.com>
5152
5153        Add loading property to WKWebView
5154        https://bugs.webkit.org/show_bug.cgi?id=128144
5155
5156        Reviewed by Dan Bernstein.
5157
5158        * UIProcess/API/Cocoa/WKWebView.h:
5159        * UIProcess/API/Cocoa/WKWebView.mm:
5160        (-[WKWebView isLoading]):
5161        * UIProcess/Cocoa/NavigationState.mm:
5162        (WebKit::NavigationState::willChangeIsLoading):
5163        (WebKit::NavigationState::didChangeIsLoading):
5164
51652014-02-03  Simon Fraser  <simon.fraser@apple.com>
5166
5167        Allow WK2 to read from NSUserDefaults when it has no prefs identifier
5168        https://bugs.webkit.org/show_bug.cgi?id=128124
5169
5170        Reviewed by Sam Weinig.
5171        
5172        WebPreferences would never read from NSUserDefaults if no identifier
5173        had been set, but this prevents us from reading useful debugging prefs.
5174        
5175        Fix to read pref names using a "WebKit2" prefix when no identifier
5176        is set.
5177
5178        * UIProcess/mac/WebPreferencesMac.mm:
5179        (WebKit::makeKey):
5180        (WebKit::WebPreferences::platformInitializeStore):
5181
51822014-02-03  Jer Noble  <jer.noble@apple.com>
5183
5184        [WK2] Remove the VideoPluginProxyEnabled preference in WK2
5185        https://bugs.webkit.org/show_bug.cgi?id=128128
5186
5187        Reviewed by Brady Eidson.
5188
5189        The plugin proxy is iOS WK1 only, and has no meaning in WebKit2. Just set the preference to false.
5190
5191        * Shared/WebPreferencesStore.h:
5192        * UIProcess/API/C/WKPreferences.cpp:
5193        * UIProcess/API/C/WKPreferencesRef.h:
5194        * WebProcess/WebPage/WebPage.cpp:
5195        (WebKit::WebPage::updatePreferences):
5196
51972014-02-03  Dean Jackson  <dino@apple.com>
5198
5199        Feature flag for shape-inside
5200        https://bugs.webkit.org/show_bug.cgi?id=128001
5201
5202        Reviewed by Simon Fraser.
5203
5204        Add CSS_SHAPE_INSIDE flag.
5205
5206        * Configurations/FeatureDefines.xcconfig:
5207
52082014-02-03  Anders Carlsson  <andersca@apple.com>
5209
5210        NavigationState should be a PageLoadState::Observer
5211        https://bugs.webkit.org/show_bug.cgi?id=128130
5212
5213        Reviewed by Darin Adler.
5214
5215        This will make it easier to provide load related KVO properties on WKWebView.
5216
5217        * UIProcess/API/Cocoa/WKWebView.mm:
5218        (-[WKWebView initWithFrame:configuration:]):
5219        * UIProcess/API/Cocoa/WKWebViewInternal.h: Added.
5220        * UIProcess/Cocoa/NavigationState.h:
5221        * UIProcess/Cocoa/NavigationState.mm:
5222        (WebKit::NavigationState::NavigationState):
5223        (WebKit::NavigationState::~NavigationState):
5224        (WebKit::NavigationState::willChangeIsLoading):
5225        (WebKit::NavigationState::didChangeIsLoading):
5226        (WebKit::NavigationState::willChangeTitle):
5227        (WebKit::NavigationState::didChangeTitle):
5228        (WebKit::NavigationState::willChangeActiveURL):
5229        (WebKit::NavigationState::didChangeActiveURL):
5230        (WebKit::NavigationState::willChangeHasOnlySecureContent):
5231        (WebKit::NavigationState::didChangeHasOnlySecureContent):
5232        (WebKit::NavigationState::willChangeEstimatedProgress):
5233        (WebKit::NavigationState::didChangeEstimatedProgress):
5234        * WebKit2.xcodeproj/project.pbxproj:
5235
52362014-02-03  Tim Horton  <timothy_horton@apple.com>
5237
5238        WebKit2 View Gestures: Two smart magnifications in a row without moving the mouse should zoom out
5239        https://bugs.webkit.org/show_bug.cgi?id=128108
5240        <rdar://problem/15914539>
5241
5242        Reviewed by Darin Adler.
5243
5244        * UIProcess/mac/ViewGestureController.h:
5245        * UIProcess/mac/ViewGestureController.mm:
5246        (WebKit::ViewGestureController::ViewGestureController):
5247        (WebKit::ViewGestureController::handleMagnificationGesture):
5248        Clear the bit that tells us that we should do "smart" things (because the
5249        last gesture was also a smart magnification gesture) when the user manually pinch-magnifies.
5250
5251        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
5252        Zoom out if the mouse hasn't moved since the last pinch-magnification gesture.
5253
5254
52552014-02-03  Darin Adler  <darin@apple.com>
5256
5257        Try to fix 32-bit Mac build.
5258
5259        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
5260        (WebKit::convertStringToKeyCodes): Use deprecatedCharacters.
5261
52622014-02-03  Krzysztof Czech  <k.czech@samsung.com>
5263
5264        Build fix after r163289.
5265
5266        Unreviewed EFL build fix.
5267
5268        Use deprecatedCharacters.
5269
5270        * UIProcess/efl/TextCheckerEfl.cpp:
5271        (WebKit::TextChecker::requestCheckingOfString):
5272
52732014-02-03  Dan Bernstein  <mitz@apple.com>
5274
5275        Build fix.
5276
5277        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
5278        (WebKit::convertStringToKeyCodes):
5279
52802014-02-03  Alberto Garcia  <berto@igalia.com>
5281
5282        Fix wrong mix of fcntl commands and flags
5283        https://bugs.webkit.org/show_bug.cgi?id=127842
5284
5285        Reviewed by Darin Adler.
5286
5287        We are mixing the commands to set file descriptor and file status
5288        flags in a couple of fcntl() calls. FD_CLOEXEC must be set using
5289        F_SETFD, and the access mode flags (O_RDONLY, O_WRONLY, O_RDWR)
5290        with F_SETFL.
5291
5292        This combines patches by Guillem Jover and Sergio Correia.
5293
5294        * Platform/IPC/unix/ConnectionUnix.cpp:
5295        (IPC::readBytesFromSocket):
5296        * Platform/unix/SharedMemoryUnix.cpp:
5297        (WebKit::SharedMemory::createHandle):
5298
52992014-02-02  Brady Eidson  <beidson@apple.com>
5300
5301        IDB: Cannot open new databases with the default version
5302        https://bugs.webkit.org/show_bug.cgi?id=128096
5303
5304        Reviewed by Tim Horton.
5305
5306        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
5307        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): New databases should
5308          have the magic "no version set" version.
5309
53102014-02-02  Sanghyup Lee  <sh53.lee@samsung.com>
5311
5312        [EFL][WK2] Add a logic for checking multi touch in GestureRecognizer::noGesture
5313        https://bugs.webkit.org/show_bug.cgi?id=127675
5314
5315        Reviewed by Gyuyoung Kim.
5316
5317        When processing TouchStart event in GestureRecognizer::noGesture(), we should
5318        check the number of touch points to distinguish if the gesture is single tap
5319        or pinch zoom. Current logic only considers the event as single tap.
5320
5321        * UIProcess/API/efl/GestureRecognizer.cpp:
5322        (WebKit::GestureRecognizer::noGesture):
5323
53242014-02-02  Enrica Casucci  <enrica@apple.com>
5325
5326        WK2: Selection is non editable content is not cleared when navigating to a different page.
5327        https://bugs.webkit.org/show_bug.cgi?id=128084
5328        <rdar://problem/15966166>
5329
5330        Reviewed by Dan Bernstein.
5331
5332        When resigning first responder, we need to cleanup the selection.
5333
5334        * UIProcess/API/ios/WKInteractionView.mm:
5335        (-[WKInteractionView resignFirstResponder]):
5336
53372014-02-02  Enrica Casucci  <enrica@apple.com>
5338
5339        WK2: Cannot focus a second field in a page after the first has been focused.
5340        https://bugs.webkit.org/show_bug.cgi?id=128055
5341        <rdar://problem/15943652>
5342
5343        Reviewed by Simon Fraser.
5344
5345        When handling singleTap, we always need to send
5346        a click to WebKit when we are already interacting with text.
5347        Also, when we stop assisting the node, we should not call
5348        resign responder, since that will trigger another unwanted blur.
5349
5350        * UIProcess/API/ios/WKInteractionView.mm:
5351        (-[WKInteractionView _singleTapRecognized:]):
5352        (-[WKInteractionView _stopAssistingNode]):
5353
53542014-02-02  Brady Eidson  <beidson@apple.com>
5355
5356        IDB: Support IDBFactory.deleteDatabase()
5357        https://bugs.webkit.org/show_bug.cgi?id=128060
5358
5359        Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)
5360
5361        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
5362        (WebKit::DatabaseProcessIDBConnection::deleteDatabase):
5363
5364        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
5365        (WebKit::UniqueIDBDatabase::calculateAbsoluteDatabaseFilename): Central place to
5366          calculate the database filename.
5367        (WebKit::UniqueIDBDatabase::unregisterConnection):
5368        (WebKit::UniqueIDBDatabase::shutdown): Pass shutdown type along. 
5369        (WebKit::UniqueIDBDatabase::shutdownBackingStore): If this is a delete shutdown, delete the DB.
5370        (WebKit::UniqueIDBDatabase::didShutdownBackingStore): 
5371        (WebKit::UniqueIDBDatabase::deleteDatabase):
5372        (WebKit::UniqueIDBDatabase::postMainThreadTask): All some tasks to bypass the no-more-request restriction.
5373        (WebKit::UniqueIDBDatabase::postDatabaseTask): Ditto.
5374        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
5375
5376        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
5377        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
5378        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Use 
5379          calculateAbsoluteDatabaseFilename from UniqueIDBDatabase.
5380
5381        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
5382        (WebKit::WebIDBFactoryBackend::open): Update logging channel.
5383        (WebKit::WebIDBFactoryBackend::deleteDatabase): Implement.
5384        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
5385
5386        * Shared/WebCrossThreadCopier.h:
5387
53882014-02-01  Darin Adler  <darin@apple.com>
5389
5390        More characters -> deprecatedCharacters (based on more EWS complaints)
5391        https://bugs.webkit.org/show_bug.cgi?id=128063
5392
5393        Reviewed by Anders Carlsson.
5394
5395        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
5396        (WebKit::truncateToSingleLine): Use deprecatedCharacters.
5397
53982014-02-01  Enrica Casucci  <enrica@apple.com>
5399
5400        Speculative OSX build fix.
5401
5402        Excluding WKActionSheet.mm and WKActionSheetAssistant.mm.
5403
5404        * Configurations/WebKit2.xcconfig:
5405
54062014-02-01  Enrica Casucci  <enrica@apple.com>
5407
5408        Add support for ActionSheets in WK2 for iOS.
5409        https://bugs.webkit.org/show_bug.cgi?id=127586
5410        <rdar://problem/15283667>
5411
5412        Reviewed by Benjamin Poulain.
5413
5414        This patch adds the default support for Action Sheets
5415        in WK2 for iOS. WKActionSheet is the implementation of the
5416        sheet itself that inherits from UIActionSheet and handles
5417        the repositioning of the sheet after rotation for iPad.
5418        WKActionSheetAssistant is the controller class that implements
5419        the delegate methods, controls the lifetime of the action sheet
5420        object and performs the actions.
5421        We have 3 different types of sheets:
5422           - link sheet, displayed when the target element is a link
5423           - image sheet, when the target element is an image
5424           - data detector sheet when the target is an element
5425             recognized by the data detectors library.
5426        Both link and image sheet have a set of default buttons, whereas
5427        datadetector sheet in only populated by custom actions provided
5428        by data detectors.
5429        The link sheet provides the following default actions:
5430            - open, navigates to the URL
5431            - copy, copies the URL to the pasteboard
5432            - add to reading list
5433        The image sheet provides the following actions depending on whether
5434        the image is contained inside an anchor element or not.
5435        If the image is NOT inside a link the following actions are provided:
5436           - copy, copies the image to the pasteboard
5437           - save image, saves the image in the photo library
5438        Instead, if the image is inside an link:
5439           - open, navigates to the URL spcified by the link
5440           - copy, copies the link URL to the pasteboard
5441            - save image, saves the image in the photo library
5442            - add to reading list, adds the link URL to reading list.
5443
5444        * Shared/InteractionInformationAtPosition.cpp:
5445        (WebKit::InteractionInformationAtPosition::encode):
5446        (WebKit::InteractionInformationAtPosition::decode):
5447        * Shared/InteractionInformationAtPosition.h:
5448        * Shared/ios/WKGestureTypes.h:
5449        * UIProcess/API/ios/PageClientImplIOS.h:
5450        * UIProcess/API/ios/PageClientImplIOS.mm:
5451        (WebKit::PageClientImpl::saveImageToLibrary):
5452        * UIProcess/API/ios/WKActionSheet.h: Added.
5453        * UIProcess/API/ios/WKActionSheet.mm: Added.
5454        (-[WKActionSheet initWithView:]):
5455        (-[WKActionSheet dealloc]):
5456        (-[WKActionSheet presentSheet]):
5457        (-[WKActionSheet presentSheetFromRect:]):
5458        (-[WKActionSheet doneWithSheet]):
5459        (-[WKActionSheet willRotate]):
5460        (-[WKActionSheet updateSheetPosition]):
5461        (-[WKActionSheet didRotate]):
5462        (-[WKElementActionInfo initWithInfo:location:title:rect:]):
5463        (-[WKElementActionInfo dealloc]):
5464        (-[WKElementAction initWithTitle:actionHandler:type:]):
5465        (-[WKElementAction dealloc]):
5466        (+[WKElementAction customElementActionWithTitle:actionHandler:]):
5467        (copyElement):
5468        (saveImage):
5469        (addToReadingList):
5470        (+[WKElementAction standardElementActionWithType:customTitle:]):
5471        (+[WKElementAction standardElementActionWithType:]):
5472        (-[WKElementAction runActionWithElementInfo:view:]):
5473        * UIProcess/API/ios/WKActionSheetAssistant.h: Added.
5474        * UIProcess/API/ios/WKActionSheetAssistant.mm: Added.
5475        (-[WKActionSheetAssistant initWithView:]):
5476        (-[WKActionSheetAssistant dealloc]):
5477        (-[WKActionSheetAssistant setPage:WebKit::]):
5478        (-[WKActionSheetAssistant superviewForSheet]):
5479        (-[WKActionSheetAssistant _presentationRectForSheetGivenPoint:inHostView:]):
5480        (-[WKActionSheetAssistant hostViewForSheet]):
5481        (-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]):
5482        (-[WKActionSheetAssistant presentationRectInHostViewForSheet]):
5483        (-[WKActionSheetAssistant presentSheet]):
5484        (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]):
5485        (-[WKActionSheetAssistant updateSheetPosition]):
5486        (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
5487        (-[WKActionSheetAssistant showImageSheet]):
5488        (-[WKActionSheetAssistant showLinkSheet]):
5489        (-[WKActionSheetAssistant showDataDetectorsSheet]):
5490        (-[WKActionSheetAssistant cleanupSheet]):
5491        * UIProcess/API/ios/WKInteractionView.h:
5492        * UIProcess/API/ios/WKInteractionView.mm:
5493        (-[WKInteractionView initWithFrame:]):
5494        (-[WKInteractionView dealloc]):
5495        (-[WKInteractionView setPage:WebKit::]):
5496        (-[WKInteractionView _showImageSheet]):
5497        (-[WKInteractionView _showLinkSheet]):
5498        (-[WKInteractionView _showDataDetectorsSheet]):
5499        (-[WKInteractionView _actionForLongPress]):
5500        (-[WKInteractionView _updatePositionInformation]):
5501        (-[WKInteractionView _longPressRecognized:]):
5502        (-[WKInteractionView _positionInformationDidChange:]):
5503        (-[WKInteractionView _performAction:]):
5504        (-[WKInteractionView _updateAccessory]):
5505        * UIProcess/PageClient.h:
5506        * UIProcess/WebPageProxy.h:
5507        * UIProcess/WebPageProxy.messages.in:
5508        * UIProcess/ios/WebPageProxyIOS.mm:
5509        (WebKit::WebPageProxy::startInteractionWithElementAtPosition):
5510        (WebKit::WebPageProxy::stopInteraction):
5511        (WebKit::WebPageProxy::performActionOnElement):
5512        (WebKit::WebPageProxy::saveImageToLibrary):
5513        * WebKit2.xcodeproj/project.pbxproj:
5514        * WebProcess/WebPage/WebPage.h:
5515        * WebProcess/WebPage/WebPage.messages.in:
5516        * WebProcess/WebPage/ios/WebPageIOS.mm:
5517        (WebKit::containingLinkElement):
5518        (WebKit::WebPage::getPositionInformation):
5519        (WebKit::WebPage::startInteractionWithElementAtPosition):
5520        (WebKit::WebPage::stopInteraction):
5521        (WebKit::WebPage::performActionOnElement):
5522
55232014-02-01  Brady Eidson  <beidson@apple.com>
5524
5525        IDB: Implement IDBCursor.delete()
5526        <rdar://problem/15944203> and https://bugs.webkit.org/show_bug.cgi?id=127882
5527
5528        Reviewed by Sam Weinig.
5529
5530        IDBCursor.delete() actually relies on deleteRange(), which was implemented earlier.
5531        So the only thing keeping it from working was a "Cursors iterate past their end" bug,
5532        causing the delete transaction to be aborted.
5533
5534        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5535        (WebKit::SQLiteIDBCursor::advanceOnce): When the cursor does the final iteration,
5536          clear the previous values to indicate completion.
5537
5538        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
5539        (WebKit::SQLiteIDBTransaction::clearCursors): Noticed this opportunistic cleanup to
5540          iterate over unique_ptr<>s with an auto& instead of an auto.
5541
55422014-01-31  Enrica Casucci  <enrica@apple.com>
5543
5544        Text interaction assistant is not deleted when dismissing the keyboard on iPad.
5545        https://bugs.webkit.org/show_bug.cgi?id=128034
5546        <rdar://problem/15915695>
5547
5548        Reviewed by Dan Bernstein.
5549
5550        In iPhone mode, tapping on 'Done' in the accessory view
5551        calls the delegate accessoryDone where we correctly blur
5552        the assisted node and tear down the text interaction assistant.
5553        The code path for the keyboard in iPad mode is different,
5554        all we get is resignFirstResponder.
5555        The fix is just to move the blurring in resignFirstResponder
5556        and it works for both iPhone and iPad.
5557
5558        * UIProcess/API/ios/WKInteractionView.mm:
5559        (-[WKInteractionView resignFirstResponder]):
5560        (-[WKInteractionView accessoryDone]):
5561
55622014-02-01  Brady Eidson  <beidson@apple.com>
5563
5564        IDB: Implement IDBObjectStore.delete()
5565        https://bugs.webkit.org/show_bug.cgi?id=127880
5566
5567        Reviewed by Sam Weinig.
5568
5569        Implementing IDBObjectStore.delete() involves filling in the already-stubbed deleteRange() method.
5570
5571        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
5572        (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Call through to the backing store.
5573
5574        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
5575        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
5576        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange): Call deleteRecord on each key represented
5577          by the passed-in keyRange. This involves collecting each key using a cursor.
5578        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Delete an individual record from the
5579          object store and all associated indexes.
5580        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
5581
5582        Teach the SQLiteIDBCursor to remember if it ended in an error condition:
5583        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5584        (WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
5585        (WebKit::SQLiteIDBCursor::advanceOnce):
5586        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
5587        (WebKit::SQLiteIDBCursor::didError):
5588
55892014-02-01  Brady Eidson  <beidson@apple.com>
5590
5591        IDB: Index reading
5592        <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868
5593
5594        Reviewed by Jer Noble.
5595
5596        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
5597        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
5598
5599        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
5600        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
5601        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Using an index cursor, read a value.
5602        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
5603
56042014-02-01  Brady Eidson  <beidson@apple.com>
5605
5606        IDB: Index cursor complete advance() and iterate() support
5607        <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870
5608
5609        Reviewed by Dan Bernstein.
5610
5611        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5612        (WebKit::SQLiteIDBCursor::advanceOnce): Look up the found record value from the
5613          object store records based on the key we found from the index.
5614
56152014-01-31  Anders Carlsson  <andersca@apple.com>
5616
5617        Add webView:didFailNavigation:withError: delegate method
5618        https://bugs.webkit.org/show_bug.cgi?id=128022
5619
5620        Reviewed by Darin Adler.
5621
5622        * UIProcess/API/APILoaderClient.h:
5623        (API::LoaderClient::didFailLoadWithErrorForFrame):
5624        * UIProcess/API/C/WKPage.cpp:
5625        (WKPageSetPageLoaderClient):
5626        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
5627        * UIProcess/Cocoa/NavigationState.h:
5628        * UIProcess/Cocoa/NavigationState.mm:
5629        (WebKit::NavigationState::setNavigationDelegate):
5630        (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
5631        * UIProcess/WebPageProxy.cpp:
5632        (WebKit::WebPageProxy::didFailLoadForFrame):
5633        * UIProcess/WebPageProxy.h:
5634        * UIProcess/WebPageProxy.messages.in:
5635        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5636        (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
5637
56382014-01-31  Brady Eidson  <beidson@apple.com>
5639
5640        IDB: Handle "nextunique" and "prevunique" cursors, and handle "advance()" correctly
5641        https://bugs.webkit.org/show_bug.cgi?id=128040
5642
5643        Reviewed by Jer Noble.
5644
5645        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5646        (WebKit::SQLiteIDBCursor::advance): Entry point for advancing by a number of steps,
5647          calls either advanceUnique or advanceOnce the appropriate number of times.
5648        (WebKit::SQLiteIDBCursor::advanceUnique): Call advanceOnce until the key has changed.
5649        (WebKit::SQLiteIDBCursor::advanceOnce):
5650        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
5651
56522014-01-31  Brady Eidson  <beidson@apple.com>
5653
5654        IDB: Index cursors use wrong deserialization for the retrieved value
5655        https://bugs.webkit.org/show_bug.cgi?id=128035
5656
5657        Reviewed by Dan Bernstein.
5658
5659        Most of this is updating everything related to the cursor operation callbacks 
5660        to support returning an IDBKey value in addition to a SharedBuffer value.
5661
5662        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
5663        (WebKit::DatabaseProcessIDBConnection::openCursor):
5664        (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
5665        (WebKit::DatabaseProcessIDBConnection::cursorIterate):
5666
5667        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
5668        (WebKit::UniqueIDBDatabase::openCursor):
5669        (WebKit::UniqueIDBDatabase::cursorAdvance):
5670        (WebKit::UniqueIDBDatabase::cursorIterate):
5671        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
5672        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
5673        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
5674        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
5675        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
5676        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
5677        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
5678
5679        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
5680        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
5681        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
5682        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
5683        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
5684        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
5685
5686        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5687        (WebKit::SQLiteIDBCursor::advance):
5688        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
5689        (WebKit::SQLiteIDBCursor::currentValueBuffer):
5690        (WebKit::SQLiteIDBCursor::currentValueKey):
5691
5692        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
5693        (WebKit::WebIDBServerConnection::didOpenCursor):
5694        (WebKit::WebIDBServerConnection::didAdvanceCursor):
5695        (WebKit::WebIDBServerConnection::didIterateCursor):
5696        (WebKit::WebIDBServerConnection::openCursor):
5697        (WebKit::WebIDBServerConnection::cursorAdvance):
5698        (WebKit::WebIDBServerConnection::cursorIterate):
5699        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
5700        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
5701
57022014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
5703
5704        Remove inline member functions of FrameSelection that access m_selection
5705        https://bugs.webkit.org/show_bug.cgi?id=127986
5706
5707        Reviewed by Enrica Casucci.
5708
5709        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
5710        (WebKit::collapseSelection):
5711        * WebProcess/WebPage/WebPage.cpp:
5712        (WebKit::WebPage::editorState):
5713        (WebKit::WebPage::confirmComposition):
5714        (WebKit::WebPage::setComposition):
5715        * WebProcess/WebPage/ios/WebPageIOS.mm:
5716        (WebKit::WebPage::setComposition):
5717        (WebKit::WebPage::updateSelectionWithTouches):
5718        * WebProcess/WebPage/mac/WebPageMac.mm:
5719        (WebKit::WebPage::setComposition):
5720        (WebKit::WebPage::getAttributedSubstringFromRange):
5721
57222014-01-31  Simon Fraser  <simon.fraser@apple.com>
5723
5724        Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
5725        https://bugs.webkit.org/show_bug.cgi?id=128032
5726
5727        Reviewed by Tim Horton.
5728
5729        Pass the viewport rect and scroll offset independently into the ScrollingTree
5730        via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
5731        always correspond to the viewport rect.
5732        
5733        Make the viewport rect and the scroll origin be float-based, since on
5734        Retina screens and with zooming these can both be non-integral.
5735
5736        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
5737        (ArgumentCoder<ScrollingStateScrollingNode>::encode):
5738        (ArgumentCoder<ScrollingStateScrollingNode>::decode):
5739        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
5740        (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
5741        * UIProcess/Scrolling/RemoteScrollingTree.h:
5742
57432014-01-31  Tim Horton  <timothy_horton@apple.com>
5744
5745        WebKit2 View Gestures: Crash when pinch-zooming on a page that is just a frameset
5746        https://bugs.webkit.org/show_bug.cgi?id=127591
5747        <rdar://problem/15898349>
5748
5749        Reviewed by Simon Fraser.
5750
5751        When we have no shadow layer, we crash in TiledCoreAnimationDrawingArea::adjustTransientZoom.
5752        Fix this null deref; also, we always want a shadow layer, even if the page cannot be scrolled,
5753        because it can be revealed by pinching out.
5754
5755        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5756        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
5757        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
5758        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
5759
57602014-01-31  Oliver Hunt  <oliver@apple.com>
5761
5762        Rollout r163195 and related patches
5763
5764        * CMakeLists.txt:
5765
57662014-01-31  Tim Horton  <timothy_horton@apple.com>
5767
5768        [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
5769        https://bugs.webkit.org/show_bug.cgi?id=128025
5770        <rdar://problem/15950271>
5771
5772        Reviewed by Simon Fraser.
5773
5774        * Platform/mac/LayerHostingContext.h:
5775        * Platform/mac/LayerHostingContext.mm:
5776        (WebKit::LayerHostingContext::createForPort):
5777        (WebKit::LayerHostingContext::createForExternalHostingProcess):
5778        Use the new macro name (in a lot of places).
5779        Rename LayerHostingContext::createForWindowServer() to createForExternalHostingProcess().
5780        Don't use WKCAContextMakeRemoteForWindowServer on iOS, just use the CAContext
5781        SPI directly. We don't want our CAContext to be hit tested because it's purely
5782        presentational.
5783
5784        * UIProcess/API/ios/PageClientImplIOS.h:
5785        iOS always hosts layers in an external process.
5786
5787        * PluginProcess/mac/PluginControllerProxyMac.mm:
5788        (WebKit::PluginControllerProxy::updateLayerHostingContext):
5789        * Shared/LayerTreeContext.h:
5790        * UIProcess/API/mac/PageClientImpl.mm:
5791        (WebKit::PageClientImpl::viewLayerHostingMode):
5792        * UIProcess/PageClient.h:
5793        (WebKit::PageClient::viewLayerHostingMode):
5794        * UIProcess/WebPageProxy.cpp:
5795        (WebKit::WebPageProxy::WebPageProxy):
5796        (WebKit::WebPageProxy::viewStateDidChange):
5797        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
5798        (WebKit::NetscapePlugin::NetscapePlugin):
5799        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
5800        (WebKit::NetscapePlugin::compositingRenderServerPort):
5801        * WebProcess/Plugins/PluginView.cpp:
5802        (WebKit::PluginView::setLayerHostingMode):
5803        * WebProcess/WebPage/WebPage.cpp:
5804        (WebKit::WebPage::reinitializeWebPage):
5805        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
5806        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
5807        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
5808        (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
5809        Use enum class for LayerHostingMode and rename the members to InProcess and OutOfProcess.
5810
58112014-01-31  Martin Hock  <mhock@apple.com>
5812
5813        Add session support to WebPlatformStrategies
5814        https://bugs.webkit.org/show_bug.cgi?id=127926
5815
5816        Reviewed by Alexey Proskuryakov.
5817
5818        * NetworkProcess/mac/RemoteNetworkingContext.mm:
5819        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
5820        * Shared/SessionTracker.cpp:
5821        (WebKit::storageSessionToID):
5822        (WebKit::SessionTracker::session):
5823        (WebKit::SessionTracker::sessionID):
5824        (WebKit::SessionTracker::setSession):
5825        (WebKit::SessionTracker::destroySession):
5826        * Shared/SessionTracker.h:
5827        * UIProcess/WebPageProxy.cpp:
5828        (WebKit::WebPageProxy::setSession):
5829        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
5830        (WebKit::WebPlatformStrategies::cookiesForDOM):
5831        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
5832        (WebKit::WebPlatformStrategies::cookiesEnabled):
5833        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
5834        (WebKit::WebPlatformStrategies::getRawCookies):
5835        (WebKit::WebPlatformStrategies::deleteCookie):
5836        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
5837        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
5838        * WebProcess/WebPage/WebPage.cpp:
5839        (WebKit::WebPage::setSessionID): Ensure the storage session exists.
5840        * WebProcess/WebPage/WebPage.h:
5841
58422014-01-31  Alexey Proskuryakov  <ap@apple.com>
5843
5844        Expose creation and modification times for LocalStorage
5845        https://bugs.webkit.org/show_bug.cgi?id=128018
5846
5847        Reviewed by Anders Carlsson.
5848
5849        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
5850        (WKKeyValueStorageManagerGetOriginKey):
5851        (WKKeyValueStorageManagerGetCreationTimeKey):
5852        (WKKeyValueStorageManagerGetModificationTimeKey):
5853        (WKKeyValueStorageManagerGetStorageDetailsByOrigin):
5854        * UIProcess/API/C/WKKeyValueStorageManager.h:
5855        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
5856        (WebKit::LocalStorageDatabaseTracker::origins):
5857        (WebKit::LocalStorageDatabaseTracker::details):
5858        * UIProcess/Storage/LocalStorageDatabaseTracker.h:
5859        * UIProcess/Storage/StorageManager.cpp:
5860        (WebKit::StorageManager::getStorageDetailsByOrigin):
5861        (WebKit::StorageManager::getStorageDetailsByOriginInternal):
5862        * UIProcess/Storage/StorageManager.h:
5863        * UIProcess/WebKeyValueStorageManager.cpp:
5864        (WebKit::WebKeyValueStorageManager::originKey):
5865        (WebKit::WebKeyValueStorageManager::creationTimeKey):
5866        (WebKit::WebKeyValueStorageManager::modificationTimeKey):
5867        (WebKit::didGetKeyValueStorageOrigins):
5868        (WebKit::didGetStorageDetailsByOrigin):
5869        (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
5870        * UIProcess/WebKeyValueStorageManager.h:
5871        * WebKit2.xcodeproj/project.pbxproj:
5872
58732014-01-31  Anders Carlsson  <andersca@apple.com>
5874
5875        Add webView:didReceiveServerRedirectForProvisionalNavigation:
5876        https://bugs.webkit.org/show_bug.cgi?id=128016
5877
5878        Reviewed by Dan Bernstein.
5879
5880        * UIProcess/API/APILoaderClient.h:
5881        (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
5882        * UIProcess/API/C/WKPage.cpp:
5883        (WKPageSetPageLoaderClient):
5884        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
5885        * UIProcess/Cocoa/NavigationState.h:
5886        * UIProcess/Cocoa/NavigationState.mm:
5887        (WebKit::NavigationState::setNavigationDelegate):
5888        (WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
5889        * UIProcess/WebPageProxy.cpp:
5890        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
5891        * UIProcess/WebPageProxy.h:
5892        * UIProcess/WebPageProxy.messages.in:
5893        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5894        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
5895        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
5896        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
5897
58982014-01-31  Brady Eidson  <beidson@apple.com>
5899
5900        IDB: Index cursor preliminary support
5901        https://bugs.webkit.org/show_bug.cgi?id=127869
5902
5903        Reviewed by Sam Weinig.
5904
5905        This gets index cursors running and - for some situations - returning results.
5906
5907        Bug 127870 will make them fully functional.
5908
5909        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5910        (WebKit::getIndexStatement): Using the key and sorting parameters, find the appropriate SQL
5911          statement to run an index cursor.
5912        (WebKit::getObjectStoreStatement): Same, but for object store cursors.
5913        (WebKit::SQLiteIDBCursor::establishStatement): Depending on the type of cursor, choose the
5914          correct SQL query and id to use.
5915        (WebKit::SQLiteIDBCursor::createSQLiteStatement): With the passed in SQL and id, handle both
5916          index and object store cursors.
5917        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
5918
59192014-01-29  Oliver Hunt  <oliver@apple.com>
5920
5921        Make it possible to implement JS builtins in JS
5922        https://bugs.webkit.org/show_bug.cgi?id=127887
5923
5924        Reviewed by Michael Saboff.
5925
5926        CMake updates
5927
5928        * CMakeLists.txt:
5929
59302014-01-31  Tim Horton  <timothy_horton@apple.com>
5931
5932        WebKit2 View Gestures (Swipe): Crashes swiping around a Google Docs spreadsheet
5933        https://bugs.webkit.org/show_bug.cgi?id=128013
5934        <rdar://problem/15959481>
5935
5936        Reviewed by Anders Carlsson.
5937
5938        * UIProcess/mac/ViewGestureController.mm:
5939        (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
5940        We should never (currently) start a swipe from a non-begin-phase wheel event.
5941        We already check this in handleScrollWheelEvent, but can still get
5942        non-begin-phase events in wheelEventWasNotHandled.
5943
5944        We only start "pending" swipes with Begin events, so we should never make them
5945        non-pending with anything but a Begin event (we'll get it when it bubbles back up,
5946        unhandled, from WebCore). In addition, AppKit throws an exception when we try
5947        to start a swipe from end-phase events.
5948
59492014-01-31  Brady Eidson  <beidson@apple.com>
5950
5951        IDB: openCursor() needs to prime the cursor with first position values
5952        https://bugs.webkit.org/show_bug.cgi?id=128008
5953
5954        Reviewed by Alexey Proskuryakov.
5955
5956        Change openCursor() messaging to pass back the initial keys/values
5957        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
5958        (WebKit::WebIDBServerConnection::didOpenCursor):
5959        (WebKit::WebIDBServerConnection::openCursor):
5960        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
5961        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
5962
5963        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
5964        (WebKit::DatabaseProcessIDBConnection::openCursor):
5965
5966        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
5967        (WebKit::UniqueIDBDatabase::openCursor):
5968        (WebKit::UniqueIDBDatabase::cursorAdvance): Const and reference updates.
5969        (WebKit::UniqueIDBDatabase::cursorIterate): Ditto.
5970        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
5971        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
5972        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
5973
5974        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
5975        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
5976        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
5977        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
5978
5979        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
5980        (WebKit::SQLiteIDBCursor::maybeCreate): After creating the cursor, advance(1) it.
5981
5982        * Shared/AsyncTask.h:
5983        (WebKit::createAsyncTask):
5984
59852014-01-31  Beth Dakin  <bdakin@apple.com>
5986
5987        Sideways 'wobble' when scrolling with trackpad on Mavericks
5988        https://bugs.webkit.org/show_bug.cgi?id=127521
5989        -and corresponding-
5990        <rdar://problem/14137306>
5991
5992        Reviewed by Simon Fraser.
5993
5994        Start using WebCore::WheelEventDeltaTracker to filter events.
5995        * WebProcess/WebPage/EventDispatcher.cpp:
5996        (WebKit::EventDispatcher::EventDispatcher):
5997        (WebKit::EventDispatcher::wheelEvent):
5998        * WebProcess/WebPage/EventDispatcher.h:
5999
60002014-01-31  Zan Dobersek  <zdobersek@igalia.com>
6001
6002        Fix the forward declaration of RawPluginMetaData in NetscapePluginModule.h
6003        https://bugs.webkit.org/show_bug.cgi?id=127992
6004
6005        Reviewed by Martin Robinson.
6006
6007        * Shared/Plugins/Netscape/NetscapePluginModule.h: RawPluginMetaData is a struct, so it should
6008        be declared as such. The current forward declaration is throwing a warning when using Clang.
6009
60102014-01-31  Anders Carlsson  <andersca@apple.com>
6011
6012        REGRESSION: WebKit2.PageLoadBasic API test is failing
6013        https://bugs.webkit.org/show_bug.cgi?id=127892
6014
6015        Reviewed by Dan Bernstein.
6016
6017        On Mountain Lion, URLs returned by -[NSBundle URLForResource:withExtension:subdirectory] include
6018        localhost as the hostname, but WebCore::URL normalizes those URLs and removes the host name.
6019        
6020        Because of this, URLs created by WKURLCreateWithCFURL won't be equal to urls passed through 
6021        the WebCore::URL constructor. Change WKURLIsEqual to compare the normalized URLs.
6022
6023        * Shared/API/c/WKURL.cpp:
6024        (WKURLIsEqual):
6025        * Shared/APIURL.h:
6026        (API::URL::equals):
6027        (API::URL::url):
6028
60292014-01-31  Brady Eidson  <beidson@apple.com>
6030
6031        IDB: When deleting object stores/indexes, also delete associated records
6032        https://bugs.webkit.org/show_bug.cgi?id=127872
6033
6034        Reviewed by Anders Carlsson.
6035
6036        This was mostly done via other patches, but clearObjectStore was the last remaining case:
6037        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
6038        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore): Also delete Index records.
6039
60402014-01-31  Brady Eidson  <beidson@apple.com>
6041
6042        IDB: Index writing
6043        <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868
6044
6045        Reviewed by Anders Carlsson.
6046
6047        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
6048        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Handle writing index records, as well.
6049
6050        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
6051        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
6052        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a table
6053          for index records
6054        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Extract IDBIndexMetadata
6055        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
6056        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
6057        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Store in the IndexRecords table.
6058        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
6059
60602014-01-30  Jinwoo Song  <jinwoo7.song@samsung.com>
6061
6062        [EFL][WK2] Unreviewed EFL WebKit2 build fix after r163116.
6063        https://bugs.webkit.org/show_bug.cgi?id=127985
6064
6065        Unreviewed EFL WebKit2 build fix.
6066
6067        * UIProcess/CoordinatedGraphics/WebView.cpp:
6068        (WebKit::WebView::processDidExit):
6069        * UIProcess/CoordinatedGraphics/WebView.h:
6070
60712014-01-30  Simon Fraser  <simon.fraser@apple.com>
6072
6073        Fix iOS WK2 build after r163156.
6074
6075        Need to convert to IntSizes.
6076
6077        * WebProcess/WebPage/ios/WebPageIOS.mm:
6078        (WebKit::WebPage::tapHighlightAtPosition):
6079
60802014-01-30  Martin Robinson  <mrobinson@igalia.com>
6081
6082        [GTK] [CMake] Add support for building against GTK+ 2
6083        https://bugs.webkit.org/show_bug.cgi?id=127959
6084
6085        Reviewed by Anders Carlsson.
6086
6087        * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
6088
60892014-01-30  Commit Queue  <commit-queue@webkit.org>
6090
6091        Unreviewed, rolling out r163125.
6092        http://trac.webkit.org/changeset/163125
6093        https://bugs.webkit.org/show_bug.cgi?id=127980
6094
6095        caused 9 layout tests to assert and crash (Requested by estes
6096        on #webkit).
6097
6098        * NetworkProcess/mac/RemoteNetworkingContext.mm:
6099        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
6100        * Shared/SessionTracker.cpp:
6101        (WebKit::SessionTracker::session):
6102        (WebKit::SessionTracker::setSession):
6103        (WebKit::SessionTracker::destroySession):
6104        * Shared/SessionTracker.h:
6105        * UIProcess/WebPageProxy.cpp:
6106        (WebKit::WebPageProxy::setSession):
6107        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
6108        (WebKit::legacySessionID):
6109        (WebKit::WebPlatformStrategies::cookiesForDOM):
6110        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
6111        (WebKit::WebPlatformStrategies::cookiesEnabled):
6112        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
6113        (WebKit::WebPlatformStrategies::getRawCookies):
6114        (WebKit::WebPlatformStrategies::deleteCookie):
6115        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
6116        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
6117        * WebProcess/WebPage/WebPage.cpp:
6118        * WebProcess/WebPage/WebPage.h:
6119        (WebKit::WebPage::setSessionID):
6120
61212014-01-30  Anders Carlsson  <andersca@apple.com>
6122
6123        Add webView:didFinishLoadingNavigation: delegate method
6124        https://bugs.webkit.org/show_bug.cgi?id=127976
6125
6126        Reviewed by Dan Bernstein.
6127
6128        * UIProcess/API/APILoaderClient.h:
6129        (API::LoaderClient::didFinishLoadForFrame):
6130        * UIProcess/API/C/WKPage.cpp:
6131        (WKPageSetPageLoaderClient):
6132        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
6133        * UIProcess/Cocoa/NavigationState.h:
6134        * UIProcess/Cocoa/NavigationState.mm:
6135        (WebKit::NavigationState::setNavigationDelegate):
6136        (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
6137        (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
6138        (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
6139        (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
6140        * UIProcess/WebPageProxy.cpp:
6141        (WebKit::WebPageProxy::didFinishLoadForFrame):
6142        * UIProcess/WebPageProxy.h:
6143        * UIProcess/WebPageProxy.messages.in:
6144        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6145        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
6146
61472014-01-30  Tim Horton  <timothy_horton@apple.com>
6148
6149        Crashes after 163116 in [WKView takeViewSnapshot]
6150        https://bugs.webkit.org/show_bug.cgi?id=127973
6151
6152        Reviewed by Alexey Proskuryakov.
6153
6154        * UIProcess/API/mac/WKView.mm:
6155        (-[WKView _takeViewSnapshot]):
6156        Make the ViewGestureController before using it, if we need one.
6157
61582014-01-30  Anders Carlsson  <andersca@apple.com>
6159
6160        Add a webView:didCommitNavigation: delegate method
6161        https://bugs.webkit.org/show_bug.cgi?id=127972
6162
6163        Reviewed by Dan Bernstein.
6164
6165        * UIProcess/API/APILoaderClient.h:
6166        (API::LoaderClient::didCommitLoadForFrame):
6167        * UIProcess/API/C/WKPage.cpp:
6168        (WKPageSetPageLoaderClient):
6169        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
6170        * UIProcess/Cocoa/NavigationState.h:
6171        * UIProcess/Cocoa/NavigationState.mm:
6172        (WebKit::NavigationState::setNavigationDelegate):
6173        (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
6174        * UIProcess/WebPageProxy.cpp:
6175        (WebKit::WebPageProxy::didCommitLoadForFrame):
6176        * UIProcess/WebPageProxy.h:
6177        * UIProcess/WebPageProxy.messages.in:
6178        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6179        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
6180
61812014-01-30  Anders Carlsson  <andersca@apple.com>
6182
6183        Add a webView:didFailProvisionalNavigation:withError: delegate method
6184        https://bugs.webkit.org/show_bug.cgi?id=127968
6185
6186        Reviewed by Dan Bernstein.
6187
6188        * UIProcess/API/APILoaderClient.h:
6189        (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
6190        * UIProcess/API/C/WKPage.cpp:
6191        (WKPageSetPageLoaderClient):
6192        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
6193        * UIProcess/Cocoa/NavigationState.h:
6194        * UIProcess/Cocoa/NavigationState.mm:
6195        (WebKit::NavigationState::setNavigationDelegate):
6196        (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
6197        * UIProcess/WebPageProxy.cpp:
6198        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
6199        * UIProcess/WebPageProxy.h:
6200        * UIProcess/WebPageProxy.messages.in:
6201        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6202        (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
6203
62042014-01-30  Anders Carlsson  <andersca@apple.com>
6205
6206        Add a webView:didStartProvisionalNavigation: delegate method
6207        https://bugs.webkit.org/show_bug.cgi?id=127965
6208
6209        Reviewed by Dan Bernstein.
6210
6211        * UIProcess/API/APILoaderClient.h:
6212        (API::LoaderClient::didStartProvisionalLoadForFrame):
6213        * UIProcess/API/C/WKPage.cpp:
6214        (WKPageSetPageLoaderClient):
6215        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
6216        * UIProcess/API/Cocoa/WKWebView.mm:
6217        (-[WKWebView initWithFrame:configuration:]):
6218        * UIProcess/Cocoa/NavigationState.h:
6219        * UIProcess/Cocoa/NavigationState.mm:
6220        (WebKit::NavigationState::createLoaderClient):
6221        (WebKit::NavigationState::createPolicyClient):
6222        (WebKit::NavigationState::setNavigationDelegate):
6223        (WebKit::NavigationState::LoaderClient::LoaderClient):
6224        (WebKit::NavigationState::LoaderClient::~LoaderClient):
6225        (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
6226        * UIProcess/WebPageProxy.cpp:
6227        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
6228        * UIProcess/WebPageProxy.h:
6229        * UIProcess/WebPageProxy.messages.in:
6230        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6231        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
6232
62332014-01-30  Brady Eidson  <beidson@apple.com>
6234
6235        IDB: Implement IDBObjectStore.count()
6236        https://bugs.webkit.org/show_bug.cgi?id=127888
6237
6238        Reviewed by Tim Horton.
6239
6240        Now count() actually works.
6241
6242        Forward the count() request to the backing store”
6243        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
6244        (WebKit::UniqueIDBDatabase::countInBackingStore):
6245
6246        Using a cursor, get a count:
6247        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
6248        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
6249        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
6250        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
6251
6252        Give a direct accessor to allow the backing store to close a cursor it opened
6253        for its own use:
6254        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
6255        (WebKit::SQLiteIDBTransaction::closeCursor):
6256        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
6257
6258        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
6259        (WebKit::WebIDBServerConnection::didCount): Update the logging to show the count.
6260
62612014-01-30  Anders Carlsson  <andersca@apple.com>
6262
6263        Implement NavigationState::PolicyClient::decidePolicyForNewWindowAction
6264        https://bugs.webkit.org/show_bug.cgi?id=127962
6265
6266        Reviewed by Andreas Kling.
6267
6268        Have decidePolicyForNewWindowAction call decidePolicyForNavigationAction with a null destination frame.
6269
6270        * UIProcess/Cocoa/NavigationState.h:
6271        * UIProcess/Cocoa/NavigationState.mm:
6272        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
6273        (WebKit::NavigationState::PolicyClient::decidePolicyForNewWindowAction):
6274
62752014-01-30  Martin Hock  <mhock@apple.com>
6276
6277        Add session support to WebPlatformStrategies
6278        https://bugs.webkit.org/show_bug.cgi?id=127926
6279
6280        Reviewed by Alexey Proskuryakov.
6281
6282        * NetworkProcess/mac/RemoteNetworkingContext.mm:
6283        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
6284        * Shared/SessionTracker.cpp:
6285        (WebKit::storageSessionToID):
6286        (WebKit::SessionTracker::session):
6287        (WebKit::SessionTracker::sessionID):
6288        (WebKit::SessionTracker::setSession):
6289        (WebKit::SessionTracker::destroySession):
6290        * Shared/SessionTracker.h:
6291        * UIProcess/WebPageProxy.cpp:
6292        (WebKit::WebPageProxy::setSession):
6293        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
6294        (WebKit::WebPlatformStrategies::cookiesForDOM):
6295        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
6296        (WebKit::WebPlatformStrategies::cookiesEnabled):
6297        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
6298        (WebKit::WebPlatformStrategies::getRawCookies):
6299        (WebKit::WebPlatformStrategies::deleteCookie):
6300        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
6301        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
6302        * WebProcess/WebPage/WebPage.cpp:
6303        (WebKit::WebPage::setSessionID): Ensure the storage session exists.
6304        * WebProcess/WebPage/WebPage.h:
6305
63062014-01-30  Brady Eidson  <beidson@apple.com>
6307
6308        IDB: ObjectStore cursor iterate() support
6309        <rdar://problem/15941914> and https://bugs.webkit.org/show_bug.cgi?id=127867
6310
6311        Reviewed by Tim Horton.
6312
6313        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
6314        (WebKit::SQLiteIDBCursor::iterate): Implement iterate() using advance()
6315
63162014-01-30  Anders Carlsson  <andersca@apple.com>
6317
6318        decidePolicyForNewWindowAction should take a NavigationActionData object
6319        https://bugs.webkit.org/show_bug.cgi?id=127952
6320
6321        Reviewed by Dan Bernstein.
6322
6323        * UIProcess/API/APIPolicyClient.h:
6324        (API::PolicyClient::decidePolicyForNewWindowAction):
6325        * UIProcess/API/C/WKPage.cpp:
6326        (WKPageSetPagePolicyClient):
6327        * UIProcess/WebPageProxy.cpp:
6328        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
6329
63302014-01-27  Jeffrey Pfau  <jpfau@apple.com>
6331
6332        Add a method for schemes to be registered as supporting cache partitioning
6333        https://bugs.webkit.org/show_bug.cgi?id=127739
6334
6335        Reviewed by Darin Adler.
6336
6337        Pipe information about cache partitioned scheme through WebKit2.
6338
6339        * Shared/WebProcessCreationParameters.cpp:
6340        (WebKit::WebProcessCreationParameters::encode):
6341        (WebKit::WebProcessCreationParameters::decode):
6342        * Shared/WebProcessCreationParameters.h:
6343        * UIProcess/API/C/WKContext.cpp:
6344        (WKContextRegisterURLSchemeAsCachePartitioned):
6345        * UIProcess/API/C/WKContextPrivate.h:
6346        * UIProcess/WebContext.cpp:
6347        (WebKit::WebContext::createNewWebProcess):
6348        (WebKit::WebContext::registerURLSchemeAsCachePartitioned):
6349        * UIProcess/WebContext.h:
6350        * WebProcess/WebProcess.cpp:
6351        (WebKit::WebProcess::initializeWebProcess):
6352        (WebKit::WebProcess::registerURLSchemeAsCachePartitioned):
6353        * WebProcess/WebProcess.h:
6354        * WebProcess/WebProcess.messages.in:
6355
63562014-01-30  Tim Horton  <timothy_horton@apple.com>
6357
6358        Lots of API test assertion failures after r163093
6359        https://bugs.webkit.org/show_bug.cgi?id=127948
6360
6361        Reviewed by Alexey Proskuryakov.
6362
6363        * UIProcess/API/ios/PageClientImplIOS.mm:
6364        (WebKit::PageClientImpl::processDidExit):
6365        * UIProcess/API/ios/WKContentView.mm:
6366        (-[WKContentView _processDidExit]):
6367        * UIProcess/API/ios/WKContentViewInternal.h:
6368        * UIProcess/API/mac/PageClientImpl.h:
6369        * UIProcess/API/mac/PageClientImpl.mm:
6370        (WebKit::PageClientImpl::processDidExit):
6371        * UIProcess/API/mac/WKView.mm:
6372        (-[WKView _processDidExit]):
6373        * UIProcess/PageClient.h:
6374        * UIProcess/WebPageProxy.cpp:
6375        (WebKit::WebPageProxy::processDidCrash):
6376        (WebKit::WebPageProxy::resetStateAfterProcessExited):
6377        * UIProcess/API/mac/WKViewInternal.h:
6378        Rename _processDidCrash to _processDidExit, since it containes cleanup we
6379        should do in both cases. Also, call it whenever a process terminates instead
6380        of just upon a crash. Also clear the ViewGestureController, because its
6381        state doesn't make sense between WebProcesses.
6382
6383        (-[WKView _setCustomSwipeViews:]):
6384        Don't make a ViewGestureController if we don't have one and would be
6385        only creating one to set an empty list of custom swipe views.
6386
63872014-01-30  Brady Eidson  <beidson@apple.com>
6388
6389        IDB: ObjectStore cursor advance() support
6390        <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866
6391
6392        Reviewed by Sam Weinig.
6393
6394        Plumb calls through to the backing store:
6395        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
6396        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
6397        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
6398        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
6399
6400        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
6401        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
6402        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update schema
6403          for Records table.
6404        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
6405        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
6406        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
6407        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
6408        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Create a SQLiteIDBCursor object.
6409        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Call through to that object.
6410        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto.
6411        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::idbKeyCollate): Renamed for clarity.
6412        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::unregisterCursor): Cleanup open cursors.
6413        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
6414
6415        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Added.
6416        (WebKit::SQLiteIDBCursor::maybeCreate):
6417        (WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
6418        (WebKit::SQLiteIDBCursor::establishStatement):
6419        (WebKit::SQLiteIDBCursor::createIndexCursorStatement): Stubbed for now.
6420        (WebKit::SQLiteIDBCursor::createObjectStoreCursorStatement): Create the appropriate query for
6421          the passed in IDBKeyRange.
6422        (WebKit::SQLiteIDBCursor::advance): Step through that query.
6423        (WebKit::SQLiteIDBCursor::iterate): Stubbed for now.
6424        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Added.
6425        (WebKit::SQLiteIDBCursor::identifier):
6426        (WebKit::SQLiteIDBCursor::transaction):
6427        (WebKit::SQLiteIDBCursor::currentKey):
6428        (WebKit::SQLiteIDBCursor::currentPrimaryKey):
6429        (WebKit::SQLiteIDBCursor::currentValue):
6430
6431        Add infrastructure for a SQLiteIDBTransaction to keep track of (and clean up) its open cursors:
6432        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
6433        (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
6434        (WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction):
6435        (WebKit::SQLiteIDBTransaction::reset):
6436        (WebKit::SQLiteIDBTransaction::openCursor):
6437        (WebKit::SQLiteIDBTransaction::clearCursors):
6438        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
6439        (WebKit::SQLiteIDBTransaction::create):
6440        (WebKit::SQLiteIDBTransaction::sqliteTransaction):
6441
6442        Add accessors for the two fields:
6443        * DatabaseProcess/IndexedDB/IDBIdentifier.h:
6444        (WebKit::IDBIdentifier::connection):
6445        (WebKit::IDBIdentifier::id):
6446
6447        * WebKit2.xcodeproj/project.pbxproj:
6448
64492014-01-30  Anders Carlsson  <andersca@apple.com>
6450
6451        Implement policy response delegate handling
6452        https://bugs.webkit.org/show_bug.cgi?id=127945
6453
6454        Reviewed by Dan Bernstein.
6455
6456        * UIProcess/API/APIPolicyClient.h:
6457        (API::PolicyClient::decidePolicyForResponse):
6458        * UIProcess/API/C/WKPage.cpp:
6459        (WKPageSetPagePolicyClient):
6460        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
6461        (NS_ENUM):
6462        * UIProcess/Cocoa/NavigationState.h:
6463        * UIProcess/Cocoa/NavigationState.mm:
6464        (WebKit::NavigationState::setNavigationDelegate):
6465        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
6466        (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
6467        * UIProcess/WebPageProxy.cpp:
6468        (WebKit::WebPageProxy::decidePolicyForResponse):
6469
64702014-01-29  Dean Jackson  <dino@apple.com>
6471
6472        Allow the OpenGL Profiler to get through the sandbox
6473        https://bugs.webkit.org/show_bug.cgi?id=127877
6474        <rdar://problem/14817250>
6475        <rdar://problem/14271180>
6476
6477        Reviewed by Alexey Proskuryakov.
6478
6479        Open up the sandbox for WebProcess and PluginProcess so
6480        that OpenGL.framework can create a mach port for communication
6481        with the OpenGL Profiler.
6482
6483        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
6484        * WebProcess/com.apple.WebProcess.sb.in:
6485
64862014-01-30  Anders Carlsson  <andersca@apple.com>
6487
6488        Begin fleshing out the navigation delegate
6489        https://bugs.webkit.org/show_bug.cgi?id=127939
6490
6491        Reviewed by Dan Bernstein.
6492
6493        * UIProcess/API/APIPolicyClient.h:
6494        (API::PolicyClient::decidePolicyForNavigationAction):
6495        Pass the listener as a RefPtr.
6496
6497        * UIProcess/API/C/WKPage.cpp:
6498        (WKPageSetPagePolicyClient):
6499        Update for API::PolicyClient changes.
6500
6501        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
6502        Add new delegate.
6503
6504        * UIProcess/API/Cocoa/WKWebView.mm:
6505        (-[WKWebView initWithFrame:configuration:]):
6506        Set a policy client on the page.
6507
6508        * UIProcess/Cocoa/NavigationState.h:
6509        Add a new PolicyClient class.
6510
6511        * UIProcess/Cocoa/NavigationState.mm:
6512        (WebKit::NavigationState::NavigationState):
6513        Initialize m_navigationDelegateMethods.
6514
6515        (WebKit::NavigationState::navigationDelegate):
6516        m_delegate was renamed to m_navigationDelegate.
6517
6518        (WebKit::NavigationState::setNavigationDelegate):
6519        Update m_navigationDelegateMethods.webViewDecidePolicyForNavigationActionDecisionHandler.
6520        
6521        (WebKit::NavigationState::createPolicyClient):
6522        New helper function for creating a new policy client.
6523
6524        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
6525        Call the navigation delegate method.
6526
6527        * UIProcess/WebPageProxy.cpp:
6528        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
6529        Use std::move to hand off the listener to the client.
6530
65312014-01-30  Jeremy Jones  <jeremyj@apple.com>
6532
6533        Crash in RemoteLayerBackingStore::encode when m_frontBuffer is nullptr.
6534        https://bugs.webkit.org/show_bug.cgi?id=127756
6535
6536        Reviewed by Jer Noble.
6537
6538        Don't encode RemoteLayerBackingStore when it has no front buffer.
6539
6540        * Shared/mac/RemoteLayerBackingStore.h:
6541        (WebKit::RemoteLayerBackingStore::hasFrontBuffer):
6542        * Shared/mac/RemoteLayerTreeTransaction.mm:
6543        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
6544        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
6545
65462014-01-30  Mark Rowe  <mrowe@apple.com>
6547
6548        Host plug-ins in XPC services
6549        <https://webkit.org/b/127897> / <rdar://problem/13675955>
6550
6551        We disabled use of XPC services for plug-ins back in r143829 as the per-architecture services
6552        were not being built for the appropriate architectures. Fixing that allows us to reenable them.
6553
6554        Reviewed by Anders Carlsson.
6555
6556        * Configurations/PluginService.32.xcconfig: Use VALID_ARCHS to restrict the service
6557        to building for i386-only in production builds. Non-production builds allow building
6558        for all standard architectures to ensure that Xcode will be able to build this target.
6559        The exact architecture used isn't a concern for non-production builds since we'll use
6560        the development version of the service anyway.
6561        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
6562        (WebKit::shouldUseXPC): Remove the workaround that disables use of the XPC services.
6563
65642014-01-30  Anders Carlsson  <andersca@apple.com>
6565
6566        Add WKNavigationDelegate class
6567        https://bugs.webkit.org/show_bug.cgi?id=127927
6568
6569        Reviewed by Dan Bernstein.
6570
6571        * UIProcess/API/Cocoa/WKNavigationDelegate.h: Copied from Source/WebKit2/UIProcess/Cocoa/NavigationState.h.
6572        * UIProcess/API/Cocoa/WKWebView.h:
6573        * UIProcess/API/Cocoa/WKWebView.mm:
6574        (-[WKWebView navigationDelegate]):
6575        (-[WKWebView setNavigationDelegate:]):
6576        * UIProcess/Cocoa/NavigationState.h:
6577        * UIProcess/Cocoa/NavigationState.mm:
6578        (WebKit::NavigationState::navigationDelegate):
6579        (WebKit::NavigationState::setNavigationDelegate):
6580        * WebKit2.xcodeproj/project.pbxproj:
6581
65822014-01-30  Tim Horton  <timothy_horton@apple.com>
6583
6584        WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
6585        https://bugs.webkit.org/show_bug.cgi?id=127891
6586        <rdar://problem/15931413>
6587
6588        Reviewed by Anders Carlsson.
6589
6590        * UIProcess/API/Cocoa/WKViewPrivate.h: Add the SPI.
6591
6592        * UIProcess/API/ios/PageClientImplIOS.h:
6593        * UIProcess/API/ios/PageClientImplIOS.mm:
6594        (WebKit::PageClientImpl::clearCustomSwipeViews):
6595        * UIProcess/API/mac/PageClientImpl.h:
6596        * UIProcess/API/mac/PageClientImpl.mm:
6597        (WebKit::PageClientImpl::clearCustomSwipeViews):
6598        * UIProcess/PageClient.h:
6599        Plumb clearCustomSwipeViews() so that WebPageProxy can clear
6600        ViewGestureController's list of custom views when the current
6601        back-forward item changes.
6602
6603        * UIProcess/API/mac/WKView.mm:
6604        (-[WKView _takeViewSnapshot]):
6605        If we have custom swipe views, use the union of their bounds as the snapshot region.
6606
6607        (-[WKView _setCustomSwipeViews:]):
6608        Forward along to ViewGestureController.
6609
6610        * UIProcess/WebPageProxy.cpp:
6611        (WebKit::WebPageProxy::didChangeBackForwardList):
6612        When the current back forward list item changes, clear the custom swipe views.
6613
6614        * UIProcess/mac/ViewGestureController.h:
6615        (WebKit::ViewGestureController::setCustomSwipeViews):
6616        (WebKit::ViewGestureController::customSwipeViews):
6617        * UIProcess/mac/ViewGestureController.mm:
6618        (WebKit::ViewGestureController::windowRelativeBoundsForCustomSwipeViews):
6619        Compute the union of the custom swipe view bounds in the window's coordinate space.
6620
6621        (WebKit::ViewGestureController::beginSwipeGesture):
6622        Store the layers we'll be swiping as the "live" layers in m_currentSwipeLiveLayers.
6623        Don't set a shadow (yet) if we have custom swipe views, because it's not clear where to put it.
6624
6625        (WebKit::ViewGestureController::handleSwipeGesture):
6626        Compute the swipe distance ('width') based on the union of the custom views bounds if needed.
6627        Update the transform of all of the live layers. We use transform instead of position now
6628        so that clients can set the position (having an identity transform is one of the SPI caveats).
6629
6630        (WebKit::ViewGestureController::removeSwipeSnapshot):
6631        Reset the transform on all of the live layers.
6632        Clear the list of live layers.
6633
66342014-01-30  Brady Eidson  <beidson@apple.com>
6635
6636        IDB: Add no-op plumbing for deleteDatabase and deleteRange
6637        https://bugs.webkit.org/show_bug.cgi?id=127912
6638
6639        Reviewed by Alexey Proskuryakov.
6640
6641        Forward the calls to the DatabaseProcess, and handle completion from the DatabaseProcess:
6642        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
6643        (WebKit::WebIDBServerConnection::deleteDatabase):
6644        (WebKit::WebIDBServerConnection::didDeleteDatabase):
6645        (WebKit::WebIDBServerConnection::deleteRange):
6646        (WebKit::WebIDBServerConnection::didDeleteRange):
6647        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
6648        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
6649
6650        Stub out deleteDatabase, and forward deleteRange to the appropriate UniqueIDBDatabase:
6651        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
6652        (WebKit::DatabaseProcessIDBConnection::deleteDatabase):
6653        (WebKit::DatabaseProcessIDBConnection::deleteRange):
6654        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
6655        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
6656
6657        Forward the request to the backing store thread, and handle the response from that thread:
6658        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
6659        (WebKit::UniqueIDBDatabase::deleteRange):
6660        (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore):
6661        (WebKit::UniqueIDBDatabase::didDeleteRangeInBackingStore):
6662        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
6663
66642014-01-30  Antti Koivisto  <antti@apple.com>
6665
6666        WebPage::determinePrimarySnapshottedPlugIn is slow
6667        https://bugs.webkit.org/show_bug.cgi?id=127905
6668
6669        Reviewed by Anders Carlsson.
6670        
6671        PLT before:
6672        132.0ms  0.8% 0,0   WebKit::WebPage::determinePrimarySnapshottedPlugIn()
6673        130.0ms  0.8% 0,0    WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&)
6674        
6675        After:
6676        7.0ms    0.0% 0,0   WebKit::WebPage::determinePrimarySnapshottedPlugIn()
6677        3.0ms    0.0% 0,0    WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&)
6678
6679        * WebProcess/WebPage/WebPage.cpp:
6680        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
6681        
6682            Instead of shotgunning the page with hit tests, do a DOM crawl for plugins
6683            and hit test the centers.
6684
66852014-01-30  Andrei Bucur  <abucur@adobe.com>
6686
6687        Remove the ACCELERATED_COMPOSITING flag
6688        https://bugs.webkit.org/show_bug.cgi?id=127833
6689
6690        Reviewed by Antti Koivisto.
6691
6692        Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
6693        mandatory.
6694
6695        * PluginProcess/PluginControllerProxy.cpp:
6696        (WebKit::PluginControllerProxy::PluginControllerProxy):
6697        * PluginProcess/PluginCreationParameters.cpp:
6698        (WebKit::PluginCreationParameters::PluginCreationParameters):
6699        (WebKit::PluginCreationParameters::encode):
6700        (WebKit::PluginCreationParameters::decode):
6701        * PluginProcess/PluginCreationParameters.h:
6702        * PluginProcess/PluginProcess.h:
6703        * Shared/WebRenderLayer.cpp:
6704        (WebKit::WebRenderLayer::WebRenderLayer):
6705        * Shared/mac/RemoteLayerBackingStore.h:
6706        * Shared/mac/RemoteLayerBackingStore.mm:
6707        (RemoteLayerBackingStore::enumerateRectsBeingDrawn):
6708        * UIProcess/API/efl/EvasGLContext.cpp:
6709        * UIProcess/API/efl/EvasGLContext.h:
6710        * UIProcess/API/efl/EvasGLSurface.cpp:
6711        * UIProcess/API/efl/EvasGLSurface.h:
6712        * UIProcess/API/efl/EwkView.cpp:
6713        (EwkView::EwkView):
6714        (EwkView::displayTimerFired):
6715        (EwkView::createGLSurface):
6716        (EwkView::handleEvasObjectCalculate):
6717        (EwkView::handleEvasObjectShow):
6718        (EwkView::takeSnapshot):
6719        * UIProcess/API/efl/EwkView.h:
6720        * UIProcess/API/efl/SnapshotImageGL.cpp:
6721        (getImageSurfaceFromFrameBuffer):
6722        * UIProcess/API/efl/SnapshotImageGL.h:
6723        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
6724        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
6725        * UIProcess/API/gtk/PageClientImpl.cpp:
6726        (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
6727        * UIProcess/API/gtk/PageClientImpl.h:
6728        * UIProcess/API/ios/PageClientImplIOS.h:
6729        * UIProcess/API/ios/PageClientImplIOS.mm:
6730        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
6731        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
6732        (WebKit::CoordinatedDrawingAreaProxy::~CoordinatedDrawingAreaProxy):
6733        (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange):
6734        (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
6735        (WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode):
6736        (WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode):
6737        (WebKit::CoordinatedDrawingAreaProxy::updateAcceleratedCompositingMode):
6738        (WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
6739        (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
6740        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
6741        * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
6742        * UIProcess/CoordinatedGraphics/PageViewportController.h:
6743        * UIProcess/CoordinatedGraphics/WebView.cpp:
6744        (WebKit::WebView::setVisible):
6745        * UIProcess/DrawingAreaProxy.h:
6746        * UIProcess/DrawingAreaProxy.messages.in:
6747        * UIProcess/DrawingAreaProxyImpl.cpp:
6748        (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
6749        (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
6750        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
6751        (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
6752        (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
6753        (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
6754        (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
6755        * UIProcess/DrawingAreaProxyImpl.h:
6756        * UIProcess/PageClient.h:
6757        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
6758        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
6759        * UIProcess/WebPageProxy.cpp:
6760        (WebKit::WebPageProxy::updateAcceleratedCompositingMode):
6761        * UIProcess/WebPageProxy.h:
6762        * UIProcess/efl/PageLoadClientEfl.cpp:
6763        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
6764        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
6765        * UIProcess/efl/ViewClientEfl.cpp:
6766        (WebKit::ViewClientEfl::didChangeContentsSize):
6767        (WebKit::ViewClientEfl::didChangeContentsPosition):
6768        (WebKit::ViewClientEfl::didRenderFrame):
6769        (WebKit::ViewClientEfl::didCompletePageTransition):
6770        (WebKit::ViewClientEfl::didChangeViewportAttributes):
6771        * UIProcess/mac/WebContextMac.mm:
6772        (WebKit::WebContext::platformInitializeWebProcess):
6773        * WebProcess/FullScreen/WebFullScreenManager.cpp:
6774        (WebKit::screenRectOfContents):
6775        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
6776        (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
6777        * WebProcess/Plugins/PluginController.h:
6778        * WebProcess/Plugins/PluginProxy.cpp:
6779        (WebKit::PluginProxy::initialize):
6780        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
6781        (WebKit::WebChromeClient::layerTreeStateIsFrozen):
6782        * WebProcess/WebCoreSupport/WebChromeClient.h:
6783        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
6784        (WebKit::CoordinatedDrawingArea::layerHostDidFlushLayers):
6785        (WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlush):
6786        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
6787        * WebProcess/WebPage/DrawingArea.h:
6788        * WebProcess/WebPage/DrawingAreaImpl.cpp:
6789        (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
6790        (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
6791        (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
6792        * WebProcess/WebPage/DrawingAreaImpl.h:
6793        * WebProcess/WebPage/WebPage.cpp:
6794        (WebKit::WebPage::exitAcceleratedCompositingMode):
6795        (WebKit::WebPage::mainFrameDidLayout):
6796        (WebKit::WebPage::didReceiveMessage):
6797        * WebProcess/WebPage/WebPage.h:
6798        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
6799        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
6800        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
6801        (PlatformCALayerRemote::hostingContextID):
6802        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
6803        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
6804        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
6805        (PlatformCALayerRemoteCustom::hostingContextID):
6806        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
6807        (PlatformCALayerRemoteTiledBacking::setBorderColor):
6808        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
6809        * WebProcess/WebProcess.cpp:
6810        (WebKit::WebProcess::WebProcess):
6811        * WebProcess/WebProcess.h:
6812
68132014-01-30  Brady Eidson  <beidson@apple.com>
6814
6815        IDB: Key generator support
6816        https://bugs.webkit.org/show_bug.cgi?id=127871
6817
6818        Reviewed by Tim Horton.
6819
6820        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
6821        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Update for storing/retrieving integers instead of IDBKeys.
6822        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
6823
6824        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
6825        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a keygen table.
6826        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): Put a record in the keygen table for
6827          this object store if necessary.
6828        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Delete the entry in the keygen table.
6829        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber): Pull the current number from the table.
6830        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber): Update the number in the table.
6831        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
6832
6833        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
6834        (WebKit::WebIDBServerConnection::put): Null keys are acceptable for autoIncrement object stores.
6835
68362014-01-30  Brady Eidson  <beidson@apple.com>
6837
6838        IDB: Implement IDBObjectStore.count()
6839        https://bugs.webkit.org/show_bug.cgi?id=127888
6840
6841        Reviewed by Tim Horton.
6842
6843        Forward request to the DatabaseProcess, and handle its completion:
6844        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
6845        (WebKit::WebIDBServerConnection::count):
6846        (WebKit::WebIDBServerConnection::didCount):
6847        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
6848        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
6849
6850        Pass request along to the appropriate UniqueIDBDatabase:
6851        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
6852        (WebKit::DatabaseProcessIDBConnection::count):
6853        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
6854        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
6855
6856        Pass request to backing store thread, then pass it back to the WebProcess:
6857        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
6858        (WebKit::UniqueIDBDatabase::count):
6859        (WebKit::UniqueIDBDatabase::countInBackingStore):
6860        (WebKit::UniqueIDBDatabase::didCountInBackingStore):
6861        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
6862
6863        * Shared/AsyncTask.h:
6864        (WebKit::createAsyncTask):
6865
68662014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
6867
6868        Unreviewed. Fix the GTK+ build after r163037.
6869
6870        * UIProcess/API/gtk/WebKitWebView.cpp:
6871        (webkit_web_view_load_uri):
6872        (webkit_web_view_load_request):
6873
68742014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
6875
6876        Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
6877        https://bugs.webkit.org/show_bug.cgi?id=127845
6878
6879        Reviewed by Joseph Pecoraro.
6880
6881        * Configurations/FeatureDefines.xcconfig:
6882
68832014-01-29  Dan Bernstein  <mitz@apple.com>
6884
6885        Moved linking against common frameworks and a library from the .xcconfig file into the target.
6886
6887        Reviewed by Tim Horton.
6888
6889        * Configurations/WebKit2.xcconfig:
6890        * WebKit2.xcodeproj/project.pbxproj:
6891
68922014-01-29  Anders Carlsson  <andersca@apple.com>
6893
6894        Fix 32-bit build.
6895
6896        * UIProcess/Cocoa/NavigationState.h:
6897        * UIProcess/Cocoa/NavigationState.mm:
6898
68992014-01-29  Anders Carlsson  <andersca@apple.com>
6900
6901        Add a NavigationState object to keep track of the navigations for a given page
6902        https://bugs.webkit.org/show_bug.cgi?id=127884
6903
6904        Reviewed by Sam Weinig.
6905
6906        * UIProcess/API/Cocoa/WKNavigation.mm:
6907        (-[WKNavigation request]):
6908        (-[WKNavigation setRequest:]):
6909        * UIProcess/API/Cocoa/WKNavigationInternal.h:
6910        * UIProcess/API/Cocoa/WKWebView.mm:
6911        (-[WKWebView initWithFrame:configuration:]):
6912        (-[WKWebView loadRequest:]):
6913        * UIProcess/Cocoa/NavigationState.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm.
6914        * UIProcess/Cocoa/NavigationState.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm.
6915        (WebKit::NavigationState::NavigationState):
6916        (WebKit::NavigationState::~NavigationState):
6917        (WebKit::NavigationState::createLoadRequestNavigation):
6918        * UIProcess/WebPageProxy.cpp:
6919        (WebKit::WebPageProxy::loadRequest):
6920        * UIProcess/WebPageProxy.h:
6921        * WebKit2.xcodeproj/project.pbxproj:
6922
69232014-01-29  Gavin Barraclough  <barraclough@apple.com>
6924
6925        Add IsVisibleOrOccluded to ViewState
6926        https://bugs.webkit.org/show_bug.cgi?id=127875
6927
6928        Reviewed by Anders Carlsson.
6929
6930        When the WKView associated with a plugin becomes occluded
6931        we tell the plugin it is no longer visible. This is a problem
6932        if the plugin is being occluded by its own fullscreen window.
6933
6934        Instead, consider plugins to be visible any time they are in
6935        a visible window – i.e. when they are visible or occluded.
6936
6937        * UIProcess/API/mac/PageClientImpl.h:
6938        * UIProcess/API/mac/PageClientImpl.mm:
6939        (WebKit::PageClientImpl::isViewVisibleOrOccluded):
6940        * UIProcess/PageClient.h:
6941        (WebKit::PageClient::isViewVisibleOrOccluded):
6942            - added isViewVisibleOrOccluded.
6943        * UIProcess/WebPageProxy.cpp:
6944        (WebKit::WebPageProxy::updateViewState):
6945            - update IsVisibleOrOccluded.
6946        (WebKit::WebPageProxy::viewStateDidChange):
6947            - when updating IsVisible also update IsVisibleOrOccluded.
6948        * WebProcess/Plugins/PluginView.cpp:
6949        (WebKit::PluginView::platformViewStateDidChange):
6950            - use isVisibleOrOccluded to determine plugin visibility.
6951        * WebProcess/WebPage/WebPage.h:
6952        (WebKit::WebPage::isVisibleOrOccluded):
6953            - accessor.
6954
69552014-01-29  Anders Carlsson  <andersca@apple.com>
6956
6957        Pass navigation IDs along to LoadRequest and Reload
6958        https://bugs.webkit.org/show_bug.cgi?id=127883
6959
6960        Reviewed by Sam Weinig.
6961
6962        * UIProcess/WebPageProxy.cpp:
6963        (WebKit::WebPageProxy::WebPageProxy):
6964        (WebKit::WebPageProxy::loadRequest):
6965        (WebKit::WebPageProxy::loadFile):
6966        (WebKit::WebPageProxy::reload):
6967        (WebKit::WebPageProxy::generateNavigationID):
6968        * UIProcess/WebPageProxy.h:
6969        * WebProcess/WebPage/WebDocumentLoader.cpp:
6970        (WebKit::WebDocumentLoader::setNavigationID):
6971        * WebProcess/WebPage/WebPage.cpp:
6972        (WebKit::WebPage::WebPage):
6973        (WebKit::WebPage::loadRequest):
6974        (WebKit::WebPage::reload):
6975        (WebKit::WebPage::createDocumentLoader):
6976        * WebProcess/WebPage/WebPage.h:
6977        * WebProcess/WebPage/WebPage.messages.in:
6978
69792014-01-29  Anders Carlsson  <andersca@apple.com>
6980
6981        -[WKWebView loadRequest:] should return a WKNavigation
6982        https://bugs.webkit.org/show_bug.cgi?id=127873
6983
6984        Reviewed by Dan Bernstein.
6985
6986        For now this just returns a dummy navigation.
6987
6988        * UIProcess/API/Cocoa/WKNavigation.h:
6989        * UIProcess/API/Cocoa/WKNavigation.mm:
6990        (-[WKNavigation initWithRequest:]):
6991        (-[WKNavigation request]):
6992        * UIProcess/API/Cocoa/WKNavigationInternal.h: Added.
6993        * UIProcess/API/Cocoa/WKWebView.h:
6994        * UIProcess/API/Cocoa/WKWebView.mm:
6995        (-[WKWebView loadRequest:]):
6996        * WebKit2.xcodeproj/project.pbxproj:
6997
69982014-01-29  Anders Carlsson  <andersca@apple.com>
6999
7000        
7001
7002        * UIProcess/API/C/WKPage.cpp:
7003        (WKPageLoadURL):
7004        Don't use the resource request constructor that takes a String.
7005
70062014-01-29  Brady Eidson  <beidson@apple.com>
7007
7008        IDB: Fully implement IDBKeyData encoding/decoding
7009        https://bugs.webkit.org/show_bug.cgi?id=127863
7010
7011        Rubberstamped by Alexey Proskuryakov.
7012
7013        Handle invalid buffers, and pass IDBKeyData decoding along:
7014        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
7015        (WebKit::deserializeIDBKeyPath):
7016        (WebKit::serializeIDBKeyData):
7017        (WebKit::deserializeIDBKeyData):
7018        * DatabaseProcess/IndexedDB/IDBSerialization.h:
7019
7020        Implement decodeBool and decodeDouble:
7021        * Shared/cf/KeyedDecoder.cpp:
7022        (WebKit::KeyedDecoder::decodeBool):
7023        (WebKit::KeyedDecoder::decodeDouble):
7024        * Shared/cf/KeyedDecoder.h:
7025
70262014-01-29  Tim Horton  <timothy_horton@apple.com>
7027
7028        WebKit2 View Gestures (Swipe): Update rubberBandsAt{Left,Right} when WebKit swipe is enabled
7029        https://bugs.webkit.org/show_bug.cgi?id=127855
7030        <rdar://problem/15933878>
7031
7032        Reviewed by Anders Carlsson.
7033
7034        * UIProcess/API/mac/WKView.mm:
7035        (-[WKView setAllowsBackForwardNavigationGestures:]):
7036        Enable implicit control of rubberbanding when using WebKit2's swipe implementation.
7037
7038        * UIProcess/WebPageProxy.cpp:
7039        (WebKit::WebPageProxy::WebPageProxy):
7040        (WebKit::WebPageProxy::sendWheelEvent):
7041        * UIProcess/WebPageProxy.h:
7042        (WebKit::WebPageProxy::setShouldUseImplicitRubberBandControl):
7043        (WebKit::WebPageProxy::shouldUseImplicitRubberBandControl):
7044        Rename away from "legacy" name, since we're using it on purpose now.
7045
7046        * UIProcess/mac/WebPageProxyMac.mm:
7047        (WebKit::expectsLegacyImplicitRubberBandControl):
7048        (WebKit::WebPageProxy::platformInitialize):
7049        Since NSVersionOfLinkTimeLibrary doesn't work for applications that
7050        don't link directly against the library (like Safari), let's explicitly
7051        check if Safari is expecting the legacy behavior, otherwise using
7052        the linked version of WebKit2, but using the new behavior if we can't
7053        determine the linked version of WebKit2 and are not Safari.
7054
70552014-01-29  Anders Carlsson  <andersca@apple.com>
7056
7057        Make WKWebView limp along on OS X
7058        https://bugs.webkit.org/show_bug.cgi?id=127857
7059
7060        Reviewed by Tim Horton.
7061
7062        On Mac, create a WKView and add it as a subview of the WKWebVew so we'll actually get something
7063        on screen when creating a WKWebView.
7064
7065        * UIProcess/API/Cocoa/WKWebView.mm:
7066        (-[WKWebView initWithFrame:configuration:]):
7067        Create a WKView.
7068
7069        (-[WKWebView resizeSubviewsWithOldSize:]):
7070        Resize the WKView.
7071
7072        * UIProcess/API/mac/WKView.mm:
7073        (-[WKView initWithFrame:configuration:]):
7074        Add new initializer.
7075
7076        * UIProcess/API/mac/WKViewInternal.h:
7077        Use a class extension for internal methods and add the new initializer.
7078
70792014-01-29  Brady Eidson  <beidson@apple.com>
7080
7081        IDB: Opening an existing database is broken
7082        https://bugs.webkit.org/show_bug.cgi?id=127851
7083
7084        Reviewed by Tim Hatcher.
7085
7086        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
7087        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Save the request to get metadata
7088          to the set before posting the task to the thread.
7089        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
7090        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Actually save the retrieved
7091          object store metadata to the database metadata.
7092
70932014-01-29  Anders Carlsson  <andersca@apple.com>
7094
7095        Consolidate page loading functions
7096        https://bugs.webkit.org/show_bug.cgi?id=127847
7097
7098        Reviewed by Tim Horton.
7099
7100        Get rid of the loadURL functions (and the LoadURL message), rename
7101        loadURLRequest to loadRequest and change it to take a ResourceRequest instead
7102        of an API::URLRequest.
7103
7104        * UIProcess/API/C/WKPage.cpp:
7105        (WKPageLoadURL):
7106        (WKPageLoadURLWithUserData):
7107        (WKPageLoadURLRequest):
7108        (WKPageLoadURLRequestWithUserData):
7109        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
7110        (-[WKBrowsingContextController loadRequest:userData:]):
7111        * UIProcess/API/Cocoa/WKWebView.mm:
7112        (-[WKWebView loadRequest:]):
7113        * UIProcess/WebInspectorProxy.cpp:
7114        (WebKit::decidePolicyForNavigationAction):
7115        (WebKit::WebInspectorProxy::createInspectorPage):
7116        * UIProcess/WebPageProxy.cpp:
7117        (WebKit::WebPageProxy::loadRequest):
7118        (WebKit::WebPageProxy::loadFile):
7119        * UIProcess/WebPageProxy.h:
7120        * UIProcess/cf/WebPageProxyCF.cpp:
7121        (WebKit::WebPageProxy::restoreFromSessionStateData):
7122        * WebProcess/WebPage/WebPage.cpp:
7123        (WebKit::WebPage::loadRequest):
7124        * WebProcess/WebPage/WebPage.h:
7125        * WebProcess/WebPage/WebPage.messages.in:
7126
71272014-01-29  Martin Robinson  <mrobinson@igalia.com>
7128
7129        [GTK] [CMake] Fix the build after r162835
7130        https://bugs.webkit.org/show_bug.cgi?id=127753
7131
7132        Reviewed by Gustavo Noronha Silva.
7133
7134        * CMakeLists.txt: Add support for using the prefix header (GCC / clang only for now)
7135        when WebKit2_USE_PREFIX_HEADER is set to true.
7136        * PlatformGTK.cmake: Set WebKit2_USE_PREFIX_HEADER support and no longer process some message.in files.
7137        * WebKit2Prefix.h: Add support for the CMake GTK+ build.
7138
71392014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
7140
7141        Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
7142        https://bugs.webkit.org/show_bug.cgi?id=127840
7143
7144        Reviewed by Mark Lam.
7145
7146        * WebProcess/WebPage/WebInspector.cpp:
7147        (WebKit::WebInspector::startJavaScriptDebugging):
7148        (WebKit::WebInspector::stopJavaScriptDebugging):
7149        (WebKit::WebInspector::setJavaScriptProfilingEnabled):
7150        (WebKit::WebInspector::startJavaScriptProfiling):
7151        (WebKit::WebInspector::stopJavaScriptProfiling):
7152
71532014-01-29  Brady Eidson  <beidson@apple.com>
7154
7155        IDB: Serialize IDBKeyDatas to disk, not IDBKeys
7156        https://bugs.webkit.org/show_bug.cgi?id=127829
7157
7158        Reviewed by Tim Horton.
7159
7160        Serialize IDBKeyDatas, not IDBKeys.
7161
7162        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
7163        (WebKit::deserializeIDBKeyPath):
7164        (WebKit::serializeIDBKeyData):
7165        * DatabaseProcess/IndexedDB/IDBSerialization.h:
7166
7167        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
7168        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
7169        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
7170        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
7171        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
7172
71732014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
7174
7175        Unreviewed. Fix GTK+ build after r162981.
7176
7177        * GNUmakefile.list.am: Add WebProcess/WebPage/WebDocumentLoader to
7178        the compilation.
7179
71802014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
7181
7182        Unreviewed. Actually fix the GTK+ build after r162967.
7183
7184        * UIProcess/API/gtk/WebKitWebView.cpp:
7185        (webkit_web_view_can_go_back):
7186        (webkit_web_view_can_go_forward):
7187
71882014-01-28  Zan Dobersek  <zdobersek@igalia.com>
7189
7190        Unreviewed followup to r163006. That change incorrectly modified
7191        webkit_web_view_go_forward when webkit_web_view_can_go_forward needed fixing.
7192
7193        * UIProcess/API/gtk/WebKitWebView.cpp:
7194        (webkit_web_view_go_forward):
7195        (webkit_web_view_can_go_forward):
7196
71972014-01-28  Zan Dobersek  <zdobersek@igalia.com>
7198
7199        Unreviewed GTK build fix after r162967.
7200
7201        * UIProcess/API/gtk/WebKitWebView.cpp:
7202        (webkit_web_view_can_go_back):
7203        (webkit_web_view_go_forward):
7204
72052014-01-28  Tim Horton  <timothy_horton@apple.com>
7206
7207        Crashes in ViewGestureController::wheelEventWasNotHandledByWebCore
7208        https://bugs.webkit.org/show_bug.cgi?id=127828
7209        <rdar://problem/15932902>
7210
7211        Reviewed by Dan Bernstein.
7212
7213        * UIProcess/API/mac/WKView.mm:
7214        (-[WKView _wheelEventWasNotHandledByWebCore:]):
7215        Null check. ViewGestureController only needs unhandled wheel events after it has been created.
7216
72172014-01-28  Tim Horton  <timothy_horton@apple.com>
7218
7219        Fix the Mountain Lion build if you have private headers.
7220
7221        * UIProcess/mac/ViewGestureController.mm:
7222        (WebKit::ViewGestureController::beginSwipeGesture):
7223
72242014-01-28  Ian Henderson  <ianh@apple.com>
7225
7226        [iOS] UI process crashes whenever web process crashes
7227        https://bugs.webkit.org/show_bug.cgi?id=127826
7228
7229        Reviewed by Tim Horton.
7230
7231        * UIProcess/API/ios/WKContentView.mm:
7232        (-[WKContentView _updateFixedPositionRect]): Null-check the drawing
7233        area before calling size() on it.
7234
72352014-01-28  Ian Henderson  <ianh@apple.com>
7236
7237        WKRemoteObjectCoder should support more argument types
7238        https://bugs.webkit.org/show_bug.cgi?id=127824
7239
7240        Reviewed by Anders Carlsson.
7241
7242        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
7243        (encodeInvocation): Support encoding char values.
7244        (decodeInvocationArguments): Support decoding char values.
7245
72462014-01-28  Ryuan Choi  <ryuan.choi@samsung.com>
7247
7248        Unreviewed build fix on the cmake based port after r162981
7249
7250        One more build fix.
7251
7252        * CMakeLists.txt: Added WebDocumentLoader.cpp
7253
72542014-01-28  Ryuan Choi  <ryuan.choi@samsung.com>
7255
7256        Unreviewed build fix on the EFL build after r162984
7257
7258        r162984 added wheelEventWasNotHandledByWebCore which is guarded to PLATFORM(MAC).
7259
7260        * UIProcess/WebPageProxy.cpp:
7261        (WebKit::WebPageProxy::didReceiveEvent):
7262
72632014-01-28  Anders Carlsson  <andersca@apple.com>
7264
7265        Fix a thinko.
7266
7267        * UIProcess/WebPageProxy.cpp:
7268        (WebKit::WebPageProxy::goBack):
7269        Remove early return if isValid() is true.
7270
72712014-01-28  Anders Carlsson  <andersca@apple.com>
7272
7273        WebPage should be in charge of creating document loaders
7274        https://bugs.webkit.org/show_bug.cgi?id=127818
7275
7276        Reviewed by Dan Bernstein.
7277
7278        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7279        (WebKit::WebFrameLoaderClient::createDocumentLoader):
7280        * WebProcess/WebPage/WebPage.cpp:
7281        (WebKit::WebPage::createDocumentLoader):
7282        * WebProcess/WebPage/WebPage.h:
7283
72842014-01-28  Carlos Alberto Lopez Perez  <clopez@igalia.com>
7285
7286        Unreviewed GTK build fix after r162951.
7287        https://bugs.webkit.org/show_bug.cgi?id=127815
7288
7289        * GNUmakefile.list.am: Adding missing build targets.
7290
72912014-01-28  Tim Horton  <timothy_horton@apple.com>
7292
7293        WebKit2 View Gestures (Swipe): Give WebCore the first crack at scroll events if it needs it
7294        https://bugs.webkit.org/show_bug.cgi?id=127396
7295
7296        Reviewed by Anders Carlsson.
7297
7298        * UIProcess/API/ios/PageClientImplIOS.h:
7299        * UIProcess/API/ios/PageClientImplIOS.mm:
7300        (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
7301        * UIProcess/API/mac/PageClientImpl.h:
7302        * UIProcess/API/mac/PageClientImpl.mm:
7303        (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
7304        * UIProcess/API/mac/WKView.mm:
7305        (-[WKView _wheelEventWasNotHandledByWebCore:]):
7306        * UIProcess/API/mac/WKViewInternal.h:
7307        * UIProcess/PageClient.h:
7308        * UIProcess/WebPageProxy.cpp:
7309        (WebKit::WebPageProxy::didReceiveEvent):
7310        In addition to informing the page client about un-handled wheel events,
7311        inform the ViewGestureController, in a roundabout way.
7312
7313        * UIProcess/mac/ViewGestureController.h:
7314        Add and use SwipeDirection enum instead of 'bool willSwipeLeft'.
7315
7316        * UIProcess/mac/ViewGestureController.mm:
7317        (WebKit::ViewGestureController::ViewGestureController):
7318        (WebKit::ViewGestureController::handleScrollWheelEvent):
7319        If we get a Begin scroll wheel event, any previously deferred
7320        swipes are invalid.
7321
7322        If the page has subframes or wheel handlers, defer starting the
7323        swipe until we get a wheelEventWasNotHandledByWebCore back from the WebProcess.
7324
7325        (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
7326        Start the swipe if the WebProcess didn't eat the event.
7327
7328        (WebKit::ViewGestureController::trackSwipeGesture):
7329        (WebKit::ViewGestureController::beginSwipeGesture):
7330        (WebKit::ViewGestureController::handleSwipeGesture):
7331        Use SwipeDirection.
7332
73332014-01-28  Anders Carlsson  <andersca@apple.com>
7334
7335        Fix build.
7336
7337        * WebProcess/WebPage/WebFrame.cpp:
7338
73392014-01-28  Anders Carlsson  <andersca@apple.com>
7340
7341        Add WebDocumentLoader, a WebCore::DocumentLoader subclass
7342        https://bugs.webkit.org/show_bug.cgi?id=127817
7343
7344        Reviewed by Tim Horton.
7345
7346        We need a place to store navigation IDs, and since they are per document loader, putting them
7347        in a DocumentLoader subclass seems like a good idea.
7348
7349        * WebKit2.xcodeproj/project.pbxproj:
7350        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7351        (WebKit::WebFrameLoaderClient::createDocumentLoader):
7352        * WebProcess/WebPage/WebDocumentLoader.cpp: Added.
7353        (WebKit::WebDocumentLoader::WebDocumentLoader):
7354        (WebKit::WebDocumentLoader::setNavigationID):
7355        * WebProcess/WebPage/WebDocumentLoader.h: Added.
7356        (WebKit::WebDocumentLoader::create):
7357        (WebKit::WebDocumentLoader::navigationID):
7358
73592014-01-28  Anders Carlsson  <andersca@apple.com>
7360
7361        Simplify WebFrame::isMainFrame
7362        https://bugs.webkit.org/show_bug.cgi?id=127812
7363
7364        Reviewed by Sam Weinig.
7365
7366        * WebProcess/WebPage/WebFrame.cpp:
7367        (WebKit::WebFrame::isMainFrame):
7368
73692014-01-28  Andy Estes  <aestes@apple.com>
7370
7371        [iOS] Set INSTALL_PATH_ACTUAL when building WebKit2 for the iOS Simulator
7372        https://bugs.webkit.org/show_bug.cgi?id=127811
7373
7374        Reviewed by Dan Bernstein.
7375
7376        * Configurations/WebKit2.xcconfig:
7377
73782014-01-28  Jinwoo Song  <jinwoo7.song@samsung.com>
7379
7380        Unreviewed EFL WebKit2 build fix.
7381
7382        * CMakeLists.txt: Added Shared/NavigationActionData.cpp
7383
73842014-01-28  Anders Carlsson  <andersca@apple.com>
7385
7386        Remove WebPageProxy::canGoBack and WebPageProxy::canGoForward
7387        https://bugs.webkit.org/show_bug.cgi?id=127803
7388
7389        Reviewed by Andreas Kling.
7390
7391        * UIProcess/API/C/WKPage.cpp:
7392        (WKPageCanGoForward):
7393        (WKPageCanGoBack):
7394        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
7395        (-[WKBrowsingContextController canGoForward]):
7396        (-[WKBrowsingContextController canGoBack]):
7397        * UIProcess/WebPageProxy.cpp:
7398        (WebKit::WebPageProxy::goForward):
7399        (WebKit::WebPageProxy::goBack):
7400        (WebKit::WebPageProxy::sendWheelEvent):
7401        * UIProcess/WebPageProxy.h:
7402
74032014-01-28  Anders Carlsson  <andersca@apple.com>
7404
7405        API::PolicyClient::decidePolicyForNavigationAction should take a NavigationActionData object
7406        https://bugs.webkit.org/show_bug.cgi?id=127798
7407
7408        Reviewed by Tim Horton.
7409
7410        * UIProcess/API/APIPolicyClient.h:
7411        (API::PolicyClient::decidePolicyForNavigationAction):
7412        * UIProcess/API/C/WKPage.cpp:
7413        (WKPageSetPagePolicyClient):
7414        * UIProcess/WebPageProxy.cpp:
7415        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
7416
74172014-01-28  Anders Carlsson  <andersca@apple.com>
7418
7419        Add an empty WKNavigation class
7420        https://bugs.webkit.org/show_bug.cgi?id=127796
7421
7422        Reviewed by Tim Horton.
7423
7424        * UIProcess/API/Cocoa/WKNavigation.h: Added.
7425        * UIProcess/API/Cocoa/WKNavigation.mm: Added.
7426        * WebKit2.xcodeproj/project.pbxproj:
7427
74282014-01-28  Anders Carlsson  <andersca@apple.com>
7429
7430        Add a NavigationActionData object for easy storage of navigation action data
7431        https://bugs.webkit.org/show_bug.cgi?id=127787
7432
7433        Reviewed by Tim Horton.
7434
7435        * Scripts/webkit2/messages.py:
7436        (struct_or_class):
7437        * Shared/NavigationActionData.cpp: Added.
7438        (WebKit::NavigationActionData::NavigationActionData):
7439        (WebKit::NavigationActionData::encode):
7440        (WebKit::NavigationActionData::decode):
7441        * Shared/NavigationActionData.h: Added.
7442        * UIProcess/WebPageProxy.cpp:
7443        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
7444        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
7445        * UIProcess/WebPageProxy.h:
7446        * UIProcess/WebPageProxy.messages.in:
7447        * WebKit2.xcodeproj/project.pbxproj:
7448        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7449        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
7450        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
7451
74522014-01-28  Tim Horton  <timothy_horton@apple.com>
7453
7454        Fix the Mountain Lion build.
7455
7456        * UIProcess/mac/ViewGestureController.mm:
7457        (WebKit::ViewGestureController::beginSwipeGesture):
7458        (WebKit::ViewGestureController::removeSwipeSnapshot):
7459        * UIProcess/mac/ViewSnapshotStore.mm:
7460        (WebKit::ViewSnapshotStore::recordSnapshot):
7461
74622014-01-28  Tim Horton  <timothy_horton@apple.com>
7463
7464        Fix the iOS build.
7465
7466        * UIProcess/WebPageProxy.cpp:
7467        (WebKit::WebPageProxy::recordNavigationSnapshot):
7468        * UIProcess/mac/ViewSnapshotStore.h:
7469        * UIProcess/mac/ViewSnapshotStore.mm:
7470
74712014-01-28  Brady Eidson  <beidson@apple.com>
7472
7473        Remove unneeded “WebCore::” prefixing in two .cpp files.
7474
7475        Rubberstamped by Alexey Proskuryakov.
7476
7477        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
7478        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
7479
74802014-01-28  Tim Horton  <timothy_horton@apple.com>
7481
7482        WebKit2 View Gestures (Swipe): Snapshots should be purgeable
7483        https://bugs.webkit.org/show_bug.cgi?id=127390
7484        <rdar://problem/15876775>
7485
7486        Reviewed by Anders Carlsson.
7487
7488        Make snapshots be purgeable, and implement a straightforward
7489        (if perhaps expensive, for now) cache eviction strategy to limit the
7490        number of snapshots to 20.
7491
7492        * UIProcess/mac/ViewGestureController.mm:
7493        (WebKit::ViewGestureController::beginSwipeGesture):
7494        When beginning a gesture, attempt to make the retrieved snapshot
7495        non-volatile. If it was purged while volatile, we won't use it, but if it
7496        is still valid, we'll go ahead and use it as the swipe layer's contents.
7497
7498        (WebKit::ViewGestureController::removeSwipeSnapshot):
7499        When removing the swipe snapshot, make it volatile once again.
7500
7501        * UIProcess/mac/ViewSnapshotStore.h:
7502        Store a creation time along with the image.
7503        Store and return IOSurfaces instead of CGImages.
7504        Store snapshots and render tree sizes separately, so that we can
7505        throw away snapshots but keep the render tree sizes indefinitely.
7506
7507        * UIProcess/mac/ViewSnapshotStore.mm:
7508        (WebKit::ViewSnapshotStore::pruneSnapshots):
7509        Cap the number of snapshots we'll ever have live at 20.
7510        Enforce this cap by first trying to remove snapshots farthest
7511        from the current back-forward list's current item, falling back
7512        to removing the least recently created snapshot if there are no
7513        snapshots owned by the current back-forward list.
7514
7515        (WebKit::createIOSurfaceFromImage):
7516        Build an IOSurface from the CGImage snapshot we took, for ease of
7517        use of its purgeability API.
7518
7519        (WebKit::ViewSnapshotStore::recordSnapshot):
7520        Bail from taking the snapshot if the image is empty; this can happen
7521        if the view is out of the window when the snapshot is taken.
7522
7523        Mark snapshots as purgeable as soon as they go into the cache.
7524
7525        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
7526        Return the target render tree size even if there is no snapshot image.
7527        Take care not to look up an empty UUID.
7528
75292014-01-27  Alexey Proskuryakov  <ap@apple.com>
7530
7531        Expose SQL database creation and modification times
7532        https://bugs.webkit.org/show_bug.cgi?id=127728
7533
7534        Reviewed by Brady Eidson.
7535
7536        * Shared/WebCoreArgumentCoders.cpp:
7537        (IPC::ArgumentCoder<DatabaseDetails>::encode):
7538        (IPC::ArgumentCoder<DatabaseDetails>::decode):
7539        Encode and decode new DatabaseDetails member variables.
7540
7541        * UIProcess/API/C/WKDatabaseManager.cpp:
7542        (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
7543        (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
7544        * UIProcess/API/C/WKDatabaseManager.h:
7545        Added new keys for database details.
7546
7547        * UIProcess/WebDatabaseManagerProxy.cpp:
7548        (WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey):
7549        (WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey):
7550        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
7551        * UIProcess/WebDatabaseManagerProxy.h:
7552        Set the new keys if times are valid.
7553
75542014-01-28  Tim Horton  <timothy_horton@apple.com>
7555
7556        WebKit2 View Gestures (Swipe): Use CGSCaptureWindowsContentsToRect for now
7557        https://bugs.webkit.org/show_bug.cgi?id=127768
7558        <rdar://problem/15923662>
7559
7560        Reviewed by Simon Fraser.
7561
7562        * UIProcess/API/mac/WKView.mm:
7563        (-[WKView _takeViewSnapshot]):
7564        Until <rdar://problem/15709646> is resolved, we'll use
7565        CGSCaptureWindowsContentsToRect instead of CGWindowListCreateImage.
7566
75672014-01-28  Mark Rowe  <mrowe@apple.com>
7568
7569        <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
7570
7571        Reviewed by Ryosuke Niwa.
7572
7573        * UIProcess/API/mac/WKView.mm:
7574        (-[WKView _updateWindowAndViewFrames]):
7575        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
7576
75772014-01-28  Adrian Perez de Castro  <aperez@igalia.com>
7578
7579        [GTK] Add API to allow setting the process model in WebKitWebContext
7580        https://bugs.webkit.org/show_bug.cgi?id=125463
7581
7582        Reviewed by Carlos Garcia Campos.
7583
7584        Implements accessors in WebKitWebContext for the process model.
7585        The default behavior is unchanged, and a single web process is
7586        used. Using WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
7587        as the process model will make use one web process for each
7588        WebKitWebView. This also enables the network process. Setting
7589        the process model must be done as early as possible, before the
7590        very first web process is spawned.
7591
7592        * UIProcess/API/gtk/WebKitWebContext.cpp:
7593        Add accessors in the API to get/set the process model.
7594        (webkit_web_context_set_process_model):
7595        (webkit_web_context_get_process_model):
7596        * UIProcess/API/gtk/WebKitWebContext.h:
7597        Define the WebKitProcessModel enum.
7598        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
7599        Add new public API bits to the documentation.
7600
76012014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
7602
7603        [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
7604        https://bugs.webkit.org/show_bug.cgi?id=127614
7605
7606        Reviewed by Gustavo Noronha Silva.
7607
7608        * NetworkProcess/RemoteNetworkingContext.h: Remove
7609        initiatingPageID() method.
7610        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Ditto.
7611        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
7612        (WebKit::CustomProtocolManagerImpl::send): Create the request with
7613        the ResourceRequest constructor that receives a SoupRequest.
7614        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
7615        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode initiatingPageID.
7616        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode initiatingPageID.
7617        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
7618        (webkitURISchemeRequestCreate): Remove initiatingPageID parameter
7619        and get it from the given ResourceRequest.
7620        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
7621        * UIProcess/API/gtk/WebKitWebContext.cpp:
7622        (webkitWebContextStartLoadingCustomProtocol): Update to
7623        webkitURISchemeRequestCreate API change.
7624        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
7625        (willSendRequestForFrame): Set the initiatingPageID to the ResourceRequest.
7626        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
7627        (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
7628        Remove initiatingPageID() method.
7629        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
7630        * WebProcess/soup/WebSoupRequestManager.cpp:
7631        (WebKit::WebSoupRequestManager::send): Get the initiatingPageID
7632        from the SoupRequest using the ResourceRequest API.
7633
76342014-01-27  Roger Fong  <roger_fong@apple.com>
7635
7636        WebGLLoadPolicy::WebGLAsk is an unnecessary value.
7637        https://bugs.webkit.org/show_bug.cgi?id=127755
7638
7639        Reviewed by Anders Carlsson.
7640
7641        * UIProcess/API/C/WKAPICast.h:
7642        (WebKit::toWebGLLoadPolicy):
7643        * UIProcess/API/C/WKPageLoaderClient.h:
7644
76452014-01-27  Brady Eidson  <beidson@apple.com>
7646
7647        IDB: Cursor support - Messaging, IPC, Threading plumbing
7648        https://bugs.webkit.org/show_bug.cgi?id=127736
7649
7650        Reviewed by Sam Weinig.
7651
7652        Pipe three cursor-related calls to the DatabaseProcess, and handle messages
7653        from the database process when it is done handling them:
7654        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
7655        (WebKit::WebIDBServerConnection::didOpenCursor):
7656        (WebKit::WebIDBServerConnection::didAdvanceCursor):
7657        (WebKit::WebIDBServerConnection::didIterateCursor):
7658        (WebKit::WebIDBServerConnection::openCursor):
7659        (WebKit::WebIDBServerConnection::cursorAdvance):
7660        (WebKit::WebIDBServerConnection::cursorIterate):
7661        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
7662        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
7663
7664        Pipe the calls through to the appropriate UniqueIDBDatabase:
7665        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
7666        (WebKit::DatabaseProcessIDBConnection::openCursor):
7667        (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
7668        (WebKit::DatabaseProcessIDBConnection::cursorIterate):
7669        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
7670        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
7671
7672        Pass the calls to the backing store thread, then message back to the WebProcess
7673        when the requests are complete.
7674        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
7675        (WebKit::UniqueIDBDatabase::openCursor):
7676        (WebKit::UniqueIDBDatabase::cursorAdvance):
7677        (WebKit::UniqueIDBDatabase::cursorIterate):
7678        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
7679        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
7680        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
7681        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
7682        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
7683        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
7684        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
7685
7686        * Shared/WebCrossThreadCopier.cpp:
7687        (WebCore::Vector<char>>::copy):
7688        * Shared/WebCrossThreadCopier.h:
7689
76902014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
7691
7692        WebKit2: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
7693        https://bugs.webkit.org/show_bug.cgi?id=127665
7694
7695        Reviewed by Anders Carlsson.
7696
7697        * Shared/UserData.cpp:
7698        (WebKit::UserData::encode):
7699        These look like they should not have fallen through!
7700
7701        * Configurations/Base.xcconfig:
7702        * Shared/mac/ObjCObjectGraphCoders.mm:
7703        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
7704
77052014-01-27  Andy Estes  <aestes@apple.com>
7706
7707        [WebKit2] Add SPI to disable the WebCore memory cache
7708        https://bugs.webkit.org/show_bug.cgi?id=127747
7709
7710        Reviewed by Tim Horton.
7711
7712        * Shared/WebProcessCreationParameters.cpp:
7713        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
7714        Initialized memoryCacheDisabled to false.
7715        (WebKit::WebProcessCreationParameters::encode):
7716        Encoded memoryCacheDisabled.
7717        (WebKit::WebProcessCreationParameters::decode):
7718        Decoded memoryCacheDisabled.
7719        * Shared/WebProcessCreationParameters.h:
7720        * UIProcess/API/C/WKContext.cpp:
7721        (WKContextSetMemoryCacheDisabled):
7722        Called WebContext::setMemoryCacheDisabled().
7723        * UIProcess/API/C/WKContextPrivate.h: Declared new SPI.
7724        * UIProcess/WebContext.cpp:
7725        (WebKit::WebContext::WebContext): Initialized m_memoryCacheDisabled to false.
7726        (WebKit::WebContext::createNewWebProcess):
7727        Set WebProcessCreationParameters::memoryCacheDisabled to m_memoryCacheDisabled.
7728        (WebKit::WebContext::setMemoryCacheDisabled): Set m_memoryCacheDisabled
7729        and sent new value to all existing processes.
7730        * UIProcess/WebContext.h:
7731        * WebProcess/WebProcess.cpp:
7732        (WebKit::WebProcess::initializeWebProcess):
7733        Called WebProcess::setMemoryCacheDisabled().
7734        (WebKit::WebProcess::setMemoryCacheDisabled):
7735        Called MemoryCache::setDisabled() if the disabled state changed.
7736        * WebProcess/WebProcess.h:
7737        * WebProcess/WebProcess.messages.in:
7738
77392014-01-27  Anders Carlsson  <andersca@apple.com>
7740
7741        Add -[WKWebView loadRequest:] API
7742        https://bugs.webkit.org/show_bug.cgi?id=127727
7743
7744        Reviewed by Dan Bernstein.
7745
7746        * UIProcess/API/Cocoa/WKWebView.h:
7747        * UIProcess/API/Cocoa/WKWebView.mm:
7748        (-[WKWebView initWithFrame:configuration:]):
7749        (-[WKWebView loadRequest:]):
7750
77512014-01-27  Brady Eidson  <beidson@apple.com>
7752
7753        IDB: Rename "IDBTransactionIdentifier" to be more general purpose (take 2)
7754        https://bugs.webkit.org/show_bug.cgi?id=127717
7755
7756        Reviewed by Tim Horton.
7757
7758        Update all related variable names since the type no longer contains the relevant info.
7759
7760        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
7761        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
7762        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
7763        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
7764        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
7765        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
7766        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
7767        * Shared/WebCrossThreadCopier.cpp:
7768
77692014-01-27  Anders Carlsson  <andersca@apple.com>
7770
7771        Copy relevant code from the iOS version of WKView to WKWebView
7772        https://bugs.webkit.org/show_bug.cgi?id=127721
7773
7774        Reviewed by Dan Bernstein.
7775
7776        * UIProcess/API/Cocoa/WKWebView.mm:
7777        (-[WKWebView initWithFrame:configuration:]):
7778        (-[WKWebView setFrame:]):
7779        (-[WKWebView setBounds:]):
7780        (-[WKWebView scrollView]):
7781        (-[WKWebView browsingContextController]):
7782        (-[WKWebView contentView:contentsSizeDidChange:]):
7783        (-[WKWebView contentViewDidCommitLoadForMainFrame:]):
7784        (-[WKWebView contentViewDidReceiveMobileDocType:]):
7785        (-[WKWebView contentView:didChangeViewportArgumentsSize:initialScale:minimumScale:maximumScale:allowsUserScaling:]):
7786        (-[WKWebView viewportHandlerDidChangeScales:]):
7787        (-[WKWebView viewportHandler:didChangeViewportSize:]):
7788        (-[WKWebView viewForZoomingInScrollView:]):
7789        (-[WKWebView scrollViewWillBeginZooming:withView:]):
7790        (-[WKWebView _didFinishScroll]):
7791        (-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
7792        (-[WKWebView scrollViewDidEndDecelerating:]):
7793        (-[WKWebView scrollViewDidScrollToTop:]):
7794        (-[WKWebView scrollViewDidScroll:]):
7795        (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
7796        (-[WKWebView _frameOrBoundsChanged]):
7797        (-[WKWebView _setDocumentScale:]):
7798
77992014-01-27  Tim Horton  <timothy_horton@apple.com>
7800
7801        Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item.
7802
7803        We're leaving the parts that make us use PDFPlugin instead of showing the blocked
7804        plugin indicator intact, though.
7805
7806        * UIProcess/API/APILoaderClient.h:
7807        (API::LoaderClient::pluginLoadPolicy):
7808        * UIProcess/API/C/WKPage.cpp:
7809        (WKPageSetPageLoaderClient):
7810        * UIProcess/API/C/WKPageLoaderClient.h:
7811        * UIProcess/WebPageProxy.cpp:
7812        (WebKit::WebPageProxy::findPlugin):
7813        * UIProcess/WebPageProxy.h:
7814        * UIProcess/WebPageProxy.messages.in:
7815        * WebProcess/Plugins/PDF/PDFPlugin.h:
7816        * WebProcess/Plugins/PDF/PDFPlugin.mm:
7817        (WebKit::PDFPlugin::PDFPlugin):
7818        (WebKit::PDFPlugin::handleContextMenuEvent):
7819        * WebProcess/WebPage/WebPage.cpp:
7820        (WebKit::WebPage::createPlugin):
7821        (WebKit::WebPage::canPluginHandleResponse):
7822
78232014-01-27  Anders Carlsson  <andersca@apple.com>
7824
7825        Add a WKContentView initializer that takes a WKWebViewConfiguration
7826        https://bugs.webkit.org/show_bug.cgi?id=127718
7827
7828        Reviewed by Tim Horton.
7829
7830        This initializer will be used by WKWebView.
7831
7832        * UIProcess/API/ios/WKContentView.h:
7833        * UIProcess/API/ios/WKContentView.mm:
7834        (-[WKContentView initWithFrame:configuration:]):
7835
78362014-01-27  Andy Estes  <aestes@apple.com>
7837
7838        Scrub WebKit API headers of WTF macros
7839        https://bugs.webkit.org/show_bug.cgi?id=127706
7840
7841        Reviewed by David Kilzer.
7842
7843        * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
7844
78452014-01-27  Tim Horton  <timothy_horton@apple.com>
7846
7847        Crashes in RemoteScrollingCoordinatorProxy::rootScrollingNodeID
7848
7849        Reviewed by Simon Fraser.
7850
7851        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
7852        (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
7853        Null-check the root scrolling node, in case something scrolls before
7854        we've made the first remote layer/scrolling tree commit.
7855
78562014-01-27  Brady Eidson  <beidson@apple.com>
7857
7858        IDB: Rename "IDBTransactionIdentifier" to be more general purpose
7859        https://bugs.webkit.org/show_bug.cgi?id=127717
7860
7861        Reviewed by Tim Horton.
7862
7863        Global rename of IDBTransactionIdentifier to IDBIdentifier.
7864
7865        * DatabaseProcess/IndexedDB/IDBIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h.
7866
7867        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
7868
7869        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
7870        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
7871
7872        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
7873        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
7874
7875        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
7876        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
7877        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
7878
7879        * Shared/WebCrossThreadCopier.cpp:
7880        * Shared/WebCrossThreadCopier.h:
7881
7882        * WebKit2.xcodeproj/project.pbxproj:
7883
78842014-01-27  Anders Carlsson  <andersca@apple.com>
7885
7886        Move underlying C++ objects to class extensions
7887        https://bugs.webkit.org/show_bug.cgi?id=127716
7888
7889        Reviewed by Tim Horton.
7890
7891        This allows us to get at the internals without calling any Obj-C methods.
7892
7893        * UIProcess/API/Cocoa/WKProcessClass.mm:
7894        * UIProcess/API/Cocoa/WKProcessClassInternal.h:
7895        * UIProcess/API/ios/WKContentView.mm:
7896        * UIProcess/API/ios/WKContentViewInternal.h:
7897
78982014-01-27  Anders Carlsson  <andersca@apple.com>
7899
7900        Implement the _injectedBundleURL property
7901        https://bugs.webkit.org/show_bug.cgi?id=127714
7902
7903        Reviewed by Tim Horton.
7904
7905        Properties declared in class categories need to be implemented. Do this
7906        for the _injectedBundleURL property.
7907
7908        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
7909        (-[WKProcessClassConfiguration _injectedBundleURL]):
7910        (-[WKProcessClassConfiguration _setInjectedBundleURL:]):
7911
79122014-01-27  Brady Eidson  <beidson@apple.com>
7913
7914        IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
7915        https://bugs.webkit.org/show_bug.cgi?id=127708
7916
7917        Reviewed by Tim Horton.
7918
7919        Update to new callback signatures:
7920        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
7921        (WebKit::WebIDBServerConnection::cursorAdvance):
7922        (WebKit::WebIDBServerConnection::cursorIterate):
7923        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
7924
79252014-01-27  Anders Carlsson  <andersca@apple.com>
7926
7927        Tweak the WKWebView and WKWebViewConfiguration headers
7928        https://bugs.webkit.org/show_bug.cgi?id=127705
7929
7930        Reviewed by Dan Bernstein.
7931
7932        Add WK_API_CLASS to WKWebView and make WKWebView.h and WKWebViewConfiguration.h public.
7933
7934        * UIProcess/API/Cocoa/WKWebView.h:
7935        * WebKit2.xcodeproj/project.pbxproj:
7936
79372014-01-27  Brady Eidson  <beidson@apple.com>
7938
7939        IDB: Remove unused concept of "cursor prefetch"
7940        https://bugs.webkit.org/show_bug.cgi?id=127700
7941
7942        Reviewed by Tim Horton.
7943
7944        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
7945        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
7946
79472014-01-27  Tim Horton  <timothy_horton@apple.com>
7948
7949        Fix the build on case-sensitive filesystems
7950
7951        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
7952
79532014-01-27  Brady Eidson  <beidson@apple.com>
7954
7955        IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
7956        https://bugs.webkit.org/show_bug.cgi?id=127592
7957
7958        Reviewed by Tim Horton.
7959
7960        Update the WebIDBServerConnection to the new callback signatures:
7961        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
7962        (WebKit::WebIDBServerConnection::openCursor):
7963        (WebKit::WebIDBServerConnection::count):
7964        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
7965
79662014-01-27  Tim Horton  <timothy_horton@apple.com>
7967
7968        WebKit2 View Gestures: Fluid back-forward swipe
7969        https://bugs.webkit.org/show_bug.cgi?id=127363
7970
7971        Reviewed by Anders Carlsson.
7972
7973        Add support for a "back-forward swipe", which allows fluid swiping between
7974        items in the back-forward list. Currently disabled by default.
7975
7976        * Shared/WebPreferencesStore.h:
7977        * UIProcess/API/C/WKPreferences.cpp:
7978        (WKPreferencesSetViewGestureDebuggingEnabled):
7979        (WKPreferencesGetViewGestureDebuggingEnabled):
7980        * UIProcess/API/C/WKPreferencesPrivate.h:
7981        Add a ViewGestureDebuggingEnabled preference, which currently causes snapshots to be blurred.
7982        Additional view gesture debugging features could come in the future.
7983
7984        * UIProcess/API/Cocoa/WKViewPrivate.h:
7985        * UIProcess/API/mac/WKView.mm:
7986        (-[WKView _ensureGestureController]):
7987        (-[WKView scrollWheel:]):
7988        If back-forward navigation gestures are enabled, intercept scrollWheel events
7989        on the WKView and let the ViewGestureController take the first crack at them.
7990
7991        (-[WKView setAllowsBackForwardNavigationGestures:]):
7992        (-[WKView allowsBackForwardNavigationGestures]):
7993        * UIProcess/API/mac/WKViewInternal.h:
7994        Add allowsBackForwardNavigationGesture property, which enables the gesture.
7995
7996        * UIProcess/mac/ViewGestureController.h:
7997        Add swipe-related methods, which will be described below.
7998
7999        Add an enum for the swipe transition style. Currently only Overlap is accessible,
8000        but in the future one could see having API to choose the style.
8001        'Overlap' has the outgoing page swipe out to the right (when swiping right)
8002        or the incoming page swipe in from the right (when swiping left).
8003        'Push' has the pages push each other along in sync, as if all the pages in the
8004        back-forward list were oriented from left to right.
8005
8006        * UIProcess/mac/ViewGestureController.messages.in:
8007        * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
8008        Use some CAFilter SPI to blur the snapshot if ViewGestureDebuggingEnabled is on.
8009
8010        (WebKit::ViewGestureController::ViewGestureController):
8011        (WebKit::ViewGestureController::~ViewGestureController):
8012        (WebKit::ViewGestureController::endMagnificationGesture):
8013        Move m_activeGestureType clearing to each end* function instead of one global place,
8014        so that each gesture can handle when it ends separately.
8015
8016        (WebKit::ViewGestureController::handleScrollWheelEvent):
8017        If we receive a scroll wheel event which is appropriate for starting a
8018        fluid swipe, in a direction where the main frame is pinned to the appropriate
8019        edge of the view, start tracking a swipe.
8020
8021        This should eventually have some hysterisis to avoid stealing scrolls that
8022        venture into the wrong direction, but for now it starts tracking immediately.
8023
8024        Forward events from the tracking loop to {begin, handle, end}SwipeGesture.
8025
8026        (WebKit::ViewGestureController::beginSwipeGesture):
8027        Create a layer with the destination page's snapshot, and set it up.
8028
8029        (WebKit::ViewGestureController::handleSwipeGesture):
8030        Appropriately adjust the position of the root layer and snapshot layer,
8031        given the transition style and swipe direction.
8032
8033        (WebKit::ViewGestureController::endSwipeGesture):
8034        When the gesture ends, do the navigation, and tell the WebProcess to
8035        inform us when the render tree hits half the size it was when the
8036        snapshot was taken (when that happens, we will remove the snapshot
8037        and the gesture will be truly complete). Also, start a watchdog timer
8038        in case the render tree never hits that size, after which we will
8039        also remove the snapshot.
8040
8041        (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
8042        (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
8043        (WebKit::ViewGestureController::removeSwipeSnapshot):
8044        Tear down the swipe snapshot layer, and mark our current gesture as complete.
8045
8046        (WebKit::ViewGestureController::endActiveGesture):
8047        Simplify endActiveGesture; it only has work to do for a pinch-zoom gesture,
8048        as those are the only gestures where the user is directly in control of when they end.
8049
8050        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
8051        (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
8052        (WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
8053        (WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired):
8054        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
8055        (WebKit::ViewGestureGeometryCollector::setRenderTreeSizeNotificationThreshold):
8056        * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
8057        ViewGestureController pushes a render-tree size threshold to the WebProcess;
8058        ViewGestureGeometryCollector (whose name is now more unfortunate than before)
8059        monitors render-tree size changes and informs ViewGestureController when
8060        it reaches that threshold via the 'DidHitRenderTreeSizeThreshold' message.
8061
8062        * UIProcess/API/Cocoa/WKViewPrivate.h:
8063        * UIProcess/API/ios/PageClientImplIOS.h:
8064        * UIProcess/API/ios/PageClientImplIOS.mm:
8065        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
8066        * UIProcess/API/mac/PageClientImpl.h:
8067        * UIProcess/API/mac/PageClientImpl.mm:
8068        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
8069        * UIProcess/API/mac/WKView.mm:
8070        (-[WKView _acceleratedCompositingModeRootLayer]):
8071        * UIProcess/API/mac/WKViewInternal.h:
8072        * UIProcess/PageClient.h:
8073        * UIProcess/WebPageProxy.h:
8074        * UIProcess/mac/WebPageProxyMac.mm:
8075        (WebKit::WebPageProxy::acceleratedCompositingRootLayer):
8076        Add a getter for the accelerated compositing root layer.
8077
8078        * UIProcess/mac/ViewSnapshotStore.mm:
8079        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
8080        Don't extract the CGImageRef from a RetainPtr just to put it back in one.
8081
80822014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8083
8084        [GTK] Implement custom URI schemes with CustomProtocols
8085        https://bugs.webkit.org/show_bug.cgi?id=127091
8086
8087        Reviewed by Gustavo Noronha Silva.
8088
8089        The old classes are no longer built for GTK+ and should be removed once
8090        other ports using soup backend switch to custom protocols implementation.
8091
8092        * GNUmakefile.am: Remove include path.
8093        * GNUmakefile.list.am: Remove files from compilation.
8094        * PlatformGTK.cmake: Ditto.
8095        * UIProcess/API/gtk/WebKitPrivate.h:
8096        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
8097        (startLoading):
8098        (stopLoading):
8099        (attachRequestManagerClientToContext):
8100        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
8101        (webkitURISchemeRequestCreate):
8102        (webkit_uri_scheme_request_get_web_view):
8103        (webkitURISchemeRequestReadCallback):
8104        (webkit_uri_scheme_request_finish):
8105        (webkit_uri_scheme_request_finish_error):
8106        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
8107        * UIProcess/API/gtk/WebKitWebContext.cpp:
8108        (createDefaultWebContext):
8109        (webkit_web_context_register_uri_scheme):
8110        (webkitWebContextGetRequestManager):
8111        (webkitWebContextStartLoadingCustomProtocol):
8112        (webkitWebContextStopLoadingCustomProtocol):
8113        (webkitWebContextDidFinishLoadingCustomProtocol):
8114        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
8115        * UIProcess/gtk/WebContextGtk.cpp:
8116        (WebKit::WebContext::platformInitializeWebProcess):
8117        * WebKit2Prefix.h: Enable CustomProtocols unconditionally for the
8118        GTK+ port.
8119
81202014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8121
8122        [SOUP] WebProcess sometimes crashes when a download is cancelled
8123        https://bugs.webkit.org/show_bug.cgi?id=127650
8124
8125        Reviewed by Martin Robinson.
8126
8127        The problem is that when the download is cancelled, the download
8128        manager removes the download from the map and it's deleted. The
8129        Download destructor calls platformInvalidate() that cancels the
8130        resource handle if there's still one. We set to nullptr the
8131        ResourceHandle when the download is cancelled to avoid cancelling
8132        it twice, but it's done after calling Download::didCancel(). It
8133        should be done before, because at that moment, when the download
8134        is deleted, the resource handle pointer is still valid.
8135
8136        * Shared/Downloads/soup/DownloadSoup.cpp:
8137        (WebKit::Download::cancel):
8138
81392014-01-25  Sam Weinig  <sam@webkit.org>
8140
8141        Remove unused support for DRAGGABLE_REGION
8142        https://bugs.webkit.org/show_bug.cgi?id=127642
8143
8144        Reviewed by Simon Fraser.
8145
8146        * Configurations/FeatureDefines.xcconfig:
8147
81482014-01-25  Anders Carlsson  <andersca@apple.com>
8149
8150        Remove an unused FrameLoaderClient function
8151        https://bugs.webkit.org/show_bug.cgi?id=127628
8152
8153        Reviewed by Andreas Kling.
8154
8155        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8156        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
8157
81582014-01-25  Anders Carlsson  <andersca@apple.com>
8159
8160        Remove atomicIncrement/atomicDecrement
8161        https://bugs.webkit.org/show_bug.cgi?id=127625
8162
8163        Reviewed by Andreas Kling.
8164
8165        Replace atomicIncrement/atomicDecrement with std::atomic.
8166
8167        * Platform/IPC/Connection.cpp:
8168        (IPC::Connection::createSyncMessageEncoder):
8169        * Shared/mac/SecItemShim.cpp:
8170        (WebKit::generateSecItemRequestID):
8171        * UIProcess/StatisticsRequest.cpp:
8172        (WebKit::StatisticsRequest::addOutstandingRequest):
8173
81742014-01-25  Anders Carlsson  <andersca@apple.com>
8175
8176        Modernize HashTable threading code
8177        https://bugs.webkit.org/show_bug.cgi?id=127621
8178
8179        Reviewed by Darin Adler.
8180
8181        Explicitly include headers that used to be brought in by HashTable.h
8182
8183        * Shared/BlockingResponseMap.h:
8184
81852014-01-25  Zan Dobersek  <zdobersek@igalia.com>
8186
8187        [GTK] Remove null check for WebPopupMenuProxy::Client in WebPopupMenuProxyGtk::showPopupMenu
8188        https://bugs.webkit.org/show_bug.cgi?id=107036
8189
8190        Reviewed by Andreas Kling.
8191
8192        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
8193        (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Don't perform an early return
8194        if the client is not available - it always should be. The client is set to null
8195        only when the proxy is invalidated. This happens immediately after this function
8196        returns, either with the popup being forced to close or being closed by the user
8197        with possibly an item being chosen. Rather than the early return, use an ASSERT.
8198
81992014-01-24  Tim Horton  <timothy_horton@apple.com>
8200
8201        WebKit2 View Gestures (Smart Zoom): Can't double-tap zoom-out on the body
8202        https://bugs.webkit.org/show_bug.cgi?id=127602
8203
8204        Reviewed by Anders Carlsson.
8205
8206        * UIProcess/mac/ViewGestureController.h:
8207        * UIProcess/mac/ViewGestureController.mm:
8208        (WebKit::ViewGestureController::ViewGestureController):
8209        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
8210        Use an explicit boolean instead of the emptiness of the renderRect() to determine
8211        whether or not the user has already smart-zoomed. renderRect() can be 0x0
8212        if our hit-test hits the body element.
8213
82142014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>
8215
8216        Fix EFL WebKit2 build.
8217
8218        * WebProcess/WebPage/efl/WebPageEfl.cpp:
8219        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
8220
82212014-01-24  Anders Carlsson  <andersca@apple.com>
8222
8223        Fix GTK+ WebKit2 build.
8224
8225        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
8226        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
8227
82282014-01-24  Simon Fraser  <simon.fraser@apple.com>
8229
8230        Start using the RemoteScrollingCoordinatorProxy on iOS
8231        https://bugs.webkit.org/show_bug.cgi?id=127598
8232
8233        Reviewed by Tim Horton.
8234
8235        Add a scrollPositionChangedViaDelegatedScrolling() function to
8236        ScrollingTree, allowing the ScrollingTree to be informed about
8237        external sources of scrolling.
8238        
8239        Call it from -[WKContentView didScrollTo:] for the root node.
8240
8241        * UIProcess/API/ios/WKContentView.mm:
8242        (-[WKContentView didScrollTo:]):
8243        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
8244        (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
8245        (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling):
8246        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
8247
82482014-01-24  Anders Carlsson  <andersca@apple.com>
8249
8250        Try to fix the GTK+ build.
8251
8252        * GNUmakefile.list.am:
8253
82542014-01-24  Anders Carlsson  <andersca@apple.com>
8255
8256        Remove back/forward list related functions from Page
8257        https://bugs.webkit.org/show_bug.cgi?id=127596
8258
8259        Reviewed by Andreas Kling.
8260
8261        * WebProcess/WebPage/mac/WebPageMac.mm:
8262        (WebKit::WebPage::performNonEditingBehaviorForSelector):
8263
82642014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>
8265
8266        Unreviewed build fix attemp on the EFL after r162728.
8267
8268        * CMakeLists.txt: Removed WebLoaderClient.cpp
8269
82702014-01-24  Simon Fraser  <simon.fraser@apple.com>
8271
8272        Prepare scrolling tree to handle > 1 scrolling node
8273        https://bugs.webkit.org/show_bug.cgi?id=127590
8274
8275        Reviewed by Tim Horton.
8276        
8277        Clean up the code path called after the ScrollingTree has scrolled a node,
8278        to prepare for multiple scrolling nodes.
8279        
8280        Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
8281        and pass along the ScrollingNodeID that scrolled.
8282
8283        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
8284        (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
8285        * UIProcess/Scrolling/RemoteScrollingTree.h:
8286        * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
8287        (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):
8288
82892014-01-24  Simon Fraser  <simon.fraser@apple.com>
8290
8291        #ifdef out handleWheelEventPhase for iOS
8292        https://bugs.webkit.org/show_bug.cgi?id=127583
8293
8294        Reviewed by Tim Horton.
8295
8296        handleWheelEventPhase() doesn't make any sense for iOS, which
8297        has no wheel events.
8298
8299        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
8300        * UIProcess/Scrolling/RemoteScrollingTree.h:
8301
83022014-01-24  Simon Fraser  <simon.fraser@apple.com>
8303
8304        Push a custom fixed position rect down to the WebProcess in iOS WK2
8305        https://bugs.webkit.org/show_bug.cgi?id=127573
8306
8307        Reviewed by Tim Horton.
8308        
8309        Make it possible for WKContentView to specify a custom rect
8310        used to layout fixed position elements on iOS.
8311        
8312        This is computed in WKContentView, and pushed down
8313        through the RemoteLayerTreeDrawingArea, and eventually
8314        pushed onto FrameView.
8315
8316        * UIProcess/API/ios/WKContentView.mm:
8317        (-[WKContentView fixedPositionRectFromExposedRect:scale:]):
8318        (-[WKContentView _updateFixedPositionRect]):
8319        (-[WKContentView didFinishScrollTo:]):
8320        (-[WKContentView didZoomToScale:]):
8321        * UIProcess/DrawingAreaProxy.cpp:
8322        (WebKit::DrawingAreaProxy::setCustomFixedPositionRect):
8323        * UIProcess/DrawingAreaProxy.h:
8324        * WebProcess/WebPage/DrawingArea.h:
8325        * WebProcess/WebPage/DrawingArea.messages.in:
8326        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
8327        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
8328        (WebKit::RemoteLayerTreeDrawingArea::setCustomFixedPositionRect):
8329
83302014-01-24  Anders Carlsson  <andersca@apple.com>
8331
8332        Get rid of WebLoaderClient
8333        https://bugs.webkit.org/show_bug.cgi?id=127587
8334
8335        Reviewed by Andreas Kling.
8336
8337        Move WebLoaderClient into WKPage.cpp.
8338
8339        * UIProcess/API/C/WKPage.cpp:
8340        (WKPageSetPageLoaderClient):
8341        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
8342        (-[WKBrowsingContextController setLoadDelegate:]):
8343        * UIProcess/WebLoaderClient.cpp: Removed.
8344        * UIProcess/WebLoaderClient.h: Removed.
8345        * UIProcess/WebPageProxy.h:
8346        * WebKit2.xcodeproj/project.pbxproj:
8347
83482014-01-24  Brady Eidson  <beidson@apple.com>
8349
8350        IDB: Support createIndex/deleteIndex
8351        <rdar://problem/15779642> and https://bugs.webkit.org/show_bug.cgi?id=127585
8352
8353        Reviewed by Tim Horton.
8354
8355        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
8356        (WebKit::UniqueIDBDatabase::createIndex):
8357        (WebKit::UniqueIDBDatabase::deleteIndex):
8358        (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
8359        (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
8360
8361        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
8362        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
8363        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Also drop all associated indexes.
8364        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
8365        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
8366        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
8367
83682014-01-24  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
8369
8370        [GTK] youtube HTML5 videos in fullscreen, after <Esc>, can't go fullscreen again
8371        https://bugs.webkit.org/show_bug.cgi?id=127064
8372
8373        When pressing <Esc> or <f> at full screen, the WebView shall emit the
8374        event webkitfullscreenchange, but wk2gtk does not emit it. This is
8375        because the WebView manages directly the exit of the full screen.
8376
8377        With this patch the WebView calls requestExitFullScreen to the full
8378        screen manager, instead of managing directly the exit of the full
8379        screen, and the event webkitfullscreenchange will be dispatched
8380        correctly.
8381
8382        Reviewed by Martin Robinson.
8383
8384        No tests are included because there is a bug in WKTR that prevents the
8385        execution of a test for this patch. See
8386        https://bugs.webkit.org/show_bug.cgi?id=127348
8387
8388        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
8389        (webkitWebViewBaseKeyPressEvent): Call
8390        webkitWebViewBaseRequestExitFullScreen.
8391        (webkitWebViewBaseRequestExitFullScreen): Added.
8392        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.
8393
83942014-01-24  Tim Horton  <timothy_horton@apple.com>
8395
8396        iOS build fix after r162710.
8397
8398        This is why these sorts of comments are bad.
8399
8400        * UIProcess/WebPageProxy.cpp:
8401
84022014-01-24  Anders Carlsson  <andersca@apple.com>
8403
8404        Use a side table to map WebPageProxy objects to WKBrowsingContextController objects
8405        https://bugs.webkit.org/show_bug.cgi?id=127577
8406
8407        Reviewed by Tim Horton.
8408
8409        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
8410        (browsingContextControllerMap):
8411        (-[WKBrowsingContextController dealloc]):
8412        (-[WKBrowsingContextController _initWithPageRef:]):
8413        (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
8414        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
8415        * UIProcess/WebPageProxy.h:
8416
84172014-01-24  Tim Horton  <timothy_horton@apple.com>
8418
8419        iOS build fix after r162710.
8420
8421        * UIProcess/API/ios/PageClientImplIOS.h:
8422        * UIProcess/API/ios/PageClientImplIOS.mm:
8423        (WebKit::PageClientImpl::takeViewSnapshot):
8424
84252014-01-24  Enrique Ocaña González  <eocanha@igalia.com>
8426
8427        [GTK] Put cache files in XDG_CACHE_HOME
8428        https://bugs.webkit.org/show_bug.cgi?id=123458
8429
8430        Reviewed by Martin Robinson.
8431
8432        * UIProcess/gtk/WebContextGtk.cpp:
8433        (WebKit::WebContext::platformDefaultIconDatabasePath):
8434
84352014-01-24  Tim Horton  <timothy_horton@apple.com>
8436
8437        WebKit2 View Gestures (Swipe): Add a simple cache of view snapshots
8438        https://bugs.webkit.org/show_bug.cgi?id=127438
8439
8440        Reviewed by Sam Weinig.
8441
8442        Add a cache of bitmap snapshots of the WKView, taken via OS X's window server
8443        snapshotting mechanism. For now, we store all snapshots; refinements to the
8444        caching strategy (or really having one at all) will come in future patches.
8445
8446        Snapshots are stored in a side map, with a UUID that allows references
8447        to be stored inside WebBackForwardListItem (and serialized along with
8448        the back-forward list when it is copied).
8449
8450        * Shared/WebBackForwardListItem.h:
8451        (WebKit::WebBackForwardListItem::setSnapshotUUID):
8452        (WebKit::WebBackForwardListItem::snapshotUUID):
8453        * UIProcess/cf/WebBackForwardListCF.cpp:
8454        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
8455        (WebKit::extractBackForwardListEntriesFromArray):
8456        Store and serialize a UUID along with each back-forward list item which
8457        identifies that item's view snapshot in the ViewSnapshotStore.
8458
8459        * UIProcess/cf/WebPageProxyCF.cpp:
8460        Bump the session state data version, as we changed the WebBackForwardList format.
8461
8462        * UIProcess/API/Cocoa/WKViewPrivate.h:
8463        * UIProcess/API/mac/PageClientImpl.h:
8464        * UIProcess/API/mac/PageClientImpl.mm:
8465        (WebKit::PageClientImpl::takeViewSnapshot):
8466
8467        * UIProcess/API/mac/WKView.mm:
8468        (-[WKView _takeViewSnapshot]):
8469        Add _takeViewSnapshot IPI, which is used by ViewSnapshotStore via the PageClient
8470        to take a snapshot of the view.
8471
8472        (-[WKView saveBackForwardSnapshotForCurrentItem]):
8473        Add saveBackForwardSnapshotForCurrentItem SPI, which clients could potentially
8474        use when they know they're about to manipulate the view hierarchy in such a way
8475        that they want the current back-forward item's snapshot to be up to date.
8476
8477        * UIProcess/API/mac/WKViewInternal.h:
8478        * UIProcess/PageClient.h:
8479        * UIProcess/WebPageProxy.cpp:
8480        (WebKit::WebPageProxy::WebPageProxy):
8481        (WebKit::WebPageProxy::recordNavigationSnapshot):
8482        (WebKit::WebPageProxy::goForward):
8483        (WebKit::WebPageProxy::goBack):
8484        (WebKit::WebPageProxy::goToBackForwardItem):
8485        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
8486        Update the current back-forward item's snapshot immediately before navigating.
8487
8488        * UIProcess/WebPageProxy.h:
8489        (WebKit::WebPageProxy::shouldRecordNavigationSnapshots):
8490        (WebKit::WebPageProxy::setShouldRecordNavigationSnapshots):
8491        Expose the ability to enable taking view snapshots on every navigation.
8492        This is off by default, so we won't be taking any snapshots yet.
8493
8494        * UIProcess/mac/ViewSnapshotStore.h: Added.
8495        (WebKit::ViewSnapshotStore::disableSnapshotting):
8496        (WebKit::ViewSnapshotStore::enableSnapshotting):
8497        * UIProcess/mac/ViewSnapshotStore.mm: Added.
8498        (WebKit::ViewSnapshotStore::ViewSnapshotStore):
8499        (WebKit::ViewSnapshotStore::~ViewSnapshotStore):
8500        (WebKit::ViewSnapshotStore::shared):
8501        (WebKit::ViewSnapshotStore::recordSnapshot):
8502        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
8503        * UIProcess/mac/WebPageProxyMac.mm:
8504        (WebKit::WebPageProxy::takeViewSnapshot):
8505        * WebKit2.xcodeproj/project.pbxproj:
8506
85072014-01-24  Brady Eidson  <beidson@apple.com>
8508
8509        IDB: support createIndex/deleteIndex messaging
8510        https://bugs.webkit.org/show_bug.cgi?id=127546
8511
8512        Reviewed by Tim Horton.
8513
8514        Message create/delete requests over to the DatabaseProcess, and listen to its replies:
8515        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
8516        (WebKit::WebIDBServerConnection::createIndex):
8517        (WebKit::WebIDBServerConnection::didCreateIndex):
8518        (WebKit::WebIDBServerConnection::deleteIndex):
8519        (WebKit::WebIDBServerConnection::didDeleteIndex):
8520        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
8521        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
8522
8523        Pass create/delete requests to the appropriate unique IDB database:
8524        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
8525        (WebKit::DatabaseProcessIDBConnection::createIndex):
8526        (WebKit::DatabaseProcessIDBConnection::deleteIndex):
8527        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
8528        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
8529
8530        Message the create/delete request to the database thread for the backing store to handle:
8531        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
8532        (WebKit::UniqueIDBDatabase::didCreateIndex):
8533        (WebKit::UniqueIDBDatabase::didDeleteIndex):
8534        (WebKit::UniqueIDBDatabase::createIndex):
8535        (WebKit::UniqueIDBDatabase::deleteIndex):
8536        (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
8537        (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
8538        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
8539
8540        * Scripts/webkit2/messages.py:
8541        (struct_or_class):
8542
85432014-01-24  Csaba Osztrogonác  <ossy@webkit.org>
8544
8545        [EFL][WK2] Debug buildfix
8546        https://bugs.webkit.org/show_bug.cgi?id=127496
8547
8548        Reviewed by Gyuyoung Kim.
8549
8550        * Shared/SessionTracker.cpp:
8551
85522014-01-23  Brady Eidson  <beidson@apple.com>
8553
8554        IDB: Support IDBObjectStore.clear()
8555        https://bugs.webkit.org/show_bug.cgi?id=127541
8556
8557        Reviewed by Anders Carlsson.
8558
8559        Make the WebProcess call out to the DatabaseProcess with a clear request, and handle the
8560        response from the DatabaseProcess:
8561        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
8562        (WebKit::WebIDBServerConnection::clearObjectStore):
8563        (WebKit::WebIDBServerConnection::didClearObjectStore):
8564        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
8565        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
8566
8567        Pass the clear request to the appropriate UniqueIDBDatabase:
8568        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
8569        (WebKit::DatabaseProcessIDBConnection::clearObjectStore):
8570        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
8571        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
8572
8573        Pass the clear request to the backing store:
8574        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
8575        (WebKit::UniqueIDBDatabase::didClearObjectStore):
8576        (WebKit::UniqueIDBDatabase::clearObjectStore):
8577        (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
8578        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
8579
8580        Actually drop the records in the database:
8581        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
8582        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
8583        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
8584        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
8585
85862014-01-23  Anders Carlsson  <andersca@apple.com>
8587
8588        Fix crash when opening the inspector
8589        https://bugs.webkit.org/show_bug.cgi?id=127542
8590        <rdar://problem/15899544>
8591
8592        Reviewed by Joseph Pecoraro.
8593
8594        Create default clients so we won't crash if they're never set.
8595
8596        * UIProcess/WebPageProxy.cpp:
8597        (WebKit::WebPageProxy::WebPageProxy):
8598
85992014-01-23  Ryuan Choi  <ryuan.choi@samsung.com>
8600
8601        Unreviewed build fix attemp on the EFL and GTK build after r162678
8602
8603        * CMakeLists.txt: Removed WebPolicyClient.cpp
8604        * GNUmakefile.list.am: Removed WebPolicyClient.cpp and WebPolicyClient.h
8605
86062014-01-23  Yongjun Zhang  <yongjun_zhang@apple.com>
8607
8608        Support NSInteger argument type for encoding/decoding invocations.
8609        https://bugs.webkit.org/show_bug.cgi?id=127522
8610
8611        Reviewed by Dan Bernstein.
8612
8613        Add support for NSInteger argument type ('q') for remote invocations.
8614
8615        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
8616        (encodeInvocation):
8617        (decodeInvocationArguments):
8618
86192014-01-23  Brady Eidson  <beidson@apple.com>
8620
8621        IDB: Implement SQLite backing store 'get' support
8622        https://bugs.webkit.org/show_bug.cgi?id=127502
8623
8624        Reviewed by Tim Horton.
8625
8626        This makes get of a single IDBKey work, and lays the groundwork for getting an IDBKeyRange.
8627
8628        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
8629        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
8630        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
8631
8632        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
8633        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Add custom collation
8634          to the Records table.
8635        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Install the custom collator.
8636        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
8637        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
8638        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::collate): Collation function to be filled in later.
8639        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
8640
86412014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>
8642
8643        Assertion failure in WebCore::PseudoElement::didRecalcStyle()
8644        <https://bugs.webkit.org/show_bug.cgi?id=126761>
8645        <rdar://problem/15793540>
8646
8647        Reviewed by Andy Estes.
8648
8649        * WebProcess/WebPage/ios/WebPageIOS.mm:
8650        (WebKit::WebPage::getPositionInformation):
8651        Check isRenderImage() rather than isImage() before casting to
8652        RenderImage.
8653
86542014-01-23  Anders Carlsson  <andersca@apple.com>
8655
8656        Move policy client into WKPage.cpp and get rid of WebPolicyClient files
8657        https://bugs.webkit.org/show_bug.cgi?id=127536
8658
8659        Reviewed by Tim Horton.
8660
8661        * UIProcess/API/C/WKPage.cpp:
8662        (WKPageSetPagePolicyClient):
8663        * UIProcess/WebPolicyClient.cpp: Removed.
8664        * UIProcess/WebPolicyClient.h: Removed.
8665        * WebKit2.xcodeproj/project.pbxproj:
8666
86672014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
8668
8669        Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
8670        https://bugs.webkit.org/show_bug.cgi?id=127409
8671
8672        Reviewed by Geoffrey Garen.
8673
8674        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
8675        (WebKit::WebInspectorFrontendClient::closeWindow):
8676        * WebProcess/WebPage/WebInspector.cpp:
8677        (WebKit::WebInspector::remoteFrontendDisconnected):
8678        Include InspectorDisconnectReason.
8679
86802014-01-23  Anders Carlsson  <andersca@apple.com>
8681
8682        Only WKPage should know about WebPolicyClient
8683        https://bugs.webkit.org/show_bug.cgi?id=127535
8684
8685        Reviewed by Andreas Kling.
8686
8687        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
8688        (setUpPagePolicyClient):
8689        (-[WKBrowsingContextController setPolicyDelegate:]):
8690        * UIProcess/WebInspectorProxy.cpp:
8691        (WebKit::WebInspectorProxy::createInspectorPage):
8692
86932014-01-23  Anders Carlsson  <andersca@apple.com>
8694
8695        Simplify API::LoaderClient management
8696        https://bugs.webkit.org/show_bug.cgi?id=127531
8697
8698        Reviewed by Tim Horton.
8699
8700        Add default implementations to API::LoaderClient and change WebPageProxy::setLoaderClient to
8701        always create a policy client, even if the loader client set is null. That way we don't have to null
8702        check the loader client everywhere.
8703
8704        * UIProcess/API/APILoaderClient.h:
8705        (API::LoaderClient::didStartProvisionalLoadForFrame):
8706        (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
8707        (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
8708        (API::LoaderClient::didCommitLoadForFrame):
8709        (API::LoaderClient::didFinishDocumentLoadForFrame):
8710        (API::LoaderClient::didFinishLoadForFrame):
8711        (API::LoaderClient::didFailLoadWithErrorForFrame):
8712        (API::LoaderClient::didSameDocumentNavigationForFrame):
8713        (API::LoaderClient::didReceiveTitleForFrame):
8714        (API::LoaderClient::didFirstLayoutForFrame):
8715        (API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
8716        (API::LoaderClient::didRemoveFrameFromHierarchy):
8717        (API::LoaderClient::didDisplayInsecureContentForFrame):
8718        (API::LoaderClient::didRunInsecureContentForFrame):
8719        (API::LoaderClient::didDetectXSSForFrame):
8720        (API::LoaderClient::didLayout):
8721        (API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
8722        (API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
8723        (API::LoaderClient::didStartProgress):
8724        (API::LoaderClient::didChangeProgress):
8725        (API::LoaderClient::didFinishProgress):
8726        (API::LoaderClient::processDidBecomeUnresponsive):
8727        (API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
8728        (API::LoaderClient::processDidBecomeResponsive):
8729        (API::LoaderClient::processDidCrash):
8730        (API::LoaderClient::didChangeBackForwardList):
8731        (API::LoaderClient::willGoToBackForwardListItem):
8732        (API::LoaderClient::pluginLoadPolicy):
8733        (API::LoaderClient::didFailToInitializePlugin):
8734        (API::LoaderClient::didBlockInsecurePluginVersion):
8735        (API::LoaderClient::webGLLoadPolicy):
8736        * UIProcess/WebPageProxy.cpp:
8737        (WebKit::WebPageProxy::setLoaderClient):
8738        (WebKit::WebPageProxy::didChangeBackForwardList):
8739        (WebKit::WebPageProxy::willGoToBackForwardListItem):
8740        (WebKit::WebPageProxy::findPlugin):
8741        (WebKit::WebPageProxy::didStartProgress):
8742        (WebKit::WebPageProxy::didChangeProgress):
8743        (WebKit::WebPageProxy::didFinishProgress):
8744        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
8745        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
8746        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
8747        (WebKit::WebPageProxy::didCommitLoadForFrame):
8748        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
8749        (WebKit::WebPageProxy::didFinishLoadForFrame):
8750        (WebKit::WebPageProxy::didFailLoadForFrame):
8751        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
8752        (WebKit::WebPageProxy::didReceiveTitleForFrame):
8753        (WebKit::WebPageProxy::didFirstLayoutForFrame):
8754        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
8755        (WebKit::WebPageProxy::didLayout):
8756        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
8757        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
8758        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
8759        (WebKit::WebPageProxy::didDetectXSSForFrame):
8760        (WebKit::WebPageProxy::webGLPolicyForURL):
8761        (WebKit::WebPageProxy::processDidBecomeUnresponsive):
8762        (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
8763        (WebKit::WebPageProxy::processDidBecomeResponsive):
8764        (WebKit::WebPageProxy::processDidCrash):
8765        (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
8766        (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
8767        (WebKit::WebPageProxy::didFailToInitializePlugin):
8768        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
8769
87702014-01-23  Anders Carlsson  <andersca@apple.com>
8771
8772        Simplify API::PolicyClient management
8773        https://bugs.webkit.org/show_bug.cgi?id=127529
8774
8775        Reviewed by Tim Horton.
8776
8777        Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
8778        always create a policy client, even if the policy object set is null. That way we don't have to null
8779        check the policy client everywhere.
8780
8781        * UIProcess/API/APIPolicyClient.h:
8782        (API::PolicyClient::decidePolicyForNavigationAction):
8783        (API::PolicyClient::decidePolicyForNewWindowAction):
8784        (API::PolicyClient::decidePolicyForResponse):
8785        (API::PolicyClient::unableToImplementPolicy):
8786        * UIProcess/WebPageProxy.cpp:
8787        (WebKit::WebPageProxy::setPolicyClient):
8788        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
8789        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
8790        (WebKit::WebPageProxy::decidePolicyForResponse):
8791        (WebKit::WebPageProxy::unableToImplementPolicy):
8792
87932014-01-23  Simon Fraser  <simon.fraser@apple.com>
8794
8795        Fix GTK.
8796
8797        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
8798        (webkitWebPageDidReceiveMessage):
8799
88002014-01-23  Anders Carlsson  <andersca@apple.com>
8801
8802        Add an APILoaderClient base class
8803        https://bugs.webkit.org/show_bug.cgi?id=127527
8804
8805        Reviewed by Tim Horton.
8806
8807        * UIProcess/API/APILoaderClient.h: Added.
8808        (API::LoaderClient::~LoaderClient):
8809        * UIProcess/API/C/WKPage.cpp:
8810        (WKPageSetPageLoaderClient):
8811        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
8812        (setUpPageLoaderClient):
8813        (-[WKBrowsingContextController setLoadDelegate:]):
8814        (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
8815        * UIProcess/WebLoaderClient.cpp:
8816        (WebKit::WebLoaderClient::WebLoaderClient):
8817        * UIProcess/WebLoaderClient.h:
8818        * UIProcess/WebPageProxy.cpp:
8819        (WebKit::WebPageProxy::setLoaderClient):
8820        (WebKit::WebPageProxy::close):
8821        (WebKit::WebPageProxy::didChangeBackForwardList):
8822        (WebKit::WebPageProxy::willGoToBackForwardListItem):
8823        (WebKit::WebPageProxy::findPlugin):
8824        (WebKit::WebPageProxy::didStartProgress):
8825        (WebKit::WebPageProxy::didChangeProgress):
8826        (WebKit::WebPageProxy::didFinishProgress):
8827        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
8828        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
8829        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
8830        (WebKit::WebPageProxy::didCommitLoadForFrame):
8831        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
8832        (WebKit::WebPageProxy::didFinishLoadForFrame):
8833        (WebKit::WebPageProxy::didFailLoadForFrame):
8834        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
8835        (WebKit::WebPageProxy::didReceiveTitleForFrame):
8836        (WebKit::WebPageProxy::didFirstLayoutForFrame):
8837        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
8838        (WebKit::WebPageProxy::didLayout):
8839        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
8840        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
8841        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
8842        (WebKit::WebPageProxy::didDetectXSSForFrame):
8843        (WebKit::WebPageProxy::webGLPolicyForURL):
8844        (WebKit::WebPageProxy::processDidBecomeUnresponsive):
8845        (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
8846        (WebKit::WebPageProxy::processDidBecomeResponsive):
8847        (WebKit::WebPageProxy::processDidCrash):
8848        (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
8849        (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
8850        (WebKit::WebPageProxy::didFailToInitializePlugin):
8851        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
8852        * UIProcess/WebPageProxy.h:
8853        (WebKit::WebPageProxy::loaderClient):
8854        * WebKit2.xcodeproj/project.pbxproj:
8855
88562014-01-23  Ryuan Choi  <ryuan.choi@samsung.com>
8857
8858        Build break after r162650
8859        https://bugs.webkit.org/show_bug.cgi?id=127525
8860
8861        Reviewed by Anders Carlsson.
8862
8863        WKPreferences.h was renamed to WKPreferencesRef.
8864
8865        * UIProcess/API/C/WKPreferences.cpp:
8866
88672014-01-23  Anders Carlsson  <andersca@apple.com>
8868
8869        Fix a refactoring bug that crept in and is causing the inspector to crash.
8870
8871        * UIProcess/WebPolicyClient.cpp:
8872        (WebKit::WebPolicyClient::decidePolicyForResponse):
8873
88742014-01-23  Simon Fraser  <simon.fraser@apple.com>
8875
8876        Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
8877        https://bugs.webkit.org/show_bug.cgi?id=127456
8878        
8879        Reviewed by Antti Koivisto.
8880        
8881        On iOS, visibleContentRect() returns the entire document rect for historical
8882        reasons, and actualVisibleContentRect() returns what visibleContentRect()
8883        returns on other platforms.
8884        
8885        In addition, actualVisibleContentRect() was returning an empty rect in WK2.
8886        
8887        Reduce the confusion of #ifdefs by making visibleContentRect() behave like
8888        actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
8889        an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
8890        
8891        Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
8892        which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
8893        
8894        Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
8895        with non-virtual visibleHeight() and visibleWidth().
8896        
8897        ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
8898        
8899        Mechanically change all the call sites of actualVisibleContentRect() to
8900        use visibleContentRect(), and the call sites of visibleContentRect()
8901        to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
8902        where this may not be appropriate.
8903        
8904        Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
8905        
8906        Also add actualScrollPosition(), and clean up some actualScroll* call sites.
8907        
8908        No behavior change.
8909
8910        * WebProcess/Plugins/PDF/PDFPlugin.h:
8911        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
8912        (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
8913        (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
8914        * WebProcess/WebPage/WebFrame.cpp:
8915        (WebKit::WebFrame::visibleContentBounds):
8916        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8917        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
8918        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
8919
89202014-01-23  Tim Horton  <timothy_horton@apple.com>
8921
8922        [wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing store)
8923        https://bugs.webkit.org/show_bug.cgi?id=127518
8924
8925        Reviewed by Anders Carlsson.
8926
8927        Add WKBundlePageOverlayClear, to allow clients of the page overlay API to
8928        manually clear the page overlay's backing store, for memory, power, and performance gains.
8929
8930        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
8931        (WKBundlePageOverlayClear):
8932        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
8933        * WebProcess/WebPage/DrawingArea.h:
8934        (WebKit::DrawingArea::clearPageOverlay):
8935        * WebProcess/WebPage/PageOverlay.cpp:
8936        (WebKit::PageOverlay::clear):
8937        * WebProcess/WebPage/PageOverlay.h:
8938        Add WKBundlePageOverlayClear and plumb it through PageOverlay to the DrawingArea.
8939
8940        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
8941        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
8942        (WebKit::RemoteLayerTreeDrawingArea::clearPageOverlay):
8943        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
8944        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8945        (WebKit::TiledCoreAnimationDrawingArea::clearPageOverlay):
8946        Set the layer to drawsContent=false and give it 0x0 size, effectively
8947        removing its backing store.
8948
89492014-01-23  Anders Carlsson  <andersca@apple.com>
8950
8951        Explicitly link XPC services with AppKit
8952        https://bugs.webkit.org/show_bug.cgi?id=127520
8953        <rdar://problem/15759718>
8954
8955        Reviewed by Mark Rowe.
8956
8957        Explicitly link XPC services that use the _NSApplicationMain run loop type with AppKit.
8958
8959        * Configurations/PluginService.32.xcconfig:
8960        * Configurations/PluginService.64.xcconfig:
8961        * Configurations/PluginService.Development.xcconfig:
8962        * Configurations/WebContentService.Development.xcconfig:
8963        * Configurations/WebContentService.xcconfig:
8964
89652014-01-23  Anders Carlsson  <andersca@apple.com>
8966
8967        Fix build again.
8968
8969        * UIProcess/API/mac/WKView.mm:
8970        (-[WKView _windowDidChangeBackingProperties:]):
8971
89722014-01-23  Anders Carlsson  <andersca@apple.com>
8973
8974        Another 32-bit build fix.
8975
8976        * UIProcess/API/mac/WKView.mm:
8977        (-[WKView _windowDidChangeBackingProperties:]):
8978
89792014-01-23  Anders Carlsson  <andersca@apple.com>
8980
8981        Clean up WKView.mm a little
8982        https://bugs.webkit.org/show_bug.cgi?id=127517
8983
8984        Reviewed by Tim Horton.
8985
8986        Remove an unused ivar and migrate to API constants that were added in Lion.
8987
8988        * UIProcess/API/mac/WKView.mm:
8989        (-[WKView setFrameSize:]):
8990        (-[WKView addWindowObserversForWindow:]):
8991        (-[WKView removeWindowObservers]):
8992        (-[WKView viewDidMoveToWindow]):
8993        (-[WKView _windowDidMiniaturize:]):
8994        (-[WKView _windowDidResize:]):
8995        (-[WKView _windowDidChangeBackingProperties:]):
8996
89972014-01-23  Anders Carlsson  <andersca@apple.com>
8998
8999        Try to fix the 32-bit build.
9000
9001        * UIProcess/API/Cocoa/WKPreferences.mm:
9002
90032014-01-23  Anders Carlsson  <andersca@apple.com>
9004
9005        Remove an unneeded synchronous back/forward message
9006        https://bugs.webkit.org/show_bug.cgi?id=127516
9007
9008        Reviewed by Tim Horton.
9009
9010        * UIProcess/WebLoaderClient.cpp:
9011        * UIProcess/WebLoaderClient.h:
9012        * UIProcess/WebPageProxy.cpp:
9013        (WebKit::WebPageProxy::initializeLoaderClient):
9014        * UIProcess/WebPageProxy.h:
9015        * UIProcess/WebPageProxy.messages.in:
9016        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9017        (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
9018        * WebProcess/WebPage/WebPage.cpp:
9019        (WebKit::WebPage::WebPage):
9020        * WebProcess/WebPage/WebPage.h:
9021        * WebProcess/WebPage/WebPage.messages.in:
9022
90232014-01-23  Anders Carlsson  <andersca@apple.com>
9024
9025        Rename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences class
9026        https://bugs.webkit.org/show_bug.cgi?id=127512
9027
9028        Reviewed by Dan Bernstein.
9029
9030        * UIProcess/API/C/WKAPICast.h:
9031        * UIProcess/API/C/WKPreferencesRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferences.h.
9032        * UIProcess/API/C/WebKit2_C.h:
9033        * UIProcess/API/Cocoa/WKPreferences.h: Added.
9034        * UIProcess/API/Cocoa/WKPreferences.mm: Added.
9035        * WebKit2.xcodeproj/project.pbxproj:
9036
90372014-01-23  Max Vujovic  <mvujovic@adobe.com>
9038
9039        Remove CSS Custom Filters code and tests
9040        https://bugs.webkit.org/show_bug.cgi?id=127382
9041
9042        Reviewed by Simon Fraser.
9043
9044        * CMakeLists.txt:
9045        * Configurations/FeatureDefines.xcconfig:
9046        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
9047        (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
9048        (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
9049        (IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
9050        (IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
9051        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
9052        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Removed.
9053        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Removed.
9054        * Shared/WebCoreArgumentCoders.cpp:
9055        (IPC::encodeFilterOperation):
9056        (IPC::decodeFilterOperation):
9057        * Shared/WebPreferencesStore.h:
9058        * Shared/mac/RemoteLayerTreeTransaction.mm:
9059        (WebKit::RemoteLayerTreeTextStream::operator<<):
9060        * UIProcess/API/C/WKPreferences.cpp:
9061        * UIProcess/API/C/WKPreferencesPrivate.h:
9062        * WebProcess/InjectedBundle/InjectedBundle.cpp:
9063        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
9064        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
9065        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
9066        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
9067        * WebProcess/WebPage/WebPage.cpp:
9068        (WebKit::WebPage::updatePreferences):
9069        * mac/WebKit2.order:
9070
90712014-01-23  Anders Carlsson  <andersca@apple.com>
9072
9073        Add API::PolicyClient base class
9074        https://bugs.webkit.org/show_bug.cgi?id=127509
9075
9076        Reviewed by Tim Horton.
9077
9078        * UIProcess/API/APIPolicyClient.h: Copied from Source/WebKit2/UIProcess/WebPolicyClient.h.
9079        (API::PolicyClient::~PolicyClient):
9080        * UIProcess/API/C/WKPage.cpp:
9081        (WKPageSetPagePolicyClient):
9082        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
9083        (setUpPagePolicyClient):
9084        (-[WKBrowsingContextController setPolicyDelegate:]):
9085        * UIProcess/WebInspectorProxy.cpp:
9086        (WebKit::WebInspectorProxy::createInspectorPage):
9087        * UIProcess/WebPageProxy.cpp:
9088        (WebKit::WebPageProxy::setPolicyClient):
9089        (WebKit::WebPageProxy::close):
9090        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
9091        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
9092        (WebKit::WebPageProxy::decidePolicyForResponse):
9093        (WebKit::WebPageProxy::unableToImplementPolicy):
9094        * UIProcess/WebPageProxy.h:
9095        * UIProcess/WebPolicyClient.cpp:
9096        (WebKit::WebPolicyClient::WebPolicyClient):
9097        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
9098        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
9099        (WebKit::WebPolicyClient::decidePolicyForResponse):
9100        * UIProcess/WebPolicyClient.h:
9101        * WebKit2.xcodeproj/project.pbxproj:
9102
91032014-01-23  Anders Carlsson  <andersca@apple.com>
9104
9105        Add init methods that create default configurations
9106        https://bugs.webkit.org/show_bug.cgi?id=127503
9107
9108        Reviewed by Dan Bernstein.
9109
9110        * UIProcess/API/Cocoa/WKProcessClass.mm:
9111        (-[WKProcessClass init]):
9112        * UIProcess/API/Cocoa/WKWebView.mm:
9113        (-[WKWebView initWithFrame:]):
9114
91152014-01-23  Brady Eidson  <beidson@apple.com>
9116
9117        IDB: Implement cross-thread and IPC plumbing for 'get' support
9118        https://bugs.webkit.org/show_bug.cgi?id=127501
9119
9120        Reviewed by Anders Carlsson.
9121
9122        Make the WebProcess call out to the DatabaseProcess with a get request, and handle the
9123        response from the DatabaseProcess:
9124        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
9125        (WebKit::WebIDBServerConnection::get):
9126        (WebKit::WebIDBServerConnection::didGetRecord):
9127        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
9128        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
9129
9130        Get the request from the WebProcess and forward it to the appropriate unique IDB database:
9131        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
9132        (WebKit::DatabaseProcessIDBConnection::getRecord):
9133        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
9134        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
9135
9136        Forward the request to the database thread, and response to the result from that thread:
9137        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
9138        (WebKit::UniqueIDBDatabase::getRecord):
9139        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
9140        (WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore):
9141        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
9142
9143        IPC and asynchronous request infrastructure:
9144        * Scripts/webkit2/messages.py:
9145        (struct_or_class):
9146
9147        * Shared/AsyncTask.h:
9148        (WebKit::createAsyncTask):
9149
9150        * Shared/WebCoreArgumentCoders.cpp:
9151        (IPC::ArgumentCoder<IDBGetResult>::encode):
9152        (IPC::ArgumentCoder<IDBGetResult>::decode):
9153        (IPC::ArgumentCoder<IDBKeyRangeData>::encode):
9154        (IPC::ArgumentCoder<IDBKeyRangeData>::decode):
9155        * Shared/WebCoreArgumentCoders.h:
9156
91572014-01-23  Tim Horton  <timothy_horton@apple.com>
9158
9159        PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
9160        https://bugs.webkit.org/show_bug.cgi?id=127415
9161        <rdar://problem/12482452>
9162
9163        Reviewed by Sam Weinig.
9164
9165        Allow use of PDFPlugin even if an external plugin is installed but blocked.
9166        If an external plugin is installed and not blocked, we will continue to use that.
9167
9168        Inject a context menu item into the PDFPlugin context menu that allows the client
9169        to unblock the plugin and reload the page (via the same mechanism that the
9170        unavailable plugin button uses).
9171
9172        * UIProcess/API/C/WKPageLoaderClient.h:
9173        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
9174        (setUpPageLoaderClient):
9175        * UIProcess/WebLoaderClient.cpp:
9176        (WebKit::WebLoaderClient::pluginLoadPolicy):
9177        * UIProcess/WebLoaderClient.h:
9178        * UIProcess/WebPageProxy.cpp:
9179        (WebKit::WebPageProxy::findPlugin):
9180        * UIProcess/WebPageProxy.h:
9181        * UIProcess/WebPageProxy.messages.in:
9182        Add a new PluginLoadPolicy callback for the V4 client with
9183        yet another string out-argument, to allow clients to customize the string
9184        that will appear in the PDFPlugin context menu when it is used in place
9185        of a blocked plugin.
9186
9187        * WebProcess/Plugins/PDF/PDFPlugin.h:
9188        Add setUsedInPlaceOfBlockedPlugin(), which determines whether or not
9189        we should include an item in the PDFPlugin context menu that acts identically
9190        to the unavailable plugin button, allowing the client to potentially unblock
9191        the plugin.
9192
9193        * WebProcess/Plugins/PDF/PDFPlugin.mm:
9194        (-[WKPDFPluginContextMenuTarget initWithPDFPlugin:WebKit::]):
9195        (-[WKPDFPluginContextMenuTarget useBlockedPlugin:]):
9196        Added WKPDFPluginContextMenuTarget, which is the Objective-C object that the
9197        aforementioned context menu item targets.
9198
9199        (WebKit::PDFPlugin::PDFPlugin):
9200        By default, we won't show the extra context menu item.
9201
9202        (WebKit::PDFPlugin::handleContextMenuEvent):
9203        If we were used in place of a blocked plugin, inject our additional context
9204        menu item into the menu. If we were handed a custom string via setUsedInPlaceOfBlockedPlugin,
9205        use that. Otherwise, use the generic string from WebCore's localized strings.
9206
9207        (WebKit::PDFPlugin::openWithPlugin):
9208        Pretend that the user clicked the unavailable plugin button when they click
9209        the injected context menu item.
9210
9211        (WebKit::PDFPlugin::setUsedInPlaceOfBlockedPlugin):
9212
9213        * WebProcess/WebPage/WebPage.cpp:
9214        (WebKit::WebPage::createPlugin):
9215        If we end up with a blocked plugin, but could have used PDFPlugin to display
9216        the content, do so instead of showing the unavailable plugin indicator.
9217
9218        Pass PDFPlugin the custom context menu item title acquired from the client.
9219
9220        (WebKit::WebPage::canPluginHandleResponse):
9221
92222014-01-23  Tim Horton  <timothy_horton@apple.com>
9223
9224        [iOS] [WK2] WKContentView has a black background
9225        https://bugs.webkit.org/show_bug.cgi?id=127471
9226        <rdar://problem/12287363>
9227
9228        Reviewed by Sam Weinig.
9229
9230        * UIProcess/API/ios/WKContentView.mm:
9231        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
9232        Instead of giving it a (black!) background to make hit-testing work, use CALayer SPI
9233        to tell CA that the whole layer should be treated as opaque when it comes to hit-testing.
9234
92352014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
9236
9237        [GLIB] Use GUniquePtr instead of GOwnPtr
9238        https://bugs.webkit.org/show_bug.cgi?id=127431
9239
9240        Reviewed by Martin Robinson.
9241
9242        GUniquePtr is a template alias of std::unique_ptr with a custom
9243        deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
9244        where the output pointer is needed, but it will also be replaced soon.
9245
9246        * Shared/Downloads/soup/DownloadSoup.cpp:
9247        (WebKit::DownloadClient::didReceiveResponse):
9248        * Shared/NativeWebKeyboardEvent.h:
9249        * Shared/NativeWebMouseEvent.h:
9250        * Shared/NativeWebWheelEvent.h:
9251        * Shared/gtk/ArgumentCodersGtk.cpp:
9252        (IPC::encodeGKeyFile):
9253        (IPC::decodeGKeyFile):
9254        (IPC::encode):
9255        (IPC::decode):
9256        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
9257        (webkitContextMenuItemSetSubMenuFromGtkMenu):
9258        * UIProcess/API/gtk/WebKitDownload.cpp:
9259        (webkitDownloadDecideDestination):
9260        (webkitDownloadNotifyProgress):
9261        (webkitDownloadFailed):
9262        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
9263        (webkit_file_chooser_request_select_files):
9264        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
9265        (didReceiveWebViewMessageFromInjectedBundle):
9266        (getInjectedBundleInitializationUserData):
9267        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
9268        (didFailProvisionalLoadWithErrorForFrame):
9269        (didFailLoadWithErrorForFrame):
9270        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
9271        (drawPagesForPrintingCompleted):
9272        * UIProcess/API/gtk/WebKitURIRequest.cpp:
9273        (webkit_uri_request_get_http_headers):
9274        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
9275        (webkit_uri_scheme_request_get_scheme):
9276        (webkit_uri_scheme_request_get_path):
9277        * UIProcess/API/gtk/WebKitWebContext.cpp:
9278        (injectedBundleFilename):
9279        (webkit_web_context_set_favicon_database_directory):
9280        * UIProcess/API/gtk/WebKitWebView.cpp:
9281        (webkitWebViewLoadFail):
9282        (webkitWebViewCreateJavaScriptDialog):
9283        (fileChooserDialogResponseCallback):
9284        (webkitWebViewLoadChanged):
9285        (webkitWebViewLoadFailedWithTLSErrors):
9286        (webkitWebViewPopulateContextMenu):
9287        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
9288        (webkitWebViewBaseButtonPressEvent):
9289        (webkitWebViewBaseStartDrag):
9290        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
9291        (WebKit::WebInspectorServer::platformResourceForPath):
9292        * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
9293        (WebKit::connectionCallback):
9294        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
9295        (WebKit::ProcessLauncher::launchProcess):
9296        * UIProcess/gtk/WebContextGtk.cpp:
9297        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
9298        (WebKit::WebContext::platformDefaultDatabaseDirectory):
9299        (WebKit::WebContext::platformDefaultIconDatabasePath):
9300        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
9301        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
9302        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
9303        (WebKit::contextMenuItemVisibilityChanged):
9304        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
9305        (WebKit::WebInspectorProxy::platformInspectedURLChanged):
9306        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
9307        (WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):
9308        * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
9309        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
9310        (WebKit::WebPage::platformInitialize):
9311        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
9312        * WebProcess/gtk/WebProcessMainGtk.cpp:
9313        * WebProcess/soup/WebSoupRequestManager.cpp:
9314        (WebKit::WebSoupRequestManager::send):
9315
93162014-01-22  Simon Fraser  <simon.fraser@apple.com>
9317
9318        Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
9319        https://bugs.webkit.org/show_bug.cgi?id=127461
9320
9321        Reviewed by Andreas Kling.
9322        
9323        The "fixedVisibleContentRect" code path is only used by platforms
9324        which enabled TILED_BACKING_STORE, so to reduce confusion, surround
9325        this code with #if USE(TILED_BACKING_STORE).
9326
9327        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9328        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
9329
93302014-01-22  Benjamin Poulain  <bpoulain@apple.com>
9331
9332        Add a minimalistic SPI to control the layout size outside of WKView
9333        https://bugs.webkit.org/show_bug.cgi?id=127403
9334
9335        Reviewed by Sam Weinig.
9336
9337        The API lets a client of WKView force the layout size. Once the size
9338        is set this way, default update is disabled and the client needs to
9339        update the size systematically as needed. This is done to avoid double
9340        layout or flickering.
9341
9342        * UIProcess/API/Cocoa/WKViewPrivate.h:
9343        * UIProcess/API/ios/WKViewIOS.mm:
9344        (-[WKView _frameOrBoundsChanged]):
9345        (-[WKView overrideMinimumLayoutSize:]):
9346
93472014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>
9348
9349        [EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
9350        https://bugs.webkit.org/show_bug.cgi?id=127420
9351
9352        Reviewed by Gyuyoung Kim.
9353
9354        As the defaultTextEncodingName is returned as a local WKEinaSharedString variable, 
9355        the stringshared data is de-refed by eina_stringshare_del().
9356        To maintain the reference counter, the defaultTextEncodingName should be stored 
9357        as a member variable of EwkSettings class.
9358
9359        * UIProcess/API/efl/ewk_settings.cpp:
9360        (ewk_settings_encoding_detector_enabled_get): Reordering.
9361        (ewk_settings_default_text_encoding_name_set):
9362        (ewk_settings_default_text_encoding_name_get):
9363        (EwkSettings::setDefaultTextEncodingName):
9364        (EwkSettings::defaultTextEncodingName):
9365        * UIProcess/API/efl/ewk_settings_private.h:
9366        (EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.
9367
93682014-01-22  Enrica Casucci  <enrica@apple.com>
9369
9370        Support WebSelections in WK2 on iOS.
9371        https://bugs.webkit.org/show_bug.cgi?id=127015
9372        <rdar://problem/15211964>
9373
9374        Reviewed by Benjamin Poulain.
9375
9376        This change adds support for text only (non block mode)
9377        selections in non editable content.
9378        The main changes consist in hooking up the new gesture type
9379        and touches to handle selection creation and interaction.
9380        It also includes changes to the way first responder is handled
9381        which includes the implementation of the isEditable method
9382        to allow iOS to know when to show the keyboard.
9383
9384        * Shared/ios/WKGestureTypes.h:
9385        * UIProcess/API/ios/WKInteractionView.mm:
9386        (-[WKInteractionView isEditable]):
9387        (-[WKInteractionView canBecomeFirstResponder]):
9388        (-[WKInteractionView webSelectionRects]):
9389        (-[WKInteractionView _highlightLongPressRecognized:]):
9390        (-[WKInteractionView _singleTapRecognized:]):
9391        (-[WKInteractionView inputAccessoryView]):
9392        (-[WKInteractionView canPerformAction:withSender:]):
9393        (-[WKInteractionView _showDictionary:]):
9394        (toWKGestureType):
9395        (toUIWKGestureType):
9396        (selectionChangedWithGesture):
9397        (selectionChangedWithTouch):
9398        (-[WKInteractionView selectedTextRange]):
9399        (-[WKInteractionView webSelectionAssistant]):
9400        (-[WKInteractionView _startAssistingNode]):
9401        (-[WKInteractionView _stopAssistingNode]):
9402        (-[WKInteractionView _selectionChanged]):
9403        * WebProcess/WebPage/ios/WebPageIOS.mm:
9404        (WebKit::WebPage::selectWithGesture):
9405        (WebKit::WebPage::updateSelectionWithTouches):
9406
94072014-01-22  Anders Carlsson  <andersca@apple.com>
9408
9409        WKBrowsingContextController should not be an API wrapper around WebPageProxy
9410        https://bugs.webkit.org/show_bug.cgi?id=127454
9411
9412        Reviewed by Dan Bernstein.
9413
9414        * Shared/Cocoa/APIObject.mm:
9415        (API::Object::newObject):
9416        * Shared/mac/ObjCObjectGraphCoders.mm:
9417        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
9418        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
9419        (-[WKBrowsingContextController _initWithPageRef:]):
9420        (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
9421        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
9422        * UIProcess/API/Cocoa/WKProcessGroup.mm:
9423        (didNavigateWithNavigationData):
9424        (didPerformClientRedirect):
9425        (didPerformServerRedirect):
9426        (didUpdateHistoryTitle):
9427        * UIProcess/API/ios/WKContentView.mm:
9428        (-[WKContentView browsingContextController]):
9429        * UIProcess/API/mac/WKView.mm:
9430        (-[WKView browsingContextController]):
9431        * UIProcess/ios/WebPageProxyIOS.mm:
9432        (WebKit::WebPageProxy::platformInitialize):
9433        * UIProcess/mac/WebPageProxyMac.mm:
9434        (WebKit::WebPageProxy::platformInitialize):
9435
94362014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
9437
9438        Remove CSS3_TEXT_DECORATION define
9439        https://bugs.webkit.org/show_bug.cgi?id=127333
9440
9441        Reviewed by Simon Fraser.
9442
9443        This is required for unprefixing the text-decoration-* CSS properties.
9444
9445        * Configurations/FeatureDefines.xcconfig:
9446
94472014-01-22  Gavin Barraclough  <barraclough@apple.com>
9448
9449        Debug mechanism to override process QoS on Mac
9450        https://bugs.webkit.org/show_bug.cgi?id=127455
9451
9452        Reviewed by Anders Carlsson.
9453
9454        * NetworkProcess/NetworkProcess.messages.in:
9455            - added message.
9456        * PluginProcess/PluginProcess.messages.in:
9457            - added message.
9458        * Shared/ChildProcess.h:
9459        * Shared/mac/ChildProcessMac.mm:
9460        (WebKit::ChildProcess::setQOS):
9461            - Added implementation of new message.
9462        * UIProcess/Plugins/PluginProcessProxy.cpp:
9463        (WebKit::PluginProcessProxy::didFinishLaunching):
9464            - SetQOS for the PluginProcess.
9465        * UIProcess/Plugins/PluginProcessProxy.h:
9466        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
9467        (WebKit::pluginProcessLatencyQOS):
9468        (WebKit::pluginProcessThroughputQOS):
9469            - read NSUserDefaults.
9470        * UIProcess/WebContext.cpp:
9471        (WebKit::WebContext::ensureNetworkProcess):
9472            - SetQOS for the NetworkProcess.
9473        (WebKit::WebContext::createNewWebProcess):
9474            - SetQOS for the WebProcess.
9475        * UIProcess/WebContext.h:
9476        * UIProcess/mac/WebContextMac.mm:
9477        (WebKit::networkProcessLatencyQOS):
9478        (WebKit::networkProcessThroughputQOS):
9479        (WebKit::webProcessLatencyQOS):
9480        (WebKit::webProcessThroughputQOS):
9481            - read NSUserDefaults.
9482        * WebProcess/WebProcess.messages.in:
9483            - added message.
9484
94852014-01-22  David Farler  <dfarler@apple.com>
9486
9487        ASAN builds are broken - missing flags
9488        https://bugs.webkit.org/show_bug.cgi?id=127231
9489
9490        Reviewed by Andy Estes.
9491
9492        Add missing $(ASAN_OTHER_LDFLAGS).
9493        * Configurations/PluginProcessShim.xcconfig:
9494        * Configurations/SecItemShim.xcconfig:
9495        * Configurations/WebKit2.xcconfig:
9496        * Configurations/WebProcessShim.xcconfig:
9497
94982014-01-22  Brady Eidson  <beidson@apple.com>
9499
9500        The IDB backing store get() method shouldn't call IDB callbacks directly
9501        https://bugs.webkit.org/show_bug.cgi?id=127453
9502        
9503        Reviewed by Beth Dakin.
9504
9505        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
9506        (WebKit::WebIDBServerConnection::get):
9507        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
9508
95092014-01-22  Martin Hock  <mhock@apple.com>
9510
9511        Enable Session API.
9512        https://bugs.webkit.org/show_bug.cgi?id=127255
9513
9514        Reviewed by Alexey Proskuryakov.
9515
9516        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
9517        (WebKit::storageSession):
9518        * NetworkProcess/NetworkResourceLoader.cpp:
9519        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
9520        (WebKit::NetworkResourceLoader::start):
9521        * NetworkProcess/NetworkResourceLoader.h:
9522        * NetworkProcess/RemoteNetworkingContext.h:
9523        * NetworkProcess/mac/RemoteNetworkingContext.mm:
9524        (WebKit::RemoteNetworkingContext::storageSession):
9525        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
9526        * Shared/Network/NetworkResourceLoadParameters.cpp:
9527        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
9528        (WebKit::NetworkResourceLoadParameters::encode):
9529        (WebKit::NetworkResourceLoadParameters::decode):
9530        * Shared/Network/NetworkResourceLoadParameters.h:
9531        * Shared/SessionTracker.cpp:
9532        (WebKit::staticSessionMap):
9533        (WebKit::SessionTracker::sessionMap):
9534        (WebKit::SessionTracker::session):
9535        (WebKit::SessionTracker::setSession):
9536        (WebKit::SessionTracker::destroySession):
9537        * Shared/SessionTracker.h:
9538        * UIProcess/API/C/WKPage.cpp:
9539        (WKPageSetSession):
9540        * UIProcess/API/C/WKPage.h:
9541        * UIProcess/API/C/WKSessionRef.cpp:
9542        (WKSessionCreate):
9543        * UIProcess/API/C/WKSessionRef.h:
9544        * UIProcess/WebPageProxy.cpp:
9545        (WebKit::WebPageProxy::WebPageProxy):
9546        (WebKit::WebPageProxy::setSession):
9547        * UIProcess/WebPageProxy.h:
9548        * WebProcess/Network/WebResourceLoadScheduler.cpp:
9549        (WebKit::WebResourceLoadScheduler::scheduleLoad):
9550        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9551        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
9552        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
9553        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
9554        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
9555        (WebKit::WebFrameNetworkingContext::storageSession):
9556        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
9557        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
9558        * WebProcess/WebPage/WebFrame.cpp:
9559        (WebKit::WebFrame::startDownload):
9560        * WebProcess/WebPage/WebPage.cpp:
9561        (WebKit::WebPage::WebPage):
9562        (WebKit::WebPage::sessionID):
9563        (WebKit::WebPage::updatePreferences):
9564        * WebProcess/WebPage/WebPage.h:
9565        (WebKit::WebPage::setSessionID):
9566        * WebProcess/WebPage/WebPage.messages.in:
9567
95682014-01-21  Brady Eidson  <beidson@apple.com>
9569
9570        IDB: "Put" support
9571        <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
9572
9573        Reviewed by Alexey Proskuryakov.
9574
9575        Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess:
9576        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
9577        (WebKit::WebIDBServerConnection::put):
9578        (WebKit::WebIDBServerConnection::didPutRecord):
9579        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
9580        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
9581
9582        Pass off the putRecord request to the Unique IDBDatabase:
9583        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
9584        (WebKit::DatabaseProcessIDBConnection::putRecord):
9585        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
9586        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
9587
9588        Pass off the putRecord request to the backing store:
9589        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
9590        (WebKit::UniqueIDBDatabase::putRecord):
9591        (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
9592        (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore):
9593        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
9594
9595        Add backing store methods related to putRecord, though only one is critical right now:
9596        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
9597        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
9598        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
9599        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey):
9600        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
9601        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
9602        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator):
9603        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
9604
9605        Add the IDBKeyData type to IPC:
9606        * Scripts/webkit2/messages.py:
9607        (struct_or_class):
9608
9609        * Shared/WebCoreArgumentCoders.cpp:
9610        (IPC::ArgumentCoder<IDBKeyData>::encode):
9611        (IPC::ArgumentCoder<IDBKeyData>::decode):
9612        * Shared/WebCoreArgumentCoders.h:
9613
9614        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
9615        (WebKit::serializeIDBKey):
9616        * DatabaseProcess/IndexedDB/IDBSerialization.h:
9617
9618        Implement more cross-thread copying:
9619        * Shared/WebCrossThreadCopier.cpp:
9620        (WebCore::Vector<uint8_t>>::copy):
9621        (WebCore::Vector<Vector<IDBKeyData>>>::copy):
9622        (WebCore::ASCIILiteral>::copy):
9623        * Shared/WebCrossThreadCopier.h:
9624
9625        Implement more numbers of generic AsyncTask templates:
9626        * Shared/AsyncTask.h:
9627        (WebKit::createAsyncTask):
9628
96292014-01-22  Anders Carlsson  <andersca@apple.com>
9630
9631        WKProcessClass should create a WebContext
9632        https://bugs.webkit.org/show_bug.cgi?id=127449
9633        <rdar://problem/15885582>
9634
9635        Reviewed by Dan Bernstein.
9636
9637        * Shared/Cocoa/APIObject.mm:
9638        (API::Object::newObject):
9639        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
9640        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
9641        * UIProcess/API/Cocoa/WKProcessClass.mm:
9642        (-[WKProcessClass initWithConfiguration:]):
9643        (-[WKProcessClass dealloc]):
9644        (-[WKProcessClass API::]):
9645        * UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h.
9646        (WebKit::wrapper):
9647        * UIProcess/API/Cocoa/WKProcessGroup.mm:
9648        (-[WKProcessGroup initWithInjectedBundleURL:]):
9649        * UIProcess/API/ios/WKContentView.mm:
9650        (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
9651        * WebKit2.xcodeproj/project.pbxproj:
9652
96532014-01-22  Tim Horton  <timothy_horton@apple.com>
9654
9655        Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
9656        https://bugs.webkit.org/show_bug.cgi?id=127445
9657
9658        Reviewed by Anders Carlsson.
9659
9660        * UIProcess/API/ios/WKContentView.mm:
9661        (-[WKContentView _updateViewExposedRect]):
9662        * UIProcess/API/mac/WKView.mm:
9663        (-[WKView _updateViewExposedRect]):
9664        Null-check.
9665
96662014-01-22  Anders Carlsson  <andersca@apple.com>
9667
9668        Add WKWebView class
9669        https://bugs.webkit.org/show_bug.cgi?id=127444
9670        <rdar://problem/15884418>
9671
9672        Reviewed by Dan Bernstein.
9673
9674        * UIProcess/API/Cocoa/WKWebView.h: Added.
9675        * UIProcess/API/Cocoa/WKWebView.mm: Added.
9676        (-[WKWebView initWithFrame:configuration:]):
9677        (-[WKWebView configuration]):
9678        * WebKit2.xcodeproj/project.pbxproj:
9679
96802014-01-22  Anders Carlsson  <andersca@apple.com>
9681
9682        Fix 32-bit build.
9683
9684        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
9685
96862014-01-22  Tim Horton  <timothy_horton@apple.com>
9687
9688        [wk2] Scroll pinning state is wrong until the first scroll event
9689        https://bugs.webkit.org/show_bug.cgi?id=127437
9690
9691        Reviewed by Simon Fraser.
9692
9693        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9694        (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
9695        * WebProcess/WebPage/WebPage.cpp:
9696        (WebKit::WebPage::updateMainFrameScrollOffsetPinning):
9697        (WebKit::WebPage::didCommitLoad):
9698        * WebProcess/WebPage/WebPage.h:
9699        Rename WebPage::didChangeScrollOffsetForMainFrame to
9700        updateMainFrameScrollOffsetPinning, which better describes what it
9701        actually does. Call it when a load is committed, so that we have valid
9702        pinning state before the first scroll event comes in.
9703
97042014-01-22  Anders Carlsson  <andersca@apple.com>
9705
9706        Add WKWebViewConfiguration class
9707        https://bugs.webkit.org/show_bug.cgi?id=127436
9708        <rdar://problem/15882923>
9709
9710        Reviewed by Tim Horton.
9711
9712        * UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added.
9713        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added.
9714        (-[WKWebViewConfiguration copyWithZone:]):
9715        * WebKit2.xcodeproj/project.pbxproj:
9716
97172014-01-22  Alice Barraclough  <alice.liu@apple.com>
9718
9719        [WK2] add cocoa API for private browsing setting
9720        https://bugs.webkit.org/show_bug.cgi?id=127391
9721
9722        Reviewed by Sam Weinig.
9723
9724        * UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
9725        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
9726        (-[WKBrowsingContextGroup privateBrowsingEnabled]):
9727        (-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]):
9728        Adding some API for the private Browsing setting. Reaches through
9729        to the WKPageGroup's preferences.
9730
97312014-01-22  Anders Carlsson  <andersca@apple.com>
9732
9733        Add WKProcessClass class
9734        https://bugs.webkit.org/show_bug.cgi?id=127433
9735        <rdar://problem/15882582>
9736
9737        Reviewed by Dan Bernstein.
9738
9739        Add a stubbed out WKProcessClass class.
9740
9741        * Shared/API/Cocoa/WKFoundation.h:
9742        * UIProcess/API/Cocoa/WKProcessClass.h: Added.
9743        * UIProcess/API/Cocoa/WKProcessClass.mm: Added.
9744        (-[WKProcessClass initWithConfiguration:]):
9745        (-[WKProcessClass configuration]):
9746        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
9747        * WebKit2.xcodeproj/project.pbxproj:
9748
97492014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
9750
9751        [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
9752        https://bugs.webkit.org/show_bug.cgi?id=127119
9753
9754        Reviewed by Mario Sanchez Prada.
9755
9756        Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).
9757
9758        * WebProcess/WebPage/WebPage.cpp:
9759        (WebKit::WebPage::WebPage):
9760        * WebProcess/WebPage/WebPage.h:
9761        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
9762        (WebKit::WebPage::platformInitialize):
9763
97642014-01-22  Martin Robinson  <mrobinson@igalia.com>
9765
9766        [GTK][CMake] Add support for building the NetworkProcess
9767        https://bugs.webkit.org/show_bug.cgi?id=127195
9768
9769        Reviewed by Daniel Bates.
9770
9771        * CMakeLists.txt: Add shared network process build instructions.
9772        * PlatformEfl.cmake: Move build instructions to the platform-independent file.
9773        * PlatformGTK.cmake: Add some files to the source lists.
9774
97752014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
9776
9777        REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
9778        https://bugs.webkit.org/show_bug.cgi?id=127422
9779
9780        Reviewed by Anders Carlsson.
9781
9782        * WebProcess/gtk/WebGtkExtensionManager.cpp:
9783        (WebKit::WebGtkExtensionManager::initialize): Always create the
9784        WebKitWebExtension object since it's used internally to implement
9785        the ResourceLoader client.
9786
97872014-01-22  Jer Noble  <jer.noble@apple.com>
9788
9789        [Mac][WK2] Unable to play video protected by session cookies
9790        https://bugs.webkit.org/show_bug.cgi?id=127207
9791
9792        Reviewed by Sam Weinig.
9793
9794        Recent changes in our underlying media frameworks caused our shimmed methods
9795        in CookieStorageShim to stop being called. Insert an objective-c shim in addition
9796        to our original shim to intercept pulling cookies out of cookie storage.
9797
9798        * Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.
9799        (WebKit::CookieStorageShim::initialize): Insert the shim.
9800        (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
9801            Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().
9802        * WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.
9803
98042014-01-22  Yongjun Zhang  <yongjun_zhang@apple.com>
9805
9806        https://bugs.webkit.org/show_bug.cgi?id=127380
9807        Add more methods to WKWebProcessPlugInNodeHandle.
9808
9809        Reviewed by Sam Weinig.
9810
9811        Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*.  Also
9812        add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.
9813 
9814        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
9815        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
9816        (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
9817        (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):
9818
98192014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
9820
9821        Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.
9822
9823        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
9824        Use override instead of OVERRIDE.
9825
98262014-01-22  Koop Mast <kwm@FreeBSD.org>
9827
9828        Build fixes for FreeBSD.
9829        https://bugs.webkit.org/show_bug.cgi?id=126779
9830
9831        Reviewed by Csaba Osztrogonác.
9832
9833        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
9834        (WebKit::PluginProcessProxy::scanPlugin):
9835
98362014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>
9837
9838        [EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
9839        https://bugs.webkit.org/show_bug.cgi?id=127397
9840
9841        Reviewed by Anders Carlsson.
9842
9843        Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
9844        and DispatchQueue::setSocketEventHandler.
9845
9846        * Platform/IPC/unix/ConnectionUnix.cpp:
9847        (IPC::Connection::open):
9848        * Platform/WorkQueue.h:
9849        * Platform/efl/DispatchQueueEfl.cpp:
9850        (DispatchQueue::setSocketEventHandler):
9851        * Platform/efl/DispatchQueueEfl.h:
9852        * Platform/efl/WorkQueueEfl.cpp:
9853        (WorkQueue::registerSocketEventHandler):
9854
98552014-01-21  Tim Horton  <timothy_horton@apple.com>
9856
9857        [wk2] De-.get()ify receivers of Objective-C messages
9858        https://bugs.webkit.org/show_bug.cgi?id=127398
9859
9860        Reviewed by Sam Weinig.
9861
9862        RetainPtr does the right thing when you use it as the
9863        receiver of an Obj-C message, so we don't need .get().
9864
9865        Long and useless file list elided.
9866
98672014-01-21  Brady Eidson  <beidson@apple.com>
9868
9869        The IDB backing store put() method shouldn't call IDB callbacks directly
9870        https://bugs.webkit.org/show_bug.cgi?id=127399
9871
9872        Reviewed by Beth Dakin.
9873
9874        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
9875        (WebKit::WebIDBServerConnection::put):
9876        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
9877
98782014-01-21  Anders Carlsson  <andersca@apple.com>
9879
9880        Fix 32-bit build.
9881
9882        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
9883
98842014-01-21  Jinwoo Song  <jinwoo7.song@samsung.com>
9885
9886        [EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
9887        https://bugs.webkit.org/show_bug.cgi?id=127263
9888
9889        Reviewed by Gyuyoung Kim.
9890
9891        After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter.
9892        So it would be better to use nanoseconds in TimerWorkItem for consistency.
9893
9894        * Platform/efl/DispatchQueueEfl.cpp:
9895        (DispatchQueue::performTimerWork):
9896        (DispatchQueue::insertTimerWorkItem):
9897        (DispatchQueue::getNextTimeOut):
9898        * Platform/efl/DispatchQueueWorkItemEfl.h:
9899        (TimerWorkItem::create):
9900        (TimerWorkItem::expirationTimeNanoSeconds):
9901        (TimerWorkItem::hasExpired):
9902        (TimerWorkItem::TimerWorkItem):
9903
99042014-01-21  Tim Horton  <timothy_horton@apple.com>
9905
9906        Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.
9907
9908        Reviewed by Simon Fraser.
9909
9910        * WebKit2.xcodeproj/project.pbxproj:
9911
99122014-01-21  Anders Carlsson  <andersca@apple.com>
9913
9914        Add a WKProcessClassConfiguration class
9915        https://bugs.webkit.org/show_bug.cgi?id=127378
9916        <rdar://problem/15875413>
9917
9918        Reviewed by Dan Bernstein.
9919
9920        * UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added.
9921        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added.
9922        (-[WKProcessClassConfiguration copyWithZone:]):
9923        * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added.
9924        * WebKit2.xcodeproj/project.pbxproj:
9925
99262014-01-21  Tim Horton  <timothy_horton@apple.com>
9927
9928        Make ViewGestureController Obj-C++
9929        https://bugs.webkit.org/show_bug.cgi?id=127385
9930
9931        Reviewed by Dean Jackson.
9932
9933        * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
9934        * WebKit2.xcodeproj/project.pbxproj:
9935
99362014-01-21  Anders Carlsson  <andersca@apple.com>
9937
9938        Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group
9939        https://bugs.webkit.org/show_bug.cgi?id=127374
9940
9941        Reviewed by Dan Bernstein.
9942
9943        * WebKit2.xcodeproj/project.pbxproj:
9944
99452014-01-21  Commit Queue  <commit-queue@webkit.org>
9946
9947        Unreviewed, rolling out r162452.
9948        http://trac.webkit.org/changeset/162452
9949        https://bugs.webkit.org/show_bug.cgi?id=127366
9950
9951        broke a few tests on all Mac WebKit1 bots (Requested by
9952        thorton on #webkit).
9953
9954        * WebProcess/WebPage/WebPage.cpp:
9955        (WebKit::WebPage::WebPage):
9956        (WebKit::WebPage::setActive):
9957        (WebKit::WebPage::setViewIsVisible):
9958        (WebKit::WebPage::setFocused):
9959        (WebKit::WebPage::setIsInWindow):
9960        (WebKit::WebPage::setViewStateInternal):
9961        (WebKit::WebPage::setIsVisuallyIdle):
9962        * WebProcess/WebPage/WebPage.h:
9963
99642014-01-21  Martin Hock  <mhock@apple.com>
9965
9966        Trivial Session API cleanup.
9967        https://bugs.webkit.org/show_bug.cgi?id=127356
9968
9969        Reviewed by Alexey Proskuryakov.
9970
9971        * UIProcess/API/C/WKSessionRef.cpp:
9972        (WKSessionIsEphemeral):
9973        * UIProcess/API/C/WKSessionRef.h:
9974
99752014-01-16  Simon Fraser  <simon.fraser@apple.com>
9976
9977        Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
9978        https://bugs.webkit.org/show_bug.cgi?id=127121
9979
9980        Reviewed by Anders Carlsson.
9981        
9982        A common cause of early WebProcess crashes during development is a null return
9983        from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
9984        this case rather than passing a null C string to dlsym().
9985
9986        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
9987        (WebKit::BootstrapMain):
9988
99892014-01-21  Tim Horton  <timothy_horton@apple.com>
9990
9991        Sort headers after the rename that happened in r162454.
9992
9993        * UIProcess/mac/RemoteLayerTreeHost.mm:
9994        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
9995
99962014-01-21  Tim Horton  <timothy_horton@apple.com>
9997
9998        Address late review naming comments after r162453.
9999
10000        * UIProcess/API/mac/WKView.mm:
10001        And, fix the build by adding an include I accidentally missed.
10002
10003        * UIProcess/mac/RemoteLayerTreeHost.mm:
10004        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
10005
100062014-01-21  Tim Horton  <timothy_horton@apple.com>
10007
10008        Keep CALayer implicit animation disabling code in a single place
10009        https://bugs.webkit.org/show_bug.cgi?id=127355
10010
10011        Reviewed by Simon Fraser.
10012
10013        * Shared/mac/RemoteLayerTreePropertyApplier.h:
10014        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
10015        Remove disableActionsForLayer.
10016
10017        * UIProcess/API/mac/WKView.mm:
10018        (-[WKView _rootLayer]):
10019        Disable actions on the root layer. It doesn't need them, and currently
10020        isn't affected by implicit animations, but future patches which animate
10021        the root layer will benefit from this.
10022
10023        * UIProcess/mac/RemoteLayerTreeHost.mm:
10024        (WebKit::RemoteLayerTreeHost::createLayer):
10025        Use web_disableAllActions instead of disableActionsForLayer.
10026
10027        * WebKit2.xcodeproj/project.pbxproj:
10028        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.
10029        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
10030        (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
10031        (PlatformCALayerRemoteCustom::hostingContextID):
10032        Use web_disableAllActions instead of disableActionsForLayer.
10033        This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.
10034
100352014-01-21  Gavin Barraclough  <barraclough@apple.com>
10036
10037        Change Page, FocusController to use ViewState
10038        https://bugs.webkit.org/show_bug.cgi?id=126533
10039
10040        Reviewed by Tim Horton.
10041
10042        These classes currently maintain a set of separate fields to represent the view state;
10043        combine these into a single field, and allow WebPage to send the combined update rather
10044        than individual changes.
10045
10046        Maintain existing interface for WebKit1 clients.
10047
10048        * WebProcess/WebPage/WebPage.cpp:
10049        (WebKit::WebPage::WebPage):
10050            - Combined separate calls to Page::setViewState.
10051        (WebKit::WebPage::updateIsInWindow):
10052            - Simplied from setIsInWindow.
10053        (WebKit::WebPage::setViewState):
10054            - Combined separate calls to Page::setViewState.
10055        * WebProcess/WebPage/WebPage.h:
10056            - Declare updateIsInWindow.
10057
100582014-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
10059
10060        [SOUP] Implement CUSTOM PROTOCOLS
10061        https://bugs.webkit.org/show_bug.cgi?id=125583
10062
10063        Reviewed by Anders Carlsson.
10064
10065        Add new classes to implement CustomProtocols for soup. The
10066        implementation is the same, but using the CustomProtocol API and
10067        messages. The current implementation can be removed once all ports
10068        using soup switch to using CustomProtocols.
10069
10070        * GNUmakefile.am: Add new include paths.
10071        * GNUmakefile.list.am: Add new files to compilation.
10072        * PlatformGTK.cmake: Add new files to compilation.
10073        * Shared/API/c/soup/WKBaseSoup.h:
10074        * Shared/APIObject.h:
10075        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
10076        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added.
10077        (WebKit::generateCustomProtocolID):
10078        (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
10079        (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
10080        (WebKit::WebSoupRequestAsyncData::requestFailed):
10081        (WebKit::WebSoupRequestAsyncData::releaseTask):
10082        (WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl):
10083        (WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl):
10084        (WebKit::CustomProtocolManagerImpl::registerScheme):
10085        (WebKit::CustomProtocolManagerImpl::supportsScheme):
10086        (WebKit::CustomProtocolManagerImpl::didFailWithError):
10087        (WebKit::CustomProtocolManagerImpl::didLoadData):
10088        (WebKit::CustomProtocolManagerImpl::didReceiveResponse):
10089        (WebKit::CustomProtocolManagerImpl::didFinishLoading):
10090        (WebKit::CustomProtocolManagerImpl::send):
10091        (WebKit::CustomProtocolManagerImpl::finish):
10092        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added.
10093        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
10094        (WebKit::CustomProtocolManager::CustomProtocolManager):
10095        (WebKit::CustomProtocolManager::initialize):
10096        (WebKit::CustomProtocolManager::registerScheme):
10097        (WebKit::CustomProtocolManager::supportsScheme):
10098        (WebKit::CustomProtocolManager::didFailWithError):
10099        (WebKit::CustomProtocolManager::didLoadData):
10100        (WebKit::CustomProtocolManager::didReceiveResponse):
10101        (WebKit::CustomProtocolManager::didFinishLoading):
10102        * Shared/WebProcessCreationParameters.cpp:
10103        (WebKit::WebProcessCreationParameters::encode):
10104        (WebKit::WebProcessCreationParameters::decode):
10105        * Shared/WebProcessCreationParameters.h:
10106        * UIProcess/API/C/soup/WKAPICastSoup.h:
10107        * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
10108        (WKSoupCustomProtocolRequestManagerGetTypeID):
10109        (WKSoupCustomProtocolRequestManagerSetClient):
10110        * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added.
10111        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
10112        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
10113        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
10114        * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
10115        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
10116        (WebKit::CustomProtocolManagerProxy::startLoading):
10117        (WebKit::CustomProtocolManagerProxy::stopLoading):
10118        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added.
10119        (WebKit::WebSoupCustomProtocolRequestManager::supplementName):
10120        (WebKit::WebSoupCustomProtocolRequestManager::create):
10121        (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
10122        (WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager):
10123        (WebKit::WebSoupCustomProtocolRequestManager::initializeClient):
10124        (WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed):
10125        (WebKit::WebSoupCustomProtocolRequestManager::processDidClose):
10126        (WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement):
10127        (WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement):
10128        (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
10129        (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
10130        (WebKit::WebSoupCustomProtocolRequestManager::startLoading):
10131        (WebKit::WebSoupCustomProtocolRequestManager::stopLoading):
10132        (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
10133        (WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
10134        (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
10135        (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
10136        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added.
10137        (WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols):
10138        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added.
10139        (WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
10140        (WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading):
10141        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added.
10142        * UIProcess/Network/NetworkProcessProxy.cpp:
10143        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
10144        * UIProcess/WebContext.cpp:
10145        (WebKit::WebContext::WebContext):
10146        * UIProcess/WebPageProxy.cpp:
10147        * UIProcess/WebPageProxy.h:
10148        * UIProcess/WebPageProxy.messages.in:
10149        * UIProcess/WebProcessProxy.cpp:
10150        (WebKit::WebProcessProxy::WebProcessProxy):
10151        * UIProcess/gtk/WebContextGtk.cpp:
10152        (WebKit::WebContext::platformInitializeWebProcess):
10153        * UIProcess/soup/WebContextSoup.cpp:
10154        (WebKit::WebContext::platformInitializeNetworkProcess):
10155        * WebProcess/WebProcess.cpp:
10156        (WebKit::WebProcess::WebProcess):
10157        * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
10158        (webkitSoupRequestGenericSendAsync):
10159        (webkitSoupRequestGenericSendFinish):
10160        * WebProcess/soup/WebKitSoupRequestGeneric.h:
10161        * WebProcess/soup/WebProcessSoup.cpp:
10162        (WebKit::WebProcess::platformInitializeWebProcess):
10163
101642014-01-21  Adrian Perez de Castro  <aperez@igalia.com>
10165
10166        [GTK] Allow passing extra data to web extensions
10167        https://bugs.webkit.org/show_bug.cgi?id=125990
10168
10169        Reviewed by Carlos Garcia Campos.
10170
10171        Allow passing additional information to the injected bundle. On top
10172        of the string containing the path to the web extensions directory,
10173        a GVariant can be set with additional data using
10174        webkit_web_context_set_web_extensions_initialization_user_data().
10175        Also, a new initialize-web-extensions signal is emitted before
10176        launching a new WebProcess to allow setting different user data
10177        for each process. The GVariant is serialized as a string, passed
10178        to the injected bundle, and the injected bundle deserializes back
10179        the data, which is passed to web extensions which define the
10180        webkit_web_extension_initialize_with_user_data() function (for
10181        backwards compatibility, webkit_web_extension_initialize() is
10182        used as a fallback.)
10183
10184        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
10185        (getInjectedBundleInitializationUserData): Define new callback
10186        function which causes emission of the initialize-web-extensions
10187        signal, and serializes the data to be passed to the web process.
10188        (attachInjectedBundleClientToContext): Set the
10189        getInjectedBundleInitializationUserData() callback.
10190        * UIProcess/API/gtk/WebKitWebContext.cpp:
10191        (webkit_web_context_class_init): Define the
10192        initialize-web-extensions signal.
10193        (webkit_web_context_set_web_extensions_directory):
10194        Web extensions directory as now member of WebKitWebContextPrivate,
10195        to be able to retrieve it later.
10196        (webkit_web_context_set_web_extensions_initialization_user_data):
10197        New API method to set the user data passed to the web extensions
10198        when initialized.
10199        (webkitWebContextInitializeWebExtensions): Private function used
10200        to trigger emission of the initialize-web-extensions signal.
10201        * UIProcess/API/gtk/WebKitWebContext.h:
10202        Added prototype for new API method
10203        webkit_web_context_set_web_extensions_initialization_user_data().
10204        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
10205        Prototype of the new private function.
10206        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
10207        Add new public API bits to the documentation.
10208        * WebProcess/gtk/WebGtkExtensionManager.cpp:
10209        (WebKit::WebGtkExtensionManager::initialize):
10210        Deserialize the data received from the UI process and pass it to
10211        webkit_web_extension_initialize_with_user_data() if available,
10212        keeping webkit_web_extension_initialize() as fallback.
10213
102142014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
10215
10216        [EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp
10217        https://bugs.webkit.org/show_bug.cgi?id=127261
10218
10219        Reviewed by Gyuyoung Kim.
10220
10221        isEwkViewEvasObject is general check routine of EFL and mainly used in
10222        ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp
10223
10224        This patch moves it to EwkView.h as inline function with small refactoring.
10225        In addition, this patch added EINA_UNLIKELY keyword in cold paths.
10226
10227        * UIProcess/API/efl/EwkView.cpp:
10228        (defaultSmartClassInstance):
10229        (toSmartData):
10230        (toEwkView): Moved it from bottom not to expose it to header file.
10231        * UIProcess/API/efl/EwkView.h:
10232        * UIProcess/API/efl/ewk_view.cpp:
10233        (isEwkViewEvasObject):
10234        (toEwkViewChecked):
10235
102362014-01-20  Eunmi Lee  <eunmi15.lee@samsung.com>
10237
10238        [EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1.
10239        https://bugs.webkit.org/show_bug.cgi?id=127268
10240
10241        Reviewed by Gyuyoung Kim.
10242
10243        Amount of scrolling should be same with movement of touch even though
10244        device pixel ratio is not 1, so apply device pixel ratio to the new
10245        position of scrollBy().
10246
10247        * UIProcess/API/efl/EwkView.cpp:
10248        (EwkView::scrollBy):
10249
102502014-01-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
10251
10252        [WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage
10253        https://bugs.webkit.org/show_bug.cgi?id=127090
10254
10255        Reviewed by Simon Fraser.
10256
10257        When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after
10258        WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by
10259        WebPageProxy::pageScaleFactor.
10260        This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized.
10261
10262        * UIProcess/WebPageProxy.cpp:
10263        (WebKit::WebPageProxy::scalePage):
10264
102652014-01-20  Zan Dobersek  <zdobersek@igalia.com>
10266
10267        [GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function
10268        https://bugs.webkit.org/show_bug.cgi?id=127273
10269
10270        Reviewed by Anders Carlsson.
10271
10272        Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
10273        and WorkQueue::SocketEventSource.
10274
10275        * Platform/IPC/unix/ConnectionUnix.cpp:
10276        (IPC::Connection::open):
10277        * Platform/WorkQueue.h:
10278        * Platform/gtk/WorkQueueGtk.cpp:
10279        (WorkQueue::SocketEventSource::SocketEventSource):
10280        (WorkQueue::registerSocketEventHandler):
10281        (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>.
10282        (WorkQueue::dispatch): Ditto.
10283        (WorkQueue::dispatchAfter): Ditto.
10284
102852014-01-20  Zan Dobersek  <zdobersek@igalia.com>
10286
10287        Unreviewed. Additional build fixes after r162276 and r163304.
10288
10289        * Platform/WorkQueue.h:
10290        * Platform/gtk/WorkQueueGtk.cpp:
10291        (WorkQueue::EventSource::EventSource):
10292        (WorkQueue::dispatchOnSource):
10293        (WorkQueue::dispatch):
10294        (WorkQueue::dispatchAfter):
10295
102962014-01-19  Zan Dobersek  <zdobersek@igalia.com>
10297
10298        Unreviewed GTK build fix after r162276.
10299
10300        Updating the WorkQueue implementation to use std::function and std::chrono.
10301
10302        * Platform/WorkQueue.h:
10303        * Platform/gtk/WorkQueueGtk.cpp:
10304        (WorkQueue::dispatchOnSource):
10305        (WorkQueue::dispatch):
10306        (WorkQueue::dispatchAfter):
10307
103082014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
10309
10310        Unreviewed debug build fix on EFL port after r162300.
10311
10312        * Platform/efl/DispatchQueueWorkItemEfl.h:
10313        (TimerWorkItem::create):
10314
103152014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
10316
10317        [EFL][WK2] build fix after r162276
10318        https://bugs.webkit.org/show_bug.cgi?id=127259
10319
10320        Reviewed by Anders Carlsson.
10321
10322        * Platform/efl/DispatchQueueEfl.cpp:
10323        (DispatchQueue::performTimerWork):
10324        (DispatchQueue::getNextTimeOut):
10325        * Platform/efl/DispatchQueueWorkItemEfl.h:
10326        (WorkItem::create):
10327        (WorkItem::WorkItem):
10328        (TimerWorkItem::create):
10329        (TimerWorkItem::TimerWorkItem):
10330        * Platform/efl/WorkQueueEfl.cpp:
10331        (WorkQueue::dispatch):
10332        (WorkQueue::dispatchAfter):
10333
103342014-01-18  Anders Carlsson  <andersca@apple.com>
10335
10336        Replace a couple of uses of WTF::Function with std::function
10337        https://bugs.webkit.org/show_bug.cgi?id=127218
10338
10339        Reviewed by Andreas Kling.
10340
10341        * Platform/IPC/mac/ConnectionMac.cpp:
10342        (IPC::createDataAvailableSource):
10343        * Platform/WorkQueue.h:
10344        * Platform/mac/WorkQueueMac.cpp:
10345        (WorkQueue::dispatch):
10346        (WorkQueue::dispatchAfter):
10347        * Shared/ChildProcess.cpp:
10348        (WebKit::didCloseOnConnectionWorkQueue):
10349        * UIProcess/Storage/LocalStorageDatabase.cpp:
10350        (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
10351        * WebProcess/WebPage/DrawingArea.cpp:
10352        (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
10353        * WebProcess/WebPage/DrawingArea.h:
10354        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
10355        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
10356        (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
10357
103582014-01-18  Martin Hock  <mhock@apple.com>
10359
10360        Flesh out session APIs (still not enabled at API level).
10361        https://bugs.webkit.org/show_bug.cgi?id=126918
10362
10363        Reviewed by Alexey Proskuryakov.
10364
10365        * CMakeLists.txt:
10366        * GNUmakefile.list.am:
10367        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
10368        (WebKit::storageSession):
10369        (WebKit::NetworkConnectionToWebProcess::startDownload):
10370        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
10371        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
10372        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
10373        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
10374        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
10375        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
10376        * NetworkProcess/NetworkConnectionToWebProcess.h:
10377        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
10378        * NetworkProcess/NetworkProcess.cpp:
10379        (WebKit::NetworkProcess::initializeNetworkProcess):
10380        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
10381        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
10382        * NetworkProcess/NetworkProcess.h:
10383        * NetworkProcess/NetworkProcess.messages.in:
10384        * NetworkProcess/RemoteNetworkingContext.h:
10385        * NetworkProcess/mac/RemoteNetworkingContext.mm:
10386        (WebKit::RemoteNetworkingContext::storageSession):
10387        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
10388        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
10389        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
10390        * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
10391        (WebKit::sessionMap):
10392        (WebKit::identifierBase):
10393        (WebKit::SessionTracker::getSessionMap):
10394        (WebKit::SessionTracker::getIdentifierBase):
10395        (WebKit::SessionTracker::session):
10396        (WebKit::SessionTracker::destroySession):
10397        (WebKit::SessionTracker::setIdentifierBase):
10398        * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
10399        (WebKit::SessionTracker::isEphemeralID):
10400        * Shared/mac/CookieStorageShim.cpp:
10401        (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
10402        * UIProcess/APISession.cpp:
10403        (API::generateID):
10404        (API::Session::defaultSession):
10405        (API::Session::legacyPrivateSession):
10406        (API::Session::Session):
10407        (API::Session::create):
10408        (API::Session::isEphemeral):
10409        (API::Session::getID):
10410        * UIProcess/APISession.h:
10411        * UIProcess/WebContext.cpp:
10412        (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
10413        (WebKit::WebContext::createNewWebProcess):
10414        (WebKit::WebContext::createWebPage):
10415        * UIProcess/WebContext.h:
10416        * UIProcess/WebPageProxy.cpp:
10417        (WebKit::WebPageProxy::create):
10418        (WebKit::WebPageProxy::WebPageProxy):
10419        * UIProcess/WebPageProxy.h:
10420        (WebKit::WebPageProxy::sessionID):
10421        * UIProcess/WebProcessProxy.cpp:
10422        (WebKit::WebProcessProxy::createWebPage):
10423        * UIProcess/WebProcessProxy.h:
10424        * WebKit2.xcodeproj/project.pbxproj:
10425        * WebProcess/InjectedBundle/InjectedBundle.cpp:
10426        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
10427        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10428        (WebKit::legacySessionID):
10429        (WebKit::WebPlatformStrategies::cookiesForDOM):
10430        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
10431        (WebKit::WebPlatformStrategies::cookiesEnabled):
10432        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
10433        (WebKit::WebPlatformStrategies::getRawCookies):
10434        (WebKit::WebPlatformStrategies::deleteCookie):
10435        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
10436        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
10437        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
10438        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
10439        (WebKit::WebFrameNetworkingContext::storageSession):
10440        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
10441        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
10442        (WebKit::WebFrameNetworkingContext::storageSession):
10443        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
10444        * WebProcess/WebProcess.cpp:
10445        (WebKit::WebProcess::initializeWebProcess):
10446        (WebKit::WebProcess::ensurePrivateBrowsingSession):
10447        (WebKit::WebProcess::destroyPrivateBrowsingSession):
10448        * WebProcess/WebProcess.h:
10449        * WebProcess/WebProcess.messages.in:
10450
104512014-01-18  Brian Burg  <bburg@apple.com>
10452
10453        Web Inspector: Page should use std::unique_ptr for InspectorController
10454        https://bugs.webkit.org/show_bug.cgi?id=127068
10455
10456        Reviewed by Joseph Pecoraro.
10457
10458        Convert call sites to use a InspectorController reference.
10459
10460        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
10461        (WebKit::WebInspectorClient::drawRect):
10462        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
10463        (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
10464        (WebKit::WebInspectorFrontendClient::closeWindow):
10465        * WebProcess/WebPage/WebInspector.cpp:
10466        (WebKit::WebInspector::createInspectorPage):
10467        (WebKit::WebInspector::show):
10468        (WebKit::WebInspector::close):
10469        (WebKit::WebInspector::evaluateScriptForTest):
10470        (WebKit::WebInspector::showConsole):
10471        (WebKit::WebInspector::showResources):
10472        (WebKit::WebInspector::showMainResourceForFrame):
10473        (WebKit::WebInspector::startJavaScriptDebugging):
10474        (WebKit::WebInspector::stopJavaScriptDebugging):
10475        (WebKit::WebInspector::setJavaScriptProfilingEnabled):
10476        (WebKit::WebInspector::startJavaScriptProfiling):
10477        (WebKit::WebInspector::stopJavaScriptProfiling):
10478        (WebKit::WebInspector::startPageProfiling):
10479        (WebKit::WebInspector::stopPageProfiling):
10480        (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
10481        (WebKit::WebInspector::remoteFrontendConnected):
10482        (WebKit::WebInspector::remoteFrontendDisconnected):
10483
104842014-01-18  Anders Carlsson  <andersca@apple.com>
10485
10486        Remove ENABLE_THREADED_HTML_PARSER defines everywhere
10487        https://bugs.webkit.org/show_bug.cgi?id=127225
10488
10489        Reviewed by Andreas Kling.
10490
10491        This concludes the removal of over 8.8 million lines of threaded parser code.
10492
10493        * Configurations/FeatureDefines.xcconfig:
10494
104952014-01-18  Yongjun Zhang  <yongjun_zhang@apple.com>
10496
10497        Make WKRenderingProgressEvents a shareable API.
10498        https://bugs.webkit.org/show_bug.cgi?id=127213
10499
10500        Reviewed by Dan Bernstein.
10501
10502        Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
10503        could also use this enum when listening to layout milestones.
10504
10505        * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.
10506        (NS_OPTIONS):
10507        * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.
10508        (renderingProgressEvents):
10509        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
10510        * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
10511        * WebKit2.xcodeproj/project.pbxproj:
10512        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add
10513            webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.
10514        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
10515        (didLayout):
10516        (setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.
10517
105182014-01-17  Commit Queue  <commit-queue@webkit.org>
10519
10520        Unreviewed, rolling out r162237 and r162241.
10521        http://trac.webkit.org/changeset/162237
10522        http://trac.webkit.org/changeset/162241
10523        https://bugs.webkit.org/show_bug.cgi?id=127216
10524
10525        Broke lots of API tests (Requested by ap on #webkit).
10526
10527        * CMakeLists.txt:
10528        * GNUmakefile.list.am:
10529        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
10530        (WebKit::storageSession):
10531        (WebKit::NetworkConnectionToWebProcess::startDownload):
10532        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
10533        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
10534        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
10535        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
10536        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
10537        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
10538        * NetworkProcess/NetworkConnectionToWebProcess.h:
10539        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
10540        * NetworkProcess/NetworkProcess.cpp:
10541        (WebKit::NetworkProcess::initializeNetworkProcess):
10542        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
10543        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
10544        * NetworkProcess/NetworkProcess.h:
10545        * NetworkProcess/NetworkProcess.messages.in:
10546        * NetworkProcess/RemoteNetworkingContext.h:
10547        * NetworkProcess/mac/RemoteNetworkingContext.mm:
10548        (WebKit::privateBrowsingStorageSession):
10549        (WebKit::RemoteNetworkingContext::storageSession):
10550        (WebKit::RemoteNetworkingContext::privateBrowsingSession):
10551        (WebKit::privateBrowsingStorageSessionIdentifierBase):
10552        (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
10553        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
10554        (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
10555        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
10556        (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
10557        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
10558        (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
10559        (WebKit::RemoteNetworkingContext::privateBrowsingSession):
10560        * Shared/SessionTracker.cpp: Removed.
10561        * Shared/SessionTracker.h: Removed.
10562        * UIProcess/APISession.cpp:
10563        (API::Session::Session):
10564        (API::Session::create):
10565        (API::Session::isEphemeral):
10566        * UIProcess/APISession.h:
10567        * UIProcess/WebContext.cpp:
10568        (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
10569        (WebKit::WebContext::createNewWebProcess):
10570        (WebKit::WebContext::createWebPage):
10571        * UIProcess/WebContext.h:
10572        * UIProcess/WebPageProxy.cpp:
10573        (WebKit::WebPageProxy::create):
10574        (WebKit::WebPageProxy::WebPageProxy):
10575        * UIProcess/WebPageProxy.h:
10576        * UIProcess/WebProcessProxy.cpp:
10577        (WebKit::WebProcessProxy::createWebPage):
10578        * UIProcess/WebProcessProxy.h:
10579        * WebKit2.xcodeproj/project.pbxproj:
10580        * WebProcess/InjectedBundle/InjectedBundle.cpp:
10581        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
10582        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10583        (WebKit::WebPlatformStrategies::cookiesForDOM):
10584        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
10585        (WebKit::WebPlatformStrategies::cookiesEnabled):
10586        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
10587        (WebKit::WebPlatformStrategies::getRawCookies):
10588        (WebKit::WebPlatformStrategies::deleteCookie):
10589        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
10590        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
10591        (WebKit::privateSession):
10592        (WebKit::identifierBase):
10593        (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
10594        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
10595        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
10596        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
10597        (WebKit::WebFrameNetworkingContext::storageSession):
10598        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
10599        (WebKit::privateSession):
10600        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
10601        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
10602        (WebKit::WebFrameNetworkingContext::storageSession):
10603        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
10604        * WebProcess/WebProcess.cpp:
10605        (WebKit::WebProcess::initializeWebProcess):
10606        (WebKit::WebProcess::ensurePrivateBrowsingSession):
10607        (WebKit::WebProcess::destroyPrivateBrowsingSession):
10608        * WebProcess/WebProcess.h:
10609        * WebProcess/WebProcess.messages.in:
10610
106112014-01-17  Ryuan Choi  <ryuan.choi@samsung.com>
10612
10613        Unreviewed build fix on EFL port after r162237
10614
10615        The EFL port disabled NETWORK_PROCESS yet and use -Werror=unused-function.
10616
10617        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10618        Guarded legacySessionID with ENABLE(NETWORK_PROCESS)
10619
106202014-01-17  Martin Hock  <mhock@apple.com>
10621
10622        Flesh out session APIs (still not enabled at API level).
10623        https://bugs.webkit.org/show_bug.cgi?id=126918
10624
10625        Reviewed by Alexey Proskuryakov.
10626
10627        * CMakeLists.txt:
10628        * GNUmakefile.list.am:
10629        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
10630        (WebKit::storageSession):
10631        (WebKit::NetworkConnectionToWebProcess::startDownload):
10632        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
10633        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
10634        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
10635        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
10636        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
10637        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
10638        * NetworkProcess/NetworkConnectionToWebProcess.h:
10639        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
10640        * NetworkProcess/NetworkProcess.cpp:
10641        (WebKit::NetworkProcess::initializeNetworkProcess):
10642        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
10643        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
10644        * NetworkProcess/NetworkProcess.h:
10645        * NetworkProcess/NetworkProcess.messages.in:
10646        * NetworkProcess/RemoteNetworkingContext.h:
10647        * NetworkProcess/mac/RemoteNetworkingContext.mm:
10648        (WebKit::RemoteNetworkingContext::storageSession):
10649        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
10650        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
10651        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
10652        * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
10653        (WebKit::sessionMap):
10654        (WebKit::identifierBase):
10655        (WebKit::SessionTracker::getSessionMap):
10656        (WebKit::SessionTracker::getIdentifierBase):
10657        (WebKit::SessionTracker::session):
10658        (WebKit::SessionTracker::destroySession):
10659        (WebKit::SessionTracker::setIdentifierBase):
10660        * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
10661        (WebKit::SessionTracker::isEphemeralID):
10662        * UIProcess/APISession.cpp:
10663        (API::generateID):
10664        (API::Session::defaultSession):
10665        (API::Session::legacyPrivateSession):
10666        (API::Session::Session):
10667        (API::Session::create):
10668        (API::Session::isEphemeral):
10669        (API::Session::getID):
10670        * UIProcess/APISession.h:
10671        * UIProcess/WebContext.cpp:
10672        (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
10673        (WebKit::WebContext::createNewWebProcess):
10674        (WebKit::WebContext::createWebPage):
10675        * UIProcess/WebContext.h:
10676        * UIProcess/WebPageProxy.cpp:
10677        (WebKit::WebPageProxy::create):
10678        (WebKit::WebPageProxy::WebPageProxy):
10679        * UIProcess/WebPageProxy.h:
10680        (WebKit::WebPageProxy::sessionID):
10681        * UIProcess/WebProcessProxy.cpp:
10682        (WebKit::WebProcessProxy::createWebPage):
10683        * UIProcess/WebProcessProxy.h:
10684        * WebKit2.xcodeproj/project.pbxproj:
10685        * WebProcess/InjectedBundle/InjectedBundle.cpp:
10686        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
10687        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10688        (WebKit::legacySessionID):
10689        (WebKit::WebPlatformStrategies::cookiesForDOM):
10690        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
10691        (WebKit::WebPlatformStrategies::cookiesEnabled):
10692        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
10693        (WebKit::WebPlatformStrategies::getRawCookies):
10694        (WebKit::WebPlatformStrategies::deleteCookie):
10695        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
10696        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
10697        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
10698        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
10699        (WebKit::WebFrameNetworkingContext::storageSession):
10700        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
10701        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
10702        (WebKit::WebFrameNetworkingContext::storageSession):
10703        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
10704        * WebProcess/WebProcess.cpp:
10705        (WebKit::WebProcess::initializeWebProcess):
10706        (WebKit::WebProcess::ensurePrivateBrowsingSession):
10707        (WebKit::WebProcess::destroyPrivateBrowsingSession):
10708        * WebProcess/WebProcess.h:
10709        * WebProcess/WebProcess.messages.in:
10710
107112014-01-17  Andreas Kling  <akling@apple.com>
10712
10713        Remove unused TOUCH_ADJUSTMENT code.
10714        <https://webkit.org/b/127181>
10715
10716        Reviewed by Anders Carlsson.
10717
10718        * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
10719        (WebKit::WebPage::findZoomableAreaForPoint):
10720
107212014-01-17  Anders Carlsson  <andersca@apple.com>
10722
10723        Fix build.
10724
10725        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
10726        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
10727
107282014-01-17  Anders Carlsson  <andersca@apple.com>
10729
10730        Remove FrameLoaderClient::didPerformFirstNavigation()
10731        https://bugs.webkit.org/show_bug.cgi?id=127191
10732
10733        Reviewed by Dan Bernstein.
10734
10735        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
10736        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
10737
107382014-01-17  Manuel Rego Casasnovas  <rego@igalia.com>
10739
10740        [GTK] Add CSS Grid Layout as experimental feature
10741        https://bugs.webkit.org/show_bug.cgi?id=127089
10742
10743        Reviewed by Martin Robinson.
10744
10745        Allow CSS Grid Layout to be enabled through the environment variable WEBKITGTK_EXPERIMENTAL_FEATURES.
10746
10747        Example: WEBKITGTK_EXPERIMENTAL_FEATURES="CSS_GRID_LAYOUT=1"
10748
10749        * UIProcess/API/gtk/WebKitSettings.cpp:
10750        (webKitSettingsConstructed): Use new experimental feature to enable or disable CSS Grid Layout.
10751        * UIProcess/gtk/ExperimentalFeatures.cpp: Add new experimental feature.
10752        * UIProcess/gtk/ExperimentalFeatures.h: Ditto.
10753
107542014-01-17  Enrica Casucci  <enrica@apple.com>
10755
10756        Support WebSelections in WK2 on iOS.
10757        https://bugs.webkit.org/show_bug.cgi?id=127015
10758        <rdar://problem/15843090>
10759
10760        Reviewed by Dan Bernstein.
10761
10762        Removing unused variable in selectWithGesture that
10763        causes Release build to fail after r162103.
10764
10765        * WebProcess/WebPage/ios/WebPageIOS.mm:
10766        (WebKit::WebPage::selectWithGesture):
10767
107682014-01-17  Yongjun Zhang  <yongjun_zhang@apple.com>
10769
10770        https://bugs.webkit.org/show_bug.cgi?id=127138
10771        Add more delegate callback methods to WKWebProcessPlugInLoadDelegate.
10772
10773        Reviewed by Sam Weinig.
10774
10775        Add more WKWebProcessPlugInLoadDelegate callback methods so that a injected
10776        bundle can listen/react to more frame loading events.
10777
10778        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add more delegate callback methods for
10779            WKWebProcessPlugInLoadDelegate.
10780        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
10781        (didCommitLoadForFrame):
10782        (didFinishDocumentLoadForFrame):
10783        (didFailLoadWithErrorForFrame):
10784        (didSameDocumentNavigationForFrame): 
10785        (didLayoutForFrame):
10786        (setUpPageLoaderClient):
10787
107882014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
10789
10790        [SOUP] Add stubs for CustomProtocol classes
10791        https://bugs.webkit.org/show_bug.cgi?id=126343
10792
10793        Reviewed by Gustavo Noronha Silva.
10794
10795        * CMakeLists.txt:
10796        * GNUmakefile.am:
10797        * GNUmakefile.list.am:
10798        * PlatformGTK.cmake:
10799        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Added.
10800        (WebKit::generateCustomProtocolID):
10801        (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
10802        (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
10803        (WebKit::WebSoupRequestAsyncData::requestFailed):
10804        (WebKit::WebSoupRequestAsyncData::releaseTask):
10805        (WebKit::CustomProtocolManager::supplementName):
10806        (WebKit::CustomProtocolManager::CustomProtocolManager):
10807        (WebKit::CustomProtocolManager::initializeConnection):
10808        (WebKit::CustomProtocolManager::initialize):
10809        * Shared/Network/NetworkProcessCreationParameters.cpp:
10810        (WebKit::NetworkProcessCreationParameters::encode): Move
10811        urlSchemesRegisteredForCustomProtocols encoding out of platform
10812        ifdefs, since it's already guarded by ENABLE(CUSTOM_PROTOCOLS).
10813        (WebKit::NetworkProcessCreationParameters::decode): Ditto.
10814        * Shared/Network/NetworkProcessCreationParameters.h: Ditto.
10815        * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: Added.
10816        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
10817        (WebKit::CustomProtocolManagerProxy::startLoading):
10818        (WebKit::CustomProtocolManagerProxy::stopLoading):
10819
108202014-01-16  Tim Horton  <timothy_horton@apple.com>
10821
10822        On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
10823        https://bugs.webkit.org/show_bug.cgi?id=126531
10824        <rdar://problem/15745862>
10825
10826        Reviewed by Anders Carlsson.
10827
10828        * UIProcess/API/ios/WKContentView.mm:
10829        (-[WKContentView _updateViewExposedRect]):
10830        (-[WKContentView setViewportSize:]):
10831        (-[WKContentView didFinishScrollTo:]):
10832        (-[WKContentView didScrollTo:]):
10833        (-[WKContentView didZoomToScale:]):
10834        Because zooming is performed by the UIScrollView, we need to transform
10835        the exposedRect's offset in order to get it in FrameView-relative coordinates.
10836
10837        * UIProcess/ios/WebPageProxyIOS.mm:
10838        (WebKit::WebPageProxy::didFinishZooming):
10839        Save the pageScaleFactor when it changes.
10840
108412014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
10842
10843        [GTK] Remove the weak pointer added to the web view in WebKitPrintOperation
10844        https://bugs.webkit.org/show_bug.cgi?id=127098
10845
10846        Reviewed by Martin Robinson.
10847
10848        If the print operation finishes and the web view is still alive,
10849        the weak pointer added to the view should be removed.
10850
10851        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
10852        (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
10853
108542014-01-15  Sam Weinig  <sam@webkit.org>
10855
10856        TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
10857        https://bugs.webkit.org/show_bug.cgi?id=126856
10858
10859        Reviewed by Ryosuke Niwa.
10860
10861        Change all the TextBreakIterator creation functions to take StringViews. Remove a few
10862        now unnecessary up-conversions to UTF-16 in the process.
10863
10864        * UIProcess/efl/TextCheckerEfl.cpp:
10865        (WebKit::nextWordOffset):
10866        (WebKit::TextChecker::checkTextOfParagraph):
10867
108682014-01-16  Eunmi Lee  <eunmi15.lee@samsung.com>
10869
10870        [EFL][WK2] EwkView can not be shown without re-sizing once it is hidden.
10871        https://bugs.webkit.org/show_bug.cgi?id=127084
10872
10873        Reviewed by Gyuyoung Kim.
10874
10875        Visibility of EwkView can not be controlled by evas_object_show/hide
10876        because EwkView can be shown only if re-sizing is requested, so modify
10877        codes to show EwkView directly if we do not wait for re-sizing.
10878        Additionally, we have to set default value of m_pendingSurfaceResize
10879        to true for accelerated mode to prevent to show black empty view for
10880        the first request to show.
10881
10882        * UIProcess/API/efl/EwkView.cpp:
10883        (EwkView::EwkView):
10884        (EwkView::handleEvasObjectShow):
10885
108862014-01-16  Andy Estes  <aestes@apple.com>
10887
10888        Build Fix: Use standard architectures when building for iOS
10889
10890        Even though we don't use the plug-in services on iOS, we still need
10891        them to build (we won't install them). Be sure we specify valid iOS
10892        architectures when doing so.
10893
10894        * Configurations/PluginService.32.xcconfig:
10895        * Configurations/PluginService.64.xcconfig:
10896
108972014-01-16  Enrica Casucci  <enrica@apple.com>
10898
10899        Crash when destroying WKInteractionView.
10900        https://bugs.webkit.org/show_bug.cgi?id=127153
10901        <rdar://problem/15840761>
10902
10903        Reviewed by Anders Carlsson.
10904
10905        UIWKSelectionAssistant is a RetainPtr and it is being 
10906        deallocated after the view and its gesture recognizers
10907        have been destroyed.
10908        The parent class UIWebSelectionAssistant assumes to be
10909        deallocated before the view is gone.
10910        We deallocate the interaction assistants explicitly to
10911        fix the problem.
10912
10913        * UIProcess/API/ios/WKInteractionView.mm:
10914        (-[WKInteractionView dealloc]):
10915
109162014-01-16  Brady Eidson  <beidson@apple.com>
10917
10918        IDB: delete object store support
10919        <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123
10920
10921        Reviewed by Alexey Proskuryakov.
10922
10923        Pipe through Web -> Database -> Web process messaging for delete object store.
10924        Perform dropping the object store in the backing store.
10925
10926        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
10927        (WebKit::DatabaseProcessIDBConnection::deleteObjectStore):
10928        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
10929        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
10930
10931        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
10932        (WebKit::UniqueIDBDatabase::didDeleteObjectStore):
10933        (WebKit::UniqueIDBDatabase::deleteObjectStore):
10934        (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
10935        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
10936
10937        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
10938        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
10939        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
10940        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
10941        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
10942
10943        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
10944        (WebKit::WebIDBServerConnection::deleteObjectStore):
10945        (WebKit::WebIDBServerConnection::didDeleteObjectStore):
10946        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
10947        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
10948
109492014-01-16  Alexey Proskuryakov  <ap@apple.com>
10950
10951        [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain
10952        https://bugs.webkit.org/show_bug.cgi?id=127139
10953
10954        Reviewed by Brady Eidson.
10955
10956        * Shared/HTTPCookieAcceptPolicy.h:
10957        * UIProcess/API/C/WKAPICast.h:
10958        (WebKit::toHTTPCookieAcceptPolicy):
10959        (WebKit::toAPI):
10960        * UIProcess/API/C/WKCookieManager.h:
10961        Added the policy to appropriate switches and enums.
10962
109632014-01-16  Jeffrey Pfau  <jpfau@apple.com>
10964
10965        Fix build after r162161. One FINAL was still present.
10966
10967        * Shared/cf/KeyedDecoder.h:
10968
109692014-01-16  Anders Carlsson  <andersca@apple.com>
10970
10971        Change all uses of FINAL to final now that all our compilers support it
10972        https://bugs.webkit.org/show_bug.cgi?id=127142
10973
10974        Reviewed by Benjamin Poulain.
10975
10976        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
10977        * NetworkProcess/RemoteNetworkingContext.h:
10978        * Shared/API/Cocoa/RemoteObjectRegistry.h:
10979        * Shared/APIArray.h:
10980        * Shared/APIString.h:
10981        * Shared/AsyncRequest.h:
10982        * Shared/AsyncTask.h:
10983        * Shared/cf/KeyedEncoder.h:
10984        * UIProcess/API/gtk/PageClientImpl.h:
10985        * UIProcess/API/mac/PageClientImpl.h:
10986        * UIProcess/efl/WebViewEfl.h:
10987        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
10988        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
10989        * WebProcess/Plugins/PDF/PDFPlugin.h:
10990        * WebProcess/Storage/StorageAreaImpl.h:
10991        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
10992        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
10993        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
10994
109952014-01-16  Brady Eidson  <beidson@apple.com>
10996
10997        Fix the build after r162148
10998
10999        * Shared/cf/KeyedEncoder.h: s/OVERRIDE/override/
11000
110012014-01-15  Brady Eidson  <beidson@apple.com>
11002
11003        Use KeyedCoding as a persistent storage mechanism for blobs
11004        https://bugs.webkit.org/show_bug.cgi?id=127012
11005
11006        Reviewed by Anders Carlsson.
11007
11008        Add a way to get the encoded buffer to save:
11009        * Shared/cf/KeyedEncoder.cpp:
11010        (WebKit::KeyedEncoder::finishEncoding):
11011        * Shared/cf/KeyedEncoder.h:
11012
11013        Add a WebKit KeyedDecoder for CF platforms that can decode the previously encoded buffer:
11014        * Shared/cf/KeyedDecoder.cpp: Added.
11015        (WebKit::KeyedDecoder::KeyedDecoder):
11016        (WebKit::KeyedDecoder::~KeyedDecoder):
11017        (WebKit::KeyedDecoder::decodeInt64):
11018        (WebKit::KeyedDecoder::decodeUInt32):
11019        (WebKit::KeyedDecoder::decodeString):
11020        (WebKit::KeyedDecoder::beginObject):
11021        (WebKit::KeyedDecoder::endObject):
11022        (WebKit::KeyedDecoder::beginArray):
11023        (WebKit::KeyedDecoder::beginArrayElement):
11024        (WebKit::KeyedDecoder::endArrayElement):
11025        (WebKit::KeyedDecoder::endArray):
11026        * Shared/cf/KeyedDecoder.h:
11027
11028        Create a WebKit KeyedEncoder/Decoder and use to encode/decode IDBKeyPaths:
11029        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
11030        (WebKit::serializeIDBKeyPath):
11031        (WebKit::deserializeIDBKeyPath):
11032        * DatabaseProcess/IndexedDB/IDBSerialization.h:
11033
11034        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
11035        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
11036
11037        * WebKit2.xcodeproj/project.pbxproj:
11038
110392014-01-16  Andy Estes  <aestes@apple.com>
11040
11041        Stop copying WKOriginDataManager.cpp into WebKit2.framework
11042        https://bugs.webkit.org/show_bug.cgi?id=127100
11043
11044        Reviewed by Sam Weinig.
11045
11046        The file was mistakenly added to the 'All' target. Remove it.
11047
11048        * WebKit2.xcodeproj/project.pbxproj:
11049
110502014-01-16  Andy Estes  <aestes@apple.com>
11051
11052        [iOS] Install WebKit2 XPC services correctly
11053        https://bugs.webkit.org/show_bug.cgi?id=127097
11054
11055        Reviewed by Anders Carlsson.
11056
11057        * Configurations/PluginService.32.xcconfig: Set SKIP_INSTALL to YES on iOS.
11058        * Configurations/PluginService.64.xcconfig: Ditto.
11059        * Configurations/PluginService.Development.xcconfig: Ditto.
11060        * WebKit2.xcodeproj/project.pbxproj: Modified the "Add XPCServices symlink"
11061        build phase to only execute on OS X. Modified the
11062        "Copy XPC services for engineering builds" build phase to copy files
11063        directly to WebKit2.framework/XPCServices/ on iOS, and modified its
11064        output file paths to omit "Versions/A/" (since OS X will have a
11065        XPCServices symlink at the root of the framework bundle).
11066
110672014-01-16  Roger Fong  <roger_fong@apple.com>
11068
11069        Build fix for mac following r162141.
11070
11071        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Switch OVERRIDE to override.
11072
110732014-01-16  Roger Fong  <roger_fong@apple.com>
11074
11075        Add support for handling WebGL load policies.
11076        https://bugs.webkit.org/show_bug.cgi?id=126935
11077        <rdar://problem/15790448>.
11078
11079        Reviewed by Timothy Horton.
11080
11081        Boiler plate code for getting the load policy logic from WebProcess to the UIProcess.
11082
11083        * UIProcess/API/C/WKAPICast.h:
11084        (WebKit::toWebGLLoadPolicy):
11085        * UIProcess/API/C/WKPageLoaderClient.h: Define a new WKPageLoaderClientV4 struct.
11086        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
11087        (setUpPageLoaderClient):
11088        * UIProcess/WebLoaderClient.cpp:
11089        (WebKit::WebLoaderClient::webGLLoadPolicy):
11090        * UIProcess/WebLoaderClient.h:
11091        * UIProcess/WebPageProxy.cpp:
11092        (WebKit::WebPageProxy::webGLPolicyForURL):
11093        * UIProcess/WebPageProxy.h:
11094        * UIProcess/WebPageProxy.messages.in:
11095        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11096        (WebKit::WebFrameLoaderClient::webGLPolicyForURL): 
11097        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
11098        * WebProcess/WebPage/WebPage.cpp:
11099        (WebKit::WebPage::webGLPolicyForURL): We use a sendSync to get the load policy value from the UIProcess.
11100        * WebProcess/WebPage/WebPage.h:
11101
111022014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
11103
11104        Remove workaround for compilers not supporting explicit override control
11105        https://bugs.webkit.org/show_bug.cgi?id=127111
11106
11107        Reviewed by Anders Carlsson.
11108
11109        Now all compilers support explicit override control, this workaround can be removed.
11110
11111        * DatabaseProcess/DatabaseProcess.h:
11112        * DatabaseProcess/DatabaseToWebProcessConnection.h:
11113        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
11114        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
11115        * NetworkProcess/AsynchronousNetworkLoaderClient.h:
11116        * NetworkProcess/NetworkProcess.h:
11117        * NetworkProcess/NetworkProcessPlatformStrategies.h:
11118        * NetworkProcess/NetworkResourceLoader.h:
11119        * NetworkProcess/RemoteNetworkingContext.h:
11120        * NetworkProcess/SynchronousNetworkLoaderClient.h:
11121        * NetworkProcess/mac/DiskCacheMonitor.h:
11122        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
11123        * PluginProcess/PluginControllerProxy.h:
11124        * PluginProcess/PluginProcess.h:
11125        * PluginProcess/WebProcessConnection.h:
11126        * Shared/API/Cocoa/RemoteObjectRegistry.h:
11127        * Shared/APIObject.h:
11128        * Shared/AsyncRequest.h:
11129        * Shared/AsyncTask.h:
11130        * Shared/Authentication/AuthenticationManager.h:
11131        * Shared/ChildProcess.h:
11132        * Shared/ChildProcessProxy.h:
11133        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
11134        * Shared/Downloads/Download.h:
11135        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
11136        * Shared/WebConnection.h:
11137        * Shared/WebResourceBuffer.h:
11138        * Shared/cf/KeyedEncoder.h:
11139        * Shared/mac/SecItemShim.h:
11140        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
11141        * UIProcess/API/gtk/PageClientImpl.h:
11142        * UIProcess/API/ios/PageClientImplIOS.h:
11143        * UIProcess/API/mac/PageClientImpl.h:
11144        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
11145        * UIProcess/CoordinatedGraphics/WebView.h:
11146        * UIProcess/Databases/DatabaseProcessProxy.h:
11147        * UIProcess/Downloads/DownloadProxy.h:
11148        * UIProcess/DrawingAreaProxy.h:
11149        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
11150        * UIProcess/Network/NetworkProcessProxy.h:
11151        * UIProcess/Notifications/WebNotificationManagerProxy.h:
11152        * UIProcess/Plugins/PluginProcessProxy.h:
11153        * UIProcess/Scrolling/RemoteScrollingTree.h:
11154        * UIProcess/Storage/StorageManager.h:
11155        * UIProcess/WebApplicationCacheManagerProxy.h:
11156        * UIProcess/WebBatteryManagerProxy.h:
11157        * UIProcess/WebConnectionToWebProcess.h:
11158        * UIProcess/WebContext.h:
11159        * UIProcess/WebCookieManagerProxy.h:
11160        * UIProcess/WebDatabaseManagerProxy.h:
11161        * UIProcess/WebFullScreenManagerProxy.h:
11162        * UIProcess/WebGeolocationManagerProxy.h:
11163        * UIProcess/WebIconDatabase.h:
11164        * UIProcess/WebInspectorProxy.h:
11165        * UIProcess/WebKeyValueStorageManager.h:
11166        * UIProcess/WebMediaCacheManagerProxy.h:
11167        * UIProcess/WebNetworkInfoManagerProxy.h:
11168        * UIProcess/WebOriginDataManagerProxy.h:
11169        * UIProcess/WebPageProxy.h:
11170        * UIProcess/WebProcessProxy.h:
11171        * UIProcess/WebResourceCacheManagerProxy.h:
11172        * UIProcess/WebVibrationProxy.h:
11173        * UIProcess/efl/PageViewportControllerClientEfl.h:
11174        * UIProcess/efl/WebViewEfl.h:
11175        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
11176        * UIProcess/mac/SecItemShimProxy.h:
11177        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
11178        * UIProcess/mac/ViewGestureController.h:
11179        * UIProcess/mac/WebColorPickerMac.h:
11180        * UIProcess/soup/WebSoupRequestManagerProxy.h:
11181        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
11182        * WebProcess/Battery/WebBatteryManager.h:
11183        * WebProcess/Cookies/WebCookieManager.h:
11184        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
11185        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
11186        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
11187        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
11188        * WebProcess/FileAPI/BlobRegistryProxy.h:
11189        * WebProcess/Geolocation/WebGeolocationManager.h:
11190        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
11191        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
11192        * WebProcess/MediaCache/WebMediaCacheManager.h:
11193        * WebProcess/Network/NetworkProcessConnection.h:
11194        * WebProcess/Network/WebResourceLoadScheduler.h:
11195        * WebProcess/Network/WebResourceLoader.h:
11196        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
11197        * WebProcess/Notifications/WebNotificationManager.h:
11198        * WebProcess/OriginData/WebOriginDataManager.h:
11199        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
11200        * WebProcess/Plugins/PDF/PDFPlugin.h:
11201        * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
11202        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
11203        * WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
11204        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
11205        * WebProcess/Plugins/PluginProcessConnection.h:
11206        * WebProcess/Plugins/PluginProcessConnectionManager.h:
11207        * WebProcess/Plugins/PluginProxy.h:
11208        * WebProcess/Plugins/PluginView.h:
11209        * WebProcess/ResourceCache/WebResourceCacheManager.h:
11210        * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
11211        * WebProcess/Storage/StorageAreaImpl.h:
11212        * WebProcess/Storage/StorageAreaMap.h:
11213        * WebProcess/Storage/StorageNamespaceImpl.h:
11214        * WebProcess/WebConnectionToUIProcess.h:
11215        * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
11216        * WebProcess/WebCoreSupport/WebBatteryClient.h:
11217        * WebProcess/WebCoreSupport/WebChromeClient.h:
11218        * WebProcess/WebCoreSupport/WebColorChooser.h:
11219        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
11220        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
11221        * WebProcess/WebCoreSupport/WebDeviceProximityClient.h:
11222        * WebProcess/WebCoreSupport/WebDragClient.h:
11223        * WebProcess/WebCoreSupport/WebEditorClient.h:
11224        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
11225        * WebProcess/WebCoreSupport/WebGeolocationClient.h:
11226        * WebProcess/WebCoreSupport/WebInspectorClient.h:
11227        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
11228        * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
11229        * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
11230        * WebProcess/WebCoreSupport/WebNotificationClient.h:
11231        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
11232        * WebProcess/WebCoreSupport/WebPopupMenu.h:
11233        * WebProcess/WebCoreSupport/WebProgressTrackerClient.h:
11234        * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
11235        * WebProcess/WebCoreSupport/WebVibrationClient.h:
11236        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
11237        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
11238        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
11239        * WebProcess/WebPage/DrawingAreaImpl.h:
11240        * WebProcess/WebPage/EventDispatcher.h:
11241        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
11242        * WebProcess/WebPage/WebBackForwardListProxy.h:
11243        * WebProcess/WebPage/WebPage.h:
11244        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
11245        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
11246        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
11247        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
11248        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
11249        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
11250        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
11251        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11252        * WebProcess/WebProcess.h:
11253        * WebProcess/soup/WebSoupRequestManager.h:
11254
112552014-01-16  Ian Henderson  <ianh@apple.com>
11256
11257        Expose scrollView on WKView
11258        https://bugs.webkit.org/show_bug.cgi?id=127085
11259
11260        Reviewed by Antti Koivisto.
11261
11262        Expose WKView's scroll view as a property.  In order to support
11263        clients calling setDelegate:, we create a forwarder object that sends
11264        delegate methods to both WKView (the "internal delegate") and the
11265        publicly-exposed delegate (the "external delegate").
11266
11267        * UIProcess/API/Cocoa/WKView.h:
11268        * UIProcess/API/ios/WKScrollView.h:
11269        * UIProcess/API/ios/WKScrollView.mm:
11270        (-[WKScrollViewDelegateForwarder initWithInternalDelegate:externalDelegate:]):
11271        (-[WKScrollViewDelegateForwarder methodSignatureForSelector:]):
11272        (-[WKScrollViewDelegateForwarder respondsToSelector:]):
11273        (-[WKScrollViewDelegateForwarder forwardInvocation:]):
11274        (-[WKScrollView setInternalDelegate:]):
11275        (-[WKScrollView setDelegate:]):
11276        (-[WKScrollView delegate]):
11277        Pretend like _externalDelegate is the real delegate to avoid exposing
11278        our internal delegate or forwarder object.
11279        (-[WKScrollView _updateDelegate]):
11280        (-[WKScrollView dealloc]):
11281        * UIProcess/API/ios/WKViewIOS.mm:
11282        (-[WKView scrollView]):
11283        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
11284
112852014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
11286
11287        [GTK][EFL][NIX] Do not use PrintContext, Frame and DocumentLoader in Errors
11288        https://bugs.webkit.org/show_bug.cgi?id=127047
11289
11290        Reviewed by Martin Robinson.
11291
11292        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
11293        (WebKit::WebPrintOperationGtk::frameURL): Helper function to get
11294        the URL of the frame being printed.
11295        (WebKit::WebPrintOperationGtk::print): Use frameURL() as failing
11296        URL for printing errors.
11297        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
11298
112992014-01-15  Benjamin Poulain  <bpoulain@apple.com>
11300
11301        Move user agent code to WebCore and unify some code between OS X and iOS
11302        https://bugs.webkit.org/show_bug.cgi?id=127080
11303
11304        Reviewed by Sam Weinig.
11305
11306        * UIProcess/ios/WebPageProxyIOS.mm:
11307        (WebKit::userVisibleWebKitVersionString):
11308        (WebKit::WebPageProxy::standardUserAgent):
11309        * UIProcess/mac/WebPageProxyMac.mm:
11310        (WebKit::WebPageProxy::standardUserAgent):
11311        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11312        (InitWebCoreSystemInterface):
11313
113142014-01-15  Eunmi Lee  <eunmi15.lee@samsung.com>
11315
11316        [EFL][WK2] Use timestamp when event occurs for touch events.
11317        https://bugs.webkit.org/show_bug.cgi?id=126424
11318
11319        Reviewed by Gyuyoung Kim.
11320
11321        Current time is used for touch event's timestamp instead of timestamp
11322        when event occurs. Timestamp of touch event is used to implement flick
11323        gesture, so it should be real value for accurate gesture processing.
11324
11325        * UIProcess/API/efl/EwkView.cpp:
11326        Function names for handling touch events are changed to distinguish
11327        mouse events and multi events.
11328        (EwkView::setTouchEventsEnabled):
11329        (EwkView::feedTouchEvents):
11330        (EwkView::handleMouseDownForTouch):
11331        (EwkView::handleMouseUpForTouch):
11332        (EwkView::handleMouseMoveForTouch):
11333        (EwkView::handleMultiDownForTouch):
11334        (EwkView::handleMultiUpForTouch):
11335        (EwkView::handleMultiMoveForTouch):
11336        * UIProcess/API/efl/EwkView.h:
11337        * UIProcess/API/efl/GestureRecognizer.cpp:
11338        (WebKit::GestureHandler::handlePan):
11339        (WebKit::GestureRecognizer::processTouchEvent):
11340        (WebKit::GestureRecognizer::noGesture):
11341        (WebKit::GestureRecognizer::singleTapGesture):
11342        (WebKit::GestureRecognizer::doubleTapGesture):
11343        (WebKit::GestureRecognizer::panGesture):
11344        (WebKit::GestureRecognizer::pinchGesture):
11345        * UIProcess/API/efl/GestureRecognizer.h:
11346
113472014-01-15  Gavin Barraclough  <barraclough@apple.com>
11348
11349        Change Page, FocusController to use ViewState
11350        https://bugs.webkit.org/show_bug.cgi?id=126533
11351
11352        Unreviewed rollout, this caused a regression.
11353
11354        * WebProcess/WebPage/WebPage.cpp:
11355        (WebKit::WebPage::WebPage):
11356        (WebKit::WebPage::setActive):
11357        (WebKit::WebPage::setViewIsVisible):
11358        (WebKit::WebPage::setFocused):
11359        (WebKit::WebPage::setIsInWindow):
11360        (WebKit::WebPage::setViewStateInternal):
11361        (WebKit::WebPage::setIsVisuallyIdle):
11362        * WebProcess/WebPage/WebPage.h:
11363
113642014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>
11365
11366        https://bugs.webkit.org/show_bug.cgi?id=127072
11367        Don't autorelease wrapper object (WebProcessPlugInScriptWorld) for InjectedBundleScriptWorld::normalWorld().
11368
11369        Reviewed by Geoffrey Garen.
11370
11371        In [WKWebProcessPlugInScriptWorld normalWorld], InjectedBundleScriptWorld::normalWorld() returns a static
11372        instance,  autoreleasing its wrapper object could cause a dangling pointer and crash later.
11373
11374        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
11375        (+[WKWebProcessPlugInScriptWorld normalWorld]):
11376
113772014-01-15  Andy Estes  <aestes@apple.com>
11378
11379        [iOS] Properly exclude the shim dylibs this time
11380        https://bugs.webkit.org/show_bug.cgi?id=127075
11381
11382        Reviewed by Anders Carlsson.
11383
11384        BaseLegacyProcess.xcconfig was setting EXCLUDED_SOURCE_FILE_NAMES in
11385        conflict with what I added in r161918, and I misspelled the setting
11386        name in two instances. Fix these two bugs.
11387
11388        Also remove a vestigial OTHER_LDFLAGS from WebContentProcess.xcconfig
11389        while we're here.
11390
11391        * Configurations/BaseLegacyProcess.xcconfig:
11392        * Configurations/NetworkProcess.xcconfig:
11393        * Configurations/PluginProcess.xcconfig:
11394        * Configurations/WebContentProcess.xcconfig:
11395
113962014-01-15  Enrica Casucci  <enrica@apple.com>
11397
11398        Support WebSelections in WK2 on iOS.
11399        https://bugs.webkit.org/show_bug.cgi?id=127015
11400
11401        Reviewed by Benjamin Poulain.
11402
11403        This is the first step towards adding support for selections in
11404        non editable content on iOS for WK2.
11405        In particular, this patch adds the basic plumbing to decide which
11406        gesture recognizers are enabled and adds empty stubs for the gestures
11407        that we'll need to support.
11408        There are two separate assistants for selections, one to be used
11409        in editable text (UIWKTextInteractionAssistant) and one for non editable
11410        text (UIWKSelectionAssistant) and they are mutually exclusive.
11411        UIWKSelectionAssistant is created at the time the view is created, 
11412        and swapped with UIWKTextInteraction assistant
11413        only when an editable element is focused and the keyboard appears on screen.
11414
11415        gestureRecognizerShouldBegin is the delegate call used to decide which gestures
11416        should begin based on the position the gesture occurred at.
11417        We want to avoid as much as possible synchronous calls to the WebProcess to
11418        retrieve information about the content and in order to do so, we take advantage
11419        of the order in which the gesture recognizers will trigger, based on the delay
11420        configured at initialization.
11421        The first gesture to trigger is highlightLongPress, followed by longpress in the
11422        active assistant and longpress in the WKInteractionView.
11423        There are two different scenarios for highlighlongpress based on which assistant is
11424        currently active.
11425
11426        UIWKSelectionAssistant is active:
11427            We send a request to the WebProcess to get information on the position
11428            and we return YES, allowing the gesture to start.
11429            We delegate to the WebProcess the proper handling of highlight based on the element.
11430            When longPress gesture fires for the assistant, we assume we have received the reply to our
11431            previous request, if not we fetch the information synchronously.
11432            We are then able to make an informed decision about whether
11433            or not to start the gesture. If the reply is NO, the third and last long press
11434            gesture can be evaluated to decide whether to show the action sheet or simply generate
11435            a click event.
11436
11437        UIWKTextInteractionAssistant is active:
11438            In this case we must have information about the position immediately and we issue
11439            a synchronous request to the WebProcess.
11440            If we are not interacting with the same node, we return NO.
11441            Then the longpress gesture fires for the assistant which performs the same check.
11442            If the node is the same, the loupe gesture will start, otherwise the last longpress
11443            gesture will be evaluated to decide about showing the action sheet or generating a
11444            click event.
11445
11446        * Scripts/webkit2/messages.py:
11447        * Shared/InteractionInformationAtPosition.cpp: Added.
11448        (WebKit::InteractionInformationAtPosition::encode):
11449        (WebKit::InteractionInformationAtPosition::decode):
11450        * Shared/InteractionInformationAtPosition.h: Added.
11451        (WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
11452        * UIProcess/API/ios/PageClientImplIOS.h:
11453        * UIProcess/API/ios/PageClientImplIOS.mm:
11454        (WebKit::PageClientImpl::positionInformationDidChange):
11455        * UIProcess/API/ios/WKContentView.mm:
11456        (-[WKContentView _positionInformationDidChange:]):
11457        * UIProcess/API/ios/WKContentViewInternal.h:
11458        * UIProcess/API/ios/WKInteractionView.h:
11459        * UIProcess/API/ios/WKInteractionView.mm:
11460        (-[WKInteractionView initWithFrame:]):
11461        (-[WKInteractionView dealloc]):
11462        (-[WKInteractionView gestureRecognizer:canPreventGestureRecognizer:]):
11463        (-[WKInteractionView gestureRecognizer:canBePreventedByGestureRecognizer:]):
11464        (isSamePair):
11465        (-[WKInteractionView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
11466        (-[WKInteractionView _showImageSheet]):
11467        (-[WKInteractionView _showLinkSheet]):
11468        (-[WKInteractionView _actionForLongPress]):
11469        (-[WKInteractionView ensurePositionInformationIsUpToDate:]):
11470        (-[WKInteractionView gestureRecognizerShouldBegin:]):
11471        (-[WKInteractionView hasSelectablePositionAtPoint:]):
11472        (-[WKInteractionView pointIsInAssistedNode:]):
11473        (-[WKInteractionView _longPressRecognized:]):
11474        (-[WKInteractionView _doubleTapRecognized:]):
11475        (-[WKInteractionView _twoFingerDoubleTapRecognized:]):
11476        (-[WKInteractionView _twoFingerPanRecognized:]):
11477        (-[WKInteractionView useSelectionAssistantWithMode:]):
11478        (-[WKInteractionView _positionInformationDidChange:]):
11479        (-[WKInteractionView interactionAssistant]):
11480        (-[WKInteractionView _startAssistingKeyboard]):
11481        (-[WKInteractionView _stopAssistingKeyboard]):
11482        * UIProcess/PageClient.h:
11483        * UIProcess/WebPageProxy.h:
11484        * UIProcess/WebPageProxy.messages.in:
11485        * UIProcess/ios/WebPageProxyIOS.mm:
11486        (WebKit::WebPageProxy::didReceivePositionInformation):
11487        (WebKit::WebPageProxy::getPositionInformation):
11488        (WebKit::WebPageProxy::requestPositionInformation):
11489        * WebKit2.xcodeproj/project.pbxproj:
11490        * WebProcess/WebPage/WebPage.h:
11491        * WebProcess/WebPage/WebPage.messages.in:
11492        * WebProcess/WebPage/ios/WebPageIOS.mm:
11493        (WebKit::WebPage::selectWithGesture):
11494        (WebKit::WebPage::getPositionInformation):
11495        (WebKit::WebPage::requestPositionInformation):
11496
114972014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>
11498
11499        https://bugs.webkit.org/show_bug.cgi?id=127066
11500        Add WKBrowsingContextHandle.h to WebKit2 private headers.
11501
11502        Reviewed by Dan Bernstein.
11503
11504        Add WKBrowsingContextHandle.h to WebKit2 private headers so that WebKit2 client
11505        can use WKBrowsingContextHandle class.
11506
11507        * WebKit2.xcodeproj/project.pbxproj:
11508
115092014-01-15  Piotr Grad  <p.grad@samsung.com>
11510
11511        toStringVector static function definition should not be redundant.
11512        https://bugs.webkit.org/show_bug.cgi?id=126872.
11513
11514        Reviewed by Anders Carlsson.
11515
11516        toStringVector function was declared twice in InjectedBundle.cpp and WebPageGroup.cpp as static.
11517        In order to remove redundant definition this function was moved into API::Array.
11518
11519        * Shared/APIArray.cpp:
11520        (API::Array::toStringVector):
11521        * Shared/APIArray.h:
11522        * UIProcess/WebPageGroup.cpp:
11523        (WebKit::WebPageGroup::addUserStyleSheet):
11524        (WebKit::WebPageGroup::addUserScript):
11525        * WebProcess/InjectedBundle/InjectedBundle.cpp:
11526        (WebKit::InjectedBundle::addUserScript):
11527        (WebKit::InjectedBundle::addUserStyleSheet):
11528
115292014-01-10  Gavin Barraclough  <barraclough@apple.com>
11530
11531        REGRESSION (r158369): Some pop-up windows open at incorrect size (affects GMail, theblaze.com)
11532        https://bugs.webkit.org/show_bug.cgi?id=126289
11533
11534        Reviewed by Anders Carlson.
11535
11536        Partial revert of https://bugs.webkit.org/show_bug.cgi?id=123557.
11537        On window.open, update page when the UIProcess sends the create message
11538
11539        * UIProcess/WebPageProxy.cpp:
11540        (WebKit::WebPageProxy::initializeWebPage):
11541        (WebKit::WebPageProxy::creationParameters):
11542        * UIProcess/WebPageProxy.h:
11543            - creation paraments are not preserved at window.open.
11544        * WebProcess/WebPage/WebPage.cpp:
11545        (WebKit::WebPage::reinitializeWebPage):
11546        (WebKit::WebPage::setViewState):
11547        (WebKit::WebPage::setViewStateInternal):
11548        * WebProcess/WebPage/WebPage.h:
11549            - add interface to update page.
11550        * WebProcess/WebProcess.cpp:
11551        (WebKit::WebProcess::createWebPage):
11552            - if we try to create a page that already exists, update the current page's view state.
11553
115542014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
11555
11556        [GTK] Web process sometimes crashes when printing in synchronous mode
11557        https://bugs.webkit.org/show_bug.cgi?id=126979
11558
11559        Reviewed by Gustavo Noronha Silva.
11560
11561        When printing synchronously in GTK+ we need to make sure that we
11562        have a list of Printers before starting the print operation. Getting
11563        the list of printers is done synchronously by GTK+, but using a
11564        nested main loop that might process IPC messages comming from the
11565        UI process like EndPrinting. When the EndPrinting message is
11566        received while the printer list is being populated, the print
11567        operation is finished unexpectely and the web process crashes. The
11568        PrinterListGtk class gets the list of printers in the constructor
11569        so we just need to ensure there's an instance alive during the
11570        synchronous print operation. In case of asynchronous printing the
11571        printer list will be created during the print operation without
11572        any risk, because the EndPrinting message is not sent until the
11573        printing callback has been received in the UI process.
11574
11575        * GNUmakefile.list.am: Add new files to compilation.
11576        * PlatformGTK.cmake: Ditto.
11577        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11578        (WebKit::WebChromeClient::print): Ensure PrinterListGtk is created
11579        before the synchronous printing and destroyed afterwards.
11580        * WebProcess/WebPage/gtk/PrinterListGtk.cpp: Added.
11581        (WebKit::PrinterListGtk::shared): Return the singleton.
11582        (WebKit::PrinterListGtk::enumeratePrintersFunction): Callback
11583        called by gtk_enumerate_printers() when a new printer is found.
11584        (WebKit::PrinterListGtk::PrinterListGtk): Call
11585        gtk_enumerate_printers() in syhchronous mode.
11586        (WebKit::PrinterListGtk::~PrinterListGtk):
11587        (WebKit::PrinterListGtk::addPrinter): Add the printer to the list
11588        and set the default printer if needed.
11589        (WebKit::PrinterListGtk::findPrinter): Find the printer for the
11590        given name.
11591        * WebProcess/WebPage/gtk/PrinterListGtk.h: Added.
11592        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Use
11593        PrinterListGtk class to find the printer instead of calling
11594        gtk_enumerate_printers().
11595
115962014-01-15  Tomas Popela  <tpopela@redhat.com>
11597
11598        [SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
11599        https://bugs.webkit.org/show_bug.cgi?id=126577
11600
11601        Reviewed by Carlos Garcia Campos.
11602
11603        As in http://trac.webkit.org/changeset/152483, but this time for
11604        WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to
11605        disable the MemoryCache completely to prevent caching of the resources.
11606
11607        * WebProcess/soup/WebProcessSoup.cpp:
11608        (WebKit::WebProcess::platformSetCacheModel):
11609
116102014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
11611
11612        [GTK] UI process crashes when closing the window right after printing with javascript
11613        https://bugs.webkit.org/show_bug.cgi?id=126981
11614
11615        Reviewed by Gustavo Noronha Silva.
11616
11617        The UI process crashes because when the page is closed, the web
11618        view is destroyed before the print operation has actually
11619        finished. Use a weak pointer to make sure the web view pointer is
11620        set to NULL when the it's destroyed and emit the finished callback
11621        always so that the user can clean up the operation even when the
11622        web view has been closed.
11623
11624        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
11625        (drawPagesForPrintingCompleted):
11626
116272014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
11628
11629        [GTK] UI process crashes when the web process crashes while printing
11630        https://bugs.webkit.org/show_bug.cgi?id=126977
11631
11632        Reviewed by Gustavo Noronha Silva.
11633
11634        When the web process crashes, the printing callback is
11635        invalidated, so the function is called with a NULL error.
11636
11637        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
11638        (drawPagesForPrintingCompleted): Check wkError is not NULL before
11639        trying to use it.
11640        * UIProcess/API/gtk/WebKitWebView.cpp:
11641        (webkitWebViewPrintFrame): Set the print mode of the operation
11642        before emitting the print signal.
11643
116442014-01-14  Brady Eidson  <beidson@apple.com>
11645
11646        IDB: create object store support
11647        <rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011
11648
11649        Reviewed by Anders Carlsson.
11650
11651        Add messaging/callback infrastructure for creating object stores:
11652        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
11653        (WebKit::DatabaseProcessIDBConnection::createObjectStore):
11654        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
11655        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
11656
11657        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
11658        (WebKit::WebIDBServerConnection::createObjectStore):
11659        (WebKit::WebIDBServerConnection::didCreateObjectStore):
11660        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
11661        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
11662
11663        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
11664        (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
11665        (WebKit::UniqueIDBDatabase::didCreateObjectStore):
11666        (WebKit::UniqueIDBDatabase::didCompleteBoolRequest):
11667        (WebKit::UniqueIDBDatabase::createObjectStore):
11668        (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
11669        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
11670
11671        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
11672
11673        Add serialization helpers to save/restore an IDBKeyPath to/from disk:
11674        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
11675        (WebKit::serializeIDBKeyPath):
11676        (WebKit::deserializeIDBKeyPath):
11677        * DatabaseProcess/IndexedDB/IDBSerialization.h:
11678
11679        Add object store metadata to the schema, and save/restore the metadata:
11680        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
11681        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
11682        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
11683        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
11684        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
11685
11686        * Scripts/webkit2/messages.py:
11687        (struct_or_class):
11688        * WebKit2.xcodeproj/project.pbxproj:
11689
116902014-01-14  Jae Hyun Park  <jae.park@company100.net>
11691
11692        [GTK] Unreviewed build fix after r162034
11693
11694        * GNUmakefile.list.am:
11695
116962014-01-14  Ryuan Choi  <ryuan.choi@samsung.com>
11697
11698        Unreviewed build fix for CMake based ports after r162034.
11699
11700        * CMakeLists.txt:
11701
117022014-01-14  Jeffrey Pfau  <jpfau@apple.com>
11703
11704        Build fix after r162034
11705
11706        Rubber-stamped by Benjamin Poulain.
11707
11708        * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:
11709
117102014-01-14  Anders Carlsson  <andersca@apple.com>
11711
11712        Create separate progress tracker clients
11713        https://bugs.webkit.org/show_bug.cgi?id=127025
11714
11715        Reviewed by Sam Weinig.
11716
11717        * WebKit2.xcodeproj/project.pbxproj:
11718        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11719        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
11720        * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
11721        (WebKit::WebProgressTrackerClient::WebProgressTrackerClient):
11722        (WebKit::WebProgressTrackerClient::progressTrackerDestroyed):
11723        (WebKit::WebProgressTrackerClient::progressStarted):
11724        (WebKit::WebProgressTrackerClient::progressEstimateChanged):
11725        (WebKit::WebProgressTrackerClient::progressFinished):
11726        * WebProcess/WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
11727        * WebProcess/WebPage/WebPage.cpp:
11728        (WebKit::WebPage::WebPage):
11729
117302014-01-14  Benjamin Poulain  <bpoulain@apple.com>
11731
11732        [WK2] Make WebPageProxy's setUserAgent private
11733        https://bugs.webkit.org/show_bug.cgi?id=127013
11734
11735        Reviewed by Anders Carlsson.
11736
11737        * UIProcess/WebPageProxy.h:
11738        The API to modify the user agent already has 3 "setters":
11739        -standardUserAgent
11740        -setApplicationNameForUserAgent
11741        -setCustomUserAgent
11742
11743        The method WebPageProxy::setUserAgent() is supposed to be internal, not used directly.
11744        Using it directly would cause unexpected behaviors, for example:
11745        -Set the user agent with setUserAgent.
11746        -Set CustomUserAgent.
11747        -Reset CustomUserAgent.
11748        ->The user agent is now standardUserAgent instead of the user agent defined initially.
11749
117502014-01-14  Commit Queue  <commit-queue@webkit.org>
11751
11752        Unreviewed, rolling out r162000.
11753        http://trac.webkit.org/changeset/162000
11754        https://bugs.webkit.org/show_bug.cgi?id=127009
11755
11756        API versioning is wrong (Requested by rfong on #webkit).
11757
11758        * UIProcess/API/C/WKAPICast.h:
11759        * UIProcess/API/C/WKPageLoaderClient.h:
11760        * UIProcess/API/C/WKPageUIClient.h:
11761        * UIProcess/WebLoaderClient.cpp:
11762        * UIProcess/WebLoaderClient.h:
11763        * UIProcess/WebPageProxy.cpp:
11764        * UIProcess/WebPageProxy.h:
11765        * UIProcess/WebPageProxy.messages.in:
11766        * UIProcess/WebUIClient.cpp:
11767        * UIProcess/WebUIClient.h:
11768        * UIProcess/mac/WebInspectorProxyMac.mm:
11769        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
11770        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11771        * WebProcess/WebCoreSupport/WebChromeClient.h:
11772        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11773        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
11774        * WebProcess/WebPage/WebPage.cpp:
11775        * WebProcess/WebPage/WebPage.h:
11776
117772014-01-14  Csaba Osztrogonác  <ossy@webkit.org>
11778
11779        Speculative buildfix after r161999.
11780
11781        * Shared/APIObject.h:
11782
117832014-01-09  Roger Fong  <roger_fong@apple.com>
11784
11785        Add support for handling WebGL load policies.
11786        https://bugs.webkit.org/show_bug.cgi?id=126935
11787        <rdar://problem/15790448>.
11788
11789        Reviewed by Brent Fulgham.
11790
11791        Boiler plate code for sending messages to and from the UI and Web Process. 
11792
11793        * UIProcess/API/C/WKAPICast.h:
11794        (WebKit::toWebGLLoadPolicy):
11795        * UIProcess/API/C/WKPageLoaderClient.h:
11796        * UIProcess/API/C/WKPageUIClient.h:
11797        * UIProcess/WebLoaderClient.cpp:
11798        (WebKit::WebLoaderClient::webGLLoadPolicy):
11799        * UIProcess/WebLoaderClient.h:
11800        * UIProcess/WebPageProxy.cpp:
11801        (WebKit::WebPageProxy::webGLContextCreated):
11802        (WebKit::WebPageProxy::webGLPolicyForHost):
11803        * UIProcess/WebPageProxy.h:
11804        * UIProcess/WebPageProxy.messages.in:
11805        * UIProcess/WebUIClient.cpp:
11806        (WebKit::WebUIClient::webGLContextCreated):
11807        * UIProcess/WebUIClient.h:
11808        * UIProcess/mac/WebInspectorProxyMac.mm:
11809        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
11810        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11811        (WebKit::WebChromeClient::webGLContextCreated):
11812        * WebProcess/WebCoreSupport/WebChromeClient.h:
11813        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11814        (WebKit::WebFrameLoaderClient::webGLPolicyForHost):
11815        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
11816        * WebProcess/WebPage/WebPage.cpp: A sendSync is used here to get the webGLPolicyForHost message sent between the Web and UI process.
11817                                          In the future this will be replaced with a strategy is non-blocking.
11818        (WebKit::WebPage::getWebGLPolicyForHost):
11819        * WebProcess/WebPage/WebPage.h:
11820
118212014-01-14  Mark Rowe  <mrowe@apple.com>
11822
11823        WebKit2 leaks sudden termination assertions when a page with unload handlers is closed.
11824        <https://webkit.org/b/126974> / <rdar://problem/15812954>
11825
11826        When a page with an unload handler is loaded, the web process tells the UI process that it
11827        should disable sudden termination. However, when the page is closed the connection between
11828        the web and UI process is torn down before the web content has a chance to tell the UI
11829        process to reenable sudden termination.
11830
11831        Reviewed by Anders Carlsson.
11832
11833        * UIProcess/WebProcessProxy.cpp:
11834        (WebKit::WebProcessProxy::WebProcessProxy):
11835        (WebKit::WebProcessProxy::~WebProcessProxy): Balance any outstanding disableSuddenTermination calls.
11836        (WebKit::WebProcessProxy::enableSuddenTermination): Decrement the count.
11837        (WebKit::WebProcessProxy::disableSuddenTermination): Increment the count.
11838        * UIProcess/WebProcessProxy.h:
11839
118402014-01-14  Joseph Pecoraro  <pecoraro@apple.com>
11841
11842        Web Inspector: For Remote Inspection link WebProcess's to their parent UIProcess
11843        https://bugs.webkit.org/show_bug.cgi?id=126995
11844
11845        Reviewed by Timothy Hatcher.
11846
11847        * WebProcess/WebCoreSupport/WebInspectorClient.h:
11848        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
11849        (WebKit::WebInspectorClient::parentProcessIdentifier):
11850        WebProcesses are proxies for a parent UIProcess.
11851
118522014-01-14  Tim Horton  <timothy_horton@apple.com>
11853
11854        iOS WebKit2 build fixes, part 3
11855
11856        * WebKit2.xcodeproj/project.pbxproj:
11857        Remove some files from the 'All' target that should never have been a part of it.
11858
118592014-01-14  Tim Horton  <timothy_horton@apple.com>
11860
11861        iOS WebKit2 build fixes, part 2
11862
11863        * WebKit2.xcodeproj/project.pbxproj:
11864        Add some missing files.
11865
118662014-01-14  Brian J. Burg  <burg@cs.washington.edu>
11867
11868        Add ENABLE(WEB_REPLAY) feature flag to the build system
11869        https://bugs.webkit.org/show_bug.cgi?id=126949
11870
11871        Reviewed by Joseph Pecoraro.
11872
11873        * Configurations/FeatureDefines.xcconfig:
11874
118752014-01-14  Tim Horton  <timothy_horton@apple.com>
11876
11877        Move WKView.mm to WKViewIOS.mm as 161950 was supposed to do.
11878
11879        * UIProcess/API/ios/WKView.mm: Removed.
11880        * UIProcess/API/ios/WKViewIOS.mm: Copied from UIProcess/API/ios/WKView.mm.
11881
118822014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
11883
11884        [GTK] Test /webkit2/WebKitWebContext/languages crashes with network process enabled
11885        https://bugs.webkit.org/show_bug.cgi?id=126130
11886
11887        Reviewed by Anders Carlsson.
11888
11889        We need to notify the network process when the user preferred
11890        languages have changed to update the SoupSession accordingly.
11891
11892        * NetworkProcess/NetworkProcess.h: Add
11893        userPreferredLanguagesChanged when using soup network backend.
11894        * NetworkProcess/NetworkProcess.messages.in: Add
11895        UserPreferredLanguagesChanged message when using soup network
11896        backend.
11897        * NetworkProcess/soup/NetworkProcessSoup.cpp:
11898        (WebKit::NetworkProcess::userPreferredLanguagesChanged): Update
11899        the SoupSession to use the given languages.
11900        (WebKit::NetworkProcess::platformInitializeNetworkProcess): Call
11901        userPreferredLanguagesChanged() when initialization parameters
11902        contain languages.
11903        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
11904        Remove unnedded WebCore prefix.
11905        (WebKit::NetworkProcess::clearCacheForAllOrigins): Simplify using
11906        a single line.
11907        * Shared/Network/NetworkProcessCreationParameters.cpp:
11908        (WebKit::NetworkProcessCreationParameters::encode): Encode the
11909        languages vector.
11910        (WebKit::NetworkProcessCreationParameters::decode): Decode the
11911        languages vector.
11912        * Shared/Network/NetworkProcessCreationParameters.h:
11913        * UIProcess/WebContext.cpp:
11914        (WebKit::WebContext::languageChanged): Send a message also to the
11915        network process.
11916        * UIProcess/soup/WebContextSoup.cpp:
11917        (WebKit::WebContext::platformInitializeNetworkProcess): Set
11918        languages initial parameter.
11919
119202014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
11921
11922        [SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference
11923        https://bugs.webkit.org/show_bug.cgi?id=126966
11924
11925        Reviewed by Gustavo Noronha Silva.
11926
11927        * WebProcess/soup/WebProcessSoup.cpp:
11928        (WebKit::setSoupSessionAcceptLanguage): Use const Vector<String>&.
11929
119302014-01-14  Andreas Kling  <akling@apple.com>
11931
11932        Remove deprecated DeferrableOneShotTimer constructor.
11933        <https://webkit.org/b/126984>
11934
11935        Reviewed by Anders Carlsson.
11936
11937        * WebProcess/Plugins/PluginView.h:
11938        * WebProcess/Plugins/PluginView.cpp:
11939        (WebKit::PluginView::pluginSnapshotTimerFired):
11940
11941            Take the timer by reference so we can use the new constructor.
11942
119432014-01-13  Tim Horton  <timothy_horton@apple.com>
11944
11945        iOS WebKit2 build fixes, part 1
11946
11947        * Configurations/WebKit2.xcconfig:
11948        * NetworkProcess/NetworkResourceLoader.cpp:
11949        * NetworkProcess/NetworkResourceLoader.h:
11950        * NetworkProcess/RemoteNetworkingContext.h:
11951        * Shared/WebEventConversion.h:
11952        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
11953        * UIProcess/API/ios/WKInteractionView.mm:
11954        (-[WKTextPosition isEqual:]):
11955        * UIProcess/API/ios/WKViewIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKView.mm.
11956        * UIProcess/ios/WebPageProxyIOS.mm:
11957        * UIProcess/ios/WebProcessProxyIOS.mm:
11958        * WebKit2.xcodeproj/project.pbxproj:
11959        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
11960        * WebProcess/WebPage/WebPage.h:
11961        * WebProcess/WebPage/ios/WebPageIOS.mm:
11962        (WebKit::WebPage::elementDidFocus):
11963        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
11964
119652014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
11966
11967        [EFL][WK2] Disable failing API tests
11968        https://bugs.webkit.org/show_bug.cgi?id=126960
11969
11970        Reviewed by Gyuyoung Kim.
11971
11972        Disable color picker test until bug 119120 is resolved.
11973
11974        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
11975        (TEST_F):
11976
119772014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
11978
11979        [EFL][WK2] ewk_view_page_contents_get() API test is failing
11980        https://bugs.webkit.org/show_bug.cgi?id=126957
11981
11982        Reviewed by Gyuyoung Kim.
11983
11984        As the day in 'Date' field may be one digit or two digit,
11985        the data length may also be varied by one byte.
11986
11987        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
11988        (EWK2ViewTest::PageContentsAsMHTMLCallback):
11989
119902014-01-13  Commit Queue  <commit-queue@webkit.org>
11991
11992        Unreviewed, rolling out r161939.
11993        http://trac.webkit.org/changeset/161939
11994        https://bugs.webkit.org/show_bug.cgi?id=126956
11995
11996        didn't work with mac, of course (Requested by thorton on
11997        #webkit).
11998
11999        * NetworkProcess/NetworkResourceLoader.cpp:
12000        * NetworkProcess/NetworkResourceLoader.h:
12001        * NetworkProcess/RemoteNetworkingContext.h:
12002        * Shared/WebEventConversion.h:
12003        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
12004        * UIProcess/API/ios/WKInteractionView.mm:
12005        (-[WKTextPosition isEqual:]):
12006        * WebKit2.xcodeproj/project.pbxproj:
12007        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
12008        * WebProcess/WebPage/WebPage.h:
12009        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
12010
120112014-01-13  Benjamin Poulain  <bpoulain@apple.com>
12012
12013        Update WebPageProxyIOS's user agent string
12014        https://bugs.webkit.org/show_bug.cgi?id=126933
12015
12016        Reviewed by Darin Adler.
12017
12018        * UIProcess/ios/WebPageProxyIOS.mm:
12019        (WebKit::WebPageProxy::standardUserAgent):
12020        Send a more reasonable user agent. The previous one was forcing
12021        iOS 5.1's iPad user-agent.
12022
120232014-01-13  Tim Horton  <timothy_horton@apple.com>
12024
12025        iOS WebKit2 build fixes
12026
12027        * NetworkProcess/NetworkResourceLoader.cpp:
12028        * NetworkProcess/NetworkResourceLoader.h:
12029        Introduce/clarify some confusion about CFNETWORK vs. PLATFORM(IOS).
12030
12031        * NetworkProcess/RemoteNetworkingContext.h:
12032        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
12033        Get rid of an override of something that doesn't exist anymore.
12034
12035        * WebKit2.xcodeproj/project.pbxproj:
12036        Add some files. It's likely there are more missing, but this is a start.
12037
12038        * Shared/WebEventConversion.h:
12039        * WebProcess/WebPage/WebPage.h:
12040        Use WebKitAdditions.
12041
12042        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
12043        Something bizarre is happening with internal deprecation warnings.
12044
12045        * UIProcess/API/ios/WKInteractionView.mm:
12046        (-[WKTextPosition isEqual:]):
12047        Fix a typo.
12048
12049        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
12050        Remove an override of something that doesn't exist anymore.
12051
120522014-01-13  Andy Estes  <aestes@apple.com>
12053
12054        [iOS] Build Fix: Don't build the 'All-iOS' target on iOS. Just use 'All'.
12055
12056        * Makefile:
12057
120582014-01-13  Martin Robinson  <mrobinson@igalia.com>
12059
12060        [CMake] Mark all dependency include paths and libraries as advanced variables
12061        https://bugs.webkit.org/show_bug.cgi?id=126504
12062
12063        Reviewed by Daniel Bates.
12064
12065        * CMakeLists.txt: Mark the LIBRT_LIBRARIES variable as advanced.
12066
120672014-01-13  Martin Robinson  <mrobinson@igalia.com>
12068
12069        [GTK][CMake] Circular dependency in generation of WebKitEnumTypes.h
12070        https://bugs.webkit.org/show_bug.cgi?id=126912
12071
12072        Reviewed by Daniel Bates.
12073
12074        * PlatformGTK.cmake: Remove the circular dependency by generating WebKitEnumTypes.h with
12075        all installed headers except for WebKitEnumTypes.h itself.
12076
120772014-01-13  Andy Estes  <aestes@apple.com>
12078
12079        [iOS] Exclude shims and PluginProcess.app from the WebKit2 build
12080        https://bugs.webkit.org/show_bug.cgi?id=126936
12081
12082        Reviewed by Daniel Bates.
12083
12084        * Configurations/All.xcconfig: Added. Excluded PluginProcess.app from
12085        being copied into WebKit2.framework on iOS.
12086        * Configurations/NetworkProcess.xcconfig: Excluded SecItemShim.dylib
12087        from being copied into NetworkProcess.app on iOS.
12088        * Configurations/PluginProcess.xcconfig: Excluded
12089        PluginProcessShim.dylib from being copied into PluginProcess.app and
12090        set SKIP_INSTALL to YES on iOS.
12091        * Configurations/PluginProcessShim.xcconfig: Added. Linked the shim
12092        against necessary frameworks on Mac.
12093        * Configurations/SecItemShim.xcconfig: Ditto.
12094        * Configurations/WebProcessShim.xcconfig: Ditto.
12095        * Configurations/WebContentProcess.xcconfig: Excluded
12096        WebProcessShim.dylib from being copied into WebProcess.app on iOS.
12097        * PluginProcess/mac/PluginProcessShim.mm: Added #if !PLATFORM(IOS) guards.
12098        * Shared/mac/CookieStorageShimLibrary.cpp: Ditto.
12099        * WebProcess/mac/SecItemShimLibrary.mm: Ditto.
12100        * WebKit2.xcodeproj/project.pbxproj: Removed Mac-only frameworks from
12101        the shims' 'Link Binary with Libraries' build phases. Added new xcconfigs.
12102
121032014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
12104
12105        [EFL][WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed
12106        https://bugs.webkit.org/show_bug.cgi?id=126882
12107
12108        Reviewed by Gyuyoung Kim.
12109
12110        * Shared/efl/ProcessExecutablePathEfl.cpp:
12111        (WebKit::executablePathOfWebProcess):
12112        (WebKit::executablePathOfPluginProcess):
12113        (WebKit::executablePathOfNetworkProcess):
12114        * UIProcess/API/efl/EwkView.cpp:
12115        (wkPageToEvasObjectMap):
12116        * UIProcess/API/efl/ewk_context.cpp:
12117        (contextMap):
12118        * UIProcess/API/efl/ewk_page_group.cpp:
12119        (pageGroupMap):
12120        * UIProcess/efl/TextCheckerClientEfl.cpp:
12121        (TextCheckerClientEfl::instance):
12122        * UIProcess/efl/TextCheckerClientEfl.h:
12123
121242014-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
12125
12126        [SOUP] Add SoupNetworkSession class to wrap a SoupSession
12127        https://bugs.webkit.org/show_bug.cgi?id=126813
12128
12129        Reviewed by Gustavo Noronha Silva.
12130
12131        Use the new SoupNetworkSession API.
12132
12133        * NetworkProcess/soup/NetworkProcessSoup.cpp:
12134        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
12135        (WebKit::NetworkProcess::platformSetCacheModel):
12136        (WebKit::NetworkProcess::clearCacheForAllOrigins):
12137        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
12138        (WebKit::NetworkProcessMain):
12139        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
12140        (WebKit::WebCookieManager::setCookiePersistentStorage):
12141        * WebProcess/efl/WebProcessMainEfl.cpp:
12142        (WebKit::WebProcessMainEfl):
12143        * WebProcess/gtk/WebProcessMainGtk.cpp:
12144        (WebKit::WebProcessMainGtk):
12145        * WebProcess/soup/WebProcessSoup.cpp:
12146        (WebKit::WebProcess::platformSetCacheModel):
12147        (WebKit::WebProcess::platformClearResourceCaches):
12148        (WebKit::setSoupSessionAcceptLanguage):
12149        (WebKit::WebProcess::platformInitializeWebProcess):
12150        * WebProcess/soup/WebSoupRequestManager.cpp:
12151        (WebKit::WebSoupRequestManager::registerURIScheme):
12152
121532014-01-13  Zalan Bujtas  <zalan@apple.com>
12154
12155        Enable SUBPIXEL_LAYOUT on Mac
12156        <https://webkit.org/b/126283>
12157
12158        Reviewed by Simon Fraser.
12159
12160        * Configurations/FeatureDefines.xcconfig:
12161
121622014-01-12  Sergio Correia  <sergio.correia@openbossa.org>
12163
12164        [EFL][WK2] Make API tests work again
12165        https://bugs.webkit.org/show_bug.cgi?id=126769
12166
12167        Reviewed by Gyuyoung Kim.
12168
12169        The EFL and WK2 test binaries are currently being generated at *TestWebKitAPI/
12170        [E]WebKit2, respectively, and this causes problems because the logic to find
12171        where WebProcess is to look in the same directory of the running process and
12172        then proceed to use LIBEXECDIR (typically /usr/loca/bin).
12173
12174        This patch introduces a WEBKIT_EXEC_PATH environment variable, inspired in the
12175        Gtk port, which allows us to look for WebProcess initially in this directory,
12176        if it's defined.
12177
12178        * Shared/efl/ProcessExecutablePathEfl.cpp:
12179        (WebKit::findProcessPath): Change the logic to look initially in
12180        WEBKIT_EXEC_PATH, then proceed with the existing checks.
12181        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
12182        (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
12183        Define WEBKIT_EXEC_PATH to be used by EWebKit2 tests.
12184
121852014-01-12  Darin Adler  <darin@apple.com>
12186
12187        Add deprecatedCharacters as a synonym for characters and convert most call sites
12188        https://bugs.webkit.org/show_bug.cgi?id=126858
12189
12190        Reviewed by Anders Carlsson.
12191
12192        * Shared/APIString.h:
12193        * UIProcess/WebPageProxy.cpp:
12194        (WebKit::WebPageProxy::checkTextOfParagraph):
12195        (WebKit::WebPageProxy::checkSpellingOfString):
12196        (WebKit::WebPageProxy::checkGrammarOfString):
12197        * WebProcess/WebPage/EncoderAdapter.cpp:
12198        (WebKit::EncoderAdapter::encodeString):
12199        Use deprecatedCharacters instead of characters.
12200
122012014-01-12  Darin Adler  <darin@apple.com>
12202
12203        Add type checking to isEqual methods
12204        https://bugs.webkit.org/show_bug.cgi?id=126862
12205
12206        Reviewed by Anders Carlsson.
12207
12208        * UIProcess/API/ios/WKInteractionView.mm:
12209        (-[WKTextRange isEqual:]): Added type checking for the argument. The old
12210        code asserted instead, and it's not clear what guarantees that assertion is
12211        true. Added a FIXME about the lack of a hash method. Added another FIXME
12212        about the fact that this method ignores much of the object state. Removed
12213        an unneeded extra fetch of the isRange property. Deleted some dead code.
12214        (-[WKTextPosition isEqual:]): Ditto.
12215
122162014-01-12  Anders Carlsson  <andersca@apple.com>
12217
12218        Remove the last remaining uses of AtomicallyInitializedStatic
12219        https://bugs.webkit.org/show_bug.cgi?id=126863
12220
12221        Reviewed by Darin Adler.
12222
12223        * Shared/mac/SecItemShim.cpp:
12224        (WebKit::responseMap):
12225
122262014-01-12  Dan Bernstein  <mitz@apple.com>
12227
12228        Added a reference to WebContentService/Info-OSX.plist to the project.
12229
12230        * WebKit2.xcodeproj/project.pbxproj:
12231
122322014-01-12  Dan Bernstein  <mitz@apple.com>
12233
12234        OS X build fix.
12235
12236        * WebKit2.xcodeproj/project.pbxproj:
12237        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Copied from WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist.
12238        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: Removed.
12239
122402014-01-12  Andy Estes  <aestes@apple.com>
12241
12242        Build Fix: Objective-C GC should be unsupported in iOS WebKit2
12243
12244        * Configurations/Base.xcconfig:
12245
122462014-01-12  Andy Estes  <aestes@apple.com>
12247
12248        [iOS] Upstream WebKit2 xcconfig changes to fix the build
12249
12250        * Configurations/All-iOS.xcconfig: Added.
12251        * Configurations/Base.xcconfig:
12252        * Configurations/BaseLegacyProcess.xcconfig:
12253        * Configurations/BaseTarget.xcconfig:
12254        * Configurations/BaseXPCService.xcconfig:
12255        * Configurations/DebugRelease.xcconfig:
12256        * Configurations/WebContentService.xcconfig:
12257        * Configurations/iOS.xcconfig: Added.
12258
122592014-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
12260
12261        Unreviewed. Fix make distcheck.
12262
12263        * GNUmakefile.am: Add WebKit2InspectorGResourceBundle.xml to
12264        EXTRA_DIST.
12265        * GNUmakefile.list.am: Removed deleted files and add missing ones.
12266        * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Move
12267        ProxyResolverSoup.h to EFL platform ifdef, because GTK port doesn't
12268        build the proxy resolver.
12269
122702014-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
12271
12272        [GTK] Fix return value of WebKitDownload::created-destination
12273        https://bugs.webkit.org/show_bug.cgi?id=126741
12274
12275        Reviewed by Martin Robinson.
12276
12277        WebKitDownload::created-destination signal should be void instead
12278        of gboolean. This doesn't break the API/ABI.
12279
12280        * UIProcess/API/gtk/WebKitDownload.cpp:
12281        (webkit_download_class_init):
12282        (webkitDownloadDestinationCreated):
12283
122842014-01-11  Yongjun Zhang  <yongjun_zhang@apple.com>
12285
12286        Support bool argument for encoding/decoding invocations.
12287        https://bugs.webkit.org/show_bug.cgi?id=126823
12288
12289        Reviewed by Sam Weinig.
12290
12291        For remote invocation method argument, current we support int, double and ObjC
12292        object, this patch add support for bool type too.
12293
12294        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
12295        (encodeInvocation):
12296        (decodeInvocationArguments):
12297
122982014-01-11  Alexey Proskuryakov  <ap@apple.com>
12299
12300        [Mac] [Windows] Stop scheduling network requests in WebCore
12301        https://bugs.webkit.org/show_bug.cgi?id=126789
12302        <rdar://problem/15114727>
12303
12304        Reviewed by Sam Weinig.
12305
12306        * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
12307        (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
12308        We no longer need the trick with 7 connections, as synchronous requests always have
12309        the right of way.
12310
12311        * UIProcess/API/C/WKContext.cpp: Removed long obsolete functions.
12312
12313        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
12314        Updated for new WKSI function names.
12315
123162014-01-11  Simon Fraser  <simon.fraser@apple.com>
12317
12318        Unfork GraphicsContext::drawNativeImage for iOS
12319        https://bugs.webkit.org/show_bug.cgi?id=126824
12320
12321        Reviewed by Dean Jackson.
12322
12323        GraphicsContext::drawNativeImage had a different signature for iOS,
12324        which required #ifdefs at all the call sites. Unfork by passing the "scale"
12325        parameter everywhere (it's only used on iOS).
12326
12327        * Shared/API/c/cg/WKImageCG.cpp:
12328        (WKImageCreateFromCGImage):
12329
123302014-01-11  Sam Weinig  <sam@webkit.org>
12331
12332        Clean up iterator filter / iterator range code
12333        https://bugs.webkit.org/show_bug.cgi?id=126817
12334
12335        Reviewed by Anders Carlsson.
12336
12337        * Shared/APIArray.h:
12338        Update elementsOfType() to use combination of FilterIterator and TransformIterator
12339        (now that FilterIterator no longer has a transform predicate) and make use of the 
12340        makeFoo() helpers.
12341
123422014-01-11  Anders Carlsson  <andersca@apple.com>
12343
12344        Simplify Timer and DeferrableOneShotTimer using std::function
12345        https://bugs.webkit.org/show_bug.cgi?id=126816
12346
12347        Reviewed by Sam Weinig.
12348
12349        Add another unexported symbol.
12350
12351        * Configurations/WebKit2.xcconfig:
12352
123532014-01-11  Jinwoo Song  <jinwoo7.song@samsung.com>
12354
12355        [EFL][WK2] Use nullptr instead of 0 in EFL API layer
12356        https://bugs.webkit.org/show_bug.cgi?id=126806
12357
12358        Reviewed by Anders Carlsson.
12359
12360        * UIProcess/API/efl/EwkView.cpp:
12361        (EwkView::create):
12362        * UIProcess/API/efl/ewk_auth_request.cpp:
12363        (ewk_auth_request_suggested_username_get):
12364        (ewk_auth_request_realm_get):
12365        (ewk_auth_request_host_get):
12366        * UIProcess/API/efl/ewk_back_forward_list.cpp:
12367        (ewk_back_forward_list_current_item_get):
12368        (ewk_back_forward_list_previous_item_get):
12369        (ewk_back_forward_list_next_item_get):
12370        (ewk_back_forward_list_item_at_index_get):
12371        (ewk_back_forward_list_n_back_items_copy):
12372        (ewk_back_forward_list_n_forward_items_copy):
12373        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
12374        (ewk_back_forward_list_item_url_get):
12375        (ewk_back_forward_list_item_title_get):
12376        (ewk_back_forward_list_item_original_url_get):
12377        * UIProcess/API/efl/ewk_context.cpp:
12378        (ewk_context_cookie_manager_get):
12379        (ewk_context_database_manager_get):
12380        (ewk_context_favicon_database_get):
12381        (ewk_context_storage_manager_get):
12382        (ewk_context_new_with_injected_bundle_path):
12383        * UIProcess/API/efl/ewk_context_menu.cpp:
12384        (ewk_context_menu_items_get):
12385        * UIProcess/API/efl/ewk_context_menu_item.cpp:
12386        (ewk_context_menu_item_new_with_submenu):
12387        (ewk_context_menu_item_title_get):
12388        (ewk_context_menu_item_parent_menu_get):
12389        (ewk_context_menu_item_submenu_get):
12390        * UIProcess/API/efl/ewk_download_job.cpp:
12391        (ewk_download_job_request_get):
12392        (ewk_download_job_response_get):
12393        (ewk_download_job_destination_get):
12394        (ewk_download_job_suggested_filename_get):
12395        * UIProcess/API/efl/ewk_error.cpp:
12396        (ewk_error_url_get):
12397        (ewk_error_description_get):
12398        * UIProcess/API/efl/ewk_file_chooser_request.cpp:
12399        (ewk_file_chooser_request_accepted_mimetypes_get):
12400        * UIProcess/API/efl/ewk_form_submission_request.cpp:
12401        (ewk_form_submission_request_field_names_get):
12402        (ewk_form_submission_request_field_value_get):
12403        * UIProcess/API/efl/ewk_navigation_data.cpp:
12404        (ewk_navigation_data_title_get):
12405        (ewk_navigation_data_original_request_get):
12406        (ewk_navigation_data_url_get):
12407        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
12408        (ewk_navigation_policy_frame_name_get):
12409        (ewk_navigation_policy_request_get):
12410        * UIProcess/API/efl/ewk_object.cpp:
12411        (ewk_object_ref):
12412        * UIProcess/API/efl/ewk_popup_menu.cpp:
12413        (ewk_popup_menu_items_get):
12414        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
12415        (ewk_popup_menu_item_text_get):
12416        (ewk_popup_menu_item_tooltip_get):
12417        (ewk_popup_menu_item_accessibility_text_get):
12418        * UIProcess/API/efl/ewk_security_origin.cpp:
12419        (ewk_security_origin_host_get):
12420        (ewk_security_origin_protocol_get):
12421        * UIProcess/API/efl/ewk_settings.cpp:
12422        (ewk_settings_default_text_encoding_name_get):
12423        * UIProcess/API/efl/ewk_url_request.cpp:
12424        (ewk_url_request_url_get):
12425        (ewk_request_cookies_first_party_get):
12426        (ewk_url_request_http_method_get):
12427        * UIProcess/API/efl/ewk_url_response.cpp:
12428        (ewk_url_response_url_get):
12429        (ewk_url_response_mime_type_get):
12430        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
12431        (ewk_url_scheme_request_scheme_get):
12432        (ewk_url_scheme_request_url_get):
12433        (ewk_url_scheme_request_path_get):
12434        * UIProcess/API/efl/ewk_view.cpp:
12435        (toEwkViewChecked):
12436        (EWKViewGetWKView):
12437        (ewk_view_smart_add):
12438        (ewk_view_add_with_context):
12439        (ewk_view_context_get):
12440        (ewk_view_page_group_get):
12441        (ewk_view_url_get):
12442        (ewk_view_favicon_get):
12443        (ewk_view_settings_get):
12444        (ewk_view_title_get):
12445        (ewk_view_theme_get):
12446        (ewk_view_back_forward_list_get):
12447        (ewk_view_custom_encoding_get):
12448        (ewk_view_user_agent_get):
12449
124502014-01-10  Anders Carlsson  <andersca@apple.com>
12451
12452        Tweak ProgressTrackerClient functions
12453        https://bugs.webkit.org/show_bug.cgi?id=126808
12454
12455        Reviewed by Sam Weinig.
12456
12457        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12458        (WebKit::WebFrameLoaderClient::progressStarted):
12459        (WebKit::WebFrameLoaderClient::progressEstimateChanged):
12460        (WebKit::WebFrameLoaderClient::progressFinished):
12461        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
12462
124632014-01-10  Sam Weinig  <sam@webkit.org>
12464
12465        Convert HandleMessage.h to use variadic templates
12466        https://bugs.webkit.org/show_bug.cgi?id=126469
12467
12468        Reviewed by Anders Carlsson.
12469
12470        * Platform/IPC/HandleMessage.h:
12471        (IPC::callMemberFunctionImpl):
12472        (IPC::callMemberFunction):
12473        Replace massive copy and pasted code with variadic magic.
12474
124752014-01-10  Anders Carlsson  <andersca@apple.com>
12476
12477        Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient
12478        https://bugs.webkit.org/show_bug.cgi?id=126801
12479
12480        Reviewed by Sam Weinig.
12481
12482        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
12483        * WebProcess/WebPage/WebPage.cpp:
12484        (WebKit::WebPage::WebPage):
12485
124862014-01-10  Anders Carlsson  <andersca@apple.com>
12487
12488        Remove dead code
12489        https://bugs.webkit.org/show_bug.cgi?id=126782
12490
12491        Reviewed by Tim Horton.
12492
12493        * UIProcess/WebPageProxy.cpp:
12494        * UIProcess/WebPageProxy.h:
12495        * WebProcess/WebPage/WebPage.cpp:
12496        * WebProcess/WebPage/WebPage.h:
12497        * WebProcess/WebPage/WebPage.messages.in:
12498
124992014-01-10  Benjamin Poulain  <bpoulain@apple.com>
12500
12501        Remove the BlackBerry port from trunk
12502        https://bugs.webkit.org/show_bug.cgi?id=126715
12503
12504        Reviewed by Anders Carlsson.
12505
12506        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12507        (WebKit::WebChromeClient::setCursor):
12508
125092014-01-10  Benjamin Poulain  <bpoulain@apple.com>
12510
12511        Remove the BlackBerry port from trunk
12512        https://bugs.webkit.org/show_bug.cgi?id=126715
12513
12514        Reviewed by Anders Carlsson.
12515
12516        * Scripts/generate-forwarding-headers.pl:
12517
125182014-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
12519
12520        Implement NetworkResourceLoader::receivedCancellation
12521        https://bugs.webkit.org/show_bug.cgi?id=126129
12522
12523        Reviewed Alexey Proskuryakov.
12524
12525        Implement ResourceHandleClient::receivedCancellation() in the
12526        network process to cancel the load when cancellation is received
12527        from the authentication manager like the web process does.
12528
12529        * NetworkProcess/NetworkResourceLoader.cpp:
12530        (WebKit::NetworkResourceLoader::receivedCancellation): Cancel the load.
12531        * NetworkProcess/NetworkResourceLoader.h:
12532
125332014-01-09  Jinwoo Song  <jinwoo7.song@samsung.com>
12534
12535        [EFL][WK2] Add APIs for setting and getting the default text encoding name
12536        https://bugs.webkit.org/show_bug.cgi?id=126736
12537
12538        Reviewed by Gyuyoung Kim.
12539
12540        Add APIs to set and get the default text encoding name.
12541
12542        * UIProcess/API/efl/ewk_settings.cpp:
12543        (ewk_settings_default_text_encoding_name_get):
12544        (ewk_settings_default_text_encoding_name_set):
12545        * UIProcess/API/efl/ewk_settings.h:
12546        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
12547        (TEST_F):
12548
125492014-01-09  Simon Fraser  <simon.fraser@apple.com>
12550
12551        Enable async scrolling for iOS
12552        https://bugs.webkit.org/show_bug.cgi?id=126730
12553
12554        Reviewed by Tim Horton.
12555        
12556        Turn on ENABLE_ASYNC_SCROLLING for iOS.
12557        
12558        On iOS, create ScrollingTreeScrollingNodeIOS nodes.
12559
12560        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
12561        (WebKit::RemoteScrollingTree::createNode):
12562        * UIProcess/Scrolling/RemoteScrollingTree.h:
12563
125642014-01-06  Gavin Barraclough  <barraclough@apple.com>
12565
12566        Change Page, FocusController to use ViewState
12567        https://bugs.webkit.org/show_bug.cgi?id=126533
12568
12569        Reviewed by Tim Horton.
12570
12571        These classes currently maintain a set of separate fields to represent the view state;
12572        combine these into a single field, and allow WebPage to send the combined update rather
12573        than individual changes.
12574
12575        Maintain existing interface for WebKit1 clients.
12576
12577        * WebProcess/WebPage/WebPage.cpp:
12578        (WebKit::WebPage::WebPage):
12579            - Combined separate calls to Page::setViewState.
12580        (WebKit::WebPage::updateIsInWindow):
12581            - Simplied from setIsInWindow.
12582        (WebKit::WebPage::setViewState):
12583            - Combined separate calls to Page::setViewState.
12584        * WebProcess/WebPage/WebPage.h:
12585            - Declare updateIsInWindow.
12586
125872014-01-09  Tim Horton  <timothy_horton@apple.com>
12588
12589        Upstream iOS changes after r161530
12590        https://bugs.webkit.org/show_bug.cgi?id=126728
12591
12592        Reviewed by Dean Jackson.
12593
12594        * UIProcess/API/ios/WKContentView.mm:
12595        (-[WKContentView setViewportSize:]):
12596        (-[WKContentView didFinishScrollTo:]):
12597        (-[WKContentView didScrollTo:]):
12598        Adopt the new approach.
12599
126002014-01-09  Brian Burg  <bburg@apple.com>
12601
12602        REGRESSION (r160152): Selection drag snapshot doesn't appear or has the wrong content on Retina
12603        https://bugs.webkit.org/show_bug.cgi?id=125375
12604
12605        Reviewed by Darin Adler.
12606
12607        Remove scaling from WebDragClient because it is now selectively
12608        performed by WebCore according to the drag image source.
12609
12610        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
12611        (WebKit::WebDragClient::startDrag): Don't scale the provided drag image.
12612
126132014-01-09  Tim Horton  <timothy_horton@apple.com>
12614
12615        WebKit2 View Gestures: Support plugins that take over the page scale gesture
12616        https://bugs.webkit.org/show_bug.cgi?id=126399
12617        <rdar://problem/15738928>
12618
12619        Reviewed by Sam Weinig.
12620
12621        Teach ViewGestureController how to handle WebFrame::handlesPageScaleGesture=true,
12622        which is used so that PDFPlugin can deal with magnification itself.
12623
12624        * UIProcess/mac/ViewGestureController.cpp:
12625        (WebKit::ViewGestureController::ViewGestureController):
12626        (WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture):
12627        (WebKit::ViewGestureController::handleMagnificationGesture):
12628        (WebKit::ViewGestureController::endMagnificationGesture):
12629        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
12630        If the WebFrame is going to handle the page scale gesture itself (which currently
12631        simply means that it is a main-frame PDFPlugin), send the magnification information
12632        straight through to it. Also, don't provide smart-zoom in this case, since there
12633        is currently no way to collect geometry information from the plugin.
12634
12635        * UIProcess/mac/ViewGestureController.h:
12636        * UIProcess/mac/ViewGestureController.messages.in:
12637        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
12638        (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
12639        (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
12640        Retrieve WebFrame::handlesPageScaleGesture and return it to the UI process.
12641
126422014-01-09  Dan Bernstein  <mitz@apple.com>
12643
12644        [Cocoa] Promote WKBackForwardList{,Item}.h to public
12645        https://bugs.webkit.org/show_bug.cgi?id=126707
12646
12647        Reviewed by Sam Weinig.
12648
12649        * UIProcess/API/Cocoa/WKBackForwardList.h: Stopped including the C API header.
12650        * UIProcess/API/Cocoa/WKBackForwardListItem.h: Ditto.
12651        * WebKit2.xcodeproj/project.pbxproj: Made the headers public.
12652
126532014-01-09  Zan Dobersek  <zdobersek@igalia.com>
12654
12655        Revert back to using the -n option when producing symbolic links to the GTK-specific
12656        API directories under Source/WebKit2/. Removing the option in r161497 resulted in
12657        recursive links being created under those directories since the links were dereferenced.
12658
12659        To actually ensure that the link is created anew, remove it so it is reconstructed.
12660
12661        Rubber-stamped by Carlos Garcia Campos.
12662
12663        * GNUmakefile.am:
12664
126652014-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>
12666
12667        Crash when starting a download before the network process has been launched
12668        https://bugs.webkit.org/show_bug.cgi?id=126258
12669
12670        Reviewed by Anders Carlsson.
12671
12672        We need to ensure there's a network process running before
12673        starting a new download like we do when using the web process.
12674
12675        * UIProcess/WebContext.cpp:
12676        (WebKit::WebContext::download): Use ChildProcessProxy::send()
12677        instead of using the connection to make sure messages are queued
12678        if the process is still launching.
12679        (WebKit::WebContext::createDownloadProxy): Call
12680        ensureNetworkProcess() before creating the download proxy.
12681
126822014-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>
12683
12684        [SOUP] Partial file left on disk after a download fails or is cancelled in WebKit2
12685        https://bugs.webkit.org/show_bug.cgi?id=126686
12686
12687        Reviewed by Martin Robinson.
12688
12689        We are currently writing the downloads directly into the
12690        destination, and when a download fails or is cancelled after the
12691        destination has been decided, the partial file is left on the
12692        disk. Deleting the final file is not safe because there might be a
12693        race condition, so we can use an intermediate file like other
12694        browsers do, a file in the same directory than the target
12695        destination but with .wkdownload suffix, that is removed when the
12696        download fails or is cancelled. If the download finishes
12697        successfully the intermediate file is renamed to the final
12698        destination.
12699
12700        * Shared/Downloads/soup/DownloadSoup.cpp:
12701        (WebKit::DownloadClient::deleteIntermediateFileInNeeded): Delete
12702        the intermdiate file if it's been created already.
12703        (WebKit::DownloadClient::downloadFailed): Call deleteIntermediateFileInNeeded.
12704        (WebKit::DownloadClient::didReceiveResponse): Do not create a
12705        SoupMessage for the given ResourceResponse that is not used, cache
12706        the ResourceResponse instead. Create the intermediate file and use
12707        it instead of the final destination.
12708        (WebKit::DownloadClient::didReceiveData): Use the cached
12709        ResourceResponse directly.
12710        (WebKit::DownloadClient::didFinishLoading): Rename the
12711        intermediate file to the final destination and write the metadata
12712        in the final target destination.
12713        (WebKit::DownloadClient::cancel): Handle the download cancellation
12714        here, removing the intermediate file is needed and cancelling the
12715        ResourceHandle and the download.
12716        (WebKit::DownloadClient::handleResponseLater):
12717        (WebKit::Download::cancel): Let the client handle the cancellation.
12718
127192014-01-08  Jinwoo Song  <jinwoo7.song@samsung.com>
12720
12721        WebKit2 EFL build fix after r161530
12722        https://bugs.webkit.org/show_bug.cgi?id=126678
12723
12724        Reviewed by Tim Horton.
12725
12726        Add PLATFORM(MAC) guards around setExposedRect() and exposedRect()
12727        in DrawingArea and WebFrameLoaderClient.
12728
12729        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12730        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
12731        * WebProcess/WebPage/DrawingArea.h:
12732
127332014-01-08  Martin Hock  <mhock@apple.com>
12734
12735        Stub for Session API
12736        https://bugs.webkit.org/show_bug.cgi?id=126626
12737
12738        Reviewed by Sam Weinig.
12739
12740        * Shared/API/c/WKBase.h:
12741        * Shared/API/c/WKSharedAPICast.h:
12742        * Shared/APIObject.h:
12743        * UIProcess/API/C/WKSessionRef.cpp: Added.
12744        (WKSessionGetTypeID):
12745        (WKSessionGetEphemeral):
12746        * UIProcess/API/C/WKSessionRef.h: Added.
12747        * UIProcess/API/Cocoa/WKSession.h: Added.
12748        * UIProcess/API/Cocoa/WKSession.mm: Added.
12749        (-[WKSession dealloc]):
12750        (-[WKSession ephemeral]):
12751        (-[WKSession API::]):
12752        * UIProcess/API/Cocoa/WKSessionInternal.h: Added.
12753        (WebKit::wrapper):
12754        * UIProcess/APISession.cpp: Added.
12755        (API::Session::Session):
12756        (API::Session::create):
12757        (API::Session::isEphemeral):
12758        (API::Session::~Session):
12759        * UIProcess/APISession.h: Added.
12760        * WebKit2.xcodeproj/project.pbxproj:
12761
127622014-01-08  Claudio Saavedra  <csaavedra@igalia.com>
12763
12764        [GTK] Add xdg.origin.url extended attribute to downloads
12765        https://bugs.webkit.org/show_bug.cgi?id=126638
12766
12767        Reviewed by Carlos Garcia Campos.
12768
12769        This is proposed by fdo in
12770        http://www.freedesktop.org/wiki/CommonExtendedAttributes/
12771
12772        * Shared/Downloads/soup/DownloadSoup.cpp:
12773        (WebKit::DownloadClient::didReceiveResponse):
12774
127752014-01-08  Simon Fraser  <simon.fraser@apple.com>
12776
12777        Make WK2 build when ENABLE(ASYNC_SCROLLING) is not defined
12778        https://bugs.webkit.org/show_bug.cgi?id=126675
12779
12780        Reviewed by Tim Horton.
12781        
12782        We need a stub RemoteScrollingCoordinatorTransaction outside
12783        the #ifdef so that RemoteLayerTreeDrawingAreaProxy messages
12784        work.
12785
12786        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
12787        (WebKit::RemoteScrollingCoordinatorTransaction::encode):
12788        (WebKit::RemoteScrollingCoordinatorTransaction::decode):
12789        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
12790        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
12791        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
12792        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
12793        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
12794
127952014-01-08  Tim Horton  <timothy_horton@apple.com>
12796
12797        TileController can fail to receive exposedRect from the drawing area if set at the wrong time
12798        https://bugs.webkit.org/show_bug.cgi?id=126536
12799
12800        Reviewed by Simon Fraser.
12801
12802        * Configurations/WebKit2.xcconfig:
12803        * UIProcess/API/mac/WKView.mm:
12804        (-[WKView _updateViewExposedRect]):
12805        * UIProcess/DrawingAreaProxy.cpp:
12806        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
12807        (WebKit::DrawingAreaProxy::setExposedRect):
12808        (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
12809        * UIProcess/DrawingAreaProxy.h:
12810        (WebKit::DrawingAreaProxy::exposedRect):
12811        * UIProcess/WebPageProxy.cpp:
12812        (WebKit::WebPageProxy::WebPageProxy):
12813        (WebKit::WebPageProxy::close):
12814        * UIProcess/WebPageProxy.h:
12815        Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.
12816
12817        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
12818        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
12819        Push the exposedRect down into WebCore.
12820
12821        * WebProcess/WebPage/DrawingArea.h:
12822        * WebProcess/WebPage/DrawingArea.messages.in:
12823        * WebProcess/WebPage/WebPage.cpp:
12824        * WebProcess/WebPage/WebPage.h:
12825        * WebProcess/WebPage/WebPage.messages.in:
12826        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
12827        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
12828        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
12829        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
12830        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12831        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12832        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
12833        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
12834        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
12835        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
12836        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
12837        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
12838        Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
12839        to indicate that now.
12840        Don't scroll an infinite rect; it won't work.
12841
128422014-01-08  Simon Fraser  <simon.fraser@apple.com>
12843
12844        Add ENABLE(ASYNC_SCROLLING) guards around WK2 scrolling files
12845        https://bugs.webkit.org/show_bug.cgi?id=126672
12846
12847        Reviewed by Tim Horton.
12848        
12849        Protected WK2 scrolling files with ENABLE(ASYNC_SCROLLING) guards.
12850
12851        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
12852        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
12853        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
12854        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
12855        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
12856        * UIProcess/Scrolling/RemoteScrollingTree.h:
12857        * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
12858        * WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in:
12859        * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
12860
128612014-01-08  Ryuan Choi  <ryuan.choi@samsung.com>
12862
12863        [EFL][WK2] Add API to execute js script
12864        https://bugs.webkit.org/show_bug.cgi?id=101904
12865
12866        Reviewed by Gyuyoung Kim.
12867
12868        Add ewk_view_script_execute() which provides a way to execute user
12869        script.
12870
12871        * UIProcess/API/efl/ewk_context.cpp:
12872        Added JS Global Contexta which is required to deserialize to the script
12873        value from the callback.
12874        (EwkContext::EwkContext):
12875        (EwkContext::~EwkContext):
12876        (EwkContext::jsGlobalContext):
12877        * UIProcess/API/efl/ewk_context_private.h:
12878        * UIProcess/API/efl/ewk_view.cpp:
12879        (Ewk_View_Script_Execute_Callback_Context::Ewk_View_Script_Execute_Callback_Context):
12880        (runJavaScriptCallback):
12881        (ewk_view_script_execute):
12882        * UIProcess/API/efl/ewk_view.h:
12883        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
12884        Added unit test for ewk_view_script_execute.
12885        (scriptExecuteCallback):
12886        (TEST_F):
12887
128882014-01-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
12889
12890        [EFL] Move efl API test binaries to TestWebKitAPI/EWebKit|EWebKit2
12891        https://bugs.webkit.org/show_bug.cgi?id=126615
12892
12893        Reviewed by Martin Robinson.
12894
12895        Now EFL API test binaries created in *bin* directory with other executables.
12896        It would be good to move them to their folder. This patch moves them to
12897        *TestWebKitAPI/EWebKit|EWebKit2* directories.
12898
12899        * PlatformEfl.cmake:
12900
129012014-01-08  Anders Carlsson  <andersca@apple.com>
12902
12903        Add WTF::StringView and use it for grammar checking
12904        https://bugs.webkit.org/show_bug.cgi?id=126644
12905
12906        Reviewed by Antti Koivisto.
12907
12908        Use a StringView and remove a FIXME.
12909
12910        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
12911        (WebKit::WebEditorClient::checkTextOfParagraph):
12912        * WebProcess/WebCoreSupport/WebEditorClient.h:
12913
129142014-01-08  Zan Dobersek  <zdobersek@igalia.com>
12915
12916        [Automake] Scripts for generated build targets do not necessarily produce their output
12917        https://bugs.webkit.org/show_bug.cgi?id=126378
12918
12919        Reviewed by Carlos Garcia Campos.
12920
12921        * GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include
12922        directories to actual source directories. This doesn't replace the original symbolic link,
12923        which can lead to the actual link being older than its dependencies and subsequent constant
12924        relinking at every build.
12925
129262014-01-07  Eric Carlson  <eric.carlson@apple.com>
12927
12928        Teach MediaSessionManager to manage interruptions
12929        https://bugs.webkit.org/show_bug.cgi?id=126530
12930
12931        Reviewed by Sam Weinig.
12932
12933        * CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.
12934
129352014-01-07  Jinwoo Song  <jinwoo7.song@samsung.com>
12936
12937        [EFL][WK2] Fix failing ewk_view_page_contents_get() API test
12938        https://bugs.webkit.org/show_bug.cgi?id=126609
12939
12940        Reviewed by Gyuyoung Kim.
12941
12942        Compare the amount of bytes in the expected result file with
12943        the size of callback data from the API since the 'Date' field
12944        and the boundaries will be different on each case.
12945        Refered the test case of GTK port.
12946
12947        * UIProcess/API/efl/tests/resources/resultMHTML.mht: Added.
12948        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
12949        (EWK2ViewTest::PageContentsAsMHTMLCallback):
12950
129512014-01-07  Seokju Kwon  <seokju@webkit.org>
12952
12953        Web Inspector: Remove leftover 'device metrics' code
12954        https://bugs.webkit.org/show_bug.cgi?id=126607
12955
12956        Reviewed by Joseph Pecoraro.
12957
12958        * mac/WebKit2.order: Update after removing InspectorClient::overrideDeviceMetrics().
12959
129602014-01-07  Simon Fraser  <simon.fraser@apple.com>
12961
12962        Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2.framework/PrivateHeaders,
12963        but that's bad because there are test result files in there now. Fix by having the project copy specific
12964        .py files into rivateHeaders/webkit2
12965
12966        * WebKit2.xcodeproj/project.pbxproj:
12967
129682014-01-07  Simon Fraser  <simon.fraser@apple.com>
12969
12970        Make it possible for MessageReceivers to pass messages to their superclass, and use it for RemoteLayerTreeDrawingAreaProxy
12971        https://bugs.webkit.org/show_bug.cgi?id=126558
12972
12973        Reviewed by Anders Carlsson.
12974        
12975        In a message.in file it's now possible to say:
12976        
12977        messages -> Subclass : Superclass { ... } and the generated code will
12978        call Superclass::didReceiveMessage().
12979        
12980        Use this to have RemoteLayerTreeDrawingAreaProxy pass messages up to
12981        DrawingAreaProxy.
12982
12983        * Scripts/webkit2/messages.py:
12984        (generate_message_handler):
12985        * Scripts/webkit2/model.py:
12986        (MessageReceiver.__init__):
12987        * Scripts/webkit2/parser.py:
12988        (parse):
12989        * UIProcess/DrawingAreaProxy.h:
12990        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
12991
129922014-01-07  Simon Fraser  <simon.fraser@apple.com>
12993
12994        Add message-generation test for non-legacy message receiver
12995        https://bugs.webkit.org/show_bug.cgi?id=126603
12996
12997        Reviewed by Anders Carlsson.
12998        
12999        Add expected output files for a non-legacy message receiver, and add
13000        testing for same.
13001
13002        * Scripts/webkit2/LegacyMessageReceiver-expected.cpp: Copied from Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp.
13003        * Scripts/webkit2/LegacyMessages-expected.h: Added.
13004        * Scripts/webkit2/MessageReceiver-expected.cpp:
13005        (WebKit::WebPage::didReceiveMessage):
13006        (WebKit::WebPage::didReceiveSyncMessage):
13007        * Scripts/webkit2/messages_unittest.py:
13008        (MessagesTest.setUp):
13009        (ParsingTest.test_receiver):
13010        (HeaderTest.test_header):
13011        (ReceiverImplementationTest.test_receiver_implementation):
13012        * Scripts/webkit2/test-legacy-messages.in: Copied from Source/WebKit2/Scripts/webkit2/test-messages.in.
13013        * Scripts/webkit2/test-messages.in:
13014
130152014-01-07  Simon Fraser  <simon.fraser@apple.com>
13016
13017        Move expected results out of messages_unittest.py into separate files
13018        https://bugs.webkit.org/show_bug.cgi?id=126602
13019
13020        Reviewed by Anders Carlsson.
13021        
13022        Uninline the test input and output from messages_unittest.py to make
13023        it easier to add more tests.
13024
13025        * Scripts/webkit2/MessageReceiver-expected.cpp: Added.
13026        (WebKit::WebPage::didReceiveWebPageMessage):
13027        (WebKit::WebPage::didReceiveSyncWebPageMessage):
13028        * Scripts/webkit2/Messages-expected.h: Added.
13029        * Scripts/webkit2/messages_unittest.py:
13030        (ParsingTest.test_receiver):
13031        * Scripts/webkit2/test-messages.in: Added.
13032
130332014-01-07  Commit Queue  <commit-queue@webkit.org>
13034
13035        Unreviewed, rolling out r161447.
13036        http://trac.webkit.org/changeset/161447
13037        https://bugs.webkit.org/show_bug.cgi?id=126592
13038
13039        needs some more work (Requested by thorton on #webkit).
13040
13041        * UIProcess/API/mac/WKView.mm:
13042        (-[WKView _updateViewExposedRect]):
13043        * UIProcess/DrawingAreaProxy.cpp:
13044        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
13045        * UIProcess/DrawingAreaProxy.h:
13046        * UIProcess/WebPageProxy.cpp:
13047        (WebKit::WebPageProxy::WebPageProxy):
13048        (WebKit::WebPageProxy::close):
13049        (WebKit::WebPageProxy::viewExposedRectChanged):
13050        (WebKit::WebPageProxy::exposedRectChangedTimerFired):
13051        * UIProcess/WebPageProxy.h:
13052        (WebKit::WebPageProxy::viewExposedRect):
13053        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13054        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
13055        * WebProcess/WebPage/DrawingArea.h:
13056        (WebKit::DrawingArea::setExposedRect):
13057        (WebKit::DrawingArea::setClipsToExposedRect):
13058        * WebProcess/WebPage/DrawingArea.messages.in:
13059        * WebProcess/WebPage/WebPage.cpp:
13060        (WebKit::WebPage::viewExposedRectChanged):
13061        * WebProcess/WebPage/WebPage.h:
13062        * WebProcess/WebPage/WebPage.messages.in:
13063        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
13064        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
13065        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
13066        (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
13067        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
13068        (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
13069        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
13070        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13071        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
13072        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
13073        (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
13074        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
13075        (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
13076        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
13077        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
13078        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
13079
130802014-01-07  Tim Horton  <timothy_horton@apple.com>
13081
13082        TileController can fail to receive exposedRect from the drawing area if set at the wrong time
13083        https://bugs.webkit.org/show_bug.cgi?id=126536
13084
13085        Reviewed by Anders Carlsson.
13086
13087        * UIProcess/API/mac/WKView.mm:
13088        (-[WKView _updateViewExposedRect]):
13089        * UIProcess/DrawingAreaProxy.cpp:
13090        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
13091        (WebKit::DrawingAreaProxy::setExposedRect):
13092        (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
13093        * UIProcess/DrawingAreaProxy.h:
13094        (WebKit::DrawingAreaProxy::exposedRect):
13095        * UIProcess/WebPageProxy.cpp:
13096        (WebKit::WebPageProxy::WebPageProxy):
13097        (WebKit::WebPageProxy::close):
13098        * UIProcess/WebPageProxy.h:
13099        Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.
13100
13101        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13102        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
13103        Push the exposedRect down into WebCore.
13104
13105        * WebProcess/WebPage/DrawingArea.h:
13106        * WebProcess/WebPage/DrawingArea.messages.in:
13107        * WebProcess/WebPage/WebPage.cpp:
13108        * WebProcess/WebPage/WebPage.h:
13109        * WebProcess/WebPage/WebPage.messages.in:
13110        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
13111        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
13112        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
13113        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
13114        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
13115        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13116        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
13117        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
13118        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
13119        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
13120        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
13121        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
13122        Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
13123        to indicate that now.
13124        Don't scroll an infinite rect; it won't work.
13125
131262014-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
13127
13128        Crash when trying to register a custom scheme before network process has been launched
13129        https://bugs.webkit.org/show_bug.cgi?id=126385
13130
13131        Reviewed by Anders Carlsson.
13132
13133        WebContext::registerSchemeForCustomProtocol() uses
13134        sendToNetworkingProcess() to send the message to the appropriate
13135        networking process. In the case of using web process,
13136        sendToNetworkingProcess() first checks if there's already a web
13137        process, doing nothing otherwise, but when using the network
13138        process it assumes there's already a network process. In both
13139        cases it's safe to do nothing, because the schemes will be passed
13140        as creation parameters to the process when launched.
13141
13142        * UIProcess/WebContext.h:
13143        (WebKit::WebContext::sendToNetworkingProcess):
13144
131452014-01-07  Jinwoo Song  <jinwoo7.song@samsung.com>
13146
13147        WebKit2 EFL build fix after r161387
13148        https://bugs.webkit.org/show_bug.cgi?id=126566
13149
13150        Reviewed by Andreas Kling.
13151
13152        Add missing ASYNC_SCROLLING macro.
13153
13154        * UIProcess/WebPageProxy.h:
13155        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13156        * WebProcess/WebCoreSupport/WebChromeClient.h:
13157        * WebProcess/WebPage/WebPage.cpp:
13158        * WebProcess/WebPage/WebPage.h:
13159
131602014-01-06  Simon Fraser  <simon.fraser@apple.com>
13161
13162        Hook up the RemoteScrollingCoordinator
13163        https://bugs.webkit.org/show_bug.cgi?id=126547
13164
13165        Reviewed by Tim Horton.
13166        
13167        Hook up the RemoteScrollingCoordinator in WebKit2.
13168        
13169        When the RemoteLayerTreeDrawingArea is in use, WebPageProxy creates
13170        a RemoteScrollingCoordinator, and hands it mouseWheel events. It then
13171        scrolls via a RemoteScrollingTree constructed from state tree commits from the
13172        WebProcess.
13173        
13174        Scrolling tree commits happen via a transaction received by RemoteLayerTreeDrawingAreaProxy,
13175        atomically with layer tree transactions.
13176
13177        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
13178        (WebKit::RemoteScrollingCoordinatorTransaction::encode): Fix encoding for some
13179        cases seen in WebKitTestRunner where a page has no ScrollingCoordinator.
13180        * UIProcess/WebPageProxy.cpp:
13181        (WebKit::WebPageProxy::initializeWebPage): Create the RemoteScrollingCoordinatorProxy
13182        when using a remote layer tree drawing area.
13183        (WebKit::WebPageProxy::handleWheelEvent): Pass to the scrolling coordinator.
13184        * UIProcess/WebPageProxy.h:
13185        (WebKit::WebPageProxy::scrollingCoordinatorProxy):
13186        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: Include the RemoteScrollingCoordinatorTransaction.
13187        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
13188        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
13189        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
13190        * UIProcess/mac/RemoteLayerTreeHost.mm:
13191        (WebKit::RemoteLayerTreeHost::getLayer): It's valid to get a 0 layerID (e.g. when
13192        a layer disappears) so handle this case.
13193        * WebKit2.xcodeproj/project.pbxproj:
13194        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
13195        (WebKit::WebChromeClient::createScrollingCoordinator): Override to create the
13196        RemoteScrollingCoordinator in the WebProcess.
13197        * WebProcess/WebCoreSupport/WebChromeClient.h:
13198        * WebProcess/WebPage/WebPage.cpp:
13199        (WebKit::WebPage::scrollingCoordinator): Not inline to avoid polluting the
13200        header with #includes.
13201        * WebProcess/WebPage/WebPage.h:
13202        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Say that we want a ScrollingCoordinator.
13203        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
13204        (WebKit::RemoteLayerTreeDrawingArea::flushLayers): Add the scrollingTransaction to the
13205        message.
13206
132072014-01-06  Jaehun Lim  <ljaehun.lim@samsung.com>
13208
13209        Use hasEnabledVerticalScrollbar instead of hasEnabledHorizontalScrollbar.
13210        https://bugs.webkit.org/show_bug.cgi?id=126546
13211
13212        Reviewed by Simon Fraser.
13213
13214        hasEnabledHorizontalScrollbar is used twice.
13215
13216        * Shared/WebCoreArgumentCoders.cpp:
13217        (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):
13218
132192014-01-06  Simon Fraser  <simon.fraser@apple.com>
13220
13221        Another build fix.
13222        
13223        Need to look in the WebProcess/Scrolling directory for .messages.in files.
13224
13225        * DerivedSources.make:
13226
132272014-01-06  Simon Fraser  <simon.fraser@apple.com>
13228
13229        Fix the build.
13230        
13231        Need to add RemoteScrollingCoordinator to MESSAGE_RECEIVERS so that
13232        RemoteScrollingCoordinatorMessages.h gets generated.
13233
13234        * DerivedSources.make:
13235
132362014-01-06  Simon Fraser  <simon.fraser@apple.com>
13237
13238        Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling()
13239        https://bugs.webkit.org/show_bug.cgi?id=126529
13240
13241        Reviewed by Tim Horton.
13242        
13243        Change function name from using "threaded" to "async" terminology.
13244
13245        * WebProcess/WebPage/DrawingArea.h:
13246        (WebKit::DrawingArea::supportsAsyncScrolling):
13247        * WebProcess/WebPage/WebPage.cpp:
13248        (WebKit::WebPage::WebPage):
13249        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
13250
132512014-01-06  Simon Fraser  <simon.fraser@apple.com>
13252
13253        Add new files for UI-side scrolling
13254        https://bugs.webkit.org/show_bug.cgi?id=126532
13255
13256        Reviewed by Anders Carlson.
13257        
13258        Add RemoteScrollingCoordinator, RemoteScrollingCoordinatorProxy,
13259        RemoteScrollingCoordinatorTransaction, RemoteScrollingTree. 
13260        
13261        These allow the scrolling tree to be used in the UI process.
13262        RemoteScrollingCoordinator builds a ScrollingStateTree, which is
13263        encoded by RemoteScrollingCoordinatorTransaction. Decoding the
13264        transaction recreates that ScrollingStateTree in the UI process,
13265        and RemoteScrollingCoordinatorProxy "commits" that to update
13266        the RemoteScrollingTree.
13267        
13268        New classes are not hooked up to anything yet.
13269
13270        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: Added.
13271        (ArgumentCoder<ScrollingStateNode>::encode):
13272        (ArgumentCoder<ScrollingStateNode>::decode):
13273        (ArgumentCoder<ScrollingStateScrollingNode>::encode):
13274        (ArgumentCoder<ScrollingStateScrollingNode>::decode):
13275        (ArgumentCoder<ScrollingStateFixedNode>::encode):
13276        (ArgumentCoder<ScrollingStateFixedNode>::decode):
13277        (ArgumentCoder<ScrollingStateStickyNode>::encode):
13278        (ArgumentCoder<ScrollingStateStickyNode>::decode):
13279        (WebKit::encodeNodeAndDescendants):
13280        (WebKit::RemoteScrollingCoordinatorTransaction::encode):
13281        (WebKit::RemoteScrollingCoordinatorTransaction::decode):
13282        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: Added.
13283        (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode):
13284        (WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree):
13285        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Added.
13286        (WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
13287        (WebKit::RemoteScrollingCoordinatorProxy::~RemoteScrollingCoordinatorProxy):
13288        (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
13289        (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree):
13290        (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
13291        (WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):
13292        (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):
13293        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added.
13294        * UIProcess/Scrolling/RemoteScrollingTree.cpp: Added.
13295        (WebKit::RemoteScrollingTree::create):
13296        (WebKit::RemoteScrollingTree::RemoteScrollingTree):
13297        (WebKit::RemoteScrollingTree::~RemoteScrollingTree):
13298        (WebKit::RemoteScrollingTree::tryToHandleWheelEvent):
13299        (WebKit::RemoteScrollingTree::handleWheelEventPhase):
13300        (WebKit::RemoteScrollingTree::updateMainFrameScrollPosition):
13301        (WebKit::RemoteScrollingTree::createNode):
13302        * UIProcess/Scrolling/RemoteScrollingTree.h: Added.
13303        (WebKit::RemoteScrollingTree::scrollingCoordinatorProxy):
13304        * WebKit2.xcodeproj/project.pbxproj:
13305        * WebProcess/Scrolling/RemoteScrollingCoordinator.h: Added.
13306        (WebKit::RemoteScrollingCoordinator::create):
13307        * WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in: Added.
13308        * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: Added.
13309        (WebKit::RemoteScrollingCoordinator::RemoteScrollingCoordinator):
13310        (WebKit::RemoteScrollingCoordinator::~RemoteScrollingCoordinator):
13311        (WebKit::RemoteScrollingCoordinator::scheduleTreeStateCommit):
13312        (WebKit::RemoteScrollingCoordinator::createScrollingTreeNode):
13313        (WebKit::RemoteScrollingCoordinator::isRubberBandInProgress):
13314        (WebKit::RemoteScrollingCoordinator::setScrollPinningBehavior):
13315        (WebKit::RemoteScrollingCoordinator::buildTransaction):
13316        (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):
13317
133182014-01-06  Martin Robinson  <mrobinson@igalia.com>
13319
13320        Small build fix for the GTK+ CMake port
13321
13322        * PlatformGTK.cmake: Include a missing GeoClue include directory.
13323
133242014-01-06  Simon Fraser  <simon.fraser@apple.com>
13325
13326        Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling()
13327        https://bugs.webkit.org/show_bug.cgi?id=126529
13328
13329        Reviewed by Tim Horton.
13330        
13331        Change function name from using "threaded" to "async" terminology.
13332
13333        * WebProcess/WebPage/DrawingArea.h:
13334        (WebKit::DrawingArea::supportsAsyncScrolling):
13335        * WebProcess/WebPage/WebPage.cpp:
13336        (WebKit::WebPage::WebPage):
13337        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
13338
133392014-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>
13340
13341        [GTK] Move all GTK/GObject unit tests to Tools/TestWebKitAPI
13342        https://bugs.webkit.org/show_bug.cgi?id=126342
13343
13344        Reviewed by Gustavo Noronha Silva.
13345
13346        * UIProcess/API/gtk/tests/CMakeLists.txt: Removed.
13347        * UIProcess/API/gtk/tests/GNUmakefile.am: Removed.
13348
133492014-01-06  Enrica Casucci  <enrica@apple.com>
13350
13351        Add support to retrieve the autocorrection context.
13352        https://bugs.webkit.org/show_bug.cgi?id=126479
13353
13354        Reviewed by Sam Weinig.
13355        
13356        We are adding the support to retrieve the input context for autocorrection
13357        and input methods on iOS. The implementation is provided both via synchronous
13358        and asynchronous calls to the WebProcess.
13359
13360        * Platform/IPC/HandleMessage.h: Added template with zero input parameters and six reply parameters.
13361        * UIProcess/API/ios/WKInteractionView.mm:
13362        (autocorrectionData):
13363        (-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
13364        (autocorrectionResult):
13365        (-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
13366        (autocorrectionContext):
13367        (-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):
13368        (-[WKInteractionView hasMarkedText]):
13369        (-[WKInteractionView _startAssistingNode]):
13370        (+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
13371        (-[WKAutocorrectionContext dealloc]):
13372        * UIProcess/AutoCorrectionCallback.h:
13373        (WebKit::AutocorrectionContextCallback::create):
13374        (WebKit::AutocorrectionContextCallback::~AutocorrectionContextCallback):
13375        (WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue):
13376        (WebKit::AutocorrectionContextCallback::invalidate):
13377        (WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback):
13378        * UIProcess/WebPageProxy.cpp:
13379        (WebKit::WebPageProxy::resetState):
13380        * UIProcess/WebPageProxy.h:
13381        * UIProcess/WebPageProxy.messages.in:
13382        * UIProcess/ios/WebPageProxyIOS.mm:
13383        (WebKit::WebPageProxy::autocorrectionContextCallback):
13384        (WebKit::WebPageProxy::requestAutocorrectionContext):
13385        (WebKit::WebPageProxy::getAutocorrectionContext):
13386        * WebProcess/WebPage/WebPage.h:
13387        * WebProcess/WebPage/WebPage.messages.in:
13388        * WebProcess/WebPage/ios/WebPageIOS.mm:
13389        (WebKit::computeAutocorrectionContext):
13390        (WebKit::WebPage::requestAutocorrectionContext):
13391        (WebKit::WebPage::getAutocorrectionContext):
13392
133932014-01-06  Gavin Barraclough  <barraclough@apple.com>
13394
13395        Move ViewState to WebCore
13396        https://bugs.webkit.org/show_bug.cgi?id=126488
13397
13398        Reviewed by Anders Carlson.
13399
13400        This change also partial reverts handling of LayerHostingMode, making this
13401        a separate message again. With hindsight the new way of doing this wasn't
13402        in all ways simpler, and it won't make sense to move this to WebCore.
13403
13404        * Shared/ViewState.h: Removed.
13405            - Moved to WebCore.
13406        * Shared/WebPageCreationParameters.cpp:
13407        (WebKit::WebPageCreationParameters::encode):
13408        (WebKit::WebPageCreationParameters::decode):
13409        * Shared/WebPageCreationParameters.h:
13410            - Added layerHostingMode.
13411        * UIProcess/API/mac/PageClientImpl.h:
13412        * UIProcess/API/mac/PageClientImpl.mm:
13413        (WebKit::PageClientImpl::PageClientImpl):
13414        (WebKit::PageClientImpl::viewLayerHostingMode):
13415        * UIProcess/PageClient.h:
13416        (WebKit::PageClient::viewLayerHostingMode):
13417            - Revert isLayerWindowServerHosted -> viewLayerHostingMode.
13418        * UIProcess/WebPageProxy.cpp:
13419        (WebKit::WebPageProxy::WebPageProxy):
13420            - Added back m_layerHostingMode.
13421        (WebKit::WebPageProxy::updateViewState):
13422            - Removed IsLayerWindowServerHosted from ViewState.
13423        (WebKit::WebPageProxy::viewStateDidChange):
13424            - Added SetLayerHostingMode message.
13425        (WebKit::WebPageProxy::initializeCreationParameters):
13426            - Pass layerHostingMode.
13427        * UIProcess/WebPageProxy.h:
13428        (WebKit::WebPageProxy::isInWindow):
13429        (WebKit::WebPageProxy::isViewVisible):
13430            - ViewState moved to WebCore.
13431        * WebKit2.xcodeproj/project.pbxproj:
13432            - Removed ViewState.
13433        * WebProcess/Plugins/PluginView.cpp:
13434        (WebKit::PluginView::setLayerHostingMode):
13435        (WebKit::PluginView::platformViewStateDidChange):
13436            - Separated setLayerHostingMode from platformViewStateDidChange.
13437        * WebProcess/Plugins/PluginView.h:
13438        * WebProcess/WebPage/DrawingArea.h:
13439        (WebKit::DrawingArea::viewStateDidChange):
13440        (WebKit::DrawingArea::setLayerHostingMode):
13441            - Added virtual function, overridden in TiledCoreAnimationDrawingArea.
13442        * WebProcess/WebPage/WebPage.cpp:
13443        (WebKit::WebPage::WebPage):
13444        (WebKit::WebPage::setLayerHostingMode):
13445            - Separated setLayerHostingMode from platformViewStateDidChange.
13446        * WebProcess/WebPage/WebPage.h:
13447        (WebKit::WebPage::isVisible):
13448        (WebKit::WebPage::layerHostingMode):
13449            - ViewState moved to WebCore.
13450        * WebProcess/WebPage/WebPage.messages.in:
13451            - Added SetLayerHostingMode message.
13452        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
13453        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13454        (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
13455            - viewStateDidChange no longer calls setLayerHostingMode (this is called by WebPage).
13456
134572014-01-06  Martin Robinson  <mrobinson@igalia.com>
13458
13459        [GTK] [CMake] Parallel builds still fail when building WebKit2 GObject API unit tests
13460        https://bugs.webkit.org/show_bug.cgi?id=126465
13461
13462        Reviewed by Gustavo Noronha Silva.
13463
13464        * UIProcess/API/gtk/tests/CMakeLists.txt: Explicitly link the libWebKit2APITestCore static object against
13465        WebKit2, which seems to be necessary on my new system. Also create an explicit dependency between the
13466        injected bundle tests and WebKit2, because they need to use the generated headers.
13467
134682014-01-06  László Langó  <lango@inf.u-szeged.hu>
13469
13470        Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
13471        https://bugs.webkit.org/show_bug.cgi?id=124579
13472
13473        Reviewed by Anders Carlsson.
13474
13475        * NetworkProcess/NetworkResourceLoader.cpp:
13476        (WebKit::NetworkResourceLoader::didReceiveData):
13477        (WebKit::NetworkResourceLoader::willStopBufferingData):
13478        * NetworkProcess/NetworkResourceLoader.h:
13479        * Shared/Downloads/soup/DownloadSoup.cpp:
13480        (WebKit::DownloadClient::didReceiveData):
13481
134822014-01-04  Simon Fraser  <simon.fraser@apple.com>
13483
13484        Add encoding of ViewportConstraint and ScrollingParameter types
13485        https://bugs.webkit.org/show_bug.cgi?id=126497
13486
13487        Reviewed by Andreas Kling.
13488        
13489        Add encoding/decoding of ScrollableAreaParameters, FixedPositionViewportConstraints
13490        and StickyPositionViewportConstraints.
13491
13492        * Shared/WebCoreArgumentCoders.cpp:
13493        (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):
13494        (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode):
13495        (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode):
13496        (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode):
13497        (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode):
13498        (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode):
13499        * Shared/WebCoreArgumentCoders.h:
13500
135012014-01-05  Simon Fraser  <simon.fraser@apple.com>
13502
13503        Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
13504        https://bugs.webkit.org/show_bug.cgi?id=126501
13505
13506        Reviewed by Sam Weinig.
13507        
13508        Soon we shall need to do atomic commits of both the remote layer tree, and
13509        the remote scrolling tree. Pave the way by moving responsibility for remote
13510        layer tree committing to RemoteLayerTreeDrawingArea.
13511        
13512        So move the flushing logic from RemoteLayerTreeHost to RemoteLayerTreeDrawingArea.
13513        After this change, RemoteLayerTreeHost doesn't do much and could possibly be
13514        removed in future.
13515        
13516        Also add type-safe casting to GraphicsLayer and DrawingArea.
13517
13518        * DerivedSources.make: Out with RemoteLayerTreeHost, in with RemoteLayerTreeDrawingAreaProxy
13519        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
13520        (WebKit::RemoteLayerTreeDrawingAreaProxy::remoteLayerTreeHost):
13521        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in: Renamed from Source/WebKit2/UIProcess/mac/RemoteLayerTreeHost.messages.in.
13522        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
13523        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Add message receiver.
13524        (WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy): Remove message receiver.
13525        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Hand the transaction off to the layer
13526        tree host.
13527        * UIProcess/mac/RemoteLayerTreeHost.h:
13528        * UIProcess/mac/RemoteLayerTreeHost.mm:
13529        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost): No longer a message receiver.
13530        (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
13531        (WebKit::RemoteLayerTreeHost::updateLayerTree):
13532        * WebKit2.xcodeproj/project.pbxproj:
13533        * WebProcess/WebPage/DrawingArea.h:
13534        (WebKit::DrawingArea::type):
13535        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
13536        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
13537        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
13538        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
13539        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
13540        (WebKit::RemoteLayerTreeContext::flushOutOfTreeLayers):
13541        (WebKit::RemoteLayerTreeContext::buildTransaction):
13542        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
13543        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
13544        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
13545        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
13546        (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
13547        (WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
13548        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
13549        (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):
13550        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
13551
135522014-01-05  Martin Robinson  <mrobinson@igalia.com>
13553
13554        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
13555        https://bugs.webkit.org/show_bug.cgi?id=116379
13556
13557        Reviewed by Gustavo Noronha Silva.
13558
13559        * CMakeLists.txt: Install the plugin process to the new LIBEXEC directory, which
13560        for non-GTK+ platforms is the same as EXEC.
13561        * PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move
13562        a couple installed and generated headers to the installed headers list. Rename the
13563        headers list to be consistent with the WebKit1 build. No longer use a variable for
13564        the name of the plugin process, as it's unnecessary.
13565
135662014-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
13567
13568        [GTK] Stop installing WebKit2 C API headers
13569        https://bugs.webkit.org/show_bug.cgi?id=126489
13570
13571        Reviewed by Martin Robinson.
13572
13573        We are not actually maintaining the API/ABI compatibility of the
13574        WebKit2 C API, it's only used internally by the public GTK+ API
13575        and nobody is using it.
13576
13577        * GNUmakefile.am:
13578        * GNUmakefile.list.am:
13579
135802014-01-05  Gavin Barraclough  <barraclough@apple.com>
13581
13582        Move process suppression of WebProcess to Page (from UIProcess)
13583        https://bugs.webkit.org/show_bug.cgi?id=126480
13584
13585        Reviewed by Sam Weinig.
13586
13587        Let each page take a UserActivity rather than having to coalesce this state, and take different activity
13588        tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.
13589
13590        * Shared/mac/ChildProcessMac.mm:
13591        (WebKit::ChildProcess::platformInitialize):
13592            - Don't start with process supression disabled; this is unnecessary,
13593              message from the UIProcess should wake.
13594        * UIProcess/mac/WebProcessProxyMac.mm:
13595        (WebKit::WebProcessProxy::updateProcessSuppressionState):
13596            - Don't send explicit messages to supress the WebProcess, it handles this for itself.
13597        * WebProcess/WebPage/WebPage.cpp:
13598        (WebKit::WebPage::WebPage):
13599            - call setIsVisuallyIdle.
13600        (WebKit::WebPage::setViewState):
13601            - call setIsVisuallyIdle.
13602        (WebKit::WebPage::updatePreferences):
13603            - Use m_suppressionDisabled to disable supression if the WebPreference is set.
13604        (WebKit::WebPage::setIsVisuallyIdle):
13605            - setThrottled -> setIsVisuallyIdle.
13606        * WebProcess/WebPage/WebPage.h:
13607            - setThrottled -> setIsVisuallyIdle, added m_suppressionDisabled.
13608        * WebProcess/WebProcess.cpp:
13609        * WebProcess/WebProcess.h:
13610        (WebKit::WebProcess::shouldForceScreenFontSubstitution):
13611            - Removed setProcessSuppressionEnabled - WebPage now detects the supression change.
13612
136132014-01-04  Martin Robinson  <mrobinson@igalia.com>
13614
13615        [GTK] [CMake] Improve the way we locate gobject-introspection
13616        https://bugs.webkit.org/show_bug.cgi?id=126452
13617
13618        Reviewed by Philippe Normand.
13619
13620        * PlatformGTK.cmake: Use the new introspection variables.
13621
136222014-01-04  Zan Dobersek  <zdobersek@igalia.com>
13623
13624        Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
13625        https://bugs.webkit.org/show_bug.cgi?id=126439
13626
13627        Reviewed by Andreas Kling.
13628
13629        Instead of relying on std::pair and std::make_pair symbols being present in the current scope
13630        through the pair and make_pair symbols, the std:: specifier should be used explicitly.
13631
13632        * Shared/mac/ArgumentCodersMac.mm:
13633        (IPC::encode):
13634        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
13635        (WebKit::WebNotificationManagerProxy::show):
13636        (WebKit::WebNotificationManagerProxy::cancel):
13637        (WebKit::WebNotificationManagerProxy::didDestroyNotification):
13638        * UIProcess/Notifications/WebNotificationManagerProxy.h:
13639        * UIProcess/WebContext.cpp:
13640        (WebKit::WebContext::createNewWebProcess):
13641        * UIProcess/WebContext.h:
13642
136432014-01-03  Piotr Grad  <p.grad@samsung.com>
13644
13645        Build brake after 161045 on EFL port with WebKit2 and gcc 4.6.3
13646        https://bugs.webkit.org/show_bug.cgi?id=126383
13647
13648        Reviewed by Sam Weinig.
13649
13650        Class identifier was missing.
13651
13652        * DatabaseProcess/DatabaseProcess.h:
13653        * NetworkProcess/NetworkProcess.h:
13654        * PluginProcess/PluginProcess.h:
13655        * Shared/mac/CookieStorageShim.h:
13656        * UIProcess/Plugins/PluginProcessManager.h:
13657        * UIProcess/WebPageProxy.cpp:
13658        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
13659        * WebProcess/WebProcess.h:
13660
136612014-01-03  Seokju Kwon  <seokju@webkit.org>
13662
13663        Unreviewed build fix on non-Mac port
13664
13665        * Shared/API/c/WKDeprecatedFunctions.cpp: Add ENABLE(MAC) guard for "WKContextPrivateMac.h".
13666
136672014-01-03  Gavin Barraclough  <barraclough@apple.com>
13668
13669        Simplify process suppression state calculation
13670        https://bugs.webkit.org/show_bug.cgi?id=126473
13671
13672        Reviewed by Geoffrey Garen & Sam Weinig.
13673
13674        Don't check the application occlusion state (this is covered by the pages already),
13675        and let the page check visually idle. Remove layers of functions.
13676
13677        * UIProcess/Network/NetworkProcessProxy.cpp:
13678        (WebKit::NetworkProcessProxy::didFinishLaunching):
13679            - Let the network process nap if all processes in its context are napping.*
13680              (* Except not really. We currently leak a boost onto the process anyway.)
13681        * UIProcess/Plugins/PluginProcessProxy.cpp:
13682        (WebKit::PluginProcessProxy::didFinishLaunching):
13683            - Let the plugin process nap if all processes in all contexts are napping.
13684        * UIProcess/WebContext.h:
13685            - Remove canEnableProcessSuppressionForNetworkProcess & canEnableProcessSuppressionForWebProcess
13686            - canEnableProcessSuppressionForGlobalChildProcesses -> processSuppressionIsEnabledForAllContexts
13687            - combine updateProcessSuppressionStateOfChildProcesses & updateProcessSuppressionStateOfGlobalChildProcesses
13688                -> updateProcessSuppressionState
13689        * UIProcess/WebPageProxy.cpp:
13690        (WebKit::WebPageProxy::isProcessSuppressible):
13691            - WebProcess is supressible if IsVisuallyIdle.
13692        (WebKit::WebPageProxy::viewStateDidChange):
13693            - WebProcessProxy should updateProcessSuppressionState when IsVisuallyIdle changes.
13694        * UIProcess/WebPageProxy.h:
13695        * UIProcess/WebProcessProxy.cpp:
13696        (WebKit::WebProcessProxy::createWebPage):
13697        (WebKit::WebProcessProxy::addExistingWebPage):
13698        (WebKit::WebProcessProxy::pageSuppressibilityChanged):
13699        (WebKit::WebProcessProxy::pagePreferencesChanged):
13700            - pageIsProcessSuppressible -> isProcessSuppressible
13701        * UIProcess/WebProcessProxy.h:
13702        * UIProcess/mac/WebContextMac.mm:
13703        (WebKit::WebContext::updateProcessSuppressionState):
13704            - Update supression state of network & plugin processes.
13705        (WebKit::WebContext::processSuppressionIsEnabledForAllContexts):
13706            - Changed iterator style, made a static member of WebContext.
13707        * UIProcess/mac/WebProcessProxyMac.mm:
13708        (WebKit::WebProcessProxy::updateProcessSuppressionState):
13709            - Ask the WebContext to update supression state.
13710        * UIProcess/mac/WindowServerConnection.h:
13711        * UIProcess/mac/WindowServerConnection.mm:
13712        (WebKit::WindowServerConnection::windowServerConnectionStateChanged):
13713        (WebKit::WindowServerConnection::WindowServerConnection):
13714            - Remove application occlusion state.
13715
137162014-01-03  Tim Horton  <timothy_horton@apple.com>
13717
13718        [iOS] [WK2] TileController creates all tiles on first paint, making it slow and consuming lots of memory
13719        https://bugs.webkit.org/show_bug.cgi?id=126457
13720
13721        Reviewed by Simon Fraser.
13722
13723        Instead of making all of the tiles all of the time, we should use the
13724        view-exposed-rect mechanism to inform TileController about what portion
13725        of the WKContentView is currently exposed by the WKScrollView.
13726
13727        * UIProcess/API/ios/WKContentView.h:
13728        * UIProcess/API/ios/WKContentView.mm:
13729        (-[WKContentView setViewportSize:]):
13730        (-[WKContentView didFinishScrollTo:]):
13731        (-[WKContentView didScrollTo:]):
13732        Inform the WebPageProxy that our exposed rect changed.
13733
13734        * UIProcess/API/ios/WKView.mm:
13735        (-[WKView scrollViewDidScroll:]):
13736        Inform the WKContentView that we've scrolled at all.
13737        Rename the existing WKContentView didScrollTo: to didFinishScrollTo:,
13738        because it is expected to only fire when a scroll lands. Add didScrollTo:,
13739        which fires continually as scrolling progresses.
13740
13741        * UIProcess/WebPageProxy.cpp:
13742        (WebKit::WebPageProxy::WebPageProxy):
13743        (WebKit::WebPageProxy::viewExposedRectChanged):
13744        (WebKit::WebPageProxy::exposedRectChangedTimerFired):
13745        * UIProcess/WebPageProxy.h:
13746        (WebKit::WebPageProxy::viewExposedRect):
13747        * UIProcess/mac/WebPageProxyMac.mm:
13748        Move view-exposed-rect stuff to WebPageProxy so it can be built on both
13749        Mac and iOS, and un-!PLATFORM(IOS) some of the related members.
13750
13751        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
13752        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
13753        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
13754        (WebKit::RemoteLayerTreeDrawingArea::setExposedRect):
13755        (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
13756        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
13757        (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
13758        (WebKit::RemoteLayerTreeDrawingArea::mainFrameTiledBacking):
13759        Steal TiledCoreAnimationDrawingArea's exposed-rect code.
13760        Note that on iOS, we don't need to manually offset the exposed rect by
13761        the scroll position, because the scroll position is already baked into
13762        the exposed rect, and WebCore's notion of the scroll position will be
13763        inaccurate until the scroll lands.
13764
137652014-01-03  Simon Fraser  <simon.fraser@apple.com>
13766
13767        Give all PlatformCALayers a PlatformLayerID, not just remote ones
13768        https://bugs.webkit.org/show_bug.cgi?id=126466
13769
13770        Reviewed by Tim Horton.
13771
13772        The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
13773        which is confusing, and is necessary because the underlying PlatformLayer
13774        inside a GraphicsLayer can change. In order to hide some of this complexity,
13775        expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
13776        can hold onto to test for underlying layer swapping.
13777        
13778        GraphicsLayerCARemote and PlatformCALayerRemote can now just use the
13779        primaryLayerID() function exposed via the base class.
13780
13781        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
13782        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
13783        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
13784        (PlatformCALayerRemote::PlatformCALayerRemote):
13785        (PlatformCALayerRemote::recursiveBuildTransaction):
13786        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
13787
137882014-01-03  Dan Bernstein  <mitz@apple.com>
13789
13790        [Cocoa] Expose session state API
13791        https://bugs.webkit.org/show_bug.cgi?id=126463
13792
13793        Reviewed by Sam Weinig.
13794
13795        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method.
13796        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
13797        (-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData.
13798        (-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls
13799        WebPageProxy::restoreFromSessionState.
13800
138012014-01-03  Gavin Barraclough  <barraclough@apple.com>
13802
13803        Remove SPI, user default for disabling process suppression
13804        https://bugs.webkit.org/show_bug.cgi?id=126458
13805
13806        Reviewed by Sam Weinig.
13807
13808        * Shared/API/c/WKDeprecatedFunctions.cpp:
13809        (WKContextGetProcessSuppressionEnabled):
13810        (WKContextSetProcessSuppressionEnabled):
13811            - depracated SPI.
13812        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
13813            - depracated SPI.
13814        * UIProcess/WebContext.cpp:
13815        (WebKit::WebContext::WebContext):
13816            - removed m_processSuppressionEnabled.
13817        * UIProcess/WebContext.h:
13818            - removed setProcessSuppressionEnabled, processSuppressionEnabled implementation,
13819              processSuppressionEnabledChanged, m_processSuppressionEnabled.
13820        * UIProcess/mac/WebContextMac.mm:
13821        (WebKit::WebContext::platformInitialize):
13822            - removed m_processSuppressionEnabled.
13823        (WebKit::WebContext::processSuppressionEnabled):
13824            - check whether all pages in all processes are suppressible.
13825        (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
13826            - removed call to omitProcessSuppression, m_processSuppressionEnabled -> processSuppressionEnabled().
13827        (WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
13828            - removed call to omitProcessSuppression, processSuppressionEnabled (we don't care if a page in a difference process is not suppresible).
13829        (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
13830            - removed call to omitProcessSuppression, s_processSuppressionEnabledForAllContexts -> processSuppressionIsEnabledForAllContexts().
13831
138322014-01-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
13833
13834        [WK2][CoordinatedGraphics] Removing repeated protected keyword in WebView
13835        https://bugs.webkit.org/show_bug.cgi?id=126462
13836
13837        Reviewed by Simon Fraser.
13838
13839        * UIProcess/CoordinatedGraphics/WebView.h:
13840
138412014-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
13842
13843        Define WebProcess::usesNetworkProcess unconditionally
13844        https://bugs.webkit.org/show_bug.cgi?id=126208
13845
13846        Reviewed by Martin Robinson.
13847
13848        Returning false when network process is not enabled like
13849        WebContext does. This way we reduce the amount of ifdefs used when
13850        checking whether network process is in use.
13851
13852        * UIProcess/gtk/WebContextGtk.cpp:
13853        (WebKit::WebContext::platformInitializeWebProcess): Remove #ifdef
13854        and only setup network features when not using network process.
13855        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
13856        (WebKit::WebPlatformStrategies::isAvailable): Remove #ifdef.
13857        * WebProcess/WebProcess.cpp:
13858        (WebKit::WebProcess::downloadManager):
13859        (WebKit::WebProcess::shouldTerminate):
13860        (WebKit::WebProcess::usesNetworkProcess):
13861        * WebProcess/WebProcess.h:
13862        * WebProcess/mac/WebProcessMac.mm:
13863        (WebKit::WebProcess::platformSetCacheModel): Remove #ifdef.
13864        (WebKit::WebProcess::platformInitializeWebProcess): Ditto.
13865        * WebProcess/soup/WebProcessSoup.cpp:
13866        (WebKit::WebProcess::platformSetCacheModel): Ditto.
13867        (WebKit::WebProcess::platformClearResourceCaches): Ditto.
13868        (WebKit::WebProcess::platformInitializeWebProcess): Ditto.
13869        (WebKit::WebProcess::platformTerminate): Only remove the language
13870        observer when not using network process.
13871        (WebKit::WebProcess::setIgnoreTLSErrors): Assert when this is
13872        called with network process enabled.
13873        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Ditto.
13874
138752014-01-03  Jinwoo Song  <jinwoo7.song@samsung.com>
13876
13877        VibrationPattern should allocate an single vector instance for single integer input
13878        https://bugs.webkit.org/show_bug.cgi?id=126417
13879
13880        Reviewed by Gyuyoung Kim.
13881
13882        Fix a vibration unit test regression after r161139. Also remove unnecessary test cases. 
13883
13884        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
13885        (EWK2ViewTest::loadVibrationHTMLString):
13886        (TEST_F):
13887
138882014-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>
13889
13890        [GTK] Add API to WebKitResponsePolicyDecision to check if the MIME type can be shown
13891        https://bugs.webkit.org/show_bug.cgi?id=124652
13892
13893        Reviewed by Martin Robinson.
13894
13895        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
13896        (decidePolicyForResponse): Pass canShowMIMEType to
13897        webkitResponsePolicyDecisionCreate.
13898        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
13899        (webkit_response_policy_decision_is_mime_type_supported): Return
13900        canShowMIMEType.
13901        (webkitResponsePolicyDecisionCreate): Set the canShowMIMEType
13902        member from the given parameter.
13903        * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
13904        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
13905        * UIProcess/API/gtk/WebKitWebView.cpp:
13906        (webkitWebViewDecidePolicy): Use the new API instead of
13907        webkit_web_view_can_show_mime_type() since it's more efficient.
13908        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
13909        * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
13910        (testResponsePolicy): Test the new API.
13911
139122014-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>
13913
13914        REGRESSION(r160304): [GTK] Disable libtool fast install
13915        https://bugs.webkit.org/show_bug.cgi?id=126381
13916
13917        Reviewed by Martin Robinson.
13918
13919        Remove -no-fast-install ld flag since fast install is now disabled
13920        globally.
13921
13922        * GNUmakefile.am:
13923        * UIProcess/API/gtk/tests/GNUmakefile.am:
13924
139252014-01-02  Ryuan Choi  <ryuan.choi@samsung.com>
13926
13927        [EFL][WK2] Remove defaultPageGroupIdentifier not to make the confusion
13928        https://bugs.webkit.org/show_bug.cgi?id=126249
13929
13930        Reviewed by Gyuyoung Kim.
13931
13932        ewk_page_group_create always creates new page group,
13933        but the identifiers of page groups will be same as "defaultPageGroupIdentifier" when passed 0 or "".
13934        It is unnecessary and just makes the confusion.
13935
13936        This patch let WebPageGroup generate unique identifier if 0 or "" is passed as argument.
13937
13938        * UIProcess/API/efl/ewk_page_group.cpp:
13939        (EwkPageGroup::create):
13940        * UIProcess/API/efl/ewk_page_group_private.h:
13941
139422014-01-02  Zan Dobersek  <zdobersek@igalia.com>
13943
13944        [GTK] Switch from WTF::Function to std::function in WebProcessTest
13945        https://bugs.webkit.org/show_bug.cgi?id=126397
13946
13947        Reviewed by Anders Carlsson.
13948
13949        Use std::function<> and std::bind() instead of WTF::Function and WTF::bind,
13950        following the effort of using STL concepts where possible.
13951
13952        * UIProcess/API/gtk/tests/WebProcessTest.cpp:
13953        (WebProcessTest::add):
13954        * UIProcess/API/gtk/tests/WebProcessTest.h:
13955
139562014-01-02  Gavin Barraclough  <barraclough@apple.com>
13957
13958        Refactor NSActivity handling code from ChildProcess to UserActivity
13959        https://bugs.webkit.org/show_bug.cgi?id=126330
13960
13961        Reviewed by Sam Weinig.
13962
13963        UserActivity is a mechanism to express to the operating system (where appropriate)
13964        that a user initiated activity is taking place, and as such that resources should be
13965        made available to the process accordingly.
13966
13967        Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
13968        to hold different activity tokens for different user actions (which simplifies the
13969        handling, and aides debugging since the token can more accurately express the activity
13970        taking place), and also will allow us to avoid the layering difficulty of calling back
13971        up the stack to WebKit to register that an activity is taking place.
13972
13973        * Shared/ChildProcess.cpp:
13974        (WebKit::ChildProcess::ChildProcess):
13975            - removed fields to directly manage NSActivity, use UserActivity objects instead.
13976        * Shared/ChildProcess.h:
13977        (WebKit::ChildProcess::processSuppressionEnabled):
13978            - changed to initialize new fields.
13979        * Shared/mac/ChildProcessMac.mm:
13980        (WebKit::ChildProcess::setProcessSuppressionEnabled):
13981            - implemented in terms of UserActivity m_processSuppressionDisabled.
13982        (WebKit::ChildProcess::incrementActiveTaskCount):
13983            - implemented in terms of UserActivity m_activeTasks.
13984        (WebKit::ChildProcess::decrementActiveTaskCount):
13985            - implemented in terms of UserActivity m_activeTasks.
13986        (WebKit::ChildProcess::platformInitialize):
13987            - implemented in terms of UserActivity m_processSuppressionDisabled.
13988
139892014-01-02  Gavin Barraclough  <barraclough@apple.com>
13990
13991        Propagate WindowServer modifications state to WebProcess
13992        https://bugs.webkit.org/show_bug.cgi?id=126356
13993
13994        Reviewed by Sam Weinig.
13995
13996        This will be necessary to move control of process suppression to the WebProcess.
13997        IsVisuallyIdle implies the process has stopped painting, or painted rects are
13998        occluded and not actually being composited. State is provided on a per
13999        WindowServer connection basis, and as such may produce (safe) false positives.
14000
14001        * Shared/ViewState.h:
14002            - added IsVisuallyIdle.
14003        * UIProcess/API/mac/PageClientImpl.h:
14004        * UIProcess/API/mac/PageClientImpl.mm:
14005        (WebKit::PageClientImpl::isVisuallyIdle):
14006            - added, on mac checks WindowServerConnection.
14007        * UIProcess/PageClient.h:
14008        (WebKit::PageClient::isVisuallyIdle):
14009            - base implementation purely based on isViewVisible.
14010        * UIProcess/WebContext.cpp:
14011        (WebKit::WebContext::windowServerConnectionStateChanged):
14012            - broadcast the state change.
14013        * UIProcess/WebContext.h:
14014        * UIProcess/WebPageProxy.cpp:
14015        (WebKit::WebPageProxy::updateViewState):
14016        (WebKit::WebPageProxy::viewStateDidChange):
14017            - propagate IsVisuallyIdle.
14018        * UIProcess/WebProcessProxy.cpp:
14019        (WebKit::WebProcessProxy::windowServerConnectionStateChanged):
14020            - broadcast the state change.
14021        * UIProcess/WebProcessProxy.h:
14022            - add windowServerConnectionStateChanged.
14023        * UIProcess/mac/WebContextMac.mm:
14024        (WebKit::WebContext::updateProcessSuppressionStateOfGlobalChildProcesses):
14025            - moved from static in fle to static member of class.
14026        (WebKit::WebContext::platformInitialize):
14027            - no need to enableOcclusionNotifications.
14028        (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
14029        (WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
14030        (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
14031            - changed to call WindowServerConnection.
14032        (WebKit::WebContext::processSuppressionEnabledChanged):
14033            - don't remove/reregister occlusion notifications.
14034        * UIProcess/mac/WindowServerConnection.h: Added.
14035        (WebKit::WindowServerConnection::applicationIsOccluded):
14036        (WebKit::WindowServerConnection::applicationWindowModificationsHaveStopped):
14037            - accessors.
14038        * UIProcess/mac/WindowServerConnection.mm: Added.
14039        (WebKit::WindowServerConnection::applicationBecameOccluded):
14040        (WebKit::WindowServerConnection::applicationWindowModificationsStopped):
14041        (WebKit::WindowServerConnection::applicationBecameVisible):
14042        (WebKit::WindowServerConnection::applicationWindowModificationsStarted):
14043            - handle notifications from the WindowServer.
14044        (WebKit::WindowServerConnection::windowServerConnectionStateChanged):
14045            - broadcast the state change.
14046        (WebKit::WindowServerConnection::shared):
14047            - accessor for singleton object.
14048        (WebKit::WindowServerConnection::WindowServerConnection):
14049            - constructor inizializes fields & register notification handlers.
14050        * WebKit2.xcodeproj/project.pbxproj:
14051            - added new files.
14052        * config.h:
14053            - added HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS.
14054
140552014-01-02  Gavin Barraclough  <barraclough@apple.com>
14056
14057        Remove WindowIsVisible
14058        https://bugs.webkit.org/show_bug.cgi?id=126270
14059
14060        Reviewed by Tim Horton.
14061
14062        We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
14063        The latter detects that the content is hidden in fewer cases than the former, and as such, the
14064        former is always preferable.
14065
14066        This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
14067        Plugin::windowVisibilityChanged.
14068
14069        * Shared/ViewState.h:
14070            - remove WindowIsVisible.
14071        * UIProcess/API/mac/PageClientImpl.h:
14072        * UIProcess/API/mac/PageClientImpl.mm:
14073            - remove isWindowVisible.
14074        * UIProcess/API/mac/WKView.mm:
14075        (-[WKView viewDidMoveToWindow]):
14076        (-[WKView _windowDidMiniaturize:]):
14077        (-[WKView _windowDidDeminiaturize:]):
14078        (-[WKView _windowDidOrderOffScreen:]):
14079        (-[WKView _windowDidOrderOnScreen:]):
14080            - remove ViewState::WindowIsVisible.
14081        * UIProcess/PageClient.h:
14082            - remove isWindowVisible.
14083        * UIProcess/WebPageProxy.cpp:
14084        (WebKit::WebPageProxy::updateViewState):
14085            - remove handling of ViewState::WindowIsVisible.
14086        * WebProcess/Plugins/PluginView.cpp:
14087        (WebKit::PluginView::setIsVisible):
14088        (WebKit::PluginView::didInitializePlugin):
14089        * WebProcess/Plugins/PluginView.h:
14090            - setWindowIsVisible -> setIsVisible.
14091        * WebProcess/WebPage/WebPage.cpp:
14092        (WebKit::WebPage::WebPage):
14093        (WebKit::WebPage::setViewIsVisible):
14094        (WebKit::WebPage::setViewState):
14095        (WebKit::WebPage::windowAndWebPageAreFocused):
14096        * WebProcess/WebPage/WebPage.h:
14097        (WebKit::WebPage::isVisible):
14098            - remove m_windowIsVisible, setWindowIsVisible (implementation moved to setViewIsVisible).
14099
141002014-01-02  Gavin Barraclough  <barraclough@apple.com>
14101
14102        Refactor ViewState handling for drawing area / plugins
14103        https://bugs.webkit.org/show_bug.cgi?id=126272
14104
14105        Reviewed by Tim Horton.
14106
14107        Instead of all ViewState changes being handled by the WebPage, notify the DrawingArea & PluginView to better encapsulate.
14108
14109        * WebProcess/Plugins/PluginView.cpp:
14110        (WebKit::PluginView::viewStateDidChange):
14111        (WebKit::PluginView::platformViewStateDidChange):
14112            - added, handle changes in ViewState relevant to PluginView.
14113        (WebKit::PluginView::didInitializePlugin):
14114            - helper function removed.
14115        * WebProcess/Plugins/PluginView.h:
14116            - added/removed function declarations.
14117        * WebProcess/WebPage/DrawingArea.h:
14118        (WebKit::DrawingArea::viewStateDidChange):
14119            - declare viewStateDidChange.
14120        * WebProcess/WebPage/WebPage.cpp:
14121        (WebKit::WebPage::setActive):
14122            - no need to notify plugin.
14123        (WebKit::WebPage::setViewIsVisible):
14124            - no need to notify drawing area.
14125        (WebKit::WebPage::setViewState):
14126            - send viewStateDidChange to drawing area / plugin.
14127        (WebKit::WebPage::setWindowIsVisible):
14128            - no need to notify plugin.
14129        * WebProcess/WebPage/WebPage.h:
14130        (WebKit::WebPage::layerHostingMode):
14131            - removed setLayerHostingMode.
14132        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
14133            - declare viewStateDidChange.
14134        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
14135        (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
14136            - added, handle changes in ViewState relevant to DrawingArea.
14137
141382014-01-02  Alexey Proskuryakov  <ap@apple.com>
14139
14140        Merge didMoveOnscreen / page visibility to isVisible
14141        https://bugs.webkit.org/show_bug.cgi?id=126268
14142
14143        Build fix.
14144
14145        * UIProcess/WebContext.h: Removed some accidental input.
14146
141472014-01-02  Gavin Barraclough  <barraclough@apple.com>
14148
14149        Merge didMoveOnscreen / page visibility to isVisible
14150        https://bugs.webkit.org/show_bug.cgi?id=126268
14151
14152        Reviewed by Tim Horton.
14153
14154        The onscreen state most closely tracks view visibility (though currently
14155        also tracks a mix of in-window state). Make more consistent, simplify,
14156        and move all animation suspension logic to Page, so it can be controlled
14157        by the PageThrottler.
14158
14159        * WebProcess/WebPage/WebPage.cpp:
14160        (WebKit::WebPage::WebPage):
14161        (WebKit::WebPage::setViewIsVisible):
14162            - updateVisibilityState -> setIsVisible.
14163        (WebKit::WebPage::setIsInWindow):
14164            - remove redundant willMoveOffscreen/didMoveOnscreen calls - this is handled
14165              by setIsVisible.
14166        (WebKit::WebPage::setMayStartMediaWhenInWindow):
14167            - isOnscreen -> isInWindow. We start media when the view is in a window, not
14168              when the view is visible.
14169        (WebKit::WebPage::setVisibilityStatePrerender):
14170            - setVisibilityState -> setIsPrerender.
14171
141722013-12-23  Oliver Hunt  <oliver@apple.com>
14173
14174        Refactor PutPropertySlot to be aware of custom properties
14175        https://bugs.webkit.org/show_bug.cgi?id=126187
14176
14177        Reviewed by Antti Koivisto.
14178
14179        Update for new method signatures.
14180
14181        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
14182        (WebKit::NPJSObject::setProperty):
14183
141842014-01-02  Simon Fraser  <simon.fraser@apple.com>
14185
14186        Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
14187        https://bugs.webkit.org/show_bug.cgi?id=126389
14188
14189        Reviewed by Tim Horton.
14190        
14191        Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
14192        and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.
14193        
14194        * WebProcess/WebPage/EventDispatcher.cpp:
14195        (WebKit::EventDispatcher::addScrollingTreeForPage): The ScrollingTree is exposed on
14196        AsyncScrollingCoordinator now, not ScrollingCoordinator, so we have to cast here.
14197        * WebProcess/WebPage/WebPage.cpp: m_useThreadedScrolling -> m_useAsyncScrolling terminology change.
14198        (WebKit::WebPage::WebPage):
14199        (WebKit::WebPage::~WebPage):
14200        * WebProcess/WebPage/WebPage.h:
14201        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
14202        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Cast to AsyncScrollingCoordinator in order
14203        to get to the ScrollingTree.
14204
142052014-01-01  Simon Fraser  <simon.fraser@apple.com>
14206
14207        Create a ThreadedScrollingTree subclass of ScrollingTree, and push all knowledge of the scrolling thread into it
14208        https://bugs.webkit.org/show_bug.cgi?id=126362
14209
14210        Reviewed by Sam Weinig.
14211
14212        Eventually we'll have a ScrollingTree in situations where there is no scrolling
14213        thread, so make the ScrollingTree base class thread-agnostic (but threadsafe),
14214        and subclass it in ThreadedScrollingTree for scrolling-thread-specific functionality.
14215        
14216        The ScrollingTree base class also no longer needs to know about the
14217        ScrollingCoordinator.
14218
14219        ScrollingCoordinatorMac creates a ThreadedScrollingTree.
14220
14221        * WebProcess/WebPage/EventDispatcher.cpp:
14222        (WebKit::EventDispatcher::addScrollingTreeForPage):
14223        (WebKit::EventDispatcher::wheelEvent):
14224        * WebProcess/WebPage/EventDispatcher.h:
14225
142262014-01-01  Simon Fraser  <simon.fraser@apple.com>
14227
14228        Add a typedef for PlatformLayerID on GraphicsLayer, and migrate RemoteLayerTreeTransaction to use it
14229        https://bugs.webkit.org/show_bug.cgi?id=126346
14230
14231        Reviewed by Tim Horton.
14232        
14233        Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID,
14234        so it makes more sense to put this layerID type on GraphicsLayer as
14235        GraphicsLayer::PlatformLayerID.
14236        
14237        Also add some type cast macros for PlatformCALayer and subclasses, and use them
14238        where appropriate.
14239
14240        * Shared/mac/RemoteLayerTreePropertyApplier.h:
14241        * Shared/mac/RemoteLayerTreeTransaction.h:
14242        (WebKit::RemoteLayerTreeTransaction::rootLayerID):
14243        (WebKit::RemoteLayerTreeTransaction::changedLayers):
14244        (WebKit::RemoteLayerTreeTransaction::destroyedLayers):
14245        * Shared/mac/RemoteLayerTreeTransaction.mm:
14246        (WebKit::RemoteLayerTreeTransaction::decode):
14247        (WebKit::RemoteLayerTreeTransaction::setRootLayerID):
14248        (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
14249        (WebKit::RemoteLayerTreeTextStream::operator<<):
14250        (WebKit::dumpChangedLayers):
14251        (WebKit::RemoteLayerTreeTransaction::description):
14252        * UIProcess/mac/RemoteLayerTreeHost.h:
14253        * UIProcess/mac/RemoteLayerTreeHost.mm:
14254        (WebKit::RemoteLayerTreeHost::commit):
14255        (WebKit::RemoteLayerTreeHost::getLayer):
14256        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
14257        (WebKit::GraphicsLayerCARemote::primaryLayerID):
14258        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
14259        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
14260        (generateLayerID):
14261        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
14262        (WebKit::PlatformCALayerRemote::layerID):
14263        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
14264
142652014-01-01  Martin Robinson  <mrobinson@igalia.com>
14266
14267        [GTK] [CMake] Fix the WEBKIT_SRC_DIR define when building the WebKit2 GObject API unit tests
14268        https://bugs.webkit.org/show_bug.cgi?id=126350
14269
14270        Reviewed by Carlos Garcia Campos.
14271
14272        * UIProcess/API/gtk/tests/CMakeLists.txt: Fix the define.
14273
142742014-01-01  Martin Robinson  <mrobinson@igalia.com>
14275
14276        [GTK] Rename libtestnetscapeplugin to libTestNetscapePlugin
14277        https://bugs.webkit.org/show_bug.cgi?id=126349
14278
14279        Reviewed by Carlos Garcia Campos.
14280
14281        All CMake ports use "libTestNetscapePlugin," so choosing the same
14282        name in the autotools port will make the transition easier.
14283
14284        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
14285        (testWebContextGetPlugins): Use the new plugin library name.
14286
142872013-12-31  Brendan Long  <b.long@cablelabs.com>
14288
14289        [Gtk] WebKitWebInspector has build warnings due to uninitialized didChangeAttachedWidth member
14290        https://bugs.webkit.org/show_bug.cgi?id=126353
14291
14292        Reviewed by Martin Robinson.
14293
14294        * UIProcess/API/gtk/WebKitWebInspector.cpp:
14295        (webkitWebInspectorCreate): Initialize didChangeAttachedWidth to null.
14296
142972013-12-30  Martin Robinson  <mrobinson@igalia.com>
14298
14299        [GTK] Make the output directory of GObject unit tests binaries consistent with the CMake build
14300        https://bugs.webkit.org/show_bug.cgi?id=126297
14301
14302        Reviewed by Philippe Normand.
14303
14304        * UIProcess/API/gtk/tests/GNUmakefile.am: Build the tests in the new directory.
14305        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
14306        (startTestServer): Update the search path to reflect the new directory.
14307        * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
14308        (startTestServer): Update the search path to reflect the new directory.
14309
143102013-12-30  Carlos Garcia Campos  <cgarcia@igalia.com>
14311
14312        [SOUP] willSendRequest doesn't work after a redirect
14313        https://bugs.webkit.org/show_bug.cgi?id=126290
14314
14315        Reviewed by Martin Robinson.
14316
14317        Add test cases to test send-request signal in case of
14318        redirection.
14319
14320        * UIProcess/API/gtk/tests/TestResources.cpp:
14321        (testWebResourceSendRequest):
14322        (serverCallback):
14323
143242013-12-30  Commit Queue  <commit-queue@webkit.org>
14325
14326        Unreviewed, rolling out r161157, r161158, r161160, r161161,
14327        r161163, and r161165.
14328        http://trac.webkit.org/changeset/161157
14329        http://trac.webkit.org/changeset/161158
14330        http://trac.webkit.org/changeset/161160
14331        http://trac.webkit.org/changeset/161161
14332        http://trac.webkit.org/changeset/161163
14333        http://trac.webkit.org/changeset/161165
14334        https://bugs.webkit.org/show_bug.cgi?id=126332
14335
14336        Broke WebKit2 on Mountain Lion (Requested by ap on #webkit).
14337
14338        * Platform/IPC/Connection.cpp:
14339        (IPC::Connection::SyncMessageState::wait):
14340        (IPC::Connection::sendSyncMessageFromSecondaryThread):
14341        (IPC::Connection::waitForSyncReply):
14342
143432013-12-30  Anders Carlsson  <andersca@apple.com>
14344
14345        Try to fix the test failures seen on the bots.
14346
14347        Restore the BinarySemaphore behavior that existed in the old binary semaphore.
14348
14349        * Platform/IPC/Connection.cpp:
14350        (IPC::BinarySemaphore::wait):
14351
143522013-12-30  Anders Carlsson  <andersca@apple.com>
14353
14354        Fix.
14355
14356        * WebProcess/WebProcess.cpp:
14357        (WebKit::WebProcess::plugInDidStartFromOrigin):
14358
143592013-12-30  Anders Carlsson  <andersca@apple.com>
14360
14361        Move more of Connection over to STL threading primitives
14362        https://bugs.webkit.org/show_bug.cgi?id=126308
14363
14364        Reviewed by Andreas Kling.
14365
14366        * Platform/IPC/Connection.cpp:
14367        (IPC::BinarySemaphore::BinarySemaphore):
14368        (IPC::BinarySemaphore::~BinarySemaphore):
14369        (IPC::BinarySemaphore::signal):
14370        (IPC::BinarySemaphore::wait):
14371        Add a new BinarySemaphore class that uses STL threading primitives.
14372
14373        (IPC::Connection::SyncMessageState::wait):
14374        Change this to take a std::chrono::steady_clock::time_point.
14375
14376        (IPC::absoluteTimeoutTime):
14377        Add a new helper function that returns a time point from the a given timeout duration,
14378        correctly handling the max duration.
14379
14380        (IPC::Connection::sendSyncMessageFromSecondaryThread):
14381        Pass a time point to SyncMessageState::wait.
14382
14383        (IPC::Connection::waitForSyncReply):
14384        Ditto.
14385
143862013-12-30  Ryuan Choi  <ryuan.choi@samsung.com>
14387
14388        Replace remaning CoreIPC namespace to IPC
14389        https://bugs.webkit.org/show_bug.cgi?id=126305
14390
14391        Reviewed by Anders Carlsson.
14392
14393        This patch replaces CoreIPC to IPC in build scripts and source codes to fix
14394        build break on CMake based ports and Gtk (and maybe IOS).
14395
14396        * CMakeLists.txt:
14397        * GNUmakefile.am:
14398        * GNUmakefile.list.am:
14399        * Platform/IPC/unix/AttachmentUnix.cpp:
14400        * Platform/IPC/unix/ConnectionUnix.cpp:
14401        * Platform/unix/SharedMemoryUnix.cpp:
14402        (WebKit::SharedMemory::Handle::encode):
14403        (WebKit::SharedMemory::Handle::decode):
14404        (WebKit::SharedMemory::Handle::releaseToAttachment):
14405        * PlatformEfl.cmake:
14406        * PlatformGTK.cmake:
14407        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
14408        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
14409        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
14410        (WebKit::WebCoordinatedSurface::Handle::encode):
14411        (WebKit::WebCoordinatedSurface::Handle::decode):
14412        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
14413        * Shared/Downloads/soup/DownloadSoup.cpp:
14414        (WebKit::DownloadClient::downloadFailed):
14415        (WebKit::Download::cancel):
14416        * Shared/WebBatteryStatus.cpp:
14417        (WebKit::WebBatteryStatus::Data::encode):
14418        (WebKit::WebBatteryStatus::Data::decode):
14419        * Shared/WebBatteryStatus.h:
14420        * Shared/WebNetworkInfo.cpp:
14421        (WebKit::WebNetworkInfo::Data::encode):
14422        (WebKit::WebNetworkInfo::Data::decode):
14423        * Shared/WebNetworkInfo.h:
14424        * Shared/cairo/LayerTreeContextCairo.cpp:
14425        (WebKit::LayerTreeContext::encode):
14426        (WebKit::LayerTreeContext::decode):
14427        * Shared/efl/LayerTreeContextEfl.cpp:
14428        (WebKit::LayerTreeContext::encode):
14429        (WebKit::LayerTreeContext::decode):
14430        * Shared/gtk/ArgumentCodersGtk.cpp:
14431        * Shared/gtk/ArgumentCodersGtk.h:
14432        * Shared/gtk/LayerTreeContextGtk.cpp:
14433        (WebKit::LayerTreeContext::encode):
14434        (WebKit::LayerTreeContext::decode):
14435        * Shared/ios/WebPlatformTouchPointIOS.cpp:
14436        (WebKit::WebPlatformTouchPoint::encode):
14437        (WebKit::WebPlatformTouchPoint::decode):
14438        * Shared/ios/WebTouchEventIOS.cpp:
14439        (WebKit::WebTouchEvent::encode):
14440        (WebKit::WebTouchEvent::decode):
14441        * Shared/linux/SeccompFilters/OpenSyscall.cpp:
14442        (WebKit::OpenSyscall::encode):
14443        (WebKit::OpenSyscall::decode):
14444        (WebKit::OpenSyscallResult::encode):
14445        (WebKit::OpenSyscallResult::decode):
14446        * Shared/linux/SeccompFilters/OpenSyscall.h:
14447        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
14448        (WebKit::SeccompBrokerClient::dispatch):
14449        (WebKit::SeccompBroker::runLoop):
14450        * Shared/linux/SeccompFilters/Syscall.cpp:
14451        (WebKit::Syscall::createFromDecoder):
14452        (WebKit::SyscallResult::createFromDecoder):
14453        * Shared/linux/SeccompFilters/Syscall.h:
14454        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
14455        (IPC::ArgumentCoder<CertificateInfo>::encode):
14456        (IPC::ArgumentCoder<CertificateInfo>::decode):
14457        * UIProcess/API/ios/PageClientImplIOS.h:
14458        * UIProcess/API/ios/PageClientImplIOS.mm:
14459        (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
14460        * UIProcess/API/mac/PDFViewController.h:
14461        * UIProcess/API/mac/PDFViewController.mm:
14462        (WebKit::convertPostScriptDataSourceToPDF):
14463        (WebKit::PDFViewController::setPDFDocumentData):
14464        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
14465        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
14466        * UIProcess/DrawingAreaProxyImpl.h:
14467        * UIProcess/WebBatteryManagerProxy.h:
14468        * UIProcess/WebNetworkInfoManagerProxy.h:
14469        * UIProcess/WebVibrationProxy.h:
14470        * UIProcess/ios/WebPageProxyIOS.mm:
14471        (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
14472        (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
14473        (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
14474        * UIProcess/soup/WebSoupRequestManagerProxy.h:
14475        * WebProcess/Battery/WebBatteryManager.h:
14476        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
14477        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
14478        (WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):
14479        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
14480        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
14481        * WebProcess/WebPage/DrawingAreaImpl.h:
14482        * WebProcess/WebPage/ios/WebPageIOS.mm:
14483        (WebKit::WebPage::registerUIProcessAccessibilityTokens):
14484        * WebProcess/ios/WebProcessIOS.mm:
14485        (WebKit::WebProcess::platformInitializeWebProcess):
14486        * WebProcess/soup/WebProcessSoup.cpp:
14487        (WebKit::WebProcess::platformInitializeWebProcess):
14488        * WebProcess/soup/WebSoupRequestManager.cpp:
14489        (WebKit::WebSoupRequestManager::didHandleURIRequest):
14490        (WebKit::WebSoupRequestManager::didReceiveURIRequestData):
14491        * WebProcess/soup/WebSoupRequestManager.h:
14492        * WebProcess/soup/WebSoupRequestManager.messages.in:
14493
144942013-12-30  Ryuan Choi  <ryuan.choi@samsung.com>
14495
14496        Unreviewed build fix attempt on GTK port after 161152
14497
14498        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
14499        (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):
14500
145012013-12-30  Anders Carlsson  <andersca@apple.com>
14502
14503        Use std::chrono::milliseconds for all IPC message timeouts
14504        https://bugs.webkit.org/show_bug.cgi?id=126303
14505
14506        Reviewed by Andreas Kling.
14507
14508        * Platform/IPC/Connection.cpp:
14509        (IPC::Connection::sendSyncMessage):
14510        (IPC::Connection::sendSyncMessageFromSecondaryThread):
14511        (IPC::Connection::waitForSyncReply):
14512        * Platform/IPC/Connection.h:
14513        (IPC::Connection::sendSync):
14514        * Platform/IPC/MessageSender.h:
14515        (IPC::MessageSender::sendSync):
14516        * Shared/ChildProcessProxy.h:
14517        (WebKit::ChildProcessProxy::sendSync):
14518        * UIProcess/mac/WebPageProxyMac.mm:
14519        (WebKit::WebPageProxy::stringSelectionForPasteboard):
14520        (WebKit::WebPageProxy::dataSelectionForPasteboard):
14521        (WebKit::WebPageProxy::readSelectionFromPasteboard):
14522        (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
14523        (WebKit::WebPageProxy::acceptsFirstMouse):
14524        * WebProcess/InjectedBundle/InjectedBundle.cpp:
14525        (WebKit::InjectedBundle::postSynchronousMessage):
14526        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
14527        (WebKit::WebChromeClient::runJavaScriptAlert):
14528        (WebKit::WebChromeClient::runJavaScriptConfirm):
14529        (WebKit::WebChromeClient::runJavaScriptPrompt):
14530        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
14531        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
14532        * WebProcess/WebPage/WebInspector.cpp:
14533        (WebKit::WebInspector::createInspectorPage):
14534
145352013-12-30  Anders Carlsson  <andersca@apple.com>
14536
14537        Remove empty directories.
14538
14539        * Platform/CoreIPC: Removed.
14540        * Platform/CoreIPC/mac: Removed.
14541        * Platform/CoreIPC/unix: Removed.
14542
145432013-12-30  Anders Carlsson  <andersca@apple.com>
14544
14545        Move code over to the IPC namespace.
14546
14547        Rubber-stamped by Andreas Kling.
14548
14549        * DatabaseProcess/DatabaseProcess.cpp:
14550        (WebKit::DatabaseProcess::initializeConnection):
14551        (WebKit::DatabaseProcess::didClose):
14552        (WebKit::DatabaseProcess::didReceiveInvalidMessage):
14553        (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
14554        * DatabaseProcess/DatabaseProcess.h:
14555        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
14556        (WebKit::DatabaseToWebProcessConnection::create):
14557        (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
14558        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
14559        (WebKit::DatabaseToWebProcessConnection::didClose):
14560        (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
14561        * DatabaseProcess/DatabaseToWebProcessConnection.h:
14562        (WebKit::DatabaseToWebProcessConnection::connection):
14563        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
14564        (WebKit::DatabaseProcessIDBConnection::messageSenderConnection):
14565        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
14566        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
14567        (WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
14568        (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
14569        (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
14570        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
14571        (WebKit::NetworkConnectionToWebProcess::create):
14572        (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
14573        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
14574        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
14575        (WebKit::NetworkConnectionToWebProcess::didClose):
14576        (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
14577        * NetworkProcess/NetworkConnectionToWebProcess.h:
14578        (WebKit::NetworkConnectionToWebProcess::connection):
14579        * NetworkProcess/NetworkProcess.cpp:
14580        (WebKit::NetworkProcess::didReceiveMessage):
14581        (WebKit::NetworkProcess::didReceiveSyncMessage):
14582        (WebKit::NetworkProcess::didClose):
14583        (WebKit::NetworkProcess::didReceiveInvalidMessage):
14584        (WebKit::NetworkProcess::downloadProxyConnection):
14585        (WebKit::NetworkProcess::initializeConnection):
14586        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
14587        * NetworkProcess/NetworkProcess.h:
14588        * NetworkProcess/NetworkResourceLoader.cpp:
14589        (WebKit::NetworkResourceLoader::messageSenderConnection):
14590        * NetworkProcess/NetworkResourceLoader.h:
14591        * NetworkProcess/mac/DiskCacheMonitor.h:
14592        * NetworkProcess/mac/DiskCacheMonitor.mm:
14593        (WebKit::DiskCacheMonitor::messageSenderConnection):
14594        * Platform/IPC/ArgumentCoder.h:
14595        * Platform/IPC/ArgumentCoders.cpp:
14596        * Platform/IPC/ArgumentCoders.h:
14597        * Platform/IPC/ArgumentDecoder.cpp:
14598        * Platform/IPC/ArgumentDecoder.h:
14599        * Platform/IPC/ArgumentEncoder.cpp:
14600        * Platform/IPC/ArgumentEncoder.h:
14601        * Platform/IPC/Arguments.h:
14602        * Platform/IPC/Attachment.cpp:
14603        * Platform/IPC/Attachment.h:
14604        * Platform/IPC/Connection.cpp:
14605        (IPC::Connection::Connection):
14606        * Platform/IPC/Connection.h:
14607        * Platform/IPC/HandleMessage.h:
14608        * Platform/IPC/MessageDecoder.cpp:
14609        * Platform/IPC/MessageDecoder.h:
14610        * Platform/IPC/MessageEncoder.cpp:
14611        * Platform/IPC/MessageEncoder.h:
14612        * Platform/IPC/MessageFlags.h:
14613        * Platform/IPC/MessageReceiver.h:
14614        * Platform/IPC/MessageReceiverMap.cpp:
14615        * Platform/IPC/MessageReceiverMap.h:
14616        * Platform/IPC/mac/ConnectionMac.cpp:
14617        * Platform/IPC/mac/ImportanceAssertion.h:
14618        * Platform/IPC/mac/MachPort.h:
14619        * Platform/SharedMemory.h:
14620        * Platform/mac/SharedMemoryMac.cpp:
14621        (WebKit::SharedMemory::Handle::encode):
14622        (WebKit::SharedMemory::Handle::decode):
14623        * PluginProcess/PluginControllerProxy.cpp:
14624        (WebKit::PluginControllerProxy::streamDidReceiveData):
14625        (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
14626        * PluginProcess/PluginControllerProxy.h:
14627        * PluginProcess/PluginControllerProxy.messages.in:
14628        * PluginProcess/PluginCreationParameters.cpp:
14629        (WebKit::PluginCreationParameters::encode):
14630        (WebKit::PluginCreationParameters::decode):
14631        * PluginProcess/PluginCreationParameters.h:
14632        * PluginProcess/PluginProcess.cpp:
14633        (WebKit::PluginProcess::didReceiveMessage):
14634        (WebKit::PluginProcess::didClose):
14635        (WebKit::PluginProcess::didReceiveInvalidMessage):
14636        (WebKit::PluginProcess::createWebProcessConnection):
14637        * PluginProcess/PluginProcess.h:
14638        * PluginProcess/WebProcessConnection.cpp:
14639        (WebKit::WebProcessConnection::create):
14640        (WebKit::WebProcessConnection::WebProcessConnection):
14641        (WebKit::WebProcessConnection::setGlobalException):
14642        (WebKit::WebProcessConnection::didReceiveMessage):
14643        (WebKit::WebProcessConnection::didReceiveSyncMessage):
14644        (WebKit::WebProcessConnection::didClose):
14645        (WebKit::WebProcessConnection::didReceiveInvalidMessage):
14646        * PluginProcess/WebProcessConnection.h:
14647        (WebKit::WebProcessConnection::connection):
14648        * PluginProcess/mac/PluginControllerProxyMac.mm:
14649        (WebKit::PluginControllerProxy::setComplexTextInputState):
14650        * Scripts/webkit2/messages.py:
14651        (arguments_type_old):
14652        (message_to_struct_declaration):
14653        (forward_declarations_and_headers):
14654        (generate_messages_header):
14655        (async_message_statement):
14656        (sync_message_statement):
14657        (headers_for_type):
14658        (generate_message_handler):
14659        * Scripts/webkit2/messages_unittest.py:
14660        (IPC):
14661        (std):
14662        * Shared/API/Cocoa/RemoteObjectRegistry.h:
14663        * Shared/APIGeometry.cpp:
14664        (API::Point::encode):
14665        (API::Point::decode):
14666        (API::Size::encode):
14667        (API::Size::decode):
14668        (API::Rect::encode):
14669        (API::Rect::decode):
14670        * Shared/APIGeometry.h:
14671        * Shared/APINumber.h:
14672        (API::Number::encode):
14673        (API::Number::decode):
14674        * Shared/Authentication/AuthenticationManager.h:
14675        * Shared/ChildProcess.cpp:
14676        (WebKit::didCloseOnConnectionWorkQueue):
14677        (WebKit::ChildProcess::initialize):
14678        (WebKit::ChildProcess::initializeConnection):
14679        (WebKit::ChildProcess::addMessageReceiver):
14680        (WebKit::ChildProcess::removeMessageReceiver):
14681        (WebKit::ChildProcess::messageSenderConnection):
14682        * Shared/ChildProcess.h:
14683        (WebKit::ChildProcess::parentProcessConnection):
14684        (WebKit::ChildProcess::messageReceiverMap):
14685        * Shared/ChildProcessProxy.cpp:
14686        (WebKit::ChildProcessProxy::fromConnection):
14687        (WebKit::ChildProcessProxy::sendMessage):
14688        (WebKit::ChildProcessProxy::addMessageReceiver):
14689        (WebKit::ChildProcessProxy::removeMessageReceiver):
14690        (WebKit::ChildProcessProxy::dispatchMessage):
14691        (WebKit::ChildProcessProxy::dispatchSyncMessage):
14692        (WebKit::ChildProcessProxy::didFinishLaunching):
14693        (WebKit::ChildProcessProxy::connectionWillOpen):
14694        (WebKit::ChildProcessProxy::connectionWillClose):
14695        * Shared/ChildProcessProxy.h:
14696        (WebKit::ChildProcessProxy::connection):
14697        (WebKit::ChildProcessProxy::send):
14698        * Shared/ChildProcessSupplement.h:
14699        (WebKit::ChildProcessSupplement::initializeConnection):
14700        * Shared/ConnectionStack.h:
14701        (WebKit::ConnectionStack::current):
14702        (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
14703        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
14704        (WebContextLegacyMessages::messageReceiverName):
14705        (WebContextLegacyMessages::postMessageMessageName):
14706        (WebContextLegacyMessages::postSynchronousMessageMessageName):
14707        * Shared/Databases/DatabaseProcessCreationParameters.cpp:
14708        (WebKit::DatabaseProcessCreationParameters::encode):
14709        (WebKit::DatabaseProcessCreationParameters::decode):
14710        * Shared/Databases/DatabaseProcessCreationParameters.h:
14711        * Shared/DictionaryPopupInfo.cpp:
14712        (WebKit::DictionaryPopupInfo::encode):
14713        (WebKit::DictionaryPopupInfo::decode):
14714        * Shared/DictionaryPopupInfo.h:
14715        * Shared/Downloads/Download.cpp:
14716        (WebKit::Download::didFail):
14717        (WebKit::Download::didCancel):
14718        (WebKit::Download::messageSenderConnection):
14719        * Shared/Downloads/Download.h:
14720        * Shared/Downloads/DownloadManager.cpp:
14721        (WebKit::DownloadManager::downloadProxyConnection):
14722        * Shared/Downloads/DownloadManager.h:
14723        * Shared/Downloads/mac/DownloadMac.mm:
14724        (WebKit::Download::cancel):
14725        (-[WKDownloadAsDelegate download:didFailWithError:]):
14726        * Shared/EditorState.cpp:
14727        (WebKit::EditorState::encode):
14728        (WebKit::EditorState::decode):
14729        * Shared/EditorState.h:
14730        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
14731        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
14732        (WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
14733        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
14734        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
14735        (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
14736        * Shared/FileAPI/BlobRegistrationData.cpp:
14737        (WebKit::BlobRegistrationData::encode):
14738        (WebKit::BlobRegistrationData::decode):
14739        * Shared/FileAPI/BlobRegistrationData.h:
14740        * Shared/FontInfo.cpp:
14741        (WebKit::FontInfo::encode):
14742        (WebKit::FontInfo::decode):
14743        * Shared/FontInfo.h:
14744        * Shared/LayerTreeContext.h:
14745        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
14746        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
14747        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
14748        (WebKit::CustomProtocolManager::initializeConnection):
14749        (WebKit::CustomProtocolManager::didLoadData):
14750        * Shared/Network/NetworkProcessCreationParameters.cpp:
14751        (WebKit::NetworkProcessCreationParameters::encode):
14752        (WebKit::NetworkProcessCreationParameters::decode):
14753        * Shared/Network/NetworkProcessCreationParameters.h:
14754        * Shared/Network/NetworkResourceLoadParameters.cpp:
14755        (WebKit::NetworkResourceLoadParameters::encode):
14756        (WebKit::NetworkResourceLoadParameters::decode):
14757        * Shared/Network/NetworkResourceLoadParameters.h:
14758        * Shared/OriginAndDatabases.cpp:
14759        (WebKit::OriginAndDatabases::encode):
14760        (WebKit::OriginAndDatabases::decode):
14761        * Shared/OriginAndDatabases.h:
14762        * Shared/PlatformPopupMenuData.cpp:
14763        (WebKit::PlatformPopupMenuData::encode):
14764        (WebKit::PlatformPopupMenuData::decode):
14765        * Shared/PlatformPopupMenuData.h:
14766        * Shared/Plugins/NPIdentifierData.cpp:
14767        (WebKit::NPIdentifierData::encode):
14768        (WebKit::NPIdentifierData::decode):
14769        * Shared/Plugins/NPIdentifierData.h:
14770        * Shared/Plugins/NPObjectMessageReceiver.h:
14771        * Shared/Plugins/NPRemoteObjectMap.cpp:
14772        (WebKit::NPRemoteObjectMap::create):
14773        (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
14774        (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
14775        * Shared/Plugins/NPRemoteObjectMap.h:
14776        (WebKit::NPRemoteObjectMap::connection):
14777        * Shared/Plugins/NPVariantData.cpp:
14778        (WebKit::NPVariantData::encode):
14779        (WebKit::NPVariantData::decode):
14780        * Shared/Plugins/NPVariantData.h:
14781        * Shared/Plugins/PluginProcessCreationParameters.cpp:
14782        (WebKit::PluginProcessCreationParameters::encode):
14783        (WebKit::PluginProcessCreationParameters::decode):
14784        * Shared/Plugins/PluginProcessCreationParameters.h:
14785        * Shared/PrintInfo.cpp:
14786        (WebKit::PrintInfo::encode):
14787        (WebKit::PrintInfo::decode):
14788        * Shared/PrintInfo.h:
14789        * Shared/SandboxExtension.h:
14790        (WebKit::SandboxExtension::Handle::encode):
14791        (WebKit::SandboxExtension::Handle::decode):
14792        (WebKit::SandboxExtension::HandleArray::encode):
14793        (WebKit::SandboxExtension::HandleArray::decode):
14794        * Shared/SecurityOriginData.cpp:
14795        (WebKit::SecurityOriginData::encode):
14796        (WebKit::SecurityOriginData::decode):
14797        * Shared/SecurityOriginData.h:
14798        * Shared/SessionState.cpp:
14799        (WebKit::SessionState::encode):
14800        (WebKit::SessionState::decode):
14801        * Shared/SessionState.h:
14802        * Shared/ShareableBitmap.cpp:
14803        (WebKit::ShareableBitmap::Handle::encode):
14804        (WebKit::ShareableBitmap::Handle::decode):
14805        * Shared/ShareableBitmap.h:
14806        * Shared/ShareableResource.cpp:
14807        (WebKit::ShareableResource::Handle::encode):
14808        (WebKit::ShareableResource::Handle::decode):
14809        * Shared/ShareableResource.h:
14810        * Shared/StatisticsData.cpp:
14811        (WebKit::StatisticsData::encode):
14812        (WebKit::StatisticsData::decode):
14813        * Shared/StatisticsData.h:
14814        * Shared/TextCheckerState.h:
14815        * Shared/UpdateInfo.cpp:
14816        (WebKit::UpdateInfo::encode):
14817        (WebKit::UpdateInfo::decode):
14818        * Shared/UpdateInfo.h:
14819        * Shared/UserData.cpp:
14820        (WebKit::UserData::encode):
14821        (WebKit::UserData::decode):
14822        * Shared/UserData.h:
14823        * Shared/UserMessageCoders.h:
14824        (WebKit::UserMessageEncoder::baseEncode):
14825        (WebKit::UserMessageDecoder::baseDecode):
14826        * Shared/WebBackForwardListItem.cpp:
14827        (WebKit::WebBackForwardListItem::encode):
14828        (WebKit::WebBackForwardListItem::decode):
14829        * Shared/WebBackForwardListItem.h:
14830        * Shared/WebConnection.cpp:
14831        (WebKit::WebConnection::postMessage):
14832        (WebKit::WebConnection::didReceiveMessage):
14833        (WebKit::WebConnection::handleMessage):
14834        * Shared/WebConnection.h:
14835        * Shared/WebContextMenuItemData.cpp:
14836        (WebKit::WebContextMenuItemData::encode):
14837        (WebKit::WebContextMenuItemData::decode):
14838        * Shared/WebContextMenuItemData.h:
14839        * Shared/WebCoreArgumentCoders.cpp:
14840        * Shared/WebCoreArgumentCoders.h:
14841        * Shared/WebEvent.cpp:
14842        (WebKit::WebEvent::encode):
14843        (WebKit::WebEvent::decode):
14844        * Shared/WebEvent.h:
14845        * Shared/WebGeolocationPosition.cpp:
14846        (WebKit::WebGeolocationPosition::Data::encode):
14847        (WebKit::WebGeolocationPosition::Data::decode):
14848        * Shared/WebGeolocationPosition.h:
14849        * Shared/WebHitTestResult.cpp:
14850        (WebKit::WebHitTestResult::Data::encode):
14851        (WebKit::WebHitTestResult::Data::decode):
14852        * Shared/WebHitTestResult.h:
14853        * Shared/WebKeyboardEvent.cpp:
14854        (WebKit::WebKeyboardEvent::encode):
14855        (WebKit::WebKeyboardEvent::decode):
14856        * Shared/WebMouseEvent.cpp:
14857        (WebKit::WebMouseEvent::encode):
14858        (WebKit::WebMouseEvent::decode):
14859        * Shared/WebNavigationDataStore.h:
14860        (WebKit::WebNavigationDataStore::encode):
14861        (WebKit::WebNavigationDataStore::decode):
14862        * Shared/WebPageCreationParameters.cpp:
14863        (WebKit::WebPageCreationParameters::encode):
14864        (WebKit::WebPageCreationParameters::decode):
14865        * Shared/WebPageCreationParameters.h:
14866        * Shared/WebPageGroupData.cpp:
14867        (WebKit::WebPageGroupData::encode):
14868        (WebKit::WebPageGroupData::decode):
14869        * Shared/WebPageGroupData.h:
14870        * Shared/WebPlatformTouchPoint.cpp:
14871        (WebKit::WebPlatformTouchPoint::encode):
14872        (WebKit::WebPlatformTouchPoint::decode):
14873        * Shared/WebPopupItem.cpp:
14874        (WebKit::WebPopupItem::encode):
14875        (WebKit::WebPopupItem::decode):
14876        * Shared/WebPopupItem.h:
14877        * Shared/WebPreferencesStore.cpp:
14878        (WebKit::WebPreferencesStore::encode):
14879        (WebKit::WebPreferencesStore::decode):
14880        * Shared/WebPreferencesStore.h:
14881        * Shared/WebProcessCreationParameters.cpp:
14882        (WebKit::WebProcessCreationParameters::encode):
14883        (WebKit::WebProcessCreationParameters::decode):
14884        * Shared/WebProcessCreationParameters.h:
14885        * Shared/WebSerializedScriptValue.h:
14886        (WebKit::WebSerializedScriptValue::dataReference):
14887        * Shared/WebTouchEvent.cpp:
14888        (WebKit::WebTouchEvent::encode):
14889        (WebKit::WebTouchEvent::decode):
14890        * Shared/WebWheelEvent.cpp:
14891        (WebKit::WebWheelEvent::encode):
14892        (WebKit::WebWheelEvent::decode):
14893        * Shared/cf/ArgumentCodersCF.cpp:
14894        (IPC::encode):
14895        (IPC::decode):
14896        * Shared/cf/ArgumentCodersCF.h:
14897        * Shared/mac/ArgumentCodersMac.h:
14898        * Shared/mac/ArgumentCodersMac.mm:
14899        (IPC::encode):
14900        (IPC::decode):
14901        * Shared/mac/AttributedString.h:
14902        * Shared/mac/AttributedString.mm:
14903        (WebKit::AttributedString::encode):
14904        (WebKit::AttributedString::decode):
14905        * Shared/mac/ColorSpaceData.h:
14906        * Shared/mac/ColorSpaceData.mm:
14907        (WebKit::ColorSpaceData::encode):
14908        (WebKit::ColorSpaceData::decode):
14909        * Shared/mac/LayerTreeContextMac.mm:
14910        (WebKit::LayerTreeContext::encode):
14911        (WebKit::LayerTreeContext::decode):
14912        * Shared/mac/ObjCObjectGraphCoders.h:
14913        * Shared/mac/ObjCObjectGraphCoders.mm:
14914        (WebKit::ObjCObjectGraphEncoder::baseEncode):
14915        (WebKit::ObjCObjectGraphDecoder::baseDecode):
14916        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
14917        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
14918        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
14919        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
14920        (WebKit::WebContextObjCObjectGraphEncoder::encode):
14921        (WebKit::WebContextObjCObjectGraphDecoder::decode):
14922        (WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
14923        (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
14924        * Shared/mac/RemoteLayerBackingStore.h:
14925        * Shared/mac/RemoteLayerBackingStore.mm:
14926        (RemoteLayerBackingStore::encode):
14927        (RemoteLayerBackingStore::decode):
14928        * Shared/mac/RemoteLayerTreeTransaction.h:
14929        * Shared/mac/RemoteLayerTreeTransaction.mm:
14930        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
14931        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
14932        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
14933        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
14934        (WebKit::RemoteLayerTreeTransaction::encode):
14935        (WebKit::RemoteLayerTreeTransaction::decode):
14936        * Shared/mac/SandboxExtensionMac.mm:
14937        (WebKit::SandboxExtension::Handle::encode):
14938        (WebKit::SandboxExtension::Handle::decode):
14939        (WebKit::SandboxExtension::HandleArray::encode):
14940        (WebKit::SandboxExtension::HandleArray::decode):
14941        * Shared/mac/SecItemRequestData.cpp:
14942        (WebKit::SecItemRequestData::encode):
14943        (WebKit::SecItemRequestData::decode):
14944        * Shared/mac/SecItemRequestData.h:
14945        * Shared/mac/SecItemResponseData.cpp:
14946        (WebKit::SecItemResponseData::encode):
14947        (WebKit::SecItemResponseData::decode):
14948        * Shared/mac/SecItemResponseData.h:
14949        * Shared/mac/SecItemShim.cpp:
14950        (WebKit::SecItemShim::initializeConnection):
14951        * Shared/mac/SecItemShim.h:
14952        * Shared/mac/WebCoreArgumentCodersMac.mm:
14953        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
14954        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
14955        (IPC::ArgumentCoder<ResourceResponse>::encodePlatformData):
14956        (IPC::ArgumentCoder<ResourceResponse>::decodePlatformData):
14957        (IPC::ArgumentCoder<CertificateInfo>::encode):
14958        (IPC::ArgumentCoder<CertificateInfo>::decode):
14959        (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
14960        (IPC::ArgumentCoder<ResourceError>::decodePlatformData):
14961        * UIProcess/API/mac/PageClientImpl.h:
14962        * UIProcess/API/mac/PageClientImpl.mm:
14963        (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
14964        * UIProcess/API/mac/WKView.mm:
14965        (-[WKView _accessibilityRegisterUIProcessTokens]):
14966        * UIProcess/API/mac/WKViewInternal.h:
14967        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
14968        (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
14969        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
14970        (WebKit::AuthenticationChallengeProxy::create):
14971        * UIProcess/Databases/DatabaseProcessProxy.cpp:
14972        (WebKit::DatabaseProcessProxy::connectionWillOpen):
14973        (WebKit::DatabaseProcessProxy::connectionWillClose):
14974        (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
14975        (WebKit::DatabaseProcessProxy::didClose):
14976        (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
14977        (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
14978        (WebKit::DatabaseProcessProxy::didFinishLaunching):
14979        * UIProcess/Databases/DatabaseProcessProxy.h:
14980        * UIProcess/Databases/DatabaseProcessProxy.messages.in:
14981        * UIProcess/Downloads/DownloadProxy.cpp:
14982        (WebKit::createData):
14983        (WebKit::DownloadProxy::didFail):
14984        (WebKit::DownloadProxy::didCancel):
14985        * UIProcess/Downloads/DownloadProxy.h:
14986        * UIProcess/Downloads/DownloadProxy.messages.in:
14987        * UIProcess/DrawingAreaProxy.h:
14988        * UIProcess/Launcher/ProcessLauncher.cpp:
14989        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
14990        * UIProcess/Launcher/ProcessLauncher.h:
14991        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
14992        (WebKit::connectToService):
14993        (WebKit::tryPreexistingProcess):
14994        (WebKit::createProcess):
14995        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
14996        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
14997        (-[WKCustomProtocolLoader connection:didReceiveData:]):
14998        * UIProcess/Network/NetworkProcessProxy.cpp:
14999        (WebKit::NetworkProcessProxy::connectionWillOpen):
15000        (WebKit::NetworkProcessProxy::connectionWillClose):
15001        (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
15002        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
15003        (WebKit::NetworkProcessProxy::didReceiveMessage):
15004        (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
15005        (WebKit::NetworkProcessProxy::didClose):
15006        (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
15007        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
15008        (WebKit::NetworkProcessProxy::didFinishLaunching):
15009        * UIProcess/Network/NetworkProcessProxy.h:
15010        * UIProcess/Network/NetworkProcessProxy.messages.in:
15011        * UIProcess/Notifications/WebNotification.h:
15012        * UIProcess/PageClient.h:
15013        * UIProcess/Plugins/PluginProcessManager.h:
15014        * UIProcess/Plugins/PluginProcessProxy.cpp:
15015        (WebKit::PluginProcessProxy::getPluginProcessConnection):
15016        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
15017        (WebKit::PluginProcessProxy::didClose):
15018        (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
15019        (WebKit::PluginProcessProxy::didFinishLaunching):
15020        (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
15021        * UIProcess/Plugins/PluginProcessProxy.h:
15022        * UIProcess/Plugins/PluginProcessProxy.messages.in:
15023        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
15024        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
15025        * UIProcess/Storage/StorageManager.cpp:
15026        (WebKit::StorageManager::StorageArea::addListener):
15027        (WebKit::StorageManager::StorageArea::removeListener):
15028        (WebKit::StorageManager::StorageArea::setItem):
15029        (WebKit::StorageManager::StorageArea::removeItem):
15030        (WebKit::StorageManager::StorageArea::clear):
15031        (WebKit::StorageManager::StorageArea::dispatchEvents):
15032        (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
15033        (WebKit::StorageManager::SessionStorageNamespace::create):
15034        (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
15035        (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
15036        (WebKit::StorageManager::createSessionStorageNamespace):
15037        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
15038        (WebKit::StorageManager::processWillCloseConnection):
15039        (WebKit::StorageManager::createLocalStorageMap):
15040        (WebKit::StorageManager::createSessionStorageMap):
15041        (WebKit::StorageManager::destroyStorageMap):
15042        (WebKit::StorageManager::getValues):
15043        (WebKit::StorageManager::setItem):
15044        (WebKit::StorageManager::removeItem):
15045        (WebKit::StorageManager::clear):
15046        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
15047        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
15048        (WebKit::StorageManager::invalidateConnectionInternal):
15049        (WebKit::StorageManager::findStorageArea):
15050        * UIProcess/Storage/StorageManager.h:
15051        * UIProcess/WebApplicationCacheManagerProxy.h:
15052        * UIProcess/WebConnectionToWebProcess.cpp:
15053        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
15054        (WebKit::WebConnectionToWebProcess::decodeMessageBody):
15055        (WebKit::WebConnectionToWebProcess::messageSenderConnection):
15056        * UIProcess/WebConnectionToWebProcess.h:
15057        * UIProcess/WebContext.cpp:
15058        (WebKit::WebContext::networkingProcessConnection):
15059        (WebKit::WebContext::didReceiveInvalidMessage):
15060        (WebKit::WebContext::createNewWebProcess):
15061        (WebKit::WebContext::postMessageToInjectedBundle):
15062        (WebKit::WebContext::addMessageReceiver):
15063        (WebKit::WebContext::removeMessageReceiver):
15064        (WebKit::WebContext::dispatchMessage):
15065        (WebKit::WebContext::dispatchSyncMessage):
15066        (WebKit::WebContext::didReceiveMessage):
15067        (WebKit::WebContext::didReceiveSyncMessage):
15068        * UIProcess/WebContext.h:
15069        * UIProcess/WebContextUserMessageCoders.h:
15070        (WebKit::WebContextUserMessageEncoder::encode):
15071        (WebKit::WebContextUserMessageDecoder::decode):
15072        * UIProcess/WebCookieManagerProxy.h:
15073        * UIProcess/WebDatabaseManagerProxy.h:
15074        * UIProcess/WebEditCommandProxy.cpp:
15075        (WebKit::WebEditCommandProxy::unapply):
15076        (WebKit::WebEditCommandProxy::reapply):
15077        * UIProcess/WebFrameProxy.h:
15078        * UIProcess/WebFullScreenManagerProxy.h:
15079        * UIProcess/WebGeolocationManagerProxy.cpp:
15080        (WebKit::WebGeolocationManagerProxy::startUpdating):
15081        (WebKit::WebGeolocationManagerProxy::stopUpdating):
15082        (WebKit::WebGeolocationManagerProxy::removeRequester):
15083        (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
15084        * UIProcess/WebGeolocationManagerProxy.h:
15085        * UIProcess/WebIconDatabase.cpp:
15086        (WebKit::WebIconDatabase::setIconDataForIconURL):
15087        (WebKit::WebIconDatabase::synchronousIconDataForPageURL):
15088        * UIProcess/WebIconDatabase.h:
15089        * UIProcess/WebIconDatabase.messages.in:
15090        * UIProcess/WebInspectorProxy.h:
15091        * UIProcess/WebMediaCacheManagerProxy.h:
15092        * UIProcess/WebOriginDataManagerProxy.h:
15093        * UIProcess/WebPageProxy.cpp:
15094        (WebKit::WebPageProxy::willGoToBackForwardListItem):
15095        (WebKit::WebPageProxy::preferencesDidChange):
15096        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
15097        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
15098        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
15099        (WebKit::WebPageProxy::didCommitLoadForFrame):
15100        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
15101        (WebKit::WebPageProxy::didFinishLoadForFrame):
15102        (WebKit::WebPageProxy::didFailLoadForFrame):
15103        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
15104        (WebKit::WebPageProxy::didReceiveTitleForFrame):
15105        (WebKit::WebPageProxy::didFirstLayoutForFrame):
15106        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
15107        (WebKit::WebPageProxy::didLayout):
15108        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
15109        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
15110        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
15111        (WebKit::WebPageProxy::didDetectXSSForFrame):
15112        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
15113        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
15114        (WebKit::WebPageProxy::decidePolicyForResponse):
15115        (WebKit::WebPageProxy::decidePolicyForResponseSync):
15116        (WebKit::WebPageProxy::unableToImplementPolicy):
15117        (WebKit::WebPageProxy::willSubmitForm):
15118        (WebKit::WebPageProxy::mouseDidMoveOverElement):
15119        (WebKit::WebPageProxy::connectionWillOpen):
15120        (WebKit::WebPageProxy::connectionWillClose):
15121        (WebKit::WebPageProxy::sendMessage):
15122        (WebKit::WebPageProxy::messageSenderConnection):
15123        (WebKit::WebPageProxy::showContextMenu):
15124        (WebKit::WebPageProxy::internalShowContextMenu):
15125        (WebKit::WebPageProxy::dataCallback):
15126        (WebKit::WebPageProxy::scriptValueCallback):
15127        (WebKit::WebPageProxy::beginPrinting):
15128        (WebKit::WebPageProxy::endPrinting):
15129        (WebKit::WebPageProxy::computePagesForPrinting):
15130        (WebKit::WebPageProxy::drawRectToImage):
15131        (WebKit::WebPageProxy::drawPagesToPDF):
15132        (WebKit::WebPageProxy::drawPagesForPrinting):
15133        (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
15134        * UIProcess/WebPageProxy.h:
15135        * UIProcess/WebPageProxy.messages.in:
15136        * UIProcess/WebProcessProxy.cpp:
15137        (WebKit::WebProcessProxy::connectionWillOpen):
15138        (WebKit::WebProcessProxy::connectionWillClose):
15139        (WebKit::WebProcessProxy::addBackForwardItem):
15140        (WebKit::WebProcessProxy::didReceiveMessage):
15141        (WebKit::WebProcessProxy::didReceiveSyncMessage):
15142        (WebKit::WebProcessProxy::didClose):
15143        (WebKit::WebProcessProxy::didReceiveInvalidMessage):
15144        (WebKit::WebProcessProxy::didFinishLaunching):
15145        * UIProcess/WebProcessProxy.h:
15146        (WebKit::WebProcessProxy::fromConnection):
15147        * UIProcess/WebProcessProxy.messages.in:
15148        * UIProcess/WebResourceCacheManagerProxy.h:
15149        * UIProcess/cf/WebBackForwardListCF.cpp:
15150        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
15151        * UIProcess/mac/RemoteLayerTreeHost.h:
15152        * UIProcess/mac/SecItemShimProxy.cpp:
15153        (WebKit::SecItemShimProxy::initializeConnection):
15154        (WebKit::SecItemShimProxy::secItemRequest):
15155        * UIProcess/mac/SecItemShimProxy.h:
15156        * UIProcess/mac/ViewGestureController.h:
15157        * UIProcess/mac/WebContextMac.mm:
15158        (WebKit::WebContext::platformInitializeWebProcess):
15159        * UIProcess/mac/WebPageProxyMac.mm:
15160        (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
15161        (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
15162        (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
15163        * WebKit2.xcodeproj/project.pbxproj:
15164        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
15165        * WebProcess/Cookies/WebCookieManager.h:
15166        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
15167        (WebKit::WebIDBServerConnection::messageSenderConnection):
15168        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
15169        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
15170        (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
15171        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
15172        (WebKit::WebToDatabaseProcessConnection::didClose):
15173        (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
15174        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
15175        (WebKit::WebToDatabaseProcessConnection::create):
15176        (WebKit::WebToDatabaseProcessConnection::connection):
15177        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
15178        (WebKit::WebContentProcessMainDelegate::getConnectionIdentifier):
15179        * WebProcess/FullScreen/WebFullScreenManager.cpp:
15180        (WebKit::WebFullScreenManager::didReceiveMessage):
15181        * WebProcess/FullScreen/WebFullScreenManager.h:
15182        * WebProcess/Geolocation/WebGeolocationManager.h:
15183        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
15184        (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
15185        (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
15186        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
15187        * WebProcess/InjectedBundle/InjectedBundle.cpp:
15188        (WebKit::InjectedBundle::postMessage):
15189        (WebKit::InjectedBundle::postSynchronousMessage):
15190        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
15191        (WebKit::InjectedBundleUserMessageEncoder::encode):
15192        (WebKit::InjectedBundleUserMessageDecoder::decode):
15193        * WebProcess/MediaCache/WebMediaCacheManager.h:
15194        * WebProcess/Network/NetworkProcessConnection.cpp:
15195        (WebKit::NetworkProcessConnection::NetworkProcessConnection):
15196        (WebKit::NetworkProcessConnection::didReceiveMessage):
15197        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
15198        (WebKit::NetworkProcessConnection::didClose):
15199        (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
15200        * WebProcess/Network/NetworkProcessConnection.h:
15201        (WebKit::NetworkProcessConnection::create):
15202        (WebKit::NetworkProcessConnection::connection):
15203        * WebProcess/Network/WebResourceLoader.cpp:
15204        (WebKit::WebResourceLoader::messageSenderConnection):
15205        (WebKit::WebResourceLoader::didReceiveData):
15206        * WebProcess/Network/WebResourceLoader.h:
15207        * WebProcess/Network/WebResourceLoader.messages.in:
15208        * WebProcess/Notifications/WebNotificationManager.h:
15209        * WebProcess/OriginData/WebOriginDataManager.h:
15210        * WebProcess/Plugins/PDF/PDFPlugin.h:
15211        * WebProcess/Plugins/Plugin.cpp:
15212        (WebKit::Plugin::Parameters::encode):
15213        (WebKit::Plugin::Parameters::decode):
15214        * WebProcess/Plugins/Plugin.h:
15215        * WebProcess/Plugins/PluginProcessConnection.cpp:
15216        (WebKit::PluginProcessConnection::PluginProcessConnection):
15217        (WebKit::PluginProcessConnection::didReceiveMessage):
15218        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
15219        (WebKit::PluginProcessConnection::didClose):
15220        (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
15221        * WebProcess/Plugins/PluginProcessConnection.h:
15222        (WebKit::PluginProcessConnection::create):
15223        (WebKit::PluginProcessConnection::connection):
15224        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
15225        (WebKit::PluginProcessConnectionManager::initializeConnection):
15226        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
15227        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
15228        * WebProcess/Plugins/PluginProcessConnectionManager.h:
15229        * WebProcess/Plugins/PluginProxy.cpp:
15230        (WebKit::PluginProxy::geometryDidChange):
15231        (WebKit::PluginProxy::streamDidReceiveData):
15232        (WebKit::PluginProxy::manualStreamDidReceiveData):
15233        * WebProcess/Plugins/PluginProxy.h:
15234        * WebProcess/ResourceCache/WebResourceCacheManager.h:
15235        * WebProcess/Storage/StorageAreaMap.h:
15236        * WebProcess/WebConnectionToUIProcess.cpp:
15237        (WebKit::WebConnectionToUIProcess::encodeMessageBody):
15238        (WebKit::WebConnectionToUIProcess::decodeMessageBody):
15239        (WebKit::WebConnectionToUIProcess::messageSenderConnection):
15240        * WebProcess/WebConnectionToUIProcess.h:
15241        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
15242        (WebKit::WebChromeClient::runJavaScriptAlert):
15243        (WebKit::WebChromeClient::runJavaScriptConfirm):
15244        (WebKit::WebChromeClient::runJavaScriptPrompt):
15245        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
15246        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15247        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
15248        * WebProcess/WebPage/DecoderAdapter.cpp:
15249        (WebKit::DecoderAdapter::decodeBytes):
15250        (WebKit::DecoderAdapter::decodeString):
15251        * WebProcess/WebPage/DecoderAdapter.h:
15252        * WebProcess/WebPage/DrawingArea.h:
15253        * WebProcess/WebPage/EncoderAdapter.cpp:
15254        (WebKit::EncoderAdapter::dataReference):
15255        (WebKit::EncoderAdapter::encodeBytes):
15256        (WebKit::EncoderAdapter::encodeString):
15257        * WebProcess/WebPage/EncoderAdapter.h:
15258        * WebProcess/WebPage/EventDispatcher.cpp:
15259        (WebKit::EventDispatcher::initializeConnection):
15260        * WebProcess/WebPage/EventDispatcher.h:
15261        * WebProcess/WebPage/LayerTreeHost.h:
15262        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
15263        * WebProcess/WebPage/WebInspector.cpp:
15264        (WebKit::WebInspector::createInspectorPage):
15265        * WebProcess/WebPage/WebInspector.h:
15266        * WebProcess/WebPage/WebPage.cpp:
15267        (WebKit::WebPage::messageSenderConnection):
15268        (WebKit::WebPage::loadURL):
15269        (WebKit::WebPage::loadURLRequest):
15270        (WebKit::WebPage::loadDataImpl):
15271        (WebKit::WebPage::loadString):
15272        (WebKit::WebPage::loadData):
15273        (WebKit::WebPage::loadHTMLString):
15274        (WebKit::WebPage::loadAlternateHTMLString):
15275        (WebKit::WebPage::loadPlainTextString):
15276        (WebKit::WebPage::loadWebArchiveData):
15277        (WebKit::WebPage::postInjectedBundleMessage):
15278        (WebKit::WebPage::runJavaScriptInMainFrame):
15279        (WebKit::WebPage::getContentsAsMHTMLData):
15280        (WebKit::WebPage::getSelectionAsWebArchiveData):
15281        (WebKit::WebPage::getMainResourceDataOfFrame):
15282        (WebKit::WebPage::getResourceDataFromFrame):
15283        (WebKit::WebPage::getWebArchiveOfFrame):
15284        (WebKit::WebPage::didReceiveMessage):
15285        (WebKit::WebPage::didReceiveSyncMessage):
15286        (WebKit::WebPage::drawPagesToPDF):
15287        (WebKit::WebPage::savePDFToFileInDownloadsFolder):
15288        (WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication):
15289        * WebProcess/WebPage/WebPage.h:
15290        * WebProcess/WebPage/WebPage.messages.in:
15291        * WebProcess/WebPage/WebPageGroupProxy.h:
15292        * WebProcess/WebPage/mac/WebPageMac.mm:
15293        (WebKit::WebPage::platformInitialize):
15294        (WebKit::WebPage::registerUIProcessAccessibilityTokens):
15295        * WebProcess/WebProcess.cpp:
15296        (WebKit::WebProcess::initializeConnection):
15297        (WebKit::WebProcess::downloadProxyConnection):
15298        (WebKit::WebProcess::initializeWebProcess):
15299        (WebKit::WebProcess::ensureNetworkProcessConnection):
15300        (WebKit::WebProcess::didReceiveSyncMessage):
15301        (WebKit::WebProcess::didReceiveMessage):
15302        (WebKit::WebProcess::didClose):
15303        (WebKit::WebProcess::didReceiveInvalidMessage):
15304        (WebKit::WebProcess::postInjectedBundleMessage):
15305        (WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
15306        * WebProcess/WebProcess.h:
15307        * WebProcess/WebProcess.messages.in:
15308        * WebProcess/mac/WebProcessMac.mm:
15309        (WebKit::WebProcess::platformInitializeWebProcess):
15310        * config.h:
15311
153122013-12-30  Anders Carlsson  <andersca@apple.com>
15313
15314        Move remaining IPC related files to Platform/IPC.
15315
15316        Rubber-stamped by Andreas Kling.
15317
15318        * Platform/IPC/ArgumentCoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h.
15319        * Platform/IPC/ArgumentCoders.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp.
15320        * Platform/IPC/ArgumentCoders.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h.
15321        * Platform/IPC/ArgumentDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp.
15322        * Platform/IPC/ArgumentDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h.
15323        * Platform/IPC/ArgumentEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp.
15324        * Platform/IPC/ArgumentEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h.
15325        * Platform/IPC/Arguments.h: Renamed from Source/WebKit2/Platform/CoreIPC/Arguments.h.
15326        * Platform/IPC/Attachment.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.cpp.
15327        * Platform/IPC/Attachment.h: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.h.
15328        * Platform/IPC/Connection.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.cpp.
15329        * Platform/IPC/Connection.h: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.h.
15330        * Platform/IPC/HandleMessage.h: Renamed from Source/WebKit2/Platform/CoreIPC/HandleMessage.h.
15331        * Platform/IPC/MessageDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.cpp.
15332        * Platform/IPC/MessageDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.h.
15333        * Platform/IPC/MessageEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.cpp.
15334        * Platform/IPC/MessageEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
15335        * Platform/IPC/MessageFlags.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageFlags.h.
15336        * Platform/IPC/MessageReceiver.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiver.h.
15337        * Platform/IPC/MessageReceiverMap.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp.
15338        * Platform/IPC/MessageReceiverMap.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h.
15339        * Platform/IPC/mac/ConnectionMac.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp.
15340        * Platform/IPC/mac/ImportanceAssertion.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ImportanceAssertion.h.
15341        * Platform/IPC/mac/MachPort.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/MachPort.h.
15342        * Platform/IPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp.
15343        * Platform/IPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp.
15344        * WebKit2.xcodeproj/project.pbxproj:
15345
153462013-12-30  Martin Robinson  <mrobinson@igalia.com>
15347
15348        [GTK] [CMake] Parallel build sometimes fails when building libWebKit2APITestCore
15349        https://bugs.webkit.org/show_bug.cgi?id=126294
15350
15351        Reviewed by Daniel Bates.
15352
15353        * UIProcess/API/gtk/tests/CMakeLists.txt: Give libWebKit2APITestCore a dependency on
15354        WebKit2 so that it's always built before the auto-generated sources.
15355
153562013-12-30  Martin Robinson  <mrobinson@igalia.com>
15357
15358        [CMake] [GTK] Add support for GObject introspection
15359        https://bugs.webkit.org/show_bug.cgi?id=126162
15360
15361        Reviewed by Daniel Bates.
15362
15363        * PlatformGTK.cmake: Add the GIR targets, split the installed headers list
15364        between WebKitWebExtension and the WebKit2 library. Update the headers list
15365        with new headers.
15366
153672013-12-30  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
15368
15369        [EFL][WK2] Replace ecore_main_loop_iterate with waitUntilTrue in ewk tests
15370        https://bugs.webkit.org/show_bug.cgi?id=125919
15371
15372        Reviewed by Gyuyoung Kim.
15373
15374        Using ecore_main_loop_iterate in while loop may result in tests hang-up when
15375        condition is not met. Replacing it with waitUntilTrue introduces a timer
15376        after which internal loop is canceled. This will cause test to fail instead
15377        of running infinitely.
15378
15379        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
15380        (TEST_F):
15381        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
15382        (TEST_F):
15383        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
15384        (TEST_F):
15385        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
15386        (EWK2ViewTest::onVibrate):
15387        (EWK2ViewTest::onCancelVibration):
15388        (EWK2ViewTest::loadVibrationHTMLString):
15389        (TEST_F):
15390
153912013-12-30  Carlos Garcia Campos  <cgarcia@igalia.com>
15392
15393        [GTK] Split WebKit2APITests/TestWebKitWebView
15394        https://bugs.webkit.org/show_bug.cgi?id=126284
15395
15396        Reviewed by Philippe Normand.
15397
15398        WebKitWebView test is too big already making more difficult to
15399        handle timeouts and skipped tests. Split it in 3 by moving
15400        UIClient and auth tests to their own files.
15401
15402        * UIProcess/API/gtk/tests/GNUmakefile.am:
15403        * UIProcess/API/gtk/tests/TestAuthentication.cpp: Added.
15404        (testWebViewAuthenticationRequest):
15405        (testWebViewAuthenticationCancel):
15406        (testWebViewAuthenticationLoadCancelled):
15407        (testWebViewAuthenticationFailure):
15408        (testWebViewAuthenticationNoCredential):
15409        (testWebViewAuthenticationStorage):
15410        (testWebViewAuthenticationSuccess):
15411        (serverCallback):
15412        (beforeAll):
15413        (afterAll):
15414        * UIProcess/API/gtk/tests/TestUIClient.cpp: Added.
15415        (testWebViewCreateReadyClose):
15416        (checkMimeTypeForFilter):
15417        (testWebViewAllowModalDialogs):
15418        (testWebViewDisallowModalDialogs):
15419        (testWebViewJavaScriptDialogs):
15420        (testWebViewWindowProperties):
15421        (testWebViewMouseTarget):
15422        (testWebViewPermissionRequests):
15423        (testWebViewFileChooserRequest):
15424        (beforeAll):
15425        (afterAll):
15426        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
15427        (beforeAll):
15428        (afterAll):
15429
154302013-12-29  Martin Robinson  <mrobinson@igalia.com>
15431
15432        [GTK] [CMake] Convenience libraries that export API should be compiled with --whole-archive on Unix
15433        https://bugs.webkit.org/show_bug.cgi?id=126232
15434
15435        Reviewed by Gustavo Noronha Silva.
15436
15437        * PlatformGTK.cmake: Prefix libGObjectDOMBindings with --whole-archive so that
15438        symbols are not omitted during final linking.
15439
154402013-12-26  Sam Weinig  <sam@webkit.org>
15441
15442        Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair
15443        https://bugs.webkit.org/show_bug.cgi?id=126253
15444
15445        Reviewed by Anders Carlsson.
15446
15447        * Shared/APIArray.h:
15448        Update includes and make elementsOfType() a bit easier to read by using a typedef and some
15449        judicial indentation.
15450
15451        * Shared/FilterIterator.h: Moved to WTF.
15452        * Shared/IteratorPair.h: Moved to WTF.
15453        
15454        * WebKit2.xcodeproj/project.pbxproj:
15455        Remove the two files.
15456
154572013-12-28  Kwang Yul Seo  <skyul@company100.net>
15458
15459        [WK2][SOUP] Fix handling of cookies when network process is enabled
15460        https://bugs.webkit.org/show_bug.cgi?id=125576
15461
15462        Reviewed by Carlos Garcia Campos.
15463
15464        Initialize the network process with cookie accept policy, persistent
15465        storage path and type. Use
15466        WebContext::sendToNetworkingProcessRelaunchingIfNecessary instead of
15467        WebContext::sendToAllProcessesRelaunchingThemIfNecessary to send
15468        SetCookiePersistentStorage message.
15469
15470        * NetworkProcess/soup/NetworkProcessSoup.cpp:
15471        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
15472        * Shared/Network/NetworkProcessCreationParameters.cpp:
15473        (WebKit::NetworkProcessCreationParameters::encode):
15474        (WebKit::NetworkProcessCreationParameters::decode):
15475        * Shared/Network/NetworkProcessCreationParameters.h:
15476        * UIProcess/soup/WebContextSoup.cpp:
15477        (WebKit::WebContext::platformInitializeNetworkProcess):
15478        * UIProcess/soup/WebCookieManagerProxySoup.cpp:
15479        (WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
15480        * WebProcess/soup/WebProcessSoup.cpp:
15481        (WebKit::WebProcess::platformInitializeWebProcess):
15482
154832013-12-27  Daniel Bates  <dabates@apple.com>
15484
15485        [iOS] Upstream WebCore/page changes
15486        https://bugs.webkit.org/show_bug.cgi?id=126180
15487
15488        Reviewed by Darin Adler.
15489
15490        * WebProcess/WebCoreSupport/WebChromeClient.h:
15491        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: Added.
15492        * WebProcess/WebPage/WebPage.cpp: Include header <WebCore/HitTestResult.h>.
15493
154942013-12-27  Gavin Barraclough  <barraclough@apple.com>
15495
15496        Merge PageVisibilityState & ViewState::IsVisible in WebKit2
15497        https://bugs.webkit.org/show_bug.cgi?id=126214
15498
15499        Reviewed by Alexey Proskuryakov.
15500
15501        WebKit2 redundantly tracks the visibility of the view through two mechanisms - the visibility
15502        state, and the view state. Remove visibility state from the WebKit2 layer. The visibility
15503        state also tracks the prerender state - so split this out and handle it separately (a change
15504        we should make in WebCore, too).
15505
15506        Removing the redundancy also removes the ability from the API to set a fake visibility state
15507        (IsVisible tracks the actual visibility of the view). Through private API
15508        (WKPageSetVisibilityState) a client could previously request the view be reported as hidden or
15509        visible, but this didn't really work - the override was not enforced and the API may reset the
15510        state at an arbitrary point. The mechanism is only used by testing code, which instead should
15511        actually update the view visibility (this tests more of the actual visibility mechanisms used
15512        by the browser). The one aspect of the API relied on by existing clients is the ability to
15513        initialize a hidden view as prerender - continue to support this specific functionality via
15514        WKPageSetVisibilityState, to maintain backwards compatibility.
15515
15516        - WebKit2 - remove internal state that tracks page visibility separately from the view state
15517        visibility. For backwards compatibility continue to support the WKPageSetVisibilityState API,
15518        but only to initialize the state to prerender.
15519
15520        * UIProcess/API/C/WKPage.cpp:
15521        (WKPageSetVisibilityState):
15522            - only support initializing the visibility state to prerender.
15523        * UIProcess/WebPageProxy.cpp:
15524        (WebKit::WebPageProxy::WebPageProxy):
15525            - remove m_visibilityState
15526        (WebKit::WebPageProxy::initializeWebPage):
15527            - no need to send initial visibility state (this is sent as a part of the creation parameters).
15528        (WebKit::WebPageProxy::viewStateDidChange):
15529            - no need to send visibility state change (this is sent as a part of view state).
15530        (WebKit::WebPageProxy::setVisibilityStatePrerender):
15531            - setVisibilityState -> setVisibilityStatePrerender.
15532        * UIProcess/WebPageProxy.h:
15533            - remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender.
15534        * WebProcess/WebPage/WebPage.cpp:
15535        (WebKit::WebPage::WebPage):
15536            - added call to updateVisibilityState.
15537        (WebKit::WebPage::setViewIsVisible):
15538            - added call to updateVisibilityState.
15539        (WebKit::WebPage::updateVisibilityState):
15540            - previously setVisibilityState, updates the page visibility state according to the view state.
15541        (WebKit::WebPage::setVisibilityStatePrerender):
15542            - set visibility state to prerender.
15543        * WebProcess/WebPage/WebPage.h:
15544            - remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender.
15545        * WebProcess/WebPage/WebPage.messages.in:
15546            - SetVisibilityState -> SetVisibilityStatePrerender.
15547
155482013-12-27  Zan Dobersek  <zdobersek@igalia.com>
15549
15550        [GTK] Unnecessary code is built into WebKitPluginProcess
15551        https://bugs.webkit.org/show_bug.cgi?id=126259
15552
15553        Reviewed by Carlos Garcia Campos.
15554
15555        * GNUmakefile.list.am: Stop building ChildProcessProxy and ProcessLauncher classes into WebKitPluginProcess.
15556        That code is not required in the plugin process, as one would expect.
15557
155582013-12-27  Ryuan Choi  <ryuan.choi@samsung.com>
15559
15560        [EFL][WK2] MiniBrowser scale up/down infinitely after r161087
15561        https://bugs.webkit.org/show_bug.cgi?id=126254
15562
15563        Reviewed by Gyuyoung Kim.
15564
15565        After r161087, contentScaleFactor of WebView is synced with pageScaleFactor
15566        of WebPage. It means that WKViewGetContentScaleFactor might not be same
15567        with PageViewportController's current scale value until received PageScaleFactorDidChange.
15568
15569        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
15570        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
15571        Use controller's current scale just to update and sync the position.
15572
155732013-12-26  Martin Robinson  <mrobinson@igalia.com>
15574
15575        Small build fix for the GTK+ CMake port
15576
15577        * UIProcess/API/gtk/tests/CMakeLists.txt: Make the way the output directory is specified similar
15578        to the WebKit1 version of these tests, so that it is more difficult to inadvertently specify the
15579        wrong directory.
15580
155812013-12-26  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
15582
15583        [WK2][CoordinatedGraphics] Removing duplicate scale information from WebVIew.cpp
15584        https://bugs.webkit.org/show_bug.cgi?id=126243
15585
15586        Reviewed by Benjamin Poulain.
15587
15588        The scale factor of the WebView must reflect the same information present in
15589        WebPageProxy.
15590        Previously, in WebView.cpp, there was a m_contentScaleFactor member, which adds
15591        information duplication and needs to be synchronizing with pageScaleFactor in
15592        WebPageProxy. We can avoid this by just making WebView access and set WebPageProxy's
15593        pageScaleFactor directly.
15594
15595        * UIProcess/CoordinatedGraphics/WebView.cpp:
15596        (WebKit::WebView::WebView):
15597        (WebKit::WebView::setContentScaleFactor):
15598        (WebKit::WebView::transformToScene):
15599        (WebKit::WebView::visibleContentsSize):
15600        * UIProcess/CoordinatedGraphics/WebView.h:
15601        (WebKit::WebView::contentScaleFactor):
15602
156032013-12-25  Commit Queue  <commit-queue@webkit.org>
15604
15605        Unreviewed, rolling out r161033 and r161074.
15606        http://trac.webkit.org/changeset/161033
15607        http://trac.webkit.org/changeset/161074
15608        https://bugs.webkit.org/show_bug.cgi?id=126240
15609
15610        Oliver says that a rollout would be better (Requested by ap on
15611        #webkit).
15612
15613        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
15614        (WebKit::NPJSObject::setProperty):
15615
156162013-12-25  Brady Eidson  <beidson@apple.com>
15617
15618        DatabaseProcess: Implement version changing
15619        https://bugs.webkit.org/show_bug.cgi?id=126099
15620
15621        Reviewed by Sam Weinig.
15622
15623        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
15624        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Add logging.
15625        (WebKit::DatabaseProcessIDBConnection::openTransaction): Ditto.
15626        (WebKit::DatabaseProcessIDBConnection::beginTransaction): Ditto.
15627        (WebKit::DatabaseProcessIDBConnection::commitTransaction): Ditto.
15628        (WebKit::DatabaseProcessIDBConnection::resetTransaction): Ditto.
15629        (WebKit::DatabaseProcessIDBConnection::rollbackTransaction): Ditto.
15630        (WebKit::DatabaseProcessIDBConnection::changeDatabaseVersion): Implement this!
15631        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
15632        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
15633
15634        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
15635        (WebKit::UniqueIDBDatabase::shutdown): Clean up all requests, and also cleanup the backing store
15636          on the database queue.
15637        (WebKit::UniqueIDBDatabase::shutdownBackingStore): Shutdown the backing store.
15638        (WebKit::UniqueIDBDatabase::didShutdownBackingStore):
15639        (WebKit::UniqueIDBDatabase::changeDatabaseVersion): Pass along the new version to the database queue.
15640        (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
15641        (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore): Set the new version in the backing store.
15642        (WebKit::UniqueIDBDatabase::postMainThreadTask): Add a ref() to keep the database alive incase it is being
15643          shutdown on the main thread.
15644        (WebKit::UniqueIDBDatabase::performNextMainThreadTask): Balance the ref() from postMainThreadTask, and
15645          accept an empty mainThreadTask queue.
15646        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
15647
15648        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Add changeDatabaseVersion.
15649
15650        Flesh out SQLiteIDBTransaction to actually operation on a SQLiteTransaction in a real SQLiteDatabase:
15651        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
15652        (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
15653        (WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction):
15654        (WebKit::SQLiteIDBTransaction::begin):
15655        (WebKit::SQLiteIDBTransaction::commit):
15656        (WebKit::SQLiteIDBTransaction::reset):
15657        (WebKit::SQLiteIDBTransaction::rollback):
15658        (WebKit::SQLiteIDBTransaction::inProgress):
15659        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
15660        (WebKit::SQLiteIDBTransaction::create):
15661        (WebKit::SQLiteIDBTransaction::mode):
15662
15663        Rename m_metadataDB to m_sqliteDB, 
15664        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
15665        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
15666        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
15667        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath): Disable threading checks on the DB
15668          as work queues can change threads.
15669        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
15670        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
15671        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
15672        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion): After validating the transaction, actually
15673          update the version number on disk.
15674        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
15675
15676        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
15677        (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Make sure to abort in-flight requests.
15678        (WebKit::WebIDBServerConnection::changeDatabaseVersion): 
15679        (WebKit::WebIDBServerConnection::didChangeDatabaseVersion):
15680        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
15681        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
15682
156832013-12-25  Martin Robinson  <mrobinson@igalia.com>
15684
15685        [GTK] [CMake] Fix CMake style errors in Source/WebKit2/PlatformGTK.cmake
15686        https://bugs.webkit.org/show_bug.cgi?id=126221
15687
15688        Reviewed by Gustavo Noronha Silva.
15689
15690        * PlatformGTK.cmake: Fix CMake style errors.
15691
156922013-12-25  Martin Robinson  <mrobinson@igalia.com>
15693
15694        [GTK] [CMake] Clean up generated sources directories
15695        https://bugs.webkit.org/show_bug.cgi?id=126216
15696
15697        Reviewed by Gustavo Noronha Silva.
15698
15699        * PlatformGTK.cmake: Use the new derived sources variables.
15700        * UIProcess/API/gtk/tests/CMakeLists.txt: Ditto.
15701
157022013-12-25  Philippe Normand  <pnormand@igalia.com>
15703
15704        Unreviewed, GTK build fix after r161063
15705
15706        * GNUmakefile.am: Use locally built .gir dependencies when
15707        building the WebExtensions gir file.
15708
157092013-12-25  Carlos Garcia Campos  <cgarcia@igalia.com>
15710
15711        [GTK] Fix warnings when generating WebExtensions gobject-instrospection files
15712        https://bugs.webkit.org/show_bug.cgi?id=126225
15713
15714        Reviewed by Philippe Normand.
15715
15716        Add transfer annotation to webkit_web_page_get_dom_document() and
15717        document webkit_web_page_get_main_frame().
15718
15719        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
15720
157212013-12-25  Carlos Garcia Campos  <cgarcia@igalia.com>
15722
15723        [GTK] Missing introspection information for WebExtensions
15724        https://bugs.webkit.org/show_bug.cgi?id=122407
15725
15726        Reviewed by Philippe Normand.
15727
15728        Generate WebKit2WebExtension-3.0.gir with the WebExtensions API
15729        and move the DOM bindings API from WebKit2-3.0.gir to
15730        WebKit2WebExtension-3.0.gir.
15731
15732        * GNUmakefile.am:
15733
157342013-12-24  Ryosuke Niwa  <rniwa@webkit.org>
15735
15736        32-bit Mac build fix attempt after r161045.
15737
15738        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
15739        (WebKit::windowMap):
15740
157412013-12-22  Sam Weinig  <sam@webkit.org>
15742
15743        [WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed
15744        https://bugs.webkit.org/show_bug.cgi?id=126144
15745
15746        Reviewed by Anders Carlsson.
15747
15748        * DatabaseProcess/DatabaseProcess.cpp:
15749        (WebKit::DatabaseProcess::shared):
15750        * DatabaseProcess/DatabaseProcess.h:
15751        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
15752        (WebKit::NetworkBlobRegistry::shared):
15753        * NetworkProcess/NetworkProcess.cpp:
15754        (WebKit::NetworkProcess::shared):
15755        (WebKit::NetworkProcess::downloadManager):
15756        * NetworkProcess/NetworkProcess.h:
15757        * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
15758        (WebKit::NetworkProcessPlatformStrategies::initialize):
15759        * NetworkProcess/mac/RemoteNetworkingContext.mm:
15760        (WebKit::privateBrowsingStorageSessionIdentifierBase):
15761        * Platform/CoreIPC/Connection.cpp:
15762        (CoreIPC::Connection::SyncMessageState::syncMessageStateMap):
15763        (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex):
15764        * PluginProcess/PluginProcess.cpp:
15765        (WebKit::PluginProcess::shared):
15766        * PluginProcess/PluginProcess.h:
15767        * PluginProcess/mac/PluginProcessMac.mm:
15768        (WebKit::fullscreenWindowTracker):
15769        * Shared/ConnectionStack.cpp:
15770        (WebKit::ConnectionStack::shared):
15771        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
15772        (WebKit::initializedNetscapePluginModules):
15773        * Shared/WebContextMenuItem.cpp:
15774        (WebKit::WebContextMenuItem::separatorItem):
15775        * Shared/WebPreferencesStore.cpp:
15776        (WebKit::boolTestRunnerOverridesMap):
15777        * Shared/mac/CookieStorageShim.cpp:
15778        (WebKit::CookieStorageShim::shared):
15779        * Shared/mac/CookieStorageShim.h:
15780        (WebKit::CookieStorageShim::CookieStorageShim):
15781        * UIProcess/Plugins/PluginProcessManager.cpp:
15782        (WebKit::PluginProcessManager::shared):
15783        * UIProcess/Plugins/PluginProcessManager.h:
15784        * UIProcess/WebContext.cpp:
15785        (WebKit::contexts):
15786        * UIProcess/WebDatabaseManagerProxy.cpp:
15787        (WebKit::WebDatabaseManagerProxy::originKey):
15788        (WebKit::WebDatabaseManagerProxy::originQuotaKey):
15789        (WebKit::WebDatabaseManagerProxy::originUsageKey):
15790        (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
15791        (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
15792        (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
15793        (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
15794        (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
15795        * UIProcess/WebInspectorProxy.cpp:
15796        (WebKit::WebInspectorPageGroups::shared):
15797        * UIProcess/WebPageGroup.cpp:
15798        (WebKit::webPageGroupMap):
15799        * UIProcess/WebPageProxy.cpp:
15800        (WebKit::ExceededDatabaseQuotaRecords::shared):
15801        (WebKit::WebPageProxy::executeEditCommand):
15802        * UIProcess/WebProcessProxy.cpp:
15803        (WebKit::globalPageMap):
15804        * UIProcess/cf/WebBackForwardListCF.cpp:
15805        (WebKit::SessionHistoryCurrentVersion):
15806        (WebKit::createEmptySessionHistoryDictionary):
15807        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
15808        (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
15809        (WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
15810        (WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
15811        (WebKit::extractBackForwardListEntriesFromArray):
15812        * UIProcess/cf/WebPageProxyCF.cpp:
15813        (WebKit::WebPageProxy::sessionStateData):
15814        (WebKit::WebPageProxy::restoreFromSessionStateData):
15815        * UIProcess/mac/WebPageProxyMac.mm:
15816        (WebKit::WebPageProxy::standardUserAgent):
15817        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
15818        (WebKit::sharedDatabaseBackendMap):
15819        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
15820        (WebKit::generateServerConnectionIdentifier):
15821        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
15822        (WebKit::WKDOMNodeCache):
15823        (WebKit::WKDOMRangeCache):
15824        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
15825        (WebKit::domHandleCache):
15826        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
15827        (WebKit::domHandleCache):
15828        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
15829        (WebKit::allExtensions):
15830        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
15831        (WebKit::allWorlds):
15832        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
15833        (WebKit::globalExceptionString):
15834        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
15835        (WebKit::windowMap):
15836        * WebProcess/Storage/StorageNamespaceImpl.cpp:
15837        (WebKit::localStorageNamespaceMap):
15838        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
15839        (WebKit::WebEditorClient::didBeginEditing):
15840        (WebKit::WebEditorClient::respondToChangedContents):
15841        (WebKit::WebEditorClient::respondToChangedSelection):
15842        (WebKit::WebEditorClient::didEndEditing):
15843        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15844        (WebKit::WebFrameLoaderClient::shouldFallBack):
15845        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
15846        (WebKit::WebPlatformStrategies::initialize):
15847        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
15848        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
15849        (WebKit::idToHistoryItemMap):
15850        (WebKit::historyItemToIDMap):
15851        * WebProcess/WebProcess.cpp:
15852        (WebKit::WebProcess::downloadManager):
15853        * WebProcess/WebProcess.h:
15854        * config.h:
15855
158562013-12-23  Tim Horton  <timothy_horton@apple.com>
15857
15858        Fix the iOS build after r161013 and r160672.
15859
15860        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
15861        (WebKit::updateCustomAppearance):
15862        * Shared/mac/RemoteLayerTreeTransaction.mm:
15863
158642013-12-23  Ryuan Choi  <ryuan.choi@samsung.com>
15865
15866        Unreviewed build fix for EFL after r161007
15867
15868        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
15869        (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
15870        Changed the timeout parameter to std::chrono::milliseconds
15871
158722013-12-23  Oliver Hunt  <oliver@apple.com>
15873
15874        Refactor PutPropertySlot to be aware of custom properties
15875        https://bugs.webkit.org/show_bug.cgi?id=126187
15876
15877        Reviewed by msaboff.
15878
15879        Update for new method signatures.
15880
15881        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
15882        (WebKit::NPJSObject::setProperty):
15883
158842013-12-23  Zan Dobersek  <zdobersek@igalia.com>
15885
15886        [GTK][WK2] Simplify ProcessExecutablePathGtk
15887        https://bugs.webkit.org/show_bug.cgi?id=126173
15888
15889        Reviewed by Martin Robinson.
15890
15891        Don't store process name strings in global variables -- each of the names is only used in the relevant
15892        function, so the string can be directly passed into the findWebKitProcess function call.
15893
15894        Simplify the findWebKitProcess function. Make the execDirectory variable static so that g_getenv is only
15895        called once, as it's not expected for the WEBKIT_EXEC_PATH environment variable to change during the runtime.
15896
15897        Introduce the getExecutablePath helper function that gets the current executable path and, if non-null, returns
15898        the directory path of that executable. The helper function preserves the small performance improvement of querying
15899        and processing the executable path only once.
15900        The return value of getExecutablePath is stored in a static variable and is used to construct the process path
15901        if the executable path was successfully retrieved.
15902
15903        * Shared/gtk/ProcessExecutablePathGtk.cpp:
15904        (WebKit::getExecutablePath):
15905        (WebKit::findWebKitProcess):
15906        (WebKit::executablePathOfWebProcess):
15907        (WebKit::executablePathOfPluginProcess):
15908        (WebKit::executablePathOfNetworkProcess):
15909
159102013-12-23  Zan Dobersek  <zdobersek@igalia.com>
15911
15912        Unreviewed build fix for GTK and EFL after r161007.
15913
15914        * UIProcess/DrawingAreaProxyImpl.cpp:
15915        (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
15916        Use std::chrono::milliseconds instead of double for the timeout parameter to
15917        CoreIPC::Connection::waitForAndDispatchImmediately.
15918
159192013-12-23  Gustavo Noronha Silva  <gns@gnome.org>
15920
15921        [GTK] [CMake] Add support for generating gtkdoc
15922        https://bugs.webkit.org/show_bug.cgi?id=116376
15923
15924        Reviewed by Martin Robinson.
15925
15926        * PlatformGTK.cmake: make generated API files go to DerivedSources/WebKit2, to
15927        match the autotools build and gtkdoc.py's expectation.
15928
159292013-12-23  Martin Robinson  <mrobinson@igalia.com>
15930
15931        [GTK] [CMake] Build the WebKit2 GObject API tests
15932        https://bugs.webkit.org/show_bug.cgi?id=125683
15933
15934        Reviewed by Daniel Bates.
15935
15936        * UIProcess/API/gtk/tests/CMakeLists.txt: Added.
15937
159382013-12-23  Tim Horton  <timothy_horton@apple.com>
15939
15940        REGRESSION (r160672): Random remote layers are getting shadows
15941        https://bugs.webkit.org/show_bug.cgi?id=126126
15942
15943        Reviewed by Anders Carlsson.
15944
15945        In http://trac.webkit.org/changeset/160672, we unconditionally
15946        check m_properties.customAppearance without regard for whether it
15947        has ever been initialized. This would result in sending an uninitialized
15948        custom appearance to the UI process, which could end up requesting a shadow.
15949
15950        * Shared/mac/RemoteLayerTreeTransaction.mm:
15951        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
15952        Initialize LayerProperties to the CoreAnimation defaults.
15953
15954        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
15955        (PlatformCALayerRemote::PlatformCALayerRemote):
15956        Remove wrongly-placed default initialization of contentsScale;
15957        there's no reason to send it across the wire for every new layer
15958        if it's left at the default.
15959
159602013-12-23  Anders Carlsson  <andersca@apple.com>
15961
15962        Use std::chrono::milliseconds for message wait timeouts in WebKit2
15963        https://bugs.webkit.org/show_bug.cgi?id=126168
15964
15965        Reviewed by Sam Weinig.
15966
15967        * Platform/CoreIPC/Connection.cpp:
15968        (CoreIPC::Connection::waitForMessage):
15969        * Platform/CoreIPC/Connection.h:
15970        (CoreIPC::Connection::waitForAndDispatchImmediately):
15971        * UIProcess/API/mac/WKView.mm:
15972        (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
15973        (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
15974        * UIProcess/DrawingAreaProxy.cpp:
15975        * UIProcess/DrawingAreaProxy.h:
15976        (WebKit::DrawingAreaProxy::didUpdateBackingStoreStateTimeout):
15977        (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
15978        * UIProcess/WebPageProxy.cpp:
15979        (WebKit::WebPageProxy::waitForDidUpdateViewState):
15980        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
15981        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
15982        (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
15983
159842013-12-23  Anders Carlsson  <andersca@apple.com>
15985
15986        Include <condition_variable>, not <thread>.
15987
15988        * Platform/CoreIPC/Connection.h:
15989        * Shared/BlockingResponseMap.h:
15990        * UIProcess/API/mac/WKPrintingView.h:
15991
159922013-12-23  Lucas Forschler  <lforschler@apple.com>
15993
15994        <rdar://problem/15682948> Update copyright strings
15995
15996        Reviewed by Dan Bernstein
15997
15998        * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist:
15999        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist:
16000        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist:
16001        * Info.plist:
16002        * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
16003        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
16004        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
16005        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
16006        * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
16007        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
16008        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
16009        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
16010        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
16011        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
16012        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
16013
160142013-12-23  Anders Carlsson  <andersca@apple.com>
16015
16016        Convert ThreadCondition in WebKit2 over to std::condition_variable
16017        https://bugs.webkit.org/show_bug.cgi?id=126161
16018
16019        Reviewed by Sam Weinig.
16020
16021        * Platform/CoreIPC/Connection.cpp:
16022        (CoreIPC::Connection::waitForMessage):
16023        (CoreIPC::Connection::processIncomingMessage):
16024        * Platform/CoreIPC/Connection.h:
16025        * Shared/BlockingResponseMap.h:
16026        (BlockingResponseMap::waitForResponse):
16027        (BlockingResponseMap::didReceiveResponse):
16028        (BlockingResponseMap::cancel):
16029        * UIProcess/API/mac/WKPrintingView.h:
16030        * UIProcess/API/mac/WKPrintingView.mm:
16031        (pageDidDrawToPDF):
16032        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
16033        (prepareDataForPrintingOnSecondaryThread):
16034        (-[WKPrintingView knowsPageRange:]):
16035
160362013-12-22  Martin Robinson  <mrobinson@igalia.com>
16037
16038        [GTK][CMake] libtool-compatible soversion calculation
16039        https://bugs.webkit.org/show_bug.cgi?id=125511
16040
16041        Reviewed by Gustavo Noronha Silva.
16042
16043        * CMakeLists.txt: Use the POPULATE_LIBRARY_VERSION macro and the
16044        library-specific version information.
16045
160462013-12-23  Gustavo Noronha Silva  <gns@gnome.org>
16047
16048        [GTK] [CMake] Generate pkg-config files
16049        https://bugs.webkit.org/show_bug.cgi?id=125685
16050
16051        Reviewed by Martin Robinson.
16052
16053        * PlatformGTK.cmake: generate webkit2gtk.pc.
16054
160552013-12-23  Carlos Garcia Campos  <cgarcia@igalia.com>
16056
16057        [GTK] Build with network process unconditionally
16058        https://bugs.webkit.org/show_bug.cgi?id=126128
16059
16060        Reviewed by Martin Robinson.
16061
16062        Build always with the network process enabled and decide whether
16063        to use it or not using an environment variable. This makes a lot
16064        easier to work on the network process and also to switch between
16065        using it or not.
16066
16067        * GNUmakefile.am: Make sure we always include the WebKit2Prefix.h.
16068        * UIProcess/API/gtk/WebKitWebContext.cpp:
16069        (createDefaultWebContext): Use the network process when
16070        WEBKIT_USE_NETWORK_PROCESS environment variable is present.
16071        * WebKit2Prefix.h: Always enable network process for GTK port.
16072
160732013-12-23  Brian Holt  <brian.holt@samsung.com>
16074
16075        [WK2] Implement platform specific Resource Response for SOUP
16076        https://bugs.webkit.org/show_bug.cgi?id=125422
16077
16078        Reviewed by Martin Robinson.
16079
16080        SOUP specific Resource Response implementation for the Network
16081        Process.
16082
16083        * NetworkProcess/NetworkResourceLoader.cpp:
16084        (WebKit::NetworkResourceLoader::continueWillSendRequest):
16085        * WebProcess/Network/WebResourceLoader.cpp:
16086        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
16087
160882013-12-22  Kwang Yul Seo  <skyul@company100.net>
16089
16090        [WK2][SOUP] WebContext::allowSpecificHTTPSCertificateForHost does not work correctly when m_usesNetworkProcess is false
16091        https://bugs.webkit.org/show_bug.cgi?id=125564
16092
16093        Reviewed Carlos Garcia Campos.
16094
16095        WebContext::allowSpecificHTTPSCertificateForHost should send
16096        AllowSpecificHTTPSCertificateForHost to the web process when
16097        m_usesNetworkProcess is false. Also we shouldn't guard
16098        WebProcess::allowSpecificHTTPSCertificateForHost with
16099        !ENABLE(NETWORK_PROCESS) because we need this method when
16100        m_usesNetworkProcess is false.
16101
16102        * UIProcess/WebContext.cpp:
16103        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
16104        * WebProcess/WebProcess.h:
16105        * WebProcess/WebProcess.messages.in:
16106        * WebProcess/soup/WebProcessSoup.cpp:
16107
161082013-12-22  Martin Robinson  <mrobinson@igalia.com>
16109
16110        [GTK][CMake] Integrate GResource for inspector files (and others?)
16111        https://bugs.webkit.org/show_bug.cgi?id=125569
16112
16113        Reviewed by Gustavo Noronha Silva.
16114
16115        * GNUmakefile.am: Use the newly added static WebKit2InspectorGResourceBundle.xml
16116        instead of generating the same file each time.
16117        * PlatformGTK.cmake: Add support for building the GResource bundles into WebKit2.
16118        * UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml: Added.
16119
161202013-12-22  Csaba Osztrogonác  <ossy@webkit.org>
16121
16122        URTBF after r160971 to try to make EFL build again.
16123
16124        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
16125        (WebKit::internalError):
16126
161272013-12-22  Carlos Garcia Campos  <cgarcia@igalia.com>
16128
16129        Unreviewed. Fix GTK+ build after r160971 and r160969.
16130
16131        * GNUmakefile.list.am:
16132        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
16133        (webkit_file_chooser_request_select_files):
16134        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
16135        (didReceiveWebViewMessageFromInjectedBundle):
16136        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
16137        (webkitURISchemeRequestCreate):
16138        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
16139        * UIProcess/API/gtk/WebKitWebResource.cpp:
16140        (webkit_web_resource_get_data):
16141        * UIProcess/soup/WebSoupRequestManagerClient.h:
16142        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
16143        (WebKit::internalError):
16144
161452013-12-21  Ryuan Choi  <ryuan.choi@samsung.com>
16146
16147        Unreviewed build fix attempt on EFL port after r160971 and r160969
16148
16149        * CMakeLists.txt:
16150        * UIProcess/soup/WebSoupRequestManagerClient.cpp:
16151        (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
16152        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
16153        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):
16154
161552013-12-21  Sam Weinig  <sam@webkit.org>
16156
16157        [WK2] Rename WebError to API::Error
16158        https://bugs.webkit.org/show_bug.cgi?id=126125
16159
16160        Reviewed by Anders Carlsson.
16161
16162        * Shared/API/c/WKError.cpp:
16163        (WKErrorGetTypeID):
16164        (WKErrorCopyWKErrorDomain):
16165        * Shared/API/c/WKSharedAPICast.h:
16166        (WebKit::toAPI):
16167        * Shared/API/c/cf/WKErrorCF.cpp:
16168        (WKErrorCreateWithCFError):
16169        * Shared/APIError.cpp: Copied from Source/WebKit2/Shared/WebError.cpp.
16170        (API::Error::webKitErrorDomain):
16171        (API::Error::encode):
16172        (API::Error::decode):
16173        * Shared/APIError.h: Copied from Source/WebKit2/Shared/WebError.h.
16174        (API::Error::create):
16175        (API::Error::domain):
16176        (API::Error::failingURL):
16177        (API::Error::localizedDescription):
16178        (API::Error::Error):
16179        * Shared/Cocoa/WKNSError.h:
16180        (WebKit::wrapper):
16181        * Shared/Cocoa/WKNSError.mm:
16182        (-[WKNSError _web_createTarget]):
16183        * Shared/UserData.cpp:
16184        (WebKit::UserData::encode):
16185        (WebKit::UserData::decode):
16186        * Shared/UserMessageCoders.h:
16187        (WebKit::UserMessageEncoder::baseEncode):
16188        (WebKit::UserMessageDecoder::baseDecode):
16189        * Shared/WebError.cpp: Removed.
16190        * Shared/WebError.h: Removed.
16191        * UIProcess/AutoCorrectionCallback.h:
16192        (WebKit::AutocorrectionDataCallback::invalidate):
16193        * UIProcess/GenericCallback.h:
16194        (WebKit::VoidCallback::invalidate):
16195        (WebKit::GenericCallback::invalidate):
16196        (WebKit::ComputedPagesCallback::invalidate):
16197        (WebKit::ImageCallback::invalidate):
16198        * UIProcess/WebPageProxy.cpp:
16199        (WebKit::WebPageProxy::printFinishedCallback):
16200        * UIProcess/WebPageProxy.h:
16201        (WebKit::ValidateCommandCallback::invalidate):
16202        (WebKit::GestureCallback::invalidate):
16203        (WebKit::TouchesCallback::invalidate):
16204        * WebKit2.xcodeproj/project.pbxproj:
16205        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
16206        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
16207        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
16208        (WebKit::blockedError):
16209        (WebKit::cannotShowURLError):
16210        (WebKit::interruptedForPolicyChangeError):
16211        (WebKit::cannotShowMIMETypeError):
16212        (WebKit::pluginWillHandleLoadError):
16213        (WebKit::internalError):
16214
162152013-12-20  Sam Weinig  <sam@webkit.org>
16216
16217        [WK2] Rename WebURL to API::URL
16218        https://bugs.webkit.org/show_bug.cgi?id=126100
16219
16220        Reviewed by Anders Carlsson.
16221
16222        * Shared/API/c/WKSharedAPICast.h:
16223        (WebKit::toURLRef):
16224        (WebKit::toCopiedURLAPI):
16225        * Shared/API/c/WKURL.cpp:
16226        (WKURLGetTypeID):
16227        (WKURLCreateWithUTF8CString):
16228        (WKURLCreateWithBaseURL):
16229        * Shared/API/c/cf/WKURLCF.mm:
16230        (WKURLCreateWithCFURL):
16231        * Shared/APIURL.h: Copied from Source/WebKit2/Shared/WebURL.h.
16232        (API::URL::create):
16233        (API::URL::string):
16234        (API::URL::host):
16235        (API::URL::protocol):
16236        (API::URL::path):
16237        (API::URL::lastPathComponent):
16238        (API::URL::encode):
16239        (API::URL::decode):
16240        (API::URL::URL):
16241        * Shared/Cocoa/WKNSURL.h:
16242        (WebKit::wrapper):
16243        * Shared/Cocoa/WKNSURL.mm:
16244        (-[WKNSURL _web_createTarget]):
16245        * Shared/Plugins/Netscape/PluginInformation.cpp:
16246        (WebKit::createPluginInformationDictionary):
16247        * Shared/UserData.cpp:
16248        (WebKit::UserData::encode):
16249        (WebKit::UserData::decode):
16250        * Shared/UserMessageCoders.h:
16251        (WebKit::UserMessageEncoder::baseEncode):
16252        (WebKit::UserMessageDecoder::baseDecode):
16253        * Shared/WebArchiveResource.h:
16254        * Shared/WebURL.h: Removed.
16255        * UIProcess/WebFrameProxy.cpp:
16256        (WebKit::WebFrameProxy::getResourceData):
16257        * UIProcess/WebFrameProxy.h:
16258        * UIProcess/WebIconDatabase.cpp:
16259        (WebKit::WebIconDatabase::didChangeIconForPageURL):
16260        (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL):
16261        * UIProcess/WebIconDatabaseClient.cpp:
16262        (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
16263        (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
16264        * UIProcess/WebIconDatabaseClient.h:
16265        * UIProcess/WebOpenPanelResultListenerProxy.cpp:
16266        (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
16267        * UIProcess/WebPageProxy.cpp:
16268        (WebKit::WebPageProxy::getResourceDataFromFrame):
16269        * UIProcess/WebPageProxy.h:
16270        * WebKit2.xcodeproj/project.pbxproj:
16271        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
16272
162732013-12-21  Carlos Garcia Campos  <cgarcia@igalia.com>
16274
16275        [GTK] Test /webkit2/WebKitWebResource/mime-type fails when run after /webkit2/WebKitWebView/resources
16276        https://bugs.webkit.org/show_bug.cgi?id=126119
16277
16278        Reviewed by Martin Robinson.
16279
16280        The problem is that when the blank.ico resource is loaded from the
16281        disk cache, the mime type is null, because the soup cache doesn't
16282        cache sniffed mime types. This doesn't happen when a resource is
16283        loaded form the memory cache, because the ResourceResponse is
16284        cached, not only the headers. I think the disk cache should also
16285        cache the sniffed content type, but that needs to be done in
16286        soup. For now we can workaround the issue in the unit test by
16287        making sure that resources that can be cached, also include the
16288        Content-Type header, this way the mime type won't be sniffed and
16289        it will be cached as a HTTP header in the disk cache.
16290
16291        * UIProcess/API/gtk/tests/TestResources.cpp:
16292        (serverCallback): Add Content-Type header for resources that can
16293        be cached.
16294
162952013-12-21  Carlos Garcia Campos  <cgarcia@igalia.com>
16296
16297        REGRESSION(r160909): [GTK] Tests /webkit2/WebKitWebView/default-menu and /webkit2/WebKitSettings/webkit-settings fail
16298        https://bugs.webkit.org/show_bug.cgi?id=126117
16299
16300        Reviewed by Martin Robinson.
16301
16302        In r160909 the fullscreen setting default value was changed, but
16303        the unit tests relaying on the default value were not updated
16304        accordingly.
16305
16306        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
16307        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
16308        (testWebKitSettings):
16309
163102013-12-20  Jaehun Lim  <ljaehun.lim@samsung.com>
16311
16312        Unreviewed build fix after r160939
16313
16314        Add ENABLE(CUSTOM_PROTOCOLS) guard.
16315
16316        * UIProcess/WebContext.cpp:
16317
163182013-12-20  Simon Fraser  <simon.fraser@apple.com>
16319
16320        Change "threaded scrolling" terminology to "asynchronous scrolling"
16321        https://bugs.webkit.org/show_bug.cgi?id=126094
16322
16323        Reviewed by Tim Horton.
16324        
16325        Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change
16326        references to "main thread scrolling" to "synchronous scrolling".
16327
16328        * WebProcess/WebPage/EventDispatcher.cpp:
16329        (WebKit::EventDispatcher::wheelEvent):
16330        * WebProcess/WebPage/EventDispatcher.h:
16331        * WebProcess/WebPage/WebPage.cpp:
16332        (WebKit::WebPage::WebPage):
16333        (WebKit::WebPage::~WebPage):
16334        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16335        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
16336        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
16337        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
16338        (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
16339
163402013-12-20  Ricky Mondello  <rmondello@apple.com>
16341
16342        Rename PlugInAutoStartProvider's ...EntriesAddedBeforeTime facility to ...EntriesAddedAfterTime
16343        https://bugs.webkit.org/show_bug.cgi?id=126078
16344
16345        Reviewed by Anders Carlsson.
16346
16347        r160922 accidentally named a facility for filtering out data added after a certain time,
16348        "...FilteringOutEntriesAddedBeforeTime", which was incorrect. This patch renames those instances
16349        to "...FilteringOutEntriesAddedAfterTime".
16350
16351        * UIProcess/API/C/WKContext.cpp:
16352        (WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
16353        * UIProcess/API/C/WKContext.h:
16354        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
16355        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime):
16356        * UIProcess/Plugins/PlugInAutoStartProvider.h:
16357        * UIProcess/WebContext.cpp:
16358        (WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
16359        * UIProcess/WebContext.h:
16360
163612013-12-20  Sam Weinig  <sam@webkit.org>
16362
16363        [WK2] Add SPI for using a custom protocol handler
16364        https://bugs.webkit.org/show_bug.cgi?id=126089
16365
16366        Reviewed by Anders Carlsson.
16367
16368        * UIProcess/API/C/mac/WKContextPrivateMac.h:
16369        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
16370        (WKContextRegisterSchemeForCustomProtocol):
16371        (WKContextUnregisterSchemeForCustomProtocol):
16372        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
16373        (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
16374        (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
16375        * UIProcess/WebContext.cpp:
16376        (WebKit::WebContext::globalURLSchemesWithCustomProtocolHandlers):
16377        (WebKit::WebContext::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
16378        (WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
16379        * UIProcess/WebContext.h:
16380        * UIProcess/mac/WebContextMac.mm:
16381        (WebKit::WebContext::platformInitializeWebProcess):
16382        (WebKit::WebContext::platformInitializeNetworkProcess):
16383        (WebKit::WebContext::registerNotificationObservers):
16384        (WebKit::WebContext::unregisterNotificationObservers):
16385
163862013-12-20  Tim Horton  <timothy_horton@apple.com>
16387
16388        WebKit2 View Gestures: Implement smartMagnifyWithEvent: and make it work
16389        https://bugs.webkit.org/show_bug.cgi?id=125752
16390        <rdar://problem/15664245>
16391
16392        Reviewed by Anders Carlsson.
16393
16394        Implement "smart magnify", which is the double-tap-to-zoom gesture on OS X.
16395
16396        * UIProcess/API/mac/WKView.mm:
16397        (-[WKView smartMagnifyWithEvent:]):
16398        Forward smartMagnifyWithEvent to ViewGestureController.
16399
16400        * UIProcess/mac/ViewGestureController.cpp:
16401        (WebKit::ViewGestureController::handleMagnificationGesture):
16402        Drive-by repair a comment.
16403
16404        (WebKit::ViewGestureController::handleSmartMagnificationGesture):
16405        Added. Immediately dispatch a message to the web process to retrieve
16406        the rendered rect of the element under the gesture.
16407
16408        (WebKit::maximumRectangleComponentDelta):
16409        Return the absolute maximum delta between corresponding components of two rects.
16410
16411        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
16412        Once the WebProcess has replied with the relevant geometry, use it to
16413        determine our target rectangle (the element's rect, with some padding)
16414        and target magnification (attempting to keep replaced elements
16415        fully in-view, and otherwise zooming in as far as possible to fit the
16416        element's width).
16417
16418        If this gesture occurs after the page is already magnified, and targets
16419        a similar region to the previous smart magnification gesture, zoom out
16420        instead of panning across the page.
16421
16422        Begin a transient zoom with the current magnification, and immediately
16423        commit it at our target magnification and offset, so that the drawing
16424        area will animate to the new parameters.
16425
16426        (WebKit::ViewGestureController::endActiveGesture):
16427        * UIProcess/mac/ViewGestureController.h:
16428        * UIProcess/mac/ViewGestureController.messages.in:
16429        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
16430        (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
16431        Hit-test the document to determine the node under the smart magnification
16432        gesture, and return it to the UI process along with various other bits of data.
16433
16434        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
16435        * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
16436        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
16437        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16438        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
16439        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
16440        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
16441        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
16442        Instead of short-circuiting the animation if we didn't have to constrain
16443        the origin, short-circuit if we're already *at* the right origin,
16444        like the comment said. This prevents jarring jumps when double-tap-panning
16445        between elements when zoomed all the way in.
16446
164472013-12-20  Ricky Mondello  <rmondello@apple.com>
16448
16449        Allow partial application of PlugInAutoStart tables based on timestamp
16450        https://bugs.webkit.org/show_bug.cgi?id=125871
16451
16452        Reviewed by Anders Carlsson.
16453
16454        * UIProcess/API/C/WKContext.cpp:
16455        (WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): New API.
16456        * UIProcess/API/C/WKContext.h: New API.
16457
16458        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
16459        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Call setAutoStartOriginsTableWithItemsPassingTest
16460            with a predicate that lets all policies pass.
16461        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Call
16462            setAutoStartOriginsTableWithItemsPassingTest with a predicate that lets policies created before a certain
16463            time pass.
16464        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest): Added. Contains most of the
16465            contents of setAutoStartOriginsTable, with support for applying a predicate.
16466        * UIProcess/Plugins/PlugInAutoStartProvider.h: Add public method,
16467            `setAutoStartOriginsFilteringOutEntriesAddedBeforeTime`, and private method,
16468            `setAutoStartOriginsTableWithItemsPassingTest`.
16469
16470        * UIProcess/WebContext.cpp:
16471        (WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Pass through to the
16472            PlugInAutoStartProvider.
16473        * UIProcess/WebContext.h: Declare `setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime`.
16474
164752013-12-20  Enrique Ocaña González  <eocanha@igalia.com>
16476
16477        [GTK] WebKitWebViewBase's ClickCounter should be reset
16478        https://bugs.webkit.org/show_bug.cgi?id=122551
16479
16480        Reviewed by Martin Robinson.
16481
16482        * UIProcess/API/gtk/PageClientImpl.cpp:
16483        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
16484        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
16485        (webkitWebViewBaseResetClickCounter):
16486        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
16487
164882013-12-20  Enrique Ocaña González  <eocanha@igalia.com>
16489
16490        [GTK] The fullscreen API should be enabled by default
16491        https://bugs.webkit.org/show_bug.cgi?id=125993
16492
16493        Reviewed by Gustavo Noronha Silva.
16494
16495        Set the WebSettings property to TRUE
16496
16497        * UIProcess/API/gtk/WebKitSettings.cpp:
16498        (webkit_settings_class_init):
16499
165002013-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
16501
16502        [GTK] Some unit tests using web extensions fail when run alone
16503        https://bugs.webkit.org/show_bug.cgi?id=126002
16504
16505        Reviewed by Gustavo Noronha Silva.
16506
16507        The problem is that the page is created before the dbus connection
16508        has been established, and we are connecting to web-page-created
16509        signal once we have a valid dbus connection. We should connect to
16510        the signal before connecting to dbus and queue any request to emit
16511        a dbus signal until the connection is set. This also fixes the
16512        WebExtensions tests when using the network process because a new
16513        web process is launched for every test case.
16514
16515        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
16516        (DelayedSignal::DelayedSignal): Helper struct to queue signal
16517        emissions requested before the dbus connection has been
16518        established.
16519        (emitDocumentLoaded): Emit the dbus DocumentLoaded signal.
16520        (documentLoadedCallback): Queue the signal emission if we still
16521        don't have a connection or call emitDocumentLoaded otherwise.
16522        (emitURIChanged): Emit the dbus URIChanged signal.
16523        (uriChangedCallback): Queue the signal emission if we still don't
16524        have a connection or call emitURIChanged otherwise.
16525        (pageCreatedCallback): Pass the web extension as user data to
16526        document-loaded and uri-changed callbacks.
16527        (busAcquiredCallback): Set the connection as user data of the web
16528        extension and process any delayed signal emission pending.
16529        (webkit_web_extension_initialize): Connect to web-page-create
16530        signal before connecting to dbus.
16531
165322013-12-19  Benjamin Poulain  <bpoulain@apple.com>
16533
16534        [WK2][iOS] Enable multiprocess by default
16535        https://bugs.webkit.org/show_bug.cgi?id=126030
16536
16537        Reviewed by Anders Carlsson.
16538
16539        * UIProcess/API/Cocoa/WKProcessGroup.mm:
16540        (-[WKProcessGroup initWithInjectedBundleURL:]):
16541
165422013-12-19  Andy Estes  <aestes@apple.com>
16543
16544        Remove WebFilterEvaluator wrappers from WebKitSystemInterface
16545        https://bugs.webkit.org/show_bug.cgi?id=126028
16546
16547        Reviewed by Anders Carlsson.
16548
16549        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
16550        (InitWebCoreSystemInterface): Don't INIT() removed function pointers.
16551
165522013-12-19  Benjamin Poulain  <bpoulain@apple.com>
16553
16554        Remove WKContentViewPrivate.h, WKContentView.h is private now
16555        https://bugs.webkit.org/show_bug.cgi?id=125981
16556
16557        Reviewed by Dan Bernstein.
16558
16559        There is no need for a separate header, WKContentView has become an implementation
16560        detail of WKView.
16561
16562        * UIProcess/API/ios/WKContentView.h:
16563        * UIProcess/API/ios/WKContentViewInternal.h:
16564        * UIProcess/API/ios/WKContentViewPrivate.h: Removed.
16565        * UIProcess/API/ios/WKView.mm:
16566
165672013-12-19  Alexey Proskuryakov  <ap@apple.com>
16568
16569        REGRESSION (r160515): Frequent assertion failures on printing/print-close-crash.html
16570        https://bugs.webkit.org/show_bug.cgi?id=126014
16571
16572        Rolled out r160515 while Chris is investigating. Added FIXME comments in other
16573        places where we use this pattern.
16574
16575        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
16576        (WebKit::WebChromeClient::runJavaScriptAlert):
16577        (WebKit::WebChromeClient::runJavaScriptConfirm):
16578        (WebKit::WebChromeClient::runJavaScriptPrompt):
16579        (WebKit::WebChromeClient::print):
16580        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
16581        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
16582
165832013-12-19  Ricky Mondello  <rmondello@apple.com>
16584
16585        Add WebKit2 API for clearing the back-forward list
16586        https://bugs.webkit.org/show_bug.cgi?id=126005
16587
16588        Reviewed by Anders Carlsson.
16589
16590        * UIProcess/API/C/WKBackForwardListRef.cpp:
16591        (WKBackForwardListClear): Call through to the back-forward list's `clear()`.
16592        * UIProcess/API/C/WKBackForwardListRef.h: Declare new API.
16593
165942013-12-19  Csaba Osztrogonác  <ossy@webkit.org>
16595
16596        One more URTBF to make GTK build happy after r160853.
16597
16598        * UIProcess/API/gtk/WebKitDownloadClient.cpp:
16599        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
16600        (didReceiveWebViewMessageFromInjectedBundle):
16601        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
16602        (webkitResponsePolicyDecisionCreate):
16603        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
16604
166052013-12-19  Csaba Osztrogonác  <ossy@webkit.org>
16606
16607        URTBF for GTK after r160853.
16608
16609        * GNUmakefile.list.am:
16610
166112013-12-19  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
16612
16613        Unreviewed EFL build fix attempt after r160853
16614
16615        * CMakeLists.txt: Change WebURLResponse.cpp to APIURLResponse.cpp.
16616
166172013-12-17  Sam Weinig  <sam@webkit.org>
16618
16619        [WK2] Rename WebURLResponse to API::URLResponse
16620        https://bugs.webkit.org/show_bug.cgi?id=125910
16621
16622        Reviewed by Andreas Kling.
16623
16624        * Shared/API/c/WKSharedAPICast.h:
16625        (WebKit::toAPI):
16626        * Shared/API/c/WKURLResponse.cpp:
16627        (WKURLResponseGetTypeID):
16628        * Shared/API/c/mac/WKURLResponseNS.mm:
16629        (WKURLResponseCreateWithNSURLResponse):
16630        * Shared/APIURLRequest.cpp:
16631        * Shared/APIURLResponse.cpp: Copied from Source/WebKit2/Shared/WebURLResponse.cpp.
16632        (API::URLResponse::URLResponse):
16633        (API::URLResponse::encode):
16634        (API::URLResponse::decode):
16635        * Shared/APIURLResponse.h: Copied from Source/WebKit2/Shared/WebURLResponse.h.
16636        (API::URLResponse::create):
16637        * Shared/UserMessageCoders.h:
16638        (WebKit::UserMessageEncoder::baseEncode):
16639        (WebKit::UserMessageDecoder::baseDecode):
16640        * Shared/WebURLResponse.cpp: Removed.
16641        * Shared/WebURLResponse.h: Removed.
16642        * UIProcess/WebDownloadClient.cpp:
16643        (WebKit::WebDownloadClient::didReceiveResponse):
16644        * UIProcess/WebPolicyClient.cpp:
16645        (WebKit::WebPolicyClient::decidePolicyForResponse):
16646        * WebKit2.xcodeproj/project.pbxproj:
16647        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
16648        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
16649
166502013-12-19  Nick Diego Yamane  <nick.yamane@openbossa.org>
16651
16652        [CoordinatedGraphics] Regressions in WebView's contentScaleFactor/contentPosition
16653        https://bugs.webkit.org/show_bug.cgi?id=125943
16654
16655        Reviewed by Noam Rosenthal.
16656
16657        When WebView::pageDidRequestScroll is called it is scaling position requested
16658        to scroll before store it as contentPosition, that is not necessary since WebView
16659        already stores the requested contentScaleFactor so it's able to do that internally
16660        when needed, what simplifies the API and improves the readability of webview's code.
16661        This patch reverts changes from https://bugs.webkit.org/show_bug.cgi?id=118548, which
16662        was causing some regressions in contentScaleFactor/contentPosition related stuff.
16663        Besides that WebView::pageDidRequestScroll calls viewClient callback with the wrong
16664        position (different from the position stored in WebView).
16665
16666        * UIProcess/API/efl/EwkView.cpp:
16667        (EwkView::scrollBy):
16668        * UIProcess/CoordinatedGraphics/WebView.cpp:
16669        (WebKit::WebView::transformToScene):
16670        (WebKit::WebView::updateViewportSize):
16671        (WebKit::WebView::pageDidRequestScroll):
16672        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
16673        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
166742013-12-18  Tim Horton  <timothy_horton@apple.com>
16675
16676        WebKit2 View Gestures: Move WebProcess-side geometry collection into its own class
16677        https://bugs.webkit.org/show_bug.cgi?id=125967
16678
16679        Reviewed by Anders Carlsson.
16680
16681        Move the messages dispatched by ViewGestureController that grab geometry
16682        from the WebProcess out of the DrawingArea and into ViewGestureGeometryCollector.
16683        This class will grow when smart magnification is implemented.
16684
16685        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
16686        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
16687        * WebProcess/WebPage/DrawingArea.h:
16688        * WebProcess/WebPage/DrawingArea.messages.in:
16689        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
16690        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16691        Remove BeginTransientZoom() message.
16692
16693        * DerivedSources.make:
16694        * UIProcess/DrawingAreaProxy.h:
16695        
16696        * UIProcess/mac/ViewGestureController.cpp:
16697        (WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture):
16698        (WebKit::ViewGestureController::handleMagnificationGesture):
16699        * UIProcess/mac/ViewGestureController.h:
16700        * UIProcess/mac/ViewGestureController.messages.in:
16701        Make use of ViewGestureGeometryCollector and rename didBeginTransientZoom to didCollectGeometryForMagnificationGesture.
16702
16703        * WebKit2.xcodeproj/project.pbxproj:
16704        Add new files.
16705        
16706        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: Added.
16707        (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
16708        (WebKit::ViewGestureGeometryCollector::~ViewGestureGeometryCollector):
16709        (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
16710        * WebProcess/WebPage/ViewGestureGeometryCollector.h: Added.
16711        * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in: Added.
16712        Move the code to collect the visible content rect and return it to the ViewGestureController into its own class.
16713
16714        * WebProcess/WebPage/WebPage.cpp:
16715        (WebKit::WebPage::WebPage):
16716        * WebProcess/WebPage/WebPage.h:
16717        Move m_pageID to the top of WebPage's initialization list so that
16718        it can be safely used from other members' constructors.
16719
16720        Add a ViewGestureGeometryCollector member and construct it.
16721
167222013-12-18  Gustavo Noronha Silva  <gns@gnome.org>
16723
16724        Unreviewed cmake build fix for GTK+.
16725
16726        * PlatformGTK.cmake: fix paths for files that were moved.
16727
167282013-12-18  Anders Carlsson  <andersca@apple.com>
16729
16730        MessageReceiverMap::addMessageReceiver should assert that destinationID is not zero
16731        https://bugs.webkit.org/show_bug.cgi?id=125965
16732
16733        Reviewed by Tim Horton.
16734
16735        * Platform/CoreIPC/MessageReceiverMap.cpp:
16736        (CoreIPC::MessageReceiverMap::addMessageReceiver):
16737
167382013-12-18  Anders Carlsson  <andersca@apple.com>
16739
16740        Deprecate some WKMutableDictionary functions
16741        https://bugs.webkit.org/show_bug.cgi?id=125962
16742
16743        Reviewed by Tim Horton.
16744
16745        * Shared/API/c/WKDeprecatedFunctions.cpp:
16746        (WKDictionaryIsMutable):
16747        (WKDictionaryAddItem):
16748        (WKDictionaryRemoveItem):
16749        * Shared/API/c/WKMutableDictionary.cpp:
16750        * Shared/API/c/WKMutableDictionary.h:
16751
167522013-12-18  Dan Bernstein  <mitz@apple.com>
16753
16754        [Cocoa] Allow the web process plug-in to intercept resource requests
16755        https://bugs.webkit.org/show_bug.cgi?id=125959
16756
16757        Reviewed by Anders Carlsson.
16758
16759        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new
16760        delegate method.
16761        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
16762        (willSendRequestForFrame): Implemented this WKBundlePageResourceClient callback by calling
16763        the load delegate.
16764        (setUpResourceLoadClient): Added. Initializes the resource load client with the above
16765        function.
16766        (-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]): Added calls to initialize
16767        and clear the resource load client.
16768
167692013-12-18  Yongjun Zhang  <yongjun_zhang@apple.com>
16770
16771        https://bugs.webkit.org/show_bug.cgi?id=125941
16772        Add Obj C API for injected bundle PageGroup class.
16773
16774        Reviewed by Dan Bernstein.
16775
16776        Add Obj C API (WKWebProcessPlugInPageGroup) for injected bundle PageGroup class. And add APIs to
16777        expose the main frame and page group from WKWebProcessPlugInBrowsingContextController.
16778
16779        * Shared/Cocoa/APIObject.mm:
16780        (API::Object::newObject): Create wrapper object for InjectedPageGroup object.
16781        * WebKit2.xcodeproj/project.pbxproj:
16782        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h: Added.
16783        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm: Added.
16784        (-[WKWebProcessPlugInPageGroup identifier]):
16785        (-[WKWebProcessPlugInPageGroup dealloc]):
16786        (-[WKWebProcessPlugInPageGroup API::]):
16787        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Added.
16788        (WebKit::wrapper):
16789        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Add API to expose the main frame and page group
16790            for WKWebPocessPlugInBrowserContextController.
16791        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
16792        (-[WKWebProcessPlugInBrowserContextController mainFrame]):
16793        (-[WKWebProcessPlugInBrowserContextController pageGroup]):
16794
167952013-12-18  Tim Horton  <timothy_horton@apple.com>
16796
16797        PDFPlugin: Never make a NSEventType = 0
16798        https://bugs.webkit.org/show_bug.cgi?id=125955
16799
16800        Reviewed by Dan Bernstein.
16801
16802        * WebProcess/Plugins/PDF/PDFPlugin.mm:
16803        (WebKit::getEventTypeFromWebEvent):
16804        Make getEventTypeFromWebEvent return its NSEventType as an out arg, and
16805        make the return value represent whether or not we set it.
16806
16807        (WebKit::PDFPlugin::nsEventForWebMouseEvent):
16808        (WebKit::PDFPlugin::handleKeyboardEvent):
16809        Make use of getEventTypeFromWebEvent.
16810
168112013-12-18  Anders Carlsson  <andersca@apple.com>
16812
16813        WKRemoteObjectRegistry should invoke invocations
16814        https://bugs.webkit.org/show_bug.cgi?id=125945
16815
16816        Reviewed by Tim Horton.
16817
16818        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
16819        (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
16820
168212013-12-18  Gavin Barraclough  <barraclough@apple.com>
16822
16823        Add layer hosting mode to ViewState
16824        https://bugs.webkit.org/show_bug.cgi?id=125803
16825
16826        Reviewed by Anders Carlsson.
16827
16828        When the view state of the page is updated the layer mode may also
16829        change. Currently this is passed by a separate message, remove this
16830        and fold it into ViewState.
16831        
16832        Previously the setLayerHostingMode message would be passed to the
16833        DrawingArea, which would inform the WebPage. Since the WebPage is
16834        passed the SetVisibilityState messgae reverse this.
16835
16836        WebPageProxy had a policy of only updating the hosting mode when
16837        visible - the value is sticky whilst the view is not visible. Make
16838        this policy explicit in the PageClientImpl, rather then implicit
16839        from the flow control.
16840
16841        * Shared/ViewState.h:
16842            - Added ViewState::IsLayerWindowServerHosted.
16843        * Shared/WebPageCreationParameters.cpp:
16844        (WebKit::WebPageCreationParameters::encode):
16845        (WebKit::WebPageCreationParameters::decode):
16846        * Shared/WebPageCreationParameters.h:
16847            - removed layerHostingMode.
16848        * UIProcess/API/mac/PageClientImpl.h:
16849        * UIProcess/API/mac/PageClientImpl.mm:
16850        (WebKit::PageClientImpl::PageClientImpl):
16851        (WebKit::PageClientImpl::isLayerWindowServerHosted):
16852        (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
16853            - viewLayerHostingMode -> isLayerWindowServerHosted, added m_layerHostingMode.
16854        * UIProcess/DrawingAreaProxy.h:
16855            - removed layerHostingModeDidChange.
16856        * UIProcess/PageClient.h:
16857            - viewLayerHostingMode -> isLayerWindowServerHosted.
16858        * UIProcess/WebPageProxy.cpp:
16859        (WebKit::WebPageProxy::WebPageProxy):
16860            - removed m_layerHostingMode.
16861        (WebKit::WebPageProxy::updateViewState):
16862            - added IsLayerWindowServerHosted.
16863        (WebKit::WebPageProxy::viewStateDidChange):
16864            - changes to ViewState::IsInWindow implies ViewState::IsLayerWindowServerHosted may change too.
16865            - remove special handling (separate message) for LayerHostingMode.
16866        (WebKit::WebPageProxy::initializeCreationParameters):
16867            - removed m_layerHostingMode.
16868        * UIProcess/WebPageProxy.h:
16869            - removed m_layerHostingMode.
16870        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
16871        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
16872            - removed layerHostingModeDidChange.
16873        * WebProcess/WebPage/DrawingArea.h:
16874        (WebKit::DrawingArea::setLayerHostingMode):
16875        (WebKit::DrawingArea::didUpdate):
16876            - setLayerHostingMode takes a LayerHostingMode.
16877        * WebProcess/WebPage/DrawingArea.messages.in:
16878            - SetLayerHostingMode is no longer a message.
16879        * WebProcess/WebPage/WebPage.cpp:
16880        (WebKit::WebPage::WebPage):
16881            - removed m_layerHostingMode.
16882        (WebKit::WebPage::setViewState):
16883            - handle ViewState::IsLayerWindowServerHosted.
16884        (WebKit::WebPage::setLayerHostingMode):
16885            - moved from ~Mac.mm (matching other ViewState setters), calls to DrawingArea.
16886        * WebProcess/WebPage/WebPage.h:
16887        (WebKit::WebPage::layerHostingMode):
16888            - layerHostingMode queries m_viewState, removed m_layerHostingMode.
16889        * WebProcess/WebPage/ios/WebPageIOS.mm:
16890            - removed setLayerHostingMode.
16891        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
16892        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16893        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
16894            - setLayerHostingMode takes a LayerHostingMode, WebPage now calls to DrawingArea.
16895        * WebProcess/WebPage/mac/WebPageMac.mm:
16896            - removed setLayerHostingMode.
16897
168982013-12-18  Gavin Barraclough  <barraclough@apple.com>
16899
16900        Fix page visibility api test, initialization in WebKit2
16901        https://bugs.webkit.org/show_bug.cgi?id=125933
16902
16903        Reviewed by Anders Carlsson.
16904
16905        The API test for page visibility is broken, fix this. This revealed a recent regression in WebKit2
16906        (introduced in https://bugs.webkit.org/show_bug.cgi?id=123379), caused by a typo removing a '!'.
16907
16908        * WebProcess/WebPage/WebPage.cpp:
16909        (WebKit::WebPage::setVisibilityState):
16910            - Fix regression, accidentally removed a '!'.
16911
169122013-12-18  Anders Carlsson  <andersca@apple.com>
16913
16914        Fix 32-bit build.
16915
16916        * Shared/API/Cocoa/RemoteObjectRegistry.mm:
16917        (WebKit::RemoteObjectRegistry::invokeMethod):
16918
169192013-12-18  Anders Carlsson  <andersca@apple.com>
16920
16921        Make WKObjectRegistry objects be per page
16922        https://bugs.webkit.org/show_bug.cgi?id=125937
16923
16924        Reviewed by Andreas Kling.
16925
16926        Remove WKObjectRegistry from WKConnection. Also, add a C++ object that is in charge 
16927        of actually sending and receiving messages.
16928
16929        * DerivedSources.make:
16930        * Shared/API/Cocoa/RemoteObjectRegistry.h: Added.
16931        * Shared/API/Cocoa/RemoteObjectRegistry.messages.in: Added.
16932        * Shared/API/Cocoa/RemoteObjectRegistry.mm: Added.
16933        (WebKit::RemoteObjectRegistry::RemoteObjectRegistry):
16934        (WebKit::RemoteObjectRegistry::~RemoteObjectRegistry):
16935        (WebKit::RemoteObjectRegistry::sendInvocation):
16936        (WebKit::RemoteObjectRegistry::invokeMethod):
16937        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
16938        (-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]):
16939        (-[WKRemoteObjectRegistry _invalidate]):
16940        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
16941        (-[WKRemoteObjectRegistry WebKit::]):
16942        (-[WKRemoteObjectRegistry _invokeMethod:]):
16943        * Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h:
16944        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
16945        (-[WKBrowsingContextController dealloc]):
16946        (-[WKBrowsingContextController remoteObjectRegistry]):
16947        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
16948        * UIProcess/API/Cocoa/WKConnection.h:
16949        * UIProcess/API/Cocoa/WKConnection.mm:
16950        (didReceiveMessage):
16951        * WebKit2.xcodeproj/project.pbxproj:
16952        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
16953        (-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]):
16954        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
16955
169562013-12-18  Conrad Shultz  <conrad_shultz@apple.com>
16957
16958        API to set a favicon
16959        https://bugs.webkit.org/show_bug.cgi?id=125892
16960
16961        Reviewed by Brian Weinstein.
16962
16963        * UIProcess/API/C/WKIconDatabase.cpp:
16964        (WKIconDatabaseSetIconDataForIconURL):
16965        Call WebIconDatabase::setIconDataForIconURL().
16966
16967        * UIProcess/API/C/WKIconDatabase.h:
16968        Declare WKIconDatabaseSetIconDataForIconURL().
16969
169702013-12-18  Anders Carlsson  <andersca@apple.com>
16971
16972        Fix Dictionary encoding
16973        https://bugs.webkit.org/show_bug.cgi?id=125930
16974
16975        Reviewed by Andreas Kling.
16976
16977        Encode the HashMap size as a 64-bit unsigned integer.
16978
16979        * Shared/UserData.cpp:
16980        (WebKit::UserData::encode):
16981
169822013-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
16983
16984        Unreviewed. Fix make distcheck.
16985
16986        * GNUmakefile.list.am:
16987
169882013-12-17  Jae Hyun Park  <jae.park@company100.net>
16989
16990        [GTK] Build fix after r160737
16991
16992        Unreviewed.
16993
16994        Rename WebURLRequest to API::URLRequest
16995
16996        * GNUmakefile.list.am:
16997        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
16998        (didReceiveWebViewMessageFromInjectedBundle):
16999        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
17000        (webkitNavigationPolicyDecisionCreate):
17001        * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
17002        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
17003        (webkitResponsePolicyDecisionCreate):
17004        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
17005        * UIProcess/API/gtk/WebKitWebView.cpp:
17006        (webkit_web_view_load_request):
17007        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
17008        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
17009        (willSendRequestForFrame):
17010
170112013-12-17  Ryuan Choi  <ryuan.choi@samsung.com>
17012
17013        Unreviewed build fix on EFL port after r160737
17014
17015        Rename WebURLRequest to API::URLRequest
17016
17017        * CMakeLists.txt:
17018        * UIProcess/API/efl/ewk_url_request_private.h:
17019
170202013-12-17  Simon Fraser  <simon.fraser@apple.com>
17021
17022        Rename "canRubberBands" to "canRubberBand"
17023        https://bugs.webkit.org/show_bug.cgi?id=125897
17024
17025        Reviewed by Anders Carlsson.
17026
17027        Rename "canRubberBands" to "canRubberBand" in various places.
17028
17029        * WebProcess/WebPage/EventDispatcher.cpp:
17030        (WebKit::EventDispatcher::wheelEvent):
17031        * WebProcess/WebPage/EventDispatcher.h:
17032        * WebProcess/WebPage/EventDispatcher.messages.in:
17033
170342013-12-17  Tim Horton  <timothy_horton@apple.com>
17035
17036        WebKit2 View Gestures: Fix the shadow layer restore-from-overpinched animation
17037        https://bugs.webkit.org/show_bug.cgi?id=125884
17038
17039        Reviewed by Anders Carlsson.
17040
17041        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
17042        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
17043        Set to-values on the right animations.
17044
17045        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
17046        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
17047        We don't need to explicitly set the shadow path, because PlatformCALayer::setBounds does it for us now.
17048
170492013-12-17  Sam Weinig  <sam@webkit.org>
17050
17051        [WK2] Rename WebURLRequest to API::URLRequest
17052        https://bugs.webkit.org/show_bug.cgi?id=125886
17053
17054        Reviewed by Anders Carlsson.
17055
17056        * Shared/API/c/WKSharedAPICast.h:
17057        (WebKit::toAPI):
17058        * Shared/API/c/WKURLRequest.cpp:
17059        (WKURLRequestGetTypeID):
17060        (WKURLRequestCreateWithWKURL):
17061        (WKURLRequestSetDefaultTimeoutInterval):
17062        * Shared/API/c/mac/WKURLRequestNS.mm:
17063        (WKURLRequestCreateWithNSURLRequest):
17064        * Shared/APIString.h:
17065        * Shared/APIURLRequest.cpp: Copied from Source/WebKit2/Shared/WebURLRequest.cpp.
17066        (API::URLRequest::URLRequest):
17067        (API::URLRequest::defaultTimeoutInterval):
17068        (API::URLRequest::setDefaultTimeoutInterval):
17069        (API::URLRequest::encode):
17070        (API::URLRequest::decode):
17071        * Shared/APIURLRequest.h: Copied from Source/WebKit2/Shared/WebURLRequest.h.
17072        (API::URLRequest::create):
17073        * Shared/UserData.cpp:
17074        (WebKit::UserData::encode):
17075        (WebKit::UserData::decode):
17076        * Shared/UserMessageCoders.h:
17077        (WebKit::UserMessageEncoder::baseEncode):
17078        (WebKit::UserMessageDecoder::baseDecode):
17079        * Shared/WebURLRequest.cpp: Removed.
17080        * Shared/WebURLRequest.h: Removed.
17081        * UIProcess/API/C/WKContext.cpp:
17082        * UIProcess/API/C/WKDownload.cpp:
17083        (WKDownloadCopyRequest):
17084        * UIProcess/API/C/WKNavigationDataRef.cpp:
17085        (WKNavigationDataCopyOriginalRequest):
17086        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
17087        (-[WKBrowsingContextController loadRequest:userData:]):
17088        * UIProcess/WebContext.cpp:
17089        (WebKit::WebContext::createNewWebProcess):
17090        * UIProcess/WebInspectorProxy.cpp:
17091        * UIProcess/WebPageProxy.cpp:
17092        (WebKit::WebPageProxy::loadURLRequest):
17093        * UIProcess/WebPageProxy.h:
17094        * UIProcess/WebPolicyClient.cpp:
17095        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
17096        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
17097        (WebKit::WebPolicyClient::decidePolicyForResponse):
17098        * UIProcess/WebUIClient.cpp:
17099        (WebKit::WebUIClient::createNewPage):
17100        * WebKit2.xcodeproj/project.pbxproj:
17101        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
17102        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
17103        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
17104        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
17105        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
17106        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
17107        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
17108        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
17109
171102013-12-17  Brady Eidson  <beidson@apple.com>
17111
17112        DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction"
17113        https://bugs.webkit.org/show_bug.cgi?id=125872
17114
17115        Reviewed by Alexey Proskuryakov.
17116
17117        Pipe through the objectStoreIDs and mode:
17118        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
17119        (WebKit::DatabaseProcessIDBConnection::openTransaction):
17120        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
17121        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
17122
17123        Rework postTransactionOperation to take a pre-made AsyncTask to allow for different
17124        transaction operation function signatures:
17125        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
17126        (WebKit::UniqueIDBDatabase::openTransaction): Pipe through the objectStoreIDs and mode:
17127        (WebKit::UniqueIDBDatabase::beginTransaction):
17128        (WebKit::UniqueIDBDatabase::commitTransaction):
17129        (WebKit::UniqueIDBDatabase::resetTransaction):
17130        (WebKit::UniqueIDBDatabase::rollbackTransaction):
17131        (WebKit::UniqueIDBDatabase::postTransactionOperation):
17132        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
17133        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
17134
17135        Pipe through the objectStoreIDs and mode:
17136        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
17137        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
17138        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
17139        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
17140
17141        * Platform/Logging.h: Add an IDB logging channel.
17142
17143        * Shared/AsyncTask.h:
17144        (WebKit::createAsyncTask): Add a 3-argument variant.
17145
17146        * Shared/WebCrossThreadCopier.cpp:
17147        (WebCore::::copy): Add a Vector<int64_t> copier.
17148        * Shared/WebCrossThreadCopier.h:
17149
17150        Add logging throughout currently implemented methods:
17151        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
17152        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
17153        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
17154        (WebKit::WebIDBServerConnection::openTransaction): Pipe through the objectStoreIDs and mode.
17155        (WebKit::WebIDBServerConnection::didOpenTransaction):
17156        (WebKit::WebIDBServerConnection::beginTransaction):
17157        (WebKit::WebIDBServerConnection::didBeginTransaction):
17158        (WebKit::WebIDBServerConnection::commitTransaction):
17159        (WebKit::WebIDBServerConnection::didCommitTransaction):
17160        (WebKit::WebIDBServerConnection::resetTransaction):
17161        (WebKit::WebIDBServerConnection::didResetTransaction):
17162        (WebKit::WebIDBServerConnection::rollbackTransaction):
17163        (WebKit::WebIDBServerConnection::didRollbackTransaction):
17164
171652013-12-17  Gavin Barraclough  <barraclough@apple.com>
17166
17167        Remove PageVisibilityStateUnloaded
17168        https://bugs.webkit.org/show_bug.cgi?id=125869
17169
17170        Reviewed by Anders Carlsson.
17171
17172        This is not currently supported by WebKit, remove this enum value.
17173        We can always add this back later if/when we add support for this state.
17174
17175        * Shared/API/c/WKPageVisibilityTypes.h:
17176        * Shared/API/c/WKSharedAPICast.h:
17177        (WebKit::toPageVisibilityState):
17178            - removed PageVisibilityStateUnloaded/kWKPageVisibilityStateUnloaded
17179
171802013-12-12  Martin Robinson  <mrobinson@igalia.com>
17181
17182        [GTK] [CMake] Build the plugin process against GTK+ 2
17183        https://bugs.webkit.org/show_bug.cgi?id=116374
17184
17185        Reviewed by Gustavo Noronha Silva.
17186
17187        * CMakeLists.txt: Use the new GENERATE_WEBKIT2_MESSAGE_SOURCES macro so we
17188        can share messaging file generation with the plugin process.
17189        * PlatformGTK.cmake: Add more files to the plugin process source list. Properly
17190        generate message sources, add the appropriate include paths, defines, and libraries
17191        for the plugin process.
17192
171932013-12-17  Anders Carlsson  <andersca@apple.com>
17194
17195        Back out r159982
17196        https://bugs.webkit.org/show_bug.cgi?id=125870
17197        <rdar://problem/15598485>
17198
17199        Reviewed by Dan Bernstein.
17200
17201        Looks like r159982 caused intermittent crashes. Back it out for now.
17202
17203        * UIProcess/WebContextUserMessageCoders.h:
17204        (WebKit::WebContextUserMessageEncoder::encode):
17205        (WebKit::WebContextUserMessageDecoder::decode):
17206        * UIProcess/WebPageGroup.cpp:
17207        * UIProcess/WebPageGroup.h:
17208        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
17209        * UIProcess/WebPageProxy.cpp:
17210        (WebKit::WebPageProxy::initializeWebPage):
17211        * UIProcess/WebProcessProxy.cpp:
17212        (WebKit::WebProcessProxy::disconnect):
17213        * UIProcess/WebProcessProxy.h:
17214
172152013-12-17  Dan Bernstein  <mitz@apple.com>
17216
17217        Fixed an assertion failure seen running some mixed-content tests.
17218        https://bugs.webkit.org/show_bug.cgi?id=125862
17219
17220        Reviewed by Alexey Proskuryakov.
17221
17222        * UIProcess/PageLoadState.cpp:
17223        (WebKit::PageLoadState::didDisplayOrRunInsecureContent): Removed an assertion about the URL
17224        of the main frame when dealing with a notification that could have come from any frame.
17225
172262013-12-17  Dan Bernstein  <mitz@apple.com>
17227
17228        [Cocoa] Add properties related to the user agent string
17229        https://bugs.webkit.org/show_bug.cgi?id=125856
17230
17231        Reviewed by Anders Carlsson.
17232
17233        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new properties.
17234        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
17235        (-[WKBrowsingContextController applicationNameForUserAgent]): Added accessor.
17236        (-[WKBrowsingContextController setApplicationNameForUserAgent:]): Ditto.
17237        (-[WKBrowsingContextController customUserAgent]): Ditto.
17238        (-[WKBrowsingContextController setCustomUserAgent:]): Ditto.
17239
172402013-12-16  Gavin Barraclough  <barraclough@apple.com>
17241
17242        Add layer hosting mode to ViewState
17243        https://bugs.webkit.org/show_bug.cgi?id=125803
17244
17245        Unreviewed - reverting last commit - might have broken tests. :-(
17246
17247        * Shared/ViewState.h:
17248        * Shared/WebPageCreationParameters.cpp:
17249        (WebKit::WebPageCreationParameters::encode):
17250        (WebKit::WebPageCreationParameters::decode):
17251        * Shared/WebPageCreationParameters.h:
17252        * UIProcess/API/mac/PageClientImpl.h:
17253        * UIProcess/API/mac/PageClientImpl.mm:
17254        (WebKit::PageClientImpl::PageClientImpl):
17255        (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
17256        (WebKit::PageClientImpl::viewLayerHostingMode):
17257        * UIProcess/DrawingAreaProxy.h:
17258        (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
17259        * UIProcess/PageClient.h:
17260        (WebKit::PageClient::viewLayerHostingMode):
17261        * UIProcess/WebPageProxy.cpp:
17262        (WebKit::WebPageProxy::WebPageProxy):
17263        (WebKit::WebPageProxy::updateViewState):
17264        (WebKit::WebPageProxy::viewStateDidChange):
17265        (WebKit::WebPageProxy::initializeCreationParameters):
17266        * UIProcess/WebPageProxy.h:
17267        (WebKit::WebPageProxy::layerHostingMode):
17268        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
17269        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
17270        (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
17271        * WebProcess/WebPage/DrawingArea.h:
17272        (WebKit::DrawingArea::resumePainting):
17273        (WebKit::DrawingArea::setLayerHostingMode):
17274        * WebProcess/WebPage/DrawingArea.messages.in:
17275        * WebProcess/WebPage/WebPage.cpp:
17276        (WebKit::WebPage::WebPage):
17277        (WebKit::WebPage::~WebPage):
17278        (WebKit::WebPage::scalePage):
17279        (WebKit::WebPage::setDeviceScaleFactor):
17280        (WebKit::WebPage::setActive):
17281        (WebKit::WebPage::setViewState):
17282        (WebKit::WebPage::setWindowIsVisible):
17283        (WebKit::WebPage::windowAndViewFramesChanged):
17284        * WebProcess/WebPage/WebPage.h:
17285        (WebKit::WebPage::layerHostingMode):
17286        * WebProcess/WebPage/ios/WebPageIOS.mm:
17287        (WebKit::WebPage::setLayerHostingMode):
17288        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
17289        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
17290        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
17291        * WebProcess/WebPage/mac/WebPageMac.mm:
17292        (WebKit::WebPage::sendComplexTextInputToPlugin):
17293        (WebKit::WebPage::setLayerHostingMode):
17294
172952013-12-13  Gavin Barraclough  <barraclough@apple.com>
17296
17297        Add layer hosting mode to ViewState
17298        https://bugs.webkit.org/show_bug.cgi?id=125803
17299
17300        Reviewed by Anders Carlsson.
17301
17302        When the view state of the page is updated the layer mode may also
17303        change. Currently this is passed by a separate message, remove this
17304        and fold it into ViewState.
17305        
17306        Previously the setLayerHostingMode message would be passed to the
17307        DrawingArea, which would inform the WebPage. Since the WebPage is
17308        passed the SetVisibilityState messgae reverse this.
17309
17310        WebPageProxy had a policy of only updating the hosting mode when
17311        visible - the value is sticky whilst the view is not visible. Make
17312        this policy explicit in the PageClientImpl, rather then implicit
17313        from the flow control.
17314
17315        * Shared/ViewState.h:
17316            - Added ViewState::IsLayerWindowServerHosted.
17317        * Shared/WebPageCreationParameters.cpp:
17318        (WebKit::WebPageCreationParameters::encode):
17319        (WebKit::WebPageCreationParameters::decode):
17320        * Shared/WebPageCreationParameters.h:
17321            - removed layerHostingMode.
17322        * UIProcess/API/mac/PageClientImpl.h:
17323        * UIProcess/API/mac/PageClientImpl.mm:
17324        (WebKit::PageClientImpl::PageClientImpl):
17325        (WebKit::PageClientImpl::isLayerWindowServerHosted):
17326        (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
17327            - viewLayerHostingMode -> isLayerWindowServerHosted, added m_layerHostingMode.
17328        * UIProcess/DrawingAreaProxy.h:
17329            - removed layerHostingModeDidChange.
17330        * UIProcess/PageClient.h:
17331            - viewLayerHostingMode -> isLayerWindowServerHosted.
17332        * UIProcess/WebPageProxy.cpp:
17333        (WebKit::WebPageProxy::WebPageProxy):
17334            - removed m_layerHostingMode.
17335        (WebKit::WebPageProxy::updateViewState):
17336            - added IsLayerWindowServerHosted.
17337        (WebKit::WebPageProxy::viewStateDidChange):
17338            - changes to ViewState::IsInWindow implies ViewState::IsLayerWindowServerHosted may change too.
17339            - remove special handling (separate message) for LayerHostingMode.
17340        (WebKit::WebPageProxy::initializeCreationParameters):
17341            - removed m_layerHostingMode.
17342        * UIProcess/WebPageProxy.h:
17343            - removed m_layerHostingMode.
17344        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
17345        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
17346            - removed layerHostingModeDidChange.
17347        * WebProcess/WebPage/DrawingArea.h:
17348        (WebKit::DrawingArea::setLayerHostingMode):
17349        (WebKit::DrawingArea::didUpdate):
17350            - setLayerHostingMode takes a LayerHostingMode.
17351        * WebProcess/WebPage/DrawingArea.messages.in:
17352            - SetLayerHostingMode is no longer a message.
17353        * WebProcess/WebPage/WebPage.cpp:
17354        (WebKit::WebPage::WebPage):
17355            - removed m_layerHostingMode.
17356        (WebKit::WebPage::setViewState):
17357            - handle ViewState::IsLayerWindowServerHosted.
17358        (WebKit::WebPage::setLayerHostingMode):
17359            - moved from ~Mac.mm (matching other ViewState setters), calls to DrawingArea.
17360        * WebProcess/WebPage/WebPage.h:
17361        (WebKit::WebPage::layerHostingMode):
17362            - layerHostingMode queries m_viewState, removed m_layerHostingMode.
17363        * WebProcess/WebPage/ios/WebPageIOS.mm:
17364            - removed setLayerHostingMode.
17365        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
17366        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
17367        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
17368            - setLayerHostingMode takes a LayerHostingMode, WebPage now calls to DrawingArea.
17369        * WebProcess/WebPage/mac/WebPageMac.mm:
17370            - removed setLayerHostingMode.
17371
173722013-12-16  Sam Weinig  <sam@webkit.org>
17373
17374        [Cocoa] Remove unused contentAnchor SPI from WKView
17375        https://bugs.webkit.org/show_bug.cgi?id=125826
17376
17377        Reviewed by Tim Horton.
17378
17379        * UIProcess/API/Cocoa/WKViewPrivate.h:
17380        * UIProcess/API/mac/WKView.mm:
17381        (-[WKView setFrameSize:]):
17382        (-[WKView _setDrawingAreaSize:]):
17383        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
17384        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
17385
173862013-12-16  Tim Horton  <timothy_horton@apple.com>
17387
17388        WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
17389        https://bugs.webkit.org/show_bug.cgi?id=125750
17390
17391        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
17392        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
17393        Remove some accidentally included commented out code.
17394
173952013-12-16  Tim Horton  <timothy_horton@apple.com>
17396
17397        WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
17398        https://bugs.webkit.org/show_bug.cgi?id=125750
17399
17400        Reviewed by Simon Fraser.
17401
17402        When you let go of a pinch where you exceeded the maximum or minimum scale,
17403        the view should animate back to the limit instead of snapping back.
17404
17405        * UIProcess/mac/ViewGestureController.cpp:
17406        (WebKit::ViewGestureController::endMagnificationGesture):
17407        Unscrolling the scaled origin here is wrong; we should send the same
17408        value for 'origin' for commitTransientZoom that we do for adjustTransientZoom.
17409        The drawing area can deal with transforming that however it needs to call scalePage().
17410
17411        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
17412        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
17413        (WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
17414        Drive-by use WebPage::mainFrameView().
17415
17416        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
17417        Update the shadow layer's bounds, position, and shadow path while zooming,
17418        instead of hiding it.
17419
17420        (WebKit::transientZoomSnapAnimationForKeyPath):
17421        Create a CABasicAnimation that stays applied to its target when it finishes,
17422        lasts for a quarter second, and uses the ease-in-ease-out timing function.
17423
17424        (WebKit::constrainZoomOriginForFrameView):
17425        When we land a transient zoom, there may be overhang areas (linen, in the case of Mac)
17426        visible. During the commit animation, we should move the RenderView layer appropriately
17427        so that the page covers the entire view and there are no overhang areas visible.
17428        Adapt some code from ScrollableArea to constrain the zoom origin to do so.
17429
17430        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
17431        Animate the RenderView layer's transform, and the shadow layer's bounds, position, and path.
17432        When they complete, apply the zoom via scalePage() and flush the layer tree (otherwise there
17433        can be a flash between removing the animations and the next flush with the new scale).
17434
17435        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
17436        Move the code to land the transient zoom (via scalePage) and to put the shadow back
17437        in the state WebCore left it out into its own function, so it can be called both from the
17438        animation completion callback and from the short-circuit in the case where we don't need to animate.
17439
174402013-12-16  Ryuan Choi  <ryuan.choi@samsung.com>
17441
17442        Unreviewed. Fix GTK+ build after r160653.
17443
17444        Renamed WebData to API::Data
17445
17446        * GNUmakefile.list.am: Added APIData.cpp and APIData.h
17447        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
17448        (webkitURISchemeRequestReadCallback):
17449        * UIProcess/API/gtk/WebKitWebResource.cpp:
17450        * UIProcess/API/gtk/WebKitWebView.cpp:
17451
174522013-12-16  Benjamin Poulain  <bpoulain@apple.com>
17453
17454        [WK2][iOS] WKView sends unscaled scroll position to WKContentView
17455        https://bugs.webkit.org/show_bug.cgi?id=125819
17456
17457        Reviewed by Anders Carlsson.
17458
17459        WKView was sending untransformed scroll coordinates to WKContentView. The scroll position
17460        seen by WebKit was wrong when the content is scaled.
17461
17462        * UIProcess/API/ios/WKView.mm:
17463        (-[WKView _didScroll]):
17464        (-[WKView scrollViewDidEndDragging:willDecelerate:]):
17465        (-[WKView scrollViewDidEndDecelerating:]):
17466        (-[WKView scrollViewDidScrollToTop:]):
17467
174682013-12-16  Brady Eidson  <beidson@apple.com>
17469
17470        DatabaseProcess: Plumb through messaging for the 4 basic transaction operations
17471        https://bugs.webkit.org/show_bug.cgi?id=125816
17472
17473        Reviewed by Alexey Proskuryakov.
17474
17475        The messaging begins and ends in the WebProcess:
17476        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
17477        (WebKit::WebIDBServerConnection::beginTransaction):
17478        (WebKit::WebIDBServerConnection::didBeginTransaction):
17479        (WebKit::WebIDBServerConnection::commitTransaction):
17480        (WebKit::WebIDBServerConnection::didCommitTransaction):
17481        (WebKit::WebIDBServerConnection::resetTransaction):
17482        (WebKit::WebIDBServerConnection::didResetTransaction):
17483        (WebKit::WebIDBServerConnection::rollbackTransaction):
17484        (WebKit::WebIDBServerConnection::didRollbackTransaction):
17485        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
17486        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
17487
17488        It travels from the WebProcess to the DatabaseProcess connection:
17489        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
17490        (WebKit::DatabaseProcessIDBConnection::beginTransaction):
17491        (WebKit::DatabaseProcessIDBConnection::commitTransaction):
17492        (WebKit::DatabaseProcessIDBConnection::resetTransaction):
17493        (WebKit::DatabaseProcessIDBConnection::rollbackTransaction):
17494        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
17495        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
17496
17497        It travels from the connection to the appropriate UniqueIDBDatabase:
17498        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
17499        (WebKit::UniqueIDBDatabase::openTransaction):
17500        (WebKit::UniqueIDBDatabase::beginTransaction):
17501        (WebKit::UniqueIDBDatabase::commitTransaction):
17502        (WebKit::UniqueIDBDatabase::resetTransaction):
17503        (WebKit::UniqueIDBDatabase::rollbackTransaction):
17504        (WebKit::UniqueIDBDatabase::postTransactionOperation):
17505        (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
17506        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
17507        (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
17508        (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
17509        (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
17510        (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
17511        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
17512
17513        The UniqueIDBDatabase object performs the operation with the backing store:
17514        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
17515        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
17516        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
17517        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
17518        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
17519        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
17520        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
17521        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
17522
17523        And the SQLite backing store calls the appropriate method on the SQLite transaction:
17524        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
17525        (WebKit::SQLiteIDBTransaction::begin): Stubbed for now.
17526        (WebKit::SQLiteIDBTransaction::commit): Ditto.
17527        (WebKit::SQLiteIDBTransaction::reset): Ditto.
17528        (WebKit::SQLiteIDBTransaction::rollback): Ditto.
17529        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
17530
175312013-12-16  Ryuan Choi  <ryuan.choi@samsung.com>
17532
17533        Unreviewed build fix on EFL port after r160653
17534
17535        Rename WebData to API::Data
17536
17537        * CMakeLists.txt: Added APIData.cpp to include list.
17538        * UIProcess/WebPageProxy.cpp:
17539        (WebKit::WebPageProxy::sessionStateData):
17540        (WebKit::WebPageProxy::restoreFromSessionStateData):
17541        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
17542        (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
17543        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
17544        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):
17545        * UIProcess/soup/WebSoupRequestManagerProxy.h:
17546
175472013-12-16  Tim Horton  <timothy_horton@apple.com>
17548
17549        WKView.magnification should include magnification due to the active gesture
17550        https://bugs.webkit.org/show_bug.cgi?id=125813
17551
17552        Reviewed by Simon Fraser.
17553
17554        Make WKView.magnification respect active pinch-zoom gestures.
17555
17556        * UIProcess/API/mac/WKView.mm:
17557        (-[WKView magnification]):
17558        If we have a ViewGestureController, defer to it for the current magnification.
17559
17560        * UIProcess/mac/ViewGestureController.cpp:
17561        (WebKit::ViewGestureController::magnification):
17562        Return either the current pinch-zoom magnification, if we're in the middle of a gesture,
17563        or the pageScaleFactor, if we're not.
17564
17565        * UIProcess/mac/ViewGestureController.h:
17566
175672013-12-16  Benjamin Poulain  <bpoulain@apple.com>
17568
17569        [WK2] Remove the constraint that highlight rects must be smaller than the scrollview bounds
17570        https://bugs.webkit.org/show_bug.cgi?id=125812
17571
17572        Reviewed by Dan Bernstein.
17573
17574        Currently, _scrollView is never set on WKInteractionView and all highlight rects are discarded.
17575
17576        Eventually, the constraint rect should be computed from the useful area of ScrollView and the scale
17577        of the document. In the meantime, the constraint code is just causing troubles.
17578
17579        The issue is tracked by <rdar://problem/15673655>.
17580
17581        * UIProcess/API/ios/WKInteractionView.mm:
17582        (-[WKInteractionView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
17583
175842013-12-16  Simon Fraser  <simon.fraser@apple.com>
17585
17586        Apply overhang shadow and linen to UI-side layers
17587        https://bugs.webkit.org/show_bug.cgi?id=125807
17588
17589        Reviewed by Tim Horton.
17590
17591        With UI-side compositing, we need to apply the overhang shadow and linen
17592        background to layers in the UI process. Achieve this by setting a "custom
17593        appearance" flag on layers that need a shadow or linen background, and
17594        migrating this flag to the UI process. Static functions on ScrollbarThemeMac
17595        are exposed to do the actual setting.
17596
17597        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
17598        (WebKit::updateCustomAppearance): Use ScrollbarThemeMac to update the
17599        appearance.
17600        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
17601        * Shared/mac/RemoteLayerTreeTransaction.h:
17602        * Shared/mac/RemoteLayerTreeTransaction.mm:
17603        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
17604        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
17605        (WebKit::dumpChangedLayers):
17606        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
17607        (PlatformCALayerRemote::setBounds): If the bounds change, also set the
17608        CustomAppearanceChanged bit so that the UI side updates the shadow bounds
17609        (done here because the UI side is not stateful).
17610        (PlatformCALayerRemote::requiresCustomAppearanceUpdateOnBoundsChange):
17611        (PlatformCALayerRemote::customAppearance):
17612        (PlatformCALayerRemote::updateCustomAppearance):
17613        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
17614
176152013-12-16  Brady Eidson  <beidson@apple.com>
17616
17617        DatabaseProcess: Implement openTransaction()
17618        https://bugs.webkit.org/show_bug.cgi?id=125794
17619
17620        Reviewed by Darin Adler.
17621
17622        This patch hooks up all of the necessary infrastructure to open a uniquely
17623        identified transaction in the DatabaseProcess backing store.
17624
17625        The transaction itself is not yet functional.
17626
17627        Add openTransaction messaging to the WebProcess side:
17628        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
17629        (WebKit::WebIDBServerConnection::isClosed):
17630        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
17631        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
17632        (WebKit::WebIDBServerConnection::openTransaction):
17633        (WebKit::WebIDBServerConnection::didOpenTransaction):
17634        (WebKit::WebIDBServerConnection::deleteObjectStore):
17635        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
17636        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
17637
17638        Add openTransaction messaging to the DatabaseProcess side:
17639        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
17640        (WebKit::DatabaseProcessIDBConnection::openTransaction):
17641        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
17642        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
17643
17644        Add a hashable identifier that represents a connection/transactionID pair:
17645        * DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h: Added.
17646        (WebKit::IDBTransactionIdentifier::IDBTransactionIdentifier):
17647        (WebKit::IDBTransactionIdentifier::isolatedCopy):
17648        (WebKit::IDBTransactionIdentifier::isEmpty):
17649        (WebKit::IDBTransactionIdentifier::hash):
17650        (WebKit::IDBTransactionIdentifier::operator==):
17651        (WebKit::IDBTransactionIdentifier::isHashTableDeletedValue):
17652        (WebKit::IDBTransactionIdentifierHash::hash):
17653        (WebKit::IDBTransactionIdentifierHash::equal):
17654        (WebKit::IDBTransactionIdentifierHashTraits::isEmptyValue):
17655
17656        Allow that identifier to be cross-thread copied:
17657        * Shared/WebCrossThreadCopier.cpp:
17658        (WebCore::::copy):
17659        * Shared/WebCrossThreadCopier.h:
17660
17661        Ask the backing store to open this uniquely identified transaction:
17662        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
17663        (WebKit::UniqueIDBDatabase::openTransaction):
17664        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
17665        (WebKit::UniqueIDBDatabase::didOpenBackingStoreTransaction):
17666        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
17667
17668        Add the backing store implementation for opening a transaction:
17669        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
17670        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
17671        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
17672        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
17673        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
17674
17675        Object to represent the backing store transaction itself, to be used in future patches:
17676        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
17677        (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
17678        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
17679        (WebKit::SQLiteIDBTransaction::create):
17680        (WebKit::SQLiteIDBTransaction::identifier):
17681
17682        * WebKit2.xcodeproj/project.pbxproj:
17683
176842013-12-16  Anders Carlsson  <andersca@apple.com>
17685
17686        Fix crash when trying to load a null HTML string
17687        https://bugs.webkit.org/show_bug.cgi?id=125801
17688
17689        Reviewed by Dan Bernstein.
17690
17691        * WebProcess/WebPage/WebPage.cpp:
17692        (WebKit::WebPage::loadString):
17693        Check that the string is not null before calling is8Bit(). Also, Use the latin1 encoding for
17694        8-bit strings, since Latin 1 strings are not necessarily valid UTF-8 strings.
17695
176962013-12-16  Dan Bernstein  <mitz@apple.com>
17697
17698        [Cocoa] Expose whether the page contains only secure content
17699        https://bugs.webkit.org/show_bug.cgi?id=125758
17700
17701        Reviewed by Anders Carlsson.
17702
17703        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
17704        (-[WKBrowsingContextController hasOnlySecureContent]): Added a getter that calls
17705        PageLoadState::hasOnlySecureContent.
17706        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Declared new property.
17707
17708        * UIProcess/PageLoadState.cpp:
17709        (WebKit::PageLoadState::commitChanges): Notify observers of hasOnlySecureContent() changes.
17710        (WebKit::PageLoadState::reset): Reset hasInsecureContent in the uncommitted state.
17711        (WebKit::PageLoadState::hasOnlySecureContent): Added. Returns true if there is no insecure
17712        content and the URL is an HTTPS URL.
17713        (WebKit::PageLoadState::didCommitLoad): Set hasInsecureContent to false in the uncommitted
17714        state.
17715        (WebKit::PageLoadState::didDisplayOrRunInsecureContent): Set hasInsecureContent to true in
17716        the uncommitted state.
17717        * UIProcess/PageLoadState.h:
17718        (WebKit::PageLoadState::Data::Data): Added hasInsecureContent member.
17719
17720        * UIProcess/WebPageProxy.cpp:
17721        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): Call
17722        PageLoadState::didDisplayOrRunInsecureContent and commit the change before calling out to
17723        the client.
17724        (WebKit::WebPageProxy::didRunInsecureContentForFrame): Ditto.
17725
177262013-12-16  Benjamin Poulain  <bpoulain@apple.com>
17727
17728        [WK2] The NetworkProcess tries to load SecItemShim.dylib on iOS
17729        https://bugs.webkit.org/show_bug.cgi?id=125800
17730
17731        Reviewed by Dan Bernstein.
17732
17733        Give the NetworkService its own Info.plist configured without the Shim.
17734
17735        * Configurations/NetworkService.xcconfig:
17736        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
17737        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
17738        * WebKit2.xcodeproj/project.pbxproj:
17739
177402013-12-16  Brady Eidson  <beidson@apple.com>
17741
17742        DatabaseProcess: Fix a few bugs with opening an IDB connection
17743        https://bugs.webkit.org/show_bug.cgi?id=125798
17744
17745        Reviewed by Alexey Proskuryakov.
17746
17747        Database metadata always needs a non-zero database identifier, unique at runtime.
17748
17749        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
17750        (WebKit::generateDatabaseId):
17751        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
17752
177532013-12-16  Anders Carlsson  <andersca@apple.com>
17754
17755        UserData should encode and decode API::Data objects
17756        https://bugs.webkit.org/show_bug.cgi?id=125799
17757
17758        Reviewed by Beth Dakin.
17759
17760        * Shared/APIData.cpp: Added.
17761        (API::Data::encode):
17762        (API::Data::decode):
17763        * Shared/APIData.h:
17764        * Shared/UserData.cpp:
17765        (WebKit::UserData::encode):
17766        (WebKit::UserData::decode):
17767        * WebKit2.xcodeproj/project.pbxproj:
17768
177692013-12-16  Anders Carlsson  <andersca@apple.com>
17770
17771        Rename WebData to API::Data
17772        https://bugs.webkit.org/show_bug.cgi?id=125797
17773
17774        Reviewed by Beth Dakin.
17775
17776        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
17777        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
17778        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
17779        * Shared/API/c/WKData.cpp:
17780        (WKDataGetTypeID):
17781        (WKDataCreate):
17782        * Shared/API/c/WKSharedAPICast.h:
17783        * Shared/API/c/mac/WKWebArchive.cpp:
17784        (WKWebArchiveCopyData):
17785        * Shared/API/c/mac/WKWebArchiveResource.cpp:
17786        (WKWebArchiveResourceCopyData):
17787        * Shared/APIData.h: Renamed from Source/WebKit2/Shared/WebData.h.
17788        (API::Data::createWithoutCopying):
17789        (API::Data::create):
17790        (API::Data::~Data):
17791        (API::Data::bytes):
17792        (API::Data::size):
17793        (API::Data::dataReference):
17794        (API::Data::Data):
17795        (API::Data::fastFreeBytes):
17796        * Shared/Cocoa/WKNSData.h:
17797        (WebKit::wrapper):
17798        * Shared/Cocoa/WKNSData.mm:
17799        (-[WKNSData dealloc]):
17800        * Shared/UserMessageCoders.h:
17801        (WebKit::UserMessageEncoder::baseEncode):
17802        (WebKit::UserMessageDecoder::baseDecode):
17803        * Shared/WebArchive.cpp:
17804        (WebKit::WebArchive::create):
17805        (WebKit::WebArchive::WebArchive):
17806        (WebKit::WebArchive::data):
17807        * Shared/WebArchive.h:
17808        * Shared/WebArchiveResource.cpp:
17809        (WebKit::WebArchiveResource::create):
17810        (WebKit::WebArchiveResource::WebArchiveResource):
17811        (WebKit::WebArchiveResource::data):
17812        * Shared/WebArchiveResource.h:
17813        * UIProcess/API/C/WKPage.cpp:
17814        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
17815        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
17816        * UIProcess/API/mac/WKPrintingView.mm:
17817        (pageDidDrawToPDF):
17818        * UIProcess/Downloads/DownloadProxy.cpp:
17819        (WebKit::createData):
17820        (WebKit::DownloadProxy::didFail):
17821        (WebKit::DownloadProxy::didCancel):
17822        * UIProcess/Downloads/DownloadProxy.h:
17823        (WebKit::DownloadProxy::resumeData):
17824        * UIProcess/WebPageProxy.cpp:
17825        (WebKit::WebPageProxy::loadData):
17826        (WebKit::WebPageProxy::loadWebArchiveData):
17827        (WebKit::WebPageProxy::dataCallback):
17828        (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
17829        (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
17830        * UIProcess/WebPageProxy.h:
17831        * UIProcess/WebUIClient.cpp:
17832        (WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
17833        * UIProcess/WebUIClient.h:
17834        * UIProcess/cf/WebPageProxyCF.cpp:
17835        (WebKit::WebPageProxy::sessionStateData):
17836        (WebKit::WebPageProxy::restoreFromSessionStateData):
17837        * WebKit2.xcodeproj/project.pbxproj:
17838        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17839        (WKBundleCreateWKDataFromUInt8Array):
17840        * WebProcess/InjectedBundle/InjectedBundle.cpp:
17841        (WebKit::InjectedBundle::createWebDataFromUint8Array):
17842        * WebProcess/InjectedBundle/InjectedBundle.h:
17843        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
17844        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
17845        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
17846        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
17847        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
17848        * WebProcess/WebPage/WebPage.cpp:
17849        (WebKit::WebPage::loadDataImpl):
17850
178512013-12-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
17852
17853        Fix build warning in files including DrawingAreaProxy.h
17854        https://bugs.webkit.org/show_bug.cgi?id=125778
17855
17856        Reviewed by Anders Carlsson.
17857
17858        Remove unused parameters from method declaration.
17859
17860        * UIProcess/DrawingAreaProxy.h:
17861        (WebKit::DrawingAreaProxy::adjustTransientZoom):
17862        (WebKit::DrawingAreaProxy::commitTransientZoom):
17863
178642013-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
17865
17866        Unreviewed. Fix GTK+ build after r160549.
17867
17868        * GNUmakefile.am: Fix the include paths to make sure we include
17869        the WebKit2 config.h file when building libWebKit2Platform.
17870
178712013-12-16  Sergio Villar Senin  <svillar@igalia.com>
17872
17873        [GTK] can't build from trunk: WebKitCookieManager: 'WebString' was not declared in this scope
17874        https://bugs.webkit.org/show_bug.cgi?id=125759
17875
17876        Reviewed by Carlos Garcia Campos.
17877
17878        Renamed WebString to API::String after r160608.
17879
17880        * UIProcess/API/gtk/WebKitCookieManager.cpp:
17881        (webkitCookieManagerGetDomainsWithCookiesCallback):
17882        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
17883        (webkit_file_chooser_request_get_mime_types):
17884        (webkit_file_chooser_request_get_mime_types_filter):
17885        (webkit_file_chooser_request_get_selected_files):
17886        * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
17887        (webkit_form_submission_request_get_text_fields):
17888        * UIProcess/API/gtk/WebKitWebContext.cpp:
17889        (webkit_web_context_set_web_extensions_directory):
17890        (webkit_web_context_prefetch_dns):
17891        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
17892        (toAPIArray):
17893        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
17894        (webkitWebExtensionDidReceiveMessage):
17895
178962013-12-15  Tim Horton  <timothy_horton@apple.com>
17897
17898        WebKit2 View Gestures: Can't pinch in past the maximum scale
17899        https://bugs.webkit.org/show_bug.cgi?id=125749
17900
17901        Reviewed by Anders Carlsson.
17902
17903        Pinching in past the maximum scale should result in the zoom resisting, but continuing.
17904
17905        * UIProcess/mac/ViewGestureController.cpp:
17906        (WebKit::resistanceForDelta):
17907        Clean up the logic and apply resistance to pinching in past the maximum.
17908
17909        (WebKit::ViewGestureController::handleMagnificationGesture):
17910        (WebKit::ViewGestureController::endMagnificationGesture):
17911        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
17912        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
17913
179142013-12-15  Dan Bernstein  <mitz@apple.com>
17915
17916        [Cocoa] Expose the certificate chain for the main frame
17917        https://bugs.webkit.org/show_bug.cgi?id=125760
17918
17919        Reviewed by Sam Weinig.
17920
17921        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared certificateChain property.
17922        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
17923        (-[WKBrowsingContextController certificateChain]): Added this getter, which calls through
17924        to WebFrameProxy::certificateInfo.
17925
179262013-12-15  Andy Estes  <aestes@apple.com>
17927
17928        [iOS] Upstream changes to FeatureDefines.xcconfig
17929        https://bugs.webkit.org/show_bug.cgi?id=125742
17930
17931        Reviewed by Dan Bernstein.
17932
17933        * Configurations/FeatureDefines.xcconfig:
17934
179352013-12-15  Dan Bernstein  <mitz@apple.com>
17936
17937        Build fix for 32-bit clients.
17938
17939        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h:
17940
179412013-12-15  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
17942
17943        Unreviewed EFL build fix after r160608.
17944
17945        * UIProcess/WebGrammarDetail.cpp:
17946        (WebKit::WebGrammarDetail::WebGrammarDetail):
17947        (WebKit::WebGrammarDetail::guesses):
17948        * UIProcess/WebTextCheckerClient.cpp:
17949        (WebKit::WebTextCheckerClient::guessesForWord):
17950
179512013-12-14  Yongjun Zhang  <yongjun_zhang@apple.com>
17952
17953        Add page load delegate for WebProcessPlugInBrowsingContextController.
17954        https://bugs.webkit.org/show_bug.cgi?id=125697
17955
17956        Add page load delegate for WebProcessPlugInBrowsingContextController so that a
17957        WebProcess injected bundle can listen to page load events.
17958
17959        Reviewed by Sam Weinig.
17960
17961        * WebKit2.xcodeproj/project.pbxproj:
17962        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Added.
17963        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
17964        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
17965        (didStartProvisionalLoadForFrame):
17966        (didFinishLoadForFrame):
17967        (globalObjectIsAvailableForFrame):
17968        (setUpPageLoaderClient):
17969        (-[WKWebProcessPlugInBrowserContextController loadDelegate]):
17970        (-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]):
17971
179722013-12-14  Dan Bernstein  <mitz@apple.com>
17973
17974        [iOS] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
17975        https://bugs.webkit.org/show_bug.cgi?id=125744
17976
17977        Reviewed by Sam Weinig.
17978
17979        * NetworkProcess/ios/NetworkProcessIOS.mm:
17980        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Implemented by calling
17981        +[NSURLRequest setAllowsSpecificHTTPSCertificate:forHost:].
17982
179832013-12-13  Sam Weinig  <sam@webkit.org>
17984
17985        [WK2] Rename WebString to API::String
17986        https://bugs.webkit.org/show_bug.cgi?id=125726
17987
17988        Reviewed by Anders Carlsson.
17989
17990        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
17991        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
17992        * Shared/API/c/WKPluginInformation.cpp:
17993        * Shared/API/c/WKSharedAPICast.h:
17994        * Shared/API/c/WKString.cpp:
17995        * Shared/API/c/cf/WKStringCF.mm:
17996        * Shared/APIArray.cpp:
17997        * Shared/APIArray.h:
17998        * Shared/APIString.h: Copied from Source/WebKit2/Shared/WebString.h.
17999        * Shared/Cocoa/WKNSString.h:
18000        * Shared/Cocoa/WKNSString.mm:
18001        * Shared/ImmutableDictionary.cpp:
18002        * Shared/Plugins/Netscape/PluginInformation.cpp:
18003        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
18004        * Shared/UserData.cpp:
18005        * Shared/UserMessageCoders.h:
18006        * Shared/WebArchiveResource.h:
18007        * Shared/WebOpenPanelParameters.cpp:
18008        * Shared/WebRenderLayer.cpp:
18009        * Shared/WebRenderObject.cpp:
18010        * Shared/WebString.h: Removed.
18011        * UIProcess/API/C/WKCredential.cpp:
18012        * UIProcess/API/C/WKDatabaseManager.cpp:
18013        * UIProcess/API/C/WKPage.cpp:
18014        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
18015        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
18016        * UIProcess/APINavigationData.h:
18017        * UIProcess/Authentication/WebCredential.h:
18018        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18019        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
18020        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
18021        * UIProcess/WebContext.cpp:
18022        * UIProcess/WebDatabaseManagerProxy.cpp:
18023        * UIProcess/WebFormClient.cpp:
18024        * UIProcess/WebLoaderClient.cpp:
18025        * UIProcess/WebPageGroup.cpp:
18026        * UIProcess/WebUIClient.cpp:
18027        * WebKit2.xcodeproj/project.pbxproj:
18028        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
18029        * WebProcess/InjectedBundle/InjectedBundle.cpp:
18030        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
18031        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
18032        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
18033        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
18034
180352013-12-14  Andy Estes  <aestes@apple.com>
18036
18037        Unify FeatureDefines.xcconfig
18038        https://bugs.webkit.org/show_bug.cgi?id=125741
18039
18040        Rubber-stamped by Dan Bernstein.
18041
18042        * Configurations/FeatureDefines.xcconfig: Remove a space in
18043        FEATURE_DEFINES and fix a typo in ENABLE_CSS3_TEXT_DECORATION.
18044
180452013-12-14  Dan Bernstein  <mitz@apple.com>
18046
18047        iOS build fix.
18048
18049        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared
18050        observedRenderingProgressEvents as nonatomic.
18051
180522013-12-14  Dan Bernstein  <mitz@apple.com>
18053
18054        [Cocoa] Expose WebContext::allowSpecificHTTPSCertificateForHost
18055        https://bugs.webkit.org/show_bug.cgi?id=125738
18056
18057        Reviewed by Mark Rowe.
18058
18059        * UIProcess/API/Cocoa/WKProcessGroup.mm:
18060        (-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Added. Calls through to
18061        WebContext::allowSpecificHTTPSCertificateForHost.
18062        * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Declared new method.
18063
180642013-12-14  Dan Bernstein  <mitz@apple.com>
18065
18066        [Cocoa] Expose some layout milestones
18067        https://bugs.webkit.org/show_bug.cgi?id=125721
18068
18069        Reviewed by Sam Weinig.
18070
18071        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
18072        (WKRenderingProgressEvents): Declared new enum.
18073        (@interface WKBrowsingContextController): Declared new observedRenderingProgressEvents
18074        property.
18075        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
18076        (layoutMilestones): Added helper to translate rendering progress events into layout
18077        milestones.
18078        (-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Added this setter.
18079        Sets the ivar and calls WebPageProxy::listenForLayoutMilestones.
18080        (renderingProgressEvents): Added helper to translate layout milestones into rendering
18081        progress events.
18082        (didLayout): Implemented this WKPageLoaderClient callback by calling the load delegate.
18083        (setUpPageLoaderClient): Set the above callback in the client structure.
18084        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Declared new delegate method.
18085
180862013-12-14  Dan Bernstein  <mitz@apple.com>
18087
18088        Clarify Owners’ role
18089        https://bugs.webkit.org/show_bug.cgi?id=125739
18090
18091        Reviewed by Anders Carlsson.
18092
18093        * Owners: Clarify that a patch authored by an Owner does not have to be reviewed by one, as
18094        decided during the 2013 WebKit Contributors Meeting.
18095
180962013-12-13  Benjamin Poulain  <bpoulain@apple.com>
18097
18098        [WK2] Fix the build and enable the NetworkProcess by default on iOS
18099        https://bugs.webkit.org/show_bug.cgi?id=125723
18100
18101        Reviewed by Sam Weinig.
18102
18103        * Configurations/WebKit2.xcconfig:
18104        Fix the list of excluded file to get the processes building.
18105
18106        * NetworkProcess/ios/NetworkProcessIOS.mm:
18107        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHosAt):
18108        Update PlatformCertificateInfo->CertificateInfo match the new name after r159647.
18109
18110        * UIProcess/API/Cocoa/WKProcessGroup.mm:
18111        (-[WKProcessGroup initWithInjectedBundleURL:]):
18112        Enable the NetworkProcess by default.
18113
18114        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
18115        (WebKit::shouldUseXPC):
18116        Use the right macro.
18117
18118        * WebKit2Prefix.h:
18119        Eanble the flags NETWORK_PROCESS and CUSTOM_PROTOCOLS.
18120
181212013-12-13  Dan Bernstein  <mitz@apple.com>
18122
18123        Demoted ActivityAssertion.h to a project header.
18124
18125        Rubber-stamped by Sam Weinig.
18126
18127        * WebKit2.xcodeproj/project.pbxproj:
18128
181292013-12-13  Sam Weinig  <sam@webkit.org>
18130
18131        [WK2] Start removing calls to String::characters()
18132        https://bugs.webkit.org/show_bug.cgi?id=125699
18133
18134        Reviewed by Anders Carlsson.
18135
18136        * Shared/mac/WebCoreArgumentCodersMac.mm:
18137        (CoreIPC::::decodePlatformData):
18138        * UIProcess/Plugins/PluginInfoStore.cpp:
18139        (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
18140        (WebKit::PluginInfoStore::findPlugin):
18141        * UIProcess/Plugins/PluginInfoStore.h:
18142        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
18143        (WebKit::PluginInfoStore::pluginsDirectories):
18144        (WebKit::PluginInfoStore::pluginPathsInDirectory):
18145        * UIProcess/cf/WebPreferencesCF.cpp:
18146        (WebKit::makeKey):
18147        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
18148        (WebKit::InjectedBundle::load):
18149        * WebProcess/WebPage/WebPage.cpp:
18150        (WebKit::WebPage::loadStringImpl):
18151        (WebKit::WebPage::loadHTMLString):
18152        (WebKit::WebPage::loadAlternateHTMLString):
18153        (WebKit::WebPage::loadPlainTextString):
18154        (WebKit::WebPage::loadWebArchiveData):
18155        * WebProcess/WebPage/WebPage.h:
18156
181572013-12-13  Enrica Casucci  <enrica@apple.com>
18158
18159        WK2: Add support for inline candidates on iOS.
18160        https://bugs.webkit.org/show_bug.cgi?id=125667
18161
18162        Reviewed by Benjamin Poulain.
18163
18164        The state required to support inline candidates is cached in the UI process.
18165        Asynchronous messages are used to set and confirm the composition.
18166
18167        * Shared/EditorState.cpp:
18168        (WebKit::EditorState::encode):
18169        (WebKit::EditorState::decode):
18170        * Shared/EditorState.h:
18171        * UIProcess/API/ios/WKInteractionView.mm:
18172        (-[WKInteractionView textFirstRect]):
18173        (-[WKInteractionView textLastRect]):
18174        (-[WKInteractionView hasMarkedText]):
18175        (-[WKInteractionView markedText]):
18176        (-[WKInteractionView setMarkedText:selectedRange:]):
18177        (-[WKInteractionView unmarkText]):
18178        (-[WKInteractionView _selectionChanged]):
18179        * UIProcess/WebPageProxy.cpp:
18180        (WebKit::WebPageProxy::editorStateChanged):
18181        * UIProcess/WebPageProxy.h:
18182        * UIProcess/WebPageProxy.messages.in:
18183        * UIProcess/ios/WebPageProxyIOS.mm:
18184        (WebKit::WebPageProxy::setComposition):
18185        (WebKit::WebPageProxy::confirmComposition):
18186        (WebKit::WebPageProxy::notifyRevealedSelection):
18187        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
18188        (WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame):
18189        * WebProcess/WebPage/WebPage.cpp:
18190        (WebKit::WebPage::editorState):
18191        * WebProcess/WebPage/WebPage.h:
18192        * WebProcess/WebPage/WebPage.messages.in:
18193        * WebProcess/WebPage/ios/WebPageIOS.mm:
18194        (WebKit::WebPage::setComposition):
18195        (WebKit::WebPage::confirmComposition):
18196
181972013-12-13  Anders Carlsson  <andersca@apple.com>
18198
18199        Fix the build.
18200
18201        Work around a problem in Functional.h by making the DatabaseProcess destructor public.
18202
18203        * DatabaseProcess/DatabaseProcess.h:
18204
182052013-12-13  Tim Horton  <timothy_horton@apple.com>
18206
18207        [wk2] Handle pinch-to-zoom gesture
18208        https://bugs.webkit.org/show_bug.cgi?id=125604
18209
18210        Reviewed by Sam Weinig.
18211
18212        * UIProcess/API/mac/WKView.mm:
18213        (-[WKView magnifyWithEvent:]):
18214        (-[WKView endGestureWithEvent:]):
18215        Forward the event up the chain if we're not going to handle it.
18216
182172013-12-12  Anders Carlsson  <andersca@apple.com>
18218
18219        Put classes in the IPC directory in the IPC namespace
18220        https://bugs.webkit.org/show_bug.cgi?id=125665
18221
18222        Reviewed by Sam Weinig.
18223
18224        Also add a hack to config.h that lets us use CoreIPC and IPC interchangeably.
18225        
18226        * Platform/IPC/DataReference.cpp:
18227        * Platform/IPC/DataReference.h:
18228        * Platform/IPC/MessageSender.cpp:
18229        * Platform/IPC/MessageSender.h:
18230        * Platform/IPC/StringReference.cpp:
18231        * Platform/IPC/StringReference.h:
18232        * config.h:
18233
182342013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
18235
18236        [GTK] Add a unit tests to WebKit2 to test node names
18237        https://bugs.webkit.org/show_bug.cgi?id=125686
18238
18239        Reviewed by Gustavo Noronha Silva.
18240
18241        * UIProcess/API/gtk/tests/DOMNodeTest.cpp:
18242        (WebKitDOMNodeTest::testTagNames):
18243        (WebKitDOMNodeTest::runTest):
18244        (registerTests):
18245        * UIProcess/API/gtk/tests/TestDOMNode.cpp:
18246        (testWebKitDOMNodeTagNames):
18247        (beforeAll):
18248
182492013-12-13  Zan Dobersek  <zdobersek@igalia.com>
18250
18251        Unreviewed. Further GTK WK2 build fixes after r160504.
18252
18253        * UIProcess/API/gtk/WebKitWebView.cpp:
18254        (webkit_web_view_get_snapshot):
18255        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
18256        (didInitiateLoadForResource):
18257        (willSendRequestForFrame):
18258        (didReceiveResponseForResource):
18259        (didReceiveContentLengthForResource):
18260        (didFinishLoadForResource):
18261        (didFailLoadForResource):
18262        (webkitWebPageDidReceiveMessage):
18263
182642013-12-13  Zan Dobersek  <zdobersek@igalia.com>
18265
18266        Unreviewed GTK build fix after r160509.
18267
18268        * GNUmakefile.list.am: MessageSender.(cpp|h) files were moved to Platform/IPC.
18269
182702013-12-13  Dániel Bátyai  <Batyai.Daniel@stud.u-szeged.hu>
18271
18272        GTK buildfix after r160504.
18273
18274        Reviewed by Csaba Osztrogonác.
18275
18276        * UIProcess/API/gtk/WebKitWebContext.cpp:
18277        (webkit_web_context_prefetch_dns):
18278
182792013-12-12  Yongjun Zhang  <yongjun_zhang@apple.com>
18280
18281        Need ObjC APIs for some InjectedBundle classes.
18282        https://bugs.webkit.org/show_bug.cgi?id=125600
18283
18284        Add ObjC API classes for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult and InjectedBundleNodeHandle.
18285
18286        Reviewed by Dan Bernstein.
18287
18288        * Shared/Cocoa/APIObject.mm: creates API wrapper for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult
18289             and InjectedBundleNodeHandle.
18290        (API::Object::newObject):
18291        * WebKit2.xcodeproj/project.pbxproj:
18292        * WebProcess/InjectedBundle/API/Cocoa: Added.
18293        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Added.
18294        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: Added.
18295        (-[WKWebProcessPlugInFrame dealloc]):
18296        (-[WKWebProcessPlugInFrame jsContextForWorld:]): returns the JSContextRef for a ScriptWorld in frame.
18297        (-[WKWebProcessPlugInFrame hitTest:]): returns hitTestResult (with API type) from a hitTest.
18298        (-[WKWebProcessPlugInFrame jsWrapperForNodeHandle:inWorld:]):
18299        (-[WKWebProcessPlugInFrame API::]):
18300        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Added.
18301        (WebKit::wrapper):
18302        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h: Added.
18303        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm: Added.
18304        (-[WKWebProcessPlugInHitTestResult dealloc]):
18305        (-[WKWebProcessPlugInHitTestResult nodeHandle]):
18306        (-[WKWebProcessPlugInHitTestResult API::]):
18307        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResultInternal.h: Added.
18308        (WebKit::wrapper):
18309        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Added.
18310        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: Added.
18311        (-[WKWebProcessPlugInNodeHandle dealloc]):
18312        (-[WKWebProcessPlugInNodeHandle API::]):
18313        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Added.
18314        (WebKit::wrapper):
18315        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Added.
18316        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: Added.
18317        (+[WKWebProcessPlugInScriptWorld world]): returns a new isolated world.
18318        (+[WKWebProcessPlugInScriptWorld normalWorld]): returns the mainThread normal world. 
18319        (-[WKWebProcessPlugInScriptWorld dealloc]):
18320        (-[WKWebProcessPlugInScriptWorld API::]):
18321        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Added.
18322        (WebKit::wrapper):
18323
183242013-12-12  Benjamin Poulain  <bpoulain@apple.com>
18325
18326        Fix unsafe memory load/store from the argument encoder/decoder affecting ARM
18327        https://bugs.webkit.org/show_bug.cgi?id=125674
18328
18329        Reviewed by Darin Adler.
18330
18331        Depending on the CPU and CPU config, load and store may have to be aligned.
18332        The argument buffer has no particular alignment which can cause problems.
18333
18334        In this case, on ARMv7, strd and ldrd can have alignment restriction on 16 bytes.
18335        The code encoding double and 64 bits integers was causing bugs.
18336
18337        To avoid problems, the encoders/decoders are modified to just use memcpy. The compiler optimizes
18338        it away for the right instructions (clang uses two ldr/str in the case of 64bits values on ARMv7).
18339
18340        * Platform/CoreIPC/ArgumentDecoder.cpp:
18341        (CoreIPC::decodeValueFromBuffer):
18342        (CoreIPC::ArgumentDecoder::decode):
18343        * Platform/CoreIPC/ArgumentEncoder.cpp:
18344        (CoreIPC::copyValueToBuffer):
18345        (CoreIPC::ArgumentEncoder::encode):
18346
183472013-12-12  Tim Horton  <timothy_horton@apple.com>
18348
18349        Build fix for 32-bit.
18350
18351        There was no reason for these to be CGFloat.
18352
18353        * UIProcess/mac/ViewGestureController.cpp:
18354
183552013-12-12  Tim Horton  <timothy_horton@apple.com>
18356
18357        [wk2] Handle pinch-to-zoom gesture
18358        https://bugs.webkit.org/show_bug.cgi?id=125604
18359
18360        Reviewed by Simon Fraser.
18361
18362        Add the concept of a "transient" zoom to DrawingArea, which is a zoom
18363        that affects the content, but does not cause repaint, as would be used
18364        for a live pinch-zoom gesture.
18365
18366        Add ViewGestureController, which currently only handles magnification 
18367        gestures, and keeps track of the current gesture's scale and origin, and
18368        forwards relevant events on to the DrawingArea via the transient zoom mechanism.
18369
18370        * DerivedSources.make:
18371        Add ViewGestureController to the list of message receivers.
18372
18373        * UIProcess/API/Cocoa/WKViewPrivate.h:
18374        Add shouldHandleMagnificationGesture property, which controls whether WKView will
18375        attempt to handle magnifyWithEvent:.
18376
18377        * UIProcess/API/mac/WKView.mm:
18378        (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
18379        Fix a typo.
18380
18381        (-[WKView _ensureGestureController]):
18382        Create our ViewGestureController if it doesn't already exist.
18383
18384        (-[WKView setAllowsMagnification:]):
18385        (-[WKView allowsMagnification]):
18386        SPI to enable/disable handling the magnification gesture.
18387
18388        (-[WKView setMagnification:centeredAtPoint:]):
18389        (-[WKView setMagnification:]):
18390        (-[WKView magnification]):
18391        Adjust or retrieve the current page scale.
18392        The variant of setMagnification that does not take an origin uses the view's center.
18393
18394        (-[WKView magnifyWithEvent:]):
18395        (-[WKView endGestureWithEvent:]):
18396        Forward gesture methods to ViewGestureController.
18397
18398        * UIProcess/mac/ViewGestureController.cpp: Added.
18399        (WebKit::ViewGestureController::create):
18400        (WebKit::ViewGestureController::ViewGestureController):
18401        (WebKit::ViewGestureController::~ViewGestureController):
18402        (WebKit::resistanceForDelta):
18403        Compute a resistance factor, which makes it feel "hard" to zoom out past
18404        scale=1, and accelerates scaling out before you hit scale=1.
18405
18406        (WebKit::ViewGestureController::scaledMagnificationOrigin):
18407        Compute the origin of the magnification gesture with the transient zoom unapplied.
18408
18409        (WebKit::ViewGestureController::handleMagnificationGesture):
18410        The first magnification gesture will send a message to the WebProcess
18411        to retrieve the visible content rect. Subsequent gestures will
18412        hand the new magnification and origin to the DrawingArea to apply.
18413
18414        (WebKit::ViewGestureController::didBeginTransientZoom):
18415        Callback from the WebProcess, with the current visible content rect.
18416        Subsequent magnification gestures will forward the scale and origin to the DrawingArea.
18417        
18418        (WebKit::ViewGestureController::endMagnificationGesture):
18419        Commit the current transient scale as the actual page scale, which will cause
18420        a repaint and bring in all the tiles.
18421
18422        (WebKit::ViewGestureController::endActiveGesture):
18423        If we have an active gesture, call its end function.
18424
18425        * UIProcess/mac/ViewGestureController.h: Added.
18426        * UIProcess/mac/ViewGestureController.messages.in: Added.
18427
18428        * WebKit2.xcodeproj/project.pbxproj:
18429        Add new files.
18430
18431        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
18432        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18433        (WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
18434        Call back to ViewGestureController with the visibleContentRect.
18435
18436        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
18437        Scale and translate the RenderView's PlatformCALayer.
18438        Reaching into the layer tree like this is scary, we should consider
18439        teaching RenderLayerCompositor about transient zoom.
18440        Hide the content shadow layer for now.
18441
18442        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
18443        Clear our custom transform on the RenderView's layer, and
18444        change the actual page scale, causing a repaint.
18445        Un-hide the shadow layer.
18446
18447        * UIProcess/DrawingAreaProxy.h:
18448        (WebKit::DrawingAreaProxy::beginTransientZoom):
18449        (WebKit::DrawingAreaProxy::adjustTransientZoom):
18450        (WebKit::DrawingAreaProxy::commitTransientZoom):
18451        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
18452        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
18453        (WebKit::TiledCoreAnimationDrawingAreaProxy::beginTransientZoom):
18454        (WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom):
18455        (WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom):
18456        * WebProcess/WebPage/DrawingArea.h:
18457        (WebKit::DrawingArea::beginTransientZoom):
18458        (WebKit::DrawingArea::adjustTransientZoom):
18459        (WebKit::DrawingArea::commitTransientZoom):
18460        * WebProcess/WebPage/DrawingArea.messages.in:
18461        Generic plumbing for {begin, adjust, end}TransientZoom.
18462
184632013-12-12  Brady Eidson  <beidson@apple.com>
18464
18465        DatabaseProcess IndexedDB: Establish a metadata backing store on disk
18466        https://bugs.webkit.org/show_bug.cgi?id=125258
18467
18468        Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
18469
18470        The DatabaseProcess already has an "Indexed Database path".
18471        Each SecurityOrigin with indexed databases will have a subdirectory under the path.
18472        Each indexed database will have a subdirectory under its SecurityOrigin's path.
18473        Inside that directory will exist (1) metadata database, and 0-N ObjectStore databases.
18474
18475        This patch establishes the directory structure and the (1) metadata database.
18476
18477        * DatabaseProcess/DatabaseProcess.cpp:
18478        (WebKit::DatabaseProcess::initializeDatabaseProcess): Asynchronously ensure the indexed database directory exists.
18479        (WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists): Allow anyone to make necessary directories relative to
18480          the indexed database directory.
18481        (WebKit::DatabaseProcess::ensurePathExists):
18482        (WebKit::DatabaseProcess::absoluteIndexedDatabasePathFromDatabaseRelativePath): Instead of exposing the indexed database directory, 
18483          give DatabaseProcess a method to allow others to compute a path relative to the indexed database directory.
18484        (WebKit::DatabaseProcess::postDatabaseTask):
18485        (WebKit::DatabaseProcess::performNextDatabaseTask):
18486        * DatabaseProcess/DatabaseProcess.h:
18487        (WebKit::DatabaseProcess::queue):
18488
18489        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
18490        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
18491
18492        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
18493        (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
18494        (WebKit::UniqueIDBDatabase::filenameForDatabaseName):
18495        (WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
18496        (WebKit::UniqueIDBDatabase::canShareDatabases):
18497        (WebKit::UniqueIDBDatabase::shutdown): Method to cleanly shutdown a database, emptying its task and request queues.
18498        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
18499        (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata): To be run on the database work queue, establishes a backing store
18500          and extracts metadata from it.
18501        (WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): Callback once metadata from the backing store is ready for use.
18502        (WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
18503        (WebKit::UniqueIDBDatabase::postMainThreadTask): Add a main thread task for this database.
18504        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
18505        (WebKit::UniqueIDBDatabase::postDatabaseTask): Add a database queue task for this database.
18506        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
18507        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
18508
18509        Add a virtual backing store interface:
18510        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
18511        (WebKit::UniqueIDBDatabaseBackingStore::~UniqueIDBDatabaseBackingStore):
18512
18513        Add a SQLite implementation of that interface:
18514        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Added.
18515        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
18516        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
18517        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
18518        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
18519        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
18520        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
18521
18522        Add a general purpose asynchronous task that does cross thread copying:
18523        * Shared/AsyncTask.h: Added.
18524        (WebKit::AsyncTask::~AsyncTask):
18525        (WebKit::AsyncTask::AsyncTask):
18526        (WebKit::createAsyncTask):
18527
18528        Add more isolated copiers and introduce WebKit CrossThreadCopier specializations:
18529        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:
18530        (WebKit::UniqueIDBDatabaseIdentifier::isolatedCopy):
18531        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:
18532
18533        * Shared/SecurityOriginData.cpp:
18534        (WebKit::SecurityOriginData::isolatedCopy):
18535        * Shared/SecurityOriginData.h:
18536
18537        * Shared/WebCrossThreadCopier.cpp:
18538        (WebCore::::copy):
18539        * Shared/WebCrossThreadCopier.h:
18540
18541        * WebKit2.xcodeproj/project.pbxproj:
18542
185432013-12-12  Chris Fleizach  <cfleizach@apple.com>
18544
18545        AX: HANG: virginamerica.com: Pressing the print button on the boarding pass page locks up VoiceOver and Safari.
18546        https://bugs.webkit.org/show_bug.cgi?id=125603
18547
18548        Reviewed by Anders Carlsson.
18549
18550        Allow the print dialog to spin its run loop while accessibility is enabled so that VoiceOver does not hang on the WebProcess.
18551
18552        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
18553        (WebKit::WebChromeClient::print):
18554
185552013-12-12  Jaehun Lim  <ljaehun.lim@samsung.com>
18556
18557        Unreviewed CMake build fix after r160509
18558
18559        * CMakeLists.txt: Apply MessageSender's changes
18560
185612013-12-12  Dan Bernstein  <mitz@apple.com>
18562
18563        [Cocoa] Let the load delegate know when the Web process crashes
18564        https://bugs.webkit.org/show_bug.cgi?id=125660
18565
18566        Reviewed by Sam Weinig.
18567
18568        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
18569        (processDidCrash):  Implemented this WKPageLoaderClient callback by calling the load
18570        delegate.
18571        (setUpPageLoaderClient): Set the above callback in the client structure
18572        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Declare new delegate method.
18573
185742013-12-12  Anders Carlsson  <andersca@apple.com>
18575
18576        Move MessageSender to Platform/IPC.
18577
18578        Rubber-stamped by Andreas Kling.
18579
18580        * Platform/IPC/MessageSender.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.cpp.
18581        * Platform/IPC/MessageSender.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.h.
18582        * WebKit2.xcodeproj/project.pbxproj:
18583
185842013-12-12  Anders Carlsson  <andersca@apple.com>
18585
18586        WebPageProxy should be a MessageSender
18587        https://bugs.webkit.org/show_bug.cgi?id=125654
18588
18589        Reviewed by Sam Weinig.
18590
18591        * Platform/CoreIPC/MessageSender.cpp:
18592        (CoreIPC::MessageSender::sendMessage):
18593        * Platform/CoreIPC/MessageSender.h:
18594        (CoreIPC::MessageSender::send):
18595        * Shared/ChildProcessProxy.h:
18596        * Shared/WebConnection.cpp:
18597        (WebKit::WebConnection::postMessage):
18598        * UIProcess/WebPageProxy.cpp:
18599        (WebKit::WebPageProxy::initializeWebPage):
18600        (WebKit::WebPageProxy::sendMessage):
18601        (WebKit::WebPageProxy::messageSenderConnection):
18602        (WebKit::WebPageProxy::messageSenderDestinationID):
18603        * UIProcess/WebPageProxy.h:
18604
186052013-12-12  Anders Carlsson  <andersca@apple.com>
18606
18607        Clean up dictionary handling a little
18608        https://bugs.webkit.org/show_bug.cgi?id=125644
18609
18610        Reviewed by Dan Bernstein.
18611
18612        Add a WKDictionaryCreate function as a first step towards eliminating WKMutableDictionaryRef,
18613        (in the same way we've eliminated WKMutableArrayRef). Also, rename adopt to create and make it take a Map by value
18614        so we can use std::move where appropriate.
18615
18616        * Shared/API/c/WKDictionary.cpp:
18617        (WKDictionaryCreate):
18618        * Shared/API/c/WKDictionary.h:
18619        * Shared/Cocoa/WKNSDictionary.mm:
18620        (-[WKNSDictionary copyWithZone:]):
18621        * Shared/ImmutableDictionary.cpp:
18622        (WebKit::ImmutableDictionary::create):
18623        (WebKit::ImmutableDictionary::ImmutableDictionary):
18624        * Shared/ImmutableDictionary.h:
18625        * Shared/MutableDictionary.cpp:
18626        (WebKit::MutableDictionary::MutableDictionary):
18627        * Shared/Plugins/Netscape/PluginInformation.cpp:
18628        (WebKit::createPluginInformationDictionary):
18629        * Shared/UserData.cpp:
18630        (WebKit::UserData::transform):
18631        (WebKit::UserData::decode):
18632        * Shared/UserMessageCoders.h:
18633        (WebKit::UserMessageDecoder::baseDecode):
18634        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
18635        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
18636        * UIProcess/WebContext.cpp:
18637        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
18638        * UIProcess/WebDatabaseManagerProxy.cpp:
18639        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
18640        * UIProcess/WebFormClient.cpp:
18641        (WebKit::WebFormClient::willSubmitForm):
18642        * UIProcess/WebUIClient.cpp:
18643        (WebKit::WebUIClient::createNewPage):
18644        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
18645        (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
18646        (WebKit::InjectedBundlePageFormClient::willSubmitForm):
18647
186482013-12-12  Dan Bernstein  <mitz@apple.com>
18649
18650        [Cocoa] Navigation action information for policy decisions is missing the original request
18651        https://bugs.webkit.org/show_bug.cgi?id=125612
18652
18653        Reviewed by Anders Carlsson.
18654
18655        * Platform/CoreIPC/HandleMessage.h:
18656        (CoreIPC::callMemberFunction): Added template with additional message parameter.
18657        * UIProcess/API/C/WKPagePolicyClientInternal.h: Added. Defines a new version of the client
18658        interface with a new version of the policy decision callback.
18659        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
18660        (setUpPagePolicyClient): Use the new internal version of the client. Pass the original
18661        request in the action information dictionary under a new key.
18662        * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Declared new action information
18663        key.
18664        * UIProcess/WebPageProxy.cpp:
18665        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originalRequest parameter,
18666        which is passed to the policy client.
18667        * UIProcess/WebPageProxy.h:
18668        * UIProcess/WebPageProxy.messages.in: Added originalRequest parameter in
18669        DecidePolicyForNavigationAction.
18670        * UIProcess/WebPolicyClient.cpp:
18671        (WebKit::WebPolicyClient::decidePolicyForNavigationAction): Pass the original request to
18672        the client.
18673        * UIProcess/WebPolicyClient.h:
18674        * WebKit2.xcodeproj/project.pbxproj: Added reference to new file.
18675        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18676        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the original
18677        request from the navigation action to the UI process.
18678
186792013-12-12  Zan Dobersek  <zdobersek@igalia.com>
18680
18681        [Autotools] Prepend the WebCore layer archives' names with 'lib'
18682        https://bugs.webkit.org/show_bug.cgi?id=125627
18683
18684        Reviewed by Martin Robinson.
18685
18686        * GNUmakefile.am: Libtool can complain about the WebCore layer archives not being prepended with 'lib'
18687        when they are used during linking, so the prefix is now added to avoid such issues.
18688
186892013-12-12  Csaba Osztrogonác  <ossy@webkit.org>
18690
18691        Move CertificateInfo to WebCore
18692        https://bugs.webkit.org/show_bug.cgi?id=124720
18693
18694        Reviewed by Darin Adler.
18695
18696        Based on the patch by Kwang Yul Seo <skyul@company100.net>
18697
18698        * GNUmakefile.list.am:
18699        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
18700        * NetworkProcess/NetworkProcess.h:
18701        * NetworkProcess/NetworkProcess.messages.in:
18702        * NetworkProcess/NetworkResourceLoader.cpp:
18703        * NetworkProcess/mac/NetworkProcessMac.mm:
18704        * PlatformEfl.cmake:
18705        * PlatformGTK.cmake:
18706        * Shared/API/c/mac/WKCertificateInfoMac.mm:
18707        * Shared/Authentication/AuthenticationManager.h:
18708        * Shared/Authentication/AuthenticationManager.messages.in:
18709        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
18710        * Shared/UserMessageCoders.h:
18711        (WebKit::UserMessageDecoder::baseDecode):
18712        * Shared/WebCertificateInfo.h:
18713        (WebKit::WebCertificateInfo::create):
18714        (WebKit::WebCertificateInfo::certificateInfo):
18715        * Shared/WebCoreArgumentCoders.cpp:
18716        * Shared/WebCoreArgumentCoders.h:
18717        * Shared/mac/WebCoreArgumentCodersMac.mm:
18718        (CoreIPC::ArgumentCoder<CertificateInfo>::encode):
18719        (CoreIPC::ArgumentCoder<CertificateInfo>::decode):
18720        * Shared/soup/CertificateInfo.cpp: Removed.
18721        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
18722        (CoreIPC::ArgumentCoder<CertificateInfo>::encode):
18723        (CoreIPC::ArgumentCoder<CertificateInfo>::decode):
18724        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
18725        * UIProcess/API/gtk/WebKitWebView.cpp:
18726        (webkit_web_view_get_tls_info):
18727        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
18728        (WebKit::AuthenticationChallengeProxy::useCredential):
18729        * UIProcess/WebFrameProxy.cpp:
18730        (WebKit::WebFrameProxy::didCommitLoad):
18731        * UIProcess/WebFrameProxy.h:
18732        * UIProcess/WebPageProxy.cpp:
18733        (WebKit::WebPageProxy::didCommitLoadForFrame):
18734        * UIProcess/WebPageProxy.h:
18735        * UIProcess/WebPageProxy.messages.in:
18736        * WebKit2.xcodeproj/project.pbxproj:
18737        * WebProcess/Network/WebResourceLoader.cpp:
18738        * WebProcess/Network/WebResourceLoader.h:
18739        * WebProcess/Network/WebResourceLoader.messages.in:
18740        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18741        * WebProcess/WebProcess.h:
18742        * WebProcess/WebProcess.messages.in:
18743        * WebProcess/soup/WebProcessSoup.cpp:
18744        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):
18745
187462013-12-12  Zan Dobersek  <zdobersek@igalia.com>
18747
18748        Use of ar T option not supported by older binutils
18749        https://bugs.webkit.org/show_bug.cgi?id=118732
18750
18751        Reviewed by Gustavo Noronha Silva.
18752
18753        * GNUmakefile.am: To support non-thin archives when generating the WebCoreLayerGtk2 archive,
18754        switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
18755        new archive. Non-thin archives also pose the problem as their members are only noted by the basename
18756        of the member's object file, and not the full path to it. To work around that, all the object files
18757        under the build directory are listed by their relative paths. The members of various archives then have
18758        the basenames of their paths grepped against that list, with the found path correlating to the member
18759        finally added as the new member of the WebCoreLayerGtk2 archive.
18760
187612013-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>
18762
18763        [GTK] WebProcess tests are failing with newer glib
18764        https://bugs.webkit.org/show_bug.cgi?id=125621
18765
18766        Reviewed by Martin Robinson.
18767
18768        Newer versions of glib unset the DISPLAY env variable in
18769        g_test_dbus_up(). The WebProcess needs the DISPLAY variable to
18770        work, and it's important to keep its value when running the tests
18771        under Xvfb.
18772
18773        * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp:
18774        (WebProcessTestRunner::WebProcessTestRunner): Restore the DISPLAY
18775        env variable after calling g_test_dbus_up().
18776
187772013-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>
18778
18779        [GTK] Make sure unit tests don't use GVFS and dconf
18780        https://bugs.webkit.org/show_bug.cgi?id=125620
18781
18782        Reviewed by Martin Robinson.
18783
18784        They should use the local vfs and the gsettings memory backend.
18785
18786        * UIProcess/API/gtk/tests/TestMain.cpp:
18787        (main):
18788
187892013-12-11  KyungTae Kim  <ktf.kim@samsung.com>
18790
18791        [WK2] Build fix after r160464
18792        https://bugs.webkit.org/show_bug.cgi?id=125615
18793
18794        Reviewed by Gyuyoung Kim.
18795
18796        Modify the 2nd parameter for calling WebContext::addMessageReceiver from "this" to "*this"
18797        because the parameter type is modified from CoreIPC::MessageReceiver* to CoreIPC::MessageReceiver&
18798
18799        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
18800        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
18801        * UIProcess/WebBatteryManagerProxy.cpp:
18802        (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
18803        * UIProcess/WebNetworkInfoManagerProxy.cpp:
18804        (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
18805        * UIProcess/WebVibrationProxy.cpp:
18806        (WebKit::WebVibrationProxy::WebVibrationProxy):
18807        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
18808        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
18809        * WebProcess/Battery/WebBatteryManager.cpp:
18810        (WebKit::WebBatteryManager::WebBatteryManager):
18811        * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
18812        (WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
18813        * WebProcess/soup/WebSoupRequestManager.cpp:
18814        (WebKit::WebSoupRequestManager::WebSoupRequestManager):
18815
188162013-12-11  Anders Carlsson  <andersca@apple.com>
18817
18818        MessageReceiverMap should take MessageReceiver objects by reference
18819        https://bugs.webkit.org/show_bug.cgi?id=125605
18820
18821        Reviewed by Tim Horton.
18822
18823        * Platform/CoreIPC/MessageReceiverMap.cpp:
18824        (CoreIPC::MessageReceiverMap::addMessageReceiver):
18825        * Platform/CoreIPC/MessageReceiverMap.h:
18826        * Shared/Authentication/AuthenticationManager.cpp:
18827        (WebKit::AuthenticationManager::AuthenticationManager):
18828        * Shared/ChildProcess.cpp:
18829        (WebKit::ChildProcess::addMessageReceiver):
18830        * Shared/ChildProcess.h:
18831        * Shared/ChildProcessProxy.cpp:
18832        (WebKit::ChildProcessProxy::addMessageReceiver):
18833        * Shared/ChildProcessProxy.h:
18834        * UIProcess/Downloads/DownloadProxyMap.cpp:
18835        (WebKit::DownloadProxyMap::createDownloadProxy):
18836        * UIProcess/DrawingAreaProxy.cpp:
18837        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
18838        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
18839        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
18840        * UIProcess/WebApplicationCacheManagerProxy.cpp:
18841        (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
18842        * UIProcess/WebConnectionToWebProcess.cpp:
18843        (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
18844        * UIProcess/WebContext.cpp:
18845        (WebKit::WebContext::WebContext):
18846        (WebKit::WebContext::addMessageReceiver):
18847        * UIProcess/WebContext.h:
18848        * UIProcess/WebCookieManagerProxy.cpp:
18849        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
18850        * UIProcess/WebDatabaseManagerProxy.cpp:
18851        (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
18852        * UIProcess/WebFullScreenManagerProxy.cpp:
18853        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
18854        * UIProcess/WebGeolocationManagerProxy.cpp:
18855        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
18856        * UIProcess/WebIconDatabase.cpp:
18857        (WebKit::WebIconDatabase::WebIconDatabase):
18858        * UIProcess/WebInspectorProxy.cpp:
18859        (WebKit::WebInspectorProxy::WebInspectorProxy):
18860        * UIProcess/WebMediaCacheManagerProxy.cpp:
18861        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
18862        * UIProcess/WebOriginDataManagerProxy.cpp:
18863        (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
18864        * UIProcess/WebPageProxy.cpp:
18865        (WebKit::WebPageProxy::WebPageProxy):
18866        (WebKit::WebPageProxy::reattachToWebProcess):
18867        * UIProcess/WebResourceCacheManagerProxy.cpp:
18868        (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
18869        * UIProcess/mac/RemoteLayerTreeHost.mm:
18870        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
18871        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
18872        (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
18873        * WebProcess/Cookies/WebCookieManager.cpp:
18874        (WebKit::WebCookieManager::WebCookieManager):
18875        * WebProcess/Geolocation/WebGeolocationManager.cpp:
18876        (WebKit::WebGeolocationManager::WebGeolocationManager):
18877        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
18878        (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
18879        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
18880        (WebKit::WebMediaCacheManager::WebMediaCacheManager):
18881        * WebProcess/Notifications/WebNotificationManager.cpp:
18882        (WebKit::WebNotificationManager::WebNotificationManager):
18883        * WebProcess/OriginData/WebOriginDataManager.cpp:
18884        (WebKit::WebOriginDataManager::WebOriginDataManager):
18885        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
18886        (WebKit::WebResourceCacheManager::WebResourceCacheManager):
18887        * WebProcess/Storage/StorageAreaMap.cpp:
18888        (WebKit::StorageAreaMap::StorageAreaMap):
18889        * WebProcess/WebConnectionToUIProcess.cpp:
18890        (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
18891        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
18892        (WebKit::WebDatabaseManager::WebDatabaseManager):
18893        * WebProcess/WebPage/WebPage.cpp:
18894        (WebKit::WebPage::WebPage):
18895
188962013-12-11  Joseph Pecoraro  <pecoraro@apple.com>
18897
18898        Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
18899        https://bugs.webkit.org/show_bug.cgi?id=125324
18900
18901        Reviewed by Timothy Hatcher.
18902
18903        * WebProcess/Plugins/PluginView.cpp:
18904        (WebKit::PluginView::performJavaScriptURLRequest):
18905        * WebProcess/WebPage/WebInspector.cpp:
18906        * WebProcess/WebPage/WebInspector.h:
18907        * WebProcess/WebPage/WebPage.cpp:
18908
189092013-12-11  Anders Carlsson  <andersca@apple.com>
18910
18911        Remove platform specific gunk from WebURLRequest and WebURLResponse
18912        https://bugs.webkit.org/show_bug.cgi?id=125589
18913
18914        Reviewed by Andreas Kling.
18915
18916        * Shared/API/c/WKURLRequest.cpp:
18917        (WKURLRequestCopyURL):
18918        * Shared/API/c/mac/WKURLRequestNS.mm:
18919        (WKURLRequestCopyNSURLRequest):
18920        * Shared/API/c/mac/WKURLResponseNS.mm:
18921        (WKURLResponseCopyNSURLResponse):
18922        * Shared/WebURLRequest.cpp:
18923        * Shared/WebURLRequest.h:
18924        * Shared/WebURLResponse.h:
18925        * Shared/mac/WebURLRequestMac.mm: Removed.
18926        * Shared/mac/WebURLResponseMac.mm: Removed.
18927        * UIProcess/WebInspectorProxy.cpp:
18928        (WebKit::isMainInspectorPage):
18929        * WebKit2.xcodeproj/project.pbxproj:
18930
189312013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
18932
18933        [GTK][WK2] Add the WebKitBatteryProvider class
18934        https://bugs.webkit.org/show_bug.cgi?id=115720
18935
18936        Reviewed by Martin Robinson.
18937
18938        This patch adds the WebKitBatteryProvider class which sets up a BatteryProviderUPower instance,
18939        controlling the provider's activity when instrumented to do so by the WebBatteryManagerProxy
18940        and relaying the battery status updates from the battery provider to the battery manager.
18941
18942        * GNUmakefile.list.am: Add the build targets for the new source files.
18943        * UIProcess/API/gtk/WebKitBatteryProvider.cpp: Added.
18944        (toBatteryProvider): A helper inline method that casts the client info to the battery provider instance.
18945        (startUpdatingCallback): Relays the instruction to the WebKitBattery instance.
18946        (stopUpdatingCallback): Ditto.
18947        (WebKitBatteryProvider::create):
18948        (WebKitBatteryProvider::WebKitBatteryProvider): Set up a WKBatteryProvider and set it to the passed-in battery manager.
18949        (WebKitBatteryProvider::~WebKitBatteryProvider): Force the BatteryProviderUPower to stop updating.
18950        (WebKitBatteryProvider::startUpdating): Relays the instruction to the BatteryProviderUPower instance.
18951        (WebKitBatteryProvider::stopUpdating): Ditto.
18952        (WebKitBatteryProvider::notifyBatteryStatusUnavailable): Update the battery manager with the new status that
18953        has the default values that are to be used when the implementation cannot determine the battery status (as per
18954        the Battery Status API specification).
18955        (WebKitBatteryProvider::notifyBatteryStatusUpdated): Update the battery status.
18956        * UIProcess/API/gtk/WebKitBatteryProvider.h: Added.
18957        (WebKitBatteryProvider): Define the WebKitBatteryProvider reference-counted interface that also inherits from the
18958        BatteryProviderUPowerClient interface.
18959        * UIProcess/API/gtk/WebKitWebContext.cpp:
18960        (_WebKitWebContextPrivate): Add a WebKitBatteryProvider member variable to the struct.
18961        (createDefaultWebContext): Create a new battery provider when initializing the default web context.
18962
189632013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
18964
18965        [GTK] Add a UPower-based BatteryProvider
18966        https://bugs.webkit.org/show_bug.cgi?id=115719
18967
18968        Reviewed by Martin Robinson.
18969
18970        * GNUmakefile.am: Link the libwebkit2gtk library against the upower-glib library.
18971
189722013-12-11  Gustavo Noronha Silva  <gns@gnome.org>
18973
18974        [GTK] Support right-side attachment of the inspector
18975        https://bugs.webkit.org/show_bug.cgi?id=124126
18976
18977        Reviewed by Carlos Garcia Campos.
18978
18979        * UIProcess/API/C/gtk/WKInspectorClientGtk.h: add changed attached width callback.
18980        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
18981        (webkitWebViewBaseAddWebInspector): take attachment side parameter into account when adding the
18982        inspector view.
18983        (webkitWebViewBaseContainerRemove): renamed inspectorViewHeight to inspectorViewSize.
18984        (resizeWebKitWebViewBaseFromAllocation): take attachment side into account when allocating the
18985        sizes for the inspector view and the inspected view.
18986        (webkitWebViewBaseSetInspectorViewSize): renamed from webkitWebViewBaseSetInspectorViewHeight.
18987        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
18988        * UIProcess/gtk/WebInspectorClientGtk.cpp:
18989        (WebKit::WebInspectorClientGtk::didChangeAttachedWidth): notify client that view width has changed.
18990        * UIProcess/gtk/WebInspectorClientGtk.h:
18991        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
18992        (WebKit::WebInspectorProxy::platformAttach): use attachment side for setting the default size
18993        for the inspector view.
18994        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): use the new generic SetInspectorViewSize.
18995        (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): allow setting the inspector view width.
18996
189972013-12-11  Brendan Long  <b.long@cablelabs.com>
18998
18999        [GTK] Add "enable-mediasource" property to WebKitWebSettings
19000        https://bugs.webkit.org/show_bug.cgi?id=125566
19001
19002        Reviewed by Philippe Normand.
19003
19004        * UIProcess/API/gtk/WebKitSettings.cpp:
19005        (webKitSettingsSetProperty):
19006        (webKitSettingsGetProperty):
19007        (webkit_settings_class_init):
19008        (webkit_settings_get_enable_mediasource):
19009        (webkit_settings_set_enable_mediasource):
19010        * UIProcess/API/gtk/WebKitSettings.h:
19011        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
19012        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
19013        (testWebKitSettings):
19014
190152013-12-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
19016
19017        [EFL] Fix build with CONTEXT_MENUS flag set OFF
19018        https:///bugs.webkit.org/show_bug.cgi?id=125572
19019
19020        Reviewed by Gyuyoung Kim.
19021
19022        Fix EFL build by adding necessary guard, also UNUSED_PARAM macros where added.
19023
19024        * Shared/API/c/WKContextMenuItem.cpp: Added UNUSED_PARAM macros.
19025        (WKContextMenuItemCreateAsAction):
19026        (WKContextMenuItemCreateAsCheckableAction):
19027        (WKContextMenuItemCreateAsSubmenu):
19028        (WKContextMenuItemGetTag):
19029        (WKContextMenuItemGetType):
19030        (WKContextMenuItemCopyTitle):
19031        (WKContextMenuItemGetEnabled):
19032        (WKContextMenuItemGetChecked):
19033        (WKContextMenuCopySubmenuItems):
19034        (WKContextMenuItemGetUserData):
19035        (WKContextMenuItemSetUserData):
19036        * UIProcess/API/C/WKPage.cpp: Ditto.
19037        (WKPageSetPageContextMenuClient):
19038        (WKPageSelectContextMenuItem):
19039        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Ditto.
19040        (WKBundlePageSetContextMenuClient):
19041        (WKBundlePageClickMenuItem):
19042        (WKBundlePageCopyContextMenuItems):
19043        (WKBundlePageCopyContextMenuAtPointInWindow)
19044        * UIProcess/efl/WebViewEfl.cpp: Guard createContextMenuProxy method.
19045        * UIProcess/efl/WebViewEfl.h: Ditto.
19046
190472013-12-11  Kwang Yul Seo  <skyul@company100.net>
19048
19049        [WK2][Soup] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
19050        https://bugs.webkit.org/show_bug.cgi?id=125557
19051
19052        Reviewed by Carlos Garcia Campos.
19053
19054        Do what WebProcess::allowSpecificHTTPSCertificateForHost does.
19055
19056        * NetworkProcess/soup/NetworkProcessSoup.cpp:
19057        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
19058
190592013-12-10  Mark Rowe  <mrowe@apple.com>
19060
19061        <http://webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly
19062        <rdar://problem/15634192>
19063
19064        Reviewed by Dan Bernstein.
19065
19066        * UIProcess/mac/WebPageProxyMac.mm:
19067        (WebKit::userVisibleWebKitVersionString): Strip as many leading digits as is necessary to
19068        bring the major component of the version down to 3 digits.
19069
190702013-12-10  Ryuan Choi  <ryuan.choi@samsung.com>
19071
19072        Unreviewed GTK build fix attempt after r160395 (second)
19073
19074        * GNUmakefile.list.am:
19075        Added new files for UserData, APIFrameHandle, APIGeometry and APIPageHandle.
19076
190772013-12-10  Ryuan Choi  <ryuan.choi@samsung.com>
19078
19079        Unreviewed GTK build fix attempt after r160395
19080
19081        Renamed WebUInt64 to API::UInt64, WebDouble to API::Double, WebBoolean
19082        to API::Boolean.
19083
19084        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
19085        (didReceiveWebViewMessageFromInjectedBundle):
19086        * UIProcess/API/gtk/WebKitWebView.cpp:
19087        (webkit_web_view_get_snapshot):
19088        * UIProcess/API/gtk/WebKitWindowProperties.cpp: Included APINumber.h instead of WebNumber.h
19089        (webkitWindowPropertiesUpdateFromWebWindowFeatures):
19090        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
19091        (didInitiateLoadForResource):
19092        (willSendRequestForFrame):
19093        (didReceiveResponseForResource):
19094        (didReceiveContentLengthForResource):
19095        (didFinishLoadForResource):
19096        (didFailLoadForResource):
19097        (webkitWebPageDidReceiveMessage):
19098
190992013-12-10  Dan Bernstein  <mitz@apple.com>
19100
19101        All observable PageLoadState properties should change in an atomic fashion, with properly nested change notifications
19102        https://bugs.webkit.org/show_bug.cgi?id=125431
19103
19104        Reviewed by Anders Carlsson.
19105
19106        Made PageLoadState maintain two copies of its state data members, one representing the
19107        committed state and one possibly containing uncommitted changes. When changes are committed,
19108        change notifications are sent and the uncommitted state is copied into the committed state.
19109        Changes can be committed explicitly at any time, but are also committed when the last
19110        outstanding transaction ends. Transactions are RAII objects vended by the PageLoadState.
19111        Mutating the PageLoadState requires holding a Transaction, which is enforced by making all
19112        the mutating member functions take a Transaction::Token. Passing a Token also marks the
19113        PageLoadState as possibly having uncommitted changes.
19114
19115        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
19116        Added PageLoadStateObserver::{will,did}ChangeActiveURL overrides that call
19117        -{will,did}ChangeValueForKey:.
19118
19119        * UIProcess/PageLoadState.cpp:
19120        Moved constant from the middle of the file to the beginning and reworded comment.
19121        (WebKit::PageLoadState::PageLoadState): Added initializers for new member variables, removed
19122        initialization of members that are not part of Data, which initializes them in its
19123        constructor.
19124        (WebKit::PageLoadState::endTransaction): Added. Calles when a Transaction is destructed.
19125        Decrements the outstanding transaction count, and if it is zero, commits changes.
19126        (WebKit::PageLoadState::commitChanges): Added. Checks for differences in observable
19127        properties between the committed state and the uncommitted state, then makes appropriate
19128        willChange Observer callbacks, then copies the uncommitted state into the committed state,
19129        then makes appropriate didChange Observer callbacks in reverse order. Also added active URL
19130        to the set of observable properties.
19131        (WebKit::PageLoadState::reset): Changed to take a transaction token, act on
19132        m_uncommittedState, and not make observer callbacks.
19133        (WebKit::PageLoadState::isLoading): Changed to access m_committedState.
19134        (WebKit::PageLoadState::activeURL): Changed to call a static function factored out of this.
19135        (WebKit::PageLoadState::estimatedProgress): Ditto.
19136        (WebKit::PageLoadState::pendingAPIRequestURL): Changed to access m_committedState.
19137        (WebKit::PageLoadState::setPendingAPIRequestURL): Changed to take a transaction token, act
19138        on m_uncommittedState, and not make observer callbacks.
19139        (WebKit::PageLoadState::clearPendingAPIRequestURL): Ditto.
19140        (WebKit::PageLoadState::didStartProvisionalLoad): Ditto.
19141        (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad): Ditto.
19142        (WebKit::PageLoadState::didFailProvisionalLoad): Ditto.
19143        (WebKit::PageLoadState::didCommitLoad): Ditto.
19144        (WebKit::PageLoadState::didFinishLoad): Ditto.
19145        (WebKit::PageLoadState::didFailLoad): Ditto.
19146        (WebKit::PageLoadState::didSameDocumentNavigation): Ditto.
19147        (WebKit::PageLoadState::setUnreachableURL): Ditto.
19148        (WebKit::PageLoadState::title): Changed to access m_committedState.
19149        (WebKit::PageLoadState::setTitle): Changed to take a transaction token, act on
19150        m_uncommittedState, and not make observer callbacks.
19151        (WebKit::PageLoadState::didStartProgress): Ditto.
19152        (WebKit::PageLoadState::didChangeProgress): Ditto.
19153        (WebKit::PageLoadState::didFinishProgress): Ditto.
19154        * UIProcess/PageLoadState.h:
19155        (WebKit::PageLoadState::Transaction::Transaction): Added. Calls
19156        PageLoadState::beginTransaction.
19157        (WebKit::PageLoadState::Transaction::~Transaction): Added. Calls
19158        PageLoadState::endTransaction.
19159        (WebKit::PageLoadState::Transaction::Token::Token): Added. Sets m_mayHaveUncommittedChanges.
19160        (WebKit::PageLoadState::transaction): Added. Returns a Transaction for this PageLoadState.
19161        (WebKit::PageLoadState::provisionalURL): Changed to access m_committedState.
19162        (WebKit::PageLoadState::url): Ditto.
19163        (WebKit::PageLoadState::unreachableURL): Ditto.
19164        (WebKit::PageLoadState::beginTransaction): Added. Increments the outstanding transaction
19165        count.
19166        (WebKit::PageLoadState::Data::Data): Added. Moved internal state members into this struct
19167        and made its constructor initialize state and estimatedProgress.
19168
19169        * UIProcess/WebPageProxy.cpp:
19170        (WebKit::WebPageProxy::loadURL): Changed to create a PageLoadState::Transaction and pass it
19171        along.
19172        (WebKit::WebPageProxy::loadURLRequest): Ditto.
19173        (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
19174        (WebKit::WebPageProxy::reload): Ditto.
19175        (WebKit::WebPageProxy::goForward): Ditto.
19176        (WebKit::WebPageProxy::goBack): Ditto.
19177        (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
19178        (WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
19179        (WebKit::WebPageProxy::didStartProgress): Ditto. Also added a call to
19180        PageLoadState::commitChanges before calling the client, so that the client sees the updated
19181        state.
19182        (WebKit::WebPageProxy::didChangeProgress): Ditto.
19183        (WebKit::WebPageProxy::didFinishProgress): Ditto.
19184        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Ditto.
19185        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
19186        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Ditto.
19187        (WebKit::WebPageProxy::didCommitLoadForFrame): Ditto.
19188        (WebKit::WebPageProxy::didFinishLoadForFrame): Ditto.
19189        (WebKit::WebPageProxy::didFailLoadForFrame): Ditto.
19190        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
19191        (WebKit::WebPageProxy::didReceiveTitleForFrame): Ditto.
19192        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Changed to create a
19193        PageLoadState::Transaction and pass it along.
19194        (WebKit::WebPageProxy::processDidCrash): Ditto. This addressed a FIXME about the client not
19195        seeing the state prior to the crash, because now the changes cuased by reset() aren’t
19196        committed until after the client callback.
19197
19198        * UIProcess/cf/WebPageProxyCF.cpp:
19199        (WebKit::WebPageProxy::restoreFromSessionStateData): Changed to create a
19200        PageLoadState::Transaction and pass it along.
19201
192022013-12-10  Ryuan Choi  <ryuan.choi@samsung.com>
19203
19204        Unreviewed EFL build fix attempt
19205
19206        * CMakeLists.txt: Added APIGeometry.cpp to source lists.
19207
192082013-12-10  Anders Carlsson  <andersca@apple.com>
19209
19210        Move number and geometry classes into the API namespace
19211        https://bugs.webkit.org/show_bug.cgi?id=125549
19212
19213        Reviewed by Geoffrey Garen.
19214
19215        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
19216        (-[WKRemoteObjectEncoder encodeBool:forKey:]):
19217        (-[WKRemoteObjectEncoder encodeInt64:forKey:]):
19218        (-[WKRemoteObjectEncoder encodeDouble:forKey:]):
19219        (-[WKRemoteObjectDecoder decodeBoolForKey:]):
19220        (-[WKRemoteObjectDecoder decodeInt64ForKey:]):
19221        (-[WKRemoteObjectDecoder decodeDoubleForKey:]):
19222        * Shared/API/c/WKGeometry.cpp:
19223        (WKSizeGetTypeID):
19224        (WKPointGetTypeID):
19225        (WKRectGetTypeID):
19226        (WKPointCreate):
19227        (WKSizeCreate):
19228        (WKRectCreate):
19229        * Shared/API/c/WKNumber.cpp:
19230        (WKBooleanGetTypeID):
19231        (WKBooleanCreate):
19232        (WKDoubleGetTypeID):
19233        (WKDoubleCreate):
19234        (WKUInt64GetTypeID):
19235        (WKUInt64Create):
19236        * Shared/API/c/WKSharedAPICast.h:
19237        * Shared/APIGeometry.cpp:
19238        (API::Point::encode):
19239        (API::Point::decode):
19240        (API::Size::encode):
19241        (API::Size::decode):
19242        (API::Rect::encode):
19243        (API::Rect::decode):
19244        * Shared/APIGeometry.h:
19245        (API::Size::create):
19246        (API::Size::Size):
19247        (API::Point::create):
19248        (API::Point::Point):
19249        (API::Rect::create):
19250        (API::Rect::Rect):
19251        * Shared/APINumber.h:
19252        (API::Number::create):
19253        (API::Number::decode):
19254        (API::Number::Number):
19255        * Shared/APIObject.h:
19256        * Shared/Plugins/Netscape/PluginInformation.cpp:
19257        (WebKit::getPluginModuleInformation):
19258        (WebKit::createPluginInformationDictionary):
19259        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
19260        (WebKit::getPlatformPluginModuleInformation):
19261        * Shared/UserData.cpp:
19262        (WebKit::UserData::encode):
19263        (WebKit::UserData::decode):
19264        * Shared/UserMessageCoders.h:
19265        (WebKit::UserMessageEncoder::baseEncode):
19266        (WebKit::UserMessageDecoder::baseDecode):
19267        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
19268        (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
19269        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
19270        * UIProcess/Notifications/WebNotificationProvider.cpp:
19271        (WebKit::WebNotificationProvider::clearNotifications):
19272        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
19273        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
19274        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable):
19275        * UIProcess/StatisticsRequest.cpp:
19276        (WebKit::addToDictionaryFromHashMap):
19277        * UIProcess/WebDatabaseManagerProxy.cpp:
19278        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
19279        * UIProcess/WebPageProxy.cpp:
19280        (WebKit::WebPageProxy::didFindStringMatches):
19281        * UIProcess/WebUIClient.cpp:
19282        (WebKit::WebUIClient::createNewPage):
19283        * WebProcess/WebPage/WebPage.cpp:
19284        (WebKit::WebPage::trackedRepaintRects):
19285        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
19286        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
19287
192882013-12-10  Anders Carlsson  <andersca@apple.com>
19289
19290        Add encode and decode functions to WebNumber
19291        https://bugs.webkit.org/show_bug.cgi?id=125547
19292
19293        Reviewed by Beth Dakin.
19294
19295        * Shared/APINumber.h:
19296        (WebKit::WebNumber::encode):
19297        (WebKit::WebNumber::decode):
19298        * Shared/UserData.cpp:
19299        (WebKit::UserData::encode):
19300        (WebKit::UserData::decode):
19301
193022013-12-10  Nick Diego Yamane  <nick.yamane@openbossa.org>
19303
19304        [EFL] One more WK2 build fix
19305        https://bugs.webkit.org/show_bug.cgi?id=125544
19306
19307        API::TypedObject has been renamed to API::ObjectImpl
19308
19309        Reviewed by Tim Horton.
19310
19311        * Shared/WebBatteryStatus.h:
19312        * Shared/WebNetworkInfo.h:
19313        * UIProcess/CoordinatedGraphics/WebView.h:
19314        * UIProcess/WebBatteryManagerProxy.h:
19315        * UIProcess/WebNetworkInfoManagerProxy.h:
19316        * UIProcess/WebTextChecker.h:
19317        * UIProcess/WebVibrationProxy.h:
19318        * UIProcess/WebViewportAttributes.h:
19319        * UIProcess/efl/WebPopupItemEfl.h:
19320        * UIProcess/soup/WebSoupRequestManagerProxy.h:
19321
193222013-12-10  Anders Carlsson  <andersca@apple.com>
19323
19324        Rename WebNumber.h to APINumber.h
19325        https://bugs.webkit.org/show_bug.cgi?id=125545
19326
19327        Reviewed by Beth Dakin.
19328
19329        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
19330        * Shared/API/c/WKNumber.cpp:
19331        * Shared/API/c/WKSharedAPICast.h:
19332        * Shared/APINumber.h: Renamed from Source/WebKit2/Shared/WebNumber.h.
19333        * Shared/Plugins/Netscape/PluginInformation.cpp:
19334        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
19335        * Shared/UserData.cpp:
19336        * Shared/UserMessageCoders.h:
19337        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
19338        * UIProcess/Notifications/WebNotificationProvider.cpp:
19339        * UIProcess/WebUIClient.cpp:
19340        * WebKit2.xcodeproj/project.pbxproj:
19341
193422013-12-10  Anders Carlsson  <andersca@apple.com>
19343
19344        UserData should handle geometry types
19345        https://bugs.webkit.org/show_bug.cgi?id=125542
19346
19347        Reviewed by Andreas Kling.
19348
19349        Rename WebGeometry.h to APIGeometry.h in preparation for moving the classes into the API namespace.
19350        Add encode/decode functions to geometry classes. Use them in UserData::encode and UserData::decode.
19351
19352        * Shared/API/c/WKGeometry.cpp:
19353        * Shared/APIGeometry.cpp: Added.
19354        * Shared/APIGeometry.h: Renamed from Source/WebKit2/Shared/WebGeometry.h.
19355        (WebKit::UserData::encode):
19356        (WebKit::UserData::decode):
19357        * Shared/UserMessageCoders.h:
19358        * WebKit2.xcodeproj/project.pbxproj:
19359        * WebProcess/WebPage/WebPage.cpp:
19360
193612013-12-10  Beth Dakin  <bdakin@apple.com>
19362
19363        https://bugs.webkit.org/show_bug.cgi?id=125533
19364        BackgroundExtendsBeyondPage setting should be switchable per WKView
19365        -and corresponding-
19366        <rdar://problem/15571310>
19367
19368        Reviewed by Anders Carlsson.
19369
19370        This patch removes the WKPreferences API and adds WKPage API in its place. To 
19371        ensure that the setting sticks after a crash, it is also now a creation parameter.
19372
19373        * Shared/WebPageCreationParameters.cpp:
19374        (WebKit::WebPageCreationParameters::encode):
19375        (WebKit::WebPageCreationParameters::decode):
19376        * Shared/WebPageCreationParameters.h:
19377        * UIProcess/API/C/WKPage.cpp:
19378        (WKPageSetBackgroundExtendsBeyondPage):
19379        (WKPageBackgroundExtendsBeyondPage):
19380        * UIProcess/API/C/WKPage.h:
19381        * UIProcess/API/C/WKPreferences.cpp:
19382        * UIProcess/API/C/WKPreferencesPrivate.h:
19383        * UIProcess/WebPageProxy.cpp:
19384        (WebKit::WebPageProxy::WebPageProxy):
19385        (WebKit::WebPageProxy::setBackgroundExtendsBeyondPage):
19386        (WebKit::WebPageProxy::backgroundExtendsBeyondPage):
19387        (WebKit::WebPageProxy::initializeCreationParameters):
19388        * UIProcess/WebPageProxy.h:
19389        * WebProcess/WebPage/WebPage.cpp:
19390        (WebKit::WebPage::WebPage):
19391        (WebKit::WebPage::setBackgroundExtendsBeyondPage):
19392        (WebKit::WebPage::updatePreferences):
19393        * WebProcess/WebPage/WebPage.h:
19394        * WebProcess/WebPage/WebPage.messages.in:
19395
193962013-12-10  Anders Carlsson  <andersca@apple.com>
19397
19398        Rename API::TypedObject to API::ObjectImpl
19399        https://bugs.webkit.org/show_bug.cgi?id=125539
19400
19401        Reviewed by Tim Horton.
19402
19403        All API::Objects are by definition typed, so ObjectImpl makes more sense as a name.
19404
19405        * Shared/APIArray.h:
19406        * Shared/APIFrameHandle.h:
19407        * Shared/APIObject.h:
19408        (API::ObjectImpl::~ObjectImpl):
19409        (API::ObjectImpl::ObjectImpl):
19410        * Shared/APIPageHandle.h:
19411        * Shared/ImmutableDictionary.h:
19412        * Shared/WebArchive.h:
19413        * Shared/WebArchiveResource.h:
19414        * Shared/WebBackForwardListItem.h:
19415        * Shared/WebCertificateInfo.h:
19416        * Shared/WebConnection.h:
19417        * Shared/WebContextMenuItem.h:
19418        * Shared/WebData.h:
19419        * Shared/WebError.h:
19420        * Shared/WebGeolocationPosition.h:
19421        * Shared/WebGeometry.h:
19422        * Shared/WebHitTestResult.h:
19423        * Shared/WebImage.h:
19424        * Shared/WebNumber.h:
19425        * Shared/WebOpenPanelParameters.h:
19426        * Shared/WebRenderLayer.h:
19427        * Shared/WebRenderObject.h:
19428        * Shared/WebSecurityOrigin.h:
19429        * Shared/WebSerializedScriptValue.h:
19430        * Shared/WebString.h:
19431        * Shared/WebURL.h:
19432        * Shared/WebURLRequest.h:
19433        * Shared/WebURLResponse.h:
19434        * Shared/WebUserContentURLPattern.h:
19435        * Shared/mac/ObjCObjectGraph.h:
19436        * UIProcess/APINavigationData.h:
19437        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
19438        * UIProcess/Authentication/AuthenticationDecisionListener.h:
19439        * UIProcess/Authentication/WebCredential.h:
19440        * UIProcess/Authentication/WebProtectionSpace.h:
19441        * UIProcess/Downloads/DownloadProxy.h:
19442        * UIProcess/GeolocationPermissionRequestProxy.h:
19443        * UIProcess/Notifications/NotificationPermissionRequest.h:
19444        * UIProcess/Notifications/WebNotification.h:
19445        * UIProcess/Notifications/WebNotificationManagerProxy.h:
19446        * UIProcess/Plugins/WebPluginSiteDataManager.h:
19447        * UIProcess/WebApplicationCacheManagerProxy.h:
19448        * UIProcess/WebBackForwardList.h:
19449        * UIProcess/WebColorPickerResultListenerProxy.h:
19450        * UIProcess/WebContext.h:
19451        * UIProcess/WebCookieManagerProxy.h:
19452        * UIProcess/WebDatabaseManagerProxy.h:
19453        * UIProcess/WebEditCommandProxy.h:
19454        * UIProcess/WebFrameProxy.h:
19455        * UIProcess/WebGeolocationManagerProxy.h:
19456        * UIProcess/WebGrammarDetail.h:
19457        * UIProcess/WebIconDatabase.h:
19458        * UIProcess/WebInspectorProxy.h:
19459        * UIProcess/WebKeyValueStorageManager.h:
19460        * UIProcess/WebMediaCacheManagerProxy.h:
19461        * UIProcess/WebOpenPanelResultListenerProxy.h:
19462        * UIProcess/WebOriginDataManagerProxy.h:
19463        * UIProcess/WebPageGroup.h:
19464        * UIProcess/WebPageProxy.h:
19465        * UIProcess/WebPreferences.h:
19466        * UIProcess/WebResourceCacheManagerProxy.h:
19467        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
19468        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
19469        * WebProcess/InjectedBundle/InjectedBundle.h:
19470        * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
19471        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
19472        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
19473        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
19474        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
19475        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
19476        * WebProcess/WebPage/PageBanner.h:
19477        * WebProcess/WebPage/PageOverlay.h:
19478        * WebProcess/WebPage/WebFrame.h:
19479        * WebProcess/WebPage/WebInspector.h:
19480        * WebProcess/WebPage/WebPage.h:
19481        * WebProcess/WebPage/WebPageGroupProxy.h:
19482
194832013-12-10  Nick Diego Yamane  <nick.yamane@openbossa.org>
19484
19485        [EFL] Fix WK2 build after r160341
19486        https://bugs.webkit.org/show_bug.cgi?id=125529
19487
19488        Reviewed by Anders Carlsson.
19489
19490        * CMakeLists.txt: Added new files UserData.cpp, APIFrameHandle.cpp and APIPageHandle.cpp.
19491
194922013-12-10  Anders Carlsson  <andersca@apple.com>
19493
19494        Add more API object types to UserData
19495        https://bugs.webkit.org/show_bug.cgi?id=125532
19496
19497        Reviewed by Beth Dakin.
19498
19499        * Shared/UserData.cpp:
19500        (WebKit::UserData::transform):
19501        Handle dictionaries.
19502
19503        (WebKit::UserData::encode):
19504        (WebKit::UserData::decode):
19505        Handle more API::Objects.
19506
195072013-12-10  Anders Carlsson  <andersca@apple.com>
19508
19509        More UserData work
19510        https://bugs.webkit.org/show_bug.cgi?id=125524
19511
19512        Reviewed by Dan Bernstein.
19513
19514        * Shared/APIObject.h:
19515        * Shared/UserData.cpp:
19516        (WebKit::UserData::transform):
19517        New helper function that takes an API::Object and returns a new API::Object with all "sub-objects" (arrays etc)
19518        transformed by calling the transformer.
19519
19520        * Shared/UserData.h:
19521        (WebKit::UserData::object):
19522        New getter.
19523
19524        * UIProcess/WebProcessProxy.cpp:
19525        (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
19526        Helper function that creates a new API::Object graph by converting WebFrameProxy objects to FrameHandles.
19527
19528        * WebProcess/WebProcess.cpp:
19529        (WebKit::WebProcess::apiObjectByConvertingFromHandles):
19530        Helper function that creates a new API::Object graph by converting FrameHandles to WebFrame objects.
19531
195322013-12-10  Alberto Garcia  <berto@igalia.com>
19533
19534        [WK2] [SOUP] Allow running the network process with an arbitrary prefix command
19535        https://bugs.webkit.org/show_bug.cgi?id=125520
19536
19537        Reviewed by Carlos Garcia Campos.
19538
19539        Launch the network process using NETWORK_PROCESS_CMD_PREFIX as a
19540        prefix. Useful for debugging the web process with gdb, valgrind,
19541        etc.
19542
19543        * UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
19544        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
19545
195462013-12-10  Kwang Yul Seo  <skyul@company100.net>
19547
19548        Allow us to use network process with a single process model
19549        https://bugs.webkit.org/show_bug.cgi?id=125507
19550
19551        Reviewed by Brady Eidson.
19552
19553        Currently, WebContext::sendToNetworkingProcess and
19554        WebContext::sendToNetworkingProcessRelaunchingIfNecessary assume that
19555        network process is not used when the given process model is
19556        ProcessModelSharedSecondaryProcess. This is not consistent with
19557        WebContext::networkingProcessConnection which returns the networking
19558        process connection for ProcessModelSharedSecondaryProcess.
19559
19560        * UIProcess/WebContext.h:
19561        (WebKit::WebContext::sendToNetworkingProcess):
19562        (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):
19563
195642013-12-10  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
19565
19566        Unreviewed EFL build fix
19567
19568        * CMakeLists.txt: Remove UIProcess/DrawingAreaProxy.cpp.
19569        * PlatformGTK.cmake: Add the file above.
19570
195712013-12-10  Martin Robinson  <mrobinson@igalia.com>
19572
19573        [GTK] [CMake] Add support for building the WebKit injected bundle
19574        https://bugs.webkit.org/show_bug.cgi?id=116373
19575
19576        Reviewed by Gustavo Noronha Silva.
19577
19578        * PlatformGTK.cmake: Add support for building the InjectedBundle and link the WebKit2
19579        shared library against the GObject DOM bindings.
19580        * WebProcess/gtk/WebGtkExtensionManager.h: Properly export symbols used by the InjectedBundle.
19581
195822013-12-10  Kwang Yul Seo  <skyul@company100.net>
19583
19584        [WK2][SOUP] WebContext::setIgnoreTLSErrors should send SetIgnoreTLSErrors to the network process when network process is enabled
19585        https://bugs.webkit.org/show_bug.cgi?id=125505
19586
19587        Reviewed by Carlos Garcia Campos.
19588
19589        This is a follow-up patch for r160355.
19590
19591        * UIProcess/gtk/WebContextGtk.cpp:
19592        (WebKit::WebContext::setIgnoreTLSErrors):
19593
195942013-12-10  Martin Robinson  <mrobinson@igalia.com>
19595
19596        Try to fix the EFL build
19597
19598        * CMakeLists.txt: Remove DrawingAreaImpl.cpp from the global list.
19599        * PlatformGTK.cmake: Move it to the GTK+ specific list.
19600
196012013-12-10  Martin Robinson  <mrobinson@igalia.com>
19602
19603        Various fixes for the CMake GTK+ build
19604
19605        Reviewed by Gustavo Noronha.
19606
19607        * CMakeLists.txt: Update the source lists.
19608        * PlatformGTK.cmake: Ditto.
19609
196102013-12-10  Alberto Garcia  <berto@igalia.com>
19611
19612        [WK2] [GTK] Enable the network process in the WebContext
19613        https://bugs.webkit.org/show_bug.cgi?id=125494
19614
19615        Reviewed by Carlos Garcia Campos.
19616
19617        This should be initialized using the setUsesNetworkProcess() API.
19618
19619        * UIProcess/API/gtk/WebKitWebContext.cpp:
19620        (createDefaultWebContext):
19621        * UIProcess/gtk/WebContextGtk.cpp:
19622        (WebKit::WebContext::platformInitializeWebProcess):
19623
196242013-12-10  Brian Holt  <brian.holt@samsung.com>
19625
19626        [WK2][SOUP] initialise the Network Process with ignoreTLSErrors
19627        https://bugs.webkit.org/show_bug.cgi?id=125490
19628
19629        ResourceHandleSoup in the Network Process and is not initialised with
19630        a policy on ignoring TLS errors.  This simply requires that the
19631        appropriate message is created for the Network Process and the
19632        parameter created for initialisation.
19633
19634        Reviewed by Gustavo Noronha Silva.
19635
19636        * NetworkProcess/NetworkProcess.h:
19637        * NetworkProcess/NetworkProcess.messages.in:
19638        * NetworkProcess/soup/NetworkProcessSoup.cpp:
19639        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
19640        (WebKit::NetworkProcess::setIgnoreTLSErrors):
19641        * Shared/Network/NetworkProcessCreationParameters.cpp:
19642        (WebKit::NetworkProcessCreationParameters::encode):
19643        (WebKit::NetworkProcessCreationParameters::decode):
19644        * Shared/Network/NetworkProcessCreationParameters.h:
19645        * UIProcess/gtk/WebContextGtk.cpp:
19646        (WebKit::WebContext::platformInitializeWebProcess):
19647        * UIProcess/soup/WebContextSoup.cpp:
19648        (WebKit::WebContext::platformInitializeNetworkProcess):
19649
196502013-12-09  Anders Carlsson  <andersca@apple.com>
19651
19652        Begin working on a UserData class intended to replace UserMessageCoders
19653        https://bugs.webkit.org/show_bug.cgi?id=125471
19654
19655        Reviewed by Sam Weinig.
19656
19657        * Shared/APIFrameHandle.cpp: Added.
19658        * Shared/APIFrameHandle.h: Added.
19659        Add a new API::FrameHandle class that represents a frame.
19660
19661        * Shared/APIObject.h:
19662        * Shared/APIPageHandle.cpp: Added.
19663        * Shared/APIPageHandle.h: Added.
19664        Add a new API::PageHandle class that represents a page.
19665
19666        * Shared/UserData.cpp: Added.
19667        (WebKit::UserData::UserData):
19668        (WebKit::UserData::~UserData):
19669        (WebKit::UserData::encode):
19670        (WebKit::UserData::decode):
19671        * Shared/UserData.h: Added.
19672        Add a UserData class that can be encoded and decoded. This will be used for sending data
19673         between the web process and UI process without doing any of the Page -> BundlePage etc conversions.
19674        * WebKit2.xcodeproj/project.pbxproj:
19675
196762013-12-09  Ryuan Choi  <ryuan.choi@samsung.com>
19677
19678        [EFL][WK2] LayoutTests are broken after r160301
19679        https://bugs.webkit.org/show_bug.cgi?id=125447
19680
19681        Reviewed by Darin Adler.
19682
19683        r160301 moved FullScreenManagerProxyClient logic to WebViewEfl, child class
19684        of CoordinatedGraphics::WebView, because implementations are EFL specific.
19685        However, CoordinatedGraphics::WebView creates WebPageProxy in constructor and
19686        WebPageProxy requires FullScreenManagerProxyClient in constructor.
19687        So, All WK2/Efl based applications got crashed
19688
19689        This patch adds virtual methods for FullScreenManagerProxyClient to CoordinatedGraphics::WebView
19690        so that WebPageProxy can get FullScreenManagerProxyClient instance without
19691        pure viertual methods.
19692
19693        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
19694        (WKViewExitFullScreen):
19695        * UIProcess/CoordinatedGraphics/WebView.cpp:
19696        (WebKit::WebView::fullScreenManagerProxyClient):
19697        (WebKit::WebView::requestExitFullScreen):
19698        renamed from exitFullScreen not to conflict with methods of FullScreenManagerProxyClient.
19699        * UIProcess/CoordinatedGraphics/WebView.h:
19700        * UIProcess/efl/WebViewEfl.cpp:
19701        * UIProcess/efl/WebViewEfl.h:
19702
197032013-12-09  Sergio Villar Senin  <svillar@igalia.com>
19704
19705        [WK2] Add UNIX_DOMAIN_SOCKETS specific bits for supporting NetworkProcess
19706        https://bugs.webkit.org/show_bug.cgi?id=110093
19707
19708        Reviewed by Martin Robinson.
19709
19710        Original patch by Balazs Kelemen <kbalazs@webkit.org>.
19711
19712        Adds the UNIX specific bits to support connections to the
19713        NetworkProcess. Since the process of creating the pair of sockets
19714        is exactly the same as in the PluginProcess, I've decided to
19715        refactor it in ConnectionUnix::createPlatformConnection(). This
19716        can be reused later to create a cross-platform solution and remove
19717        all the ifdefs (see bug 110978).
19718
19719        * NetworkProcess/NetworkProcess.cpp:
19720        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
19721        * Platform/CoreIPC/Connection.h:
19722        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
19723        (CoreIPC::Connection::createPlatformConnection):
19724        * PluginProcess/PluginProcess.cpp:
19725        (WebKit::PluginProcess::createWebProcessConnection):
19726        * UIProcess/Network/NetworkProcessProxy.cpp:
19727        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
19728        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
19729        * WebProcess/WebProcess.cpp:
19730        (WebKit::WebProcess::ensureNetworkProcessConnection):
19731
197322013-12-09  Kwang Yul Seo  <skyul@company100.net>
19733
19734        [WK2][Soup] Support cache model in NetworkProcess
19735        https://bugs.webkit.org/show_bug.cgi?id=118343
19736
19737        Reviewed by Carlos Garcia Campos.
19738
19739        Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <ossy@webkit.org>.
19740
19741        Copied cache model code from WebProcess.
19742        NetworkProcess is configured not to use the WebCore memory cache.
19743
19744        * NetworkProcess/soup/NetworkProcessSoup.cpp:
19745        (WebKit::getCacheDiskFreeSize):
19746        (WebKit::getMemorySize):
19747        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
19748        Initialize soup cache.
19749        (WebKit::NetworkProcess::platformSetCacheModel):
19750        Copied code from WebProcess::platformSetCacheModel but removed
19751        WebCore memory cache initialization because NetworkProcess does not use
19752        the WebCore memory cache.
19753        (WebKit::NetworkProcess::clearCacheForAllOrigins):
19754        Copied code from WebProcess::clearCacheForAllOrigins.
19755        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
19756        Copied initialization code from WebProcessMainGtk.cpp.
19757        (WebKit::NetworkProcessMain):
19758        * WebProcess/soup/WebProcessSoup.cpp:
19759        (WebKit::WebProcess::platformSetCacheModel):
19760        Don't set the disk cache if NetworkProcess is used.
19761        (WebKit::WebProcess::platformClearResourceCaches):
19762        Don't clear the non-existing disk cache. (if NetworkProcess is used)
19763        (WebKit::WebProcess::platformInitializeWebProcess):
19764        Don't initialize the disk cache if NetworkProcess is used.
19765
197662013-12-09  Gustavo Noronha Silva  <gns@gnome.org>
19767
19768        [GTK] run-webkit-tests may DOS the system, specially in debug builds
19769        https://bugs.webkit.org/show_bug.cgi?id=125436
19770
19771        Reviewed by Martin Robinson.
19772
19773        * GNUmakefile.am: use -no-fast-install for WebKitWebProcess and WebKitPluginProcess so
19774        they do not need to be relinked the first time they are executed in-tree.
19775
197762013-12-09  Zan Dobersek  <zdobersek@igalia.com>
19777
19778        [GTK][WK2] Move WebFullScreenManagerProxyGtk logic to PageClientImpl
19779        https://bugs.webkit.org/show_bug.cgi?id=125440
19780
19781        Reviewed by Martin Robinson.
19782
19783        Make PageClientImpl a WebFullScreenManagerProxyClient. This brings the GTK port in line
19784        with changes in r160296 and fixes the WK2 build for that port.
19785
19786        * GNUmakefile.list.am:
19787        * UIProcess/API/gtk/PageClientImpl.cpp:
19788        (WebKit::PageClientImpl::fullScreenManagerProxyClient):
19789        (WebKit::PageClientImpl::closeFullScreenManager):
19790        (WebKit::PageClientImpl::isFullScreen):
19791        (WebKit::PageClientImpl::enterFullScreen):
19792        (WebKit::PageClientImpl::exitFullScreen):
19793        (WebKit::PageClientImpl::beganEnterFullScreen):
19794        (WebKit::PageClientImpl::beganExitFullScreen):
19795        * UIProcess/API/gtk/PageClientImpl.h:
19796        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
19797        (webkitWebViewBaseCreateWebPage):
19798        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
19799
198002013-12-09  Brian Holt  <brian.holt@samsung.com>
19801
19802        [WK2][Gtk] Add support for ENABLE_NETWORK_PROCESS to the build system
19803        https://bugs.webkit.org/show_bug.cgi?id=118231
19804
19805        Reviewed by Martin Robinson.
19806
19807        Original patch by Kwang Yul Seo  <skyul@company100.net>.
19808
19809        Add source files to the build system and build NetworkProcess executable.
19810
19811        * GNUmakefile.am:
19812        * GNUmakefile.list.am:
19813        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
19814        * UIProcess/gtk/WebContextGtk.cpp:
19815        (WebKit::WebContext::platformInitializeWebProcess):
19816
198172013-12-08  Ryuan Choi  <ryuan.choi@samsung.com>
19818
19819        [EFL][WK2] Move FullScreenManager logic to WebViewEfl
19820        https://bugs.webkit.org/show_bug.cgi?id=125438
19821
19822        Reviewed by Gyuyoung Kim.
19823
19824        This patch fixed build break on EFL port Since r160296.
19825
19826        * PlatformEfl.cmake: Removed WebFullScreenManagerProxyEfl.cpp.
19827        * UIProcess/WebFullScreenManagerProxy.cpp: Removed EFL specific code.
19828        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
19829        * UIProcess/WebFullScreenManagerProxy.h: Ditto.
19830        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Removed file and moved logic to WebViewEfl.
19831        * UIProcess/efl/WebViewEfl.cpp:
19832        (WebKit::WebViewEfl::WebViewEfl):
19833        (WebKit::WebViewEfl::setEwkView): Removed call to setWebView().
19834        (WebKit::WebViewEfl::fullScreenManagerProxyClient):
19835        (WebKit::WebViewEfl::isFullScreen):
19836        (WebKit::WebViewEfl::enterFullScreen):
19837        (WebKit::WebViewEfl::exitFullScreen):
19838        * UIProcess/efl/WebViewEfl.h:
19839
198402013-12-08  Sam Weinig  <sam@webkit.org>
19841
19842        Remove WebContext::sharedProcessContext()
19843        https://bugs.webkit.org/show_bug.cgi?id=125437
19844
19845        Reviewed by Dan Bernstein.
19846
19847        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
19848        * UIProcess/WebContext.cpp:
19849        * UIProcess/WebContext.h:
19850
198512013-12-08  Sam Weinig  <sam@webkit.org>
19852
19853        Fix the iOS build.
19854
19855        * UIProcess/API/ios/PageClientImplIOS.h:
19856        * UIProcess/API/ios/PageClientImplIOS.mm:
19857        * UIProcess/ios/WebFullScreenManagerProxyIOS.mm: Removed.
19858
198592013-12-08  Sam Weinig  <sam@webkit.org>
19860
19861        [Cocoa] Remove knowledge of the WKView from the WebFullScreenManagerProxy by adding a proper client
19862        https://bugs.webkit.org/show_bug.cgi?id=125427
19863
19864        Reviewed by Dan Bernstein.
19865
19866        * UIProcess/API/mac/PageClientImpl.h:
19867        * UIProcess/API/mac/PageClientImpl.mm:
19868        (WebKit::PageClientImpl::fullScreenManagerProxyClient):
19869        (WebKit::PageClientImpl::closeFullScreenManager):
19870        (WebKit::PageClientImpl::isFullScreen):
19871        (WebKit::PageClientImpl::enterFullScreen):
19872        (WebKit::PageClientImpl::exitFullScreen):
19873        (WebKit::PageClientImpl::beganEnterFullScreen):
19874        (WebKit::PageClientImpl::beganExitFullScreen):
19875        Implement the new client.
19876
19877        * UIProcess/API/mac/WKView.mm:
19878        Remove call to setWebView() and do some cleanup.
19879
19880        * UIProcess/API/mac/WKViewInternal.h:
19881        Convert to property syntax and re-arrange.
19882
19883        * UIProcess/PageClient.h:
19884        Expose access to the new client.
19885
19886        * UIProcess/WebFullScreenManagerProxy.cpp:
19887        (WebKit::WebFullScreenManagerProxy::create):
19888        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
19889        (WebKit::WebFullScreenManagerProxy::invalidate):
19890        (WebKit::WebFullScreenManagerProxy::close):
19891        (WebKit::WebFullScreenManagerProxy::isFullScreen):
19892        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
19893        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
19894        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
19895        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
19896        * UIProcess/WebFullScreenManagerProxy.h:
19897        Use the new client.
19898
19899        * UIProcess/WebPageProxy.cpp:
19900        Pass the new client.
19901
19902        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
19903        Removed. Now goes through the client.
19904
19905        * WebKit2.xcodeproj/project.pbxproj:
19906        Remove WebFullScreenManagerProxyMac.mm.
19907
199082013-12-07  Sam Weinig  <sam@webkit.org>
19909
19910        [Cocoa] Remove webProcessPlugInInitialize: from the WKWebProcessPlugIn protocol
19911        https://bugs.webkit.org/show_bug.cgi?id=125405
19912
19913        Reviewed by Dan Bernstein.
19914
19915        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
19916        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
19917        (WebKit::InjectedBundle::load):
19918
199192013-12-08  Brian Holt  <brian.holt@samsung.com>
19920
19921        [WK2] Guard include of SecItemShim.h with ENABLE(SEC_ITEM_SHIM)
19922        https://bugs.webkit.org/show_bug.cgi?id=125415
19923
19924        Reviewed by Gustavo Noronha Silva.
19925
19926        * NetworkProcess/NetworkProcess.cpp:
19927        * UIProcess/Network/NetworkProcessProxy.cpp:
19928
199292013-12-07  Sam Weinig  <sam@webkit.org>
19930
19931        [Cocoa] Make WKWebProcessPlugInController work with WKObject wrapping
19932        https://bugs.webkit.org/show_bug.cgi?id=125404
19933
19934        Reviewed by Dan Bernstein.
19935
19936        * Shared/Cocoa/APIObject.mm:
19937        (API::Object::newObject):
19938        * Shared/mac/ObjCObjectGraphCoders.mm:
19939        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
19940        (-[WKWebProcessPlugInController dealloc]):
19941        (didCreatePage):
19942        (willDestroyPage):
19943        (-[WKWebProcessPlugInController _setPrincipalClassInstance:]):
19944        (-[WKWebProcessPlugInController API::]):
19945        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
19946        (WebKit::wrapper):
19947        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
19948        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
19949        (WebKit::InjectedBundle::load):
19950
199512013-12-07  Dan Bernstein  <mitz@apple.com>
19952
19953        [Cocoa] WebData has a generic wrapper
19954        https://bugs.webkit.org/show_bug.cgi?id=125402
19955
19956        Reviewed by Sam Weinig.
19957
19958        Added WKNSData, an NSData subclass that conforms to WKObject and wraps a WebData.
19959
19960        * Shared/Cocoa/APIObject.mm:
19961        (API::Object::newObject): Allocate a WKNSData if the API::Object is data.
19962        * Shared/Cocoa/WKNSData.h: Added.
19963        (WebKit::wrapper): Added. Returns a WebData’s wrapper as an NSData.
19964        * Shared/Cocoa/WKNSData.mm: Added.
19965        (-[WKNSData dealloc]): Calls the WebData destructor.
19966        (-[WKNSData length]): Added.
19967        (-[WKNSData bytes]): Added.
19968        (-[WKNSData copyWithZone:]): Retains self.
19969        (-[WKNSData _apiObject]): Returns the wrapped WebData.
19970        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
19971
199722013-12-07  Sam Weinig  <sam@webkit.org>
19973
19974        [Cocoa] Make WKWebProcessPlugInBrowserContextController work with WKObject wrapping
19975        https://bugs.webkit.org/show_bug.cgi?id=125403
19976
19977        Reviewed by Dan Bernstein.
19978
19979        * Shared/Cocoa/APIObject.mm:
19980        (API::Object::newObject):
19981        * Shared/mac/ObjCObjectGraphCoders.mm:
19982        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
19983        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
19984        (didCreatePage):
19985        (willDestroyPage):
19986        (setUpBundleClient):
19987        (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundle:]):
19988        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
19989        (-[WKWebProcessPlugInBrowserContextController dealloc]):
19990        (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
19991        (-[WKWebProcessPlugInBrowserContextController selectedRange]):
19992        (-[WKWebProcessPlugInBrowserContextController API::]):
19993        (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
19994        (-[WKWebProcessPlugInBrowserContextController handle]):
19995        (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):
19996        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
19997        (WebKit::wrapper):
19998        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
19999        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
20000        (WebKit::InjectedBundle::load):
20001
200022013-12-07  Gustavo Noronha Silva  <gns@gnome.org>
20003
20004        Fix API test expectation following 160220.
20005
20006        Rubber-stamped by Martin Robinson.
20007
20008        * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
20009        (testAtspiBasicHierarchy): check for ATK_ROLE_DOCUMENT_WEB instead of ATK_ROLE_DOCUMENT_FRAME.
20010
200112013-12-06  Enrica Casucci  <enrica@apple.com>
20012
20013        Make insertText message asynchronous for iOS.
20014
20015        Reviewed by Benjamin Poulain.
20016
20017        * UIProcess/ios/WebPageProxyIOS.mm:
20018        (WebKit::WebPageProxy::insertText):
20019        * WebProcess/WebPage/WebPage.h:
20020        * WebProcess/WebPage/WebPage.messages.in:
20021        * WebProcess/WebPage/ios/WebPageIOS.mm:
20022        (WebKit::WebPage::insertText):
20023
200242013-12-05  Jer Noble  <jer.noble@apple.com>
20025
20026        [MSE] Add a runtime-setting for the MediaSource constructor.
20027        https://bugs.webkit.org/show_bug.cgi?id=125336
20028
20029        Reviewed by Eric Carlson.
20030
20031        Add a private WKPreferences API to control the WebCore mediaSourceEnabled setting.
20032
20033        * Shared/WebPreferencesStore.h:
20034        * UIProcess/API/C/WKPreferences.cpp:
20035        (WKPreferencesSetMediaSourceEnabled):
20036        (WKPreferencesGetMediaSourceEnabled):
20037        * UIProcess/API/C/WKPreferencesPrivate.h:
20038        * WebProcess/WebPage/WebPage.cpp:
20039        (WebKit::WebPage::updatePreferences):
20040
200412013-12-06  Dan Bernstein  <mitz@apple.com>
20042
20043        <rdar://problem/15606872> REGRESSION (r160148): Mail throws an exception during launch
20044        https://bugs.webkit.org/show_bug.cgi?id=125362
20045
20046        Reviewed by Sam Weinig.
20047
20048        There were two problems in how WKConnection was made to work with WKObject: first,
20049        API::Object::newObject() was not updated to allocate the correct wrapper class, and second,
20050        WebConnection has subclasses with additional data members, which don’t fit in the object
20051        storage ivar.
20052
20053        * Shared/Cocoa/APIObject.mm:
20054        (API::Object::newObject): Changed to allocate a WKConnection of the required size.
20055        * UIProcess/API/Cocoa/WKConnection.mm:
20056        Removed _connection ivar.
20057        (-[WKConnection dealloc]): Changed to use -_connection accessor instead of ivar.
20058        (-[WKConnection setDelegate:]): Ditto.
20059        (-[WKConnection sendMessageWithName:body:]): Ditto.
20060        (-[WKConnection remoteObjectRegistry]): Ditto.
20061        (-[WKConnection _connection]): Added.
20062        (-[WKConnection _apiObject]): Changed to return the object in the instance extra storage.
20063
200642013-12-06  Dan Bernstein  <mitz@apple.com>
20065
20066        [Cocoa] Add load delegate methods for responding to authentication challenges
20067        https://bugs.webkit.org/show_bug.cgi?id=125333
20068
20069        Reviewed by Darin Adler.
20070
20071        * Shared/Cocoa/APIObject.mm:
20072        (API::Object::newObject): Allocate a WKNSURLAuthenticationChallenge if the object is an
20073        AuthenticationChallengeProxy.
20074
20075        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
20076        (canAuthenticateAgainstProtectionSpaceInFrame): Implemented this WKPageLoaderClient callback
20077        by calling the load delegate.
20078        (didReceiveAuthenticationChallengeInFrame): Ditto.
20079        (setUpPageLoaderClient): Set the above callbacks in the client structure.
20080
20081        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Added. Declares two new
20082        delegate methods.
20083
20084        * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.h: Added.
20085        (WebKit::wrapper): Added. Returns an AuthenticationChallengeProxy’s wrapper as an
20086        NSURLAuthenticationChallenge.
20087        * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm: Added.
20088        (-[WKNSURLAuthenticationChallenge _web_createTarget]): Override this WKObject method to
20089        return a copy of the challenge with the sender set to a shared instance of
20090        WKNSURLAuthenticationChallengeSender.
20091        (-[WKNSURLAuthenticationChallenge _web_authenticationChallengeProxy]): Added. Returns the
20092        wrapped object.
20093        (-[WKNSURLAuthenticationChallengeSender cancelAuthenticationChallenge:]): Added. Calls
20094        AuthenticationDecisionListener::cancel.
20095        (-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]):
20096        Added. Calls AuthenticationDecisionListener::useCredential, passing nullptr.
20097        (-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]): Added.
20098        Calls AuthenticationDecisionListener::useCredential, passing the credential.
20099
20100        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
20101
201022013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
20103
20104        Introduce IMAGE_TYPE_CASTS, and use it
20105        https://bugs.webkit.org/show_bug.cgi?id=125330
20106
20107        Reviewed by Ryosuke Niwa.
20108
20109        As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
20110        BitmapImage, SVGImage can use it to generate toFoo() type case helper functions.
20111
20112        * WebProcess/Plugins/PluginView.cpp:
20113        (WebKit::PluginView::pluginSnapshotTimerFired):
20114
201152013-12-05  Mark Lam  <mark.lam@apple.com>
20116
20117        C Loop LLINT layout test regressions.
20118        https://bugs.webkit.org/show_bug.cgi?id=125314.
20119
20120        Reviewed by Geoffrey Garen.
20121
20122        The regression was due to the ENABLE_LLINT_C_LOOP flag not being included
20123        in the build of the WebKit and WebKit2 components. As a result, some fields
20124        in JSC::VM were ifdef'ed out in WebCore and JSC, but not in WebKit and
20125        WebKit2. This resulted in VM::m_initializingObjectClass having 2 different
20126        offsets depending on whether it is accessed from WebCore and JSC or from
20127        WebKit and WebKit2, and chaos ensued.
20128
20129        This issue will manifest when we pass --cloop to build-webkit.
20130        The fix is simply to add ENABLE_LLINT_C_LOOP to FEATURE_DEFINES for WebKit
20131        and WebKit2.
20132
20133        * Configurations/FeatureDefines.xcconfig:
20134
201352013-12-04  Oliver Hunt  <oliver@apple.com>
20136
20137        Refactor static getter function prototype to include thisValue in addition to the base object
20138        https://bugs.webkit.org/show_bug.cgi?id=124461
20139
20140        Reviewed by Geoffrey Garen.
20141
20142        Update the WK2 JSC usage to the new static getter API
20143
20144        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
20145        (WebKit::callMethod):
20146        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
20147        (WebKit::callNPJSObject):
20148        (WebKit::constructWithConstructor):
20149        (WebKit::JSNPObject::propertyGetter):
20150        (WebKit::JSNPObject::methodGetter):
20151        * WebProcess/Plugins/Netscape/JSNPObject.h:
20152        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
20153        (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
20154        (WebKit::NPRuntimeObjectMap::finalize):
20155        * WebProcess/WebPage/WebFrame.cpp:
20156        (WebKit::WebFrame::frameForContext):
20157        (WebKit::WebFrame::counterValue):
20158
201592013-12-05  Commit Queue  <commit-queue@webkit.org>
20160
20161        Unreviewed, rolling out r160133.
20162        http://trac.webkit.org/changeset/160133
20163        https://bugs.webkit.org/show_bug.cgi?id=125325
20164
20165        broke bindings tests on all the bots (Requested by thorton on
20166        #webkit).
20167
20168        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
20169        (WebKit::callMethod):
20170        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
20171        (WebKit::callNPJSObject):
20172        (WebKit::constructWithConstructor):
20173        (WebKit::JSNPObject::propertyGetter):
20174        (WebKit::JSNPObject::methodGetter):
20175        * WebProcess/Plugins/Netscape/JSNPObject.h:
20176        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
20177        (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
20178        (WebKit::NPRuntimeObjectMap::finalize):
20179        * WebProcess/WebPage/WebFrame.cpp:
20180        (WebKit::WebFrame::counterValue):
20181
201822013-12-05  Chris Fleizach  <cfleizach@apple.com>
20183
20184        AX: Seed: safari extension installation crashes safari under voice over and freezes voice over
20185        https://bugs.webkit.org/show_bug.cgi?id=125308
20186
20187        Reviewed by Anders Carlsson.
20188
20189        Much like Javascript alerts, we need to allow accessibility clients to continue to interact with the WebProcess thread
20190        when using dispatchDecidePolicyResponses.
20191
20192        * Platform/CoreIPC/MessageSender.h:
20193        (CoreIPC::MessageSender::sendSync):
20194        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
20195        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
20196
201972013-12-05  Anders Carlsson  <andersca@apple.com>
20198
20199        "Use Selection for Find" doesn't work in PDF viewed in Safari
20200        https://bugs.webkit.org/show_bug.cgi?id=125319
20201        <rdar://problem/15486983>
20202
20203        Reviewed by Tim Horton.
20204
20205        * WebProcess/Plugins/PDF/PDFPlugin.h:
20206        * WebProcess/Plugins/PDF/PDFPlugin.mm:
20207        (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]):
20208        Pass NSGeneralPboard to writeItemsToPasteboard.
20209
20210        (WebKit::PDFPlugin::handleEditingCommand):
20211        Handle takeFindStringFromSelection by getting the current selection string and writing it to the find pasteboard.
20212
20213        (WebKit::PDFPlugin::isEditingCommandEnabled):
20214        Handle takeFindStringFromSelection.
20215
20216        (WebKit::PDFPlugin::writeItemsToPasteboard):
20217        Update this to take a pasteboard name.
20218
202192013-12-05  Anders Carlsson  <andersca@apple.com>
20220
20221        WebKit2 API should use weak ownership for delegate properties rather than assign
20222        https://bugs.webkit.org/show_bug.cgi?id=125316
20223        <rdar://problem/15560614>
20224
20225        Reviewed by Dan Bernstein.
20226
20227        Use WeakObjCPtr for the delegates.
20228
20229        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
20230        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
20231        (didStartProvisionalLoadForFrame):
20232        (didReceiveServerRedirectForProvisionalLoadForFrame):
20233        (didFailProvisionalLoadWithErrorForFrame):
20234        (didCommitLoadForFrame):
20235        (didFinishLoadForFrame):
20236        (didFailLoadWithErrorForFrame):
20237        (didStartProgress):
20238        (didChangeProgress):
20239        (didFinishProgress):
20240        (didChangeBackForwardList):
20241        (setUpPagePolicyClient):
20242        (-[WKBrowsingContextController loadDelegate]):
20243        (-[WKBrowsingContextController setLoadDelegate:]):
20244        (-[WKBrowsingContextController policyDelegate]):
20245        (-[WKBrowsingContextController setPolicyDelegate:]):
20246        (-[WKBrowsingContextController historyDelegate]):
20247        (-[WKBrowsingContextController setHistoryDelegate:]):
20248        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
20249        * UIProcess/API/Cocoa/WKConnection.mm:
20250        (didReceiveMessage):
20251        (didClose):
20252        (-[WKConnection delegate]):
20253        (-[WKConnection setDelegate:]):
20254        * UIProcess/API/Cocoa/WKProcessGroup.mm:
20255        (didCreateConnection):
20256        (getInjectedBundleInitializationUserData):
20257        (didNavigateWithNavigationData):
20258        (didPerformClientRedirect):
20259        (didPerformServerRedirect):
20260        (didUpdateHistoryTitle):
20261        (-[WKProcessGroup delegate]):
20262        (-[WKProcessGroup setDelegate:]):
20263
202642013-12-05  Anders Carlsson  <andersca@apple.com>
20265
20266        Tweak WeakObjCPtr
20267        https://bugs.webkit.org/show_bug.cgi?id=125311
20268
20269        Reviewed by Darin Adler.
20270
20271        Make it possible to use WeakObjCPtr with pointer types such as id. Also,
20272        add a getAutoreleased() member that will load the weak pointer and retain + autorelease it.
20273
20274        * Shared/mac/WeakObjCPtr.h:
20275        (WebKit::WeakObjCPtr::WeakObjCPtr):
20276        (WebKit::WeakObjCPtr::operator=):
20277        (WebKit::WeakObjCPtr::get):
20278        (WebKit::WeakObjCPtr::getAutoreleased):
20279
202802013-12-05  Zan Dobersek  <zdobersek@igalia.com>
20281
20282        [GTK][WK2] Clean up WorkQueueGtk
20283        https://bugs.webkit.org/show_bug.cgi?id=125177
20284
20285        Reviewed by Carlos Garcia Campos.
20286
20287        Clean up the GTK implementation of the WorkQueue class a bit.
20288        - registerSocketEventHandler doesn't take a condition argument anymore -- G_IO_IN was the only condition ever passed into
20289        that method so that is now the hard-coded default.
20290        - Clean up the declarations of GTK-specific bits in the WorkQueue header file. SocketEventSourceIterator typedef is removed
20291        and auto will be used instead.
20292        - WorkQueue::dispatchOnTermination and WorkQueue::SocketEventSource::performWorkOnTermination methods were unused and now removed.
20293        - WorkQueue::SocketEventSource doesn't expect a GIO condition anymore, and WorkQueue::SocketEventSource::checkCondition is removed.
20294        G_IO_IN condition was the only one used is now hard-coded into the check in WorkQueue::SocketEventSource::eventCallback.
20295        - Removed an unnecessary non-null assertion for the heap-allocated SocketEventSource.
20296        - Removed a technically duplicated assertion that a file descriptor is already present in the event sources map. Moved the
20297        assertion before the HashMap::find() call.
20298        - Removed two unnecessary assertions that non-null values are being returned by g_idle_source_new() and g_timeout_source_new().
20299        Both functions are guaranteed to return non-null values.
20300
20301        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
20302        (CoreIPC::Connection::open):
20303        * Platform/WorkQueue.h:
20304        * Platform/gtk/WorkQueueGtk.cpp:
20305        (WorkQueue::SocketEventSource::SocketEventSource):
20306        (WorkQueue::SocketEventSource::eventCallback):
20307        (WorkQueue::registerSocketEventHandler):
20308        (WorkQueue::unregisterSocketEventHandler):
20309        (WorkQueue::dispatch):
20310        (WorkQueue::dispatchAfterDelay):
20311
203122013-12-04  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
20313
20314        Report error when #else is used in message receiver generator's input.
20315        https://bugs.webkit.org/show_bug.cgi?id=124147
20316
20317        Reviewed by Csaba Osztrogonác.
20318
20319        * Scripts/webkit2/messages_unittest.py:
20320        (UnsupportedPrecompilerDirectiveTest):
20321        (UnsupportedPrecompilerDirectiveTest.test_error_at_else):
20322        (UnsupportedPrecompilerDirectiveTest.test_error_at_elif):
20323        * Scripts/webkit2/parser.py:
20324        (parse):
20325
203262013-12-04  Sam Weinig  <sam@webkit.org>
20327
20328        [Cocoa] Make WKConnection work with WKObject wrapping
20329        https://bugs.webkit.org/show_bug.cgi?id=125266
20330
20331        Reviewed by Dan Bernstein.
20332
20333        * UIProcess/API/Cocoa/WKConnection.mm:
20334        (-[WKConnection dealloc]):
20335        (didReceiveMessage):
20336        (didClose):
20337        (setUpClient):
20338        (-[WKConnection delegate]):
20339        (-[WKConnection setDelegate:]):
20340        (-[WKConnection sendMessageWithName:body:]):
20341        (-[WKConnection remoteObjectRegistry]):
20342        (-[WKConnection API::]):
20343        * UIProcess/API/Cocoa/WKConnectionInternal.h:
20344        (WebKit::wrapper):
20345        * UIProcess/API/Cocoa/WKProcessGroup.mm:
20346        (didCreateConnection):
20347        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
20348        (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
20349        (-[WKWebProcessPlugInController connection]):
20350        (-[WKWebProcessPlugInController _bundleRef]):
20351
203522013-12-04  Anders Carlsson  <andersca@apple.com>
20353
20354        Add a WeakObjCPtr class
20355        https://bugs.webkit.org/show_bug.cgi?id=125267
20356
20357        Reviewed by Geoffrey Garen.
20358
20359        WeakObjCPtr is a zeroing weak reference class template that will be used for delegates.
20360
20361        * Shared/mac/WeakObjCPtr.h: Added.
20362        (WebKit::WeakObjCPtr::WeakObjCPtr):
20363        (WebKit::WeakObjCPtr::~WeakObjCPtr):
20364        (WebKit::WeakObjCPtr::operator=):
20365        (WebKit::WeakObjCPtr::get):
20366        * WebKit2.xcodeproj/project.pbxproj:
20367
203682013-12-04  Ryuan Choi  <ryuan.choi@samsung.com>
20369
20370        Unreviewed EFL build fix after r160135
20371
20372        * CMakeLists.txt: Added rendering/line to include lists.
20373
203742013-12-04  Anders Carlsson  <andersca@apple.com>
20375
20376        Make the estimatedProgress property observable using KVO
20377        https://bugs.webkit.org/show_bug.cgi?id=125259
20378
20379        Reviewed by Dan Bernstein.
20380
20381        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
20382        * UIProcess/PageLoadState.cpp:
20383        (WebKit::PageLoadState::PageLoadState):
20384        (WebKit::PageLoadState::reset):
20385        (WebKit::PageLoadState::activeURL):
20386        (WebKit::PageLoadState::estimatedProgress):
20387        (WebKit::PageLoadState::setPendingAPIRequestURL):
20388        (WebKit::PageLoadState::clearPendingAPIRequestURL):
20389        (WebKit::PageLoadState::didStartProgress):
20390        (WebKit::PageLoadState::didChangeProgress):
20391        (WebKit::PageLoadState::didFinishProgress):
20392        * UIProcess/PageLoadState.h:
20393        Move m_estimatedProgress to the page load state and call the observers when it changes.
20394
20395        * UIProcess/WebPageProxy.cpp:
20396        (WebKit::WebPageProxy::WebPageProxy):
20397        (WebKit::WebPageProxy::estimatedProgress):
20398        (WebKit::WebPageProxy::didStartProgress):
20399        (WebKit::WebPageProxy::didChangeProgress):
20400        (WebKit::WebPageProxy::didFinishProgress):
20401        (WebKit::WebPageProxy::resetState):
20402        Call through to m_pageLoadState.
20403
20404        * UIProcess/WebPageProxy.h:
20405
204062013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>
20407
20408        [WK2] Including SecItemShim.h should be guarded by ENABLE(SEC_ITEM_SHIM)
20409        https://bugs.webkit.org/show_bug.cgi?id=125255
20410
20411        Reviewed by Anders Carlsson.
20412
20413        * UIProcess/WebProcessProxy.cpp:
20414        * WebProcess/WebProcess.cpp:
20415
204162013-12-04  Oliver Hunt  <oliver@apple.com>
20417
20418        Refactor static getter function prototype to include thisValue in addition to the base object
20419        https://bugs.webkit.org/show_bug.cgi?id=124461
20420
20421        Reviewed by Geoffrey Garen.
20422
20423        Update the WK2 JSC usage to the new static getter API
20424
20425        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
20426        (WebKit::callMethod):
20427        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
20428        (WebKit::callNPJSObject):
20429        (WebKit::constructWithConstructor):
20430        (WebKit::JSNPObject::propertyGetter):
20431        (WebKit::JSNPObject::methodGetter):
20432        * WebProcess/Plugins/Netscape/JSNPObject.h:
20433        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
20434        (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
20435        (WebKit::NPRuntimeObjectMap::finalize):
20436        * WebProcess/WebPage/WebFrame.cpp:
20437        (WebKit::WebFrame::frameForContext):
20438        (WebKit::WebFrame::counterValue):
20439
204402013-12-04  Anders Carlsson  <andersca@apple.com>
20441
20442        Add a loading property to WKBrowsingContextController
20443        https://bugs.webkit.org/show_bug.cgi?id=125256
20444
20445        Reviewed by Dan Bernstein.
20446
20447        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
20448        Add loading property.
20449
20450        * UIProcess/API/Cocoa/WKBrowsingContextConteroller.mm:
20451        Implement willChangeIsLoading and didChangeIsLoading and call the relevant KVO methods.
20452
20453        (-[WKBrowsingContextController isLoading]):
20454        Call through to the PageLoadState.
20455
20456        * UIProcess/PageLoadState.cpp:
20457        (WebKit::PageLoadState::reset):
20458        Use setState.
20459
20460        (WebKit::PageLoadState::isLoading):
20461        Call isLoadingState.
20462
20463        (WebKit::PageLoadState::didStartProvisionalLoad):
20464        Use setState.
20465
20466        (WebKit::PageLoadState::didFailProvisionalLoad):
20467        Use setState.
20468
20469        (WebKit::PageLoadState::didCommitLoad):
20470        Use setState.
20471
20472        (WebKit::PageLoadState::didFinishLoad):
20473        Use setState.
20474
20475        (WebKit::PageLoadState::didFailLoad):
20476        Use setState.
20477
20478        (WebKit::PageLoadState::isLoadingState):
20479        Helper function for determining whether a state is a loading state or not.
20480
20481        (WebKit::PageLoadState::setState):
20482        If setting the state will cause "isLoading" to change, call out to the observers.
20483
20484        * UIProcess/PageLoadState.h:
20485
204862013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>
20487
20488        [EFL][GTK][WK2] Remove unnecessary reinterpret_casts when setting API clients
20489        https://bugs.webkit.org/show_bug.cgi?id=125231
20490
20491        Reviewed by Anders Carlsson.
20492
20493        After r159988, WKClients have to be instantiated with a specific
20494        version of that client and its Base field has to used when setting it.
20495        Eg:
20496
20497            WKFullScreenClientV0 wkClient = {
20498                {
20499                    0, // version
20500                    this, // clientInfo
20501                },
20502                    willEnterFullScreen,
20503                    willExitFullScreen
20504            };
20505            WKViewSetFullScreenClientGtk(this, &wkClient.base);
20506
20507        So we don't need the reinterpret_casts introduced in r160075.
20508
20509        * UIProcess/API/gtk/WebKitFullscreenClient.cpp:
20510        (attachFullScreenClientToView): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base
20511        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
20512        (attachRequestManagerClientToContext): Ditto.
20513        * UIProcess/API/gtk/WebKitTextChecker.cpp:
20514        (WebKitTextChecker::WebKitTextChecker): Ditto.
20515        * UIProcess/API/gtk/WebKitWebInspector.cpp:
20516        (webkitWebInspectorCreate): Ditto.
20517        * UIProcess/efl/BatteryProvider.cpp:
20518        (BatteryProvider::BatteryProvider): Ditto.
20519        * UIProcess/efl/NetworkInfoProvider.cpp:
20520        (NetworkInfoProvider::NetworkInfoProvider): Ditto.
20521        * UIProcess/efl/PageUIClientEfl.cpp:
20522        (WebKit::PageUIClientEfl::PageUIClientEfl): Ditto.
20523        * UIProcess/efl/RequestManagerClientEfl.cpp:
20524        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl): Ditto.
20525        * UIProcess/efl/TextCheckerClientEfl.cpp:
20526        (TextCheckerClientEfl::TextCheckerClientEfl): Ditto.
20527        * UIProcess/efl/VibrationClientEfl.cpp:
20528        (VibrationClientEfl::VibrationClientEfl): Ditto.
20529        * UIProcess/efl/ViewClientEfl.cpp:
20530        (WebKit::ViewClientEfl::ViewClientEfl): Ditto.
20531
205322013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>
20533
20534        [GTK][WK2] Fix build after r160104
20535        https://bugs.webkit.org/show_bug.cgi?id=125240
20536
20537        Reviewed by Anders Carlsson.
20538
20539        Using specific version of API client when instantiating them.
20540        Applied that same change to the following files:
20541
20542        * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
20543        * UIProcess/API/gtk/WebKitCookieManager.cpp:
20544        * UIProcess/API/gtk/WebKitDownloadClient.cpp:
20545        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
20546        * UIProcess/API/gtk/WebKitFindController.cpp:
20547        * UIProcess/API/gtk/WebKitFormClient.cpp:
20548        * UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
20549        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
20550        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
20551        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
20552        * UIProcess/API/gtk/WebKitUIClient.cpp:
20553        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
20554        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
20555
205562013-12-04  Dan Bernstein  <mitz@apple.com>
20557
20558        Fixed the 32-bit Mac build.
20559
20560        * Shared/mac/WebCoreArgumentCodersMac.mm:
20561        (CoreIPC::::encodePlatformData):
20562
205632013-12-04  Dan Bernstein  <mitz@apple.com>
20564
20565        [Mac] When NSError user info is missing NSErrorPeerCertificateChainKey, ArgumentCoder should extract it from NSURLErrorFailingURLPeerTrustErrorKey
20566        https://bugs.webkit.org/show_bug.cgi?id=125251
20567
20568        Reviewed by Anders Carlsson.
20569
20570        * Shared/mac/WebCoreArgumentCodersMac.mm:
20571        (CoreIPC::::encodePlatformData): If the user info doesn’t include
20572        NSURLErrorFailingURLPeerTrustErrorKey, copy the peer certificate chain from the peer trust
20573        under NSURLErrorFailingURLPeerTrustErrorKey. On the decoding side, it will appear under the
20574        NSURLErrorFailingURLPeerTrustErrorKey, because a trust object can’t be fully serialized.
20575
205762013-12-04  Dan Bernstein  <mitz@apple.com>
20577
20578        Replace USE(SECURITY_FRAMEWORK) with finer-grained defines
20579        https://bugs.webkit.org/show_bug.cgi?id=125242
20580
20581        Reviewed by Sam Weinig.
20582
20583        * Configurations/WebKit2.xcconfig: Removed “-framework Security” from the linker flags, now
20584        that it’s included in the target’s Link Binary with Libraries build phase.
20585        * NetworkProcess/NetworkProcess.cpp:
20586        (WebKit::NetworkProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
20587        * NetworkProcess/mac/NetworkProcessMac.mm:
20588        (WebKit::NetworkProcess::platformInitializeNetworkProcess): Ditto.
20589        * Shared/Authentication/AuthenticationManager.cpp: Changed to use HAVE(SEC_IDENTITY).
20590        * Shared/Authentication/mac/AuthenticationManager.mac.mm: Ditto.
20591        * Shared/cf/ArgumentCodersCF.cpp:
20592        (CoreIPC::typeFromCFTypeRef): Removed use of USE(SECURITY_FRAMEWORK) since all CF platforms
20593        use it. Added HAVE(SEC_KEYCHAIN) where needed.
20594        (CoreIPC::encode): Ditto.
20595        (CoreIPC::decode): Ditto.
20596        * Shared/cf/ArgumentCodersCF.h: Ditto.
20597        * Shared/mac/SecItemShim.cpp: Chanegd to use ENABLE(SEC_ITEM_SHIM).
20598        * Shared/mac/SecItemShim.h: Ditto.
20599        * Shared/mac/SecItemShim.messages.in: Ditto.
20600        * UIProcess/Network/NetworkProcessProxy.cpp:
20601        (WebKit::NetworkProcessProxy::connectionWillOpen): Ditto.
20602        * UIProcess/WebProcessProxy.cpp:
20603        (WebKit::WebProcessProxy::connectionWillOpen): Ditto.
20604        * UIProcess/mac/SecItemShimProxy.cpp: Ditto.
20605        * UIProcess/mac/SecItemShimProxy.h: Ditto,
20606        * UIProcess/mac/SecItemShimProxy.messages.in: Ditto.
20607        * WebKit2.xcodeproj/project.pbxproj: Link Security.framework unconditionally.
20608        * WebProcess/WebProcess.cpp:
20609        (WebKit::WebProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
20610        * WebProcess/mac/WebProcessMac.mm:
20611        (WebKit::WebProcess::platformInitializeProcess): Ditto.
20612        * config.h: Defined ENABLE_SEC_ITEM_SHIM.
20613
206142013-12-04  Csaba Osztrogonác  <ossy@webkit.org>
20615
20616        [EFL][WK2] Buildfix after r160104
20617        https://bugs.webkit.org/show_bug.cgi?id=125233
20618
20619        Reviewed by Anders Carlsson.
20620
20621        * UIProcess/API/efl/ewk_cookie_manager.cpp:
20622        (EwkCookieManager::EwkCookieManager):
20623        * UIProcess/API/efl/ewk_favicon_database.cpp:
20624        (EwkFaviconDatabase::EwkFaviconDatabase):
20625        * UIProcess/efl/ContextHistoryClientEfl.cpp:
20626        (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
20627        * UIProcess/efl/ContextMenuClientEfl.cpp:
20628        (ContextMenuClientEfl::ContextMenuClientEfl):
20629        * UIProcess/efl/DownloadManagerEfl.cpp:
20630        (WebKit::DownloadManagerEfl::DownloadManagerEfl):
20631        * UIProcess/efl/FindClientEfl.cpp:
20632        (WebKit::FindClientEfl::FindClientEfl):
20633        * UIProcess/efl/FormClientEfl.cpp:
20634        (WebKit::FormClientEfl::FormClientEfl):
20635        * UIProcess/efl/PageLoadClientEfl.cpp:
20636        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
20637        * UIProcess/efl/PagePolicyClientEfl.cpp:
20638        (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
20639        * UIProcess/efl/PageUIClientEfl.cpp:
20640        (WebKit::PageUIClientEfl::PageUIClientEfl):
20641
206422013-12-03  Anders Carlsson  <andersca@apple.com>
20643
20644        Deprecate all unversioned client structs in favor of having explicit versioned structs
20645        https://bugs.webkit.org/show_bug.cgi?id=125203
20646
20647        Reviewed by Dan Bernstein.
20648
20649        Deprecate all the "current version" enums and unversioned client structs.
20650
20651        * Shared/API/c/WKConnectionRef.cpp:
20652        (WKConnectionSetConnectionClient):
20653        * Shared/API/c/WKConnectionRef.h:
20654        * UIProcess/API/C/WKContext.cpp:
20655        (WKContextSetClient):
20656        (WKContextSetInjectedBundleClient):
20657        (WKContextSetHistoryClient):
20658        (WKContextSetDownloadClient):
20659        (WKContextSetConnectionClient):
20660        * UIProcess/API/C/WKContext.h:
20661        * UIProcess/API/C/WKContextConnectionClient.h:
20662        * UIProcess/API/C/WKContextDownloadClient.h:
20663        * UIProcess/API/C/WKContextHistoryClient.h:
20664        * UIProcess/API/C/WKContextInjectedBundleClient.h:
20665        * UIProcess/API/C/WKCookieManager.cpp:
20666        (WKCookieManagerSetClient):
20667        * UIProcess/API/C/WKCookieManager.h:
20668        * UIProcess/API/C/WKDatabaseManager.cpp:
20669        (WKDatabaseManagerSetClient):
20670        * UIProcess/API/C/WKDatabaseManager.h:
20671        * UIProcess/API/C/WKGeolocationManager.cpp:
20672        (WKGeolocationManagerSetProvider):
20673        * UIProcess/API/C/WKGeolocationManager.h:
20674        * UIProcess/API/C/WKIconDatabase.cpp:
20675        (WKIconDatabaseSetIconDatabaseClient):
20676        * UIProcess/API/C/WKIconDatabase.h:
20677        * UIProcess/API/C/WKOriginDataManager.cpp:
20678        (WKOriginDataManagerSetChangeClient):
20679        * UIProcess/API/C/WKOriginDataManager.h:
20680        * UIProcess/API/C/WKPage.cpp:
20681        (WKPageSetPageContextMenuClient):
20682        (WKPageSetPageFindClient):
20683        (WKPageSetPageFindMatchesClient):
20684        (WKPageSetPageFormClient):
20685        (WKPageSetPageLoaderClient):
20686        (WKPageSetPagePolicyClient):
20687        (WKPageSetPageUIClient):
20688        * UIProcess/API/C/WKPage.h:
20689        * UIProcess/API/C/WKPageContextMenuClient.h:
20690        * UIProcess/API/C/WKPageFindClient.h:
20691        * UIProcess/API/C/WKPageFindMatchesClient.h:
20692        * UIProcess/API/C/WKPageFormClient.h:
20693        * UIProcess/API/C/WKPageLoaderClient.h:
20694        * UIProcess/API/C/WKPagePolicyClient.h:
20695        * UIProcess/API/C/WKPageUIClient.h:
20696        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
20697        (setUpPagePolicyClient):
20698        * UIProcess/API/Cocoa/WKConnection.mm:
20699        (setUpClient):
20700        * UIProcess/API/Cocoa/WKProcessGroup.mm:
20701        (setUpConnectionClient):
20702        (setUpInectedBundleClient):
20703        (setUpHistoryClient):
20704        * UIProcess/WebInspectorProxy.cpp:
20705        (WebKit::WebInspectorProxy::createInspectorPage):
20706        * UIProcess/WebUIClient.cpp:
20707        (WebKit::WebUIClient::createNewPage):
20708        (WebKit::WebUIClient::mouseDidMoveOverElement):
20709        * UIProcess/mac/WebInspectorProxyMac.mm:
20710        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
20711        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
20712        (WKBundleSetClient):
20713        * WebProcess/InjectedBundle/API/c/WKBundle.h:
20714        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
20715        (WKBundlePageSetContextMenuClient):
20716        (WKBundlePageSetEditorClient):
20717        (WKBundlePageSetFormClient):
20718        (WKBundlePageSetPageLoaderClient):
20719        (WKBundlePageSetResourceLoadClient):
20720        (WKBundlePageSetPolicyClient):
20721        (WKBundlePageSetUIClient):
20722        (WKBundlePageSetFullScreenClient):
20723        (WKBundlePageSetDiagnosticLoggingClient):
20724        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
20725        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
20726        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
20727        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
20728        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
20729        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
20730        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
20731        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
20732        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
20733        (WKBundlePageOverlayCreate):
20734        (WKBundlePageOverlaySetAccessibilityClient):
20735        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
20736        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
20737        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
20738        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
20739        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h:
20740        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
20741        (WKBundlePageBannerCreateBannerWithCALayer):
20742        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
20743        (setUpBundleClient):
20744
207452013-12-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
20746
20747        Fix build warnings in DownloadAuthenticationClient.cpp
20748        https://bugs.webkit.org/show_bug.cgi?id=124920
20749
20750        Reviewed by Alexey Proskuryakov.
20751
20752        Fix unused parameter warnings in DownloadAuthenticationClient.cpp
20753
20754        * Shared/Downloads/DownloadAuthenticationClient.cpp:
20755        (WebKit::DownloadAuthenticationClient::receivedCredential):
20756        (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
20757        (WebKit::DownloadAuthenticationClient::receivedCancellation):
20758
207592013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
20760
20761        Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
20762        https://bugs.webkit.org/show_bug.cgi?id=124613
20763
20764        Reviewed by Timothy Hatcher.
20765
20766        * WebProcess/WebCoreSupport/WebInspectorClient.h:
20767        * WebProcess/WebPage/WebInspector.cpp:
20768        Updated includes.
20769
20770        * WebProcess/WebPage/WebPage.cpp:
20771        (WebKit::WebPage::WebPage):
20772        * WebProcess/com.apple.WebProcess.sb.in:
20773        Allow the WebProcess to access the "com.apple.webinspector" named
20774        XPC service to expose its WebCore::Page's to remote debuggers.
20775
207762013-12-04  David Farler  <dfarler@apple.com>
20777
20778        Use All-iOS target when building WK2 on iOS
20779        <rdar://problem/15574494>
20780
20781        Reviewed by David Kilzer.
20782
20783        * Makefile:
20784        Add -target All-iOS to OTHER_OPTIONS if iphoneos or iphonesimulator
20785        is in the SDKROOT make option.
20786
207872013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>
20788
20789        [EFL][WK2] Fix build after API::Client changes
20790        https://bugs.webkit.org/show_bug.cgi?id=125206
20791
20792        Reviewed by Csaba Osztrogonác.
20793
20794        * CMakeLists.txt:
20795        * GNUmakefile.list.am:
20796        * Shared/API/c/WKDeclarationSpecifiers.h:
20797        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
20798        (WKViewSetViewClient):
20799        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
20800        * UIProcess/API/C/WKBatteryManager.cpp:
20801        (WKBatteryManagerSetProvider):
20802        * UIProcess/API/C/WKBatteryManager.h:
20803        * UIProcess/API/C/WKNetworkInfoManager.cpp:
20804        (WKNetworkInfoManagerSetProvider):
20805        * UIProcess/API/C/WKNetworkInfoManager.h:
20806        * UIProcess/API/C/WKTextChecker.cpp:
20807        (WKTextCheckerSetClient):
20808        * UIProcess/API/C/WKTextChecker.h:
20809        * UIProcess/API/C/WKVibration.cpp:
20810        (WKVibrationSetProvider):
20811        * UIProcess/API/C/WKVibration.h:
20812        * UIProcess/API/C/efl/WKPageEfl.cpp:
20813        (WKPageSetUIPopupMenuClient):
20814        * UIProcess/API/C/efl/WKPageEfl.h:
20815        * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:
20816        (WKViewSetFullScreenClientGtk):
20817        * UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
20818        * UIProcess/API/C/gtk/WKInspectorClientGtk.cpp:
20819        (WKInspectorSetInspectorClientGtk):
20820        * UIProcess/API/C/gtk/WKInspectorClientGtk.h:
20821        * UIProcess/API/C/soup/WKSoupRequestManager.cpp:
20822        (WKSoupRequestManagerSetClient):
20823        * UIProcess/API/C/soup/WKSoupRequestManager.h:
20824        * UIProcess/API/gtk/WebKitFullscreenClient.cpp:
20825        (attachFullScreenClientToView):
20826        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
20827        (attachRequestManagerClientToContext):
20828        * UIProcess/API/gtk/WebKitTextChecker.cpp:
20829        (WebKitTextChecker::WebKitTextChecker):
20830        * UIProcess/API/gtk/WebKitWebInspector.cpp:
20831        (webkitWebInspectorCreate):
20832        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
20833        (webkitWebViewBaseInitializeFullScreenClient):
20834        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
20835        * UIProcess/CoordinatedGraphics/WebView.cpp:
20836        (WebKit::WebView::initializeClient):
20837        * UIProcess/CoordinatedGraphics/WebView.h:
20838        * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
20839        (WebKit::WebViewClient::viewNeedsDisplay):
20840        (WebKit::WebViewClient::didChangeContentsSize):
20841        (WebKit::WebViewClient::webProcessCrashed):
20842        (WebKit::WebViewClient::webProcessDidRelaunch):
20843        (WebKit::WebViewClient::didChangeContentsPosition):
20844        (WebKit::WebViewClient::didRenderFrame):
20845        (WebKit::WebViewClient::didCompletePageTransition):
20846        (WebKit::WebViewClient::didChangeViewportAttributes):
20847        (WebKit::WebViewClient::didChangeTooltip):
20848        (WebKit::WebViewClient::didFindZoomableArea):
20849        (WebKit::WebViewClient::doneWithTouchEvent):
20850        * UIProcess/CoordinatedGraphics/WebViewClient.h:
20851        * UIProcess/WebBatteryManagerProxy.cpp:
20852        (WebKit::WebBatteryManagerProxy::initializeProvider):
20853        * UIProcess/WebBatteryManagerProxy.h:
20854        * UIProcess/WebBatteryProvider.cpp:
20855        (WebKit::WebBatteryProvider::startUpdating):
20856        (WebKit::WebBatteryProvider::stopUpdating):
20857        * UIProcess/WebBatteryProvider.h:
20858        * UIProcess/WebInspectorProxy.h:
20859        * UIProcess/WebNetworkInfoManagerProxy.cpp:
20860        (WebKit::WebNetworkInfoManagerProxy::initializeProvider):
20861        * UIProcess/WebNetworkInfoManagerProxy.h:
20862        * UIProcess/WebNetworkInfoProvider.cpp:
20863        (WebKit::WebNetworkInfoProvider::startUpdating):
20864        (WebKit::WebNetworkInfoProvider::stopUpdating):
20865        (WebKit::WebNetworkInfoProvider::bandwidth):
20866        (WebKit::WebNetworkInfoProvider::isMetered):
20867        * UIProcess/WebNetworkInfoProvider.h:
20868        * UIProcess/WebPageProxy.h:
20869        * UIProcess/WebTextChecker.cpp:
20870        (WebKit::WebTextChecker::setClient):
20871        * UIProcess/WebTextChecker.h:
20872        * UIProcess/WebTextCheckerClient.cpp:
20873        (WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed):
20874        (WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled):
20875        (WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled):
20876        (WebKit::WebTextCheckerClient::grammarCheckingEnabled):
20877        (WebKit::WebTextCheckerClient::setGrammarCheckingEnabled):
20878        (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
20879        (WebKit::WebTextCheckerClient::closeSpellDocumentWithTag):
20880        (WebKit::WebTextCheckerClient::checkSpellingOfString):
20881        (WebKit::WebTextCheckerClient::checkGrammarOfString):
20882        (WebKit::WebTextCheckerClient::spellingUIIsShowing):
20883        (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
20884        (WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord):
20885        (WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString):
20886        (WebKit::WebTextCheckerClient::guessesForWord):
20887        (WebKit::WebTextCheckerClient::learnWord):
20888        (WebKit::WebTextCheckerClient::ignoreWord):
20889        * UIProcess/WebTextCheckerClient.h:
20890        * UIProcess/WebVibrationProvider.cpp:
20891        (WebKit::WebVibrationProvider::vibrate):
20892        (WebKit::WebVibrationProvider::cancelVibration):
20893        * UIProcess/WebVibrationProvider.h:
20894        * UIProcess/WebVibrationProxy.cpp:
20895        (WebKit::WebVibrationProxy::initializeProvider):
20896        * UIProcess/WebVibrationProxy.h:
20897        * UIProcess/efl/BatteryProvider.cpp:
20898        (BatteryProvider::BatteryProvider):
20899        * UIProcess/efl/NetworkInfoProvider.cpp:
20900        (NetworkInfoProvider::NetworkInfoProvider):
20901        * UIProcess/efl/PageUIClientEfl.cpp:
20902        (WebKit::PageUIClientEfl::PageUIClientEfl):
20903        * UIProcess/efl/RequestManagerClientEfl.cpp:
20904        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
20905        * UIProcess/efl/TextCheckerClientEfl.cpp:
20906        (TextCheckerClientEfl::TextCheckerClientEfl):
20907        * UIProcess/efl/VibrationClientEfl.cpp:
20908        (VibrationClientEfl::VibrationClientEfl):
20909        * UIProcess/efl/ViewClientEfl.cpp:
20910        (WebKit::ViewClientEfl::ViewClientEfl):
20911        * UIProcess/efl/WebPageProxyEfl.cpp:
20912        (WebKit::WebPageProxy::initializeUIPopupMenuClient):
20913        * UIProcess/efl/WebUIPopupMenuClient.cpp:
20914        (WebUIPopupMenuClient::showPopupMenu):
20915        (WebUIPopupMenuClient::hidePopupMenu):
20916        * UIProcess/efl/WebUIPopupMenuClient.h:
20917        * UIProcess/gtk/WebFullScreenClientGtk.cpp:
20918        (WebKit::WebFullScreenClientGtk::willEnterFullScreen):
20919        (WebKit::WebFullScreenClientGtk::willExitFullScreen):
20920        * UIProcess/gtk/WebFullScreenClientGtk.h:
20921        * UIProcess/gtk/WebInspectorClientGtk.cpp:
20922        (WebKit::WebInspectorClientGtk::openWindow):
20923        (WebKit::WebInspectorClientGtk::didClose):
20924        (WebKit::WebInspectorClientGtk::bringToFront):
20925        (WebKit::WebInspectorClientGtk::inspectedURLChanged):
20926        (WebKit::WebInspectorClientGtk::attach):
20927        (WebKit::WebInspectorClientGtk::detach):
20928        (WebKit::WebInspectorClientGtk::didChangeAttachedHeight):
20929        * UIProcess/gtk/WebInspectorClientGtk.h:
20930        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
20931        (WebKit::WebInspectorProxy::initializeInspectorClientGtk):
20932        * UIProcess/soup/WebSoupRequestManagerClient.cpp:
20933        (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
20934        (WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest):
20935        * UIProcess/soup/WebSoupRequestManagerClient.h:
20936        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
20937        (WebKit::WebSoupRequestManagerProxy::initializeClient):
20938        * UIProcess/soup/WebSoupRequestManagerProxy.h:
20939
209402013-12-03  Simon Fraser  <simon.fraser@apple.com>
20941
20942        WKContentView should just use InitializeWebKit2()
20943        https://bugs.webkit.org/show_bug.cgi?id=125209
20944
20945        Reviewed by Benjamin Poulain.
20946        
20947        Rather than calling an motley selection of init fuctions,
20948        WKContentView should use the one true init function, InitializeWebKit2().
20949
20950        * Shared/WebKit2Initialize.cpp: On iOS, we need to call InitWebCoreThreadSystemInterface().
20951        (WebKit::InitializeWebKit2):
20952        * UIProcess/API/ios/WKContentView.mm: Remove various unused #imports.
20953        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
20954
209552013-12-03  Anders Carlsson  <andersca@apple.com>
20956
20957        PageOverlayClientImpl should be a proper API::Client
20958        https://bugs.webkit.org/show_bug.cgi?id=125199
20959
20960        Reviewed by Tim Horton.
20961
20962        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
20963        (PageOverlayClientImpl::PageOverlayClientImpl):
20964        (PageOverlayClientImpl::setAccessibilityClient):
20965        (PageOverlayClientImpl::willMoveToWebPage):
20966        (PageOverlayClientImpl::didMoveToWebPage):
20967        (PageOverlayClientImpl::drawRect):
20968        (PageOverlayClientImpl::mouseEvent):
20969        (PageOverlayClientImpl::copyAccessibilityAttributeValue):
20970        (PageOverlayClientImpl::copyAccessibilityAttributeNames):
20971        (WKBundlePageOverlayCreate):
20972        (WKBundlePageOverlaySetAccessibilityClient):
20973
209742013-12-03  Anders Carlsson  <andersca@apple.com>
20975
20976        Initialize the PageBannerClientImpl API::Client
20977        https://bugs.webkit.org/show_bug.cgi?id=125198
20978
20979        Reviewed by Tim Horton.
20980
20981        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
20982        (PageBannerClientImpl::PageBannerClientImpl):
20983
209842013-12-03  Tim Horton  <timothy_horton@apple.com>
20985
20986        Remote Layer Tree: Force repaint
20987        https://bugs.webkit.org/show_bug.cgi?id=125189
20988        <rdar://problem/15541789>
20989
20990        Reviewed by Anders Carlsson.
20991
20992        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
20993        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
20994        (WebKit::RemoteLayerTreeContext::forceRepaint):
20995        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
20996        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
20997        (WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
20998        Implement WebProcess-synchronous force repaint.
20999        We don't need the async variant because it is only needed
21000        to synchronize with the WebProcess-side threaded scrolling
21001        tree, which is not a component of the remote layer tree model.
21002        The UI process will not handle the callback until after
21003        RemoteLayerTreeHost::commit is complete, ensuring that the commit
21004        is actually done.
21005
210062013-12-03  Simon Fraser  <simon.fraser@apple.com>
21007
21008        Remove some iOS-related documentScale code
21009        https://bugs.webkit.org/show_bug.cgi?id=125194
21010
21011        Reviewed by Enrica Casucci.
21012        
21013        Upstream bits of removal of Frame::documentScale on iOS.
21014
21015        * WebProcess/WebPage/WebPage.cpp:
21016        (WebKit::WebPage::updatePreferences): Whitespace.
21017        * WebProcess/WebPage/ios/WebPageIOS.mm:
21018        (WebKit::WebPage::didFinishZooming): Don't call setDocumentScale().
21019        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Remove minimumDocumentScale().
21020        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: Ditto.
21021        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): We delegate page scaling on iOS.
21022        (WebKit::RemoteLayerTreeDrawingArea::setDeviceScaleFactor):
21023
210242013-12-03  Anders Carlsson  <andersca@apple.com>
21025
21026        PageBannerClientImpl should be an API::Client
21027        https://bugs.webkit.org/show_bug.cgi?id=125190
21028
21029        Reviewed by Tim Horton.
21030
21031        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
21032        (PageBannerClientImpl::PageBannerClientImpl):
21033        (PageBannerClientImpl::~PageBannerClientImpl):
21034        (WKBundlePageBannerCreateBannerWithCALayer):
21035
210362013-12-03  Dan Bernstein  <mitz@apple.com>
21037
21038        [Cocoa] Give two load delegate methods more conventional names
21039        https://bugs.webkit.org/show_bug.cgi?id=125183
21040
21041        Reviewed by Anders Carlsson.
21042
21043        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
21044        (didFailProvisionalLoadWithErrorForFrame): Updated for rename.
21045        (didFailLoadWithErrorForFrame): Ditto.
21046        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Renamed
21047        -browsingContextControllerDidFailProvisionalLoad:withError: to
21048        -browsingContextController:didFailProvisionalLoadWithError: and
21049        -browsingContextControllerDidFailLoad:withError: to
21050        -browsingContextController:didFailLoadWithError:.
21051
210522013-12-03  Anders Carlsson  <andersca@apple.com>
21053
21054        Deprecate WKNotificationProvider
21055        https://bugs.webkit.org/show_bug.cgi?id=125178
21056
21057        Reviewed by Sam Weinig.
21058
21059        * Shared/API/c/WKDeclarationSpecifiers.h:
21060        Add WK_DEPRECATED and WK_ENUM_DEPRECATED macros so we can things as deprecated.
21061
21062        * UIProcess/API/C/WKNotificationManager.cpp:
21063        (WKNotificationManagerSetProvider):
21064        * UIProcess/API/C/WKNotificationManager.h:
21065        WKNotificationManagerSetProvider now takes a WKNotificationProviderBase.
21066
21067        * UIProcess/API/C/WKNotificationProvider.h:
21068        Deprecate WKNotificationProvider and kWKNotificationProviderCurrentVersion.
21069
210702013-12-03  Brady Eidson  <beidson@apple.com>
21071
21072        Indexed Database work should be done on a non-main queue
21073        https://bugs.webkit.org/show_bug.cgi?id=125127
21074
21075        Reviewed by Darin Adler.
21076
21077        Add a non-main WorkQueue to the DatabaseProcess:
21078        * DatabaseProcess/DatabaseProcess.cpp:
21079        (WebKit::DatabaseProcess::DatabaseProcess):
21080        (WebKit::DatabaseProcess::queue):
21081        * DatabaseProcess/DatabaseProcess.h:
21082
21083        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
21084        (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
21085        (WebKit::UniqueIDBDatabase::enqueueDatabaseQueueRequest): Add an AsyncRequest to the deque then schedule performing
21086          the requests on the background WorkQueue.
21087        (WebKit::UniqueIDBDatabase::processDatabaseRequestQueue): Processes all enqueued database requests.
21088        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Renamed from getIDBDatabaseMetadata().
21089        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadataInternal): For doing i/o on a background queue/thread.
21090        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
21091
21092        Add a creator that takes the abort handler as an argument, and rename requestedCompleted()
21093        to completeRequest(). This makes more sense in more situations:
21094        * Shared/AsyncRequest.cpp:
21095        (WebKit::AsyncRequest::AsyncRequest):
21096        (WebKit::AsyncRequest::setAbortHandler):
21097        * Shared/AsyncRequest.h:
21098        (WebKit::AsyncRequest::completeRequest):
21099
21100        Update for the AsyncRequest rename:
21101        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
21102        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
21103
21104        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
21105        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
21106
211072013-12-03  Tim Horton  <timothy_horton@apple.com>
21108
21109        Remove TiledCoreAnimationDrawingArea(Proxy)IOS
21110        https://bugs.webkit.org/show_bug.cgi?id=125176
21111
21112        Reviewed by Simon Fraser.
21113
21114        Remove unused code.
21115
21116        * UIProcess/API/ios/WKContentView.mm:
21117        * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.h: Removed.
21118        * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm: Removed.
21119        * Shared/DrawingAreaInfo.h:
21120        * WebProcess/WebPage/DrawingArea.cpp:
21121        (WebKit::DrawingArea::create):
21122        * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.h: Removed.
21123        * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.mm: Removed.
21124
211252013-12-03  Anders Carlsson  <andersca@apple.com>
21126
21127        Remove old WebKit::APIClient cruft
21128        https://bugs.webkit.org/show_bug.cgi?id=125173
21129
21130        Reviewed by Antti Koivisto.
21131
21132        * Shared/APIClient.h:
21133        * Shared/APIClientTraits.cpp: Removed.
21134        * Shared/APIClientTraits.h: Removed.
21135        * WebKit2.xcodeproj/project.pbxproj:
21136        * WebProcess/Plugins/PDF/PDFPlugin.mm:
21137
211382013-12-03  Enrica Casucci  <enrica@apple.com>
21139
21140        Build fix for iOS.
21141
21142        Reviewed by Tim Horton.
21143
21144        * Shared/WebCoreArgumentCoders.cpp: Added missing header.
21145
211462013-12-03  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
21147
21148        Remove WTF:: prefix from types in messages.in files.
21149        https://bugs.webkit.org/show_bug.cgi?id=124578
21150
21151        Reviewed by Anders Carlsson.
21152
21153        The WTF:: prefixes are removed from the messages.in files, and the
21154        messages.py now handles unprefixed non-template WTF classes (only
21155        the WTF::String class is used currently). Tests are also updated.
21156
21157        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
21158        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
21159        * NetworkProcess/NetworkProcess.messages.in:
21160        * PluginProcess/PluginControllerProxy.messages.in:
21161        * PluginProcess/PluginProcess.messages.in:
21162        * Scripts/webkit2/messages.py:
21163        (forward_declarations_and_headers):
21164        (class_template_headers):
21165        (argument_coder_headers_for_type):
21166        * Scripts/webkit2/messages_unittest.py:
21167        (std):
21168        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
21169        * UIProcess/Downloads/DownloadProxy.messages.in:
21170        * UIProcess/Plugins/PluginProcessProxy.messages.in:
21171        * UIProcess/Storage/StorageManager.messages.in:
21172        * UIProcess/WebContext.messages.in:
21173        * UIProcess/WebCookieManagerProxy.messages.in:
21174        * UIProcess/WebDatabaseManagerProxy.messages.in:
21175        * UIProcess/WebIconDatabase.messages.in:
21176        * UIProcess/WebInspectorProxy.messages.in:
21177        * UIProcess/WebMediaCacheManagerProxy.messages.in:
21178        * UIProcess/WebPageProxy.messages.in:
21179        * UIProcess/WebProcessProxy.messages.in:
21180        * WebProcess/Cookies/WebCookieManager.messages.in:
21181        * WebProcess/Geolocation/WebGeolocationManager.messages.in:
21182        * WebProcess/MediaCache/WebMediaCacheManager.messages.in:
21183        * WebProcess/Notifications/WebNotificationManager.messages.in:
21184        * WebProcess/Plugins/PluginProcessConnection.messages.in:
21185        * WebProcess/Plugins/PluginProxy.messages.in:
21186        * WebProcess/Storage/StorageAreaMap.messages.in:
21187        * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
21188        * WebProcess/WebPage/WebInspector.messages.in:
21189        * WebProcess/WebPage/WebPage.messages.in:
21190        * WebProcess/WebProcess.messages.in:
21191        * WebProcess/soup/WebSoupRequestManager.messages.in:
21192
211932013-12-03  Anders Carlsson  <andersca@apple.com>
21194
21195        Tweak build fixes.
21196
21197        * Shared/APIClient.h:
21198
211992013-12-03  Laszlo Vidacs  <lac@inf.u-szeged.hu>
21200
21201        Fix EFL build error in WK2 (159965)
21202        https://bugs.webkit.org/show_bug.cgi?id=125153
21203
21204        Reviewed by Darin Adler.
21205
21206        * Shared/APIClient.h:
21207
212082013-12-03  Seokju Kwon  <seokju@webkit.org>
21209
21210        Debug build fix : Add '<algorithm>' for 'std::is_sorted' after r159965.
21211        https://bugs.webkit.org/show_bug.cgi?id=125140
21212
21213        Reviewed by Csaba Osztrogonác.
21214
21215        * Shared/APIClient.h:
21216
212172013-12-03  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
21218
21219        Fix EFL build with INPUT_TYPE_COLOR disabled.
21220        https://bugs.webkit.org/show_bug.cgi?id=125065
21221
21222        Reviewed by Zoltan Herczeg.
21223
21224        * UIProcess/API/efl/ewk_color_picker.cpp:
21225
212262013-12-03  Dariusz Frankiewicz  <d.frankiewic@samsung.com>
21227
21228        Add spatial navigation API in EFL port
21229        https://bugs.webkit.org/show_bug.cgi?id=125002
21230
21231        Reviewed by Gyuyoung Kim.
21232
21233        API enables capability of turning on and off spatial navigation
21234        and check is state.
21235        Spatial navigation is the ability to navigate between focusable
21236        elements by keyboard.
21237
21238        * UIProcess/API/efl/ewk_settings.cpp:
21239        (ewk_settings_spatial_navigation_enabled_set):
21240        (ewk_settings_spatial_navigation_enabled_get):
21241        * UIProcess/API/efl/ewk_settings.h:
21242        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
21243        (TEST_F):
21244
212452013-12-02  Zan Dobersek  <zdobersek@igalia.com>
21246
21247        Build fixes for GCC-using ports after r159965 and later
21248        https://bugs.webkit.org/show_bug.cgi?id=125136
21249
21250        GCC doesn't process API::ClientTraits template instantiations unless they're done
21251        inside the API namespace.
21252
21253        * Shared/WebConnectionClient.h:
21254        * UIProcess/Notifications/WebNotificationProvider.h:
21255        * UIProcess/WebContextClient.h:
21256        * UIProcess/WebContextConnectionClient.h:
21257        * UIProcess/WebContextInjectedBundleClient.h:
21258        * UIProcess/WebCookieManagerProxyClient.h:
21259        * UIProcess/WebDatabaseManagerProxyClient.h:
21260        * UIProcess/WebDownloadClient.h:
21261        * UIProcess/WebFindClient.h:
21262        * UIProcess/WebFormClient.h:
21263        * UIProcess/WebGeolocationProvider.h:
21264        * UIProcess/WebHistoryClient.h:
21265        * UIProcess/WebIconDatabaseClient.h:
21266        * UIProcess/WebLoaderClient.h:
21267        * UIProcess/WebOriginDataManagerProxyChangeClient.h:
21268        * UIProcess/WebPageContextMenuClient.h:
21269        * UIProcess/WebPolicyClient.h:
21270        * UIProcess/WebUIClient.h:
21271        * WebProcess/InjectedBundle/InjectedBundleClient.h:
21272        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
21273        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
21274        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
21275        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
21276        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
21277        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
21278        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
21279        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
21280        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
21281
212822013-12-02  Dan Bernstein  <mitz@apple.com>
21283
21284        Build fix.
21285
21286        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
21287        (-[WKGeolocationProviderIOS initWithContext:]):
21288
212892013-12-02  Martin Hock  <mhock@apple.com>
21290
21291        Add ability to iterate over API::Array
21292        https://bugs.webkit.org/show_bug.cgi?id=124533
21293
21294        Reviewed by Sam Weinig.
21295
21296        * GNUmakefile.list.am:
21297        * Shared/APIArray.h:
21298        * Shared/FilterIterator.h:
21299        * Shared/IteratorPair.h:
21300        * WebKit2.xcodeproj/project.pbxproj:
21301        * WebProcess/InjectedBundle/InjectedBundle.cpp:
21302        (WebKit::toStringVector):
21303        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
21304        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
21305
213062013-12-02  Dan Bernstein  <mitz@apple.com>
21307
21308        [Cocoa] WebProtectionSpace has a generic wrapper
21309        https://bugs.webkit.org/show_bug.cgi?id=125125
21310
21311        Reviewed by Anders Carlsson.
21312
21313        Added WKNSURLProtectionSpace.
21314
21315        * Shared/Cocoa/APIObject.mm:
21316        (API::Object::newObject): Allocate a WKNSURLProtectionSpace if the object is a
21317        WebProtectionSpace.
21318        * Shared/Cocoa/WKNSURLProtectionSpace.h: Added.
21319        (WebKit::wrapper): Added. Returns a WebProtecitonSpace’s wrapper as an NSURLProtectionSpace.
21320        * Shared/Cocoa/WKNSURLProtectionSpace.mm: Added.
21321        (-[WKNSURLProtectionSpace copyWithZone:]): Retains self.
21322        * UIProcess/Authentication/WebProtectionSpace.h:
21323        (WebKit::WebProtectionSpace::protectionSpace): Added an accessor for the
21324        WebCore::ProtectionSpace.
21325        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
21326
213272013-12-02  Anders Carlsson  <andersca@apple.com>
21328
21329        Replace uses of WebKit::APIClient with API::Client
21330        https://bugs.webkit.org/show_bug.cgi?id=125129
21331
21332        Reviewed by Andreas Kling.
21333
21334        * Shared/API/c/WKConnectionRef.cpp:
21335        (WKConnectionSetConnectionClient):
21336        * Shared/WebConnection.cpp:
21337        (WebKit::WebConnection::initializeConnectionClient):
21338        * Shared/WebConnection.h:
21339        * Shared/WebConnectionClient.cpp:
21340        (WebKit::WebConnectionClient::didReceiveMessage):
21341        (WebKit::WebConnectionClient::didClose):
21342        * Shared/WebConnectionClient.h:
21343        * UIProcess/API/C/WKContext.cpp:
21344        (WKContextSetClient):
21345        (WKContextSetInjectedBundleClient):
21346        (WKContextSetHistoryClient):
21347        (WKContextSetDownloadClient):
21348        (WKContextSetConnectionClient):
21349        * UIProcess/API/C/WKCookieManager.cpp:
21350        (WKCookieManagerSetClient):
21351        * UIProcess/API/C/WKDatabaseManager.cpp:
21352        (WKDatabaseManagerSetClient):
21353        * UIProcess/API/C/WKGeolocationManager.cpp:
21354        (WKGeolocationManagerSetProvider):
21355        * UIProcess/API/C/WKIconDatabase.cpp:
21356        (WKIconDatabaseSetIconDatabaseClient):
21357        * UIProcess/API/C/WKNotificationManager.cpp:
21358        (WKNotificationManagerSetProvider):
21359        * UIProcess/API/C/WKOriginDataManager.cpp:
21360        (WKOriginDataManagerSetChangeClient):
21361        * UIProcess/API/C/WKPage.cpp:
21362        (WKPageSetPageContextMenuClient):
21363        (WKPageSetPageFindClient):
21364        (WKPageSetPageFindMatchesClient):
21365        (WKPageSetPageFormClient):
21366        (WKPageSetPagePolicyClient):
21367        (WKPageSetPageUIClient):
21368        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
21369        (setUpPagePolicyClient):
21370        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
21371        (WebKit::WebNotificationManagerProxy::initializeProvider):
21372        * UIProcess/Notifications/WebNotificationManagerProxy.h:
21373        * UIProcess/Notifications/WebNotificationProvider.cpp:
21374        (WebKit::WebNotificationProvider::show):
21375        (WebKit::WebNotificationProvider::cancel):
21376        (WebKit::WebNotificationProvider::didDestroyNotification):
21377        (WebKit::WebNotificationProvider::clearNotifications):
21378        (WebKit::WebNotificationProvider::addNotificationManager):
21379        (WebKit::WebNotificationProvider::removeNotificationManager):
21380        (WebKit::WebNotificationProvider::notificationPermissions):
21381        * UIProcess/Notifications/WebNotificationProvider.h:
21382        * UIProcess/WebContext.cpp:
21383        (WebKit::WebContext::initializeClient):
21384        (WebKit::WebContext::initializeInjectedBundleClient):
21385        (WebKit::WebContext::initializeConnectionClient):
21386        (WebKit::WebContext::initializeHistoryClient):
21387        (WebKit::WebContext::initializeDownloadClient):
21388        * UIProcess/WebContext.h:
21389        * UIProcess/WebContextClient.cpp:
21390        (WebKit::WebContextClient::plugInAutoStartOriginHashesChanged):
21391        (WebKit::WebContextClient::networkProcessDidCrash):
21392        (WebKit::WebContextClient::plugInInformationBecameAvailable):
21393        * UIProcess/WebContextClient.h:
21394        * UIProcess/WebContextConnectionClient.cpp:
21395        (WebKit::WebContextConnectionClient::didCreateConnection):
21396        * UIProcess/WebContextConnectionClient.h:
21397        * UIProcess/WebContextInjectedBundleClient.cpp:
21398        (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
21399        (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
21400        (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
21401        * UIProcess/WebContextInjectedBundleClient.h:
21402        * UIProcess/WebCookieManagerProxy.cpp:
21403        (WebKit::WebCookieManagerProxy::initializeClient):
21404        * UIProcess/WebCookieManagerProxy.h:
21405        * UIProcess/WebCookieManagerProxyClient.cpp:
21406        (WebKit::WebCookieManagerProxyClient::cookiesDidChange):
21407        * UIProcess/WebCookieManagerProxyClient.h:
21408        * UIProcess/WebDatabaseManagerProxy.cpp:
21409        (WebKit::WebDatabaseManagerProxy::initializeClient):
21410        * UIProcess/WebDatabaseManagerProxy.h:
21411        * UIProcess/WebDatabaseManagerProxyClient.cpp:
21412        (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
21413        (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
21414        * UIProcess/WebDatabaseManagerProxyClient.h:
21415        * UIProcess/WebDownloadClient.cpp:
21416        (WebKit::WebDownloadClient::didStart):
21417        (WebKit::WebDownloadClient::didReceiveAuthenticationChallenge):
21418        (WebKit::WebDownloadClient::didReceiveResponse):
21419        (WebKit::WebDownloadClient::didReceiveData):
21420        (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
21421        (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
21422        (WebKit::WebDownloadClient::didCreateDestination):
21423        (WebKit::WebDownloadClient::didFinish):
21424        (WebKit::WebDownloadClient::didFail):
21425        (WebKit::WebDownloadClient::didCancel):
21426        (WebKit::WebDownloadClient::processDidCrash):
21427        * UIProcess/WebDownloadClient.h:
21428        * UIProcess/WebFindClient.cpp:
21429        (WebKit::WebFindClient::didFindString):
21430        (WebKit::WebFindClient::didFailToFindString):
21431        (WebKit::WebFindClient::didCountStringMatches):
21432        (WebKit::WebFindMatchesClient::didFindStringMatches):
21433        (WebKit::WebFindMatchesClient::didGetImageForMatchResult):
21434        * UIProcess/WebFindClient.h:
21435        * UIProcess/WebFormClient.cpp:
21436        (WebKit::WebFormClient::willSubmitForm):
21437        * UIProcess/WebFormClient.h:
21438        * UIProcess/WebGeolocationManagerProxy.cpp:
21439        (WebKit::WebGeolocationManagerProxy::initializeProvider):
21440        * UIProcess/WebGeolocationManagerProxy.h:
21441        * UIProcess/WebGeolocationProvider.cpp:
21442        (WebKit::WebGeolocationProvider::startUpdating):
21443        (WebKit::WebGeolocationProvider::stopUpdating):
21444        (WebKit::WebGeolocationProvider::setEnableHighAccuracy):
21445        * UIProcess/WebGeolocationProvider.h:
21446        * UIProcess/WebHistoryClient.cpp:
21447        (WebKit::WebHistoryClient::didNavigateWithNavigationData):
21448        (WebKit::WebHistoryClient::didPerformClientRedirect):
21449        (WebKit::WebHistoryClient::didPerformServerRedirect):
21450        (WebKit::WebHistoryClient::didUpdateHistoryTitle):
21451        (WebKit::WebHistoryClient::populateVisitedLinks):
21452        * UIProcess/WebHistoryClient.h:
21453        * UIProcess/WebIconDatabase.cpp:
21454        (WebKit::WebIconDatabase::initializeIconDatabaseClient):
21455        * UIProcess/WebIconDatabase.h:
21456        * UIProcess/WebIconDatabaseClient.cpp:
21457        (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
21458        (WebKit::WebIconDatabaseClient::didRemoveAllIcons):
21459        (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
21460        * UIProcess/WebIconDatabaseClient.h:
21461        * UIProcess/WebInspectorProxy.cpp:
21462        (WebKit::WebInspectorProxy::createInspectorPage):
21463        * UIProcess/WebLoaderClient.h:
21464        * UIProcess/WebOriginDataManagerProxy.cpp:
21465        (WebKit::WebOriginDataManagerProxy::setChangeClient):
21466        * UIProcess/WebOriginDataManagerProxy.h:
21467        * UIProcess/WebOriginDataManagerProxyChangeClient.cpp:
21468        (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
21469        * UIProcess/WebOriginDataManagerProxyChangeClient.h:
21470        * UIProcess/WebPageContextMenuClient.cpp:
21471        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
21472        (WebKit::WebPageContextMenuClient::customContextMenuItemSelected):
21473        (WebKit::WebPageContextMenuClient::contextMenuDismissed):
21474        (WebKit::WebPageContextMenuClient::showContextMenu):
21475        (WebKit::WebPageContextMenuClient::hideContextMenu):
21476        * UIProcess/WebPageContextMenuClient.h:
21477        * UIProcess/WebPageProxy.cpp:
21478        (WebKit::WebPageProxy::initializePolicyClient):
21479        (WebKit::WebPageProxy::initializeFormClient):
21480        (WebKit::WebPageProxy::initializeUIClient):
21481        (WebKit::WebPageProxy::initializeFindClient):
21482        (WebKit::WebPageProxy::initializeFindMatchesClient):
21483        (WebKit::WebPageProxy::initializeContextMenuClient):
21484        * UIProcess/WebPageProxy.h:
21485        * UIProcess/WebPolicyClient.cpp:
21486        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
21487        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
21488        (WebKit::WebPolicyClient::decidePolicyForResponse):
21489        (WebKit::WebPolicyClient::unableToImplementPolicy):
21490        * UIProcess/WebPolicyClient.h:
21491        * UIProcess/WebUIClient.cpp:
21492        (WebKit::WebUIClient::createNewPage):
21493        (WebKit::WebUIClient::showPage):
21494        (WebKit::WebUIClient::close):
21495        (WebKit::WebUIClient::takeFocus):
21496        (WebKit::WebUIClient::focus):
21497        (WebKit::WebUIClient::unfocus):
21498        (WebKit::WebUIClient::runJavaScriptAlert):
21499        (WebKit::WebUIClient::runJavaScriptConfirm):
21500        (WebKit::WebUIClient::runJavaScriptPrompt):
21501        (WebKit::WebUIClient::setStatusText):
21502        (WebKit::WebUIClient::mouseDidMoveOverElement):
21503        (WebKit::WebUIClient::unavailablePluginButtonClicked):
21504        (WebKit::WebUIClient::didNotHandleKeyEvent):
21505        (WebKit::WebUIClient::didNotHandleWheelEvent):
21506        (WebKit::WebUIClient::toolbarsAreVisible):
21507        (WebKit::WebUIClient::setToolbarsAreVisible):
21508        (WebKit::WebUIClient::menuBarIsVisible):
21509        (WebKit::WebUIClient::setMenuBarIsVisible):
21510        (WebKit::WebUIClient::statusBarIsVisible):
21511        (WebKit::WebUIClient::setStatusBarIsVisible):
21512        (WebKit::WebUIClient::isResizable):
21513        (WebKit::WebUIClient::setIsResizable):
21514        (WebKit::WebUIClient::setWindowFrame):
21515        (WebKit::WebUIClient::windowFrame):
21516        (WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
21517        (WebKit::WebUIClient::didDraw):
21518        (WebKit::WebUIClient::pageDidScroll):
21519        (WebKit::WebUIClient::exceededDatabaseQuota):
21520        (WebKit::WebUIClient::runOpenPanel):
21521        (WebKit::WebUIClient::decidePolicyForGeolocationPermissionRequest):
21522        (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
21523        (WebKit::WebUIClient::headerHeight):
21524        (WebKit::WebUIClient::footerHeight):
21525        (WebKit::WebUIClient::drawHeader):
21526        (WebKit::WebUIClient::drawFooter):
21527        (WebKit::WebUIClient::printFrame):
21528        (WebKit::WebUIClient::runModal):
21529        (WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
21530        (WebKit::WebUIClient::shouldInterruptJavaScript):
21531        (WebKit::WebUIClient::showColorPicker):
21532        (WebKit::WebUIClient::hideColorPicker):
21533        * UIProcess/WebUIClient.h:
21534        * UIProcess/mac/WebInspectorProxyMac.mm:
21535        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
21536        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
21537        (WKBundleSetClient):
21538        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
21539        (WKBundlePageSetContextMenuClient):
21540        (WKBundlePageSetEditorClient):
21541        (WKBundlePageSetFormClient):
21542        (WKBundlePageSetPageLoaderClient):
21543        (WKBundlePageSetResourceLoadClient):
21544        (WKBundlePageSetPolicyClient):
21545        (WKBundlePageSetUIClient):
21546        (WKBundlePageSetFullScreenClient):
21547        (WKBundlePageSetDiagnosticLoggingClient):
21548        * WebProcess/InjectedBundle/InjectedBundle.cpp:
21549        (WebKit::InjectedBundle::initializeClient):
21550        * WebProcess/InjectedBundle/InjectedBundle.h:
21551        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
21552        (WebKit::InjectedBundleClient::didCreatePage):
21553        (WebKit::InjectedBundleClient::willDestroyPage):
21554        (WebKit::InjectedBundleClient::didInitializePageGroup):
21555        (WebKit::InjectedBundleClient::didReceiveMessage):
21556        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
21557        * WebProcess/InjectedBundle/InjectedBundleClient.h:
21558        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
21559        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
21560        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
21561        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
21562        (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):
21563        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
21564        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
21565        (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
21566        (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
21567        (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
21568        (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
21569        (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
21570        (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
21571        (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
21572        (WebKit::InjectedBundlePageEditorClient::didBeginEditing):
21573        (WebKit::InjectedBundlePageEditorClient::didEndEditing):
21574        (WebKit::InjectedBundlePageEditorClient::didChange):
21575        (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
21576        (WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard):
21577        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
21578        (WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard):
21579        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
21580        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
21581        (WebKit::InjectedBundlePageFormClient::didFocusTextField):
21582        (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
21583        (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
21584        (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
21585        (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
21586        (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
21587        (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
21588        (WebKit::InjectedBundlePageFormClient::willSubmitForm):
21589        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
21590        (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
21591        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
21592        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
21593        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
21594        (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
21595        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
21596        (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
21597        (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
21598        (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
21599        (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
21600        (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
21601        (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
21602        (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
21603        (WebKit::InjectedBundlePageLoaderClient::didFinishProgress):
21604        (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
21605        (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
21606        (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
21607        (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
21608        (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
21609        (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
21610        (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
21611        (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
21612        (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
21613        (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
21614        (WebKit::InjectedBundlePageLoaderClient::didLayout):
21615        (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
21616        (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
21617        (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
21618        (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
21619        (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):
21620        (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
21621        (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
21622        (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
21623        (WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL):
21624        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
21625        (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame):
21626        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
21627        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
21628        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
21629        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
21630        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
21631        (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
21632        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
21633        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
21634        (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
21635        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
21636        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
21637        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
21638        (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
21639        (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
21640        (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
21641        (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):
21642        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
21643        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
21644        (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
21645        (WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
21646        (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
21647        (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
21648        (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
21649        (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
21650        (WebKit::InjectedBundlePageUIClient::pageDidScroll):
21651        (WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload):
21652        (WebKit::InjectedBundlePageUIClient::generateFileForUpload):
21653        (WebKit::InjectedBundlePageUIClient::statusBarIsVisible):
21654        (WebKit::InjectedBundlePageUIClient::menuBarIsVisible):
21655        (WebKit::InjectedBundlePageUIClient::toolbarsAreVisible):
21656        (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
21657        (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
21658        (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
21659        (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
21660        (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
21661        (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
21662        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
21663        * WebProcess/WebPage/WebPage.cpp:
21664        (WebKit::WebPage::initializeInjectedBundleContextMenuClient):
21665        (WebKit::WebPage::initializeInjectedBundleEditorClient):
21666        (WebKit::WebPage::initializeInjectedBundleFormClient):
21667        (WebKit::WebPage::initializeInjectedBundleLoaderClient):
21668        (WebKit::WebPage::initializeInjectedBundlePolicyClient):
21669        (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
21670        (WebKit::WebPage::initializeInjectedBundleUIClient):
21671        (WebKit::WebPage::initializeInjectedBundleFullScreenClient):
21672        (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient):
21673        * WebProcess/WebPage/WebPage.h:
21674
216752013-12-02  Enrica Casucci  <enrica@apple.com>
21676
21677        Merging some more iOS WebKit2 stuff.
21678        https://bugs.webkit.org/show_bug.cgi?id=125119
21679
21680        Reviewed by Tim Horton.
21681
21682        * Shared/EditorState.h:
21683        * Shared/NativeWebKeyboardEvent.h:
21684        * Shared/NativeWebMouseEvent.h:
21685        * Shared/NativeWebTouchEvent.h:
21686        * Shared/mac/RemoteLayerBackingStore.h:
21687        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
21688        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
21689        * UIProcess/PageClient.h:
21690        * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm:
21691        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
21692        * UIProcess/mac/SecItemShimProxy.messages.in:
21693        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
21694        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
21695        * WebProcess/WebPage/WebPage.cpp:
21696        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
21697        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
21698
216992013-12-02  Anders Carlsson  <andersca@apple.com>
21700
21701        Add versioned structs for the remaining clients
21702        https://bugs.webkit.org/show_bug.cgi?id=125123
21703
21704        Reviewed by Andreas Kling.
21705
21706        * UIProcess/API/C/WKContext.h:
21707        * UIProcess/API/C/WKContextConnectionClient.h:
21708        * UIProcess/API/C/WKContextDownloadClient.h:
21709        * UIProcess/API/C/WKContextHistoryClient.h:
21710        * UIProcess/API/C/WKContextInjectedBundleClient.h:
21711        * UIProcess/API/C/WKOriginDataManager.h:
21712
217132013-12-02  Anders Carlsson  <andersca@apple.com>
21714
21715        Move WKContext clients to separate files
21716        https://bugs.webkit.org/show_bug.cgi?id=125121
21717
21718        Reviewed by Andreas Kling.
21719
21720        * UIProcess/API/C/WKContext.h:
21721        * UIProcess/API/C/WKContextConnectionClient.h: Added.
21722        * UIProcess/API/C/WKContextDownloadClient.h: Added.
21723        * UIProcess/API/C/WKContextHistoryClient.h: Added.
21724        * UIProcess/API/C/WKContextInjectedBundleClient.h: Added.
21725        * WebKit2.xcodeproj/project.pbxproj:
21726
217272013-12-02  Sam Weinig  <sam@webkit.org>
21728
21729        WebPageGroups should keep track of what processes they are being used by
21730        https://bugs.webkit.org/show_bug.cgi?id=124556
21731
21732        Reviewed by Anders Carlsson.
21733
21734        * UIProcess/WebContextUserMessageCoders.h:
21735        (WebKit::WebContextUserMessageEncoder::encode):
21736        (WebKit::WebContextUserMessageDecoder::decode):
21737        * UIProcess/WebPageGroup.cpp:
21738        (WebKit::WebPageGroup::addProcess):
21739        (WebKit::WebPageGroup::disconnectProcess):
21740        * UIProcess/WebPageGroup.h:
21741        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
21742        * UIProcess/WebPageProxy.cpp:
21743        (WebKit::WebPageProxy::initializeWebPage):
21744        * UIProcess/WebProcessProxy.cpp:
21745        (WebKit::WebProcessProxy::disconnect):
21746        (WebKit::WebProcessProxy::webPageGroup):
21747        (WebKit::WebProcessProxy::addWebPageGroup):
21748        * UIProcess/WebProcessProxy.h:
21749        * WebProcess/WebProcess.cpp:
21750        (WebKit::WebProcess::webPageGroup):
21751
217522013-12-02  Anders Carlsson  <andersca@apple.com>
21753
21754        Add versioned structs for all clients except the ones in WKContext.h
21755        https://bugs.webkit.org/show_bug.cgi?id=125120
21756
21757        Reviewed by Andreas Kling.
21758
21759        * Shared/API/c/WKConnectionRef.h:
21760        * UIProcess/API/C/WKCookieManager.h:
21761        * UIProcess/API/C/WKDatabaseManager.h:
21762        * UIProcess/API/C/WKGeolocationManager.h:
21763        * UIProcess/API/C/WKIconDatabase.h:
21764        * UIProcess/API/C/WKNotificationProvider.h:
21765        * UIProcess/API/C/WKPageContextMenuClient.h:
21766        * UIProcess/API/C/WKPageFindClient.h:
21767        * UIProcess/API/C/WKPageFindMatchesClient.h:
21768        * UIProcess/API/C/WKPageFormClient.h:
21769        * UIProcess/API/C/WKPageLoaderClient.h:
21770        * UIProcess/API/C/WKPagePolicyClient.h:
21771        * UIProcess/API/C/WKPageUIClient.h:
21772        * WebProcess/InjectedBundle/API/c/WKBundle.h:
21773        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
21774        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
21775        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
21776        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
21777        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
21778        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
21779        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
21780        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
21781        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
21782        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
21783        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
21784
217852013-12-02  Anders Carlsson  <andersca@apple.com>
21786
21787        Split bundle page clients out into separate headers
21788        https://bugs.webkit.org/show_bug.cgi?id=125115
21789
21790        Reviewed by Andreas Kling.
21791
21792        * WebKit2.xcodeproj/project.pbxproj:
21793        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
21794        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Added.
21795        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Added.
21796        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Added.
21797        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Added.
21798        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Added.
21799        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Added.
21800        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Added.
21801        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Added.
21802        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Added.
21803
218042013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>
21805
21806        [WK2] Improve readability of 'generate_message_handler' function
21807        https://bugs.webkit.org/show_bug.cgi?id=125085
21808
21809        Reviewed by Sam Weinig.
21810
21811        * Scripts/webkit2/messages.py:
21812        (generate_message_handler):
21813
218142013-12-02  Tim Horton  <timothy_horton@apple.com>
21815
21816        Remote Layer Tree: Support cloning layers
21817        https://bugs.webkit.org/show_bug.cgi?id=124874
21818        <rdar://problem/15349468>
21819
21820        Reviewed by Simon Fraser.
21821
21822        We use PlatformCALayer::clone for CSS reflections, so implement it.
21823
21824        Also, since many reflections testcases also use masks,
21825        working on this revealed that masks weren't working, because
21826        we weren't flushing mask layers.
21827
21828        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
21829        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
21830        * Shared/mac/RemoteLayerTreeTransaction.mm:
21831        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
21832        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
21833        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
21834        Rename maskLayer->maskLayerID since it's a LayerID.
21835
21836        * UIProcess/mac/RemoteLayerTreeHost.mm:
21837        (WebKit::RemoteLayerTreeHost::commit):
21838        Don't try to look up the layer if it's null.
21839
21840        * Shared/mac/RemoteLayerTreeTransaction.h:
21841        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
21842        * Shared/mac/RemoteLayerTreeTransaction.mm:
21843        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
21844        Keep track of all properties that have ever been changed on a layer.
21845
21846        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
21847        (PlatformCALayerRemote::create):
21848        (PlatformCALayerRemote::PlatformCALayerRemote):
21849        (PlatformCALayerRemote::clone):
21850        Copy all of the layer properties from the original to the clone,
21851        and mark all properties that have ever been modified as
21852        needing to be flushed to the UI process.
21853
21854        (PlatformCALayerRemote::recursiveBuildTransaction):
21855        Flush our mask layer, if we have one.
21856
21857        (PlatformCALayerRemote::setMask):
21858        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
21859        Store the mask layer we're given. Our owning GraphicsLayer will
21860        hold on to it for us.
21861
218622013-12-02  Anders Carlsson  <andersca@apple.com>
21863
21864        WKPageLoaderClient should be versioned
21865        https://bugs.webkit.org/show_bug.cgi?id=125104
21866
21867        Reviewed by Sam Weinig.
21868
21869        Add multiple versions of the WKPageLoaderClient struct. In a subsequent patch,
21870        WKPageLoaderClient and kWKPageLoaderClientCurrentVersion will be deprecated. Instead,
21871        users of the API are supposed to explicitly choose a version and a versioned struct.
21872
21873        * Shared/APIClient.h:
21874        Add a new API::Client class with a new ClientTraits template that uses std::tuple for versions.
21875
21876        * Shared/APIClientTraits.cpp:
21877        * Shared/APIClientTraits.h:
21878        Remove WKPageLoaderClient interface sizes.
21879
21880        * UIProcess/API/C/WKPage.cpp:
21881        (WKPageSetPageLoaderClient):
21882        Add an explicit cast to WKPageLoaderClientBase. In an upcoming patch, WKPageSetPageLoaderClient
21883        will be changed to take a WKPageLoaderClientBase instead.
21884
21885        * UIProcess/API/C/WKPageLoaderClient.h:
21886        Add new versions.
21887
21888        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
21889        (setUpPageLoaderClient):
21890        Use an explicit version.
21891
21892        * UIProcess/WebLoaderClient.cpp:
21893        (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
21894        (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
21895        (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
21896        (WebKit::WebLoaderClient::didCommitLoadForFrame):
21897        (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
21898        (WebKit::WebLoaderClient::didFinishLoadForFrame):
21899        (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
21900        (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
21901        (WebKit::WebLoaderClient::didReceiveTitleForFrame):
21902        (WebKit::WebLoaderClient::didFirstLayoutForFrame):
21903        (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
21904        (WebKit::WebLoaderClient::didLayout):
21905        (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
21906        (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
21907        (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
21908        (WebKit::WebLoaderClient::didDetectXSSForFrame):
21909        (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
21910        (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
21911        (WebKit::WebLoaderClient::didStartProgress):
21912        (WebKit::WebLoaderClient::didChangeProgress):
21913        (WebKit::WebLoaderClient::didFinishProgress):
21914        (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
21915        (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
21916        (WebKit::WebLoaderClient::processDidBecomeResponsive):
21917        (WebKit::WebLoaderClient::processDidCrash):
21918        (WebKit::WebLoaderClient::didChangeBackForwardList):
21919        (WebKit::WebLoaderClient::shouldGoToBackForwardListItem):
21920        (WebKit::WebLoaderClient::willGoToBackForwardListItem):
21921        (WebKit::WebLoaderClient::didFailToInitializePlugin):
21922        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
21923        (WebKit::WebLoaderClient::pluginLoadPolicy):
21924        Go through client.base everywhere.
21925
21926        * UIProcess/WebLoaderClient.h:
21927        Add API::ClientTraits specialization. Change WebLoaderClient to derive from API::Client<WKPageLoaderClientBase>.
21928
21929        * UIProcess/WebPageProxy.cpp:
21930        (WebKit::WebPageProxy::initializeLoaderClient):
21931        This now takes a WKPageLoaderClientBase*.
21932        
219332013-12-02  Beth Dakin  <bdakin@apple.com>
21934
21935        Add a setting to opt into a mode where the background extends and fixed elements 
21936        don't move on rubber-band
21937        https://bugs.webkit.org/show_bug.cgi?id=124745
21938
21939        Reviewed by Tim Horton.
21940
21941        Add SPI to enable the new setting.
21942
21943        * Shared/WebPreferencesStore.h:
21944        * UIProcess/API/C/WKPreferences.cpp:
21945        (WKPreferencesSetBackgroundShouldExtendBeyondPage):
21946        (WKPreferencesGetBackgroundShouldExtendBeyondPage):
21947        * UIProcess/API/C/WKPreferencesPrivate.h:
21948        * WebProcess/WebPage/WebPage.cpp:
21949        (WebKit::WebPage::updatePreferences):
21950
219512013-12-02  Tim Horton  <timothy_horton@apple.com>
21952
21953        Remote Layer Tree: Hook up setLayerTreeStateIsFrozen
21954        https://bugs.webkit.org/show_bug.cgi?id=124872
21955
21956        Reviewed by Brent Fulgham.
21957
21958        setLayerTreeStateIsFrozen is the mechanism used to ensure that
21959        layer property changes (including new backing store) aren't committed
21960        while e.g. the page is reconfigured for printing.
21961
21962        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
21963        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
21964        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
21965        (WebKit::RemoteLayerTreeContext::flushLayers):
21966        (WebKit::RemoteLayerTreeContext::setIsFlushingSuspended):
21967        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
21968        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
21969        (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
21970
219712013-12-02  Tim Horton  <timothy_horton@apple.com>
21972
21973        Remote Layer Tree: Disable direct image compositing
21974        https://bugs.webkit.org/show_bug.cgi?id=124875
21975        <rdar://problem/15446024>
21976
21977        Reviewed by Simon Fraser.
21978
21979        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
21980        Image-as-layer-contents is not implemented for the remote layer tree.
21981
219822013-12-01  ChangSeok Oh  <changseok.oh@collabora.com>
21983
21984        Unreviewed Gtk port Build fix after r159903
21985
21986        * UIProcess/DrawingAreaProxyImpl.cpp:
21987        (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
21988        (WebKit::DrawingAreaProxyImpl::update):
21989        (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
21990        (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
21991        (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
21992        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
21993        (WebKit::WebFullScreenManagerProxy::invalidate):
21994        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
21995        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
21996        * UIProcess/gtk/WebPageProxyGtk.cpp:
21997        (WebKit::WebPageProxy::setAcceleratedCompositingWindowId):
21998
219992013-12-01  Sam Weinig  <sam@webkit.org>
22000
22001        Give UserMessageEncoders WebProcessProxy reference (like the decoders already have)
22002        https://bugs.webkit.org/show_bug.cgi?id=125053
22003
22004        Reviewed by Dan Bernstein.
22005
22006        - Give the UserMessageEncoders a process reference.
22007        - Switch UserMessageDecoders to storing a process reference, rather than pointer.
22008
22009        * Shared/UserMessageCoders.h:
22010        * Shared/mac/ObjCObjectGraphCoders.h:
22011        * Shared/mac/ObjCObjectGraphCoders.mm:
22012        * UIProcess/WebConnectionToWebProcess.cpp:
22013        * UIProcess/WebContext.cpp:
22014        * UIProcess/WebContextUserMessageCoders.h:
22015        * UIProcess/WebPageProxy.cpp:
22016        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
22017
220182013-12-01  Sam Weinig  <sam@webkit.org>
22019
22020        [Cocoa] The PageLoadState::Observer is not being set on iOS
22021        https://bugs.webkit.org/show_bug.cgi?id=125051
22022
22023        Reviewed by Dan Bernstein.
22024
22025        * UIProcess/ios/WebPageProxyIOS.mm:
22026        (WebKit::WebPageProxy::platformInitialize):
22027        Add missing call to _finishInitialization.
22028
220292013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>
22030
22031        Unreviewed EFL Build fix attempt after r159903
22032
22033        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
22034        (WebKit::CoordinatedDrawingAreaProxy::layerHostingModeDidChange):
22035        (WebKit::CoordinatedDrawingAreaProxy::update):
22036        (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
22037        (WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
22038        (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
22039        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
22040        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
22041        (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
22042        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
22043        (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
22044        (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
22045        (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
22046        * UIProcess/WebTextChecker.cpp:
22047        (WebKit::WebTextChecker::checkSpelling):
22048        (WebKit::WebTextChecker::changeSpellingToWord):
22049        * UIProcess/WebTextChecker.h:
22050        * UIProcess/WebVibrationProxy.cpp:
22051        (WebKit::WebVibrationProxy::WebVibrationProxy):
22052        (WebKit::WebVibrationProxy::~WebVibrationProxy):
22053        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
22054        (WebKit::WebFullScreenManagerProxy::invalidate):
22055        * UIProcess/efl/WebInspectorProxyEfl.cpp:
22056        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
22057        * UIProcess/efl/WebPageProxyEfl.cpp:
22058        (WebKit::WebPageProxy::setThemePath):
22059        (WebKit::WebPageProxy::confirmComposition):
22060        (WebKit::WebPageProxy::setComposition):
22061        (WebKit::WebPageProxy::cancelComposition):
22062
220632013-12-01  Sam Weinig  <sam@webkit.org>
22064
22065        Fix the iOS build.
22066
22067        * UIProcess/API/ios/WKContentView.mm:
22068        * UIProcess/API/ios/WKInteractionView.mm:
22069        * UIProcess/ios/WebPageProxyIOS.mm:
22070
220712013-12-01  Sam Weinig  <sam@webkit.org>
22072
22073        [CTTE] The WebPageProxy's WebProcessProxy is never null so it should be stored in a Ref
22074        https://bugs.webkit.org/show_bug.cgi?id=125047
22075
22076        Reviewed by Dan Bernstein.
22077
22078        * UIProcess/API/C/WKPage.cpp:
22079        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
22080        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22081        * UIProcess/API/mac/WKView.mm:
22082        * UIProcess/Downloads/DownloadProxy.cpp:
22083        * UIProcess/Downloads/DownloadProxy.h:
22084        * UIProcess/Downloads/DownloadProxyMap.cpp:
22085        * UIProcess/Downloads/DownloadProxyMap.h:
22086        * UIProcess/DrawingAreaProxy.cpp:
22087        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
22088        * UIProcess/Network/NetworkProcessProxy.cpp:
22089        * UIProcess/Network/NetworkProcessProxy.h:
22090        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
22091        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
22092        * UIProcess/WebContext.cpp:
22093        * UIProcess/WebContext.h:
22094        * UIProcess/WebEditCommandProxy.cpp:
22095        * UIProcess/WebFrameProxy.cpp:
22096        * UIProcess/WebFullScreenManagerProxy.cpp:
22097        * UIProcess/WebInspectorProxy.cpp:
22098        * UIProcess/WebPageGroup.h:
22099        * UIProcess/WebPageProxy.cpp:
22100        * UIProcess/WebPageProxy.h:
22101        * UIProcess/WebProcessProxy.cpp:
22102        * UIProcess/WebProcessProxy.h:
22103        * UIProcess/cf/WebPageProxyCF.cpp:
22104        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
22105        * UIProcess/mac/RemoteLayerTreeHost.mm:
22106        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
22107        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
22108        * UIProcess/mac/WebInspectorProxyMac.mm:
22109        * UIProcess/mac/WebPageProxyMac.mm:
22110
221112013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>
22112
22113        [EFL][CoordinatedGraphics] Clear m_contentsSize when new contents are loaded
22114        https://bugs.webkit.org/show_bug.cgi?id=125033
22115
22116        Reviewed by Gyuyoung Kim.
22117
22118        m_contentsSize should be cleared when new contents are loaded so that PageViewportController
22119        would take care of newly loaded contents with same size as previous one.
22120        It's because PageViewportController is cleared not to make wrong behaviour
22121        while loading when new contents are committed.
22122
22123        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
22124        (TEST_F):
22125        Improve tests to check contents,size,changed signal when loaded contents having
22126        same size with previous one.
22127        * UIProcess/CoordinatedGraphics/WebView.cpp:
22128        (WebKit::WebView::didCommitLoadForMainFrame): Cleared m_contentsSize.
22129
221302013-12-01  Philippe Normand  <pnormand@igalia.com>
22131
22132        Unreviewed GTK build fix after r159896.
22133
22134        * UIProcess/API/gtk/WebKitWebContext.cpp:
22135        (webkitWebContextCreatePageForWebView):
22136        * UIProcess/API/gtk/WebKitWebView.cpp:
22137        (webkitWebViewConstructed):
22138        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
22139        (webkitWebViewBaseUpdatePreferences):
22140
221412013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>
22142
22143        Unreviewed build fix after r159896.
22144
22145        * UIProcess/API/efl/ewk_settings.cpp:
22146        (EwkSettings::preferences):
22147        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
22148        (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
22149        * UIProcess/CoordinatedGraphics/WebView.cpp:
22150        (WebKit::WebView::WebView):
22151
221522013-11-30  Sam Weinig  <sam@webkit.org>
22153
22154        [CTTE] The WebPageProxy's WebPageGroup is never null so it should be stored in a Ref
22155        https://bugs.webkit.org/show_bug.cgi?id=125038
22156
22157        Reviewed by Dan Bernstein.
22158
22159        * UIProcess/API/C/WKPage.cpp:
22160        (WKPageGetPageGroup):
22161        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
22162        (WKPageIsURLKnownHSTSHost):
22163        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22164        (-[WKBrowsingContextController browsingContextGroup]):
22165        * UIProcess/API/mac/WKView.mm:
22166        (-[WKView _preferencesDidChange]):
22167        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
22168        * UIProcess/WebContext.cpp:
22169        (WebKit::WebContext::WebContext):
22170        (WebKit::WebContext::createWebPage):
22171        * UIProcess/WebContext.h:
22172        * UIProcess/WebInspectorProxy.cpp:
22173        (WebKit::WebInspectorPageGroups::inspectorLevel):
22174        (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
22175        (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
22176        (WebKit::WebInspectorProxy::isInspectorPage):
22177        * UIProcess/WebInspectorProxy.h:
22178        * UIProcess/WebPageGroup.cpp:
22179        (WebKit::WebPageGroup::createNonNull):
22180        * UIProcess/WebPageGroup.h:
22181        * UIProcess/WebPageProxy.cpp:
22182        (WebKit::WebPageProxy::create):
22183        (WebKit::WebPageProxy::WebPageProxy):
22184        (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
22185        (WebKit::WebPageProxy::preferencesDidChange):
22186        * UIProcess/WebPageProxy.h:
22187        (WebKit::WebPageProxy::pageGroup):
22188        * UIProcess/WebProcessProxy.cpp:
22189        (WebKit::WebProcessProxy::createWebPage):
22190        * UIProcess/WebProcessProxy.h:
22191        * UIProcess/mac/WebInspectorProxyMac.mm:
22192        (WebKit::WebInspectorProxy::createInspectorWindow):
22193        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
22194        (WebKit::WebInspectorProxy::windowFrameDidChange):
22195        * UIProcess/mac/WebProcessProxyMac.mm:
22196        (WebKit::WebProcessProxy::pageIsProcessSuppressible):
22197
221982013-11-30  Dan Bernstein  <mitz@apple.com>
22199
22200        Added a version of +[NSURL _web_URLWithWTFString:relativeToURL:] that doesn’t take a base URL and switched all callers to it.
22201        https://bugs.webkit.org/show_bug.cgi?id=125040
22202
22203        Reviewed by Sam Weinig.
22204
22205        * Shared/Cocoa/WKNSURLExtras.h: Declared new method.
22206        * Shared/Cocoa/WKNSURLExtras.mm:
22207        (urlWithWTFString): Added helper function.
22208        (+[NSURL _web_URLWithWTFString:]): Added.
22209        (+[NSURL _web_URLWithWTFString:relativeToURL:]): Changed to use helper function.
22210        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
22211        (-[WKBackForwardListItem URL]): Changed to call new method.
22212        (-[WKBackForwardListItem originalURL]): Ditto.
22213        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22214        (-[WKBrowsingContextController activeURL]): Ditto.
22215        (-[WKBrowsingContextController provisionalURL]): Ditto.
22216        (-[WKBrowsingContextController committedURL]): Ditto.
22217        (-[WKBrowsingContextController unreachableURL]): Ditto.
22218        (setUpPagePolicyClient): Ditto.
22219        * UIProcess/API/Cocoa/WKNavigationData.mm:
22220        (-[WKNavigationData destinationURL]): Ditto.
22221
222222013-11-30  Dan Bernstein  <mitz@apple.com>
22223
22224        [Cocoa] Stop using the WKPageRef API in WKBrowsingContextController
22225        https://bugs.webkit.org/show_bug.cgi?id=125036
22226
22227        Reviewed by Sam Weinig.
22228
22229        * Shared/Cocoa/WKNSURLExtras.h: Declared new method.
22230        * Shared/Cocoa/WKNSURLExtras.mm:
22231        (-[NSURL _web_originalDataAsWTFString]): Added. Returns a WTF::String with the receiver’s
22232        bytes.
22233
22234        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22235        (-[WKBrowsingContextController loadRequest:userData:]):
22236        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
22237        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
22238        (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
22239        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
22240        (-[WKBrowsingContextController stopLoading]):
22241        (-[WKBrowsingContextController reload]):
22242        (-[WKBrowsingContextController reloadFromOrigin]):
22243        (-[WKBrowsingContextController goForward]):
22244        (-[WKBrowsingContextController canGoForward]):
22245        (-[WKBrowsingContextController goBack]):
22246        (-[WKBrowsingContextController canGoBack]):
22247        (-[WKBrowsingContextController activeURL]):
22248        (-[WKBrowsingContextController provisionalURL]):
22249        (-[WKBrowsingContextController committedURL]):
22250        (-[WKBrowsingContextController title]):
22251        (-[WKBrowsingContextController textZoom]):
22252        (-[WKBrowsingContextController setTextZoom:]):
22253        (-[WKBrowsingContextController pageZoom]):
22254        (-[WKBrowsingContextController setPageZoom:]):
22255        (setUpPageLoaderClient):
22256        (setUpPagePolicyClient):
22257        (-[WKBrowsingContextController setLoadDelegate:]):
22258        (-[WKBrowsingContextController setPolicyDelegate:]):
22259        (-[WKBrowsingContextController _pageRef]):
22260        (-[WKBrowsingContextController setPaginationMode:]):
22261        (-[WKBrowsingContextController paginationMode]):
22262        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]):
22263        (-[WKBrowsingContextController paginationBehavesLikeColumns]):
22264        (-[WKBrowsingContextController setPageLength:]):
22265        (-[WKBrowsingContextController pageLength]):
22266        (-[WKBrowsingContextController setGapBetweenPages:]):
22267        (-[WKBrowsingContextController gapBetweenPages]):
22268        (-[WKBrowsingContextController pageCount]):
22269
222702013-11-30  Commit Queue  <commit-queue@webkit.org>
22271
22272        Unreviewed, rolling out r159865.
22273        http://trac.webkit.org/changeset/159865
22274        https://bugs.webkit.org/show_bug.cgi?id=125037
22275
22276        the position of mouse events are wrong at MiniBrowser/efl
22277        (Requested by ryuan on #webkit).
22278
22279        * UIProcess/API/efl/EwkView.cpp:
22280        (EwkView::displayTimerFired):
22281        (EwkView::createGLSurface):
22282        (EwkView::handleEvasObjectCalculate):
22283
222842013-11-30  Sam Weinig  <sam@webkit.org>
22285
22286        [CTTE] The WebPageProxy's WebBackForwardList is never null so it should be stored in a Ref
22287        https://bugs.webkit.org/show_bug.cgi?id=125035
22288
22289        Reviewed by Dan Bernstein.
22290
22291        * UIProcess/API/C/WKPage.cpp:
22292        (WKPageGetBackForwardList):
22293        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22294        (-[WKBrowsingContextController backForwardList]): Remove null check.
22295        * UIProcess/WebBackForwardList.cpp:
22296        (WebKit::WebBackForwardList::WebBackForwardList):
22297        (WebKit::WebBackForwardList::currentItem): Constify.
22298        (WebKit::WebBackForwardList::backItem): Constify.
22299        (WebKit::WebBackForwardList::forwardItem): Constify.
22300        (WebKit::WebBackForwardList::itemAtIndex): Constify.
22301        * UIProcess/WebBackForwardList.h:
22302        (WebKit::WebBackForwardList::create):
22303        * UIProcess/WebPageProxy.cpp:
22304        (WebKit::WebPageProxy::WebPageProxy):
22305        * UIProcess/WebPageProxy.h:
22306        (WebKit::WebPageProxy::backForwardList):
22307
223082013-11-30  Zan Dobersek  <zdobersek@igalia.com>
22309
22310        Unreviewed GTK build fix after r159889.
22311
22312        * UIProcess/gtk/WebPageProxyGtk.cpp:
22313        (WebKit::WebPageProxy::viewWidget): Adjust the static cast of the PageClient reference to PageClientImpl.
22314
223152013-11-30  Sam Weinig  <sam@webkit.org>
22316
22317        [CTTE] WebPageProxy should store the PageClient as a reference
22318        https://bugs.webkit.org/show_bug.cgi?id=125030
22319
22320        Reviewed by Dan Bernstein.
22321
22322        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
22323        (webkitWebViewBaseCreateWebPage):
22324        * UIProcess/API/ios/WKContentView.mm:
22325        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
22326        * UIProcess/API/mac/WKView.mm:
22327        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
22328        * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp:
22329        (WebKit::WebPageProxy::didFindZoomableArea):
22330        * UIProcess/CoordinatedGraphics/WebView.cpp:
22331        (WebKit::WebView::WebView):
22332        * UIProcess/WebContext.cpp:
22333        (WebKit::WebContext::createWebPage):
22334        * UIProcess/WebContext.h:
22335        * UIProcess/WebPageProxy.cpp:
22336        (WebKit::WebPageProxy::create):
22337        (WebKit::WebPageProxy::WebPageProxy):
22338        (WebKit::WebPageProxy::reattachToWebProcess):
22339        (WebKit::WebPageProxy::initializeWebPage):
22340        (WebKit::WebPageProxy::close):
22341        (WebKit::WebPageProxy::setViewNeedsDisplay):
22342        (WebKit::WebPageProxy::displayView):
22343        (WebKit::WebPageProxy::canScrollView):
22344        (WebKit::WebPageProxy::scrollView):
22345        (WebKit::WebPageProxy::updateViewState):
22346        (WebKit::WebPageProxy::viewStateDidChange):
22347        (WebKit::WebPageProxy::viewSize):
22348        (WebKit::WebPageProxy::startDrag):
22349        (WebKit::WebPageProxy::handleTouchEvent):
22350        (WebKit::WebPageProxy::preferencesDidChange):
22351        (WebKit::WebPageProxy::didCommitLoadForFrame):
22352        (WebKit::WebPageProxy::closePage):
22353        (WebKit::WebPageProxy::setWindowFrame):
22354        (WebKit::WebPageProxy::getWindowFrame):
22355        (WebKit::WebPageProxy::screenToWindow):
22356        (WebKit::WebPageProxy::windowToScreen):
22357        (WebKit::WebPageProxy::pageDidRequestScroll):
22358        (WebKit::WebPageProxy::pageTransitionViewportReady):
22359        (WebKit::WebPageProxy::didRenderFrame):
22360        (WebKit::WebPageProxy::didChangeViewportProperties):
22361        (WebKit::WebPageProxy::handleDownloadRequest):
22362        (WebKit::WebPageProxy::didChangeContentSize):
22363        (WebKit::WebPageProxy::showColorPicker):
22364        (WebKit::WebPageProxy::editorStateChanged):
22365        (WebKit::WebPageProxy::canUndoRedo):
22366        (WebKit::WebPageProxy::executeUndoRedo):
22367        (WebKit::WebPageProxy::clearAllEditCommands):
22368        (WebKit::WebPageProxy::setFindIndicator):
22369        (WebKit::WebPageProxy::showPopupMenu):
22370        (WebKit::WebPageProxy::internalShowContextMenu):
22371        (WebKit::WebPageProxy::registerEditCommand):
22372        (WebKit::WebPageProxy::setToolTip):
22373        (WebKit::WebPageProxy::setCursor):
22374        (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves):
22375        (WebKit::WebPageProxy::didReceiveEvent):
22376        (WebKit::WebPageProxy::processDidCrash):
22377        (WebKit::WebPageProxy::resetStateAfterProcessExited):
22378        (WebKit::WebPageProxy::initializeCreationParameters):
22379        (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
22380        (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
22381        (WebKit::WebPageProxy::updateAcceleratedCompositingMode):
22382        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
22383        (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
22384        (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
22385        (WebKit::WebPageProxy::showCorrectionPanel):
22386        (WebKit::WebPageProxy::dismissCorrectionPanel):
22387        (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
22388        (WebKit::WebPageProxy::recordAutocorrectionResponse):
22389        (WebKit::WebPageProxy::showDictationAlternativeUI):
22390        (WebKit::WebPageProxy::removeDictationAlternatives):
22391        (WebKit::WebPageProxy::dictationAlternatives):
22392        * UIProcess/WebPageProxy.h:
22393        * UIProcess/WebProcessProxy.cpp:
22394        (WebKit::WebProcessProxy::createWebPage):
22395        * UIProcess/WebProcessProxy.h:
22396        * UIProcess/gtk/WebPageProxyGtk.cpp:
22397        (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
22398        * UIProcess/ios/WebPageProxyIOS.mm:
22399        (WebKit::WebPageProxy::interpretKeyEvent):
22400        (WebKit::WebPageProxy::mainDocumentDidReceiveMobileDocType):
22401        (WebKit::WebPageProxy::didGetTapHighlightGeometries):
22402        (WebKit::WebPageProxy::didChangeViewportArguments):
22403        (WebKit::WebPageProxy::startAssistingNode):
22404        (WebKit::WebPageProxy::stopAssistingNode):
22405        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
22406        * UIProcess/mac/WebPageProxyMac.mm:
22407        (WebKit::WebPageProxy::windowAndViewFramesChanged):
22408        (WebKit::WebPageProxy::insertDictatedText):
22409        (WebKit::WebPageProxy::setDragImage):
22410        (WebKit::WebPageProxy::setPromisedData):
22411        (WebKit::WebPageProxy::interpretQueuedKeyEvent):
22412        (WebKit::WebPageProxy::didPerformDictionaryLookup):
22413        (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
22414        (WebKit::WebPageProxy::makeFirstResponder):
22415        (WebKit::WebPageProxy::colorSpace):
22416        (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
22417        (WebKit::WebPageProxy::setPluginComplexTextInputState):
22418        (WebKit::WebPageProxy::executeSavedCommandBySelector):
22419        (WebKit::WebPageProxy::wkView):
22420        (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
22421        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
22422
224232013-11-30  Sam Weinig  <sam@webkit.org>
22424
22425        [RTTE] The PermissionRequestManagerProxies should use WebPageProxy references.
22426        https://bugs.webkit.org/show_bug.cgi?id=125029
22427
22428        Reviewed by Dan Bernstein.
22429
22430        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
22431        (WebKit::GeolocationPermissionRequestManagerProxy::GeolocationPermissionRequestManagerProxy):
22432        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
22433        (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
22434        * UIProcess/GeolocationPermissionRequestManagerProxy.h:
22435        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
22436        (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
22437        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
22438        (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
22439        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
22440        * UIProcess/WebPageProxy.cpp:
22441        (WebKit::WebPageProxy::WebPageProxy):
22442        Do some additional modernization while we are here.
22443
224442013-11-30  Dan Bernstein  <mitz@apple.com>
22445
22446        <rdar://problem/15560240> ResourceError encoding drops NSURL-valued keys in the NSError’s userInfo, including NSErrorFailingURLKey
22447        https://bugs.webkit.org/show_bug.cgi?id=125016
22448
22449        Reviewed by Anders “happy name day” Carlsson.
22450
22451        * Shared/mac/WebCoreArgumentCodersMac.mm:
22452        (CoreIPC::::encodePlatformData): Encode all string- and URL-valued keys as a dictionary.
22453        (CoreIPC::::decodePlatformData): Decode user info as a dictionary.
22454
224552013-11-29  Zan Dobersek  <zdobersek@igalia.com>
22456
22457        Unreviewed build fix for EFL and GTK WK2 builds.
22458
22459        * Scripts/generate-forwarding-headers.pl: Add Cocoa to the list of platform prefixes.
22460
224612013-11-29  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
22462
22463        Fix build warnings in WebKit2
22464        https://bugs.webkit.org/show_bug.cgi?id=125012
22465
22466        Reviewed by Anders Carlsson.
22467
22468        fix unused parameter warnings in the following files:
22469
22470        * Platform/gtk/WorkQueueGtk.cpp:
22471        (WorkQueue::SocketEventSource::eventCallback):
22472        * Shared/API/c/WKDeprecatedFunctions.cpp:
22473        (WKArrayIsMutable):
22474        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22475        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
22476        (WebKit::WebChromeClient::didAddHeaderLayer):
22477        (WebKit::WebChromeClient::didAddFooterLayer):
22478        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
22479        (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
22480
224812013-11-29  Sam Weinig  <sam@webkit.org>
22482
22483        [Cocoa] Add a little template magic to the inline API::Object storage to remove the need for all the reinterpret_casts
22484        https://bugs.webkit.org/show_bug.cgi?id=125024
22485
22486        Reviewed by Dan Bernstein.
22487
22488        Introduce API::ObjectStorage which wraps std::aligned_storage and adds some convenience functions
22489        to reinterpret the data as the corresponding type. Deploy it everywhere we were previously using 
22490        std::aligned_storage.
22491
22492        * Shared/Cocoa/WKNSArray.mm:
22493        * Shared/Cocoa/WKNSDictionary.mm:
22494        * Shared/Cocoa/WKObject.h:
22495        * UIProcess/API/Cocoa/WKBackForwardList.mm:
22496        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
22497        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22498        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
22499        * UIProcess/API/Cocoa/WKNavigationData.mm:
22500        * UIProcess/API/Cocoa/WKProcessGroup.mm:
22501
225022013-11-29  Sam Weinig  <sam@webkit.org>
22503
22504        Fix crashing API tests.
22505
22506        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22507        (-[WKBrowsingContextController dealloc]):
22508
225092013-11-29  Sam Weinig  <sam@webkit.org>
22510
22511        Fix some style boo-boos.
22512
22513        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22514        (-[WKBrowsingContextController loadDelegate]):
22515        (-[WKBrowsingContextController setLoadDelegate:]):
22516        (-[WKBrowsingContextController policyDelegate]):
22517        (-[WKBrowsingContextController setPolicyDelegate:]):
22518
225192013-11-29  Sam Weinig  <sam@webkit.org>
22520
22521        Fix the iOS build.
22522
22523        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22524        (-[WKBrowsingContextController loadDelegate]):
22525        (-[WKBrowsingContextController policyDelegate]):
22526        (-[WKBrowsingContextController setPolicyDelegate:]):
22527
225282013-11-29  Sam Weinig  <sam@webkit.org>
22529
22530        [Cocoa] Make WKBrowsingContextController work with WKObject wrapping
22531        https://bugs.webkit.org/show_bug.cgi?id=125022
22532
22533        Reviewed by Dan Bernstein.
22534
22535        * Shared/Cocoa/APIObject.mm:
22536        (API::Object::newObject):
22537        
22538        * Shared/mac/ObjCObjectGraphCoders.mm:
22539        Add support for WKProcessGroup.
22540
22541        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
22542        Replace call to _browsingContextControllerForPageRef: with wrapper.
22543
22544        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22545        Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline.
22546
22547        (-[WKBrowsingContextController dealloc]):
22548        Add explicit destructor call.
22549
22550        (-[WKBrowsingContextController setLoadDelegate:]):
22551        (-[WKBrowsingContextController setPolicyDelegate:]):
22552        Lazily set up the load and policy clients only once a delegate has been set to allow
22553        continued use of the C-SPI clients for WebKitTestRunner.
22554
22555        (-[WKBrowsingContextController _finishInitialization]):
22556        Move remaining work that was done in the initialize (setting up the observer) here,
22557        and have the WebPageProxy call it.
22558
22559        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
22560        (WebKit::wrapper):
22561        Add wrapper() helper and declare conformance to the WKObject protocol. Remove no longer used
22562        _initWithPageRef: and _browsingContextControllerForPageRef: helpers.
22563
22564        * UIProcess/API/Cocoa/WKProcessGroup.mm:
22565        (didNavigateWithNavigationData):
22566        (didPerformClientRedirect):
22567        (didPerformServerRedirect):
22568        (didUpdateHistoryTitle):
22569        Switch to using wrapper().
22570
22571        * UIProcess/API/ios/WKContentView.mm:
22572        * UIProcess/API/mac/WKView.mm:
22573        Stop caching the WKBrowsingContextController, as it no long makes sense since it is the same object
22574        as the WebPageProxy.
22575
22576        * UIProcess/mac/WebPageProxyMac.mm:
22577        (WebKit::WebPageProxy::platformInitialize):
22578        Inform the wrapper that it is safe to finish initialization.
22579
225802013-11-29  Dan Bernstein  <mitz@apple.com>
22581
22582        [Cocoa] Add a way to recover from load errors
22583        https://bugs.webkit.org/show_bug.cgi?id=125020
22584
22585        Reviewed by Sam Weinig.
22586
22587        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22588        (createErrorWithRecoveryAttempter): Added this helper function. It creates an NSError from
22589        the given error, adding two keys to the user info dictionary: the context controller under
22590        the recovery attempter key, and the frame under a private key.
22591        (didFailProvisionalLoadWithErrorForFrame): Changed to use createErrorWithRecoveryAttempter.
22592        (didFailLoadWithErrorForFrame): Ditto.
22593        (-[WKBrowsingContextController attemptRecoveryFromError:]): Implemented this
22594        WKErrorRecoveryAttempting protocol method by loading the failing URL from the error into the
22595        frame from the error.
22596
22597        * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h: Added. Defines a protocol for attempting
22598        recovery from errors and declares the error user info dictionary key under which an object
22599        conforming to this protocol may be stored.
22600        * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Added. Defines
22601        WKRecoveryAttempterErrorKey.
22602
22603        * UIProcess/WebFrameProxy.cpp:
22604        (WebKit::WebFrameProxy::loadURL): Added. Sends the LoadURLInFrame message to the page.
22605        * UIProcess/WebFrameProxy.h:
22606
22607        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
22608
22609        * WebProcess/WebPage/WebPage.cpp:
22610        (WebKit::WebPage::loadURLInFrame): Added. Loads the URL in the given frame.
22611        * WebProcess/WebPage/WebPage.h:
22612        * WebProcess/WebPage/WebPage.messages.in: Added LoadURLInFrame.
22613
226142013-11-29  Dan Bernstein  <mitz@apple.com>
22615
22616        [Cocoa] Expose loadAlternateHTMLString via the API
22617        https://bugs.webkit.org/show_bug.cgi?id=125019
22618
22619        Reviewed by Sam Weinig.
22620
22621        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new method.
22622        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22623        (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]): Added.
22624        Calls WebPageProxy::loadAlternateHTMLString.
22625
226262013-11-29  Sam Weinig  <sam@webkit.org>
22627
22628        Move API files shared between Mac and iOS to the Cocoa directory
22629        https://bugs.webkit.org/show_bug.cgi?id=125017
22630
22631        Reviewed by Dan Bernstein.
22632
22633        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h.
22634        * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm.
22635        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.
22636        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h.
22637        * UIProcess/API/Cocoa/WKBrowsingContextGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h.
22638        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm.
22639        * UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
22640        * UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h.
22641        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h.
22642        * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h.
22643        * UIProcess/API/Cocoa/WKConnection.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.h.
22644        * UIProcess/API/Cocoa/WKConnection.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.mm.
22645        * UIProcess/API/Cocoa/WKConnectionInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h.
22646        * UIProcess/API/Cocoa/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h.
22647        * UIProcess/API/Cocoa/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm.
22648        * UIProcess/API/Cocoa/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
22649        * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h.
22650        * UIProcess/API/Cocoa/WKTypeRefWrapper.h: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h.
22651        * UIProcess/API/Cocoa/WKTypeRefWrapper.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm.
22652        * UIProcess/API/Cocoa/WKView.h: Copied from Source/WebKit2/UIProcess/API/mac/WKView.h.
22653        * UIProcess/API/Cocoa/WKViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h.
22654        * UIProcess/API/Cocoa/WebKit2.h: Copied from Source/WebKit2/UIProcess/API/mac/WebKit2.h.
22655        * UIProcess/API/mac/WKBrowsingContextController.h: Removed.
22656        * UIProcess/API/mac/WKBrowsingContextController.mm: Removed.
22657        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Removed.
22658        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Removed.
22659        * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed.
22660        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed.
22661        * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Removed.
22662        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Removed.
22663        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed.
22664        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Removed.
22665        * UIProcess/API/mac/WKConnection.h: Removed.
22666        * UIProcess/API/mac/WKConnection.mm: Removed.
22667        * UIProcess/API/mac/WKConnectionInternal.h: Removed.
22668        * UIProcess/API/mac/WKProcessGroup.h: Removed.
22669        * UIProcess/API/mac/WKProcessGroup.mm: Removed.
22670        * UIProcess/API/mac/WKProcessGroupInternal.h: Removed.
22671        * UIProcess/API/mac/WKProcessGroupPrivate.h: Removed.
22672        * UIProcess/API/mac/WKTypeRefWrapper.h: Removed.
22673        * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed.
22674        * UIProcess/API/mac/WKView.h: Removed.
22675        * UIProcess/API/mac/WKViewPrivate.h: Removed.
22676        * UIProcess/API/mac/WebKit2.h: Removed.
22677        * WebKit2.xcodeproj/project.pbxproj:
22678
226792013-11-29  Hunseop Jeong  <hs85.jeong@samsung.com>
22680
22681        [EFL] viewport must be same with the size of webview
22682        https://bugs.webkit.org/show_bug.cgi?id=124965
22683
22684        Reviewed by Gyuyoung Kim.
22685
22686        Currently, size of the viewport is larger than size of webview.
22687        Changed the size of viewport with size of webview, because viewport is translated by wrong calculation.
22688
22689        * UIProcess/API/efl/EwkView.cpp:
22690        (EwkView::displayTimerFired): Changed to use the (0,0). 
22691        (EwkView::createGLSurface): Modified to use the viewSize instead of the boundsEnd.
22692        (EwkView::handleEvasObjectCalculate): Removed the WKViewSetUserViewportTranslation.
22693
226942013-11-28  Eunmi Lee  <eunmi15.lee@samsung.com>
22695
22696        [CoordinatedGraphics][WK2] Correct wrong usage of m_contentPosition variable in the WebView.
22697        https://bugs.webkit.org/show_bug.cgi?id=118548
22698
22699        Reviewed by Noam Rosenthal.
22700
22701        CoordinatedGraphics uses its own scaling logic - contents scaling - and
22702        WebView of CoordinatedGraphics maintains contents position by scaling
22703        with contents scaling factor.
22704        However transformToScene() and updateViewportSize() of WebView regard
22705        the contents position as a non-scaled value, so it should be fixed.
22706
22707        * UIProcess/CoordinatedGraphics/WebView.cpp:
22708        (WebKit::WebView::transformToScene):
22709        (WebKit::WebView::updateViewportSize):
22710
227112013-11-28  Ryuan Choi  <ryuan.choi@samsung.com>
22712
22713        [EFL] PageViewportController does not need to be unique_ptr instance
22714        https://bugs.webkit.org/show_bug.cgi?id=124993
22715
22716        Reviewed by Gyuyoung Kim.
22717
22718        PageViewportController and PageViewportControllerEfl have same life cycle
22719        with EwkView. So, we don't need to make them as unique_ptr instance.
22720
22721        * UIProcess/API/efl/EwkView.cpp:
22722        (EwkView::EwkView):
22723        (EwkView::handleEvasObjectCalculate):
22724        (EwkView::scrollBy):
22725        * UIProcess/API/efl/EwkView.h:
22726        (EwkView::pageViewportController):
22727        * UIProcess/efl/PageLoadClientEfl.cpp:
22728        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
22729        * UIProcess/efl/ViewClientEfl.cpp:
22730        (WebKit::ViewClientEfl::didChangeContentsSize):
22731        (WebKit::ViewClientEfl::didChangeContentsPosition):
22732        (WebKit::ViewClientEfl::didRenderFrame):
22733        (WebKit::ViewClientEfl::didCompletePageTransition):
22734        (WebKit::ViewClientEfl::didChangeViewportAttributes):
22735
227362013-11-28  Nick Diego Yamane  <nick.yamane@openbossa.org>
22737
22738        [GTK] Build fix after r159859
22739        https://bugs.webkit.org/show_bug.cgi?id=124992
22740
22741        Reviewed by Gyuyoung Kim.
22742
22743        * UIProcess/API/gtk/PageClientImpl.cpp:
22744        (WebKit::PageClientImpl::didCommitLoadForMainFrame): Added.
22745        * UIProcess/API/gtk/PageClientImpl.h:
22746
227472013-11-28  Jinwoo Song  <jinwoo7.song@samsung.com>
22748
22749        [EFL] Build fix after r159859
22750        https://bugs.webkit.org/show_bug.cgi?id=124991
22751
22752        Reviewed by Gyuyoung Kim.
22753
22754        Redefined newly added pure virtual function in PageClient class after r159859.
22755
22756        * UIProcess/CoordinatedGraphics/WebView.cpp:
22757        (WebKit::WebView::didCommitLoadForMainFrame):
22758        * UIProcess/CoordinatedGraphics/WebView.h:
22759
227602013-11-27  Sam Weinig  <sam@webkit.org>
22761
22762        Perform some spring cleaning to WKContentView and WKView
22763        https://bugs.webkit.org/show_bug.cgi?id=124961
22764
22765        Reviewed by Dan Bernstein.
22766
22767        - Store the PageClientImpl in a std::unique_ptr.
22768        - Remove the WKBrowsingContextController internal load delegate. Replace its use with
22769          a new PageClient function, didCommitLoadForMainFrame.
22770        - Fix typo in the WKContentViewDelegate. contentViewdidCommitLoadForMainFrame -> contentViewDidCommitLoadForMainFrame.
22771        - Add initializers for WKContentView and WKView that take WKContextRefs and WKPageGroupRefs to match the Mac WKView.
22772          These are needed for WebKitTestRunner.
22773        - Require a WKProcessGroup (or WKContextRef) and a WKBrowsingContextGroup (or WKPageGroupRef).
22774        - Stop caching the WKProcessGroup and WKBrowsingContextGroup on the WKContentView.
22775        - Remove incorrect implementations of initWithCoder.
22776        - Make WKContentView lazily create its WKBrowsingContextController wrapper.
22777
22778        * UIProcess/API/ios/PageClientImplIOS.h:
22779        * UIProcess/API/ios/PageClientImplIOS.mm:
22780        (WebKit::PageClientImpl::PageClientImpl):
22781        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
22782        (WebKit::PageClientImpl::mainDocumentDidReceiveMobileDocType):
22783        * UIProcess/API/ios/WKContentView.h:
22784        * UIProcess/API/ios/WKContentView.mm:
22785        (-[WKContentView initWithCoder:]):
22786        (-[WKContentView initWithFrame:processGroup:browsingContextGroup:]):
22787        (-[WKContentView browsingContextController]):
22788        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
22789        (-[WKContentView _didCommitLoadForMainFrame]):
22790        (-[WKContentView _didReceiveMobileDocTypeForMainFrame]):
22791        (-[WKContentView _didChangeViewportArguments:WebCore::]):
22792        (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
22793        (-[WKContentView _pageRef]):
22794        (-[WKContentView initWithFrame:contextRef:pageGroupRef:]):
22795        (-[WKContentView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
22796        * UIProcess/API/ios/WKContentViewInternal.h:
22797        * UIProcess/API/ios/WKContentViewPrivate.h: Added.
22798        * UIProcess/API/ios/WKView.mm:
22799        (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
22800        (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
22801        (-[WKView contentViewDidCommitLoadForMainFrame:]):
22802        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
22803        (-[WKView pageRef]):
22804        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
22805        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
22806        * UIProcess/API/mac/PageClientImpl.h:
22807        * UIProcess/API/mac/PageClientImpl.mm:
22808        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
22809        * UIProcess/API/mac/WKBrowsingContextController.mm:
22810        (didCommitLoadForFrame):
22811        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
22812        * UIProcess/API/mac/WKViewPrivate.h:
22813        * UIProcess/PageClient.h:
22814        * UIProcess/WebPageProxy.cpp:
22815        (WebKit::WebPageProxy::didCommitLoadForFrame):
22816
228172013-11-28  Éva Balázsfalvi  <balazsfalvi.eva@stud.u-szeged.hu>
22818
22819        Buildfix after r159824 for GCC 4.6
22820        https://bugs.webkit.org/show_bug.cgi?id=124968
22821
22822        Reviewed by Csaba Osztrogonác.
22823
22824        Added explicit "friend class", because GCC 4.6 doesn't support extended friend declaration (c++11)
22825
22826        * Shared/APIObject.h:
22827
228282013-11-28  Antti Koivisto  <antti@apple.com>
22829
22830        Remove feature: CSS variables
22831        https://bugs.webkit.org/show_bug.cgi?id=114119
22832
22833        Reviewed by Andreas Kling.
22834
22835        * Configurations/FeatureDefines.xcconfig:
22836
228372013-11-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
22838
22839        [GTK] Support custom types for drag and drop data
22840        https://bugs.webkit.org/show_bug.cgi?id=124659
22841
22842        Reviewed by Martin Robinson.
22843
22844        * Shared/gtk/ArgumentCodersGtk.cpp:
22845        (CoreIPC::encodeDataObject): encode the unknown types data.
22846        (CoreIPC::decodeDataObject): decode the unknown types data.
22847
228482013-11-27  Sam Weinig  <sam@webkit.org>
22849
22850        Give the PageClient a chance to handle geolocation permission requests if the UIClient doesn't handle it
22851        https://bugs.webkit.org/show_bug.cgi?id=124955
22852
22853        Reviewed by Dan Bernstein.
22854
22855        Use the new PageClient function to remove the need for WKContentView to take over the WKPageUIClient.
22856
22857        * UIProcess/API/ios/PageClientImplIOS.h:
22858        * UIProcess/API/ios/PageClientImplIOS.mm:
22859        (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
22860        * UIProcess/API/ios/WKContentView.mm:
22861        (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
22862        (-[WKContentView _commonInitWithProcessGroup:browsingContextGroup:]):
22863        * UIProcess/API/ios/WKContentViewInternal.h:
22864        * UIProcess/PageClient.h:
22865        (WebKit::PageClient::decidePolicyForGeolocationPermissionRequest):
22866        * UIProcess/WebPageProxy.cpp:
22867        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
22868
228692013-11-27  Sam Weinig  <sam@webkit.org>
22870
22871        Fix the iOS build.
22872
22873        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
22874        * UIProcess/API/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
22875
228762013-11-27  Sam Weinig  <sam@webkit.org>
22877
22878        Add accessors for the WKProcessGroup and WKBrowsingContextGroup on the WKBrowsingContextController
22879        https://bugs.webkit.org/show_bug.cgi?id=124953
22880
22881        Reviewed by Dan Bernstein.
22882
22883        * UIProcess/API/mac/WKBrowsingContextController.h:
22884        * UIProcess/API/mac/WKBrowsingContextController.mm:
22885        (-[WKBrowsingContextController processGroup]):
22886        (-[WKBrowsingContextController browsingContextGroup]):
22887        Add accessors.
22888
228892013-11-27  Sam Weinig  <sam@webkit.org>
22890
22891        Make WKProcessGroup work with WKObject wrapping
22892        https://bugs.webkit.org/show_bug.cgi?id=124952
22893
22894        Reviewed by Dan Bernstein.
22895
22896        * Shared/Cocoa/APIObject.mm:
22897        (API::Object::newObject):
22898        Add support for WKProcessGroup.
22899
22900        * UIProcess/API/mac/WKProcessGroup.mm:
22901        (-[WKProcessGroup initWithInjectedBundleURL:]):
22902        (-[WKProcessGroup dealloc]):
22903        (-[WKProcessGroup API::]):
22904        (-[WKProcessGroup _contextRef]):
22905        (-[WKProcessGroup _geolocationProvider]):
22906        Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline
22907
22908        * UIProcess/API/mac/WKProcessGroupInternal.h: Added.
22909        (WebKit::wrapper):
22910        Add wrapper() helper and declare conformance to the WKObject protocol.
22911
22912        * UIProcess/WebContext.cpp:
22913        (WebKit::WebContext::create):
22914        (WebKit::WebContext::WebContext):
22915        * UIProcess/WebContext.h:
22916        Make the WebContext constructor public (for use with Object::constructInWrapper) and remove unused ProcessModel parameter.
22917
22918        * WebKit2.xcodeproj/project.pbxproj:
22919        Add new file.
22920
229212013-11-27  Sam Weinig  <sam@webkit.org>
22922
22923        Make WKBrowsingContextGroup work with WKObject wrapping
22924        https://bugs.webkit.org/show_bug.cgi?id=124948
22925
22926        Reviewed by Dan Bernstein.
22927
22928        - Adds mechanism to use the inline data wrapping mechanism when the Objective-C wrapper is created
22929          by the caller (rather than by Object::newObject).
22930        - Adopts the mechanism for WKBrowsingContextGroup.
22931
22932        * Shared/APIObject.h:
22933        (API::Object::constructInWrapper):
22934        Add a helper which does a forwarding placement-new into the API::Object of the passed in wrapper, after which it sets up m_wrapper.
22935
22936        (API::TypedObject::operator new):
22937        Add a operator new to for placement-new. Also make TypedObject friends with Object so that constructInWrapper can call this.
22938
22939        * Shared/Cocoa/APIObject.mm:
22940        (API::Object::newObject):
22941        Add support for WKBrowsingContextGroup.
22942
22943        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
22944        (-[WKBrowsingContextGroup API::]):
22945        (-[WKBrowsingContextGroup dealloc]):
22946        (-[WKBrowsingContextGroup initWithIdentifier:]):
22947        (-[WKBrowsingContextGroup allowsJavaScript]):
22948        (-[WKBrowsingContextGroup setAllowsJavaScript:]):
22949        (-[WKBrowsingContextGroup allowsJavaScriptMarkup]):
22950        (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]):
22951        (-[WKBrowsingContextGroup allowsPlugIns]):
22952        (-[WKBrowsingContextGroup setAllowsPlugIns:]):
22953        (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]):
22954        (-[WKBrowsingContextGroup removeAllUserStyleSheets]):
22955        (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
22956        (-[WKBrowsingContextGroup removeAllUserScripts]):
22957        (-[WKBrowsingContextGroup _pageGroupRef]):
22958        Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline (modeled on WKBackForwardList).
22959
22960        * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added.
22961        (WebKit::wrapper):
22962        Add wrapper() helper and declare conformance to the WKObject protocol.
22963
22964        * UIProcess/WebPageGroup.cpp:
22965        (WebKit::WebPageGroup::create):
22966        (WebKit::WebPageGroup::WebPageGroup):
22967        * UIProcess/WebPageGroup.h:
22968        Make the WebPageGroup constructor public (for use with Object::constructInWrapper) and move being set in the webPageGroupMap()
22969        to the constructor.
22970
22971        * WebKit2.xcodeproj/project.pbxproj:
22972        Add new file.
22973
229742013-11-27  Nick Diego Yamane  <nick.yamane@openbossa.org>
22975
22976        Remove Qt-specific .qrc files
22977        https://bugs.webkit.org/show_bug.cgi?id=124944
22978
22979        Reviewed by Andreas Kling.
22980
22981        * WebKit2.qrc: Removed.
22982
229832013-11-27  Zan Dobersek  <zdobersek@igalia.com>
22984
22985        [GTK] Programs/WebKit2APITests/TestWebKitSettings unit test is failing
22986        https://bugs.webkit.org/show_bug.cgi?id=124924
22987
22988        Reviewed by Carlos Garcia Campos.
22989
22990        'Chrome'/'Chromium' substrings were removed from the user agent string in r159572, meaning the unit
22991        test shouldn't check for those two substrings anymore. Instead, 'Safari' (as until now) and 'AppleWebKit'
22992        substrings should be checked for.
22993
22994        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
22995        (testWebKitSettingsUserAgent):
22996
229972013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
22998
22999        [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
23000        https://bugs.webkit.org/show_bug.cgi?id=121943
23001
23002        Reviewed by Eric Carlson.
23003
23004        Add mediastream module and platform to cmake include directories.
23005
23006        * CMakeLists.txt:
23007
230082013-11-26  Dan Bernstein  <mitz@apple.com>
23009
23010        Some WebKit2 headers are not self-contained
23011        https://bugs.webkit.org/show_bug.cgi?id=124884
23012
23013        Reviewed by Anders Carlsson.
23014
23015        * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added import.
23016        * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Ditto.
23017        * Shared/API/c/WKContextMenuItemTypes.h: Added include.
23018        * Shared/API/c/WKFindOptions.h: Ditto.
23019        * Shared/API/c/WKMutableArray.h: Ditto.
23020        * Shared/API/c/WKPageLoadTypes.h: Ditto.
23021        * Shared/API/c/WKPageVisibilityTypes.h: Ditto.
23022
23023        * Shared/API/c/WKPluginInformation.cpp:
23024        (WKPluginInformationBundleIdentifierKey): Made this API function always be defined. When
23025        the Netscape plug-in API is not enabled, it returns 0.
23026        (WKPluginInformationBundleVersionKey): Ditto.
23027        (WKPluginInformationBundleShortVersionKey): Ditto.
23028        (WKPluginInformationPathKey): Ditto.
23029        (WKPluginInformationDisplayNameKey): Ditto.
23030        (WKPluginInformationDefaultLoadPolicyKey): Ditto.
23031        (WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey): Ditto.
23032        (WKPluginInformationHasSandboxProfileKey): Ditto.
23033        (WKPluginInformationFrameURLKey): Ditto.
23034        (WKPluginInformationMIMETypeKey): Ditto.
23035        (WKPluginInformationPageURLKey): Ditto.
23036        (WKPluginInformationPluginspageAttributeURLKey): Ditto.
23037        (WKPluginInformationPluginURLKey): Ditto.
23038        (WKPlugInInformationReplacementObscuredKey): Ditto.
23039
23040        * Shared/API/c/WKString.h: Added include.
23041        * UIProcess/API/C/WKCredentialTypes.h: Ditto.
23042        * UIProcess/API/C/WKPageContextMenuClient.h: Ditto.
23043        * UIProcess/API/C/WKPageLoaderClient.h: Added includes.
23044        * UIProcess/API/C/WKPagePolicyClient.h: Ditto.
23045        * UIProcess/API/C/WKPageUIClient.h: Ditto.
23046
23047        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
23048        (WKPluginSiteDataManagerGetTypeID): Fixed the !ENABLE(NETSCAPE_PLUGIN_API) build.
23049
23050        * UIProcess/API/C/mac/WKContextPrivateMac.h: Removed use of ENABLE() from this private
23051        header.
23052        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
23053        (WKContextCopyPlugInInfoForBundleIdentifier): Made this API function always be defined.
23054        When the Netscape plug-in API is not enabled, it returns 0.
23055        (WKContextGetInfoForInstalledPlugIns): Made this API function always be defined.
23056
23057        * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Added imports.
23058        * UIProcess/API/C/mac/WKPagePrivateMac.h: Added include.
23059        * UIProcess/API/Cocoa/WKBackForwardListItem.h: Added import.
23060        * UIProcess/API/Cocoa/WKNavigationData.h: Ditto.
23061        * UIProcess/API/cpp/WKRetainPtr.h: Replaced use of WARN_UNUSED_RETURN in this private header
23062        with an equivalent macro defined in the header.
23063
23064        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Added include.
23065        * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
23066        (WKBundleInspectorGetTypeID): Made this API function always be defined. When the Inspector
23067        is not enabled, it returns the Null type.
23068        (WKBundleInspectorShow): Made this API function always be defined.
23069        (WKBundleInspectorClose): Ditto.
23070        (WKBundleInspectorEvaluateScriptForTest): Ditto.
23071        (WKBundleInspectorSetPageProfilingEnabled): Ditto.
23072        * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Removed use of ENABLE() from this
23073        private header.
23074
23075        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added includes.
23076        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added include.
23077
23078        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
23079        (-[WKNPAPIPlugInContainer openPlugInPreferencePane]): Fixed the !ENABLE(NETSCAPE_PLUGIN_API)
23080        build.
23081
23082        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23083        (WebKit::WebFrameLoaderClient::createJavaAppletWidget): Ditto.
23084
23085        * WebProcess/WebPage/mac/WebInspectorMac.mm: Fixed the !ENABLE(INSPECTOR) build.
23086
230872013-11-25  Dan Bernstein  <mitz@apple.com>
23088
23089        [Cocoa] Use class extensions for IPI
23090        https://bugs.webkit.org/show_bug.cgi?id=124870
23091
23092        Reviewed by Sam Weinig.
23093
23094        * UIProcess/API/mac/WKBrowsingContextController.mm: Reordered methods so that the Private
23095        cateogry isn’t stuck between the API methods and the internal methods.
23096        (-[WKBrowsingContextController setPaginationMode:]):
23097        (-[WKBrowsingContextController paginationMode]):
23098        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]):
23099        (-[WKBrowsingContextController paginationBehavesLikeColumns]):
23100        (-[WKBrowsingContextController setPageLength:]):
23101        (-[WKBrowsingContextController pageLength]):
23102        (-[WKBrowsingContextController setGapBetweenPages:]):
23103        (-[WKBrowsingContextController gapBetweenPages]):
23104        (-[WKBrowsingContextController pageCount]):
23105        (-[WKBrowsingContextController handle]):
23106        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Changed Internal category into
23107        a class extension.
23108
23109        * UIProcess/API/mac/WKConnection.mm:
23110        * UIProcess/API/mac/WKConnectionInternal.h: Changed Internal category into a class
23111        extension.
23112
23113        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
23114        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Ditto.
23115
231162013-11-25  Dan Bernstein  <mitz@apple.com>
23117
23118        Fixed the iOS build.
23119
23120        * UIProcess/API/mac/WKBrowsingContextController.mm:
23121        (-[WKBrowsingContextController loadDelegateInternal]):
23122        (-[WKBrowsingContextController setLoadDelegateInternal:]):
23123
231242013-11-25  Dan Bernstein  <mitz@apple.com>
23125
23126        [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
23127        https://bugs.webkit.org/show_bug.cgi?id=123065
23128
23129        Reviewed by Sam Weinig.
23130
23131        * UIProcess/API/mac/WKBrowsingContextController.h: Removed _data ivar and
23132        WKBrowsingContextControllerData class declaration.
23133        * UIProcess/API/mac/WKBrowsingContextController.mm:
23134        (-[WKBrowsingContextController dealloc]): Removed
23135        WKBrowsingContextControllerData class and moved ivars directly into
23136        WKBrowsingContextController, declaring them in the @implementation. Removed ivar and
23137        accessors for the delegate properties, letting the compiler synthesize them.
23138        (-[WKBrowsingContextController _pageRef]): Removed indirection via _data.
23139        (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
23140        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
23141        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
23142        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): Ditto.
23143        (-[WKBrowsingContextController stopLoading]): Ditto.
23144        (-[WKBrowsingContextController reload]): Ditto.
23145        (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
23146        (-[WKBrowsingContextController goForward]): Ditto.
23147        (-[WKBrowsingContextController canGoForward]): Ditto.
23148        (-[WKBrowsingContextController goBack]): Ditto.
23149        (-[WKBrowsingContextController canGoBack]): Ditto.
23150        (-[WKBrowsingContextController goToBackForwardListItem:]): Ditto.
23151        (-[WKBrowsingContextController backForwardList]): Ditto.
23152        (-[WKBrowsingContextController activeURL]): Ditto.
23153        (-[WKBrowsingContextController provisionalURL]): Ditto.
23154        (-[WKBrowsingContextController committedURL]): Ditto.
23155        (-[WKBrowsingContextController unreachableURL]): Removed idirection via _data.
23156        (-[WKBrowsingContextController estimatedProgress]): Removed indirection via -_pageRef.
23157        (-[WKBrowsingContextController title]): Ditto.
23158        (-[WKBrowsingContextController textZoom]): Ditto.
23159        (-[WKBrowsingContextController setTextZoom:]): Ditto.
23160        (-[WKBrowsingContextController pageZoom]): Ditto.
23161        (-[WKBrowsingContextController setPageZoom:]): Ditto.
23162        (-[WKBrowsingContextController setPaginationMode:]): Ditto.
23163        (-[WKBrowsingContextController paginationMode]): Ditto.
23164        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
23165        (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
23166        (-[WKBrowsingContextController setPageLength:]): Ditto.
23167        (-[WKBrowsingContextController pageLength]): Ditto.
23168        (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
23169        (-[WKBrowsingContextController gapBetweenPages]): Ditto.
23170        (-[WKBrowsingContextController pageCount]): Ditto.
23171        (-[WKBrowsingContextController handle]): Ditto.
23172        (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
23173
23174        * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed _data ivar and
23175        WKBrowsingContextGroupData class declaration.
23176        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed WKBrowsingContextGroupData class and
23177        moved _pageGroupRef ivar directly into WKBrowsingContextGroup, declaring it in the
23178        @implementation.
23179        (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
23180        (-[WKBrowsingContextGroup allowsJavaScript]): Removed indirection via -_pageGroupRef.
23181        (-[WKBrowsingContextGroup setAllowsJavaScript:]): Ditto.
23182        (-[WKBrowsingContextGroup allowsJavaScriptMarkup]): Ditto.
23183        (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]): Ditto.
23184        (-[WKBrowsingContextGroup allowsPlugIns]): Ditto.
23185        (-[WKBrowsingContextGroup setAllowsPlugIns:]): Ditto.
23186        (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): Ditto.
23187        (-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto.
23188        (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): Ditto.
23189        (-[WKBrowsingContextGroup removeAllUserScripts]): Ditto.
23190        (-[WKBrowsingContextGroup _pageGroupRef]): Removed indirection via _data.
23191
23192        * UIProcess/API/mac/WKConnection.h: Removed _data ivar and WKConnectionData class declaration.
23193        * UIProcess/API/mac/WKConnection.mm: Removed WKConnectionData class and moved _connectionRef
23194        ivar directly into WKConnection, declaring it in the @implementation. Removed ivar and
23195        accessors for the delegate property, letting the compiler synthesize them.
23196        (-[WKConnection dealloc]): Removed indirection via _data.
23197        (-[WKConnection sendMessageWithName:body:]): Ditto.
23198        (-[WKConnection remoteObjectRegistry]): Ditto.
23199        (didReceiveMessage): Ditto.
23200        (-[WKConnection _initWithConnectionRef:]): Ditto.
23201
23202        * UIProcess/API/mac/WKProcessGroup.h: Replaced forward declaration of WKConnection with an
23203        import. Removed _data ivar and WKProcessGroupData class declaration.
23204        * UIProcess/API/mac/WKProcessGroup.mm: Removed WKProcessGroupData class and moved
23205        _contextRef ivar directly into WKProcessGroup, declaring it in the @implementation. Removed
23206        ivar and accessors for the delegate property, letting the compiler synthesize them.
23207        (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
23208        (-[WKProcessGroup dealloc]): Ditto.
23209        (-[WKProcessGroup _contextRef]): Ditto.
23210        (-[WKProcessGroup _geolocationProvider]): Ditto.
23211
232122013-11-25  Commit Queue  <commit-queue@webkit.org>
23213
23214        Unreviewed, rolling out r159740.
23215        http://trac.webkit.org/changeset/159740
23216        https://bugs.webkit.org/show_bug.cgi?id=124859
23217
23218        Crashing xmlhttprequest/access-control-repeated-failed-
23219        preflight-crash.html on Mavericks and Mountain Lion -
23220        ASSERT(m_pageGroup) WebPage.cpp:352 (Requested by dino_ on
23221        #webkit).
23222
23223        * Scripts/webkit2/messages.py:
23224        (struct_or_class):
23225        * Shared/UserMessageCoders.h:
23226        (WebKit::UserMessageEncoder::baseEncode):
23227        * Shared/WebPageCreationParameters.cpp:
23228        (WebKit::WebPageCreationParameters::encode):
23229        (WebKit::WebPageCreationParameters::decode):
23230        * Shared/WebPageCreationParameters.h:
23231        * Shared/mac/ObjCObjectGraphCoders.h:
23232        * Shared/mac/ObjCObjectGraphCoders.mm:
23233        (WebKit::ObjCObjectGraphEncoder::baseEncode):
23234        (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
23235        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
23236        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
23237        (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
23238        (WebKit::WebContextObjCObjectGraphEncoder::encode):
23239        * UIProcess/WebConnectionToWebProcess.cpp:
23240        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
23241        * UIProcess/WebContext.cpp:
23242        (WebKit::WebContext::createNewWebProcess):
23243        (WebKit::WebContext::createWebPage):
23244        (WebKit::WebContext::postMessageToInjectedBundle):
23245        (WebKit::WebContext::didReceiveSyncMessage):
23246        * UIProcess/WebContextUserMessageCoders.h:
23247        (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
23248        (WebKit::WebContextUserMessageEncoder::encode):
23249        (WebKit::WebContextUserMessageDecoder::decode):
23250        * UIProcess/WebPageGroup.cpp:
23251        * UIProcess/WebPageGroup.h:
23252        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
23253        * UIProcess/WebPageProxy.cpp:
23254        (WebKit::WebPageProxy::create):
23255        (WebKit::WebPageProxy::WebPageProxy):
23256        (WebKit::WebPageProxy::initializeWebPage):
23257        (WebKit::WebPageProxy::loadURL):
23258        (WebKit::WebPageProxy::loadURLRequest):
23259        (WebKit::WebPageProxy::loadFile):
23260        (WebKit::WebPageProxy::loadData):
23261        (WebKit::WebPageProxy::loadHTMLString):
23262        (WebKit::WebPageProxy::loadAlternateHTMLString):
23263        (WebKit::WebPageProxy::loadPlainTextString):
23264        (WebKit::WebPageProxy::loadWebArchiveData):
23265        (WebKit::WebPageProxy::postMessageToInjectedBundle):
23266        (WebKit::WebPageProxy::initializeCreationParameters):
23267        * UIProcess/WebPageProxy.h:
23268        * UIProcess/WebProcessProxy.cpp:
23269        (WebKit::WebProcessProxy::disconnect):
23270        (WebKit::WebProcessProxy::createWebPage):
23271        * UIProcess/WebProcessProxy.h:
23272        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
23273        (WebKit::InjectedBundleUserMessageEncoder::encode):
23274        (WebKit::InjectedBundleUserMessageDecoder::decode):
23275        * WebProcess/WebPage/WebPage.cpp:
23276        (WebKit::WebPage::WebPage):
23277        * WebProcess/WebProcess.cpp:
23278        (WebKit::WebProcess::webPageGroup):
23279        * WebProcess/WebProcess.h:
23280        * WebProcess/WebProcess.messages.in:
23281
232822013-11-25  Dan Bernstein  <mitz@apple.com>
23283
23284        [Cocoa] Put most of the Cocoa API behind WK_API_ENABLED guards
23285        https://bugs.webkit.org/show_bug.cgi?id=124850
23286
23287        Reviewed by Brady Eidson.
23288
23289        Guarded all Cocoa API headers and implementations with WK_API_ENABLED. Left the WKView class
23290        unguarded, but limited its API.
23291
23292        * Shared/API/Cocoa/WKFoundation.h: Replaced OBJ_VISIBLE with an explicit attribute.
23293        * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Moved #if WK_API_ENABLED before the rest of the
23294        imports.
23295        * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Ditto.
23296        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Ditto.
23297        * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Ditto.
23298        * UIProcess/API/mac/WKBrowsingContextController.h: Guarded all declarations with
23299        WK_API_ENABLED, changed to use WK_API_CLASS instead of WK_EXPORT.
23300        * UIProcess/API/mac/WKBrowsingContextController.mm: Guarded everything with WK_API_ENABLED.
23301        (-[WKBrowsingContextController dealloc]):
23302        (-[WKBrowsingContextController setPolicyDelegate:]):
23303        (-[WKBrowsingContextController backForwardList]):
23304        (didChangeBackForwardList):
23305        (setUpPageLoaderClient):
23306        (setUpPagePolicyClient):
23307        (-[WKBrowsingContextController _initWithPageRef:]):
23308        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Ditto.
23309        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.
23310        * UIProcess/API/mac/WKBrowsingContextGroup.h: Guarded all declarations with WK_API_ENABLED,
23311        chanegd to use WK_API_CLASS instead of WK_EXPORT.
23312        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed redundant import, guarded everything
23313        with WK_API_ENABLED.
23314        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Guarded with WK_API_ENABLED.
23315        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Added necessary import.
23316        * UIProcess/API/mac/WKConnection.h: Guarded all declarations with WK_API_ENABLED, chanegd to
23317        use WK_API_CLASS instead of WK_EXPORT.
23318        * UIProcess/API/mac/WKConnection.mm: Guarded everything with WK_API_ENABLED.
23319        (-[WKConnection remoteObjectRegistry]):
23320        (didReceiveMessage):
23321        * UIProcess/API/mac/WKConnectionInternal.h: Guarded the delcarations with WK_API_ENABLED.
23322        * UIProcess/API/mac/WKProcessGroup.h: Ditto. Also changed to use WK_API_CLASS instead of
23323        WK_EXPORT.
23324        * UIProcess/API/mac/WKProcessGroup.mm: Guarded everything with WK_API_ENABLED.
23325        (-[WKProcessGroup initWithInjectedBundleURL:]):
23326        * UIProcess/API/mac/WKProcessGroupPrivate.h: Guarded the declarations with WK_API_ENABLED.
23327        * UIProcess/API/mac/WKTypeRefWrapper.h: Moved #if WK_API_ENABLED before the rest of the
23328        imports, changed to use WK_API_CLASS instead of WK_EXPORT.
23329        * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed empty line after #import "config.h".
23330        * UIProcess/API/mac/WKView.h: Added #if WK_API_ENABLED around API that uses other Cocoa API
23331        types.
23332        * UIProcess/API/mac/WKView.mm: Added #if WK_API_ENABLED around implementations of methods
23333        that are only declared when the API is enabled.
23334        * UIProcess/API/mac/WKViewInternal.h: Reordered imports.
23335        * UIProcess/mac/WKFullScreenWindowController.mm: Added comment to #endif.
23336        * UIProcess/mac/WebContextMac.mm:
23337        (WebKit::WebContext::platformInitializeWebProcess): Guarded use of
23338        WKBrowsingContextController with WK_API_ENABLED.
23339        (WebKit::WebContext::platformInitializeNetworkProcess): Ditto.
23340        * UIProcess/mac/WebContextMenuProxyMac.mm: Removed newline between imports.
23341        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Moved #if WK_API_ENABLED before the
23342        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
23343        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Removed newline after #import
23344        "config.h".
23345        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Moved #if WK_API_ENABLED before the
23346        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
23347        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Removed newline after #import
23348        "config.h".
23349        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Ditto.
23350        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Moved #if WK_API_ENABLED before the
23351        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
23352        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Removed redundant import.
23353        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:  Moved #if WK_API_ENABLED before the
23354        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
23355        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: Removed newline and redundant import.
23356        * WebProcess/InjectedBundle/API/mac/WKDOMText.h: Moved #if WK_API_ENABLED before the
23357        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
23358        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: Ditto.
23359        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: Removed newline after
23360        #import "config.h".
23361        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Moved #if WK_API_ENABLED before
23362        the rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
23363        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Removed newline and redundant
23364        imports.
23365        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:  Moved #if
23366        WK_API_ENABLED before the rest of the imports, and changed to use WK_API_CLASS instead of
23367        WK_EXPORT.
23368        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: Removed
23369        newline after #import "config.h".
23370
233712013-11-22  Sam Weinig  <sam@webkit.org>
23372
23373        WebPageGroup's should keep track of what processes they are being used by
23374        https://bugs.webkit.org/show_bug.cgi?id=124556
23375
23376        Reviewed by Dan Bernstein.
23377
23378        * Scripts/webkit2/messages.py:
23379        (struct_or_class):
23380        Mark WebPageGroupData as a struct.
23381
23382        * Shared/UserMessageCoders.h:
23383        * Shared/mac/ObjCObjectGraphCoders.h:
23384        * Shared/mac/ObjCObjectGraphCoders.mm:
23385        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
23386        * UIProcess/WebConnectionToWebProcess.cpp:
23387        * UIProcess/WebContext.cpp:
23388        * UIProcess/WebContextUserMessageCoders.h:
23389        * UIProcess/WebPageProxy.cpp:
23390        * UIProcess/WebPageProxy.h:
23391        Pass the WebProcess/WebProcessProxy to both encode and decode.
23392
23393        * Shared/WebPageCreationParameters.h:
23394        Pass the page group by ID when creating a page, as it will have had its own
23395        creation message sent already.
23396
23397        * UIProcess/WebPageGroup.cpp:
23398        * UIProcess/WebPageGroup.h:
23399        Keep track of processes.
23400
23401        * UIProcess/WebProcessProxy.cpp:
23402        * UIProcess/WebProcessProxy.h:
23403        Keep track of the page groups used by the process.
23404
23405        * WebProcess/WebPage/WebPage.cpp:
23406        Get the already create page group on creation.
23407
23408        * WebProcess/WebProcess.cpp:
23409        * WebProcess/WebProcess.h:
23410        * WebProcess/WebProcess.messages.in:
23411        Explicitly create page groups in the WebProcess.
23412
234132013-11-24  Brady Eidson  <beidson@apple.com>
23414
23415        DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
23416        https://bugs.webkit.org/show_bug.cgi?id=124819
23417
23418        Reviewed by Dan Bernstein.
23419
23420        UniqueIDBDatabase instances are per-DatabaseProcess, so it manages the set of them.
23421        * DatabaseProcess/DatabaseProcess.cpp:
23422        (WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase):
23423        (WebKit::DatabaseProcess::removeUniqueIDBDatabase):
23424        * DatabaseProcess/DatabaseProcess.h:
23425
23426        * DatabaseProcess/DatabaseToWebProcessConnection.h:
23427
23428        Start forwarding things along to the appropriate UniqueIDBDatabase.
23429        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
23430        (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
23431        (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
23432        (WebKit::DatabaseProcessIDBConnection::establishConnection):
23433        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
23434        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
23435
23436        A class that represents a single concrete IDB database that multiple WebProcesses can connect to.
23437        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
23438        (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
23439        (WebKit::UniqueIDBDatabase::~UniqueIDBDatabase):
23440        (WebKit::UniqueIDBDatabase::registerConnection):
23441        (WebKit::UniqueIDBDatabase::unregisterConnection):
23442        (WebKit::UniqueIDBDatabase::getIDBDatabaseMetadata):
23443        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
23444        (WebKit::UniqueIDBDatabase::create):
23445        (WebKit::UniqueIDBDatabase::identifier):
23446
23447        A class to help uniquely identify an IDBDatabase that can be expanded as needed.
23448        Importantly, it knows how to be used as a key in a HashMap.
23449        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp: Added.
23450        (WebKit::UniqueIDBDatabaseIdentifier::UniqueIDBDatabaseIdentifier):
23451        (WebKit::UniqueIDBDatabaseIdentifier::isHashTableDeletedValue):
23452        (WebKit::UniqueIDBDatabaseIdentifier::hash):
23453        (WebKit::UniqueIDBDatabaseIdentifier::isNull):
23454        (WebKit::operator==):
23455        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h: Added.
23456        (WebKit::UniqueIDBDatabaseIdentifier::databaseName):
23457        (WebKit::UniqueIDBDatabaseIdentifier::openingOrigin):
23458        (WebKit::UniqueIDBDatabaseIdentifier::mainFrameOrigin):
23459        (WebKit::UniqueIDBDatabaseIdentifierHash::hash):
23460        (WebKit::UniqueIDBDatabaseIdentifierHash::equal):
23461        (WebKit::UniqueIDBDatabaseIdentifierHashTraits::isEmptyValue):
23462
23463        * Shared/SecurityOriginData.cpp:
23464        (WebKit::operator==):
23465        * Shared/SecurityOriginData.h:
23466
23467        * UIProcess/WebContext.cpp:
23468
23469        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
23470        (WebKit::WebIDBFactoryBackend::open):
23471        (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend):
23472
23473        * WebKit2.xcodeproj/project.pbxproj:
23474
234752013-11-24  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>, Arunprasad Rajkumar  <arurajku@cisco.com>
23476
23477        [WK2][GTK] Adding SpatialNavigation setting to webkit2
23478        https://bugs.webkit.org/show_bug.cgi?id=114298
23479
23480        Reviewed by Anders Carlsson.
23481
23482        Adding SpatialNavigation support to WebPreferencesStore allows us
23483        to toggle that feature on WebKitSettings.
23484
23485        * Shared/WebPreferencesStore.h:
23486        * UIProcess/API/C/WKPreferences.cpp:
23487        (WKPreferencesSetSpatialNavigationEnabled):
23488        (WKPreferencesGetSpatialNavigationEnabled):
23489        * UIProcess/API/C/WKPreferences.h:
23490        * UIProcess/API/gtk/WebKitSettings.cpp:
23491        (webKitSettingsSetProperty):
23492        (webKitSettingsGetProperty):
23493        (webkit_settings_class_init):
23494        (webkit_settings_set_enable_spatial_navigation):
23495        (webkit_settings_get_enable_spatial_navigation):
23496        * UIProcess/API/gtk/WebKitSettings.h:
23497        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
23498        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
23499        (testWebKitSettings):
23500        * WebProcess/WebPage/WebPage.cpp:
23501        (WebKit::WebPage::updatePreferences):
23502
235032013-11-22  Brady Eidson  <beidson@apple.com>
23504
23505        Add DatabaseProcessCreationParameters, starting with the database path.
23506        https://bugs.webkit.org/show_bug.cgi?id=124804
23507
23508        Reviewed by Dean Jackson and Benjamin Poulain.
23509
23510        * DatabaseProcess/DatabaseProcess.cpp:
23511        (WebKit::DatabaseProcess::initializeDatabaseProcess):
23512        * DatabaseProcess/DatabaseProcess.h:
23513        (WebKit::DatabaseProcess::indexedDatabaseDirectory):
23514        * DatabaseProcess/DatabaseProcess.messages.in:
23515
23516        * Shared/Databases/DatabaseProcessCreationParameters.cpp: Added.
23517        (WebKit::DatabaseProcessCreationParameters::DatabaseProcessCreationParameters):
23518        (WebKit::DatabaseProcessCreationParameters::encode):
23519        (WebKit::DatabaseProcessCreationParameters::decode):
23520        * Shared/Databases/DatabaseProcessCreationParameters.h: Added.
23521
23522        * UIProcess/WebContext.cpp:
23523        (WebKit::WebContext::ensureDatabaseProcess):
23524
23525        * WebKit2.xcodeproj/project.pbxproj:
23526        * Scripts/webkit2/messages.py:
23527        (struct_or_class):
23528
235292013-11-22  Ryuan Choi  <ryuan.choi@samsung.com>
23530
23531        [EFL] Build break after r159724
23532        https://bugs.webkit.org/show_bug.cgi?id=124806
23533
23534        Reviewed by Tim Horton.
23535
23536        * Platform/CoreIPC/Connection.h: Include atomic header.
23537        * UIProcess/CoordinatedGraphics/WebView.cpp: Rename didChangeContentsSize to didChangeContentSize.
23538        (WebKit::WebView::didChangeContentSize):
23539        * UIProcess/CoordinatedGraphics/WebView.h: Ditto.
23540        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Adjust TARGET_OS_IPHONE macro.
23541
235422013-11-22  Tim Horton  <timothy_horton@apple.com>
23543
23544        Attempt build fixes for 32-bit after 159724.
23545
23546        There's probably a better fix, but this will work for now.
23547
23548        * UIProcess/API/mac/WKView.h:
23549
235502013-11-22  Enrica Casucci  <enrica@apple.com>
23551
23552        Upstream iOS WebKit2 to OpenSource (part 3).
23553        https://bugs.webkit.org/show_bug.cgi?id=124803
23554
23555        Reviewed by Anders Carlsson and Tim Horton.
23556
23557
235582013-11-22  Jer Noble  <jer.noble@apple.com>
23559
23560        [Mac] Can't drag full-screen video to another monitor
23561        https://bugs.webkit.org/show_bug.cgi?id=124798
23562
23563        Reviewed by Geoffrey Garen.
23564
23565        Make full screen windows resizable by default. This allows the window to be resized when
23566        moved between monitors with different resolutions.
23567
23568        * UIProcess/API/mac/WKView.mm:
23569        (-[WKView createFullScreenWindow]):
23570
235712013-11-22  Benjamin Poulain  <bpoulain@apple.com>
23572
23573        [WK2] Another build fix for NetworkProcess on iOS
23574        https://bugs.webkit.org/show_bug.cgi?id=124797
23575
23576        Reviewed by Alexey Proskuryakov.
23577
23578        * NetworkProcess/NetworkResourceLoader.h:
23579
235802013-11-22  Benjamin Poulain  <bpoulain@apple.com>
23581
23582        [WK2] Fix the build of the NetworkProcess on iOS
23583        https://bugs.webkit.org/show_bug.cgi?id=124794
23584
23585        Reviewed by Alexey Proskuryakov.
23586
23587        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
23588        (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
23589        * NetworkProcess/NetworkResourceLoader.h:
23590        * NetworkProcess/SynchronousNetworkLoaderClient.cpp:
23591        (WebKit::SynchronousNetworkLoaderClient::willSendRequest):
23592
235932013-11-22  Anders Carlsson  <andersca@apple.com>
23594
23595        Move the remaining page loader clients out into separate files
23596        https://bugs.webkit.org/show_bug.cgi?id=124792
23597
23598        Reviewed by Dan Bernstein.
23599
23600        * UIProcess/API/C/WKPage.h:
23601        * UIProcess/API/C/WKPageContextMenuClient.h: Added.
23602        * UIProcess/API/C/WKPageFindClient.h: Added.
23603        * UIProcess/API/C/WKPageFindMatchesClient.h: Added.
23604        * UIProcess/API/C/WKPageFormClient.h: Added.
23605        * UIProcess/API/C/WKPageLoaderClient.h:
23606        * UIProcess/API/C/WKPagePolicyClient.h: Added.
23607        * UIProcess/API/C/WKPageUIClient.h: Added.
23608        * WebKit2.xcodeproj/project.pbxproj:
23609
236102013-11-22  Anders Carlsson  <andersca@apple.com>
23611
23612        Move WKPageLoaderClient out into a separate header
23613        https://bugs.webkit.org/show_bug.cgi?id=124790
23614
23615        Reviewed by Dan Bernstein.
23616
23617        * UIProcess/API/C/WKPage.h:
23618        * UIProcess/API/C/WKPageLoaderClient.h: Added.
23619        * WebKit2.xcodeproj/project.pbxproj:
23620
236212013-11-22  Anders Carlsson  <andersca@apple.com>
23622
23623        Fix 32-bit build.
23624
23625        * UIProcess/API/mac/WKBrowsingContextController.mm:
23626        (-[WKBrowsingContextController dealloc]):
23627        (-[WKBrowsingContextController _initWithPageRef:]):
23628
236292013-11-22  Dan Bernstein  <mitz@apple.com>
23630
23631        Debug builds unconditionally dump remote layer tree transactions to stderr.
23632
23633        Reviewed by Sam Weinig.
23634
23635        * Platform/Logging.h: Declared RemoteLayerTree logging channel.
23636        * Shared/mac/RemoteLayerTreeTransaction.h: Declared description().
23637        * Shared/mac/RemoteLayerTreeTransaction.mm:
23638        (WebKit::RemoteLayerTreeTransaction::dump): Changed to use description().
23639        (WebKit::RemoteLayerTreeTransaction::description): Returns a CString with the description.
23640        * UIProcess/mac/RemoteLayerTreeHost.mm:
23641        (WebKit::RemoteLayerTreeHost::commit): Changed to use logging instead of calling dump().
23642
236432013-11-21  Anders Carlsson  <andersca@apple.com>
23644
23645        Send out the right KVO callbacks when the page title changes
23646        https://bugs.webkit.org/show_bug.cgi?id=124753
23647
23648        Reviewed by Simon Fraser.
23649
23650        * UIProcess/API/mac/WKBrowsingContextController.mm:
23651        (PageLoadStateObserver::PageLoadStateObserver):
23652        New class that sends the right KVO notifications when the load state changes.
23653
23654        (-[WKBrowsingContextController dealloc]):
23655        Remove the observer.
23656
23657        (-[WKBrowsingContextController _initWithPageRef:]):
23658        Allocate the observer and add it.
23659
23660        * UIProcess/PageLoadState.cpp:
23661        (WebKit::PageLoadState::~PageLoadState):
23662        Assert that we don't have any observers left.
23663
23664        (WebKit::PageLoadState::addObserver):
23665        Add the observer to the list.
23666
23667        (WebKit::PageLoadState::removeObserver):
23668        Remove the observer from the list.
23669
23670        (WebKit::PageLoadState::reset):
23671        Call title change callbacks.
23672
23673        (WebKit::PageLoadState::setTitle):
23674        Ditto.
23675
23676        (WebKit::PageLoadState::callObserverCallback):
23677        Helper function to dispatch callbacks to observers.
23678
23679        * UIProcess/PageLoadState.h:
23680        Add new members.
23681
236822013-11-21  Sergio Correia  <sergio.correia@openbossa.org>
23683
23684        [EFL][WK2] Fix build after r159656
23685        https://bugs.webkit.org/show_bug.cgi?id=124755
23686
23687        Reviewed by Gyuyoung Kim.
23688
23689        Page title was moved to page load state.
23690
23691        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
23692        (WebKit::WebInspectorServer::buildPageList):
23693
236942013-11-21  Mark Rowe  <mrowe@apple.com>
23695
23696        <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
23697
23698        All modern versions of Xcode set it appropriately for our needs.
23699
23700        Reviewed by Alexey Proskuryakov.
23701
23702        * Configurations/Base.xcconfig:
23703
237042013-11-21  Gwang Yoon Hwang  <ryumiel@company100.net>
23705
23706        [GTK] Unreviewed buildfix after r159614 and r159656.
23707
23708        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
23709        (WebKit::WebInspectorServer::buildPageList): Use the page load state to get page title.
23710
237112013-11-21  Mark Rowe  <mrowe@apple.com>
23712
23713        <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
23714
23715        Reviewed by Alexey Proskuryakov.
23716
23717        * Configurations/Base.xcconfig:
23718
237192013-11-21  Mark Rowe  <mrowe@apple.com>
23720
23721        <https://webkit.org/b/124700> Fix some deprecation warnings.
23722
23723        Reviewed by Anders Carlsson.
23724
23725        * UIProcess/API/mac/WKView.mm:
23726        (-[WKView namesOfPromisedFilesDroppedAtDestination:]): Move off a deprecated NSFileWrapper method.
23727
237282013-11-21  Anders Carlsson  <andersca@apple.com>
23729
23730        Didn't mean to commit this.
23731
23732        * UIProcess/PageLoadState.h:
23733
237342013-11-21  Anders Carlsson  <andersca@apple.com>
23735
23736        Move page title handling to the page load state
23737        https://bugs.webkit.org/show_bug.cgi?id=124748
23738
23739        Reviewed by Dan Bernstein.
23740
23741        * UIProcess/API/C/WKPage.cpp:
23742        (WKPageCopyTitle):
23743        * UIProcess/PageLoadState.cpp:
23744        (WebKit::PageLoadState::reset):
23745        (WebKit::PageLoadState::didCommitLoad):
23746        (WebKit::PageLoadState::title):
23747        (WebKit::PageLoadState::setTitle):
23748        * UIProcess/PageLoadState.h:
23749        * UIProcess/WebPageProxy.cpp:
23750        (WebKit::WebPageProxy::didReceiveTitleForFrame):
23751        * UIProcess/WebPageProxy.h:
23752
237532013-11-21  Daniel Bates  <dabates@apple.com>
23754
23755        Remove unused functions from WebCore and WebKit2
23756        https://bugs.webkit.org/show_bug.cgi?id=124739
23757
23758        Reviewed by Alexey Proskuryakov.
23759
23760        Remove unused functions autoreleased({WKURLRequestRef, WKURLResponseRef}).
23761
23762        * UIProcess/API/mac/WKBrowsingContextController.mm:
23763
237642013-11-21  Csaba Osztrogonác  <ossy@webkit.org>
23765
23766        Rename PlatformCertificateInfo to CertificateInfo
23767        https://bugs.webkit.org/show_bug.cgi?id=124150
23768
23769        Reviewed by Darin Adler.
23770
23771        * GNUmakefile.list.am:
23772        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
23773        (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
23774        * NetworkProcess/NetworkProcess.h:
23775        * NetworkProcess/NetworkProcess.messages.in:
23776        * NetworkProcess/NetworkResourceLoader.cpp:
23777        * NetworkProcess/mac/NetworkProcessMac.mm:
23778        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
23779        * NetworkProcess/soup/NetworkProcessSoup.cpp:
23780        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
23781        * PlatformEfl.cmake:
23782        * PlatformGTK.cmake:
23783        * Shared/API/c/mac/WKCertificateInfoMac.mm:
23784        (WKCertificateInfoCreateWithCertficateChain):
23785        (WKCertificateInfoGetCertificateChain):
23786        * Shared/Authentication/AuthenticationManager.cpp:
23787        (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
23788        (WebKit::AuthenticationManager::useCredentialForChallenge):
23789        * Shared/Authentication/AuthenticationManager.h:
23790        * Shared/Authentication/AuthenticationManager.messages.in:
23791        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
23792        (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
23793        * Shared/UserMessageCoders.h:
23794        (WebKit::UserMessageEncoder::baseEncode):
23795        (WebKit::UserMessageDecoder::baseDecode):
23796        * Shared/WebCertificateInfo.h:
23797        (WebKit::WebCertificateInfo::create):
23798        (WebKit::WebCertificateInfo::certificateInfo):
23799        (WebKit::WebCertificateInfo::WebCertificateInfo):
23800        * Shared/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.h.
23801        (WebKit::CertificateInfo::certificateChain):
23802        * Shared/mac/CertificateInfo.mm: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
23803        (WebKit::CertificateInfo::CertificateInfo):
23804        (WebKit::CertificateInfo::encode):
23805        (WebKit::CertificateInfo::decode):
23806        (WebKit::CertificateInfo::dump):
23807        * Shared/mac/WebCoreArgumentCodersMac.mm:
23808        (CoreIPC::::encodePlatformData):
23809        (CoreIPC::::decodePlatformData):
23810        * Shared/soup/CertificateInfo.cpp: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp.
23811        (WebKit::CertificateInfo::CertificateInfo):
23812        (WebKit::CertificateInfo::~CertificateInfo):
23813        (WebKit::CertificateInfo::encode):
23814        (WebKit::CertificateInfo::decode):
23815        * Shared/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.h.
23816        (WebKit::CertificateInfo::certificate):
23817        (WebKit::CertificateInfo::tlsErrors):
23818        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
23819        (CoreIPC::::encodePlatformData):
23820        (CoreIPC::::decodePlatformData):
23821        * UIProcess/API/gtk/WebKitCertificateInfo.cpp:
23822        (webkitCertificateInfoGetCertificateInfo):
23823        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
23824        * UIProcess/API/gtk/WebKitWebView.cpp:
23825        (webkit_web_view_get_tls_info):
23826        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
23827        (WebKit::AuthenticationChallengeProxy::useCredential):
23828        * UIProcess/WebContext.cpp:
23829        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
23830        * UIProcess/WebFrameProxy.cpp:
23831        (WebKit::WebFrameProxy::didCommitLoad):
23832        * UIProcess/WebFrameProxy.h:
23833        * UIProcess/WebPageProxy.cpp:
23834        (WebKit::WebPageProxy::didCommitLoadForFrame):
23835        * UIProcess/WebPageProxy.h:
23836        * UIProcess/WebPageProxy.messages.in:
23837        * WebKit2.xcodeproj/project.pbxproj:
23838        * WebProcess/Network/WebResourceLoader.cpp:
23839        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
23840        * WebProcess/Network/WebResourceLoader.h:
23841        * WebProcess/Network/WebResourceLoader.messages.in:
23842        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
23843        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
23844        * WebProcess/WebProcess.h:
23845        * WebProcess/WebProcess.messages.in:
23846        * WebProcess/soup/WebProcessSoup.cpp:
23847        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):
23848
238492013-11-21  Sergio Correia  <sergio.correia@openbossa.org>
23850
23851        [EFL][GTK][WK2] Build fix after r159641
23852        https://bugs.webkit.org/show_bug.cgi?id=124742
23853
23854        Reviewed by Csaba Osztrogonác.
23855
23856        Should fetch activeURL from page load state.
23857
23858        * UIProcess/API/gtk/WebKitWebView.cpp:
23859        (webkitWebViewUpdateURI):
23860        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
23861        (WebKit::WebInspectorServer::buildPageList):
23862        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
23863        (WebKit::WebInspectorServer::buildPageList):
23864
238652013-11-21  Anders Carlsson  <andersca@apple.com>
23866
23867        Fetch all page loading related URLs from the page load state
23868        https://bugs.webkit.org/show_bug.cgi?id=124732
23869
23870        Reviewed by Dan Bernstein.
23871
23872        * UIProcess/API/C/WKPage.cpp:
23873        (WKPageCopyActiveURL):
23874        (WKPageCopyProvisionalURL):
23875        (WKPageCopyCommittedURL):
23876        * UIProcess/API/mac/WKBrowsingContextController.mm:
23877        (-[WKBrowsingContextController unreachableURL]):
23878        * UIProcess/PageLoadState.h:
23879        (WebKit::PageLoadState::provisionalURL):
23880        (WebKit::PageLoadState::url):
23881        (WebKit::PageLoadState::unreachableURL):
23882        * UIProcess/WebPageProxy.cpp:
23883        * UIProcess/WebPageProxy.h:
23884
238852013-11-20  Brady Eidson  <beidson@apple.com>
23886
23887        Hook up WebProcess-side of getOrEstablishIDBDatabaseMetadata
23888        https://bugs.webkit.org/show_bug.cgi?id=124698
23889
23890        Reviewed by Anders Carlsson.
23891
23892        With this change the IDB API in WebKit2 using the DatabaseProcess finally does something observable:
23893        window.indexedDB.open() sends an error to Javascript.
23894
23895        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
23896        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Continue calling back to the
23897          WebProcess with dummy data, but include the request ID for reference.
23898        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
23899        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
23900
23901        Add a new class that wraps a completion callback function and gives it a unique integer identifier.
23902        It also allows for wrapping an abort callback function (in case a connection is lost, for example).
23903        It is templated to flexibly handle any callback function signature.
23904        * Shared/AsyncRequest.cpp: Added.
23905        (WebKit::generateRequestID):
23906        (WebKit::AsyncRequest::AsyncRequest):
23907        (WebKit::AsyncRequest::~AsyncRequest):
23908        (WebKit::AsyncRequest::setAbortHandler):
23909        (WebKit::AsyncRequest::requestAborted):
23910        (WebKit::AsyncRequest::clearAbortHandler):
23911        * Shared/AsyncRequest.h: Added.
23912        (WebKit::AsyncRequest::requestID):
23913        (WebKit::AsyncRequest::requestCompleted):
23914
23915        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
23916        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): Wrap the completion handler in an
23917          AsyncRequest and save off the request for later use.
23918        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Send the results to the AsyncRequest.
23919        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
23920        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
23921
23922        * WebKit2.xcodeproj/project.pbxproj:
23923
239242013-11-20  Anders Carlsson  <andersca@apple.com>
23925
23926        Move activeURL getter to PageLoadState
23927        https://bugs.webkit.org/show_bug.cgi?id=124690
23928
23929        Reviewed by Tim Horton.
23930
23931        * UIProcess/PageLoadState.cpp:
23932        (WebKit::PageLoadState::activeURL):
23933        * UIProcess/PageLoadState.h:
23934        * UIProcess/WebPageProxy.cpp:
23935        (WebKit::WebPageProxy::activeURL):
23936
239372013-11-20  Simon Fraser  <simon.fraser@apple.com>
23938
23939        Clean up WebKit2 initialization
23940        https://bugs.webkit.org/show_bug.cgi?id=124696
23941
23942        Reviewed by Sam Weinig.
23943        
23944        Call InitializeWebKit2() everywhere we need to do one-time
23945        initialization in WebKit2, rather than having a hotch-potch
23946        of init code.
23947
23948        * Shared/APIObject.cpp:
23949        (API::Object::Object):
23950        * UIProcess/API/mac/WKView.mm:
23951        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
23952        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Removed an unused #include.
23953        * UIProcess/WebContext.cpp:
23954        (WebKit::WebContext::create):
23955
239562013-11-21  Dan Bernstein  <mitz@apple.com>
23957
23958        Reverted r159603, as it appears to have caused Safari’s Web processes to crash on launch.
23959
23960        Requested by Sam Weinig.
23961
23962        * Scripts/webkit2/messages.py:
23963        (struct_or_class):
23964        * Shared/UserMessageCoders.h:
23965        (WebKit::UserMessageEncoder::baseEncode):
23966        * Shared/WebPageCreationParameters.cpp:
23967        (WebKit::WebPageCreationParameters::encode):
23968        (WebKit::WebPageCreationParameters::decode):
23969        * Shared/WebPageCreationParameters.h:
23970        * Shared/mac/ObjCObjectGraphCoders.h:
23971        * Shared/mac/ObjCObjectGraphCoders.mm:
23972        (WebKit::ObjCObjectGraphEncoder::baseEncode):
23973        (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
23974        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
23975        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
23976        (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
23977        (WebKit::WebContextObjCObjectGraphEncoder::encode):
23978        * UIProcess/WebConnectionToWebProcess.cpp:
23979        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
23980        * UIProcess/WebContext.cpp:
23981        (WebKit::WebContext::createNewWebProcess):
23982        (WebKit::WebContext::createWebPage):
23983        (WebKit::WebContext::postMessageToInjectedBundle):
23984        (WebKit::WebContext::didReceiveSyncMessage):
23985        * UIProcess/WebContextUserMessageCoders.h:
23986        (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
23987        (WebKit::WebContextUserMessageEncoder::encode):
23988        (WebKit::WebContextUserMessageDecoder::decode):
23989        * UIProcess/WebPageGroup.cpp:
23990        * UIProcess/WebPageGroup.h:
23991        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
23992        * UIProcess/WebPageProxy.cpp:
23993        (WebKit::WebPageProxy::create):
23994        (WebKit::WebPageProxy::WebPageProxy):
23995        (WebKit::WebPageProxy::initializeWebPage):
23996        (WebKit::WebPageProxy::loadURL):
23997        (WebKit::WebPageProxy::loadURLRequest):
23998        (WebKit::WebPageProxy::loadFile):
23999        (WebKit::WebPageProxy::loadData):
24000        (WebKit::WebPageProxy::loadHTMLString):
24001        (WebKit::WebPageProxy::loadAlternateHTMLString):
24002        (WebKit::WebPageProxy::loadPlainTextString):
24003        (WebKit::WebPageProxy::loadWebArchiveData):
24004        (WebKit::WebPageProxy::postMessageToInjectedBundle):
24005        (WebKit::WebPageProxy::initializeCreationParameters):
24006        * UIProcess/WebPageProxy.h:
24007        * UIProcess/WebProcessProxy.cpp:
24008        (WebKit::WebProcessProxy::disconnect):
24009        (WebKit::WebProcessProxy::createWebPage):
24010        * UIProcess/WebProcessProxy.h:
24011        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
24012        (WebKit::InjectedBundleUserMessageEncoder::encode):
24013        (WebKit::InjectedBundleUserMessageDecoder::decode):
24014        * WebProcess/WebPage/WebPage.cpp:
24015        (WebKit::WebPage::WebPage):
24016        * WebProcess/WebProcess.cpp:
24017        (WebKit::WebProcess::webPageGroup):
24018        * WebProcess/WebProcess.h:
24019        * WebProcess/WebProcess.messages.in:
24020
240212013-11-20  Brady Eidson  <beidson@apple.com>
24022
24023        Add more infrastructure for ServerConnection communication between Web and Database processes
24024        https://bugs.webkit.org/show_bug.cgi?id=124693
24025
24026        Reviewed by Anders Carlsson.
24027
24028        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
24029        (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
24030        (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Added for WebProcess to be able
24031          to invalidate the DatabaseProcess side of a server connection.
24032        * DatabaseProcess/DatabaseToWebProcessConnection.h:
24033        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
24034
24035        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
24036        (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
24037        (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Added for future cleanup.
24038        (WebKit::DatabaseProcessIDBConnection::establishConnection):
24039        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Callback to the WebProcess, even if
24040          it is just dummy data for now.
24041        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
24042        (WebKit::DatabaseProcessIDBConnection::create):
24043
24044        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
24045        (WebKit::WebIDBServerConnection::create): Register the new object with the WebToDatabaseProcessConnection.
24046        (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Remove from the WebToDatabaseProcessConnection.
24047        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
24048        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Callback from the DatabaseProcess,
24049          a no-op for now.
24050        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
24051        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Copied from Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in.
24052
24053        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
24054        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
24055        (WebKit::WebToDatabaseProcessConnection::didClose):
24056        (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Hold a collection of all
24057          server connections for messaging.
24058        (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Remove a connection from the collection,
24059          and also message the DatabaseProcess that it’s gone away.
24060        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
24061
24062        Project files, etc etc:
24063        * DerivedSources.make:
24064        * Scripts/webkit2/messages.py:
24065        (struct_or_class):
24066        * WebKit2.xcodeproj/project.pbxproj:
24067
240682013-11-18  Sam Weinig  <sam@webkit.org>
24069
24070        WebPageGroup's should keep track of what processes they are being used by
24071        https://bugs.webkit.org/show_bug.cgi?id=124556
24072
24073        Reviewed by Dan Bernstein.
24074
24075        * Scripts/webkit2/messages.py:
24076        (struct_or_class):
24077        Mark WebPageGroupData as a struct.
24078
24079        * Shared/UserMessageCoders.h:
24080        * Shared/mac/ObjCObjectGraphCoders.h:
24081        * Shared/mac/ObjCObjectGraphCoders.mm:
24082        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
24083        * UIProcess/WebConnectionToWebProcess.cpp:
24084        * UIProcess/WebContext.cpp:
24085        * UIProcess/WebContextUserMessageCoders.h:
24086        * UIProcess/WebPageProxy.cpp:
24087        * UIProcess/WebPageProxy.h:
24088        Pass the WebProcess/WebProcessProxy to both encode and decode.
24089
24090        * Shared/WebPageCreationParameters.h:
24091        Pass the page group by ID when creating a page, as it will have had its own
24092        creation message sent already.
24093
24094        * UIProcess/WebPageGroup.cpp:
24095        * UIProcess/WebPageGroup.h:
24096        Keep track of processes.
24097
24098        * UIProcess/WebProcessProxy.cpp:
24099        * UIProcess/WebProcessProxy.h:
24100        Keep track of the page groups used by the process.
24101
24102        * WebProcess/WebPage/WebPage.cpp:
24103        Get the already created page group on creation.
24104
24105        * WebProcess/WebProcess.cpp:
24106        * WebProcess/WebProcess.h:
24107        * WebProcess/WebProcess.messages.in:
24108        Explicitly create page groups in the WebProcess.
24109
241102013-11-20  Brady Eidson  <beidson@apple.com>
24111
24112        IDB related cleanup in WebKit2
24113        https://bugs.webkit.org/show_bug.cgi?id=124691
24114
24115        Reviewed by Enrica Casucci.
24116
24117        - WebIDBServerConnection.cpp should use the WebCore namespace and get rid of "WebCore::" throughout
24118        - "backendIndentifier" should be renamed to "serverConnectionIdentifier" throughout
24119
24120        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
24121        (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
24122        * DatabaseProcess/DatabaseToWebProcessConnection.h:
24123        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
24124
24125        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
24126        (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
24127        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
24128        (WebKit::DatabaseProcessIDBConnection::create):
24129
24130        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
24131        (WebKit::generateServerConnectionIdentifier):
24132        (WebKit::WebIDBServerConnection::WebIDBServerConnection):
24133        (WebKit::WebIDBServerConnection::openTransaction):
24134        (WebKit::WebIDBServerConnection::setIndexKeys):
24135        (WebKit::WebIDBServerConnection::createObjectStore):
24136        (WebKit::WebIDBServerConnection::createIndex):
24137        (WebKit::WebIDBServerConnection::deleteIndex):
24138        (WebKit::WebIDBServerConnection::get):
24139        (WebKit::WebIDBServerConnection::put):
24140        (WebKit::WebIDBServerConnection::openCursor):
24141        (WebKit::WebIDBServerConnection::count):
24142        (WebKit::WebIDBServerConnection::deleteRange):
24143        (WebKit::WebIDBServerConnection::clearObjectStore):
24144        (WebKit::WebIDBServerConnection::deleteObjectStore):
24145        (WebKit::WebIDBServerConnection::changeDatabaseVersion):
24146        (WebKit::WebIDBServerConnection::cursorAdvance):
24147        (WebKit::WebIDBServerConnection::cursorIterate):
24148        (WebKit::WebIDBServerConnection::cursorPrefetchIteration):
24149        (WebKit::WebIDBServerConnection::cursorPrefetchReset):
24150        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
24151
241522013-11-20  Brady Eidson  <beidson@apple.com>
24153
24154        Add argument coders for IDBDatabaseMetadata classes
24155        https://bugs.webkit.org/show_bug.cgi?id=124689
24156
24157        Reviewed by Anders Carlsson.
24158
24159        Add coders for:
24160          - IDBDatabaseMetadata
24161          - IDBIndexMetadata
24162          - IDBKeyPath
24163          - IDBObjectStoreMetadata
24164
24165        * Shared/WebCoreArgumentCoders.cpp:
24166        (CoreIPC::::encode):
24167        (CoreIPC::::decode):
24168        * Shared/WebCoreArgumentCoders.h:
24169
241702013-11-20  Anders Carlsson  <andersca@apple.com>
24171
24172        Enable PageLoadTest assertions again
24173        https://bugs.webkit.org/show_bug.cgi?id=124681
24174
24175        Reviewed by Tim Horton.
24176
24177        Remove an overzealous assertion and re-enable assertions in PageLoadState again.
24178
24179        * UIProcess/PageLoadState.cpp:
24180        (WebKit::PageLoadState::didCommitLoad):
24181        Remove assertion - it's fine for a page to have a null URL.
24182
24183        (WebKit::PageLoadState::didFinishLoad):
24184        Ditto.
24185
24186        (WebKit::PageLoadState::didFailLoad):
24187        Update the state.
24188
241892013-11-20  Anders Carlsson  <andersca@apple.com>
24190
24191        PageLoadState should keep track of unreachable URLs
24192        https://bugs.webkit.org/show_bug.cgi?id=124677
24193
24194        Reviewed by Dan Bernstein.
24195
24196        * UIProcess/PageLoadState.cpp:
24197        (WebKit::PageLoadState::reset):
24198        (WebKit::PageLoadState::didStartProvisionalLoad):
24199        (WebKit::PageLoadState::didFailProvisionalLoad):
24200        (WebKit::PageLoadState::setUnreachableURL):
24201        * UIProcess/PageLoadState.h:
24202        * UIProcess/WebPageProxy.cpp:
24203        (WebKit::WebPageProxy::loadAlternateHTMLString):
24204
242052013-11-20  Tim Horton  <timothy_horton@apple.com>
24206
24207        Remote Layer Tree: 100% repro crasher on the IPC thread when creating lots of layers
24208        https://bugs.webkit.org/show_bug.cgi?id=124643
24209
24210        Reviewed by Anders Carlsson.
24211
24212        * Platform/CoreIPC/mac/ConnectionMac.cpp:
24213        (CoreIPC::Connection::sendOutgoingMessage):
24214        Dynamically allocate storage for the message if needed.
24215
242162013-11-20  Tim Horton  <timothy_horton@apple.com>
24217
24218        machMessageSize uses sizeof(mach_msg_ool_ports_descriptor_t) for out-of-line *memory*
24219        https://bugs.webkit.org/show_bug.cgi?id=124644
24220
24221        Reviewed by Anders Carlsson.
24222
24223        * Platform/CoreIPC/mac/ConnectionMac.cpp:
24224        (CoreIPC::machMessageSize):
24225        mach_msg_ool_descriptor_t is the correct type, given that
24226        out-of-line memory descriptors use the mach_msg_ool_descriptor_t
24227        member of the mach_msg_descriptor_t union.
24228
242292013-11-20  Brady Eidson  <beidson@apple.com>
24230
24231        Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
24232        https://bugs.webkit.org/show_bug.cgi?id=124635
24233
24234        Reviewed by Tim Horton.
24235
24236        Stub out the message for getOrEstablishIDBDatabaseMetadata in the DatabaseProcess.
24237
24238        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
24239        (WebKit::DatabaseProcessIDBConnection::establishConnection):
24240        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
24241        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
24242        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
24243
24244        * Shared/SecurityOriginData.cpp:
24245        (WebKit::SecurityOriginData::fromSecurityOrigin):
24246        * Shared/SecurityOriginData.h:
24247
24248        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
24249        (WebKit::WebIDBServerConnection::WebIDBServerConnection):
24250        (WebKit::WebIDBServerConnection::deleteDatabase):
24251        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
24252        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
24253
242542013-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
24255
24256        [GTK] Do not use deprecated callbacks in WebKitPolicyClient
24257        https://bugs.webkit.org/show_bug.cgi?id=124648
24258
24259        Reviewed by Philippe Normand.
24260
24261        Fixes compile warnings for uninitialized callbacks.
24262
24263        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
24264        (decidePolicyForNavigationAction): Add originatingFrame parameter.
24265        (decidePolicyForNewWindowAction): Renamed for consistency.
24266        (decidePolicyForResponse): Add canShowMIMEType parameter.
24267        (attachPolicyClientToView): Add new callbacks.
24268
242692013-11-19  Ryosuke Niwa  <rniwa@webkit.org>
24270
24271        Enable HTMLTemplateElement on Mac port
24272        https://bugs.webkit.org/show_bug.cgi?id=124637
24273
24274        Reviewed by Tim Horton.
24275
24276        * Configurations/FeatureDefines.xcconfig:
24277
242782013-11-19  Brady Eidson  <beidson@apple.com>
24279
24280        Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs
24281        https://bugs.webkit.org/show_bug.cgi?id=124562
24282
24283        Reviewed by Alexey Proskuryakov.
24284
24285        Also remove Web/DatabaseProcessDatabaseBackend stubs, as that is no longer the abstraction layer.
24286
24287        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
24288        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
24289        (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
24290        * DatabaseProcess/DatabaseToWebProcessConnection.h:
24291        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
24292
24293        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp.
24294        (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
24295        (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
24296        (WebKit::DatabaseProcessIDBConnection::establishConnection):
24297        (WebKit::DatabaseProcessIDBConnection::messageSenderConnection):
24298        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h.
24299        (WebKit::DatabaseProcessIDBConnection::create):
24300        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in.
24301
24302        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
24303        (WebKit::uniqueDatabaseIdentifier): Modified to take two security origin arguments.
24304        * Shared/Databases/IndexedDB/IDBUtilities.h:
24305
24306        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
24307        (WebKit::WebIDBFactoryBackend::open):
24308
24309        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Added. Stubbed out all the pure virtual methods.
24310        (WebKit::generateBackendIdentifier):
24311        (WebKit::WebIDBServerConnection::WebIDBServerConnection):
24312        (WebKit::WebIDBServerConnection::~WebIDBServerConnection):
24313        (WebKit::WebIDBServerConnection::isClosed):
24314        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
24315        (WebKit::WebIDBServerConnection::deleteDatabase):
24316        (WebKit::WebIDBServerConnection::close):
24317        (WebKit::WebIDBServerConnection::openTransaction):
24318        (WebKit::WebIDBServerConnection::beginTransaction):
24319        (WebKit::WebIDBServerConnection::commitTransaction):
24320        (WebKit::WebIDBServerConnection::resetTransaction):
24321        (WebKit::WebIDBServerConnection::rollbackTransaction):
24322        (WebKit::WebIDBServerConnection::setIndexKeys):
24323        (WebKit::WebIDBServerConnection::createObjectStore):
24324        (WebKit::WebIDBServerConnection::createIndex):
24325        (WebKit::WebIDBServerConnection::deleteIndex):
24326        (WebKit::WebIDBServerConnection::get):
24327        (WebKit::WebIDBServerConnection::put):
24328        (WebKit::WebIDBServerConnection::openCursor):
24329        (WebKit::WebIDBServerConnection::count):
24330        (WebKit::WebIDBServerConnection::deleteRange):
24331        (WebKit::WebIDBServerConnection::clearObjectStore):
24332        (WebKit::WebIDBServerConnection::deleteObjectStore):
24333        (WebKit::WebIDBServerConnection::changeDatabaseVersion):
24334        (WebKit::WebIDBServerConnection::cursorAdvance):
24335        (WebKit::WebIDBServerConnection::cursorIterate):
24336        (WebKit::WebIDBServerConnection::cursorPrefetchIteration):
24337        (WebKit::WebIDBServerConnection::cursorPrefetchReset):
24338        (WebKit::WebIDBServerConnection::messageSenderConnection):
24339        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Added.
24340
24341        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Removed.
24342        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Removed.
24343
24344        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
24345
24346        * DerivedSources.make:
24347        * WebKit2.xcodeproj/project.pbxproj:
24348
243492013-11-19  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
24350
24351        Unreviewed EFL and GTK build fix attempt after r159507
24352
24353        * CMakeLists.txt: Changed Platform/CoreIPC/DataReference.cpp to Platform/IPC/DataReference.cpp
24354        * GNUmakefile.list.am: Ditto
24355
243562013-11-19  Anders Carlsson  <andersca@apple.com>
24357
24358        Move DataReference to Platform/IPC.
24359
24360        * Platform/IPC/DataReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.cpp.
24361        * Platform/IPC/DataReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.h.
24362        * WebKit2.xcodeproj/project.pbxproj:
24363
243642013-11-19  Anders Carlsson  <andersca@apple.com>
24365
24366        Add and call PageLoadState::reset
24367        https://bugs.webkit.org/show_bug.cgi?id=124591
24368
24369        Reviewed by Dan Bernstein.
24370
24371        * UIProcess/PageLoadState.cpp:
24372        (WebKit::PageLoadState::reset):
24373        * UIProcess/PageLoadState.h:
24374        * UIProcess/WebPageProxy.cpp:
24375        (WebKit::WebPageProxy::processDidCrash):
24376
243772013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>
24378
24379        [EFL] Initialize efreet before getting directories
24380        https://bugs.webkit.org/show_bug.cgi?id=124560
24381
24382        Reviewed by Gyuyoung Kim.
24383
24384        efreet is used to get several directories including home dierectory since
24385        r123731, but it does not call efreet_init/efreet_shutdown explicitly.
24386
24387        * UIProcess/API/efl/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.
24388        (ewk_init):
24389        (ewk_shutdown):
24390
243912013-11-18  Mark Rowe  <mrowe@apple.com>
24392
24393        Use hw.activecpu for determining how many processes to spawn.
24394
24395        It's documented as the preferred way to determine the number of threads
24396        or processes to create in a SMP aware application.
24397
24398        Rubber-stamped by Tim Horton.
24399
24400        * WebKit2.xcodeproj/project.pbxproj:
24401
244022013-11-18  Anders Carlsson  <andersca@apple.com>
24403
24404        Let's try this again.
24405
24406        * UIProcess/PageLoadState.cpp:
24407
244082013-11-18  Anders Carlsson  <andersca@apple.com>
24409
24410        Disable assertions in PageLoadState.cpp for now.
24411
24412        * UIProcess/PageLoadState.cpp:
24413
244142013-11-18  Anders Carlsson  <andersca@apple.com>
24415
24416        TestWebKitAPI crashes when running under GuardMalloc
24417        https://bugs.webkit.org/show_bug.cgi?id=124546
24418
24419        Reviewed by Tim Horton.
24420
24421        * UIProcess/Downloads/DownloadProxyMap.cpp:
24422        (WebKit::DownloadProxyMap::downloadFinished):
24423        Grab the download ID before removing the DownloadProxy from the map.
24424
244252013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>
24426
24427        Unreviewed build fix attempt on GTK and EFL port after r159461
24428
24429        * CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp
24430        * GNUmakefile.list.am: Ditto.
24431
244322013-11-18  Anders Carlsson  <andersca@apple.com>
24433
24434        Rename WebNavigationData to API::NavigationData
24435        https://bugs.webkit.org/show_bug.cgi?id=124542
24436
24437        Reviewed by Dan Bernstein.
24438
24439        * UIProcess/API/C/WKAPICast.h:
24440        * UIProcess/API/C/WKNavigationDataRef.cpp:
24441        (WKNavigationDataGetTypeID):
24442        * UIProcess/API/Cocoa/WKNavigationData.mm:
24443        (-[WKNavigationData dealloc]):
24444        (-[WKNavigationData title]):
24445        (-[WKNavigationData originalRequest]):
24446        (-[WKNavigationData destinationURL]):
24447        (-[WKNavigationData response]):
24448        * UIProcess/API/Cocoa/WKNavigationDataInternal.h:
24449        (WebKit::wrapper):
24450        * UIProcess/API/mac/WKProcessGroup.mm:
24451        * UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp.
24452        (API::NavigationData::NavigationData):
24453        (API::NavigationData::~NavigationData):
24454        * UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h.
24455        (API::NavigationData::create):
24456        (API::NavigationData::title):
24457        (API::NavigationData::url):
24458        (API::NavigationData::originalRequest):
24459        (API::NavigationData::response):
24460        * UIProcess/WebHistoryClient.cpp:
24461        (WebKit::WebHistoryClient::didNavigateWithNavigationData):
24462        * WebKit2.xcodeproj/project.pbxproj:
24463
244642013-11-18  David Hyatt  <hyatt@apple.com>
24465
24466        Add a quirk to not respect center text-align when positioning
24467
24468        <rdar://problem/15427571>
24469        https://bugs.webkit.org/show_bug.cgi?id=124522
24470
24471        Reviewed by Simon Fraser.
24472
24473        Added fast/block/legacy-text-align-position-quirk.html
24474
24475        * Shared/WebPreferencesStore.h:
24476        * UIProcess/API/C/WKPreferences.cpp:
24477        (WKPreferencesUseLegacyTextAlignPositionedElementBehavior):
24478        (WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior):
24479        * UIProcess/API/C/WKPreferencesPrivate.h:
24480        * WebProcess/WebPage/WebPage.cpp:
24481        (WebKit::WebPage::updatePreferences):
24482
244832013-11-18  Anders Carlsson  <andersca@apple.com>
24484
24485        Add State to PageLoadState
24486        https://bugs.webkit.org/show_bug.cgi?id=124538
24487
24488        Reviewed by Tim Horton.
24489
24490        * UIProcess/PageLoadState.cpp:
24491        (WebKit::PageLoadState::PageLoadState):
24492        (WebKit::PageLoadState::didStartProvisionalLoad):
24493        (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
24494        (WebKit::PageLoadState::didFailProvisionalLoad):
24495        (WebKit::PageLoadState::didCommitLoad):
24496        (WebKit::PageLoadState::didFinishLoad):
24497        (WebKit::PageLoadState::didSameDocumentNavigation):
24498        * UIProcess/PageLoadState.h:
24499
245002013-11-18  Anders Carlsson  <andersca@apple.com>
24501
24502        The PageLoadState object should keep track of the current URL
24503        https://bugs.webkit.org/show_bug.cgi?id=124536
24504
24505        Reviewed by Dan Bernstein.
24506
24507        * UIProcess/PageLoadState.cpp:
24508        (WebKit::PageLoadState::didCommitLoad):
24509        (WebKit::PageLoadState::didFinishLoad):
24510        (WebKit::PageLoadState::didFailLoad):
24511        (WebKit::PageLoadState::didSameDocumentNavigation):
24512        * UIProcess/PageLoadState.h:
24513        * UIProcess/WebPageProxy.cpp:
24514        (WebKit::WebPageProxy::didFinishLoadForFrame):
24515        (WebKit::WebPageProxy::didFailLoadForFrame):
24516        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
24517
245182013-11-18  Csaba Osztrogonác  <ossy@webkit.org>
24519
24520        URTBF after r159444.
24521
24522        * GNUmakefile.list.am:
24523
245242013-11-18  Anders Carlsson  <andersca@apple.com>
24525
24526        PageLoadState should keep track of the provisional URL
24527        https://bugs.webkit.org/show_bug.cgi?id=124535
24528
24529        Reviewed by Dan Bernstein.
24530
24531        * UIProcess/PageLoadState.cpp:
24532        (WebKit::PageLoadState::didStartProvisionalLoad):
24533        (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
24534        (WebKit::PageLoadState::didCommitLoad):
24535        * UIProcess/PageLoadState.h:
24536        * UIProcess/WebPageProxy.cpp:
24537        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
24538        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
24539        (WebKit::WebPageProxy::didCommitLoadForFrame):
24540
245412013-11-18  Anders Carlsson  <andersca@apple.com>
24542
24543        Move m_pendingAPIRequestURL to PageLoadState
24544        https://bugs.webkit.org/show_bug.cgi?id=124531
24545
24546        Reviewed by Tim Horton.
24547
24548        * UIProcess/API/C/WKPage.cpp:
24549        (WKPageCopyPendingAPIRequestURL):
24550        * UIProcess/PageLoadState.cpp:
24551        (WebKit::PageLoadState::pendingAPIRequestURL):
24552        (WebKit::PageLoadState::setPendingAPIRequestURL):
24553        (WebKit::PageLoadState::clearPendingAPIRequestURL):
24554        * UIProcess/PageLoadState.h:
24555        * UIProcess/WebPageProxy.cpp:
24556        (WebKit::WebPageProxy::loadURL):
24557        (WebKit::WebPageProxy::loadURLRequest):
24558        (WebKit::WebPageProxy::reload):
24559        (WebKit::WebPageProxy::goForward):
24560        (WebKit::WebPageProxy::goBack):
24561        (WebKit::WebPageProxy::goToBackForwardItem):
24562        (WebKit::WebPageProxy::activeURL):
24563        (WebKit::WebPageProxy::receivedPolicyDecision):
24564        (WebKit::WebPageProxy::estimatedProgress):
24565        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
24566        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
24567        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
24568        * UIProcess/WebPageProxy.h:
24569        (WebKit::WebPageProxy::pageLoadState):
24570        * UIProcess/cf/WebPageProxyCF.cpp:
24571        (WebKit::WebPageProxy::sessionStateData):
24572        (WebKit::WebPageProxy::restoreFromSessionStateData):
24573
245742013-11-18  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
24575
24576        Unreviewed EFL build fix after r159444
24577
24578        * CMakeLists.txt: Added PageLoadState.cpp.
24579
245802013-11-18  Anders Carlsson  <andersca@apple.com>
24581
24582        Add PageLoadState class
24583        https://bugs.webkit.org/show_bug.cgi?id=124528
24584
24585        Reviewed by Dan Bernstein.
24586
24587        Trying to use the main frame load state as the page load state was a bad idea,
24588        add a new PageLoadState and use it instead. Ultimately the long term plan is to
24589        transition away from FrameLoadState entirely.
24590
24591        * UIProcess/PageLoadState.cpp: Added.
24592        (WebKit::PageLoadState::PageLoadState):
24593        (WebKit::PageLoadState::~PageLoadState):
24594        (WebKit::PageLoadState::didStartProvisionalLoad):
24595        * UIProcess/PageLoadState.h: Added.
24596        * UIProcess/WebPageProxy.cpp:
24597        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
24598        * UIProcess/WebPageProxy.h:
24599        * WebKit2.xcodeproj/project.pbxproj:
24600
246012013-11-14  David Farler  <dfarler@apple.com>
24602
24603        [ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
24604        https://bugs.webkit.org/show_bug.cgi?id=124367
24605
24606        Reviewed by Alexey Proskuryakov.
24607
24608        * Shared/Downloads/DownloadAuthenticationClient.cpp:
24609        (WebKit::DownloadAuthenticationClient::receivedCredential):
24610        (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
24611        (WebKit::DownloadAuthenticationClient::receivedCancellation):
24612        Remove calls to nowhere:
24613        WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&)
24614        WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&)
24615        WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&)
24616
246172013-11-18  Anders Carlsson  <andersca@apple.com>
24618
24619        Use a strong enum for frame load states
24620        https://bugs.webkit.org/show_bug.cgi?id=124524
24621
24622        Reviewed by Dan Bernstein.
24623
24624        * UIProcess/API/C/WKFrame.cpp:
24625        (WKFrameGetFrameLoadState):
24626        * UIProcess/FrameLoadState.cpp:
24627        (WebKit::FrameLoadState::FrameLoadState):
24628        (WebKit::FrameLoadState::didStartProvisionalLoad):
24629        (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
24630        (WebKit::FrameLoadState::didFailProvisionalLoad):
24631        (WebKit::FrameLoadState::didCommitLoad):
24632        (WebKit::FrameLoadState::didFinishLoad):
24633        (WebKit::FrameLoadState::didFailLoad):
24634        * UIProcess/FrameLoadState.h:
24635        * UIProcess/WebFrameProxy.h:
24636        * UIProcess/WebPageProxy.cpp:
24637        (WebKit::WebPageProxy::WebPageProxy):
24638        (WebKit::WebPageProxy::activeURL):
24639        (WebKit::WebPageProxy::resetStateAfterProcessExited):
24640        * UIProcess/WebPageProxy.h:
24641        (WebKit::WebPageProxy::loadStateAtProcessExit):
24642
246432013-11-18  Anders Carlsson  <andersca@apple.com>
24644
24645        Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
24646        https://bugs.webkit.org/show_bug.cgi?id=124523
24647
24648        Reviewed by Dan Bernstein.
24649
24650        * PluginProcess/mac/PluginProcessMac.mm:
24651        (WebKit::beginModal):
24652        * PluginProcess/mac/PluginProcessShim.mm:
24653        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
24654        (WebKit::NetscapePluginModule::tryLoad):
24655        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
24656        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
24657        (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
24658        (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
24659        (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
24660        (WebKit::PluginProcessProxy::exitFullscreen):
24661
246622013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>
24663
24664        [EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
24665        https://bugs.webkit.org/show_bug.cgi?id=124478
24666
24667        Reviewed by Gyuyoung Kim.
24668
24669        EWebKit is built using CMake but applications use *.pc to use it.
24670        This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake
24671        for applications which use EWebkit and is compiled by CMake.
24672
24673        * PlatformEfl.cmake:
24674        Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake
24675        * efl/EWebKit2Config.cmake.in: Added.
24676        * efl/EWebKit2ConfigVersion.cmake.in: Added.
24677
246782013-11-18  Eunmi Lee  <eunmi15.lee@samsung.com>
24679
24680        [EFL][WK2] Process single tap using mouse move, down and up event.
24681        https://bugs.webkit.org/show_bug.cgi?id=106864
24682
24683        Reviewed by Christophe Dumez.
24684
24685        Send mouse events to the web process to perform the clicking when
24686        single tap gesture is recognized.
24687        Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent()
24688        and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL
24689        API implementation.
24690
24691        * UIProcess/API/C/efl/WKViewEfl.cpp:
24692        (WKViewSendMouseDownEvent):
24693        (WKViewSendMouseUpEvent):
24694        (WKViewSendMouseMoveEvent):
24695        * UIProcess/API/C/efl/WKViewEfl.h:
24696        * UIProcess/API/efl/GestureRecognizer.cpp:
24697        (WebKit::GestureHandler::handleSingleTap):
24698        * UIProcess/efl/WebViewEfl.cpp:
24699        (WebKit::WebViewEfl::sendMouseEvent):
24700        * UIProcess/efl/WebViewEfl.h:
24701
247022013-11-17  Dan Bernstein  <mitz@apple.com>
24703
24704        Try to fix the EFL build.
24705
24706        * UIProcess/efl/PagePolicyClientEfl.cpp:
24707        (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call
24708        WKFrameCanShowMIMEType now that this information is passed in as a parameter.
24709
247102013-11-16  Dan Bernstein  <mitz@apple.com>
24711
24712        No way for policy client to determine if a the response’s MIME type can be shown
24713        https://bugs.webkit.org/show_bug.cgi?id=124445
24714
24715        Reviewed by Sam Weinig.
24716
24717        * Platform/CoreIPC/HandleMessage.h:
24718        (CoreIPC::callMemberFunction): Added a fifth message parameter to this template.
24719
24720        * UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to
24721        WKPageDecidePolicyForResponseCallback and deprecated the old version.
24722
24723        * UIProcess/API/mac/WKBrowsingContextController.mm:
24724        (setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key
24725        in the action information dictionary.
24726        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
24727        WKActionCanShowMIMETypeKey.
24728
24729        * UIProcess/WebInspectorProxy.cpp:
24730        (WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client.
24731
24732        * UIProcess/WebPageProxy.cpp:
24733        (WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is
24734        passed to the policy client.
24735        (WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which
24736        is passed to the above function.
24737        * UIProcess/WebPageProxy.h:
24738        * UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to
24739        DecidePolicyForResponseSync.
24740
24741        * UIProcess/WebPolicyClient.cpp:
24742        (WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which
24743        is passed to the client callback.
24744        * UIProcess/WebPolicyClient.h:
24745
24746        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24747        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response
24748        MIME type can be shown and pass this information along in the message to the UI process.
24749
247502013-11-15  Ryuan Choi  <ryuan.choi@samsung.com>
24751
24752        Unreviewed EFL build fix after r159358.
24753
24754        * UIProcess/efl/PagePolicyClientEfl.cpp:
24755        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
24756        * UIProcess/efl/PagePolicyClientEfl.h:
24757
247582013-11-15  Brady Eidson  <beidson@apple.com>
24759
24760        Let IDBDatabaseBackend create IDBTransactionBackend's directly
24761        https://bugs.webkit.org/show_bug.cgi?id=124438
24762
24763        Reviewed by Beth Dakin.
24764
24765        Remove maybeCreateTransactionBackend():
24766        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
24767        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
24768
247692013-11-15  Brady Eidson  <beidson@apple.com>
24770
24771        Remove last vestiges of IDBBackingStore* from IDBTransactionBackend.
24772        https://bugs.webkit.org/show_bug.cgi?id=124436
24773
24774        Reviewed by Tim Horton.
24775
24776        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed createCursorBackend.
24777        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
24778
247792013-11-15  Dan Bernstein  <mitz@apple.com>
24780
24781        Give the policy client the originating frame of a navigation action
24782        https://bugs.webkit.org/show_bug.cgi?id=124431
24783
24784        Reviewed by Anders Carlsson.
24785
24786        * Platform/CoreIPC/HandleMessage.h:
24787        (CoreIPC::callMemberFunction): Added a seventh message parameter to this template.
24788
24789        * Shared/APIClientTraits.cpp: Defined API traits for WKPagePolicyClient, which now has two
24790        versions.
24791        * Shared/APIClientTraits.h: Declared APIClientTraits<WKPagePolicyClient>.
24792
24793        * UIProcess/API/C/WKPage.h: Added an originatingFrame parameter to
24794        WKPageDecidePolicyForNavigationActionCallback and deprecated the old version. Bumped the
24795        policy client version to 1.
24796
24797        * UIProcess/API/mac/WKBrowsingContextController.mm:
24798        (setUpPagePolicyClient): Include the originating frame’s URL under a new key in the
24799        action information dictionary.
24800        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
24801        WKActionOriginatingFrameURLKey.
24802
24803        * UIProcess/WebInspectorProxy.cpp:
24804        (WebKit::decidePolicyForNavigationAction): Added originatingFrame parameter.
24805        (WebKit::WebInspectorProxy::createInspectorPage): Updated to the new version of the policy
24806        client interface.
24807
24808        * UIProcess/WebPageProxy.cpp:
24809        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originatingFrameID parameter
24810        and passing the originating frame to the policy client.
24811        * UIProcess/WebPageProxy.h:
24812        * UIProcess/WebPageProxy.messages.in: Added originatingFrameID paremeter to
24813        DecidePolicyForNavigationAction.
24814
24815        * UIProcess/WebPolicyClient.cpp:
24816        (WebKit::WebPolicyClient::decidePolicyForNavigationAction): Added originatingFrame
24817        parameter, which is passed to the client callback.
24818        * UIProcess/WebPolicyClient.h:
24819
24820        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24821        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Determine the
24822        originating frame for link activation and form submission actions and send its ID in the
24823        DecidePolicyForNavigationAction message.
24824
248252013-11-15  Brady Eidson  <beidson@apple.com>
24826
24827        Move execution of IDBTransactionBackendOperations to the IDBServerConnection
24828        https://bugs.webkit.org/show_bug.cgi?id=124385
24829
24830        Reviewed by Tim Horton.
24831
24832        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
24833
248342013-11-15  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
24835
24836        Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp
24837        https://bugs.webkit.org/show_bug.cgi?id=124398
24838
24839        Reviewed by Brady Eidson.
24840
24841        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
24842
248432013-11-15  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
24844
24845        Cleanup the build from unused parameters in WebKit2
24846        https://bugs.webkit.org/show_bug.cgi?id=124201
24847
24848        Reviewed by Darin Adler.
24849
24850        * Shared/Plugins/Netscape/PluginInformation.cpp:
24851        (WebKit::getPluginModuleInformation):
24852        * UIProcess/API/C/WKBatteryManager.cpp:
24853        (WKBatteryManagerSetProvider):
24854        (WKBatteryManagerProviderDidChangeBatteryStatus):
24855        (WKBatteryManagerProviderUpdateBatteryStatus):
24856        * UIProcess/API/C/WKBatteryStatus.cpp:
24857        (WKBatteryStatusCreate):
24858        * UIProcess/API/C/WKColorPickerResultListener.cpp:
24859        (WKColorPickerResultListenerSetColor):
24860        * UIProcess/API/C/WKContext.cpp:
24861        (WKContextGetBatteryManager):
24862        (WKContextGetDatabaseManager):
24863        (WKContextGetNetworkInfoManager):
24864        * UIProcess/API/C/WKDatabaseManager.cpp:
24865        (WKDatabaseManagerSetClient):
24866        (WKDatabaseManagerGetDatabasesByOrigin):
24867        (WKDatabaseManagerGetDatabaseOrigins):
24868        (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
24869        (WKDatabaseManagerDeleteDatabasesForOrigin):
24870        (WKDatabaseManagerDeleteAllDatabases):
24871        (WKDatabaseManagerSetQuotaForOrigin):
24872        * UIProcess/API/C/WKNetworkInfo.cpp:
24873        (WKNetworkInfoCreate):
24874        * UIProcess/API/C/WKNetworkInfoManager.cpp:
24875        (WKNetworkInfoManagerSetProvider):
24876        (WKNetworkInfoManagerProviderDidChangeNetworkInformation):
24877        * UIProcess/API/C/WKOpenPanelParameters.cpp:
24878        (WKOpenPanelParametersCopyCapture):
24879        * UIProcess/API/C/WKVibration.cpp:
24880        (WKVibrationSetProvider):
24881        * UIProcess/API/efl/EwkView.cpp:
24882        (EwkView::createNewPage):
24883        * UIProcess/WebPageProxy.cpp:
24884        (WebKit::WebPageProxy::setVisibilityState):
24885        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
24886        * UIProcess/efl/ViewClientEfl.cpp:
24887        (WebKit::ViewClientEfl::didChangeContentsPosition):
24888        (WebKit::ViewClientEfl::didRenderFrame):
24889        (WebKit::ViewClientEfl::didChangeViewportAttributes):
24890        * WebProcess/InjectedBundle/InjectedBundle.cpp:
24891        (WebKit::InjectedBundle::setDatabaseQuota):
24892        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
24893        (WebKit::WebChromeClient::createWindow):
24894
248952013-11-14  Dan Bernstein  <mitz@apple.com>
24896
24897        [Cocoa] WKBrowsingContextController's policy client implementation over-releases WKURLRequests and WKURLResponses
24898        https://bugs.webkit.org/show_bug.cgi?id=124386
24899
24900        Reviewed by Sam Weinig.
24901
24902        * UIProcess/API/mac/WKBrowsingContextController.mm:
24903        (setUpPagePolicyClient): Changed to release the Cocoa objects we copy out of the WK objects
24904        passed into the client callbacks, but not the WK objects themselves, which are not owned by
24905        the callbacks.
24906
249072013-11-14  Andy Estes  <aestes@apple.com>
24908
24909        Replace calls to deprecated CFPropertyList functions in WebKit2
24910        https://bugs.webkit.org/show_bug.cgi?id=124384
24911
24912        Reviewed by Anders Carlsson.
24913
24914        * UIProcess/cf/WebPageProxyCF.cpp:
24915        (WebKit::WebPageProxy::sessionStateData): Replaced CFPropertyListWriteToStream() with CFPropertyListWrite().
24916        (WebKit::WebPageProxy::restoreFromSessionStateData): Replaced CFPropertyListCreateFromXMLData() with CFPropertyListCreateWithData().
24917
249182013-11-14  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
24919
24920        generate-message-receiver.py can't handle nested #ifs
24921        https://bugs.webkit.org/show_bug.cgi?id=121877
24922
24923        Reviewed by Darin Adler.
24924
24925        parser.py was modifieded to collect and combine conditions of nested #ifs.
24926        messages_unittest.py extended to check these modifications.
24927
24928        * Scripts/webkit2/messages_unittest.py:
24929        (LoadSomething):
24930        (std):
24931        (AddEvent):
24932        (LoadSomethingElse):
24933        * Scripts/webkit2/parser.py:
24934        (combine_condition):
24935        (bracket_if_needed):
24936        (parse):
24937
249382013-11-14  Dan Bernstein  <mitz@apple.com>
24939
24940        [Cocoa] WKAction keys are not exported
24941        https://bugs.webkit.org/show_bug.cgi?id=124378
24942
24943        Reviewed by Anders Carlsson.
24944
24945        * UIProcess/API/mac/WKBrowsingContextController.mm: Made the keys constant pointers.
24946        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Exported the keys.
24947
249482013-11-14  Ryuan Choi  <ryuan.choi@samsung.com>
24949
24950        [WK2] Move Coordinated Graphics related code out of DrawingAreaProxy
24951        https://bugs.webkit.org/show_bug.cgi?id=124328
24952
24953        Reviewed by Andreas Kling.
24954
24955        Refactored for DrawingAreaProxy not to include Coordinated Graphics specific code.
24956
24957        * PlatformEfl.cmake:
24958        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Moved from DrawingAreaProxy.cpp.
24959        (WebKit::CoordinatedDrawingAreaProxy::updateViewport):
24960        (WebKit::CoordinatedDrawingAreaProxy::contentsRect):
24961        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Ditto.
24962        (WebKit::CoordinatedDrawingAreaProxy::coordinatedLayerTreeHostProxy): Refactored to return reference instead of pointer.
24963        (WebKit::CoordinatedDrawingAreaProxy::viewportVisibleRect):
24964        (WebKit::CoordinatedDrawingAreaProxy::page):
24965        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
24966        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
24967        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
24968        * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
24969        Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
24970        (WebKit::fuzzyCompare):
24971        (WebKit::PageViewportController::PageViewportController):
24972        (WebKit::PageViewportController::innerBoundedViewportScale):
24973        (WebKit::PageViewportController::outerBoundedViewportScale):
24974        (WebKit::PageViewportController::deviceScaleFactor):
24975        (WebKit::isIntegral):
24976        (WebKit::PageViewportController::pixelAlignedFloatPoint):
24977        (WebKit::PageViewportController::boundContentsPositionAtScale):
24978        (WebKit::PageViewportController::boundContentsPosition):
24979        (WebKit::PageViewportController::didCommitLoad):
24980        (WebKit::PageViewportController::didChangeContentsSize):
24981        (WebKit::PageViewportController::didRenderFrame):
24982        (WebKit::PageViewportController::pageTransitionViewportReady):
24983        (WebKit::PageViewportController::pageDidRequestScroll):
24984        (WebKit::PageViewportController::didChangeViewportSize):
24985        (WebKit::PageViewportController::didChangeContentsVisibility):
24986        (WebKit::PageViewportController::syncVisibleContents): Added cast to access CoordinatedDrawingAreaProxy method.
24987        (WebKit::PageViewportController::didChangeViewportAttributes):
24988        (WebKit::PageViewportController::visibleContentsSize):
24989        (WebKit::PageViewportController::applyScaleAfterRenderingContents):
24990        (WebKit::PageViewportController::applyPositionAfterRenderingContents):
24991        (WebKit::PageViewportController::updateMinimumScaleToFit):
24992        * UIProcess/CoordinatedGraphics/PageViewportController.h:
24993        Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
24994        (WebKit::PageViewportController::~PageViewportController):
24995        (WebKit::PageViewportController::hadUserInteraction):
24996        (WebKit::PageViewportController::allowsUserScaling):
24997        (WebKit::PageViewportController::contentsLayoutSize):
24998        (WebKit::PageViewportController::minimumScale):
24999        (WebKit::PageViewportController::maximumScale):
25000        (WebKit::PageViewportController::currentScale):
25001        (WebKit::PageViewportController::setHadUserInteraction):
25002        * UIProcess/CoordinatedGraphics/WebView.cpp: Added some casts to access CoordinatedDrawingAreaProxy methods.
25003        (WebKit::WebView::coordinatedGraphicsScene): Simplified code using reference.
25004        (WebKit::WebView::updateViewportSize):
25005        * UIProcess/DrawingAreaProxy.cpp: Removed Coordinated Graphics macro and related codes.
25006        * UIProcess/DrawingAreaProxy.h: Ditto.
25007
250082013-11-13  Nick Diego Yamane  <nick.yamane@openbossa.org>
25009
25010        Rename some ImmutableArray leftovers
25011        https://bugs.webkit.org/show_bug.cgi?id=124320
25012
25013        Reviewed by Anders Carlsson.
25014
25015        ImmutableArray has been renamed to API::Array in r159234.
25016
25017        * Shared/API/c/WKContextMenuItem.cpp:
25018        * Shared/WebContextMenuItem.cpp:
25019        * Shared/WebContextMenuItem.h:
25020        * UIProcess/API/C/WKBackForwardListRef.cpp:
25021        * UIProcess/API/Cocoa/WKBackForwardList.mm:
25022        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
25023        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
25024        * UIProcess/WebBackForwardList.cpp:
25025        * UIProcess/WebBackForwardList.h:
25026
250272013-11-13  Dan Bernstein  <mitz@apple.com>
25028
25029        REGRESSION (r159263): caused 50+ crashes on all mac webkit2 bots
25030        https://bugs.webkit.org/show_bug.cgi?id=124327
25031
25032        Reviewed by Tim Horton.
25033
25034        * Shared/Cocoa/APIObject.mm:
25035        (API::Object::newObject): Allocate extra memory for the WebError inside the WKNSError.
25036
250372013-11-13  Dan Bernstein  <mitz@apple.com>
25038
25039        [Cocoa] Add WKNSError
25040        https://bugs.webkit.org/show_bug.cgi?id=124295
25041
25042        Reviewed by Anders Carlsson.
25043
25044        * Shared/Cocoa/APIObject.mm:
25045        (API::Object::newObject): Allocate a WKNSError if the object is a WebError.
25046        * Shared/Cocoa/WKNSError.h: Added.
25047        (WebKit::wrapper): Added. Returns a WebError’s wrapper as an NSError.
25048        * Shared/Cocoa/WKNSError.mm: Added.
25049        (-[WKNSError _web_createTarget]): Override this WKObject method to return a copy of the
25050        underlying CFError.
25051        (-[WKNSError copyWithZone:]): Retains self.
25052        * WebKit2.xcodeproj/project.pbxproj: Added new files.
25053
250542013-11-13  Simon Fraser  <simon.fraser@apple.com>
25055
25056        Tweak the property syntax after https://bugs.webkit.org/show_bug.cgi?id=124317
25057
25058        Reviewed by Dan Bernstein.
25059
25060        * UIProcess/API/mac/WKViewPrivate.h:
25061
250622013-11-13  Anders Carlsson  <andersca@apple.com>
25063
25064        Move more state tracking to FrameLoadState
25065        https://bugs.webkit.org/show_bug.cgi?id=124316
25066
25067        Reviewed by Simon Fraser.
25068
25069        * UIProcess/FrameLoadState.cpp:
25070        (WebKit::FrameLoadState::didStartProvisionalLoad):
25071        (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
25072        (WebKit::FrameLoadState::didFailProvisionalLoad):
25073        (WebKit::FrameLoadState::didCommitLoad):
25074        (WebKit::FrameLoadState::didFinishLoad):
25075        (WebKit::FrameLoadState::didFailLoad):
25076        (WebKit::FrameLoadState::didSameDocumentNotification):
25077        (WebKit::FrameLoadState::setUnreachableURL):
25078        * UIProcess/FrameLoadState.h:
25079        * UIProcess/WebFrameProxy.cpp:
25080        (WebKit::WebFrameProxy::didCommitLoad):
25081        (WebKit::WebFrameProxy::didFinishLoad):
25082        (WebKit::WebFrameProxy::didFailLoad):
25083        (WebKit::WebFrameProxy::didSameDocumentNavigation):
25084        (WebKit::WebFrameProxy::setUnreachableURL):
25085
250862013-11-13  Simon Fraser  <simon.fraser@apple.com>
25087
25088        Expose a private flag on WKView to indicate whether it's using a remote layer tree drawing area
25089        https://bugs.webkit.org/show_bug.cgi?id=124317
25090
25091        Reviewed by Anders Carlsson.
25092        
25093        Expose isUsingUISideCompositing on WKView in the private header,
25094        which returns YES if the view is using a DrawingAreaTypeRemoteLayerTree.
25095
25096        * UIProcess/API/mac/WKView.mm:
25097        (-[WKView isUsingUISideCompositing]):
25098        * UIProcess/API/mac/WKViewPrivate.h:
25099
251002013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
25101
25102        Maybe the last attempt to fix the GTK build.
25103
25104        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
25105        * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
25106
251072013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
25108
25109        One more attempt to fix the GTK build.
25110
25111        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
25112
251132013-11-13  Anders Carlsson  <andersca@apple.com>
25114
25115        Plug-in processes hang around for 10 sec after Safari quits
25116        https://bugs.webkit.org/show_bug.cgi?id=124314
25117        <rdar://problem/15460613>
25118
25119        Reviewed by Simon Fraser.
25120
25121        Call stopRunLoop instead of instead of RunLoop::stop().
25122
25123        * PluginProcess/PluginProcess.cpp:
25124        (WebKit::PluginProcess::didClose):
25125
251262013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
25127
25128        URTBF after r159234.
25129
25130        * CMakeLists.txt:
25131        * GNUmakefile.list.am:
25132        * Shared/efl/WebEventFactory.cpp:
25133        (WebKit::WebEventFactory::createWebTouchEvent):
25134        * UIProcess/API/C/WKGrammarDetail.cpp:
25135        * UIProcess/API/C/efl/WKEventEfl.cpp:
25136        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
25137        (webkitBackForwardListCreateList):
25138        (webkitBackForwardListChanged):
25139        (webkit_back_forward_list_get_back_list_with_limit):
25140        (webkit_back_forward_list_get_forward_list_with_limit):
25141        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
25142        * UIProcess/API/gtk/WebKitContextMenu.cpp:
25143        (webkitContextMenuCreate):
25144        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
25145        (webkitContextMenuItemCreate):
25146        * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
25147        * UIProcess/API/gtk/WebKitCookieManager.cpp:
25148        (webkitCookieManagerGetDomainsWithCookiesCallback):
25149        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
25150        (webkit_file_chooser_request_get_mime_types):
25151        (webkit_file_chooser_request_get_mime_types_filter):
25152        (webkit_file_chooser_request_select_files):
25153        (webkit_file_chooser_request_get_selected_files):
25154        * UIProcess/API/gtk/WebKitWebView.cpp:
25155        (webkitWebViewPopulateContextMenu):
25156        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
25157        (toImmutableArray):
25158        (webkit_web_view_group_add_user_style_sheet):
25159        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
25160        * UIProcess/WebGrammarDetail.cpp:
25161        (WebKit::WebGrammarDetail::create):
25162        (WebKit::WebGrammarDetail::WebGrammarDetail):
25163        (WebKit::WebGrammarDetail::guesses):
25164        * UIProcess/WebGrammarDetail.h:
25165        * UIProcess/WebTextCheckerClient.cpp:
25166        (WebKit::WebTextCheckerClient::checkGrammarOfString):
25167        (WebKit::WebTextCheckerClient::guessesForWord):
25168        * UIProcess/efl/WebUIPopupMenuClient.cpp:
25169        (WebUIPopupMenuClient::showPopupMenu):
25170
251712013-11-13  Anders Carlsson  <andersca@apple.com>
25172
25173        Fix build.
25174
25175        Not sure why these weren't added.
25176
25177        * Shared/APIArray.cpp: Added.
25178        * Shared/APIArray.h: Added.
25179
251802013-11-13  Anders Carlsson  <andersca@apple.com>
25181
25182        Rename ImmutableArray to API::Array
25183        https://bugs.webkit.org/show_bug.cgi?id=124307
25184
25185        Reviewed by Andreas Kling.
25186
25187        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
25188        (ensureObjectStream):
25189        (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
25190        * Shared/API/c/WKArray.cpp:
25191        (WKArrayGetTypeID):
25192        (WKArrayCreate):
25193        (WKArrayCreateAdoptingValues):
25194        * Shared/API/c/WKContextMenuItem.cpp:
25195        * Shared/API/c/WKDictionary.cpp:
25196        (WKDictionaryCopyKeys):
25197        * Shared/API/c/WKMutableArray.cpp:
25198        (WKMutableArrayCreate):
25199        * Shared/API/c/WKRenderObject.cpp:
25200        (WKRenderObjectGetChildren):
25201        * Shared/API/c/WKSharedAPICast.h:
25202        (WebKit::toImpl):
25203        * Shared/API/c/mac/WKWebArchive.cpp:
25204        (WKWebArchiveCopySubresources):
25205        (WKWebArchiveCopySubframeArchives):
25206        * Shared/APIArray.cpp: Renamed from Source/WebKit2/Shared/ImmutableArray.cpp.
25207        (API::Array::create):
25208        (API::Array::createStringArray):
25209        (API::Array::Array):
25210        (API::Array::~Array):
25211        * Shared/APIArray.h: Renamed from Source/WebKit2/Shared/ImmutableArray.h.
25212        * Shared/Cocoa/WKNSArray.h:
25213        (wrapper):
25214        * Shared/Cocoa/WKNSArray.mm:
25215        (-[WKNSArray dealloc]):
25216        (-[WKNSArray count]):
25217        (-[WKNSArray objectAtIndex:]):
25218        (-[WKNSArray API::]):
25219        * Shared/ImmutableDictionary.cpp:
25220        (WebKit::ImmutableDictionary::keys):
25221        * Shared/ImmutableDictionary.h:
25222        * Shared/SecurityOriginData.cpp:
25223        (WebKit::performAPICallbackWithSecurityOriginDataVector):
25224        * Shared/UserMessageCoders.h:
25225        (WebKit::UserMessageEncoder::baseEncode):
25226        (WebKit::UserMessageDecoder::baseDecode):
25227        * Shared/WebArchive.cpp:
25228        (WebKit::WebArchive::create):
25229        (WebKit::WebArchive::WebArchive):
25230        (WebKit::WebArchive::subresources):
25231        (WebKit::WebArchive::subframeArchives):
25232        * Shared/WebArchive.h:
25233        * Shared/WebContextMenuItem.cpp:
25234        (WebKit::WebContextMenuItem::create):
25235        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
25236        * Shared/WebContextMenuItem.h:
25237        * Shared/WebOpenPanelParameters.cpp:
25238        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
25239        (WebKit::WebOpenPanelParameters::selectedFileNames):
25240        * Shared/WebOpenPanelParameters.h:
25241        * Shared/WebRenderLayer.cpp:
25242        (WebKit::WebRenderLayer::create):
25243        (WebKit::WebRenderLayer::createArrayFromLayerList):
25244        (WebKit::WebRenderLayer::WebRenderLayer):
25245        * Shared/WebRenderLayer.h:
25246        (WebKit::WebRenderLayer::negativeZOrderList):
25247        (WebKit::WebRenderLayer::normalFlowList):
25248        (WebKit::WebRenderLayer::positiveZOrderList):
25249        * Shared/WebRenderObject.cpp:
25250        (WebKit::WebRenderObject::create):
25251        (WebKit::WebRenderObject::WebRenderObject):
25252        (WebKit::WebRenderObject::~WebRenderObject):
25253        * Shared/WebRenderObject.h:
25254        (WebKit::WebRenderObject::children):
25255        (WebKit::WebRenderObject::elementClassNames):
25256        * UIProcess/API/C/WKBackForwardListRef.cpp:
25257        * UIProcess/API/C/WKOpenPanelParameters.cpp:
25258        * UIProcess/API/C/WKPage.cpp:
25259        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
25260        (WKContextGetInfoForInstalledPlugIns):
25261        * UIProcess/API/Cocoa/WKBackForwardList.mm:
25262        (-[WKBackForwardList backListWithLimit:]):
25263        (-[WKBackForwardList forwardListWithLimit:]):
25264        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
25265        (createWKArray):
25266        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
25267        (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
25268        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
25269        (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
25270        * UIProcess/Notifications/WebNotificationManagerProxy.h:
25271        * UIProcess/Notifications/WebNotificationProvider.cpp:
25272        (WebKit::WebNotificationProvider::clearNotifications):
25273        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
25274        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray):
25275        * UIProcess/Plugins/PlugInAutoStartProvider.h:
25276        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
25277        (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
25278        (WebKit::WebPluginSiteDataManager::clearSiteData):
25279        * UIProcess/Plugins/WebPluginSiteDataManager.h:
25280        * UIProcess/StatisticsRequest.cpp:
25281        (WebKit::StatisticsRequest::completedRequest):
25282        * UIProcess/WebApplicationCacheManagerProxy.h:
25283        * UIProcess/WebBackForwardList.cpp:
25284        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
25285        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
25286        * UIProcess/WebBackForwardList.h:
25287        * UIProcess/WebContext.cpp:
25288        (WebKit::WebContext::setPlugInAutoStartOrigins):
25289        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
25290        * UIProcess/WebContext.h:
25291        * UIProcess/WebContextClient.cpp:
25292        (WebKit::WebContextClient::plugInInformationBecameAvailable):
25293        * UIProcess/WebContextClient.h:
25294        * UIProcess/WebCookieManagerProxy.cpp:
25295        (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
25296        * UIProcess/WebCookieManagerProxy.h:
25297        * UIProcess/WebDatabaseManagerProxy.cpp:
25298        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
25299        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
25300        * UIProcess/WebFindClient.cpp:
25301        (WebKit::WebFindMatchesClient::didFindStringMatches):
25302        * UIProcess/WebFindClient.h:
25303        * UIProcess/WebFrameProxy.h:
25304        * UIProcess/WebKeyValueStorageManager.cpp:
25305        (WebKit::didGetKeyValueStorageOrigins):
25306        * UIProcess/WebKeyValueStorageManager.h:
25307        * UIProcess/WebLoaderClient.cpp:
25308        (WebKit::WebLoaderClient::didChangeBackForwardList):
25309        * UIProcess/WebMediaCacheManagerProxy.cpp:
25310        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
25311        * UIProcess/WebMediaCacheManagerProxy.h:
25312        * UIProcess/WebOpenPanelResultListenerProxy.cpp:
25313        (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
25314        * UIProcess/WebOpenPanelResultListenerProxy.h:
25315        * UIProcess/WebOriginDataManagerProxy.h:
25316        * UIProcess/WebPageContextMenuClient.cpp:
25317        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
25318        (WebKit::WebPageContextMenuClient::showContextMenu):
25319        * UIProcess/WebPageGroup.cpp:
25320        (WebKit::toStringVector):
25321        (WebKit::WebPageGroup::addUserStyleSheet):
25322        (WebKit::WebPageGroup::addUserScript):
25323        * UIProcess/WebPageGroup.h:
25324        * UIProcess/WebPageProxy.cpp:
25325        (WebKit::WebPageProxy::relatedPages):
25326        (WebKit::WebPageProxy::didFindStringMatches):
25327        * UIProcess/WebPageProxy.h:
25328        * UIProcess/WebResourceCacheManagerProxy.cpp:
25329        * WebKit2.xcodeproj/project.pbxproj:
25330        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
25331        (WKBundleCopyOriginsWithApplicationCache):
25332        * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
25333        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
25334        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
25335        (contextMenuItems):
25336        * WebProcess/InjectedBundle/InjectedBundle.cpp:
25337        (WebKit::InjectedBundle::originsWithApplicationCache):
25338        (WebKit::toStringVector):
25339        (WebKit::InjectedBundle::addUserScript):
25340        (WebKit::InjectedBundle::addUserStyleSheet):
25341        * WebProcess/InjectedBundle/InjectedBundle.h:
25342        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
25343        (WebKit::InjectedBundleBackForwardListItem::children):
25344        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
25345        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
25346        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
25347        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
25348        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
25349        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
25350        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
25351        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
25352        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
25353        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25354        (WebKit::findLargestFrameInFrameSet):
25355        * WebProcess/WebPage/WebFrame.cpp:
25356        (WebKit::WebFrame::childFrames):
25357        * WebProcess/WebPage/WebFrame.h:
25358        * WebProcess/WebPage/WebPage.cpp:
25359        (WebKit::WebPage::trackedRepaintRects):
25360        * WebProcess/WebPage/WebPage.h:
25361
253622013-11-13  Nick Diego Yamane  <nick.yamane@openbossa.org>
25363
25364        [GTK] Fix build after r159222
25365        https://bugs.webkit.org/show_bug.cgi?id=124305
25366
25367        Reviewed by Tim Horton.
25368
25369        WebGraphicsContext and its API has been removed.
25370
25371        * CMakeLists.txt:
25372        * GNUmakefile.list.am:
25373        * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Removed.
25374        * Shared/API/c/gtk/WKGraphicsContextGtk.h: Removed.
25375
253762013-11-13  Tim Horton  <timothy_horton@apple.com>
25377
25378        Remove redundant return after r159173
25379        https://bugs.webkit.org/show_bug.cgi?id=124303
25380
25381        Reviewed by Geoff Garen.
25382
25383        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
25384        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
25385        Remove redundant return.
25386
253872013-11-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
25388
25389        Unreviewed EFL build fix after r159222.
25390
25391        * CMakeLists.txt:
25392
253932013-11-13  Anders Carlsson  <andersca@apple.com>
25394
25395        Remove WebGraphicsContext
25396        https://bugs.webkit.org/show_bug.cgi?id=124302
25397
25398        Reviewed by Dan Bernstein.
25399
25400        WebGraphicsContext and its API "object", WKGraphicsContextRef was only used
25401        for the overhang paint callback which has been removed.
25402
25403        * Shared/API/c/WKDeprecatedFunctions.cpp:
25404        (WKGraphicsContextGetCGContext):
25405        * Shared/API/c/WKGraphicsContext.cpp: Removed.
25406        * Shared/API/c/WKGraphicsContext.h: Removed.
25407        * Shared/API/c/cg/WKGraphicsContextCG.cpp: Removed.
25408        * Shared/API/c/cg/WKGraphicsContextCG.h: Removed.
25409        * Shared/APIObject.h:
25410        * Shared/WebGraphicsContext.cpp: Removed.
25411        * Shared/WebGraphicsContext.h: Removed.
25412        * UIProcess/API/C/WebKit2_C.h:
25413        * WebKit2.xcodeproj/project.pbxproj:
25414        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
25415
254162013-11-13  Anders Carlsson  <andersca@apple.com>
25417
25418        WKArrayIsMutable should not be mangled
25419        https://bugs.webkit.org/show_bug.cgi?id=124299
25420
25421        Reviewed by Andreas Kling.
25422
25423        * Shared/API/c/WKDeprecatedFunctions.cpp:
25424
254252013-11-13  Anders Carlsson  <andersca@apple.com>
25426
25427        Move provisional load state handling to FrameLoadState
25428        https://bugs.webkit.org/show_bug.cgi?id=124291
25429
25430        Reviewed by Dan Bernstein.
25431
25432        * UIProcess/FrameLoadState.cpp:
25433        (WebKit::FrameLoadState::didStartProvisionalLoad):
25434        (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
25435        (WebKit::FrameLoadState::didFailProvisionalLoad):
25436        * UIProcess/FrameLoadState.h:
25437        * UIProcess/WebFrameProxy.cpp:
25438        (WebKit::WebFrameProxy::didStartProvisionalLoad):
25439        (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
25440        (WebKit::WebFrameProxy::didFailProvisionalLoad):
25441
254422013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
25443
25444        One more fix after r159197.
25445
25446        * UIProcess/efl/EwkTouchEvent.h:
25447        * UIProcess/efl/EwkTouchPoint.h:
25448
254492013-11-13  Brendan Long  <b.long@cablelabs.com>
25450
25451        [Gtk][EFL] Fix builds by updating Object::TypeX to Object::Type::X
25452        https://bugs.webkit.org/show_bug.cgi?id=124289
25453
25454        Reviewed by Alexey Proskuryakov.
25455
25456        * Shared/API/c/WKContextMenuItem.cpp:
25457        (WKContextMenuItemGetTypeID):
25458        * Shared/WebBatteryStatus.h:
25459        * Shared/WebNetworkInfo.h:
25460        * UIProcess/API/C/WKGrammarDetail.cpp:
25461        (WKGrammarDetailGetTypeID):
25462        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
25463        (WKPluginSiteDataManagerGetTypeID):
25464        * UIProcess/CoordinatedGraphics/WebView.h:
25465        * UIProcess/WebBatteryManagerProxy.h:
25466        * UIProcess/WebNetworkInfoManagerProxy.h:
25467        * UIProcess/WebTextChecker.h:
25468        * UIProcess/WebVibrationProxy.h:
25469        * UIProcess/WebViewportAttributes.h:
25470        * UIProcess/efl/WebPopupItemEfl.h:
25471        * UIProcess/soup/WebSoupRequestManagerProxy.h:
25472
254732013-11-13  Tamas Gergely  <gertom@inf.u-szeged.hu>
25474
25475        Remove prefixed template class processing from message receiver generator.
25476        https://bugs.webkit.org/show_bug.cgi?id=123095
25477
25478        Reviewed by Anders Carlsson.
25479
25480        There was a FIXME in messages.py to remove unprefixed WTF template classes,
25481        but in the discussion of the bug report we concluded that in the messages.in
25482        files we should follow the C++ naming convention where none of the WTF
25483        classes require the WTF prefix.
25484
25485        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
25486        * Scripts/webkit2/messages.py:
25487        (class_template_headers):
25488        * Scripts/webkit2/messages_unittest.py:
25489        (std):
25490        * UIProcess/Storage/StorageManager.messages.in:
25491        * UIProcess/WebPageProxy.messages.in:
25492        * WebProcess/WebPage/WebPage.messages.in:
25493
254942013-11-13  Csaba Osztrogonác  <ossy@webkit.org>
25495
25496        URTBF after r159199 to make cmake and GTK build happy.
25497
25498        * CMakeLists.txt:
25499        * GNUmakefile.list.am:
25500
255012013-11-13  Anders Carlsson  <andersca@apple.com>
25502
25503        Add WKDeprecatedFunctions.cpp and move WKArrayIsMutable there
25504        https://bugs.webkit.org/show_bug.cgi?id=124284
25505
25506        Reviewed by Andreas Kling.
25507
25508        * Shared/API/c/WKDeprecatedFunctions.cpp: Copied from Source/WebKit2/Shared/API/c/WKMutableArray.h.
25509        (WKArrayIsMutable):
25510        * Shared/API/c/WKMutableArray.cpp:
25511        * Shared/API/c/WKMutableArray.h:
25512        * WebKit2.xcodeproj/project.pbxproj:
25513
255142013-11-12  Anders Carlsson  <andersca@apple.com>
25515
25516        API::Object::Type should be a strongly typed enum
25517        https://bugs.webkit.org/show_bug.cgi?id=124258
25518
25519        Reviewed by Tim Horton.
25520
25521        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
25522        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
25523        * Shared/APIObject.h:
25524        * Shared/Cocoa/APIObject.mm:
25525        (API::Object::newObject):
25526        * Shared/ImmutableArray.h:
25527        * Shared/ImmutableDictionary.h:
25528        * Shared/UserMessageCoders.h:
25529        (WebKit::UserMessageEncoder::baseEncode):
25530        (WebKit::UserMessageDecoder::baseDecode):
25531        * Shared/WebArchive.h:
25532        * Shared/WebArchiveResource.h:
25533        * Shared/WebBackForwardListItem.h:
25534        * Shared/WebCertificateInfo.h:
25535        * Shared/WebConnection.h:
25536        * Shared/WebContextMenuItem.h:
25537        * Shared/WebData.h:
25538        * Shared/WebError.h:
25539        * Shared/WebGeolocationPosition.h:
25540        * Shared/WebGeometry.h:
25541        * Shared/WebGraphicsContext.h:
25542        * Shared/WebHitTestResult.h:
25543        * Shared/WebImage.h:
25544        * Shared/WebNumber.h:
25545        * Shared/WebOpenPanelParameters.h:
25546        * Shared/WebRenderLayer.h:
25547        * Shared/WebRenderObject.h:
25548        * Shared/WebSecurityOrigin.h:
25549        * Shared/WebSerializedScriptValue.h:
25550        * Shared/WebString.h:
25551        * Shared/WebURL.h:
25552        * Shared/WebURLRequest.h:
25553        * Shared/WebURLResponse.h:
25554        * Shared/WebUserContentURLPattern.h:
25555        * Shared/mac/ObjCObjectGraph.h:
25556        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
25557        * UIProcess/Authentication/AuthenticationDecisionListener.h:
25558        * UIProcess/Authentication/WebCredential.h:
25559        * UIProcess/Authentication/WebProtectionSpace.h:
25560        * UIProcess/Downloads/DownloadProxy.h:
25561        * UIProcess/GeolocationPermissionRequestProxy.h:
25562        * UIProcess/Notifications/NotificationPermissionRequest.h:
25563        * UIProcess/Notifications/WebNotification.h:
25564        * UIProcess/Notifications/WebNotificationManagerProxy.h:
25565        * UIProcess/Plugins/WebPluginSiteDataManager.h:
25566        * UIProcess/WebApplicationCacheManagerProxy.h:
25567        * UIProcess/WebBackForwardList.h:
25568        * UIProcess/WebColorPickerResultListenerProxy.h:
25569        * UIProcess/WebContext.h:
25570        * UIProcess/WebContextUserMessageCoders.h:
25571        (WebKit::WebContextUserMessageEncoder::encode):
25572        (WebKit::WebContextUserMessageDecoder::decode):
25573        * UIProcess/WebCookieManagerProxy.h:
25574        * UIProcess/WebDatabaseManagerProxy.h:
25575        * UIProcess/WebEditCommandProxy.h:
25576        * UIProcess/WebFormSubmissionListenerProxy.h:
25577        * UIProcess/WebFramePolicyListenerProxy.h:
25578        * UIProcess/WebFrameProxy.h:
25579        * UIProcess/WebGeolocationManagerProxy.h:
25580        * UIProcess/WebGrammarDetail.h:
25581        * UIProcess/WebIconDatabase.h:
25582        * UIProcess/WebInspectorProxy.h:
25583        * UIProcess/WebKeyValueStorageManager.h:
25584        * UIProcess/WebMediaCacheManagerProxy.h:
25585        * UIProcess/WebNavigationData.h:
25586        * UIProcess/WebOpenPanelResultListenerProxy.h:
25587        * UIProcess/WebOriginDataManagerProxy.h:
25588        * UIProcess/WebPageGroup.h:
25589        * UIProcess/WebPageProxy.h:
25590        * UIProcess/WebPreferences.h:
25591        * UIProcess/WebResourceCacheManagerProxy.h:
25592        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
25593        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
25594        * WebProcess/InjectedBundle/InjectedBundle.h:
25595        * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
25596        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
25597        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
25598        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
25599        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
25600        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
25601        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
25602        (WebKit::InjectedBundleUserMessageEncoder::encode):
25603        (WebKit::InjectedBundleUserMessageDecoder::decode):
25604        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
25605        (WebKit::InjectedBundle::load):
25606        * WebProcess/WebPage/PageBanner.h:
25607        * WebProcess/WebPage/PageOverlay.h:
25608        * WebProcess/WebPage/WebFrame.h:
25609        * WebProcess/WebPage/WebInspector.h:
25610        * WebProcess/WebPage/WebPage.h:
25611        * WebProcess/WebPage/WebPageGroupProxy.h:
25612        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
25613        (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
25614        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
25615
256162013-11-13  Anders Carlsson  <andersca@apple.com>
25617
25618        Remove custom overhang area painting code
25619        https://bugs.webkit.org/show_bug.cgi?id=124282
25620
25621        Reviewed by Andreas Kling.
25622
25623        This code was only used by the Mac port, to draw the linen background color on Lion.
25624        We now do that on the GPU instead so get rid of this code.
25625
25626        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
25627        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
25628        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
25629        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25630        * WebProcess/WebCoreSupport/WebChromeClient.h:
25631
256322013-11-13  Sergio Correia  <sergio.correia@openbossa.org>
25633
25634        [EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
25635        https://bugs.webkit.org/show_bug.cgi?id=124241
25636
25637        Reviewed by Gyuyoung Kim.
25638
25639        The modified files are located under UIProcess/{efl,API/efl}.
25640
25641        * UIProcess/API/efl/EwkView.cpp:
25642        * UIProcess/API/efl/EwkView.h:
25643        * UIProcess/API/efl/GestureRecognizer.cpp:
25644        * UIProcess/API/efl/GestureRecognizer.h:
25645        * UIProcess/API/efl/ewk_back_forward_list_private.h:
25646        * UIProcess/API/efl/ewk_color_picker_private.h:
25647        * UIProcess/API/efl/ewk_context.cpp:
25648        * UIProcess/API/efl/ewk_context_menu.cpp:
25649        * UIProcess/API/efl/ewk_context_menu_item.cpp:
25650        * UIProcess/API/efl/ewk_context_menu_item_private.h:
25651        * UIProcess/API/efl/ewk_context_private.h:
25652        * UIProcess/API/efl/ewk_cookie_manager.cpp:
25653        * UIProcess/API/efl/ewk_cookie_manager_private.h:
25654        * UIProcess/API/efl/ewk_database_manager_private.h:
25655        * UIProcess/API/efl/ewk_favicon_database_private.h:
25656        * UIProcess/API/efl/ewk_popup_menu.cpp:
25657        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
25658        * UIProcess/API/efl/ewk_popup_menu_private.h:
25659        * UIProcess/API/efl/ewk_settings_private.h:
25660        * UIProcess/API/efl/ewk_storage_manager.cpp:
25661        * UIProcess/API/efl/ewk_storage_manager_private.h:
25662        * UIProcess/API/efl/ewk_view.cpp:
25663        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
25664        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
25665        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
25666        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
25667        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
25668        * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
25669        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
25670        * UIProcess/efl/ContextHistoryClientEfl.h:
25671        * UIProcess/efl/ContextMenuClientEfl.h:
25672        * UIProcess/efl/DownloadManagerEfl.h:
25673        * UIProcess/efl/FindClientEfl.h:
25674        * UIProcess/efl/FormClientEfl.h:
25675        * UIProcess/efl/PageLoadClientEfl.h:
25676        * UIProcess/efl/PagePolicyClientEfl.h:
25677        * UIProcess/efl/PageUIClientEfl.h:
25678        * UIProcess/efl/PageViewportControllerClientEfl.h:
25679        * UIProcess/efl/RequestManagerClientEfl.h:
25680        * UIProcess/efl/VibrationClientEfl.cpp:
25681        * UIProcess/efl/VibrationClientEfl.h:
25682        * UIProcess/efl/ViewClientEfl.h:
25683
256842013-11-12  Alexey Proskuryakov  <ap@apple.com>
25685
25686        Disable WebCrypto on Mountain Lion
25687        https://bugs.webkit.org/show_bug.cgi?id=124261
25688
25689        Rubber-stamped by Sam Weinig.
25690
25691        * Configurations/FeatureDefines.xcconfig:
25692
256932013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>
25694
25695        [GTK][EFL] More on renaming WebKit::APIObject to API::Object
25696        https://bugs.webkit.org/show_bug.cgi?id=124255
25697
25698        Reviewed by Anders Carlsson.
25699
25700        In r159163 WebKit::APIObject has been renamed to API::Object.
25701        This patch refactors the remaining files which were still
25702        using WebKit::APIObject and WebKit::TypedAPIObject.
25703
25704        * Shared/WebBatteryStatus.h:
25705        * Shared/WebNetworkInfo.h:
25706        * UIProcess/API/C/WKGrammarDetail.cpp:
25707        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
25708        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
25709        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
25710        * UIProcess/CoordinatedGraphics/WebView.h:
25711        * UIProcess/WebBatteryManagerProxy.cpp:
25712        * UIProcess/WebBatteryManagerProxy.h:
25713        * UIProcess/WebGrammarDetail.cpp:
25714        * UIProcess/WebNetworkInfoManagerProxy.cpp:
25715        * UIProcess/WebNetworkInfoManagerProxy.h:
25716        * UIProcess/WebTextChecker.h:
25717        * UIProcess/WebVibrationProxy.h:
25718        * UIProcess/WebViewportAttributes.h:
25719        * UIProcess/efl/EwkTouchEvent.h:
25720        * UIProcess/efl/EwkTouchPoint.h:
25721        * UIProcess/efl/WebPopupItemEfl.h:
25722        * UIProcess/efl/WebUIPopupMenuClient.cpp:
25723        * UIProcess/gtk/WebFullScreenClientGtk.h:
25724        * UIProcess/gtk/WebInspectorClientGtk.h:
25725        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
25726        * UIProcess/soup/WebSoupRequestManagerProxy.h:
25727        * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
25728        * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
25729
257302013-11-12  Anders Carlsson  <andersca@apple.com>
25731
25732        fast/canvas/webgl/draw-arrays-out-of-bounds.html is flaky on Mavericks WK2 testers, fails about 20% of the time
25733        https://bugs.webkit.org/show_bug.cgi?id=124223
25734        <rdar://problem/15333977>
25735
25736        Reviewed by Tim Horton.
25737
25738        It's wrong to use DataReferences in sync IPC replies; the underlying MessageDecoder will be freed after the call to
25739        sendSync returns and the DataReference will point to freed memory. Use a Vector<char> instead.
25740
25741        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
25742        * NetworkProcess/SynchronousNetworkLoaderClient.cpp:
25743        (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
25744        (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
25745        * NetworkProcess/SynchronousNetworkLoaderClient.h:
25746        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
25747        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
25748
257492013-11-12  Gustavo Noronha Silva  <gns@gnome.org>
25750
25751        Unreviewed try at fixing the GTK+ build.
25752
25753        * UIProcess/soup/WebSoupRequestManagerProxy.h: rename TypedAPIObject to API:TypedObject.
25754
257552013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>
25756
25757        [EFL][GTK] Remove MutableArray leftovers from build systems
25758        https://bugs.webkit.org/show_bug.cgi?id=124248
25759
25760        Reviewed by Anders Carlsson.
25761
25762        MutableArray.cpp and .h file has been removed by r159155.
25763
25764        * CMakeLists.txt:
25765        * GNUmakefile.list.am:
25766
257672013-11-12  Anders Carlsson  <andersca@apple.com>
25768
25769        Rename APIObject to API::Object
25770        https://bugs.webkit.org/show_bug.cgi?id=124247
25771
25772        Reviewed by Tim Horton.
25773
25774        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
25775        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
25776        * Shared/API/c/WKArray.cpp:
25777        (WKArrayCreate):
25778        (WKArrayCreateAdoptingValues):
25779        * Shared/API/c/WKContextMenuItem.cpp:
25780        (WKContextMenuItemGetTypeID):
25781        * Shared/API/c/WKSharedAPICast.h:
25782        (WebKit::toAPI):
25783        * Shared/API/c/WKType.cpp:
25784        (WKGetTypeID):
25785        (WKRetain):
25786        (WKRelease):
25787        * Shared/APIObject.cpp:
25788        (API::Object::Object):
25789        * Shared/APIObject.h:
25790        (API::Object::~Object):
25791        (API::TypedObject::~TypedObject):
25792        (API::TypedObject::TypedObject):
25793        * Shared/Cocoa/APIObject.mm:
25794        (API::Object::ref):
25795        (API::Object::deref):
25796        (API::Object::newObject):
25797        * Shared/Cocoa/WKNSArray.mm:
25798        (-[WKNSArray objectAtIndex:]):
25799        (-[WKNSArray API::]):
25800        * Shared/Cocoa/WKNSDictionary.mm:
25801        (-[WKNSDictionary objectForKey:]):
25802        (-[WKNSDictionary API::]):
25803        * Shared/Cocoa/WKObject.h:
25804        * Shared/Cocoa/WKObject.mm:
25805        (-[WKObject dealloc]):
25806        (-[WKObject API::]):
25807        * Shared/ImmutableArray.cpp:
25808        (WebKit::ImmutableArray::create):
25809        (WebKit::ImmutableArray::createStringArray):
25810        (WebKit::ImmutableArray::ImmutableArray):
25811        * Shared/ImmutableArray.h:
25812        * Shared/ImmutableDictionary.cpp:
25813        (WebKit::ImmutableDictionary::keys):
25814        * Shared/ImmutableDictionary.h:
25815        (WebKit::ImmutableDictionary::get):
25816        * Shared/MutableDictionary.cpp:
25817        (WebKit::MutableDictionary::add):
25818        (WebKit::MutableDictionary::set):
25819        * Shared/MutableDictionary.h:
25820        * Shared/SecurityOriginData.cpp:
25821        (WebKit::performAPICallbackWithSecurityOriginDataVector):
25822        * Shared/UserMessageCoders.h:
25823        (WebKit::UserMessageEncoder::baseEncode):
25824        (WebKit::UserMessageEncoder::UserMessageEncoder):
25825        (WebKit::UserMessageDecoder::baseDecode):
25826        (WebKit::UserMessageDecoder::UserMessageDecoder):
25827        * Shared/WebArchive.cpp:
25828        (WebKit::WebArchive::subresources):
25829        (WebKit::WebArchive::subframeArchives):
25830        * Shared/WebArchive.h:
25831        * Shared/WebArchiveResource.h:
25832        * Shared/WebBackForwardListItem.h:
25833        * Shared/WebCertificateInfo.h:
25834        * Shared/WebConnection.cpp:
25835        (WebKit::WebConnection::postMessage):
25836        (WebKit::WebConnection::handleMessage):
25837        * Shared/WebConnection.h:
25838        * Shared/WebConnectionClient.cpp:
25839        (WebKit::WebConnectionClient::didReceiveMessage):
25840        * Shared/WebConnectionClient.h:
25841        * Shared/WebContextMenuItem.cpp:
25842        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
25843        (WebKit::WebContextMenuItem::userData):
25844        (WebKit::WebContextMenuItem::setUserData):
25845        * Shared/WebContextMenuItem.h:
25846        * Shared/WebContextMenuItemData.cpp:
25847        (WebKit::WebContextMenuItemData::userData):
25848        (WebKit::WebContextMenuItemData::setUserData):
25849        * Shared/WebContextMenuItemData.h:
25850        * Shared/WebData.h:
25851        * Shared/WebError.h:
25852        * Shared/WebGeolocationPosition.h:
25853        * Shared/WebGeometry.h:
25854        * Shared/WebGraphicsContext.h:
25855        * Shared/WebHitTestResult.h:
25856        * Shared/WebImage.h:
25857        * Shared/WebNumber.h:
25858        * Shared/WebOpenPanelParameters.h:
25859        * Shared/WebRenderLayer.cpp:
25860        (WebKit::WebRenderLayer::createArrayFromLayerList):
25861        * Shared/WebRenderLayer.h:
25862        * Shared/WebRenderObject.cpp:
25863        (WebKit::WebRenderObject::WebRenderObject):
25864        * Shared/WebRenderObject.h:
25865        * Shared/WebSecurityOrigin.h:
25866        * Shared/WebSerializedScriptValue.h:
25867        * Shared/WebString.h:
25868        * Shared/WebURL.h:
25869        * Shared/WebURLRequest.h:
25870        * Shared/WebURLResponse.h:
25871        * Shared/WebUserContentURLPattern.h:
25872        * Shared/mac/ObjCObjectGraph.h:
25873        * Shared/mac/ObjCObjectGraphCoders.mm:
25874        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
25875        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
25876        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
25877        (WKPluginSiteDataManagerGetTypeID):
25878        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
25879        (WKContextGetInfoForInstalledPlugIns):
25880        * UIProcess/API/Cocoa/WKBackForwardList.mm:
25881        (-[WKBackForwardList API::]):
25882        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
25883        (-[WKBackForwardListItem API::]):
25884        * UIProcess/API/Cocoa/WKNavigationData.mm:
25885        (-[WKNavigationData API::]):
25886        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
25887        (createWKArray):
25888        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
25889        * UIProcess/Authentication/AuthenticationDecisionListener.h:
25890        * UIProcess/Authentication/WebCredential.h:
25891        * UIProcess/Authentication/WebProtectionSpace.h:
25892        * UIProcess/Downloads/DownloadProxy.h:
25893        * UIProcess/GeolocationPermissionRequestProxy.h:
25894        * UIProcess/Notifications/NotificationPermissionRequest.h:
25895        * UIProcess/Notifications/WebNotification.h:
25896        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
25897        (WebKit::WebNotificationManagerProxy::refWebContextSupplement):
25898        (WebKit::WebNotificationManagerProxy::derefWebContextSupplement):
25899        * UIProcess/Notifications/WebNotificationManagerProxy.h:
25900        * UIProcess/Notifications/WebNotificationProvider.cpp:
25901        (WebKit::WebNotificationProvider::clearNotifications):
25902        * UIProcess/Plugins/WebPluginSiteDataManager.h:
25903        * UIProcess/StatisticsRequest.cpp:
25904        (WebKit::StatisticsRequest::completedRequest):
25905        * UIProcess/WebApplicationCacheManagerProxy.cpp:
25906        (WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
25907        (WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
25908        * UIProcess/WebApplicationCacheManagerProxy.h:
25909        * UIProcess/WebBackForwardList.cpp:
25910        (WebKit::WebBackForwardList::addItem):
25911        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
25912        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
25913        (WebKit::WebBackForwardList::clear):
25914        * UIProcess/WebBackForwardList.h:
25915        * UIProcess/WebColorPickerResultListenerProxy.h:
25916        * UIProcess/WebConnectionToWebProcess.cpp:
25917        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
25918        (WebKit::WebConnectionToWebProcess::decodeMessageBody):
25919        * UIProcess/WebConnectionToWebProcess.h:
25920        * UIProcess/WebContext.cpp:
25921        (WebKit::WebContext::createNewWebProcess):
25922        (WebKit::WebContext::postMessageToInjectedBundle):
25923        (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
25924        (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle):
25925        (WebKit::WebContext::didReceiveMessage):
25926        (WebKit::WebContext::didReceiveSyncMessage):
25927        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
25928        * UIProcess/WebContext.h:
25929        (WebKit::WebContext::setInjectedBundleInitializationUserData):
25930        * UIProcess/WebContextInjectedBundleClient.cpp:
25931        (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
25932        (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
25933        (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
25934        * UIProcess/WebContextInjectedBundleClient.h:
25935        * UIProcess/WebContextUserMessageCoders.h:
25936        (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
25937        (WebKit::WebContextUserMessageEncoder::encode):
25938        (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
25939        (WebKit::WebContextUserMessageDecoder::decode):
25940        * UIProcess/WebCookieManagerProxy.cpp:
25941        (WebKit::WebCookieManagerProxy::refWebContextSupplement):
25942        (WebKit::WebCookieManagerProxy::derefWebContextSupplement):
25943        * UIProcess/WebCookieManagerProxy.h:
25944        * UIProcess/WebDatabaseManagerProxy.cpp:
25945        (WebKit::WebDatabaseManagerProxy::refWebContextSupplement):
25946        (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement):
25947        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
25948        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
25949        * UIProcess/WebDatabaseManagerProxy.h:
25950        * UIProcess/WebEditCommandProxy.h:
25951        * UIProcess/WebFormClient.cpp:
25952        (WebKit::WebFormClient::willSubmitForm):
25953        * UIProcess/WebFormClient.h:
25954        * UIProcess/WebFrameListenerProxy.h:
25955        * UIProcess/WebFrameProxy.h:
25956        * UIProcess/WebGeolocationManagerProxy.cpp:
25957        (WebKit::WebGeolocationManagerProxy::refWebContextSupplement):
25958        (WebKit::WebGeolocationManagerProxy::derefWebContextSupplement):
25959        * UIProcess/WebGeolocationManagerProxy.h:
25960        * UIProcess/WebGrammarDetail.h:
25961        * UIProcess/WebIconDatabase.h:
25962        * UIProcess/WebIconDatabaseClient.h:
25963        * UIProcess/WebInspectorProxy.h:
25964        * UIProcess/WebKeyValueStorageManager.cpp:
25965        (WebKit::WebKeyValueStorageManager::refWebContextSupplement):
25966        (WebKit::WebKeyValueStorageManager::derefWebContextSupplement):
25967        (WebKit::didGetKeyValueStorageOrigins):
25968        * UIProcess/WebKeyValueStorageManager.h:
25969        * UIProcess/WebLoaderClient.cpp:
25970        (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
25971        (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
25972        (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
25973        (WebKit::WebLoaderClient::didCommitLoadForFrame):
25974        (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
25975        (WebKit::WebLoaderClient::didFinishLoadForFrame):
25976        (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
25977        (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
25978        (WebKit::WebLoaderClient::didReceiveTitleForFrame):
25979        (WebKit::WebLoaderClient::didFirstLayoutForFrame):
25980        (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
25981        (WebKit::WebLoaderClient::didLayout):
25982        (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
25983        (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
25984        (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
25985        (WebKit::WebLoaderClient::didDetectXSSForFrame):
25986        (WebKit::WebLoaderClient::didChangeBackForwardList):
25987        (WebKit::WebLoaderClient::willGoToBackForwardListItem):
25988        * UIProcess/WebLoaderClient.h:
25989        * UIProcess/WebMediaCacheManagerProxy.cpp:
25990        (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement):
25991        (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement):
25992        * UIProcess/WebMediaCacheManagerProxy.h:
25993        * UIProcess/WebNavigationData.h:
25994        * UIProcess/WebOpenPanelResultListenerProxy.h:
25995        * UIProcess/WebOriginDataManagerProxy.cpp:
25996        (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
25997        (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
25998        * UIProcess/WebOriginDataManagerProxy.h:
25999        * UIProcess/WebPageContextMenuClient.cpp:
26000        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
26001        (WebKit::WebPageContextMenuClient::showContextMenu):
26002        * UIProcess/WebPageContextMenuClient.h:
26003        * UIProcess/WebPageGroup.h:
26004        * UIProcess/WebPageProxy.cpp:
26005        (WebKit::WebPageProxy::relatedPages):
26006        (WebKit::WebPageProxy::loadURL):
26007        (WebKit::WebPageProxy::loadURLRequest):
26008        (WebKit::WebPageProxy::loadFile):
26009        (WebKit::WebPageProxy::loadData):
26010        (WebKit::WebPageProxy::loadHTMLString):
26011        (WebKit::WebPageProxy::loadAlternateHTMLString):
26012        (WebKit::WebPageProxy::loadPlainTextString):
26013        (WebKit::WebPageProxy::loadWebArchiveData):
26014        (WebKit::WebPageProxy::didChangeBackForwardList):
26015        (WebKit::WebPageProxy::willGoToBackForwardListItem):
26016        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
26017        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
26018        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
26019        (WebKit::WebPageProxy::didCommitLoadForFrame):
26020        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
26021        (WebKit::WebPageProxy::didFinishLoadForFrame):
26022        (WebKit::WebPageProxy::didFailLoadForFrame):
26023        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
26024        (WebKit::WebPageProxy::didReceiveTitleForFrame):
26025        (WebKit::WebPageProxy::didFirstLayoutForFrame):
26026        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
26027        (WebKit::WebPageProxy::didLayout):
26028        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
26029        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
26030        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
26031        (WebKit::WebPageProxy::didDetectXSSForFrame):
26032        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
26033        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
26034        (WebKit::WebPageProxy::decidePolicyForResponse):
26035        (WebKit::WebPageProxy::unableToImplementPolicy):
26036        (WebKit::WebPageProxy::willSubmitForm):
26037        (WebKit::WebPageProxy::mouseDidMoveOverElement):
26038        (WebKit::WebPageProxy::didFindStringMatches):
26039        (WebKit::WebPageProxy::postMessageToInjectedBundle):
26040        (WebKit::WebPageProxy::internalShowContextMenu):
26041        * UIProcess/WebPageProxy.h:
26042        * UIProcess/WebPolicyClient.cpp:
26043        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
26044        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
26045        (WebKit::WebPolicyClient::decidePolicyForResponse):
26046        (WebKit::WebPolicyClient::unableToImplementPolicy):
26047        * UIProcess/WebPolicyClient.h:
26048        * UIProcess/WebPreferences.h:
26049        * UIProcess/WebResourceCacheManagerProxy.cpp:
26050        (WebKit::WebResourceCacheManagerProxy::refWebContextSupplement):
26051        (WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement):
26052        * UIProcess/WebResourceCacheManagerProxy.h:
26053        * UIProcess/WebUIClient.cpp:
26054        (WebKit::WebUIClient::mouseDidMoveOverElement):
26055        * UIProcess/WebUIClient.h:
26056        * UIProcess/mac/WebContextMenuProxyMac.mm:
26057        (-[WKUserDataWrapper initWithUserData:API::]):
26058        (-[WKUserDataWrapper API::]):
26059        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
26060        (WKBundlePostSynchronousMessage):
26061        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
26062        (contextMenuItems):
26063        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
26064        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
26065        * WebProcess/InjectedBundle/InjectedBundle.cpp:
26066        (WebKit::InjectedBundle::postMessage):
26067        (WebKit::InjectedBundle::postSynchronousMessage):
26068        (WebKit::InjectedBundle::originsWithApplicationCache):
26069        (WebKit::InjectedBundle::didReceiveMessage):
26070        (WebKit::InjectedBundle::didReceiveMessageToPage):
26071        * WebProcess/InjectedBundle/InjectedBundle.h:
26072        * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
26073        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
26074        (WebKit::InjectedBundleBackForwardListItem::children):
26075        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
26076        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
26077        (WebKit::InjectedBundleClient::didReceiveMessage):
26078        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
26079        * WebProcess/InjectedBundle/InjectedBundleClient.h:
26080        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
26081        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
26082        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
26083        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
26084        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
26085        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
26086        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
26087        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
26088        (WebKit::InjectedBundlePageFormClient::willSubmitForm):
26089        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
26090        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
26091        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
26092        (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
26093        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
26094        (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
26095        (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
26096        (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
26097        (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
26098        (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
26099        (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
26100        (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
26101        (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
26102        (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
26103        (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
26104        (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
26105        (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
26106        (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
26107        (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
26108        (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
26109        (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
26110        (WebKit::InjectedBundlePageLoaderClient::didLayout):
26111        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
26112        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
26113        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
26114        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
26115        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
26116        (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
26117        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
26118        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
26119        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
26120        (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
26121        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
26122        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
26123        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
26124        (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder):
26125        (WebKit::InjectedBundleUserMessageEncoder::encode):
26126        (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder):
26127        (WebKit::InjectedBundleUserMessageDecoder::decode):
26128        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
26129        (WebKit::InjectedBundle::load):
26130        * WebProcess/WebConnectionToUIProcess.cpp:
26131        (WebKit::WebConnectionToUIProcess::encodeMessageBody):
26132        (WebKit::WebConnectionToUIProcess::decodeMessageBody):
26133        * WebProcess/WebConnectionToUIProcess.h:
26134        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26135        (WebKit::WebChromeClient::mouseDidMoveOverElement):
26136        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26137        (WebKit::WebFrameLoaderClient::detachedFromParent2):
26138        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
26139        (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
26140        (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
26141        (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
26142        (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
26143        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
26144        (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
26145        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
26146        (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
26147        (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
26148        (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
26149        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
26150        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
26151        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
26152        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
26153        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
26154        (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy):
26155        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
26156        (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
26157        (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
26158        (WebKit::WebFrameLoaderClient::didRunInsecureContent):
26159        (WebKit::WebFrameLoaderClient::didDetectXSS):
26160        * WebProcess/WebPage/PageBanner.h:
26161        * WebProcess/WebPage/PageOverlay.h:
26162        * WebProcess/WebPage/WebContextMenu.cpp:
26163        (WebKit::WebContextMenu::show):
26164        (WebKit::WebContextMenu::menuItemsWithUserData):
26165        (WebKit::WebContextMenu::items):
26166        * WebProcess/WebPage/WebContextMenu.h:
26167        * WebProcess/WebPage/WebFrame.cpp:
26168        (WebKit::WebFrame::childFrames):
26169        * WebProcess/WebPage/WebFrame.h:
26170        * WebProcess/WebPage/WebInspector.h:
26171        * WebProcess/WebPage/WebPage.cpp:
26172        (WebKit::WebPage::trackedRepaintRects):
26173        (WebKit::WebPage::loadURLRequest):
26174        (WebKit::WebPage::loadDataImpl):
26175        (WebKit::WebPage::postInjectedBundleMessage):
26176        * WebProcess/WebPage/WebPage.h:
26177        * WebProcess/WebPage/WebPageGroupProxy.h:
26178        * WebProcess/WebProcess.cpp:
26179        (WebKit::WebProcess::initializeWebProcess):
26180        (WebKit::WebProcess::postInjectedBundleMessage):
26181
261822013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>
26183
26184        Fix GTK build after r159142
26185        https://bugs.webkit.org/show_bug.cgi?id=124243
26186
26187        Reviewed by Anders Carlsson.
26188
26189        Use Vector + ImmutableArray instead of MutableArray
26190
26191        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
26192        (webkitContextMenuItemCreate):
26193
261942013-11-12  Anders Carlsson  <andersca@apple.com>
26195
26196        Remove ImmutableArray::isMutable
26197        https://bugs.webkit.org/show_bug.cgi?id=124242
26198
26199        Reviewed by Dan Bernstein.
26200
26201        * Shared/API/c/WKMutableArray.cpp:
26202        (WKArrayIsMutable):
26203        * Shared/Cocoa/WKNSArray.mm:
26204        (-[WKNSArray copyWithZone:]):
26205        * Shared/ImmutableArray.h:
26206
262072013-11-12  Anders Carlsson  <andersca@apple.com>
26208
26209        WKMutableArrayRef should be an ImmutableArray
26210        https://bugs.webkit.org/show_bug.cgi?id=124239
26211
26212        Reviewed by Sam Weinig.
26213
26214        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
26215        (ensureObjectStream):
26216        * Shared/API/c/WKMutableArray.cpp:
26217        (WKMutableArrayCreate):
26218        * Shared/API/c/WKSharedAPICast.h:
26219
262202013-11-12  Anders Carlsson  <andersca@apple.com>
26221
26222        Remove more functionality from MutableArray
26223        https://bugs.webkit.org/show_bug.cgi?id=124235
26224
26225        Reviewed by Beth Dakin.
26226
26227        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
26228        (encodeToObjectStream):
26229        * Shared/API/c/WKMutableArray.cpp:
26230        (WKArrayAppendItem):
26231        (WKArrayRemoveItemAtIndex):
26232        * Shared/Cocoa/WKNSArray.mm:
26233        (-[WKNSArray copyWithZone:]):
26234        * Shared/ImmutableArray.h:
26235        (WebKit::ImmutableArray::elements):
26236        * Shared/MutableArray.cpp:
26237        * Shared/MutableArray.h:
26238
262392013-11-12  Anders Carlsson  <andersca@apple.com>
26240
26241        Remove most uses of MutableArray
26242        https://bugs.webkit.org/show_bug.cgi?id=124232
26243
26244        Reviewed by Sam Weinig.
26245
26246        * Shared/API/c/WKMutableArray.cpp:
26247        (WKMutableArrayCreate):
26248        * Shared/UserMessageCoders.h:
26249        (WebKit::UserMessageDecoder::baseDecode):
26250        * Shared/WebRenderLayer.h:
26251        (WebKit::WebRenderLayer::create):
26252        (WebKit::WebRenderLayer::WebRenderLayer):
26253        * Shared/WebRenderObject.cpp:
26254        (WebKit::WebRenderObject::WebRenderObject):
26255        * Shared/WebRenderObject.h:
26256        (WebKit::WebRenderObject::create):
26257        (WebKit::WebRenderObject::WebRenderObject):
26258        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
26259        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
26260
262612013-11-12  Anders Carlsson  <andersca@apple.com>
26262
26263        Use Vector + ImmutableArray instead of MutableArray
26264        https://bugs.webkit.org/show_bug.cgi?id=124221
26265
26266        Reviewed by Andreas Kling.
26267
26268        * Shared/WebRenderLayer.cpp:
26269        (WebKit::WebRenderLayer::createArrayFromLayerList):
26270        * Shared/WebRenderLayer.h:
26271        * UIProcess/Notifications/WebNotificationProvider.cpp:
26272        (WebKit::WebNotificationProvider::clearNotifications):
26273        * UIProcess/WebPageContextMenuClient.cpp:
26274        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
26275        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
26276        (contextMenuItems):
26277        (WKBundlePageCopyContextMenuItems):
26278        (WKBundlePageCopyContextMenuAtPointInWindow):
26279
262802013-11-12  Zan Dobersek  <zdobersek@igalia.com>
26281
26282        Unreviewed GTK build fix after r159129.
26283
26284        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
26285        (webkit_file_chooser_request_select_files): Use ImmutableArray::create() instead.
26286        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
26287        (toImmutableArray): Ditto.
26288
262892013-11-12  Anders Carlsson  <andersca@apple.com>
26290
26291        Stop using WKArrayCreate internally
26292        https://bugs.webkit.org/show_bug.cgi?id=124217
26293
26294        Reviewed by Andreas Kling.
26295
26296        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
26297        (createWKArray):
26298        (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]):
26299        (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
26300        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
26301        (WKBundlePageCopyContextMenuItems):
26302
263032013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
26304
26305        URTBF after r159129, use create() instead of adopt() everywhere.
26306
26307        * UIProcess/WebGrammarDetail.cpp:
26308        (WebKit::WebGrammarDetail::guesses):
26309        * UIProcess/efl/WebUIPopupMenuClient.cpp:
26310        (WebUIPopupMenuClient::showPopupMenu):
26311
263122013-11-12  Anders Carlsson  <andersca@apple.com>
26313
26314        Simplify ImmutableArray creation
26315        https://bugs.webkit.org/show_bug.cgi?id=124213
26316
26317        Reviewed by Andreas Kling.
26318
26319        Get rid of the various ImmutableArray::adopt functions and have a single create function instead.
26320        Use std::move to avoid unnecessarily copying vector data.
26321
26322        * Shared/API/c/WKArray.cpp:
26323        (WKArrayCreate):
26324        (WKArrayCreateAdoptingValues):
26325        * Shared/Cocoa/WKNSArray.mm:
26326        (-[WKNSArray copyWithZone:]):
26327        * Shared/ImmutableArray.cpp:
26328        (WebKit::ImmutableArray::create):
26329        (WebKit::ImmutableArray::createStringArray):
26330        (WebKit::ImmutableArray::ImmutableArray):
26331        * Shared/ImmutableArray.h:
26332        (WebKit::ImmutableArray::at):
26333        (WebKit::ImmutableArray::size):
26334        (WebKit::ImmutableArray::entries):
26335        * Shared/ImmutableDictionary.cpp:
26336        (WebKit::ImmutableDictionary::keys):
26337        * Shared/MutableArray.cpp:
26338        (WebKit::MutableArray::MutableArray):
26339        (WebKit::MutableArray::append):
26340        (WebKit::MutableArray::reserveCapacity):
26341        (WebKit::MutableArray::removeItemAtIndex):
26342        * Shared/SecurityOriginData.cpp:
26343        (WebKit::performAPICallbackWithSecurityOriginDataVector):
26344        * Shared/UserMessageCoders.h:
26345        (WebKit::UserMessageDecoder::baseDecode):
26346        * Shared/WebArchive.cpp:
26347        (WebKit::WebArchive::subresources):
26348        (WebKit::WebArchive::subframeArchives):
26349        * Shared/WebContextMenuItem.cpp:
26350        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
26351        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
26352        (WKContextGetInfoForInstalledPlugIns):
26353        * UIProcess/StatisticsRequest.cpp:
26354        (WebKit::StatisticsRequest::completedRequest):
26355        * UIProcess/WebBackForwardList.cpp:
26356        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
26357        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
26358        * UIProcess/WebContext.cpp:
26359        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
26360        * UIProcess/WebDatabaseManagerProxy.cpp:
26361        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
26362        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
26363        * UIProcess/WebKeyValueStorageManager.cpp:
26364        (WebKit::didGetKeyValueStorageOrigins):
26365        * UIProcess/WebLoaderClient.cpp:
26366        (WebKit::WebLoaderClient::didChangeBackForwardList):
26367        * UIProcess/WebPageContextMenuClient.cpp:
26368        (WebKit::WebPageContextMenuClient::showContextMenu):
26369        * UIProcess/WebPageProxy.cpp:
26370        (WebKit::WebPageProxy::relatedPages):
26371        (WebKit::WebPageProxy::didFindStringMatches):
26372        * WebProcess/InjectedBundle/InjectedBundle.cpp:
26373        (WebKit::InjectedBundle::originsWithApplicationCache):
26374        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
26375        (WebKit::InjectedBundleBackForwardListItem::children):
26376        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
26377        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
26378        * WebProcess/WebPage/WebFrame.cpp:
26379        (WebKit::WebFrame::childFrames):
26380        * WebProcess/WebPage/WebPage.cpp:
26381        (WebKit::WebPage::trackedRepaintRects):
26382
263832013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
26384
26385        The last URTBF after r159108 to make GTK happy.
26386
26387        * GNUmakefile.am:
26388
263892013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
26390
26391        One more URTBF after r159108, I hope the last one.
26392
26393        * GNUmakefile.am:
26394
263952013-11-12  Tim Horton  <timothy_horton@apple.com>
26396
26397        Remote Layer Tree: Assertions during layer flushing after replaceSublayer()
26398        https://bugs.webkit.org/show_bug.cgi?id=124194
26399
26400        Reviewed by Anders Carlsson.
26401
26402        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
26403        (PlatformCALayerRemote::replaceSublayer):
26404        Only remove the old layer from the children array once (via removeFromSuperlayer).
26405        Update the superlayer backpointer on the new layer.
26406
264072013-11-12  Anders Carlsson  <andersca@apple.com>
26408
26409        Add ImmutableArray::createStringArray
26410        https://bugs.webkit.org/show_bug.cgi?id=124210
26411
26412        Reviewed by Andreas Kling.
26413
26414        Creating an ImmutableArray of WebStrings is a common operation, so add a 
26415        helper function to ImmutableArray that does this from a Vector of Strings.
26416
26417        * Shared/ImmutableArray.cpp:
26418        (WebKit::ImmutableArray::createStringArray):
26419        * Shared/ImmutableArray.h:
26420        * Shared/ImmutableDictionary.cpp:
26421        (WebKit::ImmutableDictionary::keys):
26422        * Shared/WebOpenPanelParameters.cpp:
26423        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
26424        (WebKit::WebOpenPanelParameters::selectedFileNames):
26425        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
26426        (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
26427        * UIProcess/WebCookieManagerProxy.cpp:
26428        (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
26429        * UIProcess/WebMediaCacheManagerProxy.cpp:
26430        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
26431        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
26432        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
26433
264342013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
26435
26436        One more URTBF after r159108.
26437
26438        * GNUmakefile.am:
26439
264402013-11-12  Anders Carlsson  <andersca@apple.com>
26441
26442        Begin cleaning up handling of ImmutableArray vectors
26443        https://bugs.webkit.org/show_bug.cgi?id=124208
26444
26445        Reviewed by Andreas Kling.
26446
26447        Use range based for to iterate the loops. Use reserveInitialCapacity + uncheckedAppend
26448        when appending vector elements.
26449
26450        * Shared/SecurityOriginData.cpp:
26451        (WebKit::performAPICallbackWithSecurityOriginDataVector):
26452        * Shared/WebArchive.cpp:
26453        (WebKit::WebArchive::subresources):
26454        (WebKit::WebArchive::subframeArchives):
26455        * Shared/WebContextMenuItem.cpp:
26456        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
26457        * Shared/WebOpenPanelParameters.cpp:
26458        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
26459        (WebKit::WebOpenPanelParameters::selectedFileNames):
26460        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
26461        (WKContextGetInfoForInstalledPlugIns):
26462        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
26463        (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
26464        * UIProcess/StatisticsRequest.cpp:
26465        (WebKit::StatisticsRequest::completedRequest):
26466        * UIProcess/WebContext.cpp:
26467        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
26468        * UIProcess/WebCookieManagerProxy.cpp:
26469        (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
26470        * UIProcess/WebDatabaseManagerProxy.cpp:
26471        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
26472        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
26473        * UIProcess/WebMediaCacheManagerProxy.cpp:
26474        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
26475        * UIProcess/WebPageContextMenuClient.cpp:
26476        (WebKit::WebPageContextMenuClient::showContextMenu):
26477        * UIProcess/WebPageProxy.cpp:
26478        (WebKit::WebPageProxy::relatedPages):
26479        (WebKit::WebPageProxy::didFindStringMatches):
26480        * WebProcess/InjectedBundle/InjectedBundle.cpp:
26481        (WebKit::InjectedBundle::originsWithApplicationCache):
26482        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
26483        (WebKit::InjectedBundleBackForwardListItem::children):
26484        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
26485        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
26486        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
26487        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
26488        * WebProcess/WebPage/WebPage.cpp:
26489        (WebKit::WebPage::trackedRepaintRects):
26490
264912013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
26492
26493        One more URTBF after r159108.
26494
26495        * CMakeLists.txt:
26496
264972013-11-12  Csaba Osztrogonác  <ossy@webkit.org>
26498
26499        URTBF after r159108.
26500
26501        * CMakeLists.txt:
26502        * GNUmakefile.list.am:
26503
265042013-11-12  Anders Carlsson  <andersca@apple.com>
26505
26506        Move StringReference to Platform/IPC
26507        https://bugs.webkit.org/show_bug.cgi?id=124203
26508
26509        Reviewed by Antti Koivisto.
26510
26511        * Platform/IPC/StringReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.cpp.
26512        (CoreIPC::StringReference::toString):
26513        (CoreIPC::StringReference::encode):
26514        (CoreIPC::StringReference::decode):
26515        (CoreIPC::StringReference::Hash::hash):
26516        * Platform/IPC/StringReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.h.
26517        (CoreIPC::StringReference::StringReference):
26518        (CoreIPC::StringReference::isEmpty):
26519        (CoreIPC::StringReference::size):
26520        (CoreIPC::StringReference::data):
26521        (CoreIPC::StringReference::operator==):
26522        (CoreIPC::StringReference::Hash::equal):
26523        * WebKit2.xcodeproj/project.pbxproj:
26524
265252013-11-11  Tim Horton  <timothy_horton@apple.com>
26526
26527        Remote Layer Tree: Sporadic memory corruption during painting
26528        https://bugs.webkit.org/show_bug.cgi?id=124191
26529
26530        Reviewed by Brady Eidson.
26531
26532        Fix a logic error (flipped the logic, didn't flip the operator)
26533        made in the last version of r158982 that caused some crashes because
26534        it allowed us to overrun the end of cgPaintingRects.
26535
26536        * Shared/mac/RemoteLayerBackingStore.mm:
26537        (RemoteLayerBackingStore::drawInContext):
26538
265392013-11-11  Commit Queue  <commit-queue@webkit.org>
26540
26541        Unreviewed, rolling out r159088.
26542        http://trac.webkit.org/changeset/159088
26543        https://bugs.webkit.org/show_bug.cgi?id=124187
26544
26545        It broke the EFL build, because it removed a used function
26546        (rs=thorton) (Requested by Ossy_night on #webkit).
26547
26548        * UIProcess/WebPageProxy.cpp:
26549        (WebKit::WebPageProxy::WebPageProxy):
26550        (WebKit::WebPageProxy::resetStateAfterProcessExited):
26551        * UIProcess/WebPageProxy.h:
26552        (WebKit::WebPageProxy::urlAtProcessExit):
26553        (WebKit::WebPageProxy::loadStateAtProcessExit):
26554
265552013-11-11  Csaba Osztrogonác  <ossy@webkit.org>
26556
26557        URTBF after r159077 to make GTK build happy.
26558
26559        * GNUmakefile.list.am:
26560
265612013-11-11  Gustavo Noronha Silva  <gns@gnome.org>
26562
26563        REGRESSION(r158976): Web Inspector: unable to start docked or dock
26564        https://bugs.webkit.org/show_bug.cgi?id=124148
26565
26566        Reviewed by Timothy Hatcher.
26567
26568        * UIProcess/WebInspectorProxy.cpp:
26569        (WebKit::WebInspectorProxy::canAttach): check for a level that is greater than 1 rather than 0
26570        to deny attachment, since 1 is the first level of inspectors.
26571
265722013-11-11  Anders Carlsson  <andersca@apple.com>
26573
26574        FrameFilter can just be an std::function instead
26575        https://bugs.webkit.org/show_bug.cgi?id=124176
26576
26577        Reviewed by Tim Horton.
26578
26579        * WebProcess/WebPage/WebFrame.cpp:
26580        (WebKit::WebFrame::webArchiveData):
26581
265822013-11-11  Anders Carlsson  <andersca@apple.com>
26583
26584        Remove unused Qt cruft
26585        https://bugs.webkit.org/show_bug.cgi?id=124174
26586
26587        Reviewed by Tim Horton.
26588
26589        * UIProcess/WebPageProxy.cpp:
26590        (WebKit::WebPageProxy::WebPageProxy):
26591        (WebKit::WebPageProxy::resetStateAfterProcessExited):
26592        * UIProcess/WebPageProxy.h:
26593
265942013-11-11  Anders Carlsson  <andersca@apple.com>
26595
26596        REGRESSION (r158927): curly-braces-escaping.html is broken on Mac WebKit2
26597        https://bugs.webkit.org/show_bug.cgi?id=124164
26598
26599        Reviewed by Alexey Proskuryakov.
26600
26601        Back out the change to use NSSecureCoding for encoding/decoding NSURLRequest and
26602        NSURLResponse objects; turns out the NSURL encoding/decoding doesn't preserve the raw URL bytes.
26603
26604        * Shared/mac/WebCoreArgumentCodersMac.mm:
26605        (CoreIPC::encodePlatformData):
26606        (CoreIPC::decodePlatformData):
26607
266082013-11-11  Ryuan Choi  <ryuan.choi@samsung.com>
26609
26610        Unreviewed build fix on CMake Based port since r159077.
26611
26612        * CMakeLists.txt:
26613
266142013-11-11  Tim Horton  <timothy_horton@apple.com>
26615
26616        Remote Layer Tree: Implement Page Overlays
26617        https://bugs.webkit.org/show_bug.cgi?id=124165
26618        <rdar://problem/15199056>
26619
26620        Reviewed by Anders Carlsson.
26621
26622        Implement page overlays, very similar to how they work in TiledCoreAnimationDrawingArea,
26623        but manipulating the PlatformCALayer tree instead of the CALayer tree directly.
26624
26625        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
26626        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
26627        (WebKit::RemoteLayerTreeContext::outOfTreeLayerWasAdded):
26628        (WebKit::RemoteLayerTreeContext::outOfTreeLayerWillBeRemoved):
26629        (WebKit::RemoteLayerTreeContext::flushLayers):
26630        Add a list of out-of-tree GraphicsLayers which are flushed in addition
26631        to the page's GraphicsLayer tree, and functions to manipulate this list.
26632
26633        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
26634        Make RemoteLayerTreeDrawingArea a GraphicsLayerClient, so we can get callbacks
26635        from the GraphicsLayers that drive our page overlays.
26636        Override the relevant page overlay functions.
26637        Add storage for the root layer, view size, and a map of PageOverlay->GraphicsLayer.
26638
26639        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
26640        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
26641        Store the root GraphicsLayer for later use.
26642
26643        (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
26644        Update the size of the page overlays when the DrawingArea's geometry changes.
26645
26646        (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
26647        Update the page overlay settings when necessary.
26648
26649        (WebKit::RemoteLayerTreeDrawingArea::didInstallPageOverlay):
26650        Create a GraphicsLayer for our page overlay, set it up, and parent it.
26651        Inform the RemoteLayerTreeContext that it will need to flush this GraphicsLayer,
26652        since it's not a part of the page's GraphicsLayer tree.
26653
26654        (WebKit::RemoteLayerTreeDrawingArea::didUninstallPageOverlay):
26655        Tear down our page overlay's GraphicsLayer.
26656
26657        (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayNeedsDisplay):
26658        (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayOpacity):
26659        (WebKit::RemoteLayerTreeDrawingArea::paintContents):
26660        (WebKit::RemoteLayerTreeDrawingArea::deviceScaleFactor):
26661
266622013-11-11  Anders Carlsson  <andersca@apple.com>
26663
26664        Add a FrameLoadState object and begin moving loading related members from WebFrameProxy
26665        https://bugs.webkit.org/show_bug.cgi?id=124163
26666
26667        Reviewed by Beth Dakin.
26668
26669        * UIProcess/API/C/WKFrame.cpp:
26670        (WKFrameGetFrameLoadState):
26671        * UIProcess/FrameLoadState.cpp: Added.
26672        (WebKit::FrameLoadState::FrameLoadState):
26673        (WebKit::FrameLoadState::~FrameLoadState):
26674        * UIProcess/FrameLoadState.h: Added.
26675        * UIProcess/WebFrameProxy.cpp:
26676        (WebKit::WebFrameProxy::WebFrameProxy):
26677        (WebKit::WebFrameProxy::didStartProvisionalLoad):
26678        (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
26679        (WebKit::WebFrameProxy::didFailProvisionalLoad):
26680        (WebKit::WebFrameProxy::didCommitLoad):
26681        (WebKit::WebFrameProxy::didFinishLoad):
26682        (WebKit::WebFrameProxy::didFailLoad):
26683        (WebKit::WebFrameProxy::didSameDocumentNavigation):
26684        (WebKit::WebFrameProxy::setUnreachableURL):
26685        * UIProcess/WebFrameProxy.h:
26686        (WebKit::WebFrameProxy::frameLoadState):
26687        (WebKit::WebFrameProxy::loadState):
26688        (WebKit::WebFrameProxy::url):
26689        (WebKit::WebFrameProxy::provisionalURL):
26690        (WebKit::WebFrameProxy::unreachableURL):
26691        * UIProcess/WebPageProxy.cpp:
26692        (WebKit::WebPageProxy::WebPageProxy):
26693        (WebKit::WebPageProxy::activeURL):
26694        * UIProcess/WebPageProxy.h:
26695        (WebKit::WebPageProxy::loadStateAtProcessExit):
26696        * WebKit2.xcodeproj/project.pbxproj:
26697
266982013-11-11  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
26699
26700        Remove #include from test input of the *Messages.in processing scripts.
26701        https://bugs.webkit.org/show_bug.cgi?id=123563
26702
26703        Reviewed by Darin Adler.
26704
26705        * Scripts/webkit2/messages_unittest.py:
26706
267072013-11-11  Anders Carlsson  <andersca@apple.com>
26708
26709        Remove block based APIs from the WebKit2 C API
26710        https://bugs.webkit.org/show_bug.cgi?id=124157
26711
26712        Reviewed by Sam Weinig.
26713
26714        Remove most of the block based C APIs from WebKit2. We want to discourage people from using
26715        them since any C API "objects" captured by blocks won't be implicitly retained which
26716        can lead to dangling pointer bugs.
26717
26718        * UIProcess/API/C/WKDatabaseManager.cpp:
26719        * UIProcess/API/C/WKDatabaseManager.h:
26720        * UIProcess/API/C/WKFrame.cpp:
26721        * UIProcess/API/C/WKFrame.h:
26722        * UIProcess/API/C/WKPage.cpp:
26723        * UIProcess/API/C/WKPage.h:
26724        * UIProcess/API/C/WKPagePrivate.h:
26725
267262013-11-11  Carlos Garcia Campos  <cgarcia@igalia.com>
26727
26728        [GTK] Crash when printing via javascript in WebKit2
26729        https://bugs.webkit.org/show_bug.cgi?id=124043
26730
26731        Reviewed by Martin Robinson.
26732
26733        It happens because the print operation when started by the
26734        WebProcess due to a DOM operation is supposed to be synchronous
26735        and our print operation is always asynchronous. This is currently
26736        handled only in the UI process because other ports print
26737        synchronously in the WebProcess. In the GTK+ port we need to
26738        notify the WebProcess that the print operation should run
26739        synchronously when request by a DOM operation. Together with the
26740        print settings and page setup we now send a print mode that can be
26741        sync or async. When printing in sync mode we run a nested main loop
26742        for the print operation, making sure that print sources have a
26743        higher priority.
26744
26745        * Shared/PrintInfo.cpp:
26746        (WebKit::PrintInfo::encode): Encode the print mode.
26747        (WebKit::PrintInfo::decode): Decode the print mode.
26748        * Shared/PrintInfo.h: Add PrintMode enum.
26749        * Shared/gtk/PrintInfoGtk.cpp:
26750        (WebKit::PrintInfo::PrintInfo): Initialize print mode.
26751        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
26752        (drawPagesForPrintingCompleted): Do not call endPrinting() when
26753        printing synchronously because WebPageProxy already calls it right
26754        after sending the message to the WebProcess.
26755        (webkitPrintOperationPrintPagesForFrame): Create the PrintInfo
26756        struct with a print mode.
26757        (webkitPrintOperationSetPrintMode): Helper private function to set
26758        the print mode of the print operation.
26759        * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
26760        * UIProcess/API/gtk/WebKitWebView.cpp:
26761        (webkitWebViewPrintFrame): Set sync print mode when printing due
26762        to a UIClient request.
26763        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
26764        (WebKit::PrintPagesData::PrintPagesData): Create a main loop when
26765        printing synchronously.
26766        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
26767        print mode.
26768        (WebKit::WebPrintOperationGtk::printPagesIdleDone): Finish the
26769        nested main loop when printing synchronously.
26770        (WebKit::WebPrintOperationGtk::print): Run a nested main loop when
26771        printing synchronously.
26772        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
26773        (WebKit::WebPrintOperationGtk::printMode): Return the print mode.
26774
267752013-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
26776
26777        [GTK] [WebKit2] Crash when printing to a file via javascript
26778        https://bugs.webkit.org/show_bug.cgi?id=122801
26779
26780        Reviewed by Martin Robinson.
26781
26782        This crash is caused by a GTK+ bug, but we can work around it by
26783        ensuring the print dialog is always shown with a valid
26784        GtkPrintSettings object.
26785
26786        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
26787        (webkitPrintOperationRunDialog):
26788
267892013-11-09  Dan Bernstein  <mitz@apple.com>
26790
26791        Use createCFURLFromBuffer when converting a String to a CFURL
26792        https://bugs.webkit.org/show_bug.cgi?id=124113
26793
26794        Reviewed by Anders Carlsson.
26795
26796        * Shared/API/c/cf/WKURLCF.mm:
26797        (WKURLCopyCFURL): Replaced some code with a call to createCFURLFromBuffer(), which does the
26798        same thing.
26799
26800        * Shared/Cocoa/WKNSURLExtras.h: Added.
26801        * Shared/Cocoa/WKNSURLExtras.mm: Added.
26802        (+[NSURL _web_URLWithWTFString:relativeToURL:]): Added. Returns nil for the null String,
26803        otherwise returns the result of createCFURLFromBuffer().
26804
26805        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
26806        (-[WKBackForwardListItem URL]): Changed to use +_web_URLWithWTFString:relativeToURL:.
26807        (-[WKBackForwardListItem originalURL]): Ditto.
26808
26809        * UIProcess/API/Cocoa/WKNavigationData.mm:
26810        (-[WKNavigationData destinationURL]): Ditto.
26811
26812        * UIProcess/API/mac/WKBrowsingContextController.mm:
26813        (-[WKBrowsingContextController unreachableURL]): Ditto.
26814
26815        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
26816
268172013-11-09  Anders Carlsson  <andersca@apple.com>
26818
26819        Encode form data using the KeyedEncoder
26820        https://bugs.webkit.org/show_bug.cgi?id=124107
26821
26822        Reviewed by Sam Weinig.
26823
26824        * Shared/cf/KeyedEncoder.cpp:
26825        (WebKit::KeyedEncoder::encodeBool):
26826        (WebKit::KeyedEncoder::encodeDouble):
26827        * Shared/cf/KeyedEncoder.h:
26828
268292013-11-09  Anders Carlsson  <andersca@apple.com>
26830
26831        Remove an unused file.
26832
26833        Rubber-stamped by Andreas Kling.
26834
26835        * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Removed.
26836
268372013-11-09  Patrick Gansterer  <paroga@webkit.org>
26838
26839        Move RunLoop from WebCore to WTF
26840        https://bugs.webkit.org/show_bug.cgi?id=116606
26841
26842        Reviewed by Anders Carlsson.
26843
26844        * DatabaseProcess/DatabaseProcess.cpp:
26845        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
26846        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
26847        * NetworkProcess/NetworkProcess.cpp:
26848        * NetworkProcess/NetworkProcess.h:
26849        * NetworkProcess/NetworkResourceLoader.h:
26850        * NetworkProcess/mac/DiskCacheMonitor.h:
26851        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
26852        * Platform/CoreIPC/Connection.cpp:
26853        * Platform/CoreIPC/Connection.h:
26854        * Platform/CoreIPC/mac/ConnectionMac.cpp:
26855        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
26856        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
26857        * PluginProcess/PluginControllerProxy.h:
26858        * PluginProcess/PluginProcess.cpp:
26859        * PluginProcess/PluginProcess.h:
26860        * PluginProcess/WebProcessConnection.cpp:
26861        * PluginProcess/unix/PluginProcessMainUnix.cpp:
26862        * Shared/ChildProcess.cpp:
26863        * Shared/ChildProcess.h:
26864        * Shared/ChildProcessProxy.cpp:
26865        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
26866        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
26867        * Shared/Plugins/NPObjectProxy.cpp:
26868        * Shared/WebKit2Initialize.cpp:
26869        (WebKit::InitializeWebKit2):
26870        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
26871        * UIProcess/API/mac/FindIndicatorWindow.h:
26872        * UIProcess/API/mac/WKPrintingView.mm:
26873        * UIProcess/API/mac/WKView.mm:
26874        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
26875        * UIProcess/DrawingAreaProxyImpl.h:
26876        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
26877        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
26878        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
26879        * UIProcess/Network/NetworkProcessProxy.cpp:
26880        * UIProcess/Plugins/PluginProcessProxy.cpp:
26881        * UIProcess/ResponsivenessTimer.cpp:
26882        * UIProcess/ResponsivenessTimer.h:
26883        * UIProcess/VisitedLinkProvider.h:
26884        * UIProcess/WebContext.cpp:
26885        * UIProcess/WebProcessProxy.cpp:
26886        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
26887        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
26888        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
26889        * WebProcess/Network/WebResourceLoadScheduler.h:
26890        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
26891        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
26892        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
26893        * WebProcess/Plugins/PluginView.h:
26894        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
26895        * WebProcess/WebPage/DrawingAreaImpl.h:
26896        * WebProcess/WebPage/EventDispatcher.cpp:
26897        * WebProcess/WebPage/PageOverlay.h:
26898        * WebProcess/WebPage/WebPage.cpp:
26899        * WebProcess/WebPage/WebPage.h:
26900        * WebProcess/WebProcess.cpp:
26901        * WebProcess/efl/WebProcessMainEfl.cpp:
26902        * WebProcess/gtk/WebProcessMainGtk.cpp:
26903
269042013-11-08  Brady Eidson  <beidson@apple.com>
26905
26906        Merge IDBDatabaseBackendInterface and IDBDatabaseBackendImpl
26907        https://bugs.webkit.org/show_bug.cgi?id=124088
26908
26909        Reviewed by Tim Horton.
26910
26911        This abstraction is no longer meaningful in its current form in WebCore.
26912        The current groundwork for the WK2 DatabaseProcess relied on this abstraction,
26913        but that will be reworked in a future patch.
26914
26915        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h:
26916
26917        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
26918        (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
26919        (WebKit::WebIDBFactoryBackend::createCursorBackend):
26920        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
26921
26922        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
26923        (WebKit::WebProcessIDBDatabaseBackend::put):
26924        (WebKit::WebProcessIDBDatabaseBackend::openCursor):
26925        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
26926
269272013-11-08  Jaehun Lim  <ljaehun.lim@samsung.com>
26928
26929        Unreviewed build fix after r158984.
26930
26931        No needs to include "KeyedEncoder.h".
26932        WebKit/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:31:26: fatal error: KeyedEncoder.h: No such file or directory
26933
26934        * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed #include line.
26935
269362013-11-08  Anders Carlsson  <andersca@apple.com>
26937
26938        Implement encoding of arrays of objects
26939        https://bugs.webkit.org/show_bug.cgi?id=124091
26940
26941        Reviewed by Beth Dakin.
26942
26943        Add a new array stack and push and pop from it accordingly.
26944
26945        * Shared/cf/KeyedEncoder.cpp:
26946        (WebKit::KeyedEncoder::~KeyedEncoder):
26947        (WebKit::KeyedEncoder::encodeBytes):
26948        (WebKit::KeyedEncoder::encodeUInt32):
26949        (WebKit::KeyedEncoder::encodeInt32):
26950        (WebKit::KeyedEncoder::encodeInt64):
26951        (WebKit::KeyedEncoder::encodeFloat):
26952        (WebKit::KeyedEncoder::beginArray):
26953        (WebKit::KeyedEncoder::beginArrayElement):
26954        (WebKit::KeyedEncoder::endArrayElement):
26955        (WebKit::KeyedEncoder::endArray):
26956        * Shared/cf/KeyedEncoder.h:
26957
269582013-11-08  Tim Horton  <timothy_horton@apple.com>
26959
26960        Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache
26961        https://bugs.webkit.org/show_bug.cgi?id=123944
26962
26963        Reviewed by Simon Fraser.
26964
26965        Rework RemoteLayerBackingStore painting to fix some rounding issues
26966        that would cause pixel cracks upon repaint, and to speed it up a bit.
26967
26968        * Shared/mac/RemoteLayerBackingStore.h:
26969        Redefine RepaintRectList because we can't include WebLayer.h here yet.
26970        Remove createBackingStore, which was never implemented.
26971        Remove mapToContentCoordinates, because we don't need it on Mac.
26972
26973        (WebKit::RemoteLayerBackingStore::paintingRects): Added.
26974
26975        * Shared/mac/RemoteLayerBackingStore.mm:
26976        (RemoteLayerBackingStore::setNeedsDisplay):
26977        (RemoteLayerBackingStore::display):
26978        Stop using mapToContentCoordinates.
26979
26980        (RemoteLayerBackingStore::drawInContext):
26981        Use clipping instead of painting the image multiple times.
26982        Never repaint more than the dirty region's bounds.
26983        Don't waste time with all of the drawNativeImage code, just use CG.
26984        Unindent the switch's cases.
26985        Store the rects we're painting so that enumerateRectsBeingDrawn can get them.
26986        Pixel-snap the rects we're painting.
26987        Clip the context before going to paint.
26988
26989        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
26990        (PlatformCALayerRemote::enumerateRectsBeingDrawn):
26991        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
26992        Retrieve the rects currently being painted from our backing store, and
26993        transform them (mostly) according to the CTM, to match the transformation
26994        that will have occurred underneath wkCALayerEnumerateRectsBeingDrawnWithBlock.
26995
269962013-11-08  Anders Carlsson  <andersca@apple.com>
26997
26998        Implement more KeyedEncoder functionality
26999        https://bugs.webkit.org/show_bug.cgi?id=124089
27000
27001        Reviewed by Beth Dakin.
27002
27003        * Shared/cf/KeyedEncoder.cpp:
27004        (WebKit::KeyedEncoder::encodeBytes):
27005        (WebKit::KeyedEncoder::encodeInt32):
27006        (WebKit::KeyedEncoder::encodeFloat):
27007        * Shared/cf/KeyedEncoder.h:
27008
270092013-11-08  Anders Carlsson  <andersca@apple.com>
27010
27011        KeyedEncoder should be able to encoder objects
27012        https://bugs.webkit.org/show_bug.cgi?id=124085
27013
27014        Reviewed by Sam Weinig.
27015
27016        Add a dictionary stack to KeyedEncoder that's pushed and popped by
27017        beginObject/endObject.
27018
27019        * Shared/cf/KeyedEncoder.cpp:
27020        (WebKit::KeyedEncoder::KeyedEncoder):
27021        (WebKit::KeyedEncoder::~KeyedEncoder):
27022        (WebKit::KeyedEncoder::encodeUInt32):
27023        (WebKit::KeyedEncoder::encodeString):
27024        (WebKit::KeyedEncoder::beginObject):
27025        (WebKit::KeyedEncoder::endObject):
27026        * Shared/cf/KeyedEncoder.h:
27027
270282013-11-08  Alexandru Chiculita  <achicu@adobe.com>
27029
27030        Web Inspector: It should be possible to debug the Inspector code
27031        https://bugs.webkit.org/show_bug.cgi?id=124065
27032
27033        Reviewed by Timothy Hatcher.
27034
27035        When the script is paused, the debugger will pause all the pages in the same PageGroup.
27036        All the Inspector windows were created in the same PageGroup, so pausing one debugger
27037        would stop the other too.
27038
27039        Added WebInspectorPageGroups to manage the PageGroups created for the Inspectors.
27040        The WebInspectors will now use the inspection "level" to figure out which PageGroup to use.
27041        The inspector that debugs the main page will use "__WebInspectorPageGroupLevel1__",
27042        the second inspector (that debugs the first inspector) will use "__WebInspectorPageGroupLevel2__" ...
27043
27044        * UIProcess/WebInspectorProxy.cpp:
27045        (WebKit::WebInspectorPageGroups::shared):
27046        (WebKit::WebInspectorPageGroups::inspectorLevel):
27047        (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
27048        (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
27049        (WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel):
27050        (WebKit::WebInspectorPageGroups::createInspectorPageGroup):
27051        (WebKit::WebInspectorProxy::WebInspectorProxy):
27052        (WebKit::WebInspectorProxy::inspectorPageGroup):
27053        (WebKit::WebInspectorProxy::isInspectorPage):
27054        (WebKit::WebInspectorProxy::canAttach):
27055        * UIProcess/WebInspectorProxy.h:
27056
270572013-11-08  Anders Carlsson  <andersca@apple.com>
27058
27059        Begin stubbing out a KeyedEncoder class in WebCore
27060        https://bugs.webkit.org/show_bug.cgi?id=124079
27061
27062        Reviewed by Sam Weinig.
27063
27064        * Shared/KeyedEncoder.h: Removed.
27065        * Shared/cf/KeyedCodingValueCF.cpp: Removed.
27066        * Shared/cf/KeyedEncoder.cpp: Added.
27067        Remove old keyed encoders.
27068
27069        (WebKit::createDictionary):
27070        Helper function to create a mutable dictionary.
27071        (WebKit::KeyedEncoder::KeyedEncoder):
27072        Create the root dictionary.
27073
27074        (WebKit::KeyedEncoder::encodeUInt32):
27075        Create a CFNumberRef and add it to the dictionary.
27076
27077        * Shared/cf/KeyedEncoder.h: Added.
27078        * WebKit2.xcodeproj/project.pbxproj:
27079        Add new files.
27080
27081        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
27082        (WebKit::updateBackForwardItem):
27083        Create a KeyedEncoder and encode the history tree.
27084
270852013-11-08  Brady Eidson  <beidson@apple.com>
27086
27087        Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl
27088        https://bugs.webkit.org/show_bug.cgi?id=124077
27089
27090        Reviewed by Alexey Proskuryakov.
27091
27092        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
27093        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
27094
270952013-11-08  Brady Eidson  <beidson@apple.com>
27096
27097        Merge IDBCursorBackendInterface and IDBCursorBackendImpl
27098        https://bugs.webkit.org/show_bug.cgi?id=124068
27099
27100        Reviewed by Anders Carlsson.
27101
27102        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
27103        (WebKit::WebIDBFactoryBackend::createCursorBackend):
27104        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
27105
271062013-11-08  Anders Carlsson  <andersca@apple.com>
27107
27108        Remove a workaround for a bug in malloc on Symbian
27109        https://bugs.webkit.org/show_bug.cgi?id=124069
27110
27111        Reviewed by Sam Weinig.
27112
27113        * Platform/CoreIPC/ArgumentDecoder.cpp:
27114        (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
27115        (CoreIPC::ArgumentDecoder::initialize):
27116        * Platform/CoreIPC/ArgumentDecoder.h:
27117
271182013-11-08  Anders Carlsson  <andersca@apple.com>
27119
27120        More build fixes.
27121
27122        * UIProcess/API/mac/WKBrowsingContextController.mm:
27123        * UIProcess/API/mac/WKConnection.mm:
27124        (didReceiveMessage):
27125
271262013-11-08  Anders Carlsson  <andersca@apple.com>
27127
27128        More build fixes.
27129
27130        * UIProcess/API/mac/WKConnection.h:
27131        * UIProcess/API/mac/WKConnection.mm:
27132        (didReceiveMessage):
27133
271342013-11-08  Anders Carlsson  <andersca@apple.com>
27135
27136        Try to fix the 32-bit build.
27137
27138        * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h:
27139
271402013-11-08  Anders Carlsson  <andersca@apple.com>
27141
27142        Replace __alignof with alignof.
27143
27144        Rubber-stamped by Beth Dakin.
27145
27146        * Platform/CoreIPC/ArgumentCoders.cpp:
27147        (CoreIPC::::encode):
27148        (CoreIPC::decodeStringText):
27149        * Platform/CoreIPC/ArgumentCoders.h:
27150        (CoreIPC::SimpleArgumentCoder::encode):
27151        (CoreIPC::SimpleArgumentCoder::decode):
27152        * Platform/CoreIPC/ArgumentDecoder.h:
27153        (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
27154        * WebProcess/WebPage/DecoderAdapter.cpp:
27155        (WebKit::DecoderAdapter::decodeString):
27156        * WebProcess/WebPage/EncoderAdapter.cpp:
27157        (WebKit::EncoderAdapter::encodeString):
27158
271592013-11-08  Anders Carlsson  <andersca@apple.com>
27160
27161        Add a way to get a WKWebProcessPlugInBrowserContextController from a handle
27162        https://bugs.webkit.org/show_bug.cgi?id=124063
27163
27164        Reviewed by Beth Dakin.
27165
27166        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
27167        (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):
27168        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
27169
271702013-11-08  Anders Carlsson  <andersca@apple.com>
27171
27172        More work on WKBrowsingContextHandle
27173        https://bugs.webkit.org/show_bug.cgi?id=124060
27174
27175        Reviewed by Beth Dakin.
27176
27177        Implement -hash and -isEqual: and add -[WKWebProcessPlugInBrowserContextController handle].
27178
27179        * Shared/API/Cocoa/WKBrowsingContextHandle.mm:
27180        (-[WKBrowsingContextHandle hash]):
27181        (-[WKBrowsingContextHandle isEqual:]):
27182        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27183        (decodeInvocation):
27184        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
27185        (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
27186        (-[WKWebProcessPlugInBrowserContextController selectedRange]):
27187        (-[WKWebProcessPlugInBrowserContextController handle]):
27188        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
27189        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
27190
271912013-11-08  Anders Carlsson  <andersca@apple.com>
27192
27193        Add A WKBrowsingContextHandle class
27194        https://bugs.webkit.org/show_bug.cgi?id=124058
27195
27196        Reviewed by Sam Weinig.
27197
27198        The WKBrowsingContextHandle class represents a browsing context and can be sent across process boundaries.
27199
27200        * Shared/API/Cocoa/WKBrowsingContextHandle.h: Added.
27201        * Shared/API/Cocoa/WKBrowsingContextHandle.mm: Added.
27202        (-[WKBrowsingContextHandle _initWithPageID:]):
27203        (-[WKBrowsingContextHandle encodeWithCoder:]):
27204        (-[WKBrowsingContextHandle initWithCoder:]):
27205        (+[WKBrowsingContextHandle supportsSecureCoding]):
27206        * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h: Added.
27207        * UIProcess/API/mac/WKBrowsingContextController.mm:
27208        (-[WKBrowsingContextController handle]):
27209        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
27210        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
27211        (NS_ENUM):
27212        * WebKit2.xcodeproj/project.pbxproj:
27213
272142013-11-08  Anders Carlsson  <andersca@apple.com>
27215
27216        Add WKRemoteObjectRegistry to WKConnection
27217        https://bugs.webkit.org/show_bug.cgi?id=124054
27218
27219        Reviewed by Sam Weinig.
27220
27221        * UIProcess/API/mac/WKConnection.h:
27222        * UIProcess/API/mac/WKConnection.mm:
27223        (-[WKConnection delegate]):
27224        (-[WKConnection setDelegate:]):
27225        (-[WKConnection remoteObjectRegistry]):
27226        (didReceiveMessage):
27227
272282013-11-08  Anders Carlsson  <andersca@apple.com>
27229
27230        Encode and decode NSURLRequests using NSCoder
27231        https://bugs.webkit.org/show_bug.cgi?id=124051
27232
27233        Reviewed by Sam Weinig.
27234
27235        * Shared/mac/WebCoreArgumentCodersMac.mm:
27236        (CoreIPC::archiveAndEncodeObject):
27237        (CoreIPC::decodeAndUnarchiveObject):
27238        (CoreIPC::::encodePlatformData):
27239        (CoreIPC::::decodePlatformData):
27240
272412013-11-07  Anders Carlsson  <andersca@apple.com>
27242
27243        Encode and decode NSURLResponse objects using NSCoder
27244        https://bugs.webkit.org/show_bug.cgi?id=124028
27245
27246        Reviewed by Andreas Kling.
27247
27248        * Shared/mac/WebCoreArgumentCodersMac.mm:
27249        (CoreIPC::::encodePlatformData):
27250        (CoreIPC::::decodePlatformData):
27251
272522013-11-07  Anders Carlsson  <andersca@apple.com>
27253
27254        Move m_destinationID to MessageDecoder
27255        https://bugs.webkit.org/show_bug.cgi?id=124026
27256
27257        Reviewed by Andreas Kling.
27258
27259        * Platform/CoreIPC/ArgumentDecoder.h:
27260        * Platform/CoreIPC/MessageDecoder.h:
27261        (CoreIPC::MessageDecoder::destinationID):
27262
272632013-11-07  Anders Carlsson  <andersca@apple.com>
27264
27265        Get rid of the out-of-line memory attachment type
27266        https://bugs.webkit.org/show_bug.cgi?id=124023
27267
27268        Reviewed by Andreas Kling.
27269
27270        We're only using out-of-line memory for when the message body is too big, so
27271        isolate that code in Connection and get rid of the out of line attachment type.
27272
27273        * Platform/CoreIPC/Attachment.cpp:
27274        (CoreIPC::Attachment::Attachment):
27275        * Platform/CoreIPC/Attachment.h:
27276        (CoreIPC::Attachment::port):
27277        (CoreIPC::Attachment::disposition):
27278        * Platform/CoreIPC/mac/ConnectionMac.cpp:
27279        (CoreIPC::Connection::sendOutgoingMessage):
27280        (CoreIPC::createMessageDecoder):
27281
272822013-11-07  Simon Fraser  <simon.fraser@apple.com>
27283
27284        Lots of layers get solid color but transparent contents layers now
27285        https://bugs.webkit.org/show_bug.cgi?id=123537
27286
27287        Reviewed by Tim Horton.
27288        
27289        Add some properties to the list of things not to implicitly animate.
27290
27291        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
27292        (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):
27293
272942013-11-07  Anders Carlsson  <andersca@apple.com>
27295
27296        Remove more dead code
27297        https://bugs.webkit.org/show_bug.cgi?id=124016
27298
27299        Reviewed by Beth Dakin.
27300
27301        We're always layer backed now so we never scroll using the PageClient.
27302
27303        * UIProcess/API/mac/PageClientImpl.mm:
27304        (WebKit::PageClientImpl::canScrollView):
27305        (WebKit::PageClientImpl::scrollView):
27306
273072013-11-07  Anders Carlsson  <andersca@apple.com>
27308
27309        Don't repaint the view when the web process crashes
27310        https://bugs.webkit.org/show_bug.cgi?id=124013
27311
27312        Reviewed by Dan Bernstein.
27313
27314        It's up to each individual port to decide whether the view should be repainted when the web process crashes.
27315
27316        * UIProcess/API/mac/PageClientImpl.mm:
27317        (WebKit::PageClientImpl::setViewNeedsDisplay):
27318        (WebKit::PageClientImpl::displayView):
27319        * UIProcess/WebPageProxy.cpp:
27320        (WebKit::WebPageProxy::resetStateAfterProcessExited):
27321
273222013-11-07  Tamas Gergely  <gertom@inf.u-szeged.hu>
27323
27324        Report error on unknown template class usage.
27325        https://bugs.webkit.org/show_bug.cgi?id=123096
27326
27327        Reviewed by Darin Adler.
27328
27329        Report error when template class is not found in the dictionary.
27330
27331        * Scripts/webkit2/messages.py:
27332        (class_template_headers):
27333        (class_template_headers.template):
27334
273352013-11-07  Denis Nomiyama  <d.nomiyama@samsung.com>
27336
27337        [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise
27338        https://bugs.webkit.org/show_bug.cgi?id=50619
27339
27340        Reviewed by Martin Robinson.
27341
27342        Added WebCore/platform/graphics/opentype to the include path.
27343
27344        * PlatformEfl.cmake:
27345        * PlatformGTK.cmake:
27346
273472013-11-07  Brendan Long  <b.long@cablelabs.com>
27348
27349        [Gtk] Remove old takeFocus() method from PageClientImpl and mark methods as OVERRIDE
27350        https://bugs.webkit.org/show_bug.cgi?id=123919
27351
27352        Reviewed by Carlos Garcia Campos.
27353
27354        * UIProcess/API/gtk/PageClientImpl.cpp: Remove takeFocus().
27355        * UIProcess/API/gtk/PageClientImpl.h: Remove takeFocus() and mark methods as OVERRIDE.
27356
273572013-11-06  Dan Bernstein  <mitz@apple.com>
27358
27359        Moved UIProcess/Cocoa to UIProcess/API/Cocoa.
27360
27361        Rubber-stamped by Anders Carlsson.
27362
27363        * UIProcess/API/Cocoa: Copied from Source/WebKit2/UIProcess/Cocoa.
27364        * UIProcess/Cocoa: Removed.
27365        * UIProcess/Cocoa/WKBackForwardList.h: Removed.
27366        * UIProcess/Cocoa/WKBackForwardList.mm: Removed.
27367        * UIProcess/Cocoa/WKBackForwardListInternal.h: Removed.
27368        * UIProcess/Cocoa/WKBackForwardListItem.h: Removed.
27369        * UIProcess/Cocoa/WKBackForwardListItem.mm: Removed.
27370        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Removed.
27371        * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Removed.
27372        * UIProcess/Cocoa/WKNavigationData.h: Removed.
27373        * UIProcess/Cocoa/WKNavigationData.mm: Removed.
27374        * UIProcess/Cocoa/WKNavigationDataInternal.h: Removed.
27375        * WebKit2.xcodeproj/project.pbxproj:
27376
273772013-11-06  Brendan Long  <b.long@cablelabs.com>
27378
27379        [Gtk][EFL] Fix build after r158759
27380        https://bugs.webkit.org/show_bug.cgi?id=123910
27381
27382        Reviewed by Gyuyoung Kim.
27383
27384        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
27385        (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): Remove call to flashBackingStoreUpdates().
27386
273872013-11-06  Tim Horton  <timothy_horton@apple.com>
27388
27389        Remote Layer Tree: RemoteLayerTreeDrawingArea doesn't make layers for fixedpos elements
27390        https://bugs.webkit.org/show_bug.cgi?id=123943
27391
27392        Reviewed by Simon Fraser.
27393
27394        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
27395        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
27396        (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
27397        Make fixed position elements create compositing layers and stacking contexts
27398        in the RemoteLayerTreeDrawingArea just like they do in TiledCoreAnimationDrawingArea.
27399
27400        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
27401        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
27402        Fix the comment, since we have long since achieved this goal.
27403
274042013-11-06  Anders Carlsson  <andersca@apple.com>
27405
27406        Implement enough functionality so that NSURLRequest objects can be decoded
27407        https://bugs.webkit.org/show_bug.cgi?id=123942
27408
27409        Reviewed by Andreas Kling.
27410
27411        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27412        (-[WKRemoteObjectEncoder requiresSecureCoding]):
27413        Add new method. Return YES.
27414
27415        (-[WKRemoteObjectDecoder decodeValueOfObjCType:at:]):
27416        Add new method. This currently only handles 'i', but we'll add more variants as needed.
27417
27418        (-[WKRemoteObjectDecoder decodeBoolForKey:]):
27419        Get a WebBoolean from the dictionary and return its value.
27420
274212013-11-06  Anders Carlsson  <andersca@apple.com>
27422
27423        Encoded object stream should be sequential
27424        https://bugs.webkit.org/show_bug.cgi?id=123939
27425
27426        Reviewed by Andreas Kling.
27427
27428        Reserve space in the object stream for objects that are to be encoded, otherwise
27429        the object stream will not be sequential.
27430
27431        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27432        (encodeToObjectStream):
27433        * Shared/ImmutableArray.h:
27434        (WebKit::ImmutableArray::entries):
27435
274362013-11-06  Anders Carlsson  <andersca@apple.com>
27437
27438        Allow property list classes to exist in containers
27439        https://bugs.webkit.org/show_bug.cgi?id=123938
27440
27441        Reviewed by Andreas Kling.
27442
27443        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
27444        (isContainerClass):
27445        Return whether a given class is a container class.
27446
27447        (propertyListClasses):
27448        Return the set of property list classes.
27449
27450        (allowedArgumentClassesForMethod):
27451        Allow all property list classes for container type arguments.
27452
274532013-11-06  Daniel Bates  <dabates@apple.com>
27454
27455        [iOS] Upstream Letterpress effect
27456        https://bugs.webkit.org/show_bug.cgi?id=123932
27457
27458        Reviewed by Sam Weinig.
27459
27460        Add feature define ENABLE_LETTERPRESS disabled by default. We only enable
27461        letterpress on iOS.
27462
27463        * Configurations/FeatureDefines.xcconfig:
27464
274652013-11-06  Dan Bernstein  <mitz@apple.com>
27466
27467        Fixed multiple API test failures after r158764.
27468
27469        Reviewed by Sam Weinig.
27470
27471        * UIProcess/API/mac/WKBrowsingContextController.mm:
27472        (setUpPagePolicyClient): If the delegate isn’t set or doesn’t respond to a selector, respond
27473        with WKFramePolicyListenerUse().
27474
274752013-11-06  Anders Carlsson  <andersca@apple.com>
27476
27477        Move allowed classes handling to decodeObject
27478        https://bugs.webkit.org/show_bug.cgi?id=123930
27479
27480        Reviewed by Andreas Kling.
27481
27482        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27483        (decodeObjectFromObjectStream):
27484        Pass allowed classes through to decodeObject.
27485
27486        (decodeObject):
27487        Update to take an NSSet of allowed classes. If the set is nil, use the current set.
27488
27489        (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
27490        Pass classes to decodeObject.
27491
274922013-11-06  Sergio Correia  <sergio.correia@openbossa.org>
27493
27494        Fix EFL build after r158753
27495        https://bugs.webkit.org/show_bug.cgi?id=123923
27496
27497        r158753 renamed WKNavigationData.h as WKNavigationDataRef.h, so
27498        update it in UIProcess/API/efl/ewk_navigation_data_private.h.
27499
27500        Reviewed by Csaba Osztrogonác.
27501
27502        * UIProcess/API/efl/ewk_navigation_data_private.h:
27503
275042013-11-06  Anders Carlsson  <andersca@apple.com>
27505
27506        Implement more decoding methods
27507        https://bugs.webkit.org/show_bug.cgi?id=123922
27508
27509        Reviewed by Dan Bernstein.
27510
27511        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27512        (-[WKRemoteObjectDecoder decodeObjectForKey:]):
27513        Call decodeObjectOfClasses:forKey: passing nil as the classes set.
27514
27515        (-[WKRemoteObjectDecoder decodeInt64ForKey:]):
27516        Try to get a WebUInt64 and return its value.
27517
27518        (-[WKRemoteObjectDecoder decodeDoubleForKey:]):
27519        Try to get a WebDouble and return its value.
27520
27521        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
27522        Move this method next to the other decoding methods.
27523
27524        (-[WKRemoteObjectDecoder requiresSecureCoding]):
27525        Ditto.
27526
275272013-11-06  Brendan Long  <b.long@cablelabs.com>
27528
27529        [Gtk][EFL] Fix build after r158759
27530        https://bugs.webkit.org/show_bug.cgi?id=123910
27531
27532        Reviewed by Gustavo Noronha Silva.
27533
27534        * UIProcess/API/gtk/PageClientImpl.cpp: Remove flashBackingStoreUpdates().
27535        * UIProcess/API/gtk/PageClientImpl.h: Same.
27536        * UIProcess/CoordinatedGraphics/WebView.cpp: Same.
27537        * UIProcess/CoordinatedGraphics/WebView.h: Same.
27538        * UIProcess/DrawingAreaProxyImpl.cpp:
27539        (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Don't call flashBackingStoreUpdates().
27540
275412013-11-06  Jer Noble  <jer.noble@apple.com>
27542
27543        Unreviewed Mac build fix; include ResourceResponse.
27544
27545        * Shared/WebNavigationDataStore.h:
27546
275472013-11-06  Anders Carlsson  <andersca@apple.com>
27548
27549        Decode invocation arguments
27550        https://bugs.webkit.org/show_bug.cgi?id=123917
27551
27552        Reviewed by Sam Weinig.
27553
27554        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27555        (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
27556        Initialize the object stream.
27557
27558        (decodeObjectFromObjectStream):
27559        Check that we're not reading past the end of the stream, then decode the object.
27560
27561        (decodeInvocationArguments):
27562        Decode arguments from the object stream.
27563
27564        (decodeInvocation):
27565        Call decodeInvocationArguments and set up the selector argument.
27566        
27567        * Shared/ImmutableArray.h:
27568        (WebKit::ImmutableArray::at):
27569        (WebKit::ImmutableArray::size):
27570        (WebKit::ImmutableArray::entries):
27571        Constify.
27572
275732013-11-06  Dan Bernstein  <mitz@apple.com>
27574
27575        [Cocoa] Add -[WKNavigationData response]
27576        https://bugs.webkit.org/show_bug.cgi?id=123918
27577
27578        Reviewed by Sam Weinig.
27579
27580        * Shared/WebNavigationDataStore.h: Added a ResourceResponse data member.
27581        (WebKit::WebNavigationDataStore::encode): Encode the response.
27582        (WebKit::WebNavigationDataStore::decode): Decode the response.
27583        * UIProcess/Cocoa/WKNavigationData.h: Declared new property.
27584        * UIProcess/Cocoa/WKNavigationData.mm:
27585        (-[WKNavigationData response]): Added.
27586        * UIProcess/WebNavigationData.h:
27587        (WebKit::WebNavigationData::response): Added.
27588        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27589        (WebKit::WebFrameLoaderClient::updateGlobalHistory): Set the response in the data store.
27590
275912013-11-06  Sam Weinig  <sam@webkit.org>
27592
27593        Fix the 32-bit build.
27594
27595        * UIProcess/API/mac/WKBrowsingContextController.h:
27596        * UIProcess/API/mac/WKBrowsingContextController.mm:
27597        (-[WKBrowsingContextController dealloc]):
27598        (-[WKBrowsingContextController _initWithPageRef:]):
27599
276002013-11-06  Dan Bernstein  <mitz@apple.com>
27601
27602        [Cocoa] Add -[WKBrowsingContextController unreachableURL]
27603        https://bugs.webkit.org/show_bug.cgi?id=123909
27604
27605        Reviewed by Anders Carlsson.
27606
27607        * UIProcess/API/mac/WKBrowsingContextController.h: Declared unreachableURL property.
27608        * UIProcess/API/mac/WKBrowsingContextController.mm:
27609        (-[WKBrowsingContextController unreachableURL]): Added.
27610        * UIProcess/WebPageProxy.cpp:
27611        (WebKit::WebPageProxy::unreachableURL): Added.
27612        * UIProcess/WebPageProxy.h:
27613
276142013-11-06  Anders Carlsson  <andersca@apple.com>
27615
27616        Encode parameters as objects
27617        https://bugs.webkit.org/show_bug.cgi?id=123912
27618
27619        Reviewed by Beth Dakin.
27620
27621        We want to ensure that the objects have the right types when decoded, so just encode them as objects.
27622
27623        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27624        (encodeInvocation):
27625        (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
27626
276272013-11-06  Sam Weinig  <sam@webkit.org>
27628
27629        Add WKBrowsingContextPolicyDelegate
27630        https://bugs.webkit.org/show_bug.cgi?id=123904
27631
27632        Reviewed by Anders Carlsson.
27633
27634        * UIProcess/API/mac/WKBrowsingContextController.h:
27635        * UIProcess/API/mac/WKBrowsingContextController.mm:
27636        Implement a WKPagePolicyClient in terms of the new WKBrowsingContextPolicyDelegate protocol.
27637        
27638        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: 
27639        Added.
27640
27641        * UIProcess/API/mac/WebKit2.h:
27642        Add new #include of WKBrowsingContextPolicyDelegate.h
27643
27644        * WebKit2.xcodeproj/project.pbxproj:
27645        Add new file.
27646
276472013-11-06  Anders Carlsson  <andersca@apple.com>
27648
27649        WKRemoteObjectInterface should keep track of allowed decodable classes
27650        https://bugs.webkit.org/show_bug.cgi?id=123903
27651
27652        Reviewed by Sam Weinig.
27653
27654        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
27655        (allowedArgumentClassesForMethod):
27656        Helper function that returns a vector of sets of allowed classes for each method argument.
27657
27658        (initializeAllowedArgumentClasses):
27659        Iterate over the methods in the protocol, get the extended method type encoding and create an
27660        NSMethodSignature from it. Finally, pass the signature to allowedArgumentClassesForMethod.
27661
27662        (initializeAllowedArgumentClasses):
27663        Call the other initializeAllowedArgumentClasses twice, once for required methods,
27664        and once for optional methods.
27665
27666        (-[WKRemoteObjectInterface initWithProtocol:identifier:]):
27667        Call initializeAllowedArgumentClasses.
27668
27669        (-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):
27670        Add new getter.
27671
27672        * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h:
27673
276742013-11-06  Anders Carlsson  <andersca@apple.com>
27675
27676        Remove dead code
27677        https://bugs.webkit.org/show_bug.cgi?id=123902
27678
27679        Reviewed by Tim Horton.
27680
27681        Remove the PageClient::containingWindowGraphicsContext() as well as the
27682        WKPageSetDebugPaintFlags and WKPageGetDebugPaintFlags API functions.
27683
27684        * UIProcess/API/C/WKPage.cpp:
27685        * UIProcess/API/mac/PageClientImpl.h:
27686        * UIProcess/API/mac/PageClientImpl.mm:
27687        * UIProcess/PageClient.h:
27688        * UIProcess/WebPageProxy.cpp:
27689        * UIProcess/WebPageProxy.h:
27690        * UIProcess/mac/WebPageProxyMac.mm:
27691        (WebKit::WebPageProxy::searchTheWeb):
27692
276932013-11-06  Dan Bernstein  <mitz@apple.com>
27694
27695        Promoted WKBrowsingContextHistoryDelegate.h to private.
27696
27697        Rubber-stamped by Sam Weinig.
27698
27699        * WebKit2.xcodeproj/project.pbxproj:
27700
277012013-11-06  Dan Bernstein  <mitz@apple.com>
27702
27703        [Cocoa] History delegate
27704        https://bugs.webkit.org/show_bug.cgi?id=123837
27705
27706        Reviewed by Sam Weinig.
27707
27708        * Shared/Cocoa/APIObject.mm:
27709        (WebKit::APIObject::newObject): Allocate a WKNavigationData if the object is a
27710        WebNavigationData.
27711
27712        * Shared/Cocoa/WKNSString.h:
27713        (WebKit::wrapper): Added. Returns a WebString’s wrapper as an NSString.
27714
27715        * Shared/Cocoa/WKNSURL.h:
27716        (WebKit::wrapper): Added. Returns a WebURL’s wrapper as an NSURL.
27717
27718        * UIProcess/API/C/WKNavigationData.cpp: Renamed.
27719        * UIProcess/API/C/WKNavigationData.h: Renamed.
27720        * UIProcess/API/C/WKNavigationDataRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.cpp.
27721        * UIProcess/API/C/WKNavigationDataRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.h.
27722
27723        * UIProcess/API/mac/WKBrowsingContextController.h: Declared historyDelegate property.
27724
27725        * UIProcess/API/mac/WKProcessGroup.mm:
27726        (didNavigateWithNavigationData): Added history client callback that calls the browsing
27727        context’s history delegate.
27728        (didPerformClientRedirect): Ditto.
27729        (didPerformServerRedirect): Ditto.
27730        (didUpdateHistoryTitle): Ditto.
27731        (setUpHistoryClient): Added.
27732        (-[WKProcessGroup initWithInjectedBundleURL:]): Added call to setUpHistoryClient.
27733        (-[WKProcessGroup dealloc]): Clear the history client.
27734
27735        * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Added.
27736
27737        * UIProcess/Cocoa/WKNavigationData.h: Added.
27738        * UIProcess/Cocoa/WKNavigationData.mm: Added.
27739        (-[WKNavigationData dealloc]): Calls the WebNavigationData destructor.
27740        (-[WKNavigationData title]): Added.
27741        (-[WKNavigationData originalRequest]): Added.
27742        (-[WKNavigationData destinationURL]): Added.
27743        (-[WKNavigationData _apiObject]): Returns the wrapped WebNavigationData.
27744        * UIProcess/Cocoa/WKNavigationDataInternal.h: Added.
27745        (WebKit::wrapper): Added. Returns a WebNavigationData’s wrapper as a WKNavigationData.
27746        * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.
27747
277482013-11-05  Anders Carlsson  <andersca@apple.com>
27749
27750        Begin work on decoding invocations
27751        https://bugs.webkit.org/show_bug.cgi?id=123838
27752
27753        Reviewed by Dan Bernstein.
27754
27755        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27756        (encodeInvocation):
27757        Declare the type string and selector keys as constants.
27758
27759        (encodeObject):
27760        Make sure to encode the class name for NSInvocations as well.
27761
27762        (decodeInvocation):
27763        Figure out the local and remove method signatures and make sure that they are equal.
27764
27765        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
27766        (methodArgumentTypeEncodingForSelector):
27767        Helper function that returns the type encoding for a given selector.
27768
27769        (-[WKRemoteObjectInterface _methodSignatureForSelector:]):
27770        Helper function that returns a method signature for the method with the name referred to by selector.
27771
27772        * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h: Added.
27773        Add internal header.
27774
27775        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
27776        (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
27777        Pass the right object to the WKRemoteObjectDecoder initializer and decode the invocation.
27778
27779        * WebKit2.xcodeproj/project.pbxproj:
27780        Add internal header.
27781
277822013-11-05  Anders Carlsson  <andersca@apple.com>
27783
27784        WKRemoteObjectDecoder should know which interface it's decoding for
27785        https://bugs.webkit.org/show_bug.cgi?id=123833
27786
27787        Reviewed by Andreas Kling.
27788
27789        Move the interface identifier out into the root object body dictionary and make 
27790        the encoded invocation a sibling of it. That way we can look up the interface before
27791        creating the decoder.
27792        
27793        Also, manage exported objects and interfaces in a separate hash map.
27794
27795        * Shared/API/Cocoa/WKRemoteObjectCoder.h:
27796        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27797        (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
27798        (decodeInvocation):
27799        (decodeObject):
27800        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
27801        (-[WKRemoteObjectRegistry registerExportedObject:interface:]):
27802        (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
27803        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
27804        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
27805        (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
27806
278072013-11-05  Anders Carlsson  <andersca@apple.com>
27808
27809        Add support for decoding NSStrings
27810        https://bugs.webkit.org/show_bug.cgi?id=123829
27811
27812        Reviewed by Andreas Kling.
27813
27814        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27815        (encodeObject):
27816        (-[WKRemoteObjectDecoder allowsKeyedCoding]):
27817        Always return YES.
27818
27819        (-[WKRemoteObjectDecoder containsValueForKey:]):
27820        Look up the key in the current dictionary.
27821
27822        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
27823        Try to get the WebData object and return its data + size.
27824
27825        (-[WKRemoteObjectDecoder requiresSecureCoding]):
27826        Return YES.
27827
27828        (checkIfClassIsAllowed):
27829        Check if the class or any of its superclasses are are allowed.
27830
27831        (validateClass):
27832        Call checkIfClassIsAllowed and validate that the class conforms to NSSecureCoding.
27833
27834        (decodeObject):
27835        Get the class name, verify that the class exists and is allowed. 
27836        Allocate and initialize an object using initWithCoder:.
27837
27838        (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
27839        Set the allowed classes, look up the object in _currentDictionary and call decodeObject.
27840
27841        (-[WKRemoteObjectDecoder allowedClasses]):
27842        Return _allowedClasses.
27843
27844        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
27845        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
27846        Declare interfaceIdentifier as a constant.
27847
27848        (-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
27849        Decode the interface identifier.
27850
27851        * Shared/ImmutableDictionary.h:
27852        (WebKit::ImmutableDictionary::get):
27853        (WebKit::ImmutableDictionary::size):
27854        (WebKit::ImmutableDictionary::map):
27855        Make member functions const.
27856
278572013-11-05  Benjamin Poulain  <benjamin@webkit.org>
27858
27859        Fix Mountain Lion Debug bot after r158689
27860
27861        Unreviewed.
27862
27863        It looks like WebGeolocationManagerProxy::stopUpdating() and WebGeolocationManagerProxy::processDidClose()
27864        are racing in some cases, causing the assertion to fail.
27865
27866        That case is handled properly in the last if() branch of WebGeolocationManagerProxy::removeRequester().
27867        This patch remove the overzealous assertion.
27868
27869        * UIProcess/WebGeolocationManagerProxy.cpp:
27870        (WebKit::WebGeolocationManagerProxy::removeRequester):
27871
278722013-11-05  Tim Horton  <timothy_horton@apple.com>
27873
27874        Remote Layer Tree: Apply layer changes to LayerTypeCustom layers to the custom layer in the Web process, not to the CALayerHost
27875        https://bugs.webkit.org/show_bug.cgi?id=123818
27876
27877        Reviewed by Anders Carlsson.
27878
27879        Changes to the properties of a PlatformCALayer of type LayerTypeCustom are intended
27880        to affect the custom CALayer; however, we were bundling them up with the transaction
27881        and applying them to the CALayerHost, leading to important properties being lost.
27882
27883        Instead, apply them to the Web-process-side CALayer when building the transaction.
27884
27885        * Shared/mac/RemoteLayerTreePropertyApplier.h: Added.
27886        * Shared/mac/RemoteLayerTreePropertyApplier.mm: Added.
27887        (WebKit::cgColorFromColor):
27888        (WebKit::toCAFilterType):
27889        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
27890        (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):
27891        Move code to apply LayerProperties to a CALayer from RemoteLayerTreeHost.
27892        Move code to disable actions on a CALayer from RemoteLayerTreeHost.
27893
27894        * UIProcess/mac/RemoteLayerTreeHost.mm:
27895        (WebKit::RemoteLayerTreeHost::commit):
27896        (WebKit::RemoteLayerTreeHost::createLayer):
27897        Use RemoteLayerTreePropertyApplier.
27898        Hand it a map of LayerID->CALayer so that it can look up related layers
27899        for children and mask layers.
27900
27901        * WebKit2.xcodeproj/project.pbxproj:
27902        Add RemoteLayerTreePropertyApplier.{h,mm}
27903
27904        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
27905        (PlatformCALayerRemote::recursiveBuildTransaction):
27906        Upon commit, apply changes to LayerTypeCustom layers to the platform layer.
27907        Setting children or maskLayer won't work, since we don't know about other raw CALayers.
27908        This is OK, since nothing uses those properties on custom layers.
27909
27910        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp:
27911        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
27912        Disable actions on the root custom layer.
27913
279142013-11-05  Anders Carlsson  <andersca@apple.com>
27915
27916        Begin work on a WKRemoteObjectDecoder object
27917        https://bugs.webkit.org/show_bug.cgi?id=123819
27918
27919        Reviewed by Dan Bernstein.
27920
27921        * Shared/API/Cocoa/WKRemoteObjectCoder.h:
27922        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27923        (-[WKRemoteObjectDecoder initWithRootObjectDictionary:]):
27924        Add designated initializer.
27925
27926        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
27927        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
27928        If the message has the expected name and body type, pass it along to -_invokeMessageWithBody:.
27929
27930        (-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
27931        Create a decoder.
27932
279332013-11-05  Benjamin Poulain  <benjamin@webkit.org>
27934
27935        [WK2] Add a WebKit2 API for Geolocation's highAccuracy
27936        https://bugs.webkit.org/show_bug.cgi?id=123786
27937
27938        Reviewed by Darin Adler.
27939
27940        This adds support for highAccuracy Geolocation with WebKit2.
27941
27942        The key is to track which page/requester need what kind of geolocation
27943        in order to change between high and low accuracy as pages run and disappear.
27944
27945        WebGeolocationManager and WebGeolocationManagerProxy have very similar roles
27946        but for different sources:
27947        -WebGeolocationManager tracks which live page require high accuracy geolocation.
27948         When the state changes, it forward the information to the UIProcess.
27949        -WebGeolocationManagerProxy tracks which WebContent processes needs high accuracy.
27950
27951        * Shared/APIClientTraits.cpp:
27952        * Shared/APIClientTraits.h:
27953        * UIProcess/API/C/WKGeolocationManager.h:
27954        * UIProcess/WebGeolocationManagerProxy.cpp:
27955        (WebKit::WebGeolocationManagerProxy::startUpdating):
27956        (WebKit::WebGeolocationManagerProxy::removeRequester):
27957        (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
27958        * UIProcess/WebGeolocationManagerProxy.h:
27959        (WebKit::WebGeolocationManagerProxy::isUpdating):
27960        (WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled):
27961        * UIProcess/WebGeolocationManagerProxy.messages.in:
27962        * UIProcess/WebGeolocationProvider.cpp:
27963        (WebKit::WebGeolocationProvider::setEnableHighAccuracy):
27964        * UIProcess/WebGeolocationProvider.h:
27965        * WebProcess/Geolocation/WebGeolocationManager.cpp:
27966        (WebKit::WebGeolocationManager::registerWebPage):
27967        (WebKit::WebGeolocationManager::unregisterWebPage):
27968        (WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
27969        * WebProcess/Geolocation/WebGeolocationManager.h:
27970        (WebKit::WebGeolocationManager::isUpdating):
27971        (WebKit::WebGeolocationManager::isHighAccuracyEnabled):
27972        * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
27973        (WebKit::WebGeolocationClient::setEnableHighAccuracy):
27974
279752013-11-05  Anders Carlsson  <andersca@apple.com>
27976
27977        Implement more NSCoder methods
27978        https://bugs.webkit.org/show_bug.cgi?id=123815
27979
27980        Reviewed by Dan Bernstein.
27981
27982        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
27983        (encodeObject):
27984        Assert that object is not nil.
27985
27986        (createEncodedObject):
27987        Handle nil objects.
27988
27989        (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
27990        Call the right object stream encoding function based on the object type.
27991
27992        (-[WKRemoteObjectEncoder encodeBool:forKey:]):
27993        (-[WKRemoteObjectEncoder encodeInt64:forKey:]):
27994        (-[WKRemoteObjectEncoder encodeDouble:forKey:]):
27995        Create APIObjects and add them to the current dictionary.
27996
279972013-11-05  Anders Carlsson  <andersca@apple.com>
27998
27999        Encode the class name
28000        https://bugs.webkit.org/show_bug.cgi?id=123813
28001
28002        Reviewed by Dan Bernstein.
28003
28004        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
28005        (encodeObject):
28006        Get the Class using -[NSObject classForCoder] and encode its name in the object dictionary.
28007
280082013-11-05  Anders Carlsson  <andersca@apple.com>
28009
28010        Clean up the WKRemoteObjectEncoder code
28011        https://bugs.webkit.org/show_bug.cgi?id=123811
28012
28013        Reviewed by Dan Bernstein.
28014
28015        Add a new object stream array to be used for the non-keyed encoding values
28016        and free functions for encoding values to the object stream. Simplify object encoding
28017        by moving the dictionary creation out into a separate function and ditching the block based methods.
28018
28019        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
28020        (ensureObjectStream):
28021        Add helper function to create an object stream.
28022
28023        (encodeToObjectStream):
28024        Add overloads for encoding values into the object streams.
28025
28026        (encodeInvocation):
28027        Add helper function for encoding an NSInvocation.
28028
28029        (encodeObject):
28030        Call encodeInvocation if needed, otherwise just use encodeWithCoder:.
28031
28032        (createEncodedObject):
28033        Helper function that sets up a dictionary, encodes the object into the dictionary and then returns the dictionary.
28034
28035        (-[WKRemoteObjectEncoder encodeObject:forKey:]):
28036        Call createEncodedObject.    
28037
280382013-11-04  Brady Eidson  <beidson@apple.com>
28039
28040        IDB: Split backend Cursors and Transactions into their own files
28041        https://bugs.webkit.org/show_bug.cgi?id=123789
28042
28043        Reviewed by Alexey Proskuryakov.
28044
28045        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
28046        (WebKit::WebIDBFactoryBackend::createCursorBackend):
28047        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
28048
280492013-11-04  Alexey Proskuryakov  <ap@apple.com>
28050
28051        DumpRenderTree should reset its preferences file on launch
28052        https://bugs.webkit.org/show_bug.cgi?id=29751
28053
28054        Reviewed by Dan Bernstein.
28055
28056        * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
28057        (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
28058        Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
28059        domain meant that current application's domain was explcitly ignored, and the only
28060        way to override the setting in WTR was through argument domain.
28061
280622013-11-04  Tim Horton  <timothy_horton@apple.com>
28063
28064        Remote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
28065        https://bugs.webkit.org/show_bug.cgi?id=123766
28066
28067        Reviewed by Anders Carlsson.
28068
28069        Put each LayerTypeCustom layer into a CAContext, so that we can
28070        host small CALayer trees (for video, plugins, etc.) from the Web process
28071        to the UI process without proxying their (more complex) content.
28072
28073        * Shared/mac/RemoteLayerTreeTransaction.h:
28074        * Shared/mac/RemoteLayerTreeTransaction.mm:
28075        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
28076        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
28077        (WebKit::RemoteLayerTreeTransaction::dump):
28078        Store, encode, and dump the CAContext ID of custom layers.
28079
28080        * UIProcess/mac/RemoteLayerTreeHost.mm:
28081        (WebKit::RemoteLayerTreeHost::createLayer):
28082        Create a CALayerHost with the CAContext ID from the Web process.
28083
28084        * WebKit2.xcodeproj/project.pbxproj:
28085        Add PlatformCALayerRemoteCustom.
28086
28087        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
28088        (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
28089        Call the newly-added custom-layer constructor.
28090
28091        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
28092        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
28093        (PlatformCALayerRemote::create):
28094        (PlatformCALayerRemote::PlatformCALayerRemote):
28095        Move the call to layerWasCreated() out to ::create(), so that all of
28096        the constructors for this class and all subclasses have completed
28097        before we call it (so that layerWasCreated() can store the context ID
28098        in the created layer properties object).
28099
28100        (WebKit::PlatformCALayerRemote::hostingContextID):
28101        Should never be reached on the base class, only PlatformCALayerRemoteCustom.
28102
28103        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: Added.
28104        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
28105        (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
28106        (PlatformCALayerRemoteCustom::hostingContextID):
28107        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: Added.
28108        Add PlatformCALayerRemoteCustom, which owns a LayerHostingContext
28109        which it will use to share a custom CALayer tree with the UI process.
28110
28111        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
28112        Drive-by remove an unnecessary include.
28113
28114        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
28115        (WebKit::RemoteLayerTreeContext::layerWasCreated):
28116        Store the CAContext ID with the layer creation properties so it can
28117        be used to create a CALayerHost upon commit in the UI process.
28118
281192013-11-04  Tim Horton  <timothy_horton@apple.com>
28120
28121        Remove PlatformCALayer::playerLayer
28122        https://bugs.webkit.org/show_bug.cgi?id=123764
28123
28124        Reviewed by Sam Weinig.
28125
28126        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
28127        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
28128        Remove playerLayer().
28129
281302013-11-04  Anders Carlsson  <andersca@apple.com>
28131
28132        WKRemoteObjectEncoder should escape keys
28133        https://bugs.webkit.org/show_bug.cgi?id=123761
28134
28135        Reviewed by Tim Horton.
28136
28137        Keys that start with $ will be reserved for use by the coder, so prepend an extra
28138        $ to keys that already start with $ to avoid clashes.
28139
28140        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
28141        (escapeKey):
28142        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
28143        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
28144
281452013-11-04  Benjamin Poulain  <bpoulain@apple.com>
28146
28147        [WK2] Update WebGeolocationManager to support multiple WebContent processes
28148        https://bugs.webkit.org/show_bug.cgi?id=123658
28149
28150        Reviewed by Anders Carlsson.
28151
28152        Change WebGeolocationManagerProxy to track which WebProcessProxy needs geolocation.
28153
28154        * UIProcess/WebContext.cpp:
28155        (WebKit::WebContext::disconnectProcess):
28156        WebContext::disconnectProcess does not handle ContextSupplement yet when using multiple
28157        WebContent processes. Add an explicit call for WebGeolocationManagerProxy as a temporary
28158        solution.
28159
28160        * UIProcess/WebGeolocationManagerProxy.cpp:
28161        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
28162        (WebKit::WebGeolocationManagerProxy::contextDestroyed):
28163        (WebKit::WebGeolocationManagerProxy::processDidClose):
28164        (WebKit::WebGeolocationManagerProxy::startUpdating):
28165        (WebKit::WebGeolocationManagerProxy::stopUpdating):
28166        (WebKit::WebGeolocationManagerProxy::removeRequester):
28167        * UIProcess/WebGeolocationManagerProxy.h:
28168        * UIProcess/WebGeolocationManagerProxy.messages.in:
28169
281702013-11-01  Jer Noble  <jer.noble@apple.com>
28171
28172        [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
28173        https://bugs.webkit.org/show_bug.cgi?id=123621
28174
28175        Reviewed by Eric Carlson.
28176
28177        Add WebKit2 functions for setting then new isVideoPluginProxyEnabled preference.
28178
28179        * Shared/WebPreferencesStore.h:
28180        * UIProcess/API/C/WKPreferences.cpp:
28181        (WKPreferencesSetVideoPluginProxyEnabled):
28182        (WKPreferencesGetVideoPluginProxyEnabled):
28183        * UIProcess/API/C/WKPreferences.h:
28184        * WebProcess/WebPage/WebPage.cpp:
28185        (WebKit::WebPage::updatePreferences):
28186
281872013-11-04  Anders Carlsson  <andersca@apple.com>
28188
28189        More WKRemoteObjectRegistry work
28190        https://bugs.webkit.org/show_bug.cgi?id=123754
28191
28192        Reviewed by Dan Bernstein.
28193
28194        * Shared/API/Cocoa/WKRemoteObjectCoder.h:
28195        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
28196        (-[WKRemoteObjectEncoder rootObjectDictionary]):
28197        Add a getter for the root object dictionary.
28198
28199        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
28200        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
28201        Call _sendMessageWithBody:.
28202        (-[WKRemoteObjectRegistry _sendMessageWithBody:]):
28203        Call WebConnection::postMessage.
28204
282052013-11-03  Dan Bernstein  <mitz@apple.com>
28206
28207        [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
28208        https://bugs.webkit.org/show_bug.cgi?id=123707
28209
28210        Reviewed by Geoff Garen and Anders Carlsson.
28211
28212        * Shared/Cocoa/WKNSArray.mm:
28213        (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
28214        * Shared/Cocoa/WKNSDictionary.mm:
28215        (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
28216        * Shared/ImmutableArray.h:
28217        (WebKit::ImmutableArray::entries): Added this accessor.
28218
282192013-11-03  Dan Bernstein  <mitz@apple.com>
28220
28221        Reverted r158538.
28222
28223        * Shared/Cocoa/WKNSArray.mm:
28224        (-[WKNSArray copyWithZone:]):
28225        * Shared/Cocoa/WKNSDictionary.mm:
28226        (-[WKNSDictionary copyWithZone:]):
28227        * Shared/ImmutableArray.h:
28228
282292013-11-03  Dan Bernstein  <mitz@apple.com>
28230
28231        [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
28232        https://bugs.webkit.org/show_bug.cgi?id=123707
28233
28234        Reviewed by Geoff Garen.
28235
28236        * Shared/Cocoa/WKNSArray.mm:
28237        (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
28238        * Shared/Cocoa/WKNSDictionary.mm:
28239        (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
28240        * Shared/ImmutableArray.h:
28241        (WebKit::ImmutableArray::entries): Added this accessor.
28242
282432013-11-02  Dan Bernstein  <mitz@apple.com>
28244
28245        [Cocoa] Wrappers mishandle NULL values in arrays and dictionaries
28246        https://bugs.webkit.org/show_bug.cgi?id=123671
28247
28248        Reviewed by Darin Adler.
28249
28250        * Shared/Cocoa/WKNSArray.mm:
28251        (-[WKNSArray objectAtIndex:]): Represent a NULL object as NSNull.
28252        * Shared/Cocoa/WKNSDictionary.mm:
28253        (-[WKNSDictionary objectForKey:]): Represent a NULL value as NSNull.
28254        * Shared/ImmutableDictionary.h:
28255        (WebKit::ImmutableDictionary::get): Added this overload that returns whether the key exists.
28256
282572013-11-02  Dan Bernstein  <mitz@apple.com>
28258
28259        Fixed release builds.
28260
28261        * Shared/Cocoa/WKNSDictionary.mm:
28262        (-[WKNSDictionary initWithObjects:forKeys:count:]):
28263
282642013-11-02  Dan Bernstein  <mitz@apple.com>
28265
28266        [Cocoa] Add WKNSDictionary
28267        https://bugs.webkit.org/show_bug.cgi?id=123660
28268
28269        Reviewed by Anders Carlsson.
28270
28271        * Shared/Cocoa/APIObject.mm:
28272        (WebKit::APIObject::newObject): Allocate a WKNSDictionary if the APIObject is a dictionary.
28273        * Shared/Cocoa/WKNSDictionary.h: Added.
28274        (WebKit::wrapper):  Added. Returns an ImmutableDictionary’s wrapper as an NSDictionary.
28275        * Shared/Cocoa/WKNSDictionary.mm: Added.
28276        (-[WKNSDictionary dealloc]): Calls the ImmutableDictionary destructor.
28277        (-[WKNSDictionary count]): Added.
28278        (-[WKNSDictionary objectForKey:]): Added.
28279        (-[WKNSDictionary keyEnumerator]): Added.
28280        (-[WKNSDictionary copyWithZone:]): Retains self.
28281        (-[WKNSDictionary _apiObject]): Returns the wrapped ImmutableDictionary.
28282        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
28283
282842013-11-02  Tim Horton  <timothy_horton@apple.com>
28285
28286        Address some review comments noted in r158463
28287        https://bugs.webkit.org/show_bug.cgi?id=123646
28288
28289        Reviewed by Darin Adler.
28290
28291        * Shared/mac/RemoteLayerBackingStore.mm:
28292        Put our __has_include ifs all on one line.
28293
28294        (createIOSurface):
28295        IOSurfaceAlignProperty returns size_t, not unsigned long.
28296
28297        (RemoteLayerBackingStore::display):
28298        (RemoteLayerBackingStore::drawInContext):
28299        Create the frontImage in display() and hand it to drawInContext().
28300
28301        Use the GraphicsContext API instead of CG itself for clearRect().
28302
28303        When using ShareableBitmap, replace m_frontBuffer instead of
28304        having a backBuffer local; the CGImageRef will retain the
28305        ShareableBitmap it references.
28306
28307        Duplicate our drawInContext() calls so we don't have to allocate
28308        a GraphicsContext on the heap in the IOSurface case.
28309
28310        Don't bother clearing frontContext; it'll happen for us at
28311        the appropriate time. Instead, assert that it's still alive after
28312        we drop our reference to the frontImage created from it.
28313
283142013-11-02  Zan Dobersek  <zdobersek@igalia.com>
28315
28316        [GTK] invalid use of incomplete type 'class WTF::PassOwnPtr<WTF::Vector<unsigned char> >'
28317        https://bugs.webkit.org/show_bug.cgi?id=123601
28318
28319        Reviewed by Carlos Garcia Campos.
28320
28321        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Explicitly include the PassOwnPtr.h header
28322        as certain configurations on the GTK port don't ensure that the header is included indirectly.
28323
283242013-11-02  Vitaly Katunin  <vkatunin@luxoft.com>
28325
28326        [GTK] invalid application of 'sizeof' to incomplete type
28327        https://bugs.webkit.org/show_bug.cgi?id=123502
28328
28329        Reviewed by Carlos Garcia Campos.
28330
28331        * Shared/WebCoreArgumentCoders.cpp:
28332
283332013-11-01  Tim Horton  <timothy_horton@apple.com>
28334
28335        Remote Layer Tree: Crashes allocating incredibly large backing store for tiled backing layers
28336        https://bugs.webkit.org/show_bug.cgi?id=123651
28337
28338        Reviewed by Simon Fraser.
28339
28340        * Shared/mac/RemoteLayerBackingStore.mm:
28341        (RemoteLayerBackingStore::display):
28342        (RemoteLayerBackingStore::drawInContext):
28343        We can't dirty the whole layer if we have no existing front buffer if
28344        we have no paints, because that will lead to layers which were never
28345        setNeedsDisplay()'d getting backing store. Added back an assertion
28346        that will catch this, too.
28347
283482013-11-01  Dan Bernstein  <mitz@apple.com>
28349
28350        [Cocoa] WKObject seems to be initializing its target in a thread-safe manner, but really is not
28351        https://bugs.webkit.org/show_bug.cgi?id=123640
28352
28353        Reviewed by Darin Adler.
28354
28355        * Shared/Cocoa/WKObject.mm:
28356        (initializeTargetIfNeeded): Removed misleading incorrect code.
28357
283582013-11-01  Benjamin Poulain  <benjamin@webkit.org>
28359
28360        [WK2] Create a unique identifier for WebPageGroup if the input name is empty
28361        https://bugs.webkit.org/show_bug.cgi?id=123606
28362
28363        Reviewed by Andreas Kling.
28364
28365        Strengthen the "public" API of page group.
28366        If someone uses WKBrowsingContextGroup with a nil or empty string, the related WKString
28367        would be empty, and all the WKBrowsingContextGroup end up with the same identifier.
28368
28369        * UIProcess/WebPageGroup.cpp:
28370        (WebKit::WebPageGroup::WebPageGroup):
28371
283722013-11-01  Dan Bernstein  <mitz@apple.com>
28373
28374        [Cocoa] Avoid some double-wrapping of strings and URLs
28375        https://bugs.webkit.org/show_bug.cgi?id=123632
28376
28377        Reviewed by Anders Carlsson.
28378
28379        * Shared/API/c/cf/WKStringCF.cpp: Removed.
28380        * Shared/API/c/cf/WKStringCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKStringCF.cpp.
28381        (wkNSStringClass): Added this helper.
28382        (WKStringCreateWithCFString): If the passed-in CFString is already wrapping a WebString,
28383        then retain it and return it.
28384        * Shared/API/c/cf/WKURLCF.cpp: Removed.
28385        * Shared/API/c/cf/WKURLCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKURLCF.cpp.
28386        (wkNSURLClass): Added this helper.
28387        (WKURLCreateWithCFURL): If the passed-in CFURL is already wrapping a WebURL, then retain it
28388        and return it.
28389        * WebKit2.xcodeproj/project.pbxproj: Updated for renames.
28390
283912013-11-01  Anders Carlsson  <andersca@apple.com>
28392
28393        Begin work on encoding argument types
28394        https://bugs.webkit.org/show_bug.cgi?id=123631
28395
28396        Reviewed by Dan Bernstein.
28397
28398        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
28399        (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
28400        Encode argument types in an array.
28401
28402        (-[WKRemoteObjectEncoder _encodedObjectUsingBlock:]):
28403        Add new helper method that encodes an object and returns the dictionary.
28404
28405        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
28406        Implement this in terms of _encodedObjectUsingBlock:.
28407
28408        * Shared/MutableArray.cpp:
28409        (WebKit::MutableArray::append):
28410        * Shared/MutableArray.h:
28411        Change append to take a PassRefPtr.
28412
284132013-10-31  Gavin Barraclough  <barraclough@apple.com>
28414
28415        Rename InWindowState -> ViewState
28416        https://bugs.webkit.org/show_bug.cgi?id=123584
28417
28418        Rubber stamped by Sam Weinig.
28419
28420        WebPageProxy::setViewState offers the option to wait for a reply. Previously this option
28421        was only available via setIsInWindow, hence the mechanism to wait to the update has
28422        'InWindowState' in method and variable names (i.e.
28423        'WebPageProxy::waitForDidUpdateInWindowState'). Since the mechanism is now applicable to
28424        all ViewState changes, rename to reflect this.
28425
28426        * UIProcess/API/mac/WKView.mm:
28427        (-[WKView endDeferringViewInWindowChangesSync]):
28428        * UIProcess/WebPageProxy.cpp:
28429        (WebKit::WebPageProxy::WebPageProxy):
28430        (WebKit::WebPageProxy::waitForDidUpdateViewState):
28431        (WebKit::WebPageProxy::resetStateAfterProcessExited):
28432        * UIProcess/WebPageProxy.h:
28433        (WebKit::WebPageProxy::didUpdateViewState):
28434        * UIProcess/WebPageProxy.messages.in:
28435        * WebProcess/WebPage/WebPage.cpp:
28436        (WebKit::WebPage::WebPage):
28437        (WebKit::WebPage::didUpdateViewStateTimerFired):
28438        (WebKit::WebPage::setViewState):
28439        * WebProcess/WebPage/WebPage.h:
28440        * WebProcess/WebPage/WebPage.messages.in:
28441        * WebProcess/WebPage/mac/WebPageMac.mm:
28442        (WebKit::WebPage::didUpdateViewStateTimerFired):
28443
284442013-11-01  Tim Horton  <timothy_horton@apple.com>
28445
28446        Remote Layer Tree: Move RemoteLayerBackingStore to Shared/
28447        https://bugs.webkit.org/show_bug.cgi?id=123646
28448
28449        Reviewed by Darin Adler.
28450
28451        Move RemoteLayerBackingStore to Shared/, since it is
28452        used on both the UI and Web process side of things.
28453
28454        * Shared/mac/RemoteLayerBackingStore.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h.
28455        * Shared/mac/RemoteLayerBackingStore.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.mm.
28456        * WebKit2.xcodeproj/project.pbxproj:
28457
284582013-11-01  Tim Horton  <timothy_horton@apple.com>
28459
28460        Remote Layer Tree: Vend layer contents via IOSurfaces
28461        https://bugs.webkit.org/show_bug.cgi?id=123600
28462
28463        Reviewed by Anders Carlsson.
28464
28465        Address some review comments from Darin (and subsequently Anders).
28466
28467        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
28468        (WebKit::RemoteLayerBackingStore::surface):
28469        No need for .get() here.
28470
28471        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
28472        (RemoteLayerBackingStore::ensureBackingStore):
28473        All on one line for readability.
28474
28475        (createIOSurfaceContext):
28476        This 'if' is meaningless.
28477
28478        (createIOSurface):
28479        No need for a RetainPtr here, the dictionary is autoreleased.
28480
28481        (RemoteLayerBackingStore::display):
28482        Snuggle 'context' up next to the other declarations.
28483
284842013-11-01  Anders Carlsson  <andersca@apple.com>
28485
28486        Don't use the C API in WKRemoteObjectCoder
28487        https://bugs.webkit.org/show_bug.cgi?id=123627
28488
28489        Reviewed by Dan Bernstein.
28490
28491        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
28492        (-[WKRemoteObjectEncoder init]):
28493        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
28494        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
28495        * Shared/ImmutableDictionary.h:
28496        * Shared/MutableDictionary.cpp:
28497        (WebKit::MutableDictionary::add):
28498        (WebKit::MutableDictionary::set):
28499        * Shared/MutableDictionary.h:
28500
285012013-11-01  Emilio Pozuelo Monfort  <pochu27@gmail.com>
28502
28503        Fix build on non-linux platforms
28504        https://bugs.webkit.org/show_bug.cgi?id=123622
28505
28506        Reviewed by Darin Adler.
28507
28508        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
28509
285102013-11-01  Brian Holt  <brian.holt@samsung.com>
28511
28512        [GTK] [WK2] Crash in webkitWebViewLoadFailedWithTLSErrors
28513        https://bugs.webkit.org/show_bug.cgi?id=123618
28514
28515        Reviewed by Mario Sanchez Prada.
28516
28517        The GOwnPtrSoup header was not included which meant that the
28518        specialization for GOwnPtr<SoupURI> was not used and instead the
28519        default freeOwnedGPtr which calls g_free is used and crashes.
28520
28521        * UIProcess/API/gtk/WebKitWebView.cpp:
28522
285232013-10-31  Tim Horton  <timothy_horton@apple.com>
28524
28525        Fix a typo/review comment from Dan, in http://trac.webkit.org/changeset/158413
28526
28527        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
28528
285292013-10-31  Tim Horton  <timothy_horton@apple.com>
28530
28531        Remote Layer Tree: Vend layer contents via IOSurfaces
28532        https://bugs.webkit.org/show_bug.cgi?id=123600
28533
28534        Reviewed by Anders Carlsson.
28535
28536        * Configurations/WebKit2.xcconfig:
28537        Link WebKit2 against IOSurface.
28538
28539        * Shared/mac/RemoteLayerTreeTransaction.mm:
28540        (WebKit::dumpChangedLayers):
28541        Dump the size of the backing store instead of the pointer of its
28542        SharedBitmap, because that's slightly more useful.
28543
28544        * UIProcess/mac/RemoteLayerTreeHost.mm:
28545        (WebKit::RemoteLayerTreeHost::commit):
28546        If a layer's backing store uses accelerated drawing, hand the IOSurface
28547        to the CALayer for display.
28548
28549        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
28550        (PlatformCALayerRemote::PlatformCALayerRemote):
28551        Initialize contentsScale to 1 to match CA. Other properties will follow.
28552
28553        (PlatformCALayerRemote::ensureBackingStore):
28554        Instead of replacing the RemoteLayerBackingStore when its properties
28555        change, allow it to update them on the fly. Replacing them caused
28556        us to throw away repaint rects when the accelerated drawing
28557        flag was flipped.
28558
28559        (PlatformCALayerRemote::acceleratesDrawing):
28560        (PlatformCALayerRemote::setAcceleratesDrawing):
28561        Store the accelerated drawing flag and mark it dirty when it changes.
28562
28563        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
28564        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
28565        (WebKit::RemoteLayerBackingStore::image):
28566        Rename bitmap() to image() and have it create a CGImageRef from
28567        the ShareableBitmap, ready for direct application to a CALayer.
28568
28569        (WebKit::RemoteLayerBackingStore::surface):
28570        Return a IOSurface ready for direct application to a CALayer.
28571
28572        (WebKit::RemoteLayerBackingStore::acceleratesDrawing):
28573        (WebKit::RemoteLayerBackingStore::hasFrontBuffer):
28574        Return whether or not we have a front buffer/surface.
28575
28576        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
28577        Forward-declare some CGIOSurface SPI.
28578
28579        (RemoteLayerBackingStore::RemoteLayerBackingStore):
28580        (RemoteLayerBackingStore::ensureBackingStore):
28581        Throw away our front image and reset flags if needed.
28582
28583        (RemoteLayerBackingStore::encode):
28584        (RemoteLayerBackingStore::decode):
28585        En/decode the front surface instead of the ShareableBitmap if needed,
28586        using CoreIPC::MachPort. Destroy the port on receipt.
28587
28588        (createIOSurfaceContext):
28589        Create a CGIOSurfaceContext from an IOSurface.
28590
28591        (createIOSurface):
28592        Create an IOSurface of the given size.
28593
28594        (RemoteLayerBackingStore::image):
28595        Return a CGImageRef, if we're not using accelerated drawing.
28596        Moved from the header.
28597
28598        (RemoteLayerBackingStore::display):
28599        (RemoteLayerBackingStore::drawInContext):
28600        If using accelerated drawing, create and paint into an IOSurface.
28601        Reorganize some code to make the copying-from-the-front-image code
28602        work for both software and IOSurfaces.
28603        Flush the context when completed, to ensure that any asynchronous
28604        painting is complete before we vend the surface to the UI process.
28605
286062013-10-31  Anders Carlsson  <andersca@apple.com>
28607
28608        Begin stubbing out the WKRemoteObjectCoder NSCoder subclass
28609        https://bugs.webkit.org/show_bug.cgi?id=123596
28610
28611        Reviewed by Tim Horton.
28612
28613        * Shared/API/Cocoa/WKRemoteObject.mm:
28614        (-[WKRemoteObject forwardInvocation:]):
28615        Call through to the WKRemoteObjectRegistry.
28616
28617        * Shared/API/Cocoa/WKRemoteObjectCoder.h: Added.
28618        * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Added.
28619        (-[WKRemoteObjectEncoder init]):
28620        Create a root WKDictionary.
28621
28622        (-[WKRemoteObjectEncoder dealloc]):
28623        Assert that the current dictionary is the root dictionary; that we're back where we started.
28624
28625        (-[WKRemoteObjectEncoder allowsKeyedCoding]):
28626        Return YES.
28627
28628        (-[WKRemoteObjectEncoder encodeObject:forKey:]):
28629        Check that the object is valid and then encode it.
28630
28631        (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
28632        Encode the method type string and invocation selector.
28633
28634        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
28635        Create a WKDataRef and add it to the dictionary.
28636
28637        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
28638        Create a new dictionary and call the block.
28639
28640        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
28641        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
28642        Create an encoder and encode the invocation and interface.
28643
28644        * Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h: Added.
28645        Add IPI header.
28646
28647        * WebKit2.xcodeproj/project.pbxproj:
28648        Add new files.
28649
286502013-10-31  Anders Carlsson  <andersca@apple.com>
28651
28652        Address review comments.
28653
28654        * Shared/API/Cocoa/WKRemoteObject.h:
28655        * Shared/API/Cocoa/WKRemoteObject.mm:
28656        (-[WKRemoteObject conformsToProtocol:]):
28657
286582013-10-31  Anders Carlsson  <andersca@apple.com>
28659
28660        Add a WKRemoteObject class
28661        https://bugs.webkit.org/show_bug.cgi?id=123586
28662
28663        Reviewed by Dan Bernstein.
28664
28665        * Shared/API/Cocoa/WKRemoteObject.h: Added.
28666        * Shared/API/Cocoa/WKRemoteObject.mm: Added.
28667        (-[WKRemoteObject _initWithObjectRegistry:interface:]):
28668        Add designated initializer.
28669
28670        (-[WKRemoteObject conformsToProtocol:]):
28671        Check if the interface protocol conforms to our protocol.
28672
28673        (methodArgumentTypeEncodingForSelector):
28674        Helper function that looks up a method in a given protocol and returns its type encoding.
28675
28676        (-[WKRemoteObject methodSignatureForSelector:]):
28677        Try to find the method argument type encoding for the given selector and return its NSMethodSignature.
28678
28679        (-[WKRemoteObject forwardInvocation:]):
28680        Add stub.
28681
28682        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
28683        Remove a newline.
28684
28685        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
28686        (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
28687        Establish a mapping between interface identifiers and remote object proxies.
28688
28689        * WebKit2.xcodeproj/project.pbxproj:
28690
286912013-10-31  Alexey Proskuryakov  <ap@apple.com>
28692
28693        Enable WebCrypto on Mac
28694        https://bugs.webkit.org/show_bug.cgi?id=123587
28695
28696        Reviewed by Anders Carlsson.
28697
28698        * Configurations/FeatureDefines.xcconfig: Do it.
28699
287002013-10-31  Sergio Correia  <sergio.correia@openbossa.org>
28701
28702        [WK2] Convert SeccompFilters to using unique_ptr instead of OwnPtr/PassOwnPtr
28703        https://bugs.webkit.org/show_bug.cgi?id=122883
28704
28705        Reviewed by Darin Adler.
28706
28707        * Shared/linux/SeccompFilters/OpenSyscall.cpp:
28708        (WebKit::OpenSyscall::createFromOpenatContext):
28709        (WebKit::OpenSyscall::createFromCreatContext):
28710        (WebKit::OpenSyscall::execute):
28711        * Shared/linux/SeccompFilters/OpenSyscall.h:
28712        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
28713        (WebKit::SIGSYSHandler):
28714        (WebKit::SeccompBrokerClient::dispatch):
28715        (WebKit::SeccompBroker::runLoop):
28716        * Shared/linux/SeccompFilters/SigactionSyscall.cpp:
28717        (WebKit::SigactionSyscall::createFromContext):
28718        * Shared/linux/SeccompFilters/SigactionSyscall.h:
28719        * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp:
28720        (WebKit::SigprocmaskSyscall::createFromContext):
28721        * Shared/linux/SeccompFilters/SigprocmaskSyscall.h:
28722        * Shared/linux/SeccompFilters/Syscall.cpp:
28723        (WebKit::Syscall::createFromContext):
28724        (WebKit::Syscall::createFromDecoder):
28725        (WebKit::SyscallResult::createFromDecoder):
28726        * Shared/linux/SeccompFilters/Syscall.h:
28727        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
28728
287292013-10-31  Gavin Barraclough  <barraclough@apple.com>
28730
28731        Change WebPage, WebPageProxy, WebPageCreationParameters to use ViewState
28732        https://bugs.webkit.org/show_bug.cgi?id=123379
28733
28734        Reviewed by Darin Adler.
28735
28736        Visibility state of the Page should be stored and communicated consistently.
28737
28738        Remove individual visibility flags from WebPageProxy, WebPageCreationParameters,
28739        and replace them with a ViewState, and add a ViewState member to WebPage.
28740        Merge together all messages that convey and individual aspect of the ViewState.
28741
28742        Restructure WebPageProxy::viewStateDidChange to break the operation down into
28743        three steps: 1) update m_viewState, 2) send the new ViewState to the WebProcess,
28744        and 3) perform any further work necessary in the UIProcess.
28745
28746        This patch fixes a problem that if the web process crashes m_isVisible &
28747        m_isInWindow in WebPageProxy were not updated, and could have held stale values
28748        on reattach.
28749
28750        In WebPage, add a new message to update the entire ViewState - diff the prior
28751        value against the new one to detect changes, call existing methods accordingly.
28752
28753        * Shared/ViewState.h:
28754            - Add constants 'Reset', 'AllFlags'
28755        * Shared/WebPageCreationParameters.cpp:
28756        (WebKit::WebPageCreationParameters::encode):
28757        (WebKit::WebPageCreationParameters::decode):
28758        * Shared/WebPageCreationParameters.h:
28759            - Removed boolean visibility flags, added viewState.
28760        * UIProcess/WebPageProxy.cpp:
28761        (WebKit::WebPageProxy::WebPageProxy):
28762            - Constructor calls updateViewState to initialize m_viewState.
28763        (WebKit::WebPageProxy::reattachToWebProcess):
28764            - ViewStaet is not updated while detatched; recalculate.
28765        (WebKit::WebPageProxy::initializeWebPage):
28766            - m_isVisible -> isViewVisible()
28767        (WebKit::WebPageProxy::updateViewState):
28768            - Added, update m_viewState by querying the page client.
28769        (WebKit::WebPageProxy::viewStateDidChange):
28770            - Restructured to use m_viewState, reordered to combine messages.
28771        (WebKit::WebPageProxy::creationParameters):
28772            - Removed boolean visibility flags, added viewState.
28773        * UIProcess/WebPageProxy.h:
28774        (WebKit::WebPageProxy::isInWindow):
28775        (WebKit::WebPageProxy::isViewVisible):
28776            - Removed boolean visibility flags, added viewState.
28777        * WebProcess/WebPage/WebPage.cpp:
28778        (WebKit::WebPage::WebPage):
28779            - initial state now passed as a ViewState.
28780        (WebKit::WebPage::setIsInWindow):
28781            - Remove code to send reply (this is handled by setViewState).
28782        (WebKit::WebPage::setViewState):
28783            - Set m_viewState - diff from prior & call methods to update.
28784        * WebProcess/WebPage/WebPage.h:
28785            - Added setViewState, m_viewState.
28786        * WebProcess/WebPage/WebPage.messages.in:
28787            - Add SetViewState, remove individual messages.
28788        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28789        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28790            - initial state now passed as a ViewState.
28791
287922013-10-30  Gavin Barraclough  <barraclough@apple.com>
28793
28794        WebPageCreationParameters should be consistent in Window.open
28795        https://bugs.webkit.org/show_bug.cgi?id=123557
28796
28797        Reviewed by Sam Weinig.
28798
28799        When Window.open in called in WebKit2 the WebProcess sends a synchronous request to open
28800        a page (WebPageProxy::createNewPage). The UIProcess creates a WebpageProxy, and responds
28801        with instructions to the WebProcess to create the WebPage. The initial creation state of
28802        the WebPage is communicated to the WebProcess via two routes (firstly an asynchronous
28803        WebProcess::CreateWebPage message, and secondly in the synchronous response from
28804        WebPageProxy::createNewPage). Unfortunately these responses are inconsistent with each
28805        other. The creationParameters() for the page are calculated twice, and since the WKView
28806        will be added to a window between the async message being sent and the synchronous reply
28807        being returned the visibility state of the page can change.
28808
28809        To fix the inconsistency we can set the creation parameters at the point that the
28810        WebPageProxy is instantiated. This will result in a functional change that is web
28811        visible, since the page will initially be opened in a hidden/blurred state, and may
28812        later become visible/focussed. This change is consistent with the direction we want to
28813        evolve in. Whilst we will still probably require a synchronous message from the
28814        WebProcess to the UIProcess on Window.open, we'll probably make this return much earlier
28815        – having just created the WebPageProxy, but avoiding blocking the WebProcess over the
28816        client delegate callback that opens the new window.
28817
28818        This fix results in a layout test result change, due to the change in behavior (page is
28819        created blurred, and becomes focussed, resulting in a focus event being fired – rather
28820        than the window opening directly into a focussed state). This is reported as a
28821        progression (test is broken in WebKit1, fixed in WebKit2 after this change). In reality
28822        the test is actually slightly broken in DRT/test-runner – the test runs differently than
28823        in browser, since there is is no visible main window. In-browser this patch results in
28824        no change in behavior on dom/Window/mozilla-focus-blur.html (the affected test).
28825
28826        * UIProcess/WebPageProxy.cpp:
28827        (WebKit::WebPageProxy::initializeWebPage):
28828            - call initializeCreationParameters
28829        (WebKit::WebPageProxy::initializeCreationParameters):
28830            - calculate m_creationParameters
28831        * UIProcess/WebPageProxy.h:
28832        (WebKit::WebPageProxy::creationParameters):
28833            - Added m_creationParameters, initializeCreationParameters,
28834              creationParameters returns m_creationParameters
28835
288362013-10-31  Philippe Normand  <pnormand@igalia.com>
28837
28838        [WK2][GTK] enable-media-stream Setting
28839        https://bugs.webkit.org/show_bug.cgi?id=123145
28840
28841        Reviewed by Anders Carlsson.
28842
28843        * Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference.
28844        * UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and
28845        setter functions.
28846        (WKPreferencesSetMediaStreamEnabled):
28847        (WKPreferencesGetMediaStreamEnabled):
28848        * UIProcess/API/C/WKPreferences.h:
28849        * UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream
28850        property to the GTK WebKitSettings class. It will act as a facade
28851        to the MediaStreamEnabled preference.
28852        (webKitSettingsSetProperty):
28853        (webKitSettingsGetProperty):
28854        (webkit_settings_class_init):
28855        (webkit_settings_get_enable_media_stream):
28856        (webkit_settings_set_enable_media_stream):
28857        * UIProcess/API/gtk/WebKitSettings.h:
28858        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
28859        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
28860        (testWebKitSettings): Test enable-media-stream websetting.
28861        * WebProcess/InjectedBundle/InjectedBundle.cpp:
28862        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
28863        Allow WKTR to override the MediaStreamEnabled preference.
28864        * WebProcess/WebPage/WebPage.cpp:
28865        (WebKit::WebPage::updatePreferences): Update MediaStreamEnabled
28866        along with the other settings.
28867
288682013-10-30  Brady Eidson  <beidson@apple.com>
28869
28870        IDB Database versions are uint64_t, not int64_t
28871        https://bugs.webkit.org/show_bug.cgi?id=123556
28872
28873        Reviewed by Alexey Proskuryakov.
28874
28875        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
28876        (WebKit::WebIDBFactoryBackend::open):
28877        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
28878
28879        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
28880        (WebKit::WebProcessIDBDatabaseBackend::openConnection):
28881        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
28882
288832013-10-30  Dan Bernstein  <mitz@apple.com>
28884
28885        Fixed a potential race condition around the initializtion of WKObject’s target.
28886
28887        Reviewed by Mark Rowe.
28888
28889        * Shared/Cocoa/WKObject.mm:
28890        (initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed
28891        out, when stores are reordered relative to other stores, it is possible for the early return
28892        to occur while the object _target is pointing to is not yet valid.
28893
288942013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
28895
28896        Remove code for Mac Lion
28897        https://bugs.webkit.org/show_bug.cgi?id=123542
28898
28899        Reviewed by Anders Carlsson.
28900
28901
28902        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
28903        * UIProcess/API/mac/WKView.mm:
28904        (-[WKView viewWillMoveToWindow:]):
28905        * WebProcess/com.apple.WebProcess.sb.in:
28906
289072013-10-30  Dan Bernstein  <mitz@apple.com>
28908
28909        Try to fix the !WK_API_ENABLED Mac build.
28910
28911        * Shared/Cocoa/APIObject.mm:
28912
289132013-10-30  Dan Bernstein  <mitz@apple.com>
28914
28915        [Cocoa] Make all API objects have Cocoa wrappers, and delegate refcounting to those wrappers
28916        https://bugs.webkit.org/show_bug.cgi?id=123394
28917
28918        Reviewed by Darin Adler.
28919
28920        All wrappers conform to a new WKObject protocol and contain the wrapped object inline.
28921        APIObject-derived classes override operator new to call newObject, which allocates the
28922        wrapper and returns a pointer to the inline API object.
28923
28924        There are three kinds of wrapper classes: (a) classes that inherit directly from NSObject
28925        and implement their API by calling the wrapped object (example: WKBackForwardList),
28926        (b) internal classes that inherit from a class cluster, and implement the primitive methods
28927        of the class cluster by calling the wrapped object (example: WKNSArray), and (c) internal
28928        classes that inerit from the new WKObject class, and proxy to an object of some public type,
28929        which is created from the wrapped object (example: WKNSURL).
28930
28931        * Shared/APIObject.h:
28932        (WebKit::APIObject::wrapper): Added this getter.
28933        (WebKit::TypedAPIObject::operator new): Added override that calls newObject.
28934        * Shared/Cocoa/APIObject.mm: Added.
28935        (WebKit::APIObject::ref): Retains the wrapper.
28936        (WebKit::APIObject::deref): Releases the wrapper. When the wrapper is deallocated, it calls
28937        the API object destructor.
28938        (WebKit::APIObject::newObject): Allocates the wrapper and returns a pointer to the API
28939        object inside the wrapper.
28940
28941        * Shared/Cocoa/WKNSArray.h:
28942        (WebKit::wrapper): Added. Returns an ImmutableArray’s wrapper as an NSArray.
28943        Replaced the RefPtr<ImmutableArray> ivar with space for an ImmutableArray to live inside
28944        the wrapper.
28945        (-[WKNSArray dealloc]): Calls the ImmutableArray destructor.
28946        (-[WKNSArray count]): Updated for ivar change.
28947        (-[WKNSArray objectAtIndex:]): Ditto.
28948        (-[WKNSArray _apiObject]): Returns the wrapped ImmutableArray.
28949
28950        * Shared/Cocoa/WKNSObjectExtras.h: Removed.
28951        * Shared/Cocoa/WKNSObjectExtras.mm: Removed.
28952
28953        * Shared/Cocoa/WKNSString.h: Added.
28954        * Shared/Cocoa/WKNSString.mm: Added.
28955        (-[WKNSString _web_createTarget]): Override this WKObject method to create an NSString from
28956        the WebString.
28957        (-[WKNSString copyWithZone:]): Retains self.
28958
28959        * Shared/Cocoa/WKNSURL.h: Added.
28960        * Shared/Cocoa/WKNSURL.mm: Added.
28961        (-[WKNSURL _web_createTarget]): Override this WKObject method to create an NSURL from
28962        the WebURL.
28963        (-[WKNSURL copyWithZone:]): Retains self.
28964
28965        * Shared/Cocoa/WKObject.h: Added.
28966        * Shared/Cocoa/WKObject.mm: Added.
28967        (-[WKObject dealloc]): Calls the destructor of the wrapped object and releases the target
28968        object.
28969        (initializeTargetIfNeeded): Helper function. Tries to create the target exactly once.
28970        (-[WKObject isEqual:]): NSObject override that creates and compares to the target
28971        object if necessary.
28972        (-[WKObject hash]): NSObject override that creates and hashes the target object if
28973        there is one.
28974        (-[WKObject isKindOfClass:]): NSObject override that delegates to the target object.
28975        (-[WKObject isMemberOfClass:]): Ditto.
28976        (-[WKObject respondsToSelector:]): NSObject override that creates the target object if
28977        necessary and returns whether it or self responds to the selector.
28978        (-[WKObject conformsToProtocol:]): Similarly for protocols.
28979        (-[WKObject forwardingTargetForSelector:]): NSObject override that creates the target object
28980        if necessary and returns it as the target.
28981        (-[WKObject description]): NSObject override that creates the target object if necessary and
28982        forwards to it.
28983        (-[WKObject _web_createTarget]): Added. The base implementation returns nil.
28984        (-[WKObject _apiObject]): Returns the wrapped object.
28985
28986        * UIProcess/API/mac/WKBrowsingContextController.mm:
28987        (-[WKBrowsingContextController backForwardList]): Changed to return the existing wrapper.
28988        (didChangeBackForwardList): Changed to use existing wrappers.
28989
28990        Replaced the RefPtr<WebBackForwardList> ivar with space for a WebBackForwardList to live
28991        inside the wrapper.
28992        (-[WKBackForwardList dealloc]): Call the WebBackForwardList destructor.
28993        (toWKBackForwardListItem): Changed to us the existing wrapper.
28994        (-[WKBackForwardList currentItem]): Updated for ivar change.
28995        (-[WKBackForwardList backItem]): Ditto.
28996        (-[WKBackForwardList forwardItem]): Ditto.
28997        (-[WKBackForwardList itemAtIndex:]): Ditto.
28998        (-[WKBackForwardList backListCount]): Ditto.
28999        (-[WKBackForwardList forwardListCount]): Ditto,
29000        (-[WKBackForwardList backListWithLimit:]): Ditto, and also changed to use the
29001        ImmutableArray’s existing wrapper.
29002        (-[WKBackForwardList forwardListWithLimit:]): Ditto.
29003        (-[WKBackForwardList _apiObject]): Returns the WebBackForwardListItem.
29004        * UIProcess/Cocoa/WKBackForwardListInternal.h:
29005        (WebKit::wrapper): Added. Returns a WebBackForwardList’s wrapper as a WKBackForwardList.
29006
29007        * UIProcess/Cocoa/WKBackForwardListItem.mm:
29008        Replaced the RefPtr<WebBackForwardListItem> ivar with space for a WebBackForwardListItem to
29009        live inside the wrapper.
29010        (-[WKBackForwardListItem dealloc]): Call the WebBackForwardListItem destructor.
29011        (-[WKBackForwardListItem URL]): Updated for ivar change, and changed to make an NSURL
29012        directly instead of going through a wrapper.
29013        (-[WKBackForwardListItem title]): Updated for ivar change, and changed to use
29014        String’s operator NSString*.
29015        (-[WKBackForwardListItem originalURL]): Updated for ivar change, and changed to make an
29016        NSURL directly instead of going through a wrapper.
29017        (-[WKBackForwardListItem _apiObject]): Returns the WebBackForwardListItem.
29018        (-[WKBackForwardListItem _item]): Ditto.
29019        * UIProcess/Cocoa/WKBackForwardListItemInternal.h:
29020        (WebKit::wrapper): Added. Returns a WebBackForwardListItem’s wrapper as a
29021        WKBackForwardListItem.
29022
29023        * UIProcess/WebColorPickerResultListenerProxy.h: Changed into a TypedAPIObject.
29024
29025        * UIProcess/WebFormSubmissionListenerProxy.h:
29026        (WebKit::WebFormSubmissionListenerProxy::operator new): Override to call newObject.
29027
29028        * UIProcess/WebFramePolicyListenerProxy.h:
29029        (WebKit::WebFramePolicyListenerProxy::operator new): Ditto.
29030
29031        * WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removals.
29032
290332013-10-30  Anders Carlsson  <andersca@apple.com>
29034
29035        Begin fleshing out an API test for WKRemoteObjectRegistry
29036        https://bugs.webkit.org/show_bug.cgi?id=123531
29037
29038        Reviewed by Andreas Kling.
29039
29040        * Shared/API/Cocoa/WKRemoteObjectInterface.h:
29041        Add WK_API_CLASS annotation.
29042
29043        * Shared/API/Cocoa/WKRemoteObjectRegistry.h:
29044        Add WK_API_CLASS annotation.
29045
29046        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
29047        Add a WebConnection ivar.
29048
29049        (-[WKRemoteObjectRegistry _initWithConnectionRef:]):
29050        Add SPI to create an WKRemoteObjectRegistry object with an existing WKConnectionRef.
29051
29052        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
29053        Add SPI that will be used to process incoming messages from an existing WKConnectionRef.
29054
29055        * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Added.
29056        Add SPI header.
29057
29058        * WebKit2.xcodeproj/project.pbxproj:
29059        Add new files.
29060
290612013-10-30  Tim Horton  <timothy_horton@apple.com>
29062
29063        Remote Layer Tree: Lots of ASSERT(m_children.isEmpty()); on Poster Circle
29064        https://bugs.webkit.org/show_bug.cgi?id=123517
29065
29066        Reviewed by Simon Fraser.
29067
29068        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
29069        (PlatformCALayerRemote::setSublayers):
29070        When setting our list of sublayers, remove all of the new layers from
29071        their parents first.
29072
290732013-10-30  Antti Koivisto  <antti@apple.com>
29074
29075        Add debug settings for simple line layout
29076        https://bugs.webkit.org/show_bug.cgi?id=123514
29077
29078        Reviewed by Andreas Kling.
29079        
29080        Expose debug settings.
29081
29082        * Shared/WebPreferencesStore.h:
29083        * UIProcess/API/C/WKPreferences.cpp:
29084        (WKPreferencesSetSimpleLineLayoutEnabled):
29085        (WKPreferencesGetSimpleLineLayoutEnabled):
29086        (WKPreferencesSetSimpleLineLayoutDebugBordersEnabled):
29087        (WKPreferencesGetSimpleLineLayoutDebugBordersEnabled):
29088        * UIProcess/API/C/WKPreferencesPrivate.h:
29089        * WebProcess/WebPage/WebPage.cpp:
29090        (WebKit::WebPage::updatePreferences):
29091
290922013-10-30  Anders Carlsson  <andersca@apple.com>
29093
29094        Add stubbed out WKRemoteObjectRegistry class
29095        https://bugs.webkit.org/show_bug.cgi?id=123512
29096
29097        Reviewed by Andreas Kling.
29098
29099        Also add a WKRemoteObjectInterface class that represents a remote object interface.
29100
29101        * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added.
29102        * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Added.
29103        (-[WKRemoteObjectInterface initWithProtocol:identifier:]):
29104        (+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
29105        * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Added.
29106        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Added.
29107        (-[WKRemoteObjectRegistry registerExportedObject:interface:]):
29108        (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
29109        (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
29110        * WebKit2.xcodeproj/project.pbxproj:
29111
291122013-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
29113
29114        [GTK] webkit_web_context_allow_tls_certificate_for_host doc is missing Since tag
29115        https://bugs.webkit.org/show_bug.cgi?id=123499
29116
29117        Reviewed by Philippe Normand.
29118
29119        * UIProcess/API/gtk/WebKitWebContext.cpp: Add Since: 2.4.
29120
291212013-10-29  Alexey Proskuryakov  <ap@apple.com>
29122
29123        Result of focus-option-control-on-page.html depends on system preferences
29124        https://bugs.webkit.org/show_bug.cgi?id=123304
29125
29126        Reviewed by Simon Fraser.
29127
29128        * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
29129        (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
29130        Read the preference from its correct domain. This doesn't affect behavior in practice
29131        and isn't part of the fix, but it's a good opportunity to correct this code.
29132
291332013-10-29  Brady Eidson  <beidson@apple.com>
29134
29135        Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
29136        https://bugs.webkit.org/show_bug.cgi?id=123483
29137
29138        Reviewed by Andreas Kling.
29139
29140        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
29141        (WebKit::WebIDBFactoryBackend::createCursorBackend): Stubbed out.
29142        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
29143
29144        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
29145        (WebKit::WebProcessIDBDatabaseBackend::factoryBackend): Stubbed out.
29146        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
29147
291482013-10-29  Jer Noble  <jer.noble@apple.com>
29149
29150        [MSE] [Mac] Enable MediaSource on the Mac
29151        https://bugs.webkit.org/show_bug.cgi?id=122484
29152
29153        Reviewed by Darin Adler.
29154
29155        Enable ENABLE_MEDIA_SOURCE.
29156
29157        * Configurations/FeatureDefines.xcconfig:
29158
291592013-10-29  Tim Horton  <timothy_horton@apple.com>
29160
29161        More correct build fix after 158223.
29162
29163        Only fails in release because it's inline.
29164        Include the relevant header to get the function.
29165
29166        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
29167
291682013-10-29  Tim Horton  <timothy_horton@apple.com>
29169
29170        Remote Layer Tree: Support tiled drawing and use it for the main frame
29171        https://bugs.webkit.org/show_bug.cgi?id=123422
29172
29173        Reviewed by Simon Fraser.
29174
29175        Add a PlatformCALayerRemote subclass that behaves similarly to
29176        WebTiledBackingLayer, forwarding relevant things (setNeedsDisplay, etc.)
29177        to the TileController which it owns.
29178
29179        Teach the remote layer tree code enough to proxy these layers across,
29180        and paint them in a manner similar to WebSimpleLayer (just calling
29181        straight back to the TileController to paint).
29182
29183        * Shared/mac/RemoteLayerTreeTransaction.h:
29184        * Shared/mac/RemoteLayerTreeTransaction.mm:
29185        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
29186        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
29187        (WebKit::dumpChangedLayers):
29188        * UIProcess/mac/RemoteLayerTreeHost.mm:
29189        (WebKit::RemoteLayerTreeHost::commit):
29190        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
29191        (PlatformCALayerRemote::setEdgeAntialiasingMask):
29192        Add support for adjusting/encoding/decoding/dumping/applying edgeAntialiasingMask.
29193
29194        (WebKit::RemoteLayerTreeTransaction::dump):
29195        Drive-by fix dumping of created layers to have one layer per line.
29196
29197        * UIProcess/mac/RemoteLayerTreeHost.mm:
29198        (WebKit::RemoteLayerTreeHost::createLayer):
29199        Create CALayers for Simple, TiledBacking, PageTiledBacking, and TiledBackingTile layers.
29200
29201        * WebKit2.xcodeproj/project.pbxproj:
29202        Add PlatformCALayerRemoteTiledBacking.{h, cpp}.
29203
29204        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
29205        (PlatformCALayerRemote::create):
29206        Create a PlatformCALayerRemoteTiledBacking for TiledBacking and PageTiledBacking layers.
29207
29208        (PlatformCALayerRemote::removeAllSublayers):
29209        Fix removeAllSublayers to make a copy of the PlatformCALayerList before
29210        mutating it, to avoid crashes when iterating a mutated list.
29211
29212        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
29213        Definalize PlatformCALayerRemote so we can have PlatformCALayerRemoteTiledBacking.
29214        Note that we will use a tiled backing layer in some cases.
29215        Make the constructor protected, not private, so our subclass can use it.
29216
29217        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: Added.
29218        (PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
29219        (PlatformCALayerRemoteTiledBacking::~PlatformCALayerRemoteTiledBacking):
29220        (PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
29221        (PlatformCALayerRemoteTiledBacking::customSublayers):
29222        (PlatformCALayerRemoteTiledBacking::setBounds):
29223        (PlatformCALayerRemoteTiledBacking::isOpaque):
29224        (PlatformCALayerRemoteTiledBacking::setOpaque):
29225        (PlatformCALayerRemoteTiledBacking::acceleratesDrawing):
29226        (PlatformCALayerRemoteTiledBacking::setAcceleratesDrawing):
29227        (PlatformCALayerRemoteTiledBacking::setContentsScale):
29228        (PlatformCALayerRemoteTiledBacking::setBorderWidth):
29229        (PlatformCALayerRemoteTiledBacking::setBorderColor):
29230        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: Added.
29231        Add a subclass of PlatformCALayerRemote which forwards operations
29232        to TileController, very similar to what WebTiledBackingLayer does.
29233        It also owns the TileController, and overrides customSublayers() and
29234        tiledBacking() to return the right thing.
29235
29236        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
29237        (RemoteLayerBackingStore::display):
29238        Teach RemoteLayerBackingStore about how to paint different kinds of layers.
29239        Simple layers and Tile layers will call paintContents directly,
29240        WebLayers will do what WebLayer does and use drawLayerContents.
29241        Other kinds of layers won't paint at all right now.
29242        I would like to centralize this behavior (and get rid of our CALayer
29243        subclasses entirely, moving all that behavior to be shared between Mac,
29244        Windows, and the remote layer tree), but that is a patch for another day.
29245
29246        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
29247        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
29248        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
29249        (WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView):
29250        Force accelerated compositing on always when using the remote layer tree.
29251        Use a TiledBacking for the main frame.
29252
29253        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
29254        Drive-by OVERRIDE.
29255
292562013-10-29  Brady Eidson  <beidson@apple.com>
29257
29258        Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
29259        https://bugs.webkit.org/show_bug.cgi?id=123451
29260
29261        Reviewed by Andreas Kling.
29262
29263        Stub out more pure virtual methods.
29264
29265        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
29266        (WebKit::WebProcessIDBDatabaseBackend::backingStore):
29267        (WebKit::WebProcessIDBDatabaseBackend::id):
29268        (WebKit::WebProcessIDBDatabaseBackend::addObjectStore):
29269        (WebKit::WebProcessIDBDatabaseBackend::removeObjectStore):
29270        (WebKit::WebProcessIDBDatabaseBackend::addIndex):
29271        (WebKit::WebProcessIDBDatabaseBackend::removeIndex):
29272        (WebKit::WebProcessIDBDatabaseBackend::metadata):
29273        (WebKit::WebProcessIDBDatabaseBackend::setCurrentVersion):
29274        (WebKit::WebProcessIDBDatabaseBackend::hasPendingSecondHalfOpen):
29275        (WebKit::WebProcessIDBDatabaseBackend::setPendingSecondHalfOpen):
29276        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
29277
292782013-10-29  Gavin Barraclough  <barraclough@apple.com>
29279
29280        SessionState.h should not include WebBackForwardList.h
29281        https://bugs.webkit.org/show_bug.cgi?id=123454
29282
29283        Reviewed by Geoff Garen.
29284
29285        WebBackForwardList is a UIProcess type, SessionState is in shared code.
29286        Also, WebBackForwardListItemVector should be in WebBackForwardListItem.h, not WebBackForwardList.h
29287        (the vector type is used in the WebProcess, the item header is shared but the list type is in the UIProcess).
29288
29289        * Shared/SessionState.cpp:
29290            - fixed includes
29291        * Shared/SessionState.h:
29292            - WebBackForwardList.h -> WebBackForwardListItem.h
29293        * Shared/WebBackForwardListItem.h:
29294            - Moved WebBackForwardListVector from WebBackForwardList.h
29295        * Shared/WebPageCreationParameters.h:
29296            - fixed includes
29297        * UIProcess/WebBackForwardList.h:
29298            - Moved WebBackForwardListVector to WebBackForwardListItem.h
29299        * WebProcess/WebPage/DrawingArea.cpp:
29300            - fixed includes
29301        * WebProcess/WebPage/WebPage.cpp:
29302            - fixed includes
29303
293042013-10-29  Zan Dobersek  <zdobersek@igalia.com>
29305
29306        Unreviewed Mac debug build fix after r158183.
29307        Remove the duplicated << overloaded operator from RemoteLayerTreeTextStream for printing out
29308        a given FloatSize object. The RemoteLayerTreeTextStream inherits from TextStream, which already
29309        provides that overloaded operator. Format of the output is a bit different so hopefully nothing
29310        breaks further.
29311
29312        * Shared/mac/RemoteLayerTreeTransaction.mm:
29313        (WebKit::RemoteLayerTreeTextStream::operator<<):
29314
293152013-10-28  Brady Eidson  <beidson@apple.com>
29316
29317        Refactor IDB factory creation.
29318        https://bugs.webkit.org/show_bug.cgi?id=123347
29319
29320        Reviewed by Andreas Kling.
29321
29322        - Rework how database directory location is passed around.
29323        - Make (some) SecurityOrigin arguments be references instead of pointers.
29324        - Add two SecurityOrigin arguments to opening databases for future use.
29325
29326        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
29327        (WebKit::uniqueDatabaseIdentifier):
29328        * Shared/Databases/IndexedDB/IDBUtilities.h:
29329
29330        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
29331        (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
29332        (WebKit::WebIDBFactoryBackend::open):
29333        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
29334        (WebKit::WebIDBFactoryBackend::create):
29335
29336        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
29337        (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
29338        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
29339
29340        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
29341        (WebKit::WebPlatformStrategies::createIDBFactoryBackend):
29342        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
29343
293442013-10-28  Tim Horton  <timothy_horton@apple.com>
29345
29346        Make TileController create the appropriate PlatformCALayer subclasses
29347        https://bugs.webkit.org/show_bug.cgi?id=123418
29348
29349        Reviewed by Simon Fraser.
29350
29351        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
29352        (PlatformCALayerRemote::createCompatibleLayer):
29353        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
29354        Add createCompatibleLayer and implement it in the subclasses.
29355
293562013-10-28  Benjamin Poulain  <benjamin@webkit.org>
29357
29358        Rename applyPageScaleFactorInCompositor to delegatesPageScaling
29359        https://bugs.webkit.org/show_bug.cgi?id=123417
29360
29361        Reviewed by Simon Fraser.
29362
29363        * WebProcess/WebPage/WebPage.cpp:
29364        (WebKit::WebPage::setUseFixedLayout):
29365
293662013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>
29367
29368        Parsing support for -webkit-text-decoration-skip: ink
29369        https://bugs.webkit.org/show_bug.cgi?id=123358
29370
29371        Reviewed by Dean Jackson.
29372
29373        Adding ENABLE(CSS3_TEXT_DECORATION)
29374
29375        * Configurations/FeatureDefines.xcconfig:
29376
293772013-10-28  Tim Horton  <timothy_horton@apple.com>
29378
29379        Make TileController manipulate PlatformCALayers instead of CALayers
29380        https://bugs.webkit.org/show_bug.cgi?id=123279
29381
29382        Reviewed by Simon Fraser.
29383
29384        * Shared/mac/RemoteLayerTreeTransaction.mm:
29385        (WebKit::RemoteLayerTreeTransaction::dump):
29386        Support the new LayerTypes.
29387
29388        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
29389        (PlatformCALayerRemote::setEdgeAntialiasingMask):
29390        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
29391        Add an empty implementation of setEdgeAntialiasingMask.
29392
29393        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
29394        (RemoteLayerBackingStore::display):
29395        Removed a parameter from drawLayerContents.
29396
29397        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
29398        (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
29399        TiledCoreAnimationDrawingArea still operates in terms of CALayers, so
29400        grab the PlatformLayer out from TileController's indicator.
29401
294022013-10-28  Bastien Nocera <hadess@hadess.net>
29403
29404        Name all the GLib timeout sources
29405        https://bugs.webkit.org/show_bug.cgi?id=123229
29406
29407        Reviewed by Anders Carlsson.
29408
29409        Give a name to GLib timeout sources, this is helpful when
29410        profiling WebKitGTK applications.
29411
294122013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
29413
29414        Unreviewed. Fix make distcheck.
29415
29416        * GNUmakefile.am: Add messages.in files in
29417        UIProcess/Network/CustomProtocols/ to EXTRA_DIST.
29418        * GNUmakefile.list.am: Remove
29419        WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp from
29420        compilation because it depends on code generated only when
29421        database process is enabled.
29422
294232013-10-28  Alberto Garcia  <berto@igalia.com>
29424
29425        [WK2] [GTK] Allow running the web process with an arbitrary prefix command
29426        https://bugs.webkit.org/show_bug.cgi?id=123201
29427
29428        Reviewed by Carlos Garcia Campos.
29429
29430        Launch the web process using WEB_PROCESS_CMD_PREFIX as a
29431        prefix. Useful for debugging the web process with gdb, valgrind,
29432        etc.
29433
29434        * UIProcess/Launcher/ProcessLauncher.h:
29435        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
29436        (WebKit::ProcessLauncher::launchProcess):
29437        * UIProcess/gtk/WebProcessProxyGtk.cpp:
29438        (WebKit::WebProcessProxy::platformGetLaunchOptions):
29439
294402013-10-27  Brady Eidson  <beidson@apple.com>
29441
29442        WebIconDatabase can miss private browsing state changes.
29443        <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375
29444
29445        Reviewed by Alexey Proskuryakov.
29446
29447        * UIProcess/WebContext.cpp:
29448        (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(true) on each context.
29449        (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(false) on each context.
29450        (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes about private browsing
29451          sessions, notify the context’s WebIconDatabase about the change in value.
29452        * UIProcess/WebContext.h:
29453
29454        * UIProcess/WebIconDatabase.cpp:
29455        (WebKit::WebIconDatabase::setDatabasePath): Prime the IconDatabase with an initial private browsing value.
29456        (WebKit::WebIconDatabase::setAnyPageGroupMightHavePrivateBrowsingEnabled):
29457        * UIProcess/WebIconDatabase.h:
29458
294592013-10-26  Tim Horton  <timothy_horton@apple.com>
29460
29461        [mac] Remove WebTiledLayer
29462        https://bugs.webkit.org/show_bug.cgi?id=123395
29463
29464        Reviewed by Anders Carlsson.
29465
29466        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
29467        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
29468        Remove synchronouslyDisplayTilesInRect.
29469
294702013-10-26  Dan Bernstein  <mitz@apple.com>
29471
29472        [Cocoa] -[WKBackForwardList forwardItem] returns the back item
29473        https://bugs.webkit.org/show_bug.cgi?id=123391
29474
29475        Reviewed by Mark Rowe.
29476
29477        * UIProcess/Cocoa/WKBackForwardList.mm:
29478        (-[WKBackForwardList forwardItem]): Changed back to forward.
29479
294802013-10-26  Commit Queue  <commit-queue@webkit.org>
29481
29482        Unreviewed, rolling out r158075.
29483        http://trac.webkit.org/changeset/158075
29484        https://bugs.webkit.org/show_bug.cgi?id=123389
29485
29486        Broke WebKit2.PrivateBrowsingPushStateNoHistoryCallback API
29487        test (Requested by ap on #webkit).
29488
29489        * UIProcess/WebContext.cpp:
29490        (WebKit::WebContext::willStartUsingPrivateBrowsing):
29491        (WebKit::WebContext::willStopUsingPrivateBrowsing):
29492        * UIProcess/WebContext.h:
29493        * UIProcess/WebIconDatabase.cpp:
29494        * UIProcess/WebIconDatabase.h:
29495
294962013-10-26  Jae Hyun Park  <jae.park@company100.net>
29497
29498        Remove Coordinated Graphics bits from DrawingAreaProxyImpl
29499        https://bugs.webkit.org/show_bug.cgi?id=123382
29500
29501        Reviewed by Anders Carlsson.
29502
29503        As of r156861, Coordinated Graphics does not use DrawingAreaProxyImpl.
29504        So, Coordinated Graphics bits should be removed from DrawingAreaProxyImpl.
29505
29506        * UIProcess/DrawingAreaProxyImpl.h:
29507
295082013-10-26  Dan Bernstein  <mitz@apple.com>
29509
29510        [Cocoa] clang static analyzer warns about object being autoreleased too many times in +[WKNSArray web_arrayWithImmutableArray:]
29511        https://bugs.webkit.org/show_bug.cgi?id=123384
29512
29513        Reviewed by Mark Rowe.
29514
29515        * Shared/Cocoa/WKNSArray.h: Annotated -web_initWithImmutableArray: as an init method.
29516
295172013-10-25  Csaba Osztrogonác  <ossy@webkit.org>
29518
29519        Fix the ENABLE(CSS_FILTERS) && USE(COORDINATED_GRAPHICS) build after r157803
29520        https://bugs.webkit.org/show_bug.cgi?id=123330
29521
29522        Reviewed by Darin Adler.
29523
29524        * Shared/WebCoreArgumentCoders.cpp:
29525        * Shared/WebCoreArgumentCoders.h:
29526
295272013-10-25  Brady Eidson  <beidson@apple.com>
29528
29529        WebIconDatabase can miss private browsing state changes.
29530        <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375
29531
29532        Reviewed by Beth Dakin.
29533
29534        * UIProcess/WebContext.cpp:
29535        (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(true) on each context.
29536        (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(false) on each context.
29537        (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes, notify WebIconDatabase.
29538        * UIProcess/WebContext.h:
29539
29540        * UIProcess/WebIconDatabase.cpp:
29541        (WebKit::WebIconDatabase::setPrivateBrowsingEnabled):
29542        * UIProcess/WebIconDatabase.h:
29543
295442013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
29545
29546        Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
29547        https://bugs.webkit.org/show_bug.cgi?id=123111
29548
29549        Reviewed by Timothy Hatcher.
29550
29551        * Configurations/FeatureDefines.xcconfig:
29552
295532013-10-25  Gavin Barraclough  <barraclough@apple.com>
29554
29555        Merge viewInWindowStateDidChange into viewStateDidChange
29556        https://bugs.webkit.org/show_bug.cgi?id=123351
29557
29558        Reviewed by Tim Horton.
29559
29560        * UIProcess/API/mac/WKView.mm:
29561        (-[WKView endDeferringViewInWindowChanges]):
29562        (-[WKView endDeferringViewInWindowChangesSync]):
29563            - viewInWindowStateDidChange -> viewStateDidChange
29564        * UIProcess/WebPageProxy.cpp:
29565        (WebKit::WebPageProxy::viewStateDidChange):
29566            - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange
29567        * UIProcess/WebPageProxy.h:
29568            - removed viewInWindowStateDidChange, named parameter to viewStateDidChange
29569
295702013-10-25  Csaba Osztrogonác  <ossy@webkit.org>
29571
29572        One more URTBF for GTK after r158028.
29573
29574        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
29575        (webkitWebViewBaseMap):
29576        (webkitWebViewBaseUnmap):
29577
295782013-10-25  Csaba Osztrogonác  <ossy@webkit.org>
29579
29580        URTBF for non-Mac platforms after r158028.
29581
29582        * GNUmakefile.list.am:
29583        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
29584        (toplevelWindowFocusInEvent):
29585        (toplevelWindowFocusOutEvent):
29586        (toplevelWindowVisibilityEvent):
29587        (webkitWebViewBaseSetToplevelOnScreenWindow):
29588        (webkitWebViewBaseSetFocus):
29589        * UIProcess/CoordinatedGraphics/WebView.cpp:
29590        (WebKit::WebView::setActive):
29591        (WebKit::WebView::setFocused):
29592        (WebKit::WebView::setVisible):
29593
295942013-10-25  Gavin Barraclough  <barraclough@apple.com>
29595
29596        Move ViewStateFlags out of WebPageProxy
29597        https://bugs.webkit.org/show_bug.cgi?id=123323
29598
29599        Reviewed by Sam Weinig.
29600
29601        WebPageProxy contains an enum and typedef that provide a bitfield
29602        of flags describing the visibility of the view containing the page.
29603        We're going to want to use this bitfield in a message to the
29604        WebProcess, so moving out from the UIProcess to shared code.
29605        Creating struct 'ViewState' to scope the enum and typedef.
29606        Renamed ViewStateFlags to ViewState::Flags, and removed redundant
29607        'View' from enum entries.
29608
29609        * Shared/ViewState.h: Added.
29610        * UIProcess/API/mac/WKView.mm:
29611        (-[WKView becomeFirstResponder]):
29612        (-[WKView resignFirstResponder]):
29613        (-[WKView viewDidMoveToWindow]):
29614        (-[WKView _windowDidBecomeKey:]):
29615        (-[WKView _windowDidResignKey:]):
29616        (-[WKView _windowDidMiniaturize:]):
29617        (-[WKView _windowDidDeminiaturize:]):
29618        (-[WKView _windowDidOrderOffScreen:]):
29619        (-[WKView _windowDidOrderOnScreen:]):
29620        (-[WKView _windowDidChangeOcclusionState:]):
29621        (-[WKView viewDidHide]):
29622        (-[WKView viewDidUnhide]):
29623        (-[WKView _activeSpaceDidChange:]):
29624        * UIProcess/WebPageProxy.cpp:
29625        (WebKit::WebPageProxy::viewStateDidChange):
29626        * UIProcess/WebPageProxy.h:
29627        * WebKit2.xcodeproj/project.pbxproj:
29628
296292013-10-25  Gavin Barraclough  <barraclough@apple.com>
29630
29631        Move ViewStateFlags out of WebPageProxy
29632        https://bugs.webkit.org/show_bug.cgi?id=123323
29633
29634        Unreviewed
29635
29636        Rolling out 158026 - landed extra chnages!
29637
29638        * Shared/ViewState.h: Removed.
29639        * UIProcess/API/mac/WKView.mm:
29640        (-[WKView becomeFirstResponder]):
29641        (-[WKView resignFirstResponder]):
29642        (-[WKView viewDidMoveToWindow]):
29643        (-[WKView _windowDidBecomeKey:]):
29644        (-[WKView _windowDidResignKey:]):
29645        (-[WKView _windowDidMiniaturize:]):
29646        (-[WKView _windowDidDeminiaturize:]):
29647        (-[WKView _windowDidOrderOffScreen:]):
29648        (-[WKView _windowDidOrderOnScreen:]):
29649        (-[WKView _windowDidChangeOcclusionState:]):
29650        (-[WKView viewDidHide]):
29651        (-[WKView viewDidUnhide]):
29652        (-[WKView _activeSpaceDidChange:]):
29653        (-[WKView endDeferringViewInWindowChanges]):
29654        (-[WKView endDeferringViewInWindowChangesSync]):
29655        * UIProcess/WebPageProxy.cpp:
29656        (WebKit::WebPageProxy::viewInWindowStateDidChange):
29657        (WebKit::WebPageProxy::viewStateDidChange):
29658        * UIProcess/WebPageProxy.h:
29659        * WebKit2.xcodeproj/project.pbxproj:
29660
296612013-10-24  Gavin Barraclough  <barraclough@apple.com>
29662
29663        Move ViewStateFlags out of WebPageProxy
29664        https://bugs.webkit.org/show_bug.cgi?id=123323
29665
29666        Reviewed by Sam Weinig.
29667
29668        WebPageProxy contains an enum and typedef that provide a bitfield
29669        of flags describing the visibility of the view containing the page.
29670        We're going to want to use this bitfield in a message to the
29671        WebProcess, so moving out from the UIProcess to shared code.
29672        Creating struct 'ViewState' to scope the enum and typedef.
29673        Renamed ViewStateFlags to ViewState::Flags, and removed redundant
29674        'View' from enum entries.
29675
29676        * Shared/ViewState.h: Added.
29677        * UIProcess/API/mac/WKView.mm:
29678        (-[WKView becomeFirstResponder]):
29679        (-[WKView resignFirstResponder]):
29680        (-[WKView viewDidMoveToWindow]):
29681        (-[WKView _windowDidBecomeKey:]):
29682        (-[WKView _windowDidResignKey:]):
29683        (-[WKView _windowDidMiniaturize:]):
29684        (-[WKView _windowDidDeminiaturize:]):
29685        (-[WKView _windowDidOrderOffScreen:]):
29686        (-[WKView _windowDidOrderOnScreen:]):
29687        (-[WKView _windowDidChangeOcclusionState:]):
29688        (-[WKView viewDidHide]):
29689        (-[WKView viewDidUnhide]):
29690        (-[WKView _activeSpaceDidChange:]):
29691        * UIProcess/WebPageProxy.cpp:
29692        (WebKit::WebPageProxy::viewStateDidChange):
29693        * UIProcess/WebPageProxy.h:
29694        * WebKit2.xcodeproj/project.pbxproj:
29695
296962013-10-25  Sergio Villar Senin  <svillar@igalia.com>
29697
29698        [GTK][WK2] Build break after r157967 and r157972
29699        https://bugs.webkit.org/show_bug.cgi?id=123325
29700
29701        Reviewed by Carlos Garcia Campos.
29702
29703        DrawingArea::visibilityDidChange was removed in favour of a new
29704        message called SetIsVisible which is sent to the WebPage. This
29705        means that {suspend|resume}Paiting are now implemented in a
29706        cross-platform way in WebPage and do not require specific code
29707        from the DrawingArea implementations.
29708
29709        This means that we have to track the toplevel window visibility
29710        and notify the WebPage appropriately about its changes.
29711
29712        * UIProcess/API/gtk/PageClientImpl.cpp:
29713        (WebKit::PageClientImpl::isWindowVisible):
29714        * UIProcess/API/gtk/PageClientImpl.h:
29715        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
29716        (toplevelWindowVisibilityEvent):
29717        (webkitWebViewBaseSetToplevelOnScreenWindow):
29718        (webkitWebViewBaseIsWindowVisible):
29719        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
29720        * UIProcess/DrawingAreaProxyImpl.cpp:
29721        * UIProcess/DrawingAreaProxyImpl.h:
29722        * WebProcess/WebPage/DrawingAreaImpl.cpp:
29723        (WebKit::DrawingAreaImpl::suspendPainting):
29724        (WebKit::DrawingAreaImpl::resumePainting):
29725        * WebProcess/WebPage/WebPage.cpp:
29726        (WebKit::WebPage::windowAndWebPageAreFocused):
29727
297282013-10-25  Anton Obzhirov  <a.obzhirov@samsung.com>
29729
29730        [GTK] [WebKit2] CanHandleRequest API test fails
29731        https://bugs.webkit.org/show_bug.cgi?id=88453
29732
29733        Reviewed by Martin Robinson.
29734
29735        Make WebPage::platformCanHandleRequest return false by default 
29736        for unknown schemes.
29737
29738        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
29739        (WebKit::WebPage::platformCanHandleRequest):
29740
297412013-10-25  Ryuan Choi  <ryuan.choi@samsung.com>
29742
29743        [EFL][WK2] Build break after r157967 and r157972
29744        https://bugs.webkit.org/show_bug.cgi?id=123324
29745
29746        Reviewed by Tim Horton.
29747
29748        Since r157967 and r157972, visibilityDidChange was removed from DrawingAreaProxy.
29749
29750        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
29751        (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange):
29752        Removed common logic which r157967 moved to WebProcess.
29753        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
29754        Make visibilityDidChange to public method.
29755        * UIProcess/CoordinatedGraphics/WebView.cpp:
29756        (WebKit::WebView::setVisible):
29757        (WebKit::WebView::isWindowVisible): Added.
29758        * UIProcess/CoordinatedGraphics/WebView.h:
29759        * WebProcess/WebPage/WebPage.cpp:
29760        (WebKit::WebPage::WebPage):
29761        (WebKit::WebPage::setWindowIsVisible):
29762        * WebProcess/WebPage/WebPage.h:
29763        Moved m_windowIsVisible to use at all WK2 based port.
29764        (WebKit::WebPage::windowIsVisible):
29765        * WebProcess/WebPage/WebPage.messages.in:
29766        Moved SetWindowIsVisible message to use at all WK2 based port.
29767
297682013-10-24  Mark Rowe  <mrowe@apple.com>
29769
29770        Remove references to OS X 10.7 from Xcode configuration settings.
29771
29772        Now that we're not building for OS X 10.7 they're no longer needed.
29773
29774        Reviewed by Anders Carlsson.
29775
29776        * Configurations/Base.xcconfig:
29777        * Configurations/BaseXPCService.xcconfig:
29778        * Configurations/DebugRelease.xcconfig:
29779        * Configurations/FeatureDefines.xcconfig:
29780        * Configurations/Version.xcconfig:
29781        * Configurations/WebContentProcess.xcconfig:
29782
297832013-10-24  Gavin Barraclough  <barraclough@apple.com>
29784
29785        Coalesce calls to viewStateDidChange
29786        https://bugs.webkit.org/show_bug.cgi?id=123307
29787
29788        Reviewed by Tim Horton.
29789
29790        * UIProcess/API/mac/WKView.mm:
29791        (-[WKView viewDidMoveToWindow]):
29792        (-[WKView _windowDidOrderOffScreen:]):
29793        (-[WKView _windowDidOrderOnScreen:]):
29794            - coalesce calls to viewStateDidChange
29795        * UIProcess/WebPageProxy.cpp:
29796        (WebKit::WebPageProxy::viewStateDidChange):
29797            - handle changes to view visibility & active state in correct order.
29798
297992013-10-24  Mark Rowe  <mrowe@apple.com>
29800
29801        <rdar://problem/15312643> Prepare for the mysterious future.
29802
29803        Reviewed by David Kilzer.
29804
29805        * Configurations/Base.xcconfig:
29806        * Configurations/BaseXPCService.xcconfig:
29807        * Configurations/DebugRelease.xcconfig:
29808        * Configurations/FeatureDefines.xcconfig:
29809        * Configurations/Version.xcconfig:
29810        * Configurations/WebContentProcess.xcconfig:
29811
298122013-10-24  Gavin Barraclough  <barraclough@apple.com>
29813
29814        Fold updateWindowIsVisible into viewStateDidChange
29815        https://bugs.webkit.org/show_bug.cgi?id=123305
29816
29817        Reviewed by Simon Fraser.
29818
29819        * UIProcess/API/mac/PageClientImpl.h:
29820        * UIProcess/API/mac/PageClientImpl.mm:
29821        (WebKit::PageClientImpl::isWindowVisible):
29822            - Added accessor to check if window is visible
29823        * UIProcess/API/mac/WKView.mm:
29824        (-[WKView viewDidMoveToWindow]):
29825        (-[WKView _windowDidMiniaturize:]):
29826        (-[WKView _windowDidDeminiaturize:]):
29827        (-[WKView _windowDidOrderOffScreen:]):
29828        (-[WKView _windowDidOrderOnScreen:]):
29829            - _updateWindowVisibility -> viewStateDidChange
29830        * UIProcess/PageClient.h:
29831            - Added accessor to check if winow is visible
29832        * UIProcess/WebPageProxy.cpp:
29833        (WebKit::WebPageProxy::viewStateDidChange):
29834            - handle WindowIsVisible
29835        * UIProcess/WebPageProxy.h:
29836            - added WindowIsVisible
29837        * UIProcess/mac/WebPageProxyMac.mm:
29838            - removed updateWindowIsVisible
29839
298402013-10-24  Anders Carlsson  <andersca@apple.com>
29841
29842        Stop bringing in the std namespace
29843        https://bugs.webkit.org/show_bug.cgi?id=123273
29844
29845        Reviewed by Andreas Kling.
29846
29847        * WebProcess/mac/WebProcessMac.mm:
29848        (WebKit::WebProcess::platformSetCacheModel):
29849
298502013-10-24  Gavin Barraclough  <barraclough@apple.com>
29851
29852        Simplify window occlusion detection code
29853        https://bugs.webkit.org/show_bug.cgi?id=123300
29854
29855        Reviewed by Tim Horton.
29856
29857        Currently the WKView tries to maintain a copy of the window's occluded state,
29858        but forced to NO when occlusion detection is disabled (and capable of handling
29859        dectection being dynamically toggled). Simpler to just rely on the actual value
29860        from the window, && the enabled setting. Cleaning this up revealed that we're
29861        not sending a viewStateDidChange to the WebPageProxy when the occlusion state
29862        changes, which we probably should be.
29863
29864        * UIProcess/API/mac/PageClientImpl.mm:
29865        (WebKit::PageClientImpl::isViewVisible):
29866            - check the real value of occlusion state from the window.
29867        * UIProcess/API/mac/WKView.mm:
29868        (-[WKView viewDidMoveToWindow]):
29869            - don't update cached value.
29870        (-[WKView _windowDidChangeOcclusionState:]):
29871            - don't update cached value, but do send viewStateDidChange to the WebPageProxy.
29872        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
29873            - removed _isWindowOccluded.
29874        (-[WKView windowOcclusionDetectionEnabled]):
29875        (-[WKView setWindowOcclusionDetectionEnabled:]):
29876            - Just toggle the flag - no cached state to update any more.
29877        * UIProcess/API/mac/WKViewInternal.h:
29878            - removed _isWindowOccluded.
29879
298802013-10-24  Gavin Barraclough  <barraclough@apple.com>
29881
29882        SetIsVisible message should be sent to WebPage
29883        https://bugs.webkit.org/show_bug.cgi?id=123296
29884
29885        Reviewed by Tim Horton.
29886
29887        * UIProcess/DrawingAreaProxy.h:
29888            - remove visibilityDidChange - WebPageProxy now mesages WebPage.
29889        * UIProcess/WebPageProxy.cpp:
29890        (WebKit::WebPageProxy::viewStateDidChange):
29891            - Send view visibility updates to the WebPage, not the drawing area.
29892        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
29893        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
29894            - remove visibilityDidChange - WebPageProxy now mesages WebPage.
29895        * WebProcess/WebPage/DrawingArea.h:
29896        (WebKit::DrawingArea::suspendPainting):
29897        (WebKit::DrawingArea::resumePainting):
29898        * WebProcess/WebPage/DrawingArea.messages.in:
29899            - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
29900              make them private to the WebProcess but accessible from WebPage.
29901        * WebProcess/WebPage/WebPage.cpp:
29902        (WebKit::WebPage::setViewIsVisible):
29903        * WebProcess/WebPage/WebPage.h:
29904        * WebProcess/WebPage/WebPage.messages.in:
29905            - Added SetViewIsVisible message.
29906        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
29907            - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
29908              make them private to the WebProcess but accessible from WebPage.
29909        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
29910        (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
29911        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
29912            - Moved animation suspend code out to WebPage.
29913
299142013-10-24  Dan Bernstein  <mitz@apple.com>
29915
29916        Tried to fix the Mountain Lion build.
29917
29918        * Shared/API/Cocoa/WKFoundation.h:
29919
299202013-10-24  Dan Bernstein  <mitz@apple.com>
29921
29922        [Cocoa] Add -[WKBrowsingContextController goToBackForwardItem:]
29923        https://bugs.webkit.org/show_bug.cgi?id=123289
29924
29925        Reviewed by Sam Weinig.
29926
29927        * Shared/API/Cocoa/WKFoundation.h: Defined WK_API_CLASS.
29928        * UIProcess/API/mac/WKBrowsingContextController.h: Declared -goToBackForwardListItem:.
29929        * UIProcess/API/mac/WKBrowsingContextController.mm:
29930        (-[WKBrowsingContextController goToBackForwardListItem:]): Added.
29931        * UIProcess/Cocoa/WKBackForwardList.h: Deployed WK_API_CLASS to make the class exported.
29932        * UIProcess/Cocoa/WKBackForwardListItem.h: Ditto.
29933        * UIProcess/Cocoa/WKBackForwardListItem.mm:
29934        (-[WKBackForwardListItem _item]): Added. Returns the underlying WebBackForwardListItem.
29935        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Declared _item.
29936
299372013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>
29938
29939        Unreviewed build fix since r157823.
29940        FilterOperation::getOperationType() is renamed FilterOperation::type().
29941
29942        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
29943        (CoreIPC::::encode):
29944        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
29945        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
29946
299472013-10-23  Tibor Meszaros  <tmeszaros@inf.u-szeged.hu>
29948
29949        Web Inspector: Make WebKitEFL port work with chromedevtools
29950        https://bugs.webkit.org/show_bug.cgi?id=123017
29951
29952        Reviewed by Gustavo Noronha Silva.
29953
29954        Added /json path and extended the returned JSON format
29955        with the required extra informations
29956
29957        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
29958        (WebKit::WebInspectorServer::platformResourceForPath):
29959        (WebKit::WebInspectorServer::buildPageList):
29960
299612013-10-23  Anders Carlsson  <andersca@apple.com>
29962
29963        Remove HAVE_XPC
29964        https://bugs.webkit.org/show_bug.cgi?id=123226
29965
29966        Reviewed by Dan Bernstein.
29967
29968        HAVE_XPC has been true on Mac since Lion, so remove it.
29969
29970        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
29971        (DatabaseServiceInitializer):
29972        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
29973        (NetworkServiceInitializer):
29974        * Platform/CoreIPC/Connection.h:
29975        (CoreIPC::Connection::Identifier::Identifier):
29976        * Platform/CoreIPC/mac/ConnectionMac.cpp:
29977        (CoreIPC::Connection::platformInvalidate):
29978        (CoreIPC::Connection::platformInitialize):
29979        * Platform/WorkQueue.h:
29980        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
29981        (PluginServiceInitializer):
29982        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
29983        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
29984        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm:
29985        (WebKit::shouldUseXPC):
29986        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
29987        * UIProcess/Launcher/ProcessLauncher.cpp:
29988        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
29989        * UIProcess/Launcher/ProcessLauncher.h:
29990        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
29991        (WebKit::setUpTerminationNotificationHandler):
29992        (WebKit::ProcessLauncher::launchProcess):
29993        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
29994        (WebKit::shouldUseXPC):
29995        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
29996        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
29997        (WebKit::shouldUseXPC):
29998        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
29999        * UIProcess/mac/WebProcessProxyMac.mm:
30000        (WebKit::shouldUseXPC):
30001        (WebKit::WebProcessProxy::platformGetLaunchOptions):
30002        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
30003        (WebContentServiceInitializer):
30004
300052013-10-23  Tim Horton  <timothy_horton@apple.com>
30006
30007        Remove the ifdef to exclude remote layer tree transaction logging
30008        on Lion and before.
30009
30010        Rubber-stamped by Anders Carlsson.
30011
30012        * Shared/mac/RemoteLayerTreeTransaction.h:
30013        * Shared/mac/RemoteLayerTreeTransaction.mm:
30014        * UIProcess/mac/RemoteLayerTreeHost.mm:
30015        (WebKit::RemoteLayerTreeHost::commit):
30016
300172013-10-23  Brady Eidson  <beidson@apple.com>
30018
30019        Make IDBDatabaseBackendLevelDB.cpp be cross platform
30020        https://bugs.webkit.org/show_bug.cgi?id=123027
30021
30022        Attentively reviewed by Dean Jackson.
30023
30024        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
30025        (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
30026        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
30027
300282013-10-23  Dan Bernstein  <mitz@apple.com>
30029
30030        Fixed a typo.
30031
30032        * UIProcess/API/mac/WKBrowsingContextController.mm:
30033        (didChangeBackForwardList):
30034        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
30035
300362013-10-23  Anton Obzhirov  <a.obzhirov@samsung.com>
30037
30038        [GTK] Enable respect image orientation by default
30039        https://bugs.webkit.org/show_bug.cgi?id=122120
30040
30041        Reviewed by Gustavo Noronha Silva.
30042
30043        Add enable respect image orientation by default in GTK port.
30044
30045        * UIProcess/API/gtk/WebKitSettings.cpp:
30046        (webKitSettingsConstructed):
30047
300482013-10-23  Brian Holt  <brian.holt@samsung.com>
30049
30050        [GTK] Add WebKit2 API for TLS errors
30051        https://bugs.webkit.org/show_bug.cgi?id=120160
30052
30053        Reviewed by Mario Sanchez Prada.
30054
30055        Revert back to using PlatformCertificateInfo following the rollout
30056        of https://bugs.webkit.org/show_bug.cgi?id=118520.
30057
30058        * Shared/soup/PlatformCertificateInfo.cpp:
30059        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
30060        * Shared/soup/PlatformCertificateInfo.h:
30061        * UIProcess/API/gtk/WebKitCertificateInfo.cpp:
30062        (webkitCertificateInfoGetCertificateInfo):
30063        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
30064
300652013-10-23  Tim Horton  <timothy_horton@apple.com>
30066
30067        Remote Layer Tree: Implement superlayer, removeFromSuperlayer, replaceSublayer, and adoptSublayers
30068        https://bugs.webkit.org/show_bug.cgi?id=123130
30069
30070        Reviewed by Anders Carlsson.
30071
30072        Implement the remaining layer-hierarchy-manipulation methods.
30073
30074        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
30075        (PlatformCALayerRemote::PlatformCALayerRemote):
30076        (PlatformCALayerRemote::~PlatformCALayerRemote):
30077        Null out the superlayer back-pointer on our sublayers.
30078
30079        (PlatformCALayerRemote::recursiveBuildTransaction):
30080        Ensure that our children all have us as their superlayer.
30081
30082        (PlatformCALayerRemote::superlayer):
30083        Return the stored superlayer pointer.
30084
30085        (PlatformCALayerRemote::removeFromSuperlayer):
30086        Call removeSublayer on our superlayer, if we have one.
30087
30088        (PlatformCALayerRemote::removeSublayer):
30089        Remove the given layer if it's in our list of sublayers, clear its
30090        reference to us, and note that we'll need to commit hierarchy changes.
30091
30092        (PlatformCALayerRemote::setSublayers):
30093        removeAllSublayers() before setting the new list, to clear superlayer
30094        back-pointers. Children will be protected by the PlatformCALayerList.
30095        Update the new layers' superlayers.
30096
30097        (PlatformCALayerRemote::removeAllSublayers):
30098        Remove each sublayer from its superlayer, then clear our list of children.
30099
30100        (PlatformCALayerRemote::appendSublayer):
30101        (PlatformCALayerRemote::insertSublayer):
30102        Protect the layer from deletion, so that we can remove it from its prior
30103        superlayer before appending or inserting it.
30104
30105        (PlatformCALayerRemote::replaceSublayer):
30106        Find the reference sublayer, if it exists, and replace it with the new one.
30107
30108        (PlatformCALayerRemote::adoptSublayers):
30109        adoptSublayers is really just "set sublayers to this other layer's sublayers".
30110        Since setSublayers already removes layers from the existing superlayer,
30111        we can just go ahead and call it.
30112
30113        (PlatformCALayerRemote::addAnimationForKey):
30114        (PlatformCALayerRemote::removeAnimationForKey):
30115        (PlatformCALayerRemote::animationForKey):
30116        Add some ASSERT_NOT_REACHEDs in animation code.
30117        We ought not get here because we've disabled hardware animations
30118        in GraphicsLayerCARemote.
30119
30120        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
30121        Add m_superlayer and removeSublayer().
30122
301232013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
30124
30125        Unreviewed build fix attempt on Soup based port after r157842.
30126
30127        WebCore::CertificateInfo was reverted to WebKit::PlatformCertificateInfo.
30128
30129        * UIProcess/WebContext.cpp:
30130        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
30131        * WebProcess/WebProcess.h:
30132        * WebProcess/WebProcess.messages.in:
30133        * WebProcess/soup/WebProcessSoup.cpp:
30134        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):
30135
301362013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
30137
30138        Unreviewed build fix attempt on EFL port after r157842.
30139
30140        * Shared/soup/PlatformCertificateInfo.h: Removed message of merge confliction.
30141
301422013-10-22  Mark Rowe  <mrowe@apple.com>
30143
30144        Fix build failures after r157842.
30145
30146        * WebProcess/WebProcess.h: Don't try to #include a file that was deleted.
30147        It won't work.
30148
301492013-10-22  Brady Eidson  <beidson@apple.com>
30150
30151        Get rid of IDBObjectStoreBackendLevelDB
30152        https://bugs.webkit.org/show_bug.cgi?id=123174
30153
30154        Reviewed by Tim Horton.
30155
30156        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
30157
301582013-10-22  Dean Jackson  <dino@apple.com>
30159
30160        [WebGL] Implement a software rendering option on Mac
30161        https://bugs.webkit.org/show_bug.cgi?id=123177
30162
30163        Reviewed by Tim Horton.
30164
30165        Implement a way to force software OpenGL rendering
30166        for WebGL, via a Setting/Preference.
30167
30168        * Shared/WebPreferencesStore.h: New ForceSoftwareWebGLRendering entry.
30169        * UIProcess/API/C/WKPreferences.cpp:
30170        (WKPreferencesSetForceSoftwareWebGLRendering):
30171        (WKPreferencesGetForceSoftwareWebGLRendering):
30172        * UIProcess/API/C/WKPreferencesPrivate.h:
30173        * WebProcess/WebPage/WebPage.cpp:
30174        (WebKit::WebPage::updatePreferences):
30175        * mac/WebKit2.order:
30176
301772013-10-22  Anders Carlsson  <andersca@apple.com>
30178
30179        Revert r157445 since it broke certificates on Mac.
30180        <rdar://problem/15246926&15254017&15269117>
30181
30182        * GNUmakefile.list.am:
30183        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
30184        (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
30185        * NetworkProcess/NetworkProcess.h:
30186        * NetworkProcess/NetworkProcess.messages.in:
30187        * NetworkProcess/NetworkResourceLoader.cpp:
30188        * NetworkProcess/mac/NetworkProcessMac.mm:
30189        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
30190        * PlatformEfl.cmake:
30191        * PlatformGTK.cmake:
30192        * Shared/API/c/mac/WKCertificateInfoMac.mm:
30193        (WKCertificateInfoCreateWithCertficateChain):
30194        (WKCertificateInfoGetCertificateChain):
30195        * Shared/Authentication/AuthenticationManager.cpp:
30196        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
30197        (WebKit::AuthenticationManager::useCredentialForChallenge):
30198        * Shared/Authentication/AuthenticationManager.h:
30199        * Shared/Authentication/AuthenticationManager.messages.in:
30200        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
30201        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
30202        * Shared/UserMessageCoders.h:
30203        (WebKit::UserMessageEncoder::baseEncode):
30204        (WebKit::UserMessageDecoder::baseDecode):
30205        * Shared/WebCertificateInfo.h:
30206        (WebKit::WebCertificateInfo::create):
30207        (WebKit::WebCertificateInfo::platformCertificateInfo):
30208        (WebKit::WebCertificateInfo::WebCertificateInfo):
30209        * Shared/WebCoreArgumentCoders.cpp:
30210        * Shared/WebCoreArgumentCoders.h:
30211        * Shared/mac/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp.
30212        (WebKit::PlatformCertificateInfo::certificateChain):
30213        * Shared/mac/PlatformCertificateInfo.mm: Renamed from Source/WebCore/platform/network/mac/CertificateInfoMac.mm.
30214        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
30215        (WebKit::PlatformCertificateInfo::encode):
30216        (WebKit::PlatformCertificateInfo::decode):
30217        (WebKit::PlatformCertificateInfo::dump):
30218        * Shared/mac/WebCoreArgumentCodersMac.mm:
30219        (CoreIPC::::encodePlatformData):
30220        (CoreIPC::::decodePlatformData):
30221        * Shared/soup/PlatformCertificateInfo.cpp: Added.
30222        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
30223        (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
30224        (WebKit::PlatformCertificateInfo::encode):
30225        (WebKit::PlatformCertificateInfo::decode):
30226        * Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/CertificateInfo.h.
30227        (WebKit::PlatformCertificateInfo::certificate):
30228        (WebKit::PlatformCertificateInfo::tlsErrors):
30229        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
30230        (CoreIPC::::encodePlatformData):
30231        (CoreIPC::::decodePlatformData):
30232        * UIProcess/API/gtk/WebKitWebView.cpp:
30233        (webkit_web_view_get_tls_info):
30234        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
30235        (WebKit::AuthenticationChallengeProxy::useCredential):
30236        * UIProcess/WebContext.cpp:
30237        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
30238        * UIProcess/WebFrameProxy.cpp:
30239        (WebKit::WebFrameProxy::didCommitLoad):
30240        * UIProcess/WebFrameProxy.h:
30241        * UIProcess/WebPageProxy.cpp:
30242        (WebKit::WebPageProxy::didCommitLoadForFrame):
30243        * UIProcess/WebPageProxy.h:
30244        * UIProcess/WebPageProxy.messages.in:
30245        * WebKit2.xcodeproj/project.pbxproj:
30246        * WebProcess/Network/WebResourceLoader.cpp:
30247        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
30248        * WebProcess/Network/WebResourceLoader.h:
30249        * WebProcess/Network/WebResourceLoader.messages.in:
30250        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30251        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
30252
302532013-10-22  Tim Horton  <timothy_horton@apple.com>
30254
30255        Remote Layer Tree: Disable threaded scrolling for RemoteLayerTreeDrawingArea
30256        https://bugs.webkit.org/show_bug.cgi?id=123187
30257
30258        Reviewed by Dean Jackson.
30259
30260        * WebProcess/WebPage/DrawingArea.h:
30261        (WebKit::DrawingArea::supportsThreadedScrolling):
30262        * WebProcess/WebPage/WebPage.cpp:
30263        (WebKit::WebPage::WebPage):
30264        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
30265        Threaded scrolling doesn't work with remote layer trees yet.
30266        Let the DrawingArea subclass tell WebPage if it supports threaded
30267        scrolling, and make TiledCoreAnimationDrawingArea say that it does.
30268
302692013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
30270
30271        Unreviewed build fix on EFL port after r157823
30272
30273        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
30274        (CoreIPC::::encode): renamed getOperationType() to type().
30275
302762013-10-22  Tim Horton  <timothy_horton@apple.com>
30277
30278        {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
30279        https://bugs.webkit.org/show_bug.cgi?id=123172
30280
30281        Reviewed by Simon Fraser.
30282
30283        * Shared/WebCoreArgumentCoders.cpp:
30284        (CoreIPC::encodeFilterOperation):
30285        * Shared/mac/RemoteLayerTreeTransaction.mm:
30286        (WebKit::RemoteLayerTreeTextStream::operator<<):
30287        Adopt the new name.
30288
302892013-10-22  Csaba Osztrogonác  <ossy@webkit.org>
30290
30291        URTBF after r157803 for !ENABLE(CSS_FILTERS) platforms.
30292
30293        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
30294        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
30295        * Shared/WebCoreArgumentCoders.cpp:
30296
302972013-10-22  Tim Horton  <timothy_horton@apple.com>
30298
30299        Remote Layer Tree: Support hardware accelerated filters
30300        https://bugs.webkit.org/show_bug.cgi?id=123139
30301
30302        Reviewed by Anders Carlsson.
30303
30304        * Shared/WebCoreArgumentCoders.cpp:
30305        (CoreIPC::ArgumentCoder<Length>::encode):
30306        (CoreIPC::ArgumentCoder<Length>::decode):
30307        Add simple coders for Length.
30308
30309        (CoreIPC::encodeFilterOperation):
30310        (CoreIPC::decodeFilterOperation):
30311        Serialize and deserialize FilterOperations, except for CUSTOM and VALIDATED_CUSTOM.
30312
30313        (CoreIPC::ArgumentCoder<Length>::encode):
30314        (CoreIPC::ArgumentCoder<Length>::decode):
30315        Add coders for FilterOperations that delegate to {en,de}codeFilterOperation
30316        for each operation in the list.
30317
30318        * Shared/WebCoreArgumentCoders.h:
30319        Drive-by fix indentation.
30320        Expose the Length and FilterOperations coders.
30321
30322        * Shared/mac/RemoteLayerTreeTransaction.h:
30323        Add FiltersChanged and LayerProperties::filters.
30324
30325        * Shared/mac/RemoteLayerTreeTransaction.mm:
30326        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
30327        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
30328        Encode and decode our FilterOperations.
30329
30330        (WebKit::dumpChangedLayers):
30331        Dump information about the layers' filters.
30332
30333        * UIProcess/mac/RemoteLayerTreeHost.mm:
30334        (WebKit::RemoteLayerTreeHost::commit):
30335        Use PlatformCAFilters code to apply a FilterOperations object to our CALayer.
30336
30337        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
30338        (PlatformCALayerRemote::setFilters):
30339        Replace existing filters with our new set, and note that they've changed.
30340
30341        (PlatformCALayerRemote::copyFiltersFrom):
30342        Not yet implemented. Not critical for this feature, either.
30343
30344        (PlatformCALayerRemote::filtersCanBeComposited):
30345        For now, this is the same as the Mac version.
30346
303472013-10-22  Brian Holt  <brian.holt@samsung.com>
30348
30349        [GTK] Add WebKit2 API for TLS errors
30350        https://bugs.webkit.org/show_bug.cgi?id=120160
30351
30352        Reviewed by Carlos Garcia Campos.
30353
30354        Add a new signal load-failed-with-tls-errors that is emitted with
30355        a WebKitCertificateInfo boxed type to allow users to deal with TLS
30356        errors. A new API is exposed in WebKitWebContext to allow
30357        exceptions for TLS errors on a given host.
30358
30359        * GNUmakefile.list.am:
30360        * PlatformGTK.cmake:
30361        * UIProcess/API/gtk/WebKitCertificateInfo.cpp: Added.
30362        (webkitCertificateInfoGetCertificateInfo):
30363        (webkit_certificate_info_copy):
30364        (webkit_certificate_info_free):
30365        (webkit_certificate_info_get_tls_certificate):
30366        (webkit_certificate_info_get_tls_errors):
30367        * UIProcess/API/gtk/WebKitCertificateInfo.h: Added.
30368        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: Added.
30369        (_WebKitCertificateInfo::_WebKitCertificateInfo):
30370        * UIProcess/API/gtk/WebKitWebContext.cpp:
30371        (webkit_web_context_allow_tls_certificate_for_host): Support TLS
30372        exceptions for a given host.
30373        * UIProcess/API/gtk/WebKitWebContext.h:
30374        * UIProcess/API/gtk/WebKitWebView.cpp:
30375        (webkit_web_view_class_init): Added new signal.
30376        (webkitWebViewLoadFailedWithTLSErrors): Emit new signal with
30377        WebKitCertificateInfo and host.
30378        * UIProcess/API/gtk/WebKitWebView.h:
30379        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
30380        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
30381        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
30382        * UIProcess/API/gtk/docs/webkit2gtk.types:
30383        * UIProcess/API/gtk/tests/TestSSL.cpp:
30384        (testLoadFailedWithTLSErrors):
30385        (httpsServerCallback):
30386        (beforeAll): Added new test.
30387        * UIProcess/API/gtk/webkit2.h:
30388        * UIProcess/API/gtk/webkit2marshal.list:
30389        * UIProcess/WebContext.cpp:
30390        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): Send
30391        message to WebProcess to allow a certificate and host pair.
30392        * WebProcess/WebProcess.h:
30393        * WebProcess/WebProcess.messages.in: New message to tell
30394        WebProcess to allow a specific TLS certificate for a given host.
30395        * WebProcess/soup/WebProcessSoup.cpp:
30396        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Allow
30397        certificate and host pair.
30398
303992013-10-22  Dan Bernstein  <mitz@apple.com>
30400
30401        Try to make the 32-bit Mac build happy.
30402
30403        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
30404
304052013-10-21  Dan Bernstein  <mitz@apple.com>
30406
30407        Try to make the 32-bit Mac build happy.
30408
30409        * UIProcess/API/mac/WKBrowsingContextController.mm:
30410        (setUpPageLoaderClient):
30411
304122013-10-21  Dan Bernstein  <mitz@apple.com>
30413
30414        [Cocoa] Add load delegate method for didChangeBackForwardList
30415        https://bugs.webkit.org/show_bug.cgi?id=123136
30416
30417        Reviewed by Anders Carlsson.
30418
30419        * UIProcess/API/mac/WKBrowsingContextController.mm:
30420        (didChangeBackForwardList): Added. Calls new delegate method.
30421        (setUpPageLoaderClient):  Hook up new client function.
30422        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declare new delegate method.
30423
304242013-10-21  Mark Rowe  <mrowe@apple.com>
30425
30426        Add a version of WebKitSystemInterface for Mavericks.
30427
30428        Reviewed by Ryosuke Niwa.
30429
30430        * Configurations/DebugRelease.xcconfig:
30431
304322013-10-21  Dan Bernstein  <mitz@apple.com>
30433
30434        Try to fix the Mac 32-bit build.
30435
30436        * UIProcess/API/mac/WKBrowsingContextController.h:
30437        * UIProcess/API/mac/WKBrowsingContextController.mm:
30438
304392013-10-21  Tim Horton  <timothy_horton@apple.com>
30440
30441        Give up on building RemoteLayerTreeTransaction::dump on Lion, it just won't work.
30442
30443        This definitely ought to fix the build.
30444
30445        * Shared/mac/RemoteLayerTreeTransaction.h:
30446        * Shared/mac/RemoteLayerTreeTransaction.mm:
30447        * UIProcess/mac/RemoteLayerTreeHost.mm:
30448        (WebKit::RemoteLayerTreeHost::commit):
30449
304502013-10-21  Tim Horton  <timothy_horton@apple.com>
30451
30452        Maybe a Lion build fix after r157731, part 2.
30453
30454        * Shared/mac/RemoteLayerTreeTransaction.mm:
30455        (WebKit::RemoteLayerTreeTextStream::operator<<):
30456
304572013-10-21  Dan Bernstein  <mitz@apple.com>
30458
30459        [Cocoa] Back/forward list UI process API
30460        https://bugs.webkit.org/show_bug.cgi?id=123109
30461
30462        Reviewed by Darin Adler.
30463
30464        * CMakeLists.txt: Updated for renames.
30465        * GNUmakefile.list.am: Ditto.
30466
30467        * Shared/Cocoa: Added.
30468        * Shared/Cocoa/WKNSArray.h: Added. WKNSArray is an internal NSArray subclass backed by
30469        a WebKit::ImmutableArray.
30470        * Shared/Cocoa/WKNSArray.mm: Added.
30471        (+[WKNSArray web_arrayWithImmutableArray:]): Added.
30472        (-[WKNSArray web_initWithImmutableArray:]): Added.
30473        (-[WKNSArray count]): Added.
30474        (-[WKNSArray objectAtIndex:]): Added.
30475        (-[WKNSArray copyWithZone:]): Added.
30476
30477        * Shared/Cocoa/WKNSObjectExtras.h: Added. Declares a category on NSObject that allows us to
30478        vend WebKit API objects as Objective-C objects.
30479        * Shared/Cocoa/WKNSObjectExtras.mm: Added.
30480        (-[WKObject initWithAPIObject:]): WKObject is the generic Cocoa wrapper for API objects.
30481        (-[WKObject isEqual:]): Check for equality of the underlying object.
30482        (-[WKObject hash]): Return a pointer to the underlying object.
30483        (-[WKObject description]): Added.
30484        (+[NSObject _web_objectWithAPIObject:]): Added. Returns an appropriate Objective-C object
30485        for the given API object. Currently returns a WKBackForwardListItem for a back/forward list
30486        item and a generic WKObject for all other types.
30487
30488        * UIProcess/API/C/WKBackForwardList.cpp: Renamed.
30489        * UIProcess/API/C/WKBackForwardList.h: Renamed.
30490        * UIProcess/API/C/WKBackForwardListItem.cpp: Renamed.
30491        * UIProcess/API/C/WKBackForwardListItem.h: Renamed.
30492        * UIProcess/API/C/WKBackForwardListItemRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
30493        * UIProcess/API/C/WKBackForwardListItemRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
30494        * UIProcess/API/C/WKBackForwardListRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
30495        * UIProcess/API/C/WKBackForwardListRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.h.
30496
30497        * UIProcess/API/C/WebKit2_C.h: Updated for header renames.
30498
30499        * UIProcess/API/efl/ewk_back_forward_list.cpp: Updated for rename.
30500        * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Ditto.
30501
30502        * UIProcess/API/mac/WKBrowsingContextController.h: Declared backForwardList property.
30503        * UIProcess/API/mac/WKBrowsingContextController.mm:
30504        (-[WKBrowsingContextController backForwardList]): Added this accessor.
30505
30506        * UIProcess/Cocoa: Added.
30507        * UIProcess/Cocoa/WKBackForwardList.h: Added.
30508        * UIProcess/Cocoa/WKBackForwardList.mm: Added.
30509        (toWKBackForwardListItem): Added this helper.
30510        (-[WKBackForwardList currentItem]): Added.
30511        (-[WKBackForwardList backItem]): Added.
30512        (-[WKBackForwardList forwardItem]): Added.
30513        (-[WKBackForwardList itemAtIndex:]): Added.
30514        (-[WKBackForwardList backListCount]): Added.
30515        (-[WKBackForwardList forwardListCount]): Added.
30516        (-[WKBackForwardList backListWithLimit:]): Added.
30517        (-[WKBackForwardList forwardListWithLimit:]): Added.
30518        (-[WKBackForwardList _initWithList:]): Added.
30519        * UIProcess/Cocoa/WKBackForwardListInternal.h: Added.
30520
30521        * UIProcess/Cocoa/WKBackForwardListItem.h: Added.
30522        * UIProcess/Cocoa/WKBackForwardListItem.mm: Added.
30523        (-[WKBackForwardListItem URL]): Added.
30524        (-[WKBackForwardListItem title]): Added.
30525        (-[WKBackForwardListItem originalURL]): Added.
30526        (-[WKBackForwardListItem isEqual:]): Check for equality of the underlying object.
30527        (-[WKBackForwardListItem hash]): Return a pointer to the underlying object
30528        (-[WKBackForwardListItem _initWithItem:]): Added.
30529        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Added.
30530
30531        * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.
30532
305332013-10-21  Tim Horton  <timothy_horton@apple.com>
30534
30535        Maybe a Lion build fix after r157731.
30536
30537        * Shared/mac/RemoteLayerTreeTransaction.mm:
30538        (WebKit::RemoteLayerTreeTextStream::operator<<):
30539
305402013-10-21  Tim Horton  <timothy_horton@apple.com>
30541
30542        Remote Layer Tree: Clean up transaction logging
30543        https://bugs.webkit.org/show_bug.cgi?id=123116
30544
30545        Reviewed by Anders Carlsson.
30546
30547        * Shared/mac/RemoteLayerTreeTransaction.mm:
30548        (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream):
30549        (WebKit::RemoteLayerTreeTextStream::increaseIndent):
30550        (WebKit::RemoteLayerTreeTextStream::decreaseIndent):
30551        (WebKit::RemoteLayerTreeTextStream::writeIndent):
30552        (WebKit::RemoteLayerTreeTextStream::operator<<):
30553        Add some stream operator overrides for various types we need to dump.
30554        Add a notion of current indent to our TextStream subclass to make it
30555        easy to keep track of where we are.
30556
30557        (WebKit::dumpProperty):
30558        Added, hand any arbitrary type to RemoteLayerTreeTransaction.
30559
30560        (WebKit::dumpChangedLayers):
30561        (WebKit::RemoteLayerTreeTransaction::dump):
30562        Make use of TextStream.
30563
305642013-10-21  Brady Eidson  <beidson@apple.com>
30565
30566        Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
30567        https://bugs.webkit.org/show_bug.cgi?id=123105
30568
30569        Reviewed by Anders Carlsson.
30570
30571        Stub out a new pure virtual method:
30572        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
30573        (WebKit::WebIDBFactoryBackend::createTransactionBackend):
30574        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
30575
305762013-10-21  Tim Horton  <timothy_horton@apple.com>
30577
30578        Remote Layer Tree: Backing store should take contentsScale into account
30579        https://bugs.webkit.org/show_bug.cgi?id=123106
30580
30581        Reviewed by Simon Fraser.
30582
30583        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
30584        (PlatformCALayerRemote::ensureBackingStore):
30585        (PlatformCALayerRemote::setNeedsDisplay):
30586        (PlatformCALayerRemote::setContentsScale):
30587        Inform the backing store of the contentsScale, and when it changes.
30588
30589        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
30590        (WebKit::RemoteLayerBackingStore::scale): Added.
30591        (WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added.
30592        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
30593        (RemoteLayerBackingStore::RemoteLayerBackingStore):
30594        (RemoteLayerBackingStore::encode):
30595        (RemoteLayerBackingStore::decode):
30596        (RemoteLayerBackingStore::mapToContentCoordinates):
30597        Factor out flipping so we can use it for repaints in multiple places.
30598
30599        (RemoteLayerBackingStore::setNeedsDisplay):
30600        (RemoteLayerBackingStore::display):
30601        Create a buffer scaled up by contentsScale, take the scale into account
30602        when copying clean bits from the front buffer, and apply the scale before
30603        painting into the back buffer.
30604
306052013-10-21  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
30606
30607        Remove qt from generate-forwarding-headers.pl
30608        https://bugs.webkit.org/show_bug.cgi?id=123090
30609
30610        Reviewed by Andreas Kling.
30611
30612        * Scripts/generate-forwarding-headers.pl:
30613
306142013-10-21  Zan Dobersek  <zdobersek@igalia.com>
30615
30616        [GTK] g-ir-scanner should use the configured C compiler
30617        https://bugs.webkit.org/show_bug.cgi?id=123088
30618
30619        Reviewed by Carlos Garcia Campos.
30620
30621        * GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command
30622        via the CC environment variable. This solves the issue of the scanner running the GCC compiler with
30623        the Clang-specific CFLAGS.
30624
306252013-10-20  Dan Bernstein  <mitz@apple.com>
30626
30627        [Cocoa] Loading progress API
30628        https://bugs.webkit.org/show_bug.cgi?id=123069
30629
30630        Reviewed by Sam Weinig.
30631
30632        * UIProcess/API/mac/WKBrowsingContextController.h: Declared estimatedProgress property.
30633        * UIProcess/API/mac/WKBrowsingContextController.mm:
30634        (-[WKBrowsingContextController estimatedProgress]): Added.
30635        (didStartProgress): Added. Calls new delegate method
30636        -browsingContextControllerDidStartProgress:.
30637        (didChangeProgress): Added. Calls new delegate method
30638        -browsingContextController:estimatedProgressChangedTo:.
30639        (didFinishProgress): Added. Calls new delegate method
30640        -browsingContextControllerDidFinishProgress:.
30641        (setUpPageLoaderClient): Hook up new client functions.
30642        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declared new delegate methods.
30643
306442013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
30645
30646        Removing "unused parameter" compiling warnings from WebKit2 and WebCore
30647        https://bugs.webkit.org/show_bug.cgi?id=123075
30648
30649        Reviewed by Andreas Kling.
30650
30651        * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
30652        (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
30653        * UIProcess/API/C/WKContext.cpp:
30654        (WKContextGetPluginSiteDataManager):
30655        * UIProcess/API/C/WKPreferences.cpp:
30656        (WKPreferencesSetInspectorUsesWebKitUserInterface):
30657        (WKPreferencesGetInspectorUsesWebKitUserInterface):
30658        * UIProcess/WebProcessProxy.cpp:
30659        (WebKit::WebProcessProxy::getPlugins):
30660        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
30661        (WKBundlePageSetFullScreenClient):
30662        (WKBundlePageWillEnterFullScreen):
30663        (WKBundlePageDidEnterFullScreen):
30664        (WKBundlePageWillExitFullScreen):
30665        (WKBundlePageDidExitFullScreen):
30666        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
30667        (WebKit::WebMediaCacheManager::clearCacheForHostname):
30668        * WebProcess/OriginData/WebOriginDataManager.cpp:
30669        (WebKit::WebOriginDataManager::getOrigins):
30670        (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
30671        (WebKit::WebOriginDataManager::deleteAllEntries):
30672        (WebKit::WebOriginDataManager::startObservingChanges):
30673        (WebKit::WebOriginDataManager::stopObservingChanges):
30674        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30675        (WebKit::WebFrameLoaderClient::createPlugin):
30676        (WebKit::WebFrameLoaderClient::recreatePlugin):
30677        * WebProcess/WebPage/EventDispatcher.cpp:
30678        (WebKit::EventDispatcher::wheelEvent):
30679        * WebProcess/WebPage/WebPage.cpp:
30680        (WebKit::WebPage::canPluginHandleResponse):
30681
306822013-10-19  Jer Noble  <jer.noble@apple.com>
30683
30684        Unreviewed roll out of r157695; broke Mac builds.
30685
30686        * Configurations/FeatureDefines.xcconfig:
30687
306882013-10-07  Jer Noble  <jer.noble@apple.com>
30689
30690        [MSE] [Mac] Enable MediaSource on the Mac
30691        https://bugs.webkit.org/show_bug.cgi?id=122484
30692
30693        Reviewed by Darin Adler.
30694
30695        Enable ENABLE_MEDIA_SOURCE.
30696
30697        * Configurations/FeatureDefines.xcconfig:
30698
306992013-10-19  Dan Bernstein  <mitz@apple.com>
30700
30701        Fix the Mac 32-bit build by reverting r157676, r157678, and r157679.
30702
307032013-10-19  Dan Bernstein  <mitz@apple.com>
30704
30705        Try to fix the Mac 32-bit build.
30706
30707        * UIProcess/mac/WKFullScreenWindowController.h:
30708        * UIProcess/mac/WKFullScreenWindowController.mm:
30709
307102013-10-19  Dan Bernstein  <mitz@apple.com>
30711
30712        Try to fix the Mac 32-bit build.
30713
30714        * UIProcess/API/mac/WKView.h:
30715        * UIProcess/API/mac/WKView.mm:
30716        * UIProcess/API/mac/WKViewInternal.h:
30717        * UIProcess/API/mac/WKViewPrivate.h:
30718
307192013-10-19  Dan Bernstein  <mitz@apple.com>
30720
30721        [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
30722        https://bugs.webkit.org/show_bug.cgi?id=123065
30723
30724        Reviewed by Sam Weinig.
30725
30726        * UIProcess/API/mac/WKBrowsingContextController.h: Added WK_API_ENABLED guard. Removed _data
30727        ivar and WKBrowsingContextControllerData class declaration.
30728        * UIProcess/API/mac/WKBrowsingContextController.mm: Added WK_API_ENABLED guard. Removed
30729        WKBrowsingContextControllerData class and moved _pageRef ivar directly into
30730        WKBrowsingContextController, declaring it in the @implementation. Removed ivar and accessors
30731        for the loadDelegate property, letting the compiler synthesize them.
30732        (-[WKBrowsingContextController dealloc]): Removed indirection via _data.
30733        (-[WKBrowsingContextController _pageRef]): Ditto.
30734        (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
30735        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
30736        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
30737        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
30738        Ditto.
30739        (-[WKBrowsingContextController stopLoading]): Ditto.
30740        (-[WKBrowsingContextController reload]): Ditto.
30741        (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
30742        (-[WKBrowsingContextController goForward]): Ditto.
30743        (-[WKBrowsingContextController canGoForward]): Ditto.
30744        (-[WKBrowsingContextController goBack]): Ditto.
30745        (-[WKBrowsingContextController canGoBack]): Ditto.
30746        (-[WKBrowsingContextController activeURL]): Ditto.
30747        (-[WKBrowsingContextController provisionalURL]): Ditto.
30748        (-[WKBrowsingContextController committedURL]): Ditto.
30749        (-[WKBrowsingContextController title]): Ditto.
30750        (-[WKBrowsingContextController textZoom]): Ditto.
30751        (-[WKBrowsingContextController setTextZoom:]): Ditto.
30752        (-[WKBrowsingContextController pageZoom]): Ditto.
30753        (-[WKBrowsingContextController setPageZoom:]): Ditto.
30754        (-[WKBrowsingContextController setPaginationMode:]): Ditto.
30755        (-[WKBrowsingContextController paginationMode]): Ditto.
30756        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
30757        (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
30758        (-[WKBrowsingContextController setPageLength:]): Ditto.
30759        (-[WKBrowsingContextController pageLength]): Ditto.
30760        (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
30761        (-[WKBrowsingContextController gapBetweenPages]): Ditto.
30762        (-[WKBrowsingContextController pageCount]): Ditto.
30763        (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
30764        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added WK_API_ENABLED guard.
30765        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.
30766
30767        * UIProcess/API/mac/WKBrowsingContextGroup.h: Added WK_API_ENABLED guard. Removed _data ivar
30768        and WKBrowsingContextGroupData class declaration.
30769        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added WK_API_ENABLED guard. Removed
30770        WKBrowsingContextGroupData class and moved _pageGroupRef ivar directly info
30771        WKBrowsingContextGroup, declaring it in the @implementation.
30772        (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
30773        (-[WKBrowsingContextGroup _pageGroupRef]): Ditto.
30774        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WK_API_ENABLED guard.
30775
30776        * UIProcess/API/mac/WKConnection.h: Added WK_API_ENABLED guard. Removed _data ivar and
30777        WKConnectionData class declaration.
30778        * UIProcess/API/mac/WKConnection.mm: Added WK_API_ENABLED guard. Removed WKConnectionData
30779        class and moved _connectionRef ivar directly into WKConnection, declaring it in the
30780        @implementation. Removed ivar and accessors for the delegate property, letting the compiler
30781        synthesize them.
30782        (-[WKConnection dealloc]): Removed indirection via _data.
30783        (-[WKConnection sendMessageWithName:body:]): Ditto.
30784        (-[WKConnection _initWithConnectionRef:]): Ditto.
30785        * UIProcess/API/mac/WKConnectionInternal.h: Added WK_API_ENABLED guard.
30786
30787        * UIProcess/API/mac/WKProcessGroup.h: Added WK_API_ENABLED guard. Replaced forward
30788        declaration of WKConnection with an import. Removed _data ivar and WKProcessGroupData class
30789        declaration.
30790        * UIProcess/API/mac/WKProcessGroup.mm: Added WK_API_ENABLED guard. Removed
30791        WKProcessGroupData class and moved _contextRef ivar directly into WKProcessGroup, declaring
30792        it in the @implementation. Removed ivar and accessors for the delegate property, letting the
30793        compiler synthesize them.
30794        (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
30795        (-[WKProcessGroup dealloc]): Ditto.
30796        (-[WKProcessGroup _contextRef]): Ditto.
30797        * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WK_API_ENABLED guard.
30798
307992013-10-19  Andreas Kling  <akling@apple.com>
30800
30801        Attempt to get Lion building.
30802
30803        * UIProcess/mac/WebColorPickerMac.h:
30804
308052013-10-18  Tim Horton  <timothy_horton@apple.com>
30806
30807        Remote Layer Tree: Double-buffering and minimization of repaints
30808        https://bugs.webkit.org/show_bug.cgi?id=123043
30809
30810        Reviewed by Simon Fraser.
30811
30812        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
30813        (PlatformCALayerRemote::ensureBackingStore):
30814        Don't worry about isOpaque with RemoteLayerBackingStore; this is a
30815        optimization that is causing trouble; we can re-add it later.
30816
30817        (PlatformCALayerRemote::setBounds):
30818        Make sure that we will repaint if our bounds change.
30819
30820        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
30821        (WebKit::RemoteLayerBackingStore::bitmap):
30822        Keep a front and back buffer; return the front buffer when being asked for the bitmap.
30823        Keep a Region of repaint areas.
30824
30825        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
30826        (RemoteLayerBackingStore::RemoteLayerBackingStore):
30827        (RemoteLayerBackingStore::encode):
30828        (RemoteLayerBackingStore::decode):
30829        Serialize only the front buffer, since the UI process only needs that.
30830
30831        (RemoteLayerBackingStore::setNeedsDisplay):
30832        Store repaint rects instead of always setting the whole layer to be dirty.
30833
30834        (RemoteLayerBackingStore::display):
30835        Paint into the back buffer (copying valid parts over from the front buffer),
30836        then swap it to the front buffer. Use drawLayerContents so we get repaint counters, etc.
30837
308382013-10-18  Anders Carlsson  <andersca@apple.com>
30839
30840        Try to fix the Lion build.
30841
30842        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
30843
308442013-10-18  Anders Carlsson  <andersca@apple.com>
30845
30846        Remove spaces between template angle brackets
30847        https://bugs.webkit.org/show_bug.cgi?id=123040
30848
30849        Reviewed by Andreas Kling.
30850
30851        * UIProcess/mac/WebColorPickerMac.h:
30852        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
30853        * WebProcess/WebProcess.cpp:
30854        (WebKit::WebProcess::setProcessSuppressionEnabled):
30855
308562013-10-18  Brady Eidson  <beidson@apple.com>
30857
30858        Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
30859        https://bugs.webkit.org/show_bug.cgi?id=123039
30860
30861        Reviewed by Anders Carlsson.
30862
30863        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
30864        (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend): Stub out this new interface method.
30865        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
30866
308672013-10-18  Dan Bernstein  <mitz@apple.com>
30868
30869        [Cocoa] WKBrowsingController accessors crash instead of returning nil
30870        https://bugs.webkit.org/show_bug.cgi?id=123036
30871
30872        Reviewed by Anders Carlsson.
30873
30874        * UIProcess/API/mac/WKBrowsingContextController.mm:
30875        (autoreleased): Return nil if the object is NULL.
30876
308772013-10-18  Anders Carlsson  <andersca@apple.com>
30878
30879        Remove some Windows specific code from WebKit2
30880        https://bugs.webkit.org/show_bug.cgi?id=123034
30881
30882        Reviewed by Beth Dakin.
30883
30884        * Platform/PlatformProcessIdentifier.h:
30885        * Shared/API/c/WKDeclarationSpecifiers.h:
30886        * UIProcess/API/C/WKNativeEvent.h:
30887        * UIProcess/API/C/WKPreferencesPrivate.h:
30888        * config.h:
30889
308902013-10-18  Dan Bernstein  <mitz@apple.com>
30891
30892        Removed the __MAC_OS_X_VERSION_MIN_REQUIRED condition from the definition of WK_API_ENABLED.
30893
30894        Rubber-stamped by Anders Carlsson.
30895
30896        * Shared/API/Cocoa/WKFoundation.h:
30897
308982013-10-17  Tim Horton  <timothy_horton@apple.com>
30899
30900        Remote Layer Tree: Proxy layer contents to the UI process
30901        http://bugs.webkit.org/show_bug.cgi?id=123003
30902
30903        Reviewed by Anders Carlsson.
30904
30905        Proxy layer contents to the UI process. Contents are painted into ShareableBitmaps
30906        for now, and are fully repainted on any invalidation. Also, contents do not respect
30907        any kind of scale or use of contentsRect/etc.
30908
30909        * Shared/mac/RemoteLayerTreeTransaction.h:
30910        * Shared/mac/RemoteLayerTreeTransaction.mm:
30911        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
30912        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
30913        (WebKit::dumpChangedLayers):
30914        Store/encode/decode/dump the new RemoteLayerBackingStore.
30915
30916        * UIProcess/mac/RemoteLayerTreeHost.mm:
30917        (WebKit::RemoteLayerTreeHost::commit):
30918        Fix a mistake where contentsRect was getting reset when contentsScale changed.
30919        Set the layer contents when the backing store changes.
30920
30921        * WebKit2.xcodeproj/project.pbxproj:
30922        Add RemoteLayerBackingStore.
30923
30924        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
30925        (PlatformCALayerRemote::recursiveBuildTransaction):
30926        Paint while building our transaction, and mark the backing store as changed
30927        if we did any painting.
30928
30929        (PlatformCALayerRemote::ensureBackingStore):
30930        Keep the backing store's properties up-to-date with our layer.
30931
30932        (PlatformCALayerRemote::setNeedsDisplay):
30933        Inform the backing store that it needs to paint.
30934
30935        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
30936
30937        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: Added.
30938        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: Added.
30939        (RemoteLayerBackingStore::RemoteLayerBackingStore):
30940        (RemoteLayerBackingStore::encode):
30941        (RemoteLayerBackingStore::decode):
30942        Encode/decode our ShareableBitmap (via its handle) and size.
30943
30944        (RemoteLayerBackingStore::setNeedsDisplay):
30945        For now, repaint the world.
30946
30947        (RemoteLayerBackingStore::display):
30948        Create a new bitmap if needed, and paint into it.
30949
309502013-10-17  Dan Bernstein  <mitz@apple.com>
30951
30952        Fixed a typo in the definition of WK_API_ENABLED.
30953
30954        * Shared/API/Cocoa/WKFoundation.h: It’s 101000, not 10100.
30955
309562013-10-17  Dan Bernstein  <mitz@apple.com>
30957
30958        Add and deploy WK_API_ENABLED guards
30959        https://bugs.webkit.org/show_bug.cgi?id=123008
30960
30961        Reviewed by Darin Adler.
30962
30963        * Shared/API/Cocoa: Added.
30964        * Shared/API/Cocoa/WKFoundation.h: Added. Defined WK_API_ENABLED based on whether the
30965        Objective-C API should be enabled in the current configuration.
30966        * Shared/mac/ObjCObjectGraphCoders.mm:
30967        (WebKit::typeFromObject): Changed to use WK_API_ENABLED.
30968        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): Ditto.
30969        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): Ditto.
30970        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): Ditto.
30971        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): Ditto.
30972        * UIProcess/API/mac/WKTypeRefWrapper.h: Ditto.
30973        * UIProcess/API/mac/WKTypeRefWrapper.mm: Ditto.
30974        * UIProcess/API/mac/WebKit2.h: Imported WKFoundation.h.
30975        * WebKit2.xcodeproj/project.pbxproj: Added new Cocoa group in Shared/API. Added
30976        WKFoundation.h as a public header.
30977        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
30978        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
30979        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
30980        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
30981        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
30982        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
30983        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
30984        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
30985        * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
30986        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
30987        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
30988        * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
30989        * WebProcess/InjectedBundle/API/mac/WKDOMText.h:
30990        * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
30991        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
30992        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
30993        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
30994        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
30995        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
30996        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
30997        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
30998        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
30999        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
31000        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
31001        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
31002        (WebKit::InjectedBundle::load):
31003
310042013-10-17  Csaba Osztrogonác  <ossy@webkit.org>
31005
31006        [WK2] Speculative buildfixes for GTK and EFL after r157582.
31007
31008        * CMakeLists.txt:
31009        * GNUmakefile.am:
31010
310112013-10-17  Martin Hock  <mhock@apple.com>
31012
31013        Refactor stored website data APIs
31014        https://bugs.webkit.org/show_bug.cgi?id=122781
31015
31016        Reviewed by Brady Eidson.
31017
31018        Add WebOriginDataManager along with corresponding class
31019        WebOriginDataManagerProxy and API WKOriginDataManager.
31020
31021        Currently, the new files are unused.
31022
31023        WKOriginDataManager should subsume the functionality of:
31024        WKApplicationCacheManager, WKCookieManager, WKDatabaseManager,
31025        WKKeyValueStorageManager, WKMediaCacheManager,
31026        WKPluginSiteDataManager, and WKResourceCacheManager.
31027
31028        * CMakeLists.txt:
31029        * DerivedSources.make:
31030        * GNUmakefile.am:
31031        * GNUmakefile.list.am:
31032        * Shared/API/c/WKBase.h:
31033        * Shared/APIObject.h:
31034        * UIProcess/API/C/WKAPICast.h:
31035        * UIProcess/API/C/WKContext.cpp:
31036        (WKContextGetOriginDataManager):
31037        * UIProcess/API/C/WKContext.h:
31038        * UIProcess/API/C/WKOriginDataManager.cpp: Added.
31039        (WKOriginDataManagerGetTypeID):
31040        (WKOriginDataManagerGetOrigins):
31041        (WKOriginDataManagerDeleteEntriesForOrigin):
31042        (WKOriginDataManagerDeleteAllEntries):
31043        (WKOriginDataManagerStartObservingChanges):
31044        (WKOriginDataManagerStopObservingChanges):
31045        (WKOriginDataManagerSetChangeClient):
31046        * UIProcess/API/C/WKOriginDataManager.h: Added.
31047        * UIProcess/WebOriginDataManagerProxy.cpp: Added.
31048        (WebKit::WebOriginDataManagerProxy::supplementName):
31049        (WebKit::WebOriginDataManagerProxy::create):
31050        (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
31051        (WebKit::WebOriginDataManagerProxy::~WebOriginDataManagerProxy):
31052        (WebKit::WebOriginDataManagerProxy::contextDestroyed):
31053        (WebKit::WebOriginDataManagerProxy::processDidClose):
31054        (WebKit::WebOriginDataManagerProxy::shouldTerminate):
31055        (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
31056        (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
31057        (WebKit::WebOriginDataManagerProxy::getOrigins):
31058        (WebKit::WebOriginDataManagerProxy::didGetOrigins):
31059        (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
31060        (WebKit::WebOriginDataManagerProxy::deleteAllEntries):
31061        (WebKit::WebOriginDataManagerProxy::startObservingChanges):
31062        (WebKit::WebOriginDataManagerProxy::stopObservingChanges):
31063        (WebKit::WebOriginDataManagerProxy::setChangeClient):
31064        (WebKit::WebOriginDataManagerProxy::didChange):
31065        * UIProcess/WebOriginDataManagerProxy.h: Added.
31066        * UIProcess/WebOriginDataManagerProxy.messages.in: Added.
31067        * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: Added.
31068        (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
31069        * UIProcess/WebOriginDataManagerProxyChangeClient.h: Added.
31070        * WebKit2.xcodeproj/project.pbxproj:
31071        * WebProcess/OriginData/WebOriginDataManager.cpp: Added.
31072        (WebKit::WebOriginDataManager::supplementName):
31073        (WebKit::WebOriginDataManager::WebOriginDataManager):
31074        (WebKit::WebOriginDataManager::getOrigins):
31075        (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
31076        (WebKit::WebOriginDataManager::deleteAllEntries):
31077        (WebKit::WebOriginDataManager::startObservingChanges):
31078        (WebKit::WebOriginDataManager::stopObservingChanges):
31079        * WebProcess/OriginData/WebOriginDataManager.h: Added.
31080        * WebProcess/OriginData/WebOriginDataManager.messages.in: Added.
31081
310822013-10-17  Brady Eidson  <beidson@apple.com>
31083
31084        Blind attempt at gtk-wk2 build fix.
31085
31086        * GNUmakefile.am:
31087
310882013-10-17  Brady Eidson  <beidson@apple.com>
31089
31090        Add scaffolding for IDBDatabaseBackends in Web and Database processes
31091        https://bugs.webkit.org/show_bug.cgi?id=122971
31092
31093        Reviewed by Tim Horton.
31094
31095        This patch:
31096        - Adds a WebProcessIDBDatabaseBackend
31097        - Adds a DatabaseProcessIDBDatabaseBackend
31098        - Establishes the basic messaging between them
31099        - Actually creates those backends as the result of an indexedDB.open() call from javascript
31100
31101        * DerivedSources.make:
31102        * WebKit2.xcodeproj/project.pbxproj:
31103        * Platform/Logging.h:
31104
31105        Hook up messaging so (Web/Database)ProcessIDBDatabaseBackends can message each other:
31106        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
31107        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
31108        (WebKit::DatabaseToWebProcessConnection::establishIDBDatabaseBackend):
31109        * DatabaseProcess/DatabaseToWebProcessConnection.h:
31110        (WebKit::DatabaseToWebProcessConnection::connection):
31111        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: Added.
31112
31113        DatabaseProcess side of an IDBDatabaseBackend:
31114        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp:
31115        (WebKit::DatabaseProcessIDBDatabaseBackend::DatabaseProcessIDBDatabaseBackend):
31116        (WebKit::DatabaseProcessIDBDatabaseBackend::~DatabaseProcessIDBDatabaseBackend):
31117        (WebKit::DatabaseProcessIDBDatabaseBackend::openConnection):
31118        (WebKit::DatabaseProcessIDBDatabaseBackend::messageSenderConnection):
31119        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h: Added.
31120        (WebKit::DatabaseProcessIDBDatabaseBackend::create):
31121        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in: Added.
31122
31123        WebProcess side of an IDBDatabaseBackend:
31124        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Added.
31125        (WebKit::generateBackendIdentifier):
31126        (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
31127        (WebKit::WebProcessIDBDatabaseBackend::~WebProcessIDBDatabaseBackend):
31128        (WebKit::WebProcessIDBDatabaseBackend::openConnection):
31129        (WebKit::WebProcessIDBDatabaseBackend::createObjectStore):
31130        (WebKit::WebProcessIDBDatabaseBackend::deleteObjectStore):
31131        (WebKit::WebProcessIDBDatabaseBackend::createTransaction):
31132        (WebKit::WebProcessIDBDatabaseBackend::close):
31133        (WebKit::WebProcessIDBDatabaseBackend::commit):
31134        (WebKit::WebProcessIDBDatabaseBackend::abort):
31135        (WebKit::WebProcessIDBDatabaseBackend::createIndex):
31136        (WebKit::WebProcessIDBDatabaseBackend::deleteIndex):
31137        (WebKit::WebProcessIDBDatabaseBackend::get):
31138        (WebKit::WebProcessIDBDatabaseBackend::put):
31139        (WebKit::WebProcessIDBDatabaseBackend::setIndexKeys):
31140        (WebKit::WebProcessIDBDatabaseBackend::setIndexesReady):
31141        (WebKit::WebProcessIDBDatabaseBackend::openCursor):
31142        (WebKit::WebProcessIDBDatabaseBackend::count):
31143        (WebKit::WebProcessIDBDatabaseBackend::deleteRange):
31144        (WebKit::WebProcessIDBDatabaseBackend::clear):
31145        (WebKit::WebProcessIDBDatabaseBackend::messageSenderConnection):
31146        (WebKit::WebProcessIDBDatabaseBackend::establishDatabaseProcessBackend):
31147        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Added.
31148        (WebKit::WebProcessIDBDatabaseBackend::create):
31149
31150        Basic shared utilities that multiple processes will need going forward:
31151        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
31152        (WebKit::uniqueDatabaseIdentifier):
31153        * Shared/Databases/IndexedDB/IDBUtilities.h:
31154
31155        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
31156        (WebKit::sharedDatabaseBackendMap):
31157        (WebKit::WebIDBFactoryBackend::open): Actually establish an IDBDatabaseBackend in the DatabaseProcess
31158          when indexedDB.open() is called, even if it does nothing for now.
31159
31160        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
31161        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
31162
311632013-10-17  Attila Dusnoki  <h047679@stud.u-szeged.hu>
31164
31165        [WK2] REGRESSION(r156472): scrolling coordinator is always enabled incorrectly.
31166        https://bugs.webkit.org/show_bug.cgi?id=122958
31167
31168        Reviewed by Tim Horton.
31169
31170        * WebProcess/WebPage/WebPage.cpp:
31171        (WebKit::WebPage::WebPage): Missing ENABLE(THREADED_SCROLLING) guard added.
31172
311732013-10-17  Mark Rowe  <mrowe@apple.com>
31174
31175        <rdar://problem/15183901> WebKit2 XPC services load the wrong frameworks when running
31176        from the staged frameworks location.
31177
31178        Build the XPC services with DYLD_VERSIONED_FRAMEWORK_PATH when USE_STAGING_INSTALL_PATH
31179        is set to YES. This is necessary because there's no way to specify environment variables
31180        to be used when an XPC service is launched.
31181
31182        Reviewed by Anders Carlsson.
31183
31184        * Configurations/BaseTarget.xcconfig: Set OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH to contain the
31185        DYLD_VERSIONED_FRAMEWORK_PATH value when USE_STAGING_INSTALL_PATH is YES.
31186        * Configurations/BaseXPCService.xcconfig: Include OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH in the
31187        value of OTHER_LDFLAGS.
31188        * Configurations/PluginService.32.xcconfig: Ditto.
31189        * Configurations/PluginService.64.xcconfig: Ditto.
31190
311912013-10-16  Tim Horton  <timothy_horton@apple.com>
31192
31193        Remote Layer Tree: Complete support for simple layer properties
31194        https://bugs.webkit.org/show_bug.cgi?id=122933
31195
31196        Reviewed by Anders Carlsson.
31197
31198        Add remote layer tree support for maskLayer, contentsRect, contentsScale,
31199        minificationFilter, magnificationFilter, speed, and timeOffset.
31200
31201        * Shared/mac/RemoteLayerTreeTransaction.h:
31202        * Shared/mac/RemoteLayerTreeTransaction.mm:
31203        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
31204        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
31205        (WebKit::dumpProperty):
31206        (WebKit::dumpChangedLayers):
31207        Add the new properties.
31208
31209        * UIProcess/mac/RemoteLayerTreeHost.mm:
31210        (WebKit::toCAFilterType):
31211        (WebKit::RemoteLayerTreeHost::commit):
31212        Apply the new properties.
31213
31214        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
31215        (PlatformCALayerRemote::setSublayers):
31216        (PlatformCALayerRemote::appendSublayer):
31217        (PlatformCALayerRemote::insertSublayer):
31218        Ensure that passed-in sublayers are always also PlatformCALayerRemote instances.
31219        These are ASSERT_WITH_SECURITY_IMPLICATION as we will later unconditionally static_cast
31220        them to PlatformCALayerRemote.
31221
31222        (PlatformCALayerRemote::setMask):
31223        (PlatformCALayerRemote::setContentsRect):
31224        (PlatformCALayerRemote::setMinificationFilter):
31225        (PlatformCALayerRemote::setMagnificationFilter):
31226        (PlatformCALayerRemote::setSpeed):
31227        (PlatformCALayerRemote::setTimeOffset):
31228        (PlatformCALayerRemote::contentsScale):
31229        (PlatformCALayerRemote::setContentsScale):
31230        Remove setFrame, store the new properties.
31231
31232        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
31233        Remove setFrame, add isRemote, fix pointer side on playerLayer.
31234
312352013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>
31236
31237        Unreviewed build fix attempt on EFL port after r157520 and r157523
31238
31239        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
31240        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
31241        Removed ArgumentCoder<TransformationMatrix> which caused redefinition build error
31242        in EFL port.
31243
312442013-10-16  Anders Carlsson  <andersca@apple.com>
31245
31246        Remove Qt sandbox process code
31247        https://bugs.webkit.org/show_bug.cgi?id=122920
31248
31249        Reviewed by Geoffrey Garen.
31250
31251        This code was only used by the Qt port, and the other Linux-based ports are using the seccomp based sandbox.
31252
31253        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Removed.
31254        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Removed.
31255
312562013-10-16  Jochen Eisinger  <jochen@chromium.org>
31257
31258        A page should exit fullscreen mode if it opens a new popup
31259        https://bugs.webkit.org/show_bug.cgi?id=122865
31260
31261        Reviewed by Jer Noble.
31262
31263        If a fullscreen page opens a popup, the popup would be hidden and
31264        therefore invisible to the user. To avoid this, exit fullscreen mode
31265        before opening a new window.
31266
31267        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
31268        (WebKit::WebChromeClient::createWindow):
31269
312702013-10-16  Brady Eidson  <beidson@apple.com>
31271
31272        Blind attempt to fix non-DATABASE_PROCESS builds.
31273
31274        * WebProcess/WebProcess.cpp:
31275
312762013-10-16  Tim Horton  <timothy_horton@apple.com>
31277
31278        PlatformCALayer constructor should take layer type as an argument
31279        https://bugs.webkit.org/show_bug.cgi?id=122915
31280
31281        Reviewed by Simon Fraser.
31282
31283        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
31284        (PlatformCALayerRemote::PlatformCALayerRemote):
31285        Use the new LayerType argument.
31286
312872013-10-16  Tim Horton  <timothy_horton@apple.com>
31288
31289        Remote Layer Tree: Use a default instead of an environment variable
31290        https://bugs.webkit.org/show_bug.cgi?id=122913
31291
31292        Reviewed by Anders Carlsson.
31293
31294        * UIProcess/API/mac/WKView.mm:
31295        (-[WKView std::WebKit::]):
31296        Use the default 'WebKit2UseRemoteLayerTreeDrawingArea' instead of
31297        the environment variable 'WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA'
31298        to indicate that WKViews should make RemoteLayerTreeDrawingAreas.
31299
313002013-10-15  Brady Eidson  <beidson@apple.com>
31301
31302        Flesh out the DatabaseProcess (and launch it!)
31303        https://bugs.webkit.org/show_bug.cgi?id=122884
31304
31305        Reviewed by Tim Horton.
31306
31307        This patch adds actual process launching and basic messaging infrastructure for the DatabaseProcess.
31308
31309        It still does very little except exist.
31310
31311        Project file stuff:
31312        * WebKit2.xcodeproj/project.pbxproj:
31313        * DerivedSources.make:
31314
31315        WebContext owns the DatabaseProcess (much like the NetworkProcess):
31316        * UIProcess/WebContext.cpp:
31317        (WebKit::WebContext::ensureDatabaseProcess):
31318        (WebKit::WebContext::getDatabaseProcessConnection):
31319        * UIProcess/WebContext.h:
31320
31321        Add a basic DatabaseProcess that - for now - can only return a new Connection for a WebProcess:
31322        * DatabaseProcess/DatabaseProcess.cpp:
31323        (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
31324        * DatabaseProcess/DatabaseProcess.h:
31325        * DatabaseProcess/DatabaseProcess.messages.in: Added.
31326
31327        Add an object to represent a single connection to a single WebProcess:
31328        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
31329        (WebKit::DatabaseToWebProcessConnection::create):
31330        (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
31331        (WebKit::DatabaseToWebProcessConnection::~DatabaseToWebProcessConnection):
31332        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
31333        (WebKit::DatabaseToWebProcessConnection::didClose):
31334        (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
31335        * DatabaseProcess/DatabaseToWebProcessConnection.h:
31336
31337        Basic DatabaseProcessProxy with the ability to ask the DatabaseProcess for a connection to hand back to a WebProcess:
31338        * UIProcess/Databases/DatabaseProcessProxy.cpp:
31339        (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
31340        (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
31341        (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
31342        (WebKit::DatabaseProcessProxy::didFinishLaunching):
31343        * UIProcess/Databases/DatabaseProcessProxy.h:
31344        * UIProcess/Databases/DatabaseProcessProxy.messages.in: Added.
31345
31346        Add an object to represent a WebProcess’s connection to a DatabaseProcess:
31347        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
31348        (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
31349        (WebKit::WebToDatabaseProcessConnection::~WebToDatabaseProcessConnection):
31350        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
31351        (WebKit::WebToDatabaseProcessConnection::didClose):
31352        (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
31353        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
31354        (WebKit::WebToDatabaseProcessConnection::create):
31355        (WebKit::WebToDatabaseProcessConnection::connection):
31356
31357        Give WebProcess(Proxy) an accessor for a Web -> Database process connection:
31358        * WebProcess/WebProcess.cpp:
31359        (WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
31360        (WebKit::WebProcess::webToDatabaseProcessConnection):
31361        (WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
31362        * WebProcess/WebProcess.h:
31363        * UIProcess/WebProcessProxy.cpp:
31364        (WebKit::WebProcessProxy::getDatabaseProcessConnection):
31365        * UIProcess/WebProcessProxy.h:
31366        * UIProcess/WebProcessProxy.messages.in:
31367
31368        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
31369        (WebKit::WebIDBFactoryBackend::open): Access the database process connection to test that it works.
31370
31371        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
31372        (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Keep non-DATABASE_PROCESS builds working.
31373
313742013-10-16  Tim Horton  <timothy_horton@apple.com>
31375
31376        RemoteLayerTree: Add support for more layer properties and transform layers
31377        https://bugs.webkit.org/show_bug.cgi?id=122906
31378
31379        Reviewed by Anders Carlsson.
31380
31381        Add support for name, border width, border color, opacity, transform, sublayer transform,
31382        hidden, geometry flipped, double sided, masks to bounds, and opaque layer properties.
31383
31384        Factor layer creation out from layer changes, so that we can create layers of the correct
31385        type. Use this mechanism to create CATransformLayers when handed a LayerTypeTransformLayer.
31386
31387        * Shared/WebCoreArgumentCoders.cpp:
31388        (CoreIPC::::encode):
31389        (CoreIPC::::decode):
31390        * Shared/WebCoreArgumentCoders.h:
31391        Add coders for TransformationMatrix.
31392
31393        * Shared/mac/RemoteLayerTreeTransaction.h:
31394        Add the new LayerChange values.
31395
31396        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
31397        LayerProperties::layerChanges should be a LayerChange.
31398
31399        (WebKit::RemoteLayerTreeTransaction::createdLayers):
31400        Expose the list of newly created layers (for RemoteLayerTreeHost's consumption).
31401
31402        * Shared/mac/RemoteLayerTreeTransaction.mm:
31403        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
31404        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
31405        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
31406        Add (and support coding) a new LayerCreationProperties struct, which is currently
31407        just a pair of LayerID and PlatformCALayer::LayerType. Additional properties may follow.
31408
31409        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
31410        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
31411        Encode and decode all of the new layer properties.
31412        Encode changedProperties as an enum, not an unsigned.
31413
31414        (WebKit::RemoteLayerTreeTransaction::encode):
31415        (WebKit::RemoteLayerTreeTransaction::decode):
31416        Encode and decode the list of newly created layers.
31417
31418        (WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
31419        Setter for the list of newly created layers, which comes from the
31420        RemoteLayerTreeContext at commit time.
31421
31422        (WebKit::dumpProperty):
31423        Helper function to dump TransformationMatrix instances.
31424
31425        (WebKit::dumpChangedLayers):
31426        Dump all of the new layer properties.
31427
31428        (WebKit::RemoteLayerTreeTransaction::dump):
31429        Dump the list of newly created layers.
31430
31431        * UIProcess/mac/RemoteLayerTreeHost.h:
31432        * UIProcess/mac/RemoteLayerTreeHost.mm:
31433        (WebKit::cgColorFromColor):
31434        Factor out the code to make a CGColor from a WebCore::Color, as we need it
31435        for both border and background color.
31436
31437        (WebKit::RemoteLayerTreeHost::commit):
31438        Create layers before applying changes, using the new list of newly created layers.
31439        When applying changes, ensure that the layer we're interested in was already created.
31440        Rename "sublayer" to "layer", and use dot notation everywhere.
31441        Apply all the new layer properties to the layers.
31442
31443        (WebKit::RemoteLayerTreeHost::getLayer):
31444        (WebKit::RemoteLayerTreeHost::createLayer):
31445        Separate creating a new layer from retrieving it by ID.
31446        Ensure that a layer doesn't already exist when creating it.
31447        Support creating CATransformLayers.
31448
31449        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
31450        Disable accelerated animations, as we don't support proxying animations yet.
31451        This makes GraphicsLayer fall back to software animations, which already work wonderfully remotely.
31452
31453        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
31454        (PlatformCALayerRemote::PlatformCALayerRemote):
31455        Inform the RemoteLayerTreeContext of the creation of every PlatformCALayerRemote.
31456
31457        (PlatformCALayerRemote::removeFromSuperlayer):
31458        (PlatformCALayerRemote::replaceSublayer):
31459        (PlatformCALayerRemote::adoptSublayers):
31460        Assert when we hit a few critical unimplemented methods that would
31461        leave the layer tree in a broken state.
31462
31463        (PlatformCALayerRemote::isOpaque):
31464        (PlatformCALayerRemote::setOpaque):
31465        (PlatformCALayerRemote::transform):
31466        (PlatformCALayerRemote::setTransform):
31467        (PlatformCALayerRemote::sublayerTransform):
31468        (PlatformCALayerRemote::setSublayerTransform):
31469        (PlatformCALayerRemote::setHidden):
31470        (PlatformCALayerRemote::setGeometryFlipped):
31471        (PlatformCALayerRemote::isDoubleSided):
31472        (PlatformCALayerRemote::setDoubleSided):
31473        (PlatformCALayerRemote::masksToBounds):
31474        (PlatformCALayerRemote::setMasksToBounds):
31475        (PlatformCALayerRemote::setBorderWidth):
31476        (PlatformCALayerRemote::setBorderColor):
31477        (PlatformCALayerRemote::opacity):
31478        (PlatformCALayerRemote::setOpacity):
31479        (PlatformCALayerRemote::setName):
31480        Proxy all of these properties via RemoteLayerTreeTransaction.
31481
31482        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
31483        Add storage for the list of newly created layers.
31484        Use LayerID for the list of destroyed layers.
31485
31486        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
31487        (WebKit::RemoteLayerTreeContext::layerWasCreated):
31488        Store the ID and type of the newly created layer to be pushed to the UI process later.
31489
31490        (WebKit::RemoteLayerTreeContext::flushLayers):
31491        Push the created and destroyed layers to the transaction *after* flushing
31492        GraphicsLayers, so that any changes to e.g. structural layers will not be missed.
31493
314942013-10-16  Csaba Osztrogonác  <ossy@webkit.org>
31495
31496        [WK2][Efl][CMake] Add support for ENABLE_NETWORK_PROCESS to the build system
31497        https://bugs.webkit.org/show_bug.cgi?id=110139
31498
31499        Reviewed by Laszlo Gombos.
31500
31501        Original patch by Balazs Kelemen <kbalazs@webkit.org>
31502
31503        * CMakeLists.txt:
31504        * PlatformEfl.cmake:
31505
315062013-10-16  Robert Plociennik  <r.plociennik@samsung.com>
31507
31508        [EFL] Minibrowser can't load child window's location
31509        https://bugs.webkit.org/show_bug.cgi?id=122485
31510
31511        Reviewed by Gyuyoung Kim.
31512
31513        EwkView::createNewPage(), which is only called during handling of
31514        Messages::WebPageProxy::CreateNewPage message from WebProcess, no longer passes
31515        the URL to window_create(). As a result, no Messages::WebPage::LoadURL message
31516        is sent back, that would load the same URL twice and effectively cancel any
31517        other scheduled navigation inside WebProcess.
31518
31519        Additionally, since the url parameter in MiniBrowser's implementation of
31520        window_create() is only used internally and is prone to bugs as demonstrated
31521        in r139303 (d7f10c8), it has been removed in favour of explicit calls to
31522        ewk_view_url_set().
31523
31524        * UIProcess/API/efl/EwkView.cpp:
31525        (EwkView::createNewPage): No longer passes the URL to window_create() impl.
31526        * UIProcess/API/efl/ewk_view.h: window_create() no longer has the url parameter.
31527        * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: Test methods updated to
31528            comply with the API change.
31529        (EWK2WindowFeaturesTest::createDefaultWindow): Ditto.
31530        (EWK2WindowFeaturesTest::createWindow): Ditto.
31531
315322013-10-15  Jae Hyun Park  <jae.park@company100.net>
31533
31534        Unreviewed. Build fix after r157476.
31535
31536        * GNUmakefile.am:
31537
315382013-10-15  Sergio Correia  <sergio.correia@openbossa.org>
31539
31540        [EFL][WK2] Make SeccompFilters build again after r156349 and r156353
31541        https://bugs.webkit.org/show_bug.cgi?id=122872
31542
31543        Reviewed by Anders Carlsson.
31544
31545        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
31546        (WebKit::SeccompBrokerClient::dispatch): Fix usage of extinct 'create'
31547        methods of ArgumentEncoder/ArgumentDecoder.
31548        (WebKit::SeccompBroker::runLoop): Ditto.
31549
315502013-10-15  Jinwoo Song  <jinwoo7.song@samsung.com>
31551
31552        Removed argument coders for FloatPoint3D in CoodinatedGraphicsArgumentCoders.
31553        https://bugs.webkit.org/show_bug.cgi?id=122875
31554
31555        Reviewed by Gyuyoung Kim.
31556
31557        Argument coders for FloatPoint3D is added in WebCoreArgumentCoders after r157478
31558        and it caused redefinition build error in EFL port.
31559
31560        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
31561        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
31562
315632013-10-15  Dean Jackson  <dino@apple.com>
31564
31565        Add ENABLE_WEB_ANIMATIONS flag
31566        https://bugs.webkit.org/show_bug.cgi?id=122871
31567
31568        Reviewed by Tim Horton.
31569
31570        Eventually might be http://dev.w3.org/fxtf/web-animations/
31571        but this is just engine-internal work at the moment.
31572
31573        * Configurations/FeatureDefines.xcconfig:
31574
315752013-10-15  Tim Horton  <timothy_horton@apple.com>
31576
31577        Add a PlatformCALayer subclass that proxies its property changes across the process boundary
31578        https://bugs.webkit.org/show_bug.cgi?id=122773
31579
31580        Reviewed by Anders Carlsson.
31581
31582        PlatformCALayerRemote coordinates with RemoteLayerTreeDrawingArea and friends
31583        to enable cross-process proxying of the hierarchy of compositing layers.
31584
31585        In the Web process, we have GraphicsLayerCARemote, which owns 1+ PlatformCALayerRemote(s).
31586        Unlike PlatformCALayer{Mac, Win}, which own PlatformLayers (CALayer/CACFLayer),
31587        PlatformCALayerRemote stores any changes to its properties in a struct, and keeps track of
31588        which properties have changed since the last commit. Commits are scheduled and performed by
31589        RemoteLayerTreeContext, on RemoteLayerTreeDrawingArea's behalf, and result in
31590        RemoteLayerTreeTransaction encoding said property changes and throwing them across
31591        to the UI process, where RemoteLayerTreeHost applies them to a tree of CALayers kept there.
31592
31593        This code can be enabled by running with the WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA
31594        environment variable set.
31595
31596        * Shared/WebCoreArgumentCoders.cpp:
31597        (CoreIPC::decode):
31598        (CoreIPC::encode):
31599        * Shared/WebCoreArgumentCoders.h:
31600        Add argument coders for FloatPoint3D.
31601
31602        * Shared/mac/RemoteLayerTreeTransaction.h:
31603        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
31604        (WebKit::RemoteLayerTreeTransaction::changedLayers):
31605        (WebKit::RemoteLayerTreeTransaction::destroyedLayers):
31606        * Shared/mac/RemoteLayerTreeTransaction.mm:
31607        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
31608        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
31609        (WebKit::RemoteLayerTreeTransaction::decode):
31610        (WebKit::dumpChangedLayers):
31611        Add support for background color and anchor point in the layer transaction.
31612        Make layer position a 3D point because that's what it really is.
31613
31614        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
31615        The logic in layerPropertiesChanged is moved into PlatformCALayerRemote.
31616
31617        * UIProcess/WebPageProxy.h:
31618        Include PlatformLayer.h; it seems annoying to successfully forward-declare
31619        PlatformLayer because of the difference in definition between Objective-C and C++.
31620        Drive-by un-indent some namespace contents and use OBJC_CLASS.
31621
31622        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
31623        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
31624        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
31625        (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
31626        (WebKit::RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry):
31627        (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
31628        Send geometry updates to the RemoteLayerTreeDrawingArea.
31629
31630        * UIProcess/mac/RemoteLayerTreeHost.h:
31631        * UIProcess/mac/RemoteLayerTreeHost.mm:
31632        (nullActionsDictionary):
31633        (WebKit::RemoteLayerTreeHost::commit):
31634        Apply layer property changes to the named sublayer.
31635
31636        (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
31637        Create CALayers instead of GraphicsLayers.
31638        Ensure that they won't perform implicit animations.
31639
31640        * UIProcess/mac/WebPageProxyMac.mm:
31641        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
31642        This should take a PlatformLayer instead of a GraphicsLayer, since we don't have
31643        GraphicsLayers in the UIProcess.
31644
31645        * WebKit2.xcodeproj/project.pbxproj:
31646        Add GraphicsLayerCARemote and PlatformCALayerRemote, remove RemoteGraphicsLayer.
31647
31648        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h: Removed.
31649        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm: Removed.
31650
31651        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
31652        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
31653        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
31654        (WebKit::RemoteLayerTreeContext::setRootLayer):
31655        (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
31656        (WebKit::RemoteLayerTreeContext::createGraphicsLayer):
31657        (WebKit::RemoteLayerTreeContext::flushLayers):
31658        Build our transaction while flushing; it has no reason to exist outside of that scope.
31659
31660        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
31661        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
31662        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
31663        (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
31664        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
31665        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
31666        (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
31667        Fix a capitalization typo.
31668        Update the WebPage's (and thus WebCore's) size when updateGeometry() is called.
31669
31670        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: Added.
31671        (WebKit::GraphicsLayerCARemote::~GraphicsLayerCARemote):
31672        (WebKit::GraphicsLayerCARemote::filtersCanBeComposited):
31673        (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
31674        Added. Delegate to PlatformCALayerRemote. Don't allow creation of a
31675        GraphicsLayerCARemote given a PlatformLayer, because with UI process compositing,
31676        there should be no PlatformLayer instances in the Web process.
31677
31678        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: Added.
31679        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: Added.
31680        (generateLayerID):
31681        Generate a layer ID for identification across processes.
31682
31683        (PlatformCALayerRemote::~PlatformCALayerRemote):
31684        Inform the RemoteLayerTreeContext that we've been destroyed, so it can convey
31685        that information to the UI process and the corresponding CALayer can be destroyed.
31686
31687        (PlatformCALayerRemote::recursiveBuildTransaction):
31688        Recursively accumulate changes in layer state on a RemoteLayerTreeTransaction.
31689
31690        The rest of this file is mostly an empty implementation of PlatformCALayer.
31691        A few properties are implemented so far; see below.
31692
31693        (PlatformCALayerRemote::setSublayers):
31694        (PlatformCALayerRemote::removeAllSublayers):
31695        (PlatformCALayerRemote::appendSublayer):
31696        (PlatformCALayerRemote::insertSublayer):
31697        Update our list of sublayers, and note that our children have changed.
31698        recursiveBuildTransaction() will walk our sublayers and record their IDs in the transaction.
31699
31700        (PlatformCALayerRemote::bounds):
31701        (PlatformCALayerRemote::setBounds):
31702        (PlatformCALayerRemote::position):
31703        (PlatformCALayerRemote::setPosition):
31704        (PlatformCALayerRemote::anchorPoint):
31705        (PlatformCALayerRemote::setAnchorPoint):
31706        (PlatformCALayerRemote::backgroundColor):
31707        (PlatformCALayerRemote::setBackgroundColor):
31708        Trivial implementations of basic layer properties, storing the new state in
31709        our LayerProperties struct and noting that they changed in the current commit.
31710        Properties with getters will return the last value that was set on the LayerProperties,
31711        so we don't clear the whole struct at the end of the transaction, just the mask of changed properties.
31712
31713        * WebProcess/WebPage/mac/PlatformCALayerRemote.h: Added.
31714
317152013-10-15  Brady Eidson  <beidson@apple.com>
31716
31717        Move WebProcess/IndexedDB to WebProcess/Databases/IndexedDB
31718
31719        Rubberstamped by Alexey Proskuryakov.
31720
31721        * CMakeLists.txt:
31722        * GNUmakefile.list.am:
31723        * WebKit2.xcodeproj/project.pbxproj:
31724
31725        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.cpp.
31726        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.h.
31727
317282013-10-15  Brady Eidson  <beidson@apple.com>
31729
31730        Add a skeleton Database process for future usage by Indexed Database.
31731        https://bugs.webkit.org/show_bug.cgi?id=122849
31732
31733        Reviewed by Sam Weinig.
31734
31735        This mostly our typical "Add a new process type" boilerplate.
31736
31737        * Configurations/DatabaseProcess.xcconfig: Added.
31738        * Configurations/DatabaseService.Development.xcconfig: Added.
31739        * Configurations/DatabaseService.xcconfig: Added.
31740        * WebKit2.xcodeproj/project.pbxproj:
31741        * WebKit2Prefix.h:
31742
31743        * DatabaseProcess/DatabaseProcess.cpp: Added.
31744        (WebKit::DatabaseProcess::shared):
31745        (WebKit::DatabaseProcess::DatabaseProcess):
31746        (WebKit::DatabaseProcess::~DatabaseProcess):
31747        (WebKit::DatabaseProcess::initializeConnection):
31748        (WebKit::DatabaseProcess::shouldTerminate):
31749        (WebKit::DatabaseProcess::didReceiveMessage):
31750        (WebKit::DatabaseProcess::didClose):
31751        (WebKit::DatabaseProcess::didReceiveInvalidMessage):
31752        (WebKit::DatabaseProcess::initializeProcess):
31753        (WebKit::DatabaseProcess::initializeProcessName):
31754        (WebKit::DatabaseProcess::initializeSandbox):
31755        * DatabaseProcess/DatabaseProcess.h: Added.
31756
31757        * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Added.
31758        (DatabaseProcessMain):
31759        * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
31760        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Added.
31761        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Added.
31762        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: Added.
31763        (DatabaseServiceInitializer):
31764
31765        * DatabaseProcess/mac/DatabaseProcessMac.mm: Added.
31766        (WebKit::DatabaseProcess::initializeProcess):
31767        (WebKit::DatabaseProcess::initializeProcessName):
31768        (WebKit::DatabaseProcess::initializeSandbox):
31769        * UIProcess/Databases/DatabaseProcessProxy.cpp: Added.
31770        (WebKit::DatabaseProcessProxy::create):
31771        (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
31772        (WebKit::DatabaseProcessProxy::~DatabaseProcessProxy):
31773        (WebKit::DatabaseProcessProxy::getLaunchOptions):
31774        (WebKit::DatabaseProcessProxy::connectionWillOpen):
31775        (WebKit::DatabaseProcessProxy::connectionWillClose):
31776        (WebKit::DatabaseProcessProxy::didReceiveMessage):
31777        (WebKit::DatabaseProcessProxy::didClose):
31778        (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
31779        (WebKit::DatabaseProcessProxy::didFinishLaunching):
31780        * UIProcess/Databases/DatabaseProcessProxy.h: Added.
31781        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Added.
31782        (WebKit::shouldUseXPC):
31783        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
31784
31785        * UIProcess/Launcher/ProcessLauncher.cpp:
31786        (WebKit::ProcessLauncher::processTypeAsString):
31787        (WebKit::ProcessLauncher::getProcessTypeFromString):
31788        * UIProcess/Launcher/ProcessLauncher.h:
31789        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
31790        (WebKit::serviceName):
31791        (WebKit::createProcess):
31792
317932013-10-14  Csaba Osztrogonác  <ossy@webkit.org>
31794
31795        [WK2][Efl][Soup] Make NetworkProcessMainUnix handle proxy settings.
31796        https://bugs.webkit.org/show_bug.cgi?id=118388
31797
31798        Reviewed by Carlos Garcia Campos.
31799
31800        Original patch by Kwang Yul Seo <skyul@company100.net> .
31801
31802        Proxy configuration should honor the no_proxy environment variable
31803        same to WebProcess. It is necessary not to change the current behaviour.
31804        See https://bugs.webkit.org/show_bug.cgi?id=91747 for details.
31805
31806        The following things were fixed by Csaba Osztrogonác:
31807        - moved session variable before #if not to have conflict with https://bugs.webkit.org/show_bug.cgi?id=118343
31808        - added GRefPtr.h include
31809        - fixed ifdef guards
31810
31811        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
31812        (WebKit::NetworkProcessMain):
31813        Copied from WebProcessMainEfl.cpp.
31814
318152013-10-13  Darin Adler  <darin@apple.com>
31816
31817        Deprecate or remove deleteAllValues functions; there are only a few call sites left
31818        https://bugs.webkit.org/show_bug.cgi?id=122738
31819
31820        Reviewed by Anders Carlsson.
31821
31822        * Shared/Plugins/NPRemoteObjectMap.cpp:
31823        (WebKit::NPRemoteObjectMap::pluginDestroyed): Renamed deleteAllValues to
31824        deprecatedDeleteAllValues.
31825
31826== Rolled over to ChangeLog-2013-10-13 ==
31827