Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
4         https://bugs.webkit.org/show_bug.cgi?id=127409
5
6         Reviewed by Geoffrey Garen.
7
8         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
9         (WebKit::WebInspectorFrontendClient::closeWindow):
10         * WebProcess/WebPage/WebInspector.cpp:
11         (WebKit::WebInspector::remoteFrontendDisconnected):
12         Include InspectorDisconnectReason.
13
14 2014-01-23  Anders Carlsson  <andersca@apple.com>
15
16         Only WKPage should know about WebPolicyClient
17         https://bugs.webkit.org/show_bug.cgi?id=127535
18
19         Reviewed by Andreas Kling.
20
21         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
22         (setUpPagePolicyClient):
23         (-[WKBrowsingContextController setPolicyDelegate:]):
24         * UIProcess/WebInspectorProxy.cpp:
25         (WebKit::WebInspectorProxy::createInspectorPage):
26
27 2014-01-23  Anders Carlsson  <andersca@apple.com>
28
29         Simplify API::LoaderClient management
30         https://bugs.webkit.org/show_bug.cgi?id=127531
31
32         Reviewed by Tim Horton.
33
34         Add default implementations to API::LoaderClient and change WebPageProxy::setLoaderClient to
35         always create a policy client, even if the loader client set is null. That way we don't have to null
36         check the loader client everywhere.
37
38         * UIProcess/API/APILoaderClient.h:
39         (API::LoaderClient::didStartProvisionalLoadForFrame):
40         (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
41         (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
42         (API::LoaderClient::didCommitLoadForFrame):
43         (API::LoaderClient::didFinishDocumentLoadForFrame):
44         (API::LoaderClient::didFinishLoadForFrame):
45         (API::LoaderClient::didFailLoadWithErrorForFrame):
46         (API::LoaderClient::didSameDocumentNavigationForFrame):
47         (API::LoaderClient::didReceiveTitleForFrame):
48         (API::LoaderClient::didFirstLayoutForFrame):
49         (API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
50         (API::LoaderClient::didRemoveFrameFromHierarchy):
51         (API::LoaderClient::didDisplayInsecureContentForFrame):
52         (API::LoaderClient::didRunInsecureContentForFrame):
53         (API::LoaderClient::didDetectXSSForFrame):
54         (API::LoaderClient::didLayout):
55         (API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
56         (API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
57         (API::LoaderClient::didStartProgress):
58         (API::LoaderClient::didChangeProgress):
59         (API::LoaderClient::didFinishProgress):
60         (API::LoaderClient::processDidBecomeUnresponsive):
61         (API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
62         (API::LoaderClient::processDidBecomeResponsive):
63         (API::LoaderClient::processDidCrash):
64         (API::LoaderClient::didChangeBackForwardList):
65         (API::LoaderClient::willGoToBackForwardListItem):
66         (API::LoaderClient::pluginLoadPolicy):
67         (API::LoaderClient::didFailToInitializePlugin):
68         (API::LoaderClient::didBlockInsecurePluginVersion):
69         (API::LoaderClient::webGLLoadPolicy):
70         * UIProcess/WebPageProxy.cpp:
71         (WebKit::WebPageProxy::setLoaderClient):
72         (WebKit::WebPageProxy::didChangeBackForwardList):
73         (WebKit::WebPageProxy::willGoToBackForwardListItem):
74         (WebKit::WebPageProxy::findPlugin):
75         (WebKit::WebPageProxy::didStartProgress):
76         (WebKit::WebPageProxy::didChangeProgress):
77         (WebKit::WebPageProxy::didFinishProgress):
78         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
79         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
80         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
81         (WebKit::WebPageProxy::didCommitLoadForFrame):
82         (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
83         (WebKit::WebPageProxy::didFinishLoadForFrame):
84         (WebKit::WebPageProxy::didFailLoadForFrame):
85         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
86         (WebKit::WebPageProxy::didReceiveTitleForFrame):
87         (WebKit::WebPageProxy::didFirstLayoutForFrame):
88         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
89         (WebKit::WebPageProxy::didLayout):
90         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
91         (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
92         (WebKit::WebPageProxy::didRunInsecureContentForFrame):
93         (WebKit::WebPageProxy::didDetectXSSForFrame):
94         (WebKit::WebPageProxy::webGLPolicyForURL):
95         (WebKit::WebPageProxy::processDidBecomeUnresponsive):
96         (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
97         (WebKit::WebPageProxy::processDidBecomeResponsive):
98         (WebKit::WebPageProxy::processDidCrash):
99         (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
100         (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
101         (WebKit::WebPageProxy::didFailToInitializePlugin):
102         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
103
104 2014-01-23  Anders Carlsson  <andersca@apple.com>
105
106         Simplify API::PolicyClient management
107         https://bugs.webkit.org/show_bug.cgi?id=127529
108
109         Reviewed by Tim Horton.
110
111         Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
112         always create a policy client, even if the policy object set is null. That way we don't have to null
113         check the policy client everywhere.
114
115         * UIProcess/API/APIPolicyClient.h:
116         (API::PolicyClient::decidePolicyForNavigationAction):
117         (API::PolicyClient::decidePolicyForNewWindowAction):
118         (API::PolicyClient::decidePolicyForResponse):
119         (API::PolicyClient::unableToImplementPolicy):
120         * UIProcess/WebPageProxy.cpp:
121         (WebKit::WebPageProxy::setPolicyClient):
122         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
123         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
124         (WebKit::WebPageProxy::decidePolicyForResponse):
125         (WebKit::WebPageProxy::unableToImplementPolicy):
126
127 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
128
129         Fix GTK.
130
131         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
132         (webkitWebPageDidReceiveMessage):
133
134 2014-01-23  Anders Carlsson  <andersca@apple.com>
135
136         Add an APILoaderClient base class
137         https://bugs.webkit.org/show_bug.cgi?id=127527
138
139         Reviewed by Tim Horton.
140
141         * UIProcess/API/APILoaderClient.h: Added.
142         (API::LoaderClient::~LoaderClient):
143         * UIProcess/API/C/WKPage.cpp:
144         (WKPageSetPageLoaderClient):
145         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
146         (setUpPageLoaderClient):
147         (-[WKBrowsingContextController setLoadDelegate:]):
148         (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
149         * UIProcess/WebLoaderClient.cpp:
150         (WebKit::WebLoaderClient::WebLoaderClient):
151         * UIProcess/WebLoaderClient.h:
152         * UIProcess/WebPageProxy.cpp:
153         (WebKit::WebPageProxy::setLoaderClient):
154         (WebKit::WebPageProxy::close):
155         (WebKit::WebPageProxy::didChangeBackForwardList):
156         (WebKit::WebPageProxy::willGoToBackForwardListItem):
157         (WebKit::WebPageProxy::findPlugin):
158         (WebKit::WebPageProxy::didStartProgress):
159         (WebKit::WebPageProxy::didChangeProgress):
160         (WebKit::WebPageProxy::didFinishProgress):
161         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
162         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
163         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
164         (WebKit::WebPageProxy::didCommitLoadForFrame):
165         (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
166         (WebKit::WebPageProxy::didFinishLoadForFrame):
167         (WebKit::WebPageProxy::didFailLoadForFrame):
168         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
169         (WebKit::WebPageProxy::didReceiveTitleForFrame):
170         (WebKit::WebPageProxy::didFirstLayoutForFrame):
171         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
172         (WebKit::WebPageProxy::didLayout):
173         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
174         (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
175         (WebKit::WebPageProxy::didRunInsecureContentForFrame):
176         (WebKit::WebPageProxy::didDetectXSSForFrame):
177         (WebKit::WebPageProxy::webGLPolicyForURL):
178         (WebKit::WebPageProxy::processDidBecomeUnresponsive):
179         (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
180         (WebKit::WebPageProxy::processDidBecomeResponsive):
181         (WebKit::WebPageProxy::processDidCrash):
182         (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
183         (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
184         (WebKit::WebPageProxy::didFailToInitializePlugin):
185         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
186         * UIProcess/WebPageProxy.h:
187         (WebKit::WebPageProxy::loaderClient):
188         * WebKit2.xcodeproj/project.pbxproj:
189
190 2014-01-23  Ryuan Choi  <ryuan.choi@samsung.com>
191
192         Build break after r162650
193         https://bugs.webkit.org/show_bug.cgi?id=127525
194
195         Reviewed by Anders Carlsson.
196
197         WKPreferences.h was renamed to WKPreferencesRef.
198
199         * UIProcess/API/C/WKPreferences.cpp:
200
201 2014-01-23  Anders Carlsson  <andersca@apple.com>
202
203         Fix a refactoring bug that crept in and is causing the inspector to crash.
204
205         * UIProcess/WebPolicyClient.cpp:
206         (WebKit::WebPolicyClient::decidePolicyForResponse):
207
208 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
209
210         Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
211         https://bugs.webkit.org/show_bug.cgi?id=127456
212         
213         Reviewed by Antti Koivisto.
214         
215         On iOS, visibleContentRect() returns the entire document rect for historical
216         reasons, and actualVisibleContentRect() returns what visibleContentRect()
217         returns on other platforms.
218         
219         In addition, actualVisibleContentRect() was returning an empty rect in WK2.
220         
221         Reduce the confusion of #ifdefs by making visibleContentRect() behave like
222         actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
223         an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
224         
225         Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
226         which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
227         
228         Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
229         with non-virtual visibleHeight() and visibleWidth().
230         
231         ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
232         
233         Mechanically change all the call sites of actualVisibleContentRect() to
234         use visibleContentRect(), and the call sites of visibleContentRect()
235         to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
236         where this may not be appropriate.
237         
238         Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
239         
240         Also add actualScrollPosition(), and clean up some actualScroll* call sites.
241         
242         No behavior change.
243
244         * WebProcess/Plugins/PDF/PDFPlugin.h:
245         * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
246         (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
247         (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
248         * WebProcess/WebPage/WebFrame.cpp:
249         (WebKit::WebFrame::visibleContentBounds):
250         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
251         (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
252         (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
253
254 2014-01-23  Tim Horton  <timothy_horton@apple.com>
255
256         [wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing store)
257         https://bugs.webkit.org/show_bug.cgi?id=127518
258
259         Reviewed by Anders Carlsson.
260
261         Add WKBundlePageOverlayClear, to allow clients of the page overlay API to
262         manually clear the page overlay's backing store, for memory, power, and performance gains.
263
264         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
265         (WKBundlePageOverlayClear):
266         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
267         * WebProcess/WebPage/DrawingArea.h:
268         (WebKit::DrawingArea::clearPageOverlay):
269         * WebProcess/WebPage/PageOverlay.cpp:
270         (WebKit::PageOverlay::clear):
271         * WebProcess/WebPage/PageOverlay.h:
272         Add WKBundlePageOverlayClear and plumb it through PageOverlay to the DrawingArea.
273
274         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
275         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
276         (WebKit::RemoteLayerTreeDrawingArea::clearPageOverlay):
277         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
278         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
279         (WebKit::TiledCoreAnimationDrawingArea::clearPageOverlay):
280         Set the layer to drawsContent=false and give it 0x0 size, effectively
281         removing its backing store.
282
283 2014-01-23  Anders Carlsson  <andersca@apple.com>
284
285         Explicitly link XPC services with AppKit
286         https://bugs.webkit.org/show_bug.cgi?id=127520
287         <rdar://problem/15759718>
288
289         Reviewed by Mark Rowe.
290
291         Explicitly link XPC services that use the _NSApplicationMain run loop type with AppKit.
292
293         * Configurations/PluginService.32.xcconfig:
294         * Configurations/PluginService.64.xcconfig:
295         * Configurations/PluginService.Development.xcconfig:
296         * Configurations/WebContentService.Development.xcconfig:
297         * Configurations/WebContentService.xcconfig:
298
299 2014-01-23  Anders Carlsson  <andersca@apple.com>
300
301         Fix build again.
302
303         * UIProcess/API/mac/WKView.mm:
304         (-[WKView _windowDidChangeBackingProperties:]):
305
306 2014-01-23  Anders Carlsson  <andersca@apple.com>
307
308         Another 32-bit build fix.
309
310         * UIProcess/API/mac/WKView.mm:
311         (-[WKView _windowDidChangeBackingProperties:]):
312
313 2014-01-23  Anders Carlsson  <andersca@apple.com>
314
315         Clean up WKView.mm a little
316         https://bugs.webkit.org/show_bug.cgi?id=127517
317
318         Reviewed by Tim Horton.
319
320         Remove an unused ivar and migrate to API constants that were added in Lion.
321
322         * UIProcess/API/mac/WKView.mm:
323         (-[WKView setFrameSize:]):
324         (-[WKView addWindowObserversForWindow:]):
325         (-[WKView removeWindowObservers]):
326         (-[WKView viewDidMoveToWindow]):
327         (-[WKView _windowDidMiniaturize:]):
328         (-[WKView _windowDidResize:]):
329         (-[WKView _windowDidChangeBackingProperties:]):
330
331 2014-01-23  Anders Carlsson  <andersca@apple.com>
332
333         Try to fix the 32-bit build.
334
335         * UIProcess/API/Cocoa/WKPreferences.mm:
336
337 2014-01-23  Anders Carlsson  <andersca@apple.com>
338
339         Remove an unneeded synchronous back/forward message
340         https://bugs.webkit.org/show_bug.cgi?id=127516
341
342         Reviewed by Tim Horton.
343
344         * UIProcess/WebLoaderClient.cpp:
345         * UIProcess/WebLoaderClient.h:
346         * UIProcess/WebPageProxy.cpp:
347         (WebKit::WebPageProxy::initializeLoaderClient):
348         * UIProcess/WebPageProxy.h:
349         * UIProcess/WebPageProxy.messages.in:
350         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
351         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
352         * WebProcess/WebPage/WebPage.cpp:
353         (WebKit::WebPage::WebPage):
354         * WebProcess/WebPage/WebPage.h:
355         * WebProcess/WebPage/WebPage.messages.in:
356
357 2014-01-23  Anders Carlsson  <andersca@apple.com>
358
359         Rename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences class
360         https://bugs.webkit.org/show_bug.cgi?id=127512
361
362         Reviewed by Dan Bernstein.
363
364         * UIProcess/API/C/WKAPICast.h:
365         * UIProcess/API/C/WKPreferencesRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferences.h.
366         * UIProcess/API/C/WebKit2_C.h:
367         * UIProcess/API/Cocoa/WKPreferences.h: Added.
368         * UIProcess/API/Cocoa/WKPreferences.mm: Added.
369         * WebKit2.xcodeproj/project.pbxproj:
370
371 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
372
373         Remove CSS Custom Filters code and tests
374         https://bugs.webkit.org/show_bug.cgi?id=127382
375
376         Reviewed by Simon Fraser.
377
378         * CMakeLists.txt:
379         * Configurations/FeatureDefines.xcconfig:
380         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
381         (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
382         (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
383         (IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
384         (IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
385         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
386         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Removed.
387         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Removed.
388         * Shared/WebCoreArgumentCoders.cpp:
389         (IPC::encodeFilterOperation):
390         (IPC::decodeFilterOperation):
391         * Shared/WebPreferencesStore.h:
392         * Shared/mac/RemoteLayerTreeTransaction.mm:
393         (WebKit::RemoteLayerTreeTextStream::operator<<):
394         * UIProcess/API/C/WKPreferences.cpp:
395         * UIProcess/API/C/WKPreferencesPrivate.h:
396         * WebProcess/InjectedBundle/InjectedBundle.cpp:
397         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
398         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
399         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
400         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
401         * WebProcess/WebPage/WebPage.cpp:
402         (WebKit::WebPage::updatePreferences):
403         * mac/WebKit2.order:
404
405 2014-01-23  Anders Carlsson  <andersca@apple.com>
406
407         Add API::PolicyClient base class
408         https://bugs.webkit.org/show_bug.cgi?id=127509
409
410         Reviewed by Tim Horton.
411
412         * UIProcess/API/APIPolicyClient.h: Copied from Source/WebKit2/UIProcess/WebPolicyClient.h.
413         (API::PolicyClient::~PolicyClient):
414         * UIProcess/API/C/WKPage.cpp:
415         (WKPageSetPagePolicyClient):
416         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
417         (setUpPagePolicyClient):
418         (-[WKBrowsingContextController setPolicyDelegate:]):
419         * UIProcess/WebInspectorProxy.cpp:
420         (WebKit::WebInspectorProxy::createInspectorPage):
421         * UIProcess/WebPageProxy.cpp:
422         (WebKit::WebPageProxy::setPolicyClient):
423         (WebKit::WebPageProxy::close):
424         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
425         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
426         (WebKit::WebPageProxy::decidePolicyForResponse):
427         (WebKit::WebPageProxy::unableToImplementPolicy):
428         * UIProcess/WebPageProxy.h:
429         * UIProcess/WebPolicyClient.cpp:
430         (WebKit::WebPolicyClient::WebPolicyClient):
431         (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
432         (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
433         (WebKit::WebPolicyClient::decidePolicyForResponse):
434         * UIProcess/WebPolicyClient.h:
435         * WebKit2.xcodeproj/project.pbxproj:
436
437 2014-01-23  Anders Carlsson  <andersca@apple.com>
438
439         Add init methods that create default configurations
440         https://bugs.webkit.org/show_bug.cgi?id=127503
441
442         Reviewed by Dan Bernstein.
443
444         * UIProcess/API/Cocoa/WKProcessClass.mm:
445         (-[WKProcessClass init]):
446         * UIProcess/API/Cocoa/WKWebView.mm:
447         (-[WKWebView initWithFrame:]):
448
449 2014-01-23  Brady Eidson  <beidson@apple.com>
450
451         IDB: Implement cross-thread and IPC plumbing for 'get' support
452         https://bugs.webkit.org/show_bug.cgi?id=127501
453
454         Reviewed by Anders Carlsson.
455
456         Make the WebProcess call out to the DatabaseProcess with a get request, and handle the
457         response from the DatabaseProcess:
458         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
459         (WebKit::WebIDBServerConnection::get):
460         (WebKit::WebIDBServerConnection::didGetRecord):
461         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
462         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
463
464         Get the request from the WebProcess and forward it to the appropriate unique IDB database:
465         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
466         (WebKit::DatabaseProcessIDBConnection::getRecord):
467         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
468         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
469
470         Forward the request to the database thread, and response to the result from that thread:
471         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
472         (WebKit::UniqueIDBDatabase::getRecord):
473         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
474         (WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore):
475         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
476
477         IPC and asynchronous request infrastructure:
478         * Scripts/webkit2/messages.py:
479         (struct_or_class):
480
481         * Shared/AsyncTask.h:
482         (WebKit::createAsyncTask):
483
484         * Shared/WebCoreArgumentCoders.cpp:
485         (IPC::ArgumentCoder<IDBGetResult>::encode):
486         (IPC::ArgumentCoder<IDBGetResult>::decode):
487         (IPC::ArgumentCoder<IDBKeyRangeData>::encode):
488         (IPC::ArgumentCoder<IDBKeyRangeData>::decode):
489         * Shared/WebCoreArgumentCoders.h:
490
491 2014-01-23  Tim Horton  <timothy_horton@apple.com>
492
493         PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
494         https://bugs.webkit.org/show_bug.cgi?id=127415
495         <rdar://problem/12482452>
496
497         Reviewed by Sam Weinig.
498
499         Allow use of PDFPlugin even if an external plugin is installed but blocked.
500         If an external plugin is installed and not blocked, we will continue to use that.
501
502         Inject a context menu item into the PDFPlugin context menu that allows the client
503         to unblock the plugin and reload the page (via the same mechanism that the
504         unavailable plugin button uses).
505
506         * UIProcess/API/C/WKPageLoaderClient.h:
507         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
508         (setUpPageLoaderClient):
509         * UIProcess/WebLoaderClient.cpp:
510         (WebKit::WebLoaderClient::pluginLoadPolicy):
511         * UIProcess/WebLoaderClient.h:
512         * UIProcess/WebPageProxy.cpp:
513         (WebKit::WebPageProxy::findPlugin):
514         * UIProcess/WebPageProxy.h:
515         * UIProcess/WebPageProxy.messages.in:
516         Add a new PluginLoadPolicy callback for the V4 client with
517         yet another string out-argument, to allow clients to customize the string
518         that will appear in the PDFPlugin context menu when it is used in place
519         of a blocked plugin.
520
521         * WebProcess/Plugins/PDF/PDFPlugin.h:
522         Add setUsedInPlaceOfBlockedPlugin(), which determines whether or not
523         we should include an item in the PDFPlugin context menu that acts identically
524         to the unavailable plugin button, allowing the client to potentially unblock
525         the plugin.
526
527         * WebProcess/Plugins/PDF/PDFPlugin.mm:
528         (-[WKPDFPluginContextMenuTarget initWithPDFPlugin:WebKit::]):
529         (-[WKPDFPluginContextMenuTarget useBlockedPlugin:]):
530         Added WKPDFPluginContextMenuTarget, which is the Objective-C object that the
531         aforementioned context menu item targets.
532
533         (WebKit::PDFPlugin::PDFPlugin):
534         By default, we won't show the extra context menu item.
535
536         (WebKit::PDFPlugin::handleContextMenuEvent):
537         If we were used in place of a blocked plugin, inject our additional context
538         menu item into the menu. If we were handed a custom string via setUsedInPlaceOfBlockedPlugin,
539         use that. Otherwise, use the generic string from WebCore's localized strings.
540
541         (WebKit::PDFPlugin::openWithPlugin):
542         Pretend that the user clicked the unavailable plugin button when they click
543         the injected context menu item.
544
545         (WebKit::PDFPlugin::setUsedInPlaceOfBlockedPlugin):
546
547         * WebProcess/WebPage/WebPage.cpp:
548         (WebKit::WebPage::createPlugin):
549         If we end up with a blocked plugin, but could have used PDFPlugin to display
550         the content, do so instead of showing the unavailable plugin indicator.
551
552         Pass PDFPlugin the custom context menu item title acquired from the client.
553
554         (WebKit::WebPage::canPluginHandleResponse):
555
556 2014-01-23  Tim Horton  <timothy_horton@apple.com>
557
558         [iOS] [WK2] WKContentView has a black background
559         https://bugs.webkit.org/show_bug.cgi?id=127471
560         <rdar://problem/12287363>
561
562         Reviewed by Sam Weinig.
563
564         * UIProcess/API/ios/WKContentView.mm:
565         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
566         Instead of giving it a (black!) background to make hit-testing work, use CALayer SPI
567         to tell CA that the whole layer should be treated as opaque when it comes to hit-testing.
568
569 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
570
571         [GLIB] Use GUniquePtr instead of GOwnPtr
572         https://bugs.webkit.org/show_bug.cgi?id=127431
573
574         Reviewed by Martin Robinson.
575
576         GUniquePtr is a template alias of std::unique_ptr with a custom
577         deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
578         where the output pointer is needed, but it will also be replaced soon.
579
580         * Shared/Downloads/soup/DownloadSoup.cpp:
581         (WebKit::DownloadClient::didReceiveResponse):
582         * Shared/NativeWebKeyboardEvent.h:
583         * Shared/NativeWebMouseEvent.h:
584         * Shared/NativeWebWheelEvent.h:
585         * Shared/gtk/ArgumentCodersGtk.cpp:
586         (IPC::encodeGKeyFile):
587         (IPC::decodeGKeyFile):
588         (IPC::encode):
589         (IPC::decode):
590         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
591         (webkitContextMenuItemSetSubMenuFromGtkMenu):
592         * UIProcess/API/gtk/WebKitDownload.cpp:
593         (webkitDownloadDecideDestination):
594         (webkitDownloadNotifyProgress):
595         (webkitDownloadFailed):
596         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
597         (webkit_file_chooser_request_select_files):
598         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
599         (didReceiveWebViewMessageFromInjectedBundle):
600         (getInjectedBundleInitializationUserData):
601         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
602         (didFailProvisionalLoadWithErrorForFrame):
603         (didFailLoadWithErrorForFrame):
604         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
605         (drawPagesForPrintingCompleted):
606         * UIProcess/API/gtk/WebKitURIRequest.cpp:
607         (webkit_uri_request_get_http_headers):
608         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
609         (webkit_uri_scheme_request_get_scheme):
610         (webkit_uri_scheme_request_get_path):
611         * UIProcess/API/gtk/WebKitWebContext.cpp:
612         (injectedBundleFilename):
613         (webkit_web_context_set_favicon_database_directory):
614         * UIProcess/API/gtk/WebKitWebView.cpp:
615         (webkitWebViewLoadFail):
616         (webkitWebViewCreateJavaScriptDialog):
617         (fileChooserDialogResponseCallback):
618         (webkitWebViewLoadChanged):
619         (webkitWebViewLoadFailedWithTLSErrors):
620         (webkitWebViewPopulateContextMenu):
621         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
622         (webkitWebViewBaseButtonPressEvent):
623         (webkitWebViewBaseStartDrag):
624         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
625         (WebKit::WebInspectorServer::platformResourceForPath):
626         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
627         (WebKit::connectionCallback):
628         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
629         (WebKit::ProcessLauncher::launchProcess):
630         * UIProcess/gtk/WebContextGtk.cpp:
631         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
632         (WebKit::WebContext::platformDefaultDatabaseDirectory):
633         (WebKit::WebContext::platformDefaultIconDatabasePath):
634         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
635         (WebKit::WebContext::platformDefaultDiskCacheDirectory):
636         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
637         (WebKit::contextMenuItemVisibilityChanged):
638         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
639         (WebKit::WebInspectorProxy::platformInspectedURLChanged):
640         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
641         (WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):
642         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
643         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
644         (WebKit::WebPage::platformInitialize):
645         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
646         * WebProcess/gtk/WebProcessMainGtk.cpp:
647         * WebProcess/soup/WebSoupRequestManager.cpp:
648         (WebKit::WebSoupRequestManager::send):
649
650 2014-01-22  Simon Fraser  <simon.fraser@apple.com>
651
652         Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
653         https://bugs.webkit.org/show_bug.cgi?id=127461
654
655         Reviewed by Andreas Kling.
656         
657         The "fixedVisibleContentRect" code path is only used by platforms
658         which enabled TILED_BACKING_STORE, so to reduce confusion, surround
659         this code with #if USE(TILED_BACKING_STORE).
660
661         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
662         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
663
664 2014-01-22  Benjamin Poulain  <bpoulain@apple.com>
665
666         Add a minimalistic SPI to control the layout size outside of WKView
667         https://bugs.webkit.org/show_bug.cgi?id=127403
668
669         Reviewed by Sam Weinig.
670
671         The API lets a client of WKView force the layout size. Once the size
672         is set this way, default update is disabled and the client needs to
673         update the size systematically as needed. This is done to avoid double
674         layout or flickering.
675
676         * UIProcess/API/Cocoa/WKViewPrivate.h:
677         * UIProcess/API/ios/WKViewIOS.mm:
678         (-[WKView _frameOrBoundsChanged]):
679         (-[WKView overrideMinimumLayoutSize:]):
680
681 2014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>
682
683         [EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
684         https://bugs.webkit.org/show_bug.cgi?id=127420
685
686         Reviewed by Gyuyoung Kim.
687
688         As the defaultTextEncodingName is returned as a local WKEinaSharedString variable, 
689         the stringshared data is de-refed by eina_stringshare_del().
690         To maintain the reference counter, the defaultTextEncodingName should be stored 
691         as a member variable of EwkSettings class.
692
693         * UIProcess/API/efl/ewk_settings.cpp:
694         (ewk_settings_encoding_detector_enabled_get): Reordering.
695         (ewk_settings_default_text_encoding_name_set):
696         (ewk_settings_default_text_encoding_name_get):
697         (EwkSettings::setDefaultTextEncodingName):
698         (EwkSettings::defaultTextEncodingName):
699         * UIProcess/API/efl/ewk_settings_private.h:
700         (EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.
701
702 2014-01-22  Enrica Casucci  <enrica@apple.com>
703
704         Support WebSelections in WK2 on iOS.
705         https://bugs.webkit.org/show_bug.cgi?id=127015
706         <rdar://problem/15211964>
707
708         Reviewed by Benjamin Poulain.
709
710         This change adds support for text only (non block mode)
711         selections in non editable content.
712         The main changes consist in hooking up the new gesture type
713         and touches to handle selection creation and interaction.
714         It also includes changes to the way first responder is handled
715         which includes the implementation of the isEditable method
716         to allow iOS to know when to show the keyboard.
717
718         * Shared/ios/WKGestureTypes.h:
719         * UIProcess/API/ios/WKInteractionView.mm:
720         (-[WKInteractionView isEditable]):
721         (-[WKInteractionView canBecomeFirstResponder]):
722         (-[WKInteractionView webSelectionRects]):
723         (-[WKInteractionView _highlightLongPressRecognized:]):
724         (-[WKInteractionView _singleTapRecognized:]):
725         (-[WKInteractionView inputAccessoryView]):
726         (-[WKInteractionView canPerformAction:withSender:]):
727         (-[WKInteractionView _showDictionary:]):
728         (toWKGestureType):
729         (toUIWKGestureType):
730         (selectionChangedWithGesture):
731         (selectionChangedWithTouch):
732         (-[WKInteractionView selectedTextRange]):
733         (-[WKInteractionView webSelectionAssistant]):
734         (-[WKInteractionView _startAssistingNode]):
735         (-[WKInteractionView _stopAssistingNode]):
736         (-[WKInteractionView _selectionChanged]):
737         * WebProcess/WebPage/ios/WebPageIOS.mm:
738         (WebKit::WebPage::selectWithGesture):
739         (WebKit::WebPage::updateSelectionWithTouches):
740
741 2014-01-22  Anders Carlsson  <andersca@apple.com>
742
743         WKBrowsingContextController should not be an API wrapper around WebPageProxy
744         https://bugs.webkit.org/show_bug.cgi?id=127454
745
746         Reviewed by Dan Bernstein.
747
748         * Shared/Cocoa/APIObject.mm:
749         (API::Object::newObject):
750         * Shared/mac/ObjCObjectGraphCoders.mm:
751         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
752         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
753         (-[WKBrowsingContextController _initWithPageRef:]):
754         (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
755         * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
756         * UIProcess/API/Cocoa/WKProcessGroup.mm:
757         (didNavigateWithNavigationData):
758         (didPerformClientRedirect):
759         (didPerformServerRedirect):
760         (didUpdateHistoryTitle):
761         * UIProcess/API/ios/WKContentView.mm:
762         (-[WKContentView browsingContextController]):
763         * UIProcess/API/mac/WKView.mm:
764         (-[WKView browsingContextController]):
765         * UIProcess/ios/WebPageProxyIOS.mm:
766         (WebKit::WebPageProxy::platformInitialize):
767         * UIProcess/mac/WebPageProxyMac.mm:
768         (WebKit::WebPageProxy::platformInitialize):
769
770 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
771
772         Remove CSS3_TEXT_DECORATION define
773         https://bugs.webkit.org/show_bug.cgi?id=127333
774
775         Reviewed by Simon Fraser.
776
777         This is required for unprefixing the text-decoration-* CSS properties.
778
779         * Configurations/FeatureDefines.xcconfig:
780
781 2014-01-22  Gavin Barraclough  <barraclough@apple.com>
782
783         Debug mechanism to override process QoS on Mac
784         https://bugs.webkit.org/show_bug.cgi?id=127455
785
786         Reviewed by Anders Carlsson.
787
788         * NetworkProcess/NetworkProcess.messages.in:
789             - added message.
790         * PluginProcess/PluginProcess.messages.in:
791             - added message.
792         * Shared/ChildProcess.h:
793         * Shared/mac/ChildProcessMac.mm:
794         (WebKit::ChildProcess::setQOS):
795             - Added implementation of new message.
796         * UIProcess/Plugins/PluginProcessProxy.cpp:
797         (WebKit::PluginProcessProxy::didFinishLaunching):
798             - SetQOS for the PluginProcess.
799         * UIProcess/Plugins/PluginProcessProxy.h:
800         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
801         (WebKit::pluginProcessLatencyQOS):
802         (WebKit::pluginProcessThroughputQOS):
803             - read NSUserDefaults.
804         * UIProcess/WebContext.cpp:
805         (WebKit::WebContext::ensureNetworkProcess):
806             - SetQOS for the NetworkProcess.
807         (WebKit::WebContext::createNewWebProcess):
808             - SetQOS for the WebProcess.
809         * UIProcess/WebContext.h:
810         * UIProcess/mac/WebContextMac.mm:
811         (WebKit::networkProcessLatencyQOS):
812         (WebKit::networkProcessThroughputQOS):
813         (WebKit::webProcessLatencyQOS):
814         (WebKit::webProcessThroughputQOS):
815             - read NSUserDefaults.
816         * WebProcess/WebProcess.messages.in:
817             - added message.
818
819 2014-01-22  David Farler  <dfarler@apple.com>
820
821         ASAN builds are broken - missing flags
822         https://bugs.webkit.org/show_bug.cgi?id=127231
823
824         Reviewed by Andy Estes.
825
826         Add missing $(ASAN_OTHER_LDFLAGS).
827         * Configurations/PluginProcessShim.xcconfig:
828         * Configurations/SecItemShim.xcconfig:
829         * Configurations/WebKit2.xcconfig:
830         * Configurations/WebProcessShim.xcconfig:
831
832 2014-01-22  Brady Eidson  <beidson@apple.com>
833
834         The IDB backing store get() method shouldn't call IDB callbacks directly
835         https://bugs.webkit.org/show_bug.cgi?id=127453
836         
837         Reviewed by Beth Dakin.
838
839         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
840         (WebKit::WebIDBServerConnection::get):
841         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
842
843 2014-01-22  Martin Hock  <mhock@apple.com>
844
845         Enable Session API.
846         https://bugs.webkit.org/show_bug.cgi?id=127255
847
848         Reviewed by Alexey Proskuryakov.
849
850         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
851         (WebKit::storageSession):
852         * NetworkProcess/NetworkResourceLoader.cpp:
853         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
854         (WebKit::NetworkResourceLoader::start):
855         * NetworkProcess/NetworkResourceLoader.h:
856         * NetworkProcess/RemoteNetworkingContext.h:
857         * NetworkProcess/mac/RemoteNetworkingContext.mm:
858         (WebKit::RemoteNetworkingContext::storageSession):
859         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
860         * Shared/Network/NetworkResourceLoadParameters.cpp:
861         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
862         (WebKit::NetworkResourceLoadParameters::encode):
863         (WebKit::NetworkResourceLoadParameters::decode):
864         * Shared/Network/NetworkResourceLoadParameters.h:
865         * Shared/SessionTracker.cpp:
866         (WebKit::staticSessionMap):
867         (WebKit::SessionTracker::sessionMap):
868         (WebKit::SessionTracker::session):
869         (WebKit::SessionTracker::setSession):
870         (WebKit::SessionTracker::destroySession):
871         * Shared/SessionTracker.h:
872         * UIProcess/API/C/WKPage.cpp:
873         (WKPageSetSession):
874         * UIProcess/API/C/WKPage.h:
875         * UIProcess/API/C/WKSessionRef.cpp:
876         (WKSessionCreate):
877         * UIProcess/API/C/WKSessionRef.h:
878         * UIProcess/WebPageProxy.cpp:
879         (WebKit::WebPageProxy::WebPageProxy):
880         (WebKit::WebPageProxy::setSession):
881         * UIProcess/WebPageProxy.h:
882         * WebProcess/Network/WebResourceLoadScheduler.cpp:
883         (WebKit::WebResourceLoadScheduler::scheduleLoad):
884         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
885         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
886         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
887         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
888         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
889         (WebKit::WebFrameNetworkingContext::storageSession):
890         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
891         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
892         * WebProcess/WebPage/WebFrame.cpp:
893         (WebKit::WebFrame::startDownload):
894         * WebProcess/WebPage/WebPage.cpp:
895         (WebKit::WebPage::WebPage):
896         (WebKit::WebPage::sessionID):
897         (WebKit::WebPage::updatePreferences):
898         * WebProcess/WebPage/WebPage.h:
899         (WebKit::WebPage::setSessionID):
900         * WebProcess/WebPage/WebPage.messages.in:
901
902 2014-01-21  Brady Eidson  <beidson@apple.com>
903
904         IDB: "Put" support
905         <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
906
907         Reviewed by Alexey Proskuryakov.
908
909         Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess:
910         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
911         (WebKit::WebIDBServerConnection::put):
912         (WebKit::WebIDBServerConnection::didPutRecord):
913         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
914         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
915
916         Pass off the putRecord request to the Unique IDBDatabase:
917         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
918         (WebKit::DatabaseProcessIDBConnection::putRecord):
919         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
920         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
921
922         Pass off the putRecord request to the backing store:
923         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
924         (WebKit::UniqueIDBDatabase::putRecord):
925         (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
926         (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore):
927         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
928
929         Add backing store methods related to putRecord, though only one is critical right now:
930         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
931         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
932         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
933         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey):
934         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
935         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
936         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator):
937         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
938
939         Add the IDBKeyData type to IPC:
940         * Scripts/webkit2/messages.py:
941         (struct_or_class):
942
943         * Shared/WebCoreArgumentCoders.cpp:
944         (IPC::ArgumentCoder<IDBKeyData>::encode):
945         (IPC::ArgumentCoder<IDBKeyData>::decode):
946         * Shared/WebCoreArgumentCoders.h:
947
948         * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
949         (WebKit::serializeIDBKey):
950         * DatabaseProcess/IndexedDB/IDBSerialization.h:
951
952         Implement more cross-thread copying:
953         * Shared/WebCrossThreadCopier.cpp:
954         (WebCore::Vector<uint8_t>>::copy):
955         (WebCore::Vector<Vector<IDBKeyData>>>::copy):
956         (WebCore::ASCIILiteral>::copy):
957         * Shared/WebCrossThreadCopier.h:
958
959         Implement more numbers of generic AsyncTask templates:
960         * Shared/AsyncTask.h:
961         (WebKit::createAsyncTask):
962
963 2014-01-22  Anders Carlsson  <andersca@apple.com>
964
965         WKProcessClass should create a WebContext
966         https://bugs.webkit.org/show_bug.cgi?id=127449
967         <rdar://problem/15885582>
968
969         Reviewed by Dan Bernstein.
970
971         * Shared/Cocoa/APIObject.mm:
972         (API::Object::newObject):
973         * UIProcess/API/Cocoa/WKBrowsingContextController.h:
974         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
975         * UIProcess/API/Cocoa/WKProcessClass.mm:
976         (-[WKProcessClass initWithConfiguration:]):
977         (-[WKProcessClass dealloc]):
978         (-[WKProcessClass API::]):
979         * UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h.
980         (WebKit::wrapper):
981         * UIProcess/API/Cocoa/WKProcessGroup.mm:
982         (-[WKProcessGroup initWithInjectedBundleURL:]):
983         * UIProcess/API/ios/WKContentView.mm:
984         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
985         * WebKit2.xcodeproj/project.pbxproj:
986
987 2014-01-22  Tim Horton  <timothy_horton@apple.com>
988
989         Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
990         https://bugs.webkit.org/show_bug.cgi?id=127445
991
992         Reviewed by Anders Carlsson.
993
994         * UIProcess/API/ios/WKContentView.mm:
995         (-[WKContentView _updateViewExposedRect]):
996         * UIProcess/API/mac/WKView.mm:
997         (-[WKView _updateViewExposedRect]):
998         Null-check.
999
1000 2014-01-22  Anders Carlsson  <andersca@apple.com>
1001
1002         Add WKWebView class
1003         https://bugs.webkit.org/show_bug.cgi?id=127444
1004         <rdar://problem/15884418>
1005
1006         Reviewed by Dan Bernstein.
1007
1008         * UIProcess/API/Cocoa/WKWebView.h: Added.
1009         * UIProcess/API/Cocoa/WKWebView.mm: Added.
1010         (-[WKWebView initWithFrame:configuration:]):
1011         (-[WKWebView configuration]):
1012         * WebKit2.xcodeproj/project.pbxproj:
1013
1014 2014-01-22  Anders Carlsson  <andersca@apple.com>
1015
1016         Fix 32-bit build.
1017
1018         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1019
1020 2014-01-22  Tim Horton  <timothy_horton@apple.com>
1021
1022         [wk2] Scroll pinning state is wrong until the first scroll event
1023         https://bugs.webkit.org/show_bug.cgi?id=127437
1024
1025         Reviewed by Simon Fraser.
1026
1027         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1028         (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
1029         * WebProcess/WebPage/WebPage.cpp:
1030         (WebKit::WebPage::updateMainFrameScrollOffsetPinning):
1031         (WebKit::WebPage::didCommitLoad):
1032         * WebProcess/WebPage/WebPage.h:
1033         Rename WebPage::didChangeScrollOffsetForMainFrame to
1034         updateMainFrameScrollOffsetPinning, which better describes what it
1035         actually does. Call it when a load is committed, so that we have valid
1036         pinning state before the first scroll event comes in.
1037
1038 2014-01-22  Anders Carlsson  <andersca@apple.com>
1039
1040         Add WKWebViewConfiguration class
1041         https://bugs.webkit.org/show_bug.cgi?id=127436
1042         <rdar://problem/15882923>
1043
1044         Reviewed by Tim Horton.
1045
1046         * UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added.
1047         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added.
1048         (-[WKWebViewConfiguration copyWithZone:]):
1049         * WebKit2.xcodeproj/project.pbxproj:
1050
1051 2014-01-22  Alice Barraclough  <alice.liu@apple.com>
1052
1053         [WK2] add cocoa API for private browsing setting
1054         https://bugs.webkit.org/show_bug.cgi?id=127391
1055
1056         Reviewed by Sam Weinig.
1057
1058         * UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
1059         * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
1060         (-[WKBrowsingContextGroup privateBrowsingEnabled]):
1061         (-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]):
1062         Adding some API for the private Browsing setting. Reaches through
1063         to the WKPageGroup's preferences.
1064
1065 2014-01-22  Anders Carlsson  <andersca@apple.com>
1066
1067         Add WKProcessClass class
1068         https://bugs.webkit.org/show_bug.cgi?id=127433
1069         <rdar://problem/15882582>
1070
1071         Reviewed by Dan Bernstein.
1072
1073         Add a stubbed out WKProcessClass class.
1074
1075         * Shared/API/Cocoa/WKFoundation.h:
1076         * UIProcess/API/Cocoa/WKProcessClass.h: Added.
1077         * UIProcess/API/Cocoa/WKProcessClass.mm: Added.
1078         (-[WKProcessClass initWithConfiguration:]):
1079         (-[WKProcessClass configuration]):
1080         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
1081         * WebKit2.xcodeproj/project.pbxproj:
1082
1083 2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1084
1085         [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
1086         https://bugs.webkit.org/show_bug.cgi?id=127119
1087
1088         Reviewed by Mario Sanchez Prada.
1089
1090         Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).
1091
1092         * WebProcess/WebPage/WebPage.cpp:
1093         (WebKit::WebPage::WebPage):
1094         * WebProcess/WebPage/WebPage.h:
1095         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1096         (WebKit::WebPage::platformInitialize):
1097
1098 2014-01-22  Martin Robinson  <mrobinson@igalia.com>
1099
1100         [GTK][CMake] Add support for building the NetworkProcess
1101         https://bugs.webkit.org/show_bug.cgi?id=127195
1102
1103         Reviewed by Daniel Bates.
1104
1105         * CMakeLists.txt: Add shared network process build instructions.
1106         * PlatformEfl.cmake: Move build instructions to the platform-independent file.
1107         * PlatformGTK.cmake: Add some files to the source lists.
1108
1109 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1110
1111         REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
1112         https://bugs.webkit.org/show_bug.cgi?id=127422
1113
1114         Reviewed by Anders Carlsson.
1115
1116         * WebProcess/gtk/WebGtkExtensionManager.cpp:
1117         (WebKit::WebGtkExtensionManager::initialize): Always create the
1118         WebKitWebExtension object since it's used internally to implement
1119         the ResourceLoader client.
1120
1121 2014-01-22  Jer Noble  <jer.noble@apple.com>
1122
1123         [Mac][WK2] Unable to play video protected by session cookies
1124         https://bugs.webkit.org/show_bug.cgi?id=127207
1125
1126         Reviewed by Sam Weinig.
1127
1128         Recent changes in our underlying media frameworks caused our shimmed methods
1129         in CookieStorageShim to stop being called. Insert an objective-c shim in addition
1130         to our original shim to intercept pulling cookies out of cookie storage.
1131
1132         * Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.
1133         (WebKit::CookieStorageShim::initialize): Insert the shim.
1134         (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
1135             Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().
1136         * WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.
1137
1138 2014-01-22  Yongjun Zhang  <yongjun_zhang@apple.com>
1139
1140         https://bugs.webkit.org/show_bug.cgi?id=127380
1141         Add more methods to WKWebProcessPlugInNodeHandle.
1142
1143         Reviewed by Sam Weinig.
1144
1145         Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*.  Also
1146         add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.
1147  
1148         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
1149         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
1150         (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
1151         (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):
1152
1153 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1154
1155         Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.
1156
1157         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
1158         Use override instead of OVERRIDE.
1159
1160 2014-01-22  Koop Mast <kwm@FreeBSD.org>
1161
1162         Build fixes for FreeBSD.
1163         https://bugs.webkit.org/show_bug.cgi?id=126779
1164
1165         Reviewed by Csaba Osztrogon√°c.
1166
1167         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1168         (WebKit::PluginProcessProxy::scanPlugin):
1169
1170 2014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>
1171
1172         [EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
1173         https://bugs.webkit.org/show_bug.cgi?id=127397
1174
1175         Reviewed by Anders Carlsson.
1176
1177         Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
1178         and DispatchQueue::setSocketEventHandler.
1179
1180         * Platform/IPC/unix/ConnectionUnix.cpp:
1181         (IPC::Connection::open):
1182         * Platform/WorkQueue.h:
1183         * Platform/efl/DispatchQueueEfl.cpp:
1184         (DispatchQueue::setSocketEventHandler):
1185         * Platform/efl/DispatchQueueEfl.h:
1186         * Platform/efl/WorkQueueEfl.cpp:
1187         (WorkQueue::registerSocketEventHandler):
1188
1189 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1190
1191         [wk2] De-.get()ify receivers of Objective-C messages
1192         https://bugs.webkit.org/show_bug.cgi?id=127398
1193
1194         Reviewed by Sam Weinig.
1195
1196         RetainPtr does the right thing when you use it as the
1197         receiver of an Obj-C message, so we don't need .get().
1198
1199         Long and useless file list elided.
1200
1201 2014-01-21  Brady Eidson  <beidson@apple.com>
1202
1203         The IDB backing store put() method shouldn't call IDB callbacks directly
1204         https://bugs.webkit.org/show_bug.cgi?id=127399
1205
1206         Reviewed by Beth Dakin.
1207
1208         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1209         (WebKit::WebIDBServerConnection::put):
1210         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
1211
1212 2014-01-21  Anders Carlsson  <andersca@apple.com>
1213
1214         Fix 32-bit build.
1215
1216         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
1217
1218 2014-01-21  Jinwoo Song  <jinwoo7.song@samsung.com>
1219
1220         [EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
1221         https://bugs.webkit.org/show_bug.cgi?id=127263
1222
1223         Reviewed by Gyuyoung Kim.
1224
1225         After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter.
1226         So it would be better to use nanoseconds in TimerWorkItem for consistency.
1227
1228         * Platform/efl/DispatchQueueEfl.cpp:
1229         (DispatchQueue::performTimerWork):
1230         (DispatchQueue::insertTimerWorkItem):
1231         (DispatchQueue::getNextTimeOut):
1232         * Platform/efl/DispatchQueueWorkItemEfl.h:
1233         (TimerWorkItem::create):
1234         (TimerWorkItem::expirationTimeNanoSeconds):
1235         (TimerWorkItem::hasExpired):
1236         (TimerWorkItem::TimerWorkItem):
1237
1238 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1239
1240         Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.
1241
1242         Reviewed by Simon Fraser.
1243
1244         * WebKit2.xcodeproj/project.pbxproj:
1245
1246 2014-01-21  Anders Carlsson  <andersca@apple.com>
1247
1248         Add a WKProcessClassConfiguration class
1249         https://bugs.webkit.org/show_bug.cgi?id=127378
1250         <rdar://problem/15875413>
1251
1252         Reviewed by Dan Bernstein.
1253
1254         * UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added.
1255         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added.
1256         (-[WKProcessClassConfiguration copyWithZone:]):
1257         * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added.
1258         * WebKit2.xcodeproj/project.pbxproj:
1259
1260 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1261
1262         Make ViewGestureController Obj-C++
1263         https://bugs.webkit.org/show_bug.cgi?id=127385
1264
1265         Reviewed by Dean Jackson.
1266
1267         * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
1268         * WebKit2.xcodeproj/project.pbxproj:
1269
1270 2014-01-21  Anders Carlsson  <andersca@apple.com>
1271
1272         Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group
1273         https://bugs.webkit.org/show_bug.cgi?id=127374
1274
1275         Reviewed by Dan Bernstein.
1276
1277         * WebKit2.xcodeproj/project.pbxproj:
1278
1279 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1280
1281         Unreviewed, rolling out r162452.
1282         http://trac.webkit.org/changeset/162452
1283         https://bugs.webkit.org/show_bug.cgi?id=127366
1284
1285         broke a few tests on all Mac WebKit1 bots (Requested by
1286         thorton on #webkit).
1287
1288         * WebProcess/WebPage/WebPage.cpp:
1289         (WebKit::WebPage::WebPage):
1290         (WebKit::WebPage::setActive):
1291         (WebKit::WebPage::setViewIsVisible):
1292         (WebKit::WebPage::setFocused):
1293         (WebKit::WebPage::setIsInWindow):
1294         (WebKit::WebPage::setViewStateInternal):
1295         (WebKit::WebPage::setIsVisuallyIdle):
1296         * WebProcess/WebPage/WebPage.h:
1297
1298 2014-01-21  Martin Hock  <mhock@apple.com>
1299
1300         Trivial Session API cleanup.
1301         https://bugs.webkit.org/show_bug.cgi?id=127356
1302
1303         Reviewed by Alexey Proskuryakov.
1304
1305         * UIProcess/API/C/WKSessionRef.cpp:
1306         (WKSessionIsEphemeral):
1307         * UIProcess/API/C/WKSessionRef.h:
1308
1309 2014-01-16  Simon Fraser  <simon.fraser@apple.com>
1310
1311         Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
1312         https://bugs.webkit.org/show_bug.cgi?id=127121
1313
1314         Reviewed by Anders Carlsson.
1315         
1316         A common cause of early WebProcess crashes during development is a null return
1317         from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
1318         this case rather than passing a null C string to dlsym().
1319
1320         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
1321         (WebKit::BootstrapMain):
1322
1323 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1324
1325         Sort headers after the rename that happened in r162454.
1326
1327         * UIProcess/mac/RemoteLayerTreeHost.mm:
1328         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1329
1330 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1331
1332         Address late review naming comments after r162453.
1333
1334         * UIProcess/API/mac/WKView.mm:
1335         And, fix the build by adding an include I accidentally missed.
1336
1337         * UIProcess/mac/RemoteLayerTreeHost.mm:
1338         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1339
1340 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1341
1342         Keep CALayer implicit animation disabling code in a single place
1343         https://bugs.webkit.org/show_bug.cgi?id=127355
1344
1345         Reviewed by Simon Fraser.
1346
1347         * Shared/mac/RemoteLayerTreePropertyApplier.h:
1348         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1349         Remove disableActionsForLayer.
1350
1351         * UIProcess/API/mac/WKView.mm:
1352         (-[WKView _rootLayer]):
1353         Disable actions on the root layer. It doesn't need them, and currently
1354         isn't affected by implicit animations, but future patches which animate
1355         the root layer will benefit from this.
1356
1357         * UIProcess/mac/RemoteLayerTreeHost.mm:
1358         (WebKit::RemoteLayerTreeHost::createLayer):
1359         Use web_disableAllActions instead of disableActionsForLayer.
1360
1361         * WebKit2.xcodeproj/project.pbxproj:
1362         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.
1363         (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
1364         (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
1365         (PlatformCALayerRemoteCustom::hostingContextID):
1366         Use web_disableAllActions instead of disableActionsForLayer.
1367         This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.
1368
1369 2014-01-21  Gavin Barraclough  <barraclough@apple.com>
1370
1371         Change Page, FocusController to use ViewState
1372         https://bugs.webkit.org/show_bug.cgi?id=126533
1373
1374         Reviewed by Tim Horton.
1375
1376         These classes currently maintain a set of separate fields to represent the view state;
1377         combine these into a single field, and allow WebPage to send the combined update rather
1378         than individual changes.
1379
1380         Maintain existing interface for WebKit1 clients.
1381
1382         * WebProcess/WebPage/WebPage.cpp:
1383         (WebKit::WebPage::WebPage):
1384             - Combined separate calls to Page::setViewState.
1385         (WebKit::WebPage::updateIsInWindow):
1386             - Simplied from setIsInWindow.
1387         (WebKit::WebPage::setViewState):
1388             - Combined separate calls to Page::setViewState.
1389         * WebProcess/WebPage/WebPage.h:
1390             - Declare updateIsInWindow.
1391
1392 2014-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1393
1394         [SOUP] Implement CUSTOM PROTOCOLS
1395         https://bugs.webkit.org/show_bug.cgi?id=125583
1396
1397         Reviewed by Anders Carlsson.
1398
1399         Add new classes to implement CustomProtocols for soup. The
1400         implementation is the same, but using the CustomProtocol API and
1401         messages. The current implementation can be removed once all ports
1402         using soup switch to using CustomProtocols.
1403
1404         * GNUmakefile.am: Add new include paths.
1405         * GNUmakefile.list.am: Add new files to compilation.
1406         * PlatformGTK.cmake: Add new files to compilation.
1407         * Shared/API/c/soup/WKBaseSoup.h:
1408         * Shared/APIObject.h:
1409         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
1410         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added.
1411         (WebKit::generateCustomProtocolID):
1412         (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
1413         (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
1414         (WebKit::WebSoupRequestAsyncData::requestFailed):
1415         (WebKit::WebSoupRequestAsyncData::releaseTask):
1416         (WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl):
1417         (WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl):
1418         (WebKit::CustomProtocolManagerImpl::registerScheme):
1419         (WebKit::CustomProtocolManagerImpl::supportsScheme):
1420         (WebKit::CustomProtocolManagerImpl::didFailWithError):
1421         (WebKit::CustomProtocolManagerImpl::didLoadData):
1422         (WebKit::CustomProtocolManagerImpl::didReceiveResponse):
1423         (WebKit::CustomProtocolManagerImpl::didFinishLoading):
1424         (WebKit::CustomProtocolManagerImpl::send):
1425         (WebKit::CustomProtocolManagerImpl::finish):
1426         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added.
1427         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
1428         (WebKit::CustomProtocolManager::CustomProtocolManager):
1429         (WebKit::CustomProtocolManager::initialize):
1430         (WebKit::CustomProtocolManager::registerScheme):
1431         (WebKit::CustomProtocolManager::supportsScheme):
1432         (WebKit::CustomProtocolManager::didFailWithError):
1433         (WebKit::CustomProtocolManager::didLoadData):
1434         (WebKit::CustomProtocolManager::didReceiveResponse):
1435         (WebKit::CustomProtocolManager::didFinishLoading):
1436         * Shared/WebProcessCreationParameters.cpp:
1437         (WebKit::WebProcessCreationParameters::encode):
1438         (WebKit::WebProcessCreationParameters::decode):
1439         * Shared/WebProcessCreationParameters.h:
1440         * UIProcess/API/C/soup/WKAPICastSoup.h:
1441         * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
1442         (WKSoupCustomProtocolRequestManagerGetTypeID):
1443         (WKSoupCustomProtocolRequestManagerSetClient):
1444         * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added.
1445         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
1446         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
1447         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
1448         * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
1449         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
1450         (WebKit::CustomProtocolManagerProxy::startLoading):
1451         (WebKit::CustomProtocolManagerProxy::stopLoading):
1452         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added.
1453         (WebKit::WebSoupCustomProtocolRequestManager::supplementName):
1454         (WebKit::WebSoupCustomProtocolRequestManager::create):
1455         (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
1456         (WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager):
1457         (WebKit::WebSoupCustomProtocolRequestManager::initializeClient):
1458         (WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed):
1459         (WebKit::WebSoupCustomProtocolRequestManager::processDidClose):
1460         (WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement):
1461         (WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement):
1462         (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
1463         (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
1464         (WebKit::WebSoupCustomProtocolRequestManager::startLoading):
1465         (WebKit::WebSoupCustomProtocolRequestManager::stopLoading):
1466         (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
1467         (WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
1468         (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
1469         (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
1470         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added.
1471         (WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols):
1472         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added.
1473         (WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
1474         (WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading):
1475         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added.
1476         * UIProcess/Network/NetworkProcessProxy.cpp:
1477         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
1478         * UIProcess/WebContext.cpp:
1479         (WebKit::WebContext::WebContext):
1480         * UIProcess/WebPageProxy.cpp:
1481         * UIProcess/WebPageProxy.h:
1482         * UIProcess/WebPageProxy.messages.in:
1483         * UIProcess/WebProcessProxy.cpp:
1484         (WebKit::WebProcessProxy::WebProcessProxy):
1485         * UIProcess/gtk/WebContextGtk.cpp:
1486         (WebKit::WebContext::platformInitializeWebProcess):
1487         * UIProcess/soup/WebContextSoup.cpp:
1488         (WebKit::WebContext::platformInitializeNetworkProcess):
1489         * WebProcess/WebProcess.cpp:
1490         (WebKit::WebProcess::WebProcess):
1491         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
1492         (webkitSoupRequestGenericSendAsync):
1493         (webkitSoupRequestGenericSendFinish):
1494         * WebProcess/soup/WebKitSoupRequestGeneric.h:
1495         * WebProcess/soup/WebProcessSoup.cpp:
1496         (WebKit::WebProcess::platformInitializeWebProcess):
1497
1498 2014-01-21  Adrian Perez de Castro  <aperez@igalia.com>
1499
1500         [GTK] Allow passing extra data to web extensions
1501         https://bugs.webkit.org/show_bug.cgi?id=125990
1502
1503         Reviewed by Carlos Garcia Campos.
1504
1505         Allow passing additional information to the injected bundle. On top
1506         of the string containing the path to the web extensions directory,
1507         a GVariant can be set with additional data using
1508         webkit_web_context_set_web_extensions_initialization_user_data().
1509         Also, a new initialize-web-extensions signal is emitted before
1510         launching a new WebProcess to allow setting different user data
1511         for each process. The GVariant is serialized as a string, passed
1512         to the injected bundle, and the injected bundle deserializes back
1513         the data, which is passed to web extensions which define the
1514         webkit_web_extension_initialize_with_user_data() function (for
1515         backwards compatibility, webkit_web_extension_initialize() is
1516         used as a fallback.)
1517
1518         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1519         (getInjectedBundleInitializationUserData): Define new callback
1520         function which causes emission of the initialize-web-extensions
1521         signal, and serializes the data to be passed to the web process.
1522         (attachInjectedBundleClientToContext): Set the
1523         getInjectedBundleInitializationUserData() callback.
1524         * UIProcess/API/gtk/WebKitWebContext.cpp:
1525         (webkit_web_context_class_init): Define the
1526         initialize-web-extensions signal.
1527         (webkit_web_context_set_web_extensions_directory):
1528         Web extensions directory as now member of WebKitWebContextPrivate,
1529         to be able to retrieve it later.
1530         (webkit_web_context_set_web_extensions_initialization_user_data):
1531         New API method to set the user data passed to the web extensions
1532         when initialized.
1533         (webkitWebContextInitializeWebExtensions): Private function used
1534         to trigger emission of the initialize-web-extensions signal.
1535         * UIProcess/API/gtk/WebKitWebContext.h:
1536         Added prototype for new API method
1537         webkit_web_context_set_web_extensions_initialization_user_data().
1538         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
1539         Prototype of the new private function.
1540         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1541         Add new public API bits to the documentation.
1542         * WebProcess/gtk/WebGtkExtensionManager.cpp:
1543         (WebKit::WebGtkExtensionManager::initialize):
1544         Deserialize the data received from the UI process and pass it to
1545         webkit_web_extension_initialize_with_user_data() if available,
1546         keeping webkit_web_extension_initialize() as fallback.
1547
1548 2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
1549
1550         [EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp
1551         https://bugs.webkit.org/show_bug.cgi?id=127261
1552
1553         Reviewed by Gyuyoung Kim.
1554
1555         isEwkViewEvasObject is general check routine of EFL and mainly used in
1556         ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp
1557
1558         This patch moves it to EwkView.h as inline function with small refactoring.
1559         In addition, this patch added EINA_UNLIKELY keyword in cold paths.
1560
1561         * UIProcess/API/efl/EwkView.cpp:
1562         (defaultSmartClassInstance):
1563         (toSmartData):
1564         (toEwkView): Moved it from bottom not to expose it to header file.
1565         * UIProcess/API/efl/EwkView.h:
1566         * UIProcess/API/efl/ewk_view.cpp:
1567         (isEwkViewEvasObject):
1568         (toEwkViewChecked):
1569
1570 2014-01-20  Eunmi Lee  <eunmi15.lee@samsung.com>
1571
1572         [EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1.
1573         https://bugs.webkit.org/show_bug.cgi?id=127268
1574
1575         Reviewed by Gyuyoung Kim.
1576
1577         Amount of scrolling should be same with movement of touch even though
1578         device pixel ratio is not 1, so apply device pixel ratio to the new
1579         position of scrollBy().
1580
1581         * UIProcess/API/efl/EwkView.cpp:
1582         (EwkView::scrollBy):
1583
1584 2014-01-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1585
1586         [WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage
1587         https://bugs.webkit.org/show_bug.cgi?id=127090
1588
1589         Reviewed by Simon Fraser.
1590
1591         When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after
1592         WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by
1593         WebPageProxy::pageScaleFactor.
1594         This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized.
1595
1596         * UIProcess/WebPageProxy.cpp:
1597         (WebKit::WebPageProxy::scalePage):
1598
1599 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1600
1601         [GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function
1602         https://bugs.webkit.org/show_bug.cgi?id=127273
1603
1604         Reviewed by Anders Carlsson.
1605
1606         Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
1607         and WorkQueue::SocketEventSource.
1608
1609         * Platform/IPC/unix/ConnectionUnix.cpp:
1610         (IPC::Connection::open):
1611         * Platform/WorkQueue.h:
1612         * Platform/gtk/WorkQueueGtk.cpp:
1613         (WorkQueue::SocketEventSource::SocketEventSource):
1614         (WorkQueue::registerSocketEventHandler):
1615         (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>.
1616         (WorkQueue::dispatch): Ditto.
1617         (WorkQueue::dispatchAfter): Ditto.
1618
1619 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1620
1621         Unreviewed. Additional build fixes after r162276 and r163304.
1622
1623         * Platform/WorkQueue.h:
1624         * Platform/gtk/WorkQueueGtk.cpp:
1625         (WorkQueue::EventSource::EventSource):
1626         (WorkQueue::dispatchOnSource):
1627         (WorkQueue::dispatch):
1628         (WorkQueue::dispatchAfter):
1629
1630 2014-01-19  Zan Dobersek  <zdobersek@igalia.com>
1631
1632         Unreviewed GTK build fix after r162276.
1633
1634         Updating the WorkQueue implementation to use std::function and std::chrono.
1635
1636         * Platform/WorkQueue.h:
1637         * Platform/gtk/WorkQueueGtk.cpp:
1638         (WorkQueue::dispatchOnSource):
1639         (WorkQueue::dispatch):
1640         (WorkQueue::dispatchAfter):
1641
1642 2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
1643
1644         Unreviewed debug build fix on EFL port after r162300.
1645
1646         * Platform/efl/DispatchQueueWorkItemEfl.h:
1647         (TimerWorkItem::create):
1648
1649 2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
1650
1651         [EFL][WK2] build fix after r162276
1652         https://bugs.webkit.org/show_bug.cgi?id=127259
1653
1654         Reviewed by Anders Carlsson.
1655
1656         * Platform/efl/DispatchQueueEfl.cpp:
1657         (DispatchQueue::performTimerWork):
1658         (DispatchQueue::getNextTimeOut):
1659         * Platform/efl/DispatchQueueWorkItemEfl.h:
1660         (WorkItem::create):
1661         (WorkItem::WorkItem):
1662         (TimerWorkItem::create):
1663         (TimerWorkItem::TimerWorkItem):
1664         * Platform/efl/WorkQueueEfl.cpp:
1665         (WorkQueue::dispatch):
1666         (WorkQueue::dispatchAfter):
1667
1668 2014-01-18  Anders Carlsson  <andersca@apple.com>
1669
1670         Replace a couple of uses of WTF::Function with std::function
1671         https://bugs.webkit.org/show_bug.cgi?id=127218
1672
1673         Reviewed by Andreas Kling.
1674
1675         * Platform/IPC/mac/ConnectionMac.cpp:
1676         (IPC::createDataAvailableSource):
1677         * Platform/WorkQueue.h:
1678         * Platform/mac/WorkQueueMac.cpp:
1679         (WorkQueue::dispatch):
1680         (WorkQueue::dispatchAfter):
1681         * Shared/ChildProcess.cpp:
1682         (WebKit::didCloseOnConnectionWorkQueue):
1683         * UIProcess/Storage/LocalStorageDatabase.cpp:
1684         (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
1685         * WebProcess/WebPage/DrawingArea.cpp:
1686         (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
1687         * WebProcess/WebPage/DrawingArea.h:
1688         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1689         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1690         (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
1691
1692 2014-01-18  Martin Hock  <mhock@apple.com>
1693
1694         Flesh out session APIs (still not enabled at API level).
1695         https://bugs.webkit.org/show_bug.cgi?id=126918
1696
1697         Reviewed by Alexey Proskuryakov.
1698
1699         * CMakeLists.txt:
1700         * GNUmakefile.list.am:
1701         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1702         (WebKit::storageSession):
1703         (WebKit::NetworkConnectionToWebProcess::startDownload):
1704         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1705         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1706         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1707         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
1708         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1709         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1710         * NetworkProcess/NetworkConnectionToWebProcess.h:
1711         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1712         * NetworkProcess/NetworkProcess.cpp:
1713         (WebKit::NetworkProcess::initializeNetworkProcess):
1714         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
1715         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
1716         * NetworkProcess/NetworkProcess.h:
1717         * NetworkProcess/NetworkProcess.messages.in:
1718         * NetworkProcess/RemoteNetworkingContext.h:
1719         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1720         (WebKit::RemoteNetworkingContext::storageSession):
1721         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1722         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1723         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1724         * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
1725         (WebKit::sessionMap):
1726         (WebKit::identifierBase):
1727         (WebKit::SessionTracker::getSessionMap):
1728         (WebKit::SessionTracker::getIdentifierBase):
1729         (WebKit::SessionTracker::session):
1730         (WebKit::SessionTracker::destroySession):
1731         (WebKit::SessionTracker::setIdentifierBase):
1732         * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
1733         (WebKit::SessionTracker::isEphemeralID):
1734         * Shared/mac/CookieStorageShim.cpp:
1735         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
1736         * UIProcess/APISession.cpp:
1737         (API::generateID):
1738         (API::Session::defaultSession):
1739         (API::Session::legacyPrivateSession):
1740         (API::Session::Session):
1741         (API::Session::create):
1742         (API::Session::isEphemeral):
1743         (API::Session::getID):
1744         * UIProcess/APISession.h:
1745         * UIProcess/WebContext.cpp:
1746         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
1747         (WebKit::WebContext::createNewWebProcess):
1748         (WebKit::WebContext::createWebPage):
1749         * UIProcess/WebContext.h:
1750         * UIProcess/WebPageProxy.cpp:
1751         (WebKit::WebPageProxy::create):
1752         (WebKit::WebPageProxy::WebPageProxy):
1753         * UIProcess/WebPageProxy.h:
1754         (WebKit::WebPageProxy::sessionID):
1755         * UIProcess/WebProcessProxy.cpp:
1756         (WebKit::WebProcessProxy::createWebPage):
1757         * UIProcess/WebProcessProxy.h:
1758         * WebKit2.xcodeproj/project.pbxproj:
1759         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1760         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1761         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1762         (WebKit::legacySessionID):
1763         (WebKit::WebPlatformStrategies::cookiesForDOM):
1764         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
1765         (WebKit::WebPlatformStrategies::cookiesEnabled):
1766         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
1767         (WebKit::WebPlatformStrategies::getRawCookies):
1768         (WebKit::WebPlatformStrategies::deleteCookie):
1769         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1770         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1771         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1772         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
1773         (WebKit::WebFrameNetworkingContext::storageSession):
1774         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1775         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1776         (WebKit::WebFrameNetworkingContext::storageSession):
1777         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1778         * WebProcess/WebProcess.cpp:
1779         (WebKit::WebProcess::initializeWebProcess):
1780         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1781         (WebKit::WebProcess::destroyPrivateBrowsingSession):
1782         * WebProcess/WebProcess.h:
1783         * WebProcess/WebProcess.messages.in:
1784
1785 2014-01-18  Brian Burg  <bburg@apple.com>
1786
1787         Web Inspector: Page should use std::unique_ptr for InspectorController
1788         https://bugs.webkit.org/show_bug.cgi?id=127068
1789
1790         Reviewed by Joseph Pecoraro.
1791
1792         Convert call sites to use a InspectorController reference.
1793
1794         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1795         (WebKit::WebInspectorClient::drawRect):
1796         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1797         (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
1798         (WebKit::WebInspectorFrontendClient::closeWindow):
1799         * WebProcess/WebPage/WebInspector.cpp:
1800         (WebKit::WebInspector::createInspectorPage):
1801         (WebKit::WebInspector::show):
1802         (WebKit::WebInspector::close):
1803         (WebKit::WebInspector::evaluateScriptForTest):
1804         (WebKit::WebInspector::showConsole):
1805         (WebKit::WebInspector::showResources):
1806         (WebKit::WebInspector::showMainResourceForFrame):
1807         (WebKit::WebInspector::startJavaScriptDebugging):
1808         (WebKit::WebInspector::stopJavaScriptDebugging):
1809         (WebKit::WebInspector::setJavaScriptProfilingEnabled):
1810         (WebKit::WebInspector::startJavaScriptProfiling):
1811         (WebKit::WebInspector::stopJavaScriptProfiling):
1812         (WebKit::WebInspector::startPageProfiling):
1813         (WebKit::WebInspector::stopPageProfiling):
1814         (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
1815         (WebKit::WebInspector::remoteFrontendConnected):
1816         (WebKit::WebInspector::remoteFrontendDisconnected):
1817
1818 2014-01-18  Anders Carlsson  <andersca@apple.com>
1819
1820         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
1821         https://bugs.webkit.org/show_bug.cgi?id=127225
1822
1823         Reviewed by Andreas Kling.
1824
1825         This concludes the removal of over 8.8 million lines of threaded parser code.
1826
1827         * Configurations/FeatureDefines.xcconfig:
1828
1829 2014-01-18  Yongjun Zhang  <yongjun_zhang@apple.com>
1830
1831         Make WKRenderingProgressEvents a shareable API.
1832         https://bugs.webkit.org/show_bug.cgi?id=127213
1833
1834         Reviewed by Dan Bernstein.
1835
1836         Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
1837         could also use this enum when listening to layout milestones.
1838
1839         * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.
1840         (NS_OPTIONS):
1841         * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.
1842         (renderingProgressEvents):
1843         * UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
1844         * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
1845         * WebKit2.xcodeproj/project.pbxproj:
1846         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add
1847             webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.
1848         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
1849         (didLayout):
1850         (setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.
1851
1852 2014-01-17  Commit Queue  <commit-queue@webkit.org>
1853
1854         Unreviewed, rolling out r162237 and r162241.
1855         http://trac.webkit.org/changeset/162237
1856         http://trac.webkit.org/changeset/162241
1857         https://bugs.webkit.org/show_bug.cgi?id=127216
1858
1859         Broke lots of API tests (Requested by ap on #webkit).
1860
1861         * CMakeLists.txt:
1862         * GNUmakefile.list.am:
1863         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1864         (WebKit::storageSession):
1865         (WebKit::NetworkConnectionToWebProcess::startDownload):
1866         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1867         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1868         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1869         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
1870         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1871         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1872         * NetworkProcess/NetworkConnectionToWebProcess.h:
1873         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1874         * NetworkProcess/NetworkProcess.cpp:
1875         (WebKit::NetworkProcess::initializeNetworkProcess):
1876         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
1877         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
1878         * NetworkProcess/NetworkProcess.h:
1879         * NetworkProcess/NetworkProcess.messages.in:
1880         * NetworkProcess/RemoteNetworkingContext.h:
1881         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1882         (WebKit::privateBrowsingStorageSession):
1883         (WebKit::RemoteNetworkingContext::storageSession):
1884         (WebKit::RemoteNetworkingContext::privateBrowsingSession):
1885         (WebKit::privateBrowsingStorageSessionIdentifierBase):
1886         (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
1887         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1888         (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
1889         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1890         (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
1891         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1892         (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
1893         (WebKit::RemoteNetworkingContext::privateBrowsingSession):
1894         * Shared/SessionTracker.cpp: Removed.
1895         * Shared/SessionTracker.h: Removed.
1896         * UIProcess/APISession.cpp:
1897         (API::Session::Session):
1898         (API::Session::create):
1899         (API::Session::isEphemeral):
1900         * UIProcess/APISession.h:
1901         * UIProcess/WebContext.cpp:
1902         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
1903         (WebKit::WebContext::createNewWebProcess):
1904         (WebKit::WebContext::createWebPage):
1905         * UIProcess/WebContext.h:
1906         * UIProcess/WebPageProxy.cpp:
1907         (WebKit::WebPageProxy::create):
1908         (WebKit::WebPageProxy::WebPageProxy):
1909         * UIProcess/WebPageProxy.h:
1910         * UIProcess/WebProcessProxy.cpp:
1911         (WebKit::WebProcessProxy::createWebPage):
1912         * UIProcess/WebProcessProxy.h:
1913         * WebKit2.xcodeproj/project.pbxproj:
1914         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1915         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1916         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1917         (WebKit::WebPlatformStrategies::cookiesForDOM):
1918         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
1919         (WebKit::WebPlatformStrategies::cookiesEnabled):
1920         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
1921         (WebKit::WebPlatformStrategies::getRawCookies):
1922         (WebKit::WebPlatformStrategies::deleteCookie):
1923         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1924         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1925         (WebKit::privateSession):
1926         (WebKit::identifierBase):
1927         (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
1928         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1929         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
1930         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
1931         (WebKit::WebFrameNetworkingContext::storageSession):
1932         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1933         (WebKit::privateSession):
1934         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1935         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
1936         (WebKit::WebFrameNetworkingContext::storageSession):
1937         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1938         * WebProcess/WebProcess.cpp:
1939         (WebKit::WebProcess::initializeWebProcess):
1940         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1941         (WebKit::WebProcess::destroyPrivateBrowsingSession):
1942         * WebProcess/WebProcess.h:
1943         * WebProcess/WebProcess.messages.in:
1944
1945 2014-01-17  Ryuan Choi  <ryuan.choi@samsung.com>
1946
1947         Unreviewed build fix on EFL port after r162237
1948
1949         The EFL port disabled NETWORK_PROCESS yet and use -Werror=unused-function.
1950
1951         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1952         Guarded legacySessionID with ENABLE(NETWORK_PROCESS)
1953
1954 2014-01-17  Martin Hock  <mhock@apple.com>
1955
1956         Flesh out session APIs (still not enabled at API level).
1957         https://bugs.webkit.org/show_bug.cgi?id=126918
1958
1959         Reviewed by Alexey Proskuryakov.
1960
1961         * CMakeLists.txt:
1962         * GNUmakefile.list.am:
1963         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1964         (WebKit::storageSession):
1965         (WebKit::NetworkConnectionToWebProcess::startDownload):
1966         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1967         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1968         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1969         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
1970         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1971         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1972         * NetworkProcess/NetworkConnectionToWebProcess.h:
1973         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1974         * NetworkProcess/NetworkProcess.cpp:
1975         (WebKit::NetworkProcess::initializeNetworkProcess):
1976         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
1977         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
1978         * NetworkProcess/NetworkProcess.h:
1979         * NetworkProcess/NetworkProcess.messages.in:
1980         * NetworkProcess/RemoteNetworkingContext.h:
1981         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1982         (WebKit::RemoteNetworkingContext::storageSession):
1983         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1984         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1985         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1986         * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
1987         (WebKit::sessionMap):
1988         (WebKit::identifierBase):
1989         (WebKit::SessionTracker::getSessionMap):
1990         (WebKit::SessionTracker::getIdentifierBase):
1991         (WebKit::SessionTracker::session):
1992         (WebKit::SessionTracker::destroySession):
1993         (WebKit::SessionTracker::setIdentifierBase):
1994         * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
1995         (WebKit::SessionTracker::isEphemeralID):
1996         * UIProcess/APISession.cpp:
1997         (API::generateID):
1998         (API::Session::defaultSession):
1999         (API::Session::legacyPrivateSession):
2000         (API::Session::Session):
2001         (API::Session::create):
2002         (API::Session::isEphemeral):
2003         (API::Session::getID):
2004         * UIProcess/APISession.h:
2005         * UIProcess/WebContext.cpp:
2006         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
2007         (WebKit::WebContext::createNewWebProcess):
2008         (WebKit::WebContext::createWebPage):
2009         * UIProcess/WebContext.h:
2010         * UIProcess/WebPageProxy.cpp:
2011         (WebKit::WebPageProxy::create):
2012         (WebKit::WebPageProxy::WebPageProxy):
2013         * UIProcess/WebPageProxy.h:
2014         (WebKit::WebPageProxy::sessionID):
2015         * UIProcess/WebProcessProxy.cpp:
2016         (WebKit::WebProcessProxy::createWebPage):
2017         * UIProcess/WebProcessProxy.h:
2018         * WebKit2.xcodeproj/project.pbxproj:
2019         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2020         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2021         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2022         (WebKit::legacySessionID):
2023         (WebKit::WebPlatformStrategies::cookiesForDOM):
2024         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
2025         (WebKit::WebPlatformStrategies::cookiesEnabled):
2026         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
2027         (WebKit::WebPlatformStrategies::getRawCookies):
2028         (WebKit::WebPlatformStrategies::deleteCookie):
2029         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2030         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2031         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2032         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
2033         (WebKit::WebFrameNetworkingContext::storageSession):
2034         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2035         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2036         (WebKit::WebFrameNetworkingContext::storageSession):
2037         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
2038         * WebProcess/WebProcess.cpp:
2039         (WebKit::WebProcess::initializeWebProcess):
2040         (WebKit::WebProcess::ensurePrivateBrowsingSession):
2041         (WebKit::WebProcess::destroyPrivateBrowsingSession):
2042         * WebProcess/WebProcess.h:
2043         * WebProcess/WebProcess.messages.in:
2044
2045 2014-01-17  Andreas Kling  <akling@apple.com>
2046
2047         Remove unused TOUCH_ADJUSTMENT code.
2048         <https://webkit.org/b/127181>
2049
2050         Reviewed by Anders Carlsson.
2051
2052         * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
2053         (WebKit::WebPage::findZoomableAreaForPoint):
2054
2055 2014-01-17  Anders Carlsson  <andersca@apple.com>
2056
2057         Fix build.
2058
2059         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2060         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2061
2062 2014-01-17  Anders Carlsson  <andersca@apple.com>
2063
2064         Remove FrameLoaderClient::didPerformFirstNavigation()
2065         https://bugs.webkit.org/show_bug.cgi?id=127191
2066
2067         Reviewed by Dan Bernstein.
2068
2069         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2070         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2071
2072 2014-01-17  Manuel Rego Casasnovas  <rego@igalia.com>
2073
2074         [GTK] Add CSS Grid Layout as experimental feature
2075         https://bugs.webkit.org/show_bug.cgi?id=127089
2076
2077         Reviewed by Martin Robinson.
2078
2079         Allow CSS Grid Layout to be enabled through the environment variable WEBKITGTK_EXPERIMENTAL_FEATURES.
2080
2081         Example: WEBKITGTK_EXPERIMENTAL_FEATURES="CSS_GRID_LAYOUT=1"
2082
2083         * UIProcess/API/gtk/WebKitSettings.cpp:
2084         (webKitSettingsConstructed): Use new experimental feature to enable or disable CSS Grid Layout.
2085         * UIProcess/gtk/ExperimentalFeatures.cpp: Add new experimental feature.
2086         * UIProcess/gtk/ExperimentalFeatures.h: Ditto.
2087
2088 2014-01-17  Enrica Casucci  <enrica@apple.com>
2089
2090         Support WebSelections in WK2 on iOS.
2091         https://bugs.webkit.org/show_bug.cgi?id=127015
2092         <rdar://problem/15843090>
2093
2094         Reviewed by Dan Bernstein.
2095
2096         Removing unused variable in selectWithGesture that
2097         causes Release build to fail after r162103.
2098
2099         * WebProcess/WebPage/ios/WebPageIOS.mm:
2100         (WebKit::WebPage::selectWithGesture):
2101
2102 2014-01-17  Yongjun Zhang  <yongjun_zhang@apple.com>
2103
2104         https://bugs.webkit.org/show_bug.cgi?id=127138
2105         Add more delegate callback methods to WKWebProcessPlugInLoadDelegate.
2106
2107         Reviewed by Sam Weinig.
2108
2109         Add more WKWebProcessPlugInLoadDelegate callback methods so that a injected
2110         bundle can listen/react to more frame loading events.
2111
2112         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add more delegate callback methods for
2113             WKWebProcessPlugInLoadDelegate.
2114         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2115         (didCommitLoadForFrame):
2116         (didFinishDocumentLoadForFrame):
2117         (didFailLoadWithErrorForFrame):
2118         (didSameDocumentNavigationForFrame): 
2119         (didLayoutForFrame):
2120         (setUpPageLoaderClient):
2121
2122 2014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2123
2124         [SOUP] Add stubs for CustomProtocol classes
2125         https://bugs.webkit.org/show_bug.cgi?id=126343
2126
2127         Reviewed by Gustavo Noronha Silva.
2128
2129         * CMakeLists.txt:
2130         * GNUmakefile.am:
2131         * GNUmakefile.list.am:
2132         * PlatformGTK.cmake:
2133         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Added.
2134         (WebKit::generateCustomProtocolID):
2135         (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
2136         (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
2137         (WebKit::WebSoupRequestAsyncData::requestFailed):
2138         (WebKit::WebSoupRequestAsyncData::releaseTask):
2139         (WebKit::CustomProtocolManager::supplementName):
2140         (WebKit::CustomProtocolManager::CustomProtocolManager):
2141         (WebKit::CustomProtocolManager::initializeConnection):
2142         (WebKit::CustomProtocolManager::initialize):
2143         * Shared/Network/NetworkProcessCreationParameters.cpp:
2144         (WebKit::NetworkProcessCreationParameters::encode): Move
2145         urlSchemesRegisteredForCustomProtocols encoding out of platform
2146         ifdefs, since it's already guarded by ENABLE(CUSTOM_PROTOCOLS).
2147         (WebKit::NetworkProcessCreationParameters::decode): Ditto.
2148         * Shared/Network/NetworkProcessCreationParameters.h: Ditto.
2149         * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: Added.
2150         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
2151         (WebKit::CustomProtocolManagerProxy::startLoading):
2152         (WebKit::CustomProtocolManagerProxy::stopLoading):
2153
2154 2014-01-16  Tim Horton  <timothy_horton@apple.com>
2155
2156         On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
2157         https://bugs.webkit.org/show_bug.cgi?id=126531
2158         <rdar://problem/15745862>
2159
2160         Reviewed by Anders Carlsson.
2161
2162         * UIProcess/API/ios/WKContentView.mm:
2163         (-[WKContentView _updateViewExposedRect]):
2164         (-[WKContentView setViewportSize:]):
2165         (-[WKContentView didFinishScrollTo:]):
2166         (-[WKContentView didScrollTo:]):
2167         (-[WKContentView didZoomToScale:]):
2168         Because zooming is performed by the UIScrollView, we need to transform
2169         the exposedRect's offset in order to get it in FrameView-relative coordinates.
2170
2171         * UIProcess/ios/WebPageProxyIOS.mm:
2172         (WebKit::WebPageProxy::didFinishZooming):
2173         Save the pageScaleFactor when it changes.
2174
2175 2014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2176
2177         [GTK] Remove the weak pointer added to the web view in WebKitPrintOperation
2178         https://bugs.webkit.org/show_bug.cgi?id=127098
2179
2180         Reviewed by Martin Robinson.
2181
2182         If the print operation finishes and the web view is still alive,
2183         the weak pointer added to the view should be removed.
2184
2185         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2186         (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
2187
2188 2014-01-15  Sam Weinig  <sam@webkit.org>
2189
2190         TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
2191         https://bugs.webkit.org/show_bug.cgi?id=126856
2192
2193         Reviewed by Ryosuke Niwa.
2194
2195         Change all the TextBreakIterator creation functions to take StringViews. Remove a few
2196         now unnecessary up-conversions to UTF-16 in the process.
2197
2198         * UIProcess/efl/TextCheckerEfl.cpp:
2199         (WebKit::nextWordOffset):
2200         (WebKit::TextChecker::checkTextOfParagraph):
2201
2202 2014-01-16  Eunmi Lee  <eunmi15.lee@samsung.com>
2203
2204         [EFL][WK2] EwkView can not be shown without re-sizing once it is hidden.
2205         https://bugs.webkit.org/show_bug.cgi?id=127084
2206
2207         Reviewed by Gyuyoung Kim.
2208
2209         Visibility of EwkView can not be controlled by evas_object_show/hide
2210         because EwkView can be shown only if re-sizing is requested, so modify
2211         codes to show EwkView directly if we do not wait for re-sizing.
2212         Additionally, we have to set default value of m_pendingSurfaceResize
2213         to true for accelerated mode to prevent to show black empty view for
2214         the first request to show.
2215
2216         * UIProcess/API/efl/EwkView.cpp:
2217         (EwkView::EwkView):
2218         (EwkView::handleEvasObjectShow):
2219
2220 2014-01-16  Andy Estes  <aestes@apple.com>
2221
2222         Build Fix: Use standard architectures when building for iOS
2223
2224         Even though we don't use the plug-in services on iOS, we still need
2225         them to build (we won't install them). Be sure we specify valid iOS
2226         architectures when doing so.
2227
2228         * Configurations/PluginService.32.xcconfig:
2229         * Configurations/PluginService.64.xcconfig:
2230
2231 2014-01-16  Enrica Casucci  <enrica@apple.com>
2232
2233         Crash when destroying WKInteractionView.
2234         https://bugs.webkit.org/show_bug.cgi?id=127153
2235         <rdar://problem/15840761>
2236
2237         Reviewed by Anders Carlsson.
2238
2239         UIWKSelectionAssistant is a RetainPtr and it is being 
2240         deallocated after the view and its gesture recognizers
2241         have been destroyed.
2242         The parent class UIWebSelectionAssistant assumes to be
2243         deallocated before the view is gone.
2244         We deallocate the interaction assistants explicitly to
2245         fix the problem.
2246
2247         * UIProcess/API/ios/WKInteractionView.mm:
2248         (-[WKInteractionView dealloc]):
2249
2250 2014-01-16  Brady Eidson  <beidson@apple.com>
2251
2252         IDB: delete object store support
2253         <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123
2254
2255         Reviewed by Alexey Proskuryakov.
2256
2257         Pipe through Web -> Database -> Web process messaging for delete object store.
2258         Perform dropping the object store in the backing store.
2259
2260         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2261         (WebKit::DatabaseProcessIDBConnection::deleteObjectStore):
2262         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2263         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2264
2265         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2266         (WebKit::UniqueIDBDatabase::didDeleteObjectStore):
2267         (WebKit::UniqueIDBDatabase::deleteObjectStore):
2268         (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
2269         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2270
2271         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2272         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2273         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
2274         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
2275         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2276
2277         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2278         (WebKit::WebIDBServerConnection::deleteObjectStore):
2279         (WebKit::WebIDBServerConnection::didDeleteObjectStore):
2280         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2281         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2282
2283 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
2284
2285         [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain
2286         https://bugs.webkit.org/show_bug.cgi?id=127139
2287
2288         Reviewed by Brady Eidson.
2289
2290         * Shared/HTTPCookieAcceptPolicy.h:
2291         * UIProcess/API/C/WKAPICast.h:
2292         (WebKit::toHTTPCookieAcceptPolicy):
2293         (WebKit::toAPI):
2294         * UIProcess/API/C/WKCookieManager.h:
2295         Added the policy to appropriate switches and enums.
2296
2297 2014-01-16  Jeffrey Pfau  <jpfau@apple.com>
2298
2299         Fix build after r162161. One FINAL was still present.
2300
2301         * Shared/cf/KeyedDecoder.h:
2302
2303 2014-01-16  Anders Carlsson  <andersca@apple.com>
2304
2305         Change all uses of FINAL to final now that all our compilers support it
2306         https://bugs.webkit.org/show_bug.cgi?id=127142
2307
2308         Reviewed by Benjamin Poulain.
2309
2310         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2311         * NetworkProcess/RemoteNetworkingContext.h:
2312         * Shared/API/Cocoa/RemoteObjectRegistry.h:
2313         * Shared/APIArray.h:
2314         * Shared/APIString.h:
2315         * Shared/AsyncRequest.h:
2316         * Shared/AsyncTask.h:
2317         * Shared/cf/KeyedEncoder.h:
2318         * UIProcess/API/gtk/PageClientImpl.h:
2319         * UIProcess/API/mac/PageClientImpl.h:
2320         * UIProcess/efl/WebViewEfl.h:
2321         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2322         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2323         * WebProcess/Plugins/PDF/PDFPlugin.h:
2324         * WebProcess/Storage/StorageAreaImpl.h:
2325         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
2326         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
2327         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
2328
2329 2014-01-16  Brady Eidson  <beidson@apple.com>
2330
2331         Fix the build after r162148
2332
2333         * Shared/cf/KeyedEncoder.h: s/OVERRIDE/override/
2334
2335 2014-01-15  Brady Eidson  <beidson@apple.com>
2336
2337         Use KeyedCoding as a persistent storage mechanism for blobs
2338         https://bugs.webkit.org/show_bug.cgi?id=127012
2339
2340         Reviewed by Anders Carlsson.
2341
2342         Add a way to get the encoded buffer to save:
2343         * Shared/cf/KeyedEncoder.cpp:
2344         (WebKit::KeyedEncoder::finishEncoding):
2345         * Shared/cf/KeyedEncoder.h:
2346
2347         Add a WebKit KeyedDecoder for CF platforms that can decode the previously encoded buffer:
2348         * Shared/cf/KeyedDecoder.cpp: Added.
2349         (WebKit::KeyedDecoder::KeyedDecoder):
2350         (WebKit::KeyedDecoder::~KeyedDecoder):
2351         (WebKit::KeyedDecoder::decodeInt64):
2352         (WebKit::KeyedDecoder::decodeUInt32):
2353         (WebKit::KeyedDecoder::decodeString):
2354         (WebKit::KeyedDecoder::beginObject):
2355         (WebKit::KeyedDecoder::endObject):
2356         (WebKit::KeyedDecoder::beginArray):
2357         (WebKit::KeyedDecoder::beginArrayElement):
2358         (WebKit::KeyedDecoder::endArrayElement):
2359         (WebKit::KeyedDecoder::endArray):
2360         * Shared/cf/KeyedDecoder.h:
2361
2362         Create a WebKit KeyedEncoder/Decoder and use to encode/decode IDBKeyPaths:
2363         * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
2364         (WebKit::serializeIDBKeyPath):
2365         (WebKit::deserializeIDBKeyPath):
2366         * DatabaseProcess/IndexedDB/IDBSerialization.h:
2367
2368         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2369         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
2370
2371         * WebKit2.xcodeproj/project.pbxproj:
2372
2373 2014-01-16  Andy Estes  <aestes@apple.com>
2374
2375         Stop copying WKOriginDataManager.cpp into WebKit2.framework
2376         https://bugs.webkit.org/show_bug.cgi?id=127100
2377
2378         Reviewed by Sam Weinig.
2379
2380         The file was mistakenly added to the 'All' target. Remove it.
2381
2382         * WebKit2.xcodeproj/project.pbxproj:
2383
2384 2014-01-16  Andy Estes  <aestes@apple.com>
2385
2386         [iOS] Install WebKit2 XPC services correctly
2387         https://bugs.webkit.org/show_bug.cgi?id=127097
2388
2389         Reviewed by Anders Carlsson.
2390
2391         * Configurations/PluginService.32.xcconfig: Set SKIP_INSTALL to YES on iOS.
2392         * Configurations/PluginService.64.xcconfig: Ditto.
2393         * Configurations/PluginService.Development.xcconfig: Ditto.
2394         * WebKit2.xcodeproj/project.pbxproj: Modified the "Add XPCServices symlink"
2395         build phase to only execute on OS X. Modified the
2396         "Copy XPC services for engineering builds" build phase to copy files
2397         directly to WebKit2.framework/XPCServices/ on iOS, and modified its
2398         output file paths to omit "Versions/A/" (since OS X will have a
2399         XPCServices symlink at the root of the framework bundle).
2400
2401 2014-01-16  Roger Fong  <roger_fong@apple.com>
2402
2403         Build fix for mac following r162141.
2404
2405         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Switch OVERRIDE to override.
2406
2407 2014-01-16  Roger Fong  <roger_fong@apple.com>
2408
2409         Add support for handling WebGL load policies.
2410         https://bugs.webkit.org/show_bug.cgi?id=126935
2411         <rdar://problem/15790448>.
2412
2413         Reviewed by Timothy Horton.
2414
2415         Boiler plate code for getting the load policy logic from WebProcess to the UIProcess.
2416
2417         * UIProcess/API/C/WKAPICast.h:
2418         (WebKit::toWebGLLoadPolicy):
2419         * UIProcess/API/C/WKPageLoaderClient.h: Define a new WKPageLoaderClientV4 struct.
2420         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2421         (setUpPageLoaderClient):
2422         * UIProcess/WebLoaderClient.cpp:
2423         (WebKit::WebLoaderClient::webGLLoadPolicy):
2424         * UIProcess/WebLoaderClient.h:
2425         * UIProcess/WebPageProxy.cpp:
2426         (WebKit::WebPageProxy::webGLPolicyForURL):
2427         * UIProcess/WebPageProxy.h:
2428         * UIProcess/WebPageProxy.messages.in:
2429         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2430         (WebKit::WebFrameLoaderClient::webGLPolicyForURL): 
2431         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2432         * WebProcess/WebPage/WebPage.cpp:
2433         (WebKit::WebPage::webGLPolicyForURL): We use a sendSync to get the load policy value from the UIProcess.
2434         * WebProcess/WebPage/WebPage.h:
2435
2436 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2437
2438         Remove workaround for compilers not supporting explicit override control
2439         https://bugs.webkit.org/show_bug.cgi?id=127111
2440
2441         Reviewed by Anders Carlsson.
2442
2443         Now all compilers support explicit override control, this workaround can be removed.
2444
2445         * DatabaseProcess/DatabaseProcess.h:
2446         * DatabaseProcess/DatabaseToWebProcessConnection.h:
2447         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2448         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2449         * NetworkProcess/AsynchronousNetworkLoaderClient.h:
2450         * NetworkProcess/NetworkProcess.h:
2451         * NetworkProcess/NetworkProcessPlatformStrategies.h:
2452         * NetworkProcess/NetworkResourceLoader.h:
2453         * NetworkProcess/RemoteNetworkingContext.h:
2454         * NetworkProcess/SynchronousNetworkLoaderClient.h:
2455         * NetworkProcess/mac/DiskCacheMonitor.h:
2456         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
2457         * PluginProcess/PluginControllerProxy.h:
2458         * PluginProcess/PluginProcess.h:
2459         * PluginProcess/WebProcessConnection.h:
2460         * Shared/API/Cocoa/RemoteObjectRegistry.h:
2461         * Shared/APIObject.h:
2462         * Shared/AsyncRequest.h:
2463         * Shared/AsyncTask.h:
2464         * Shared/Authentication/AuthenticationManager.h:
2465         * Shared/ChildProcess.h:
2466         * Shared/ChildProcessProxy.h:
2467         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
2468         * Shared/Downloads/Download.h:
2469         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2470         * Shared/WebConnection.h:
2471         * Shared/WebResourceBuffer.h:
2472         * Shared/cf/KeyedEncoder.h:
2473         * Shared/mac/SecItemShim.h:
2474         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2475         * UIProcess/API/gtk/PageClientImpl.h:
2476         * UIProcess/API/ios/PageClientImplIOS.h:
2477         * UIProcess/API/mac/PageClientImpl.h:
2478         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
2479         * UIProcess/CoordinatedGraphics/WebView.h:
2480         * UIProcess/Databases/DatabaseProcessProxy.h:
2481         * UIProcess/Downloads/DownloadProxy.h:
2482         * UIProcess/DrawingAreaProxy.h:
2483         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2484         * UIProcess/Network/NetworkProcessProxy.h:
2485         * UIProcess/Notifications/WebNotificationManagerProxy.h:
2486         * UIProcess/Plugins/PluginProcessProxy.h:
2487         * UIProcess/Scrolling/RemoteScrollingTree.h:
2488         * UIProcess/Storage/StorageManager.h:
2489         * UIProcess/WebApplicationCacheManagerProxy.h:
2490         * UIProcess/WebBatteryManagerProxy.h:
2491         * UIProcess/WebConnectionToWebProcess.h:
2492         * UIProcess/WebContext.h:
2493         * UIProcess/WebCookieManagerProxy.h:
2494         * UIProcess/WebDatabaseManagerProxy.h:
2495         * UIProcess/WebFullScreenManagerProxy.h:
2496         * UIProcess/WebGeolocationManagerProxy.h:
2497         * UIProcess/WebIconDatabase.h:
2498         * UIProcess/WebInspectorProxy.h:
2499         * UIProcess/WebKeyValueStorageManager.h:
2500         * UIProcess/WebMediaCacheManagerProxy.h:
2501         * UIProcess/WebNetworkInfoManagerProxy.h:
2502         * UIProcess/WebOriginDataManagerProxy.h:
2503         * UIProcess/WebPageProxy.h:
2504         * UIProcess/WebProcessProxy.h:
2505         * UIProcess/WebResourceCacheManagerProxy.h:
2506         * UIProcess/WebVibrationProxy.h:
2507         * UIProcess/efl/PageViewportControllerClientEfl.h:
2508         * UIProcess/efl/WebViewEfl.h:
2509         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
2510         * UIProcess/mac/SecItemShimProxy.h:
2511         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2512         * UIProcess/mac/ViewGestureController.h:
2513         * UIProcess/mac/WebColorPickerMac.h:
2514         * UIProcess/soup/WebSoupRequestManagerProxy.h:
2515         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
2516         * WebProcess/Battery/WebBatteryManager.h:
2517         * WebProcess/Cookies/WebCookieManager.h:
2518         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2519         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2520         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
2521         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
2522         * WebProcess/FileAPI/BlobRegistryProxy.h:
2523         * WebProcess/Geolocation/WebGeolocationManager.h:
2524         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
2525         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
2526         * WebProcess/MediaCache/WebMediaCacheManager.h:
2527         * WebProcess/Network/NetworkProcessConnection.h:
2528         * WebProcess/Network/WebResourceLoadScheduler.h:
2529         * WebProcess/Network/WebResourceLoader.h:
2530         * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
2531         * WebProcess/Notifications/WebNotificationManager.h:
2532         * WebProcess/OriginData/WebOriginDataManager.h:
2533         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2534         * WebProcess/Plugins/PDF/PDFPlugin.h:
2535         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
2536         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
2537         * WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
2538         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
2539         * WebProcess/Plugins/PluginProcessConnection.h:
2540         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2541         * WebProcess/Plugins/PluginProxy.h:
2542         * WebProcess/Plugins/PluginView.h:
2543         * WebProcess/ResourceCache/WebResourceCacheManager.h:
2544         * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
2545         * WebProcess/Storage/StorageAreaImpl.h:
2546         * WebProcess/Storage/StorageAreaMap.h:
2547         * WebProcess/Storage/StorageNamespaceImpl.h:
2548         * WebProcess/WebConnectionToUIProcess.h:
2549         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
2550         * WebProcess/WebCoreSupport/WebBatteryClient.h:
2551         * WebProcess/WebCoreSupport/WebChromeClient.h:
2552         * WebProcess/WebCoreSupport/WebColorChooser.h:
2553         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2554         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
2555         * WebProcess/WebCoreSupport/WebDeviceProximityClient.h:
2556         * WebProcess/WebCoreSupport/WebDragClient.h:
2557         * WebProcess/WebCoreSupport/WebEditorClient.h:
2558         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2559         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
2560         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2561         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
2562         * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
2563         * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
2564         * WebProcess/WebCoreSupport/WebNotificationClient.h:
2565         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2566         * WebProcess/WebCoreSupport/WebPopupMenu.h:
2567         * WebProcess/WebCoreSupport/WebProgressTrackerClient.h:
2568         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
2569         * WebProcess/WebCoreSupport/WebVibrationClient.h:
2570         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2571         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
2572         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2573         * WebProcess/WebPage/DrawingAreaImpl.h:
2574         * WebProcess/WebPage/EventDispatcher.h:
2575         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
2576         * WebProcess/WebPage/WebBackForwardListProxy.h:
2577         * WebProcess/WebPage/WebPage.h:
2578         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2579         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
2580         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
2581         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
2582         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
2583         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
2584         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2585         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2586         * WebProcess/WebProcess.h:
2587         * WebProcess/soup/WebSoupRequestManager.h:
2588
2589 2014-01-16  Ian Henderson  <ianh@apple.com>
2590
2591         Expose scrollView on WKView
2592         https://bugs.webkit.org/show_bug.cgi?id=127085
2593
2594         Reviewed by Antti Koivisto.
2595
2596         Expose WKView's scroll view as a property.  In order to support
2597         clients calling setDelegate:, we create a forwarder object that sends
2598         delegate methods to both WKView (the "internal delegate") and the
2599         publicly-exposed delegate (the "external delegate").
2600
2601         * UIProcess/API/Cocoa/WKView.h:
2602         * UIProcess/API/ios/WKScrollView.h:
2603         * UIProcess/API/ios/WKScrollView.mm:
2604         (-[WKScrollViewDelegateForwarder initWithInternalDelegate:externalDelegate:]):
2605         (-[WKScrollViewDelegateForwarder methodSignatureForSelector:]):
2606         (-[WKScrollViewDelegateForwarder respondsToSelector:]):
2607         (-[WKScrollViewDelegateForwarder forwardInvocation:]):
2608         (-[WKScrollView setInternalDelegate:]):
2609         (-[WKScrollView setDelegate:]):
2610         (-[WKScrollView delegate]):
2611         Pretend like _externalDelegate is the real delegate to avoid exposing
2612         our internal delegate or forwarder object.
2613         (-[WKScrollView _updateDelegate]):
2614         (-[WKScrollView dealloc]):
2615         * UIProcess/API/ios/WKViewIOS.mm:
2616         (-[WKView scrollView]):
2617         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
2618
2619 2014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2620
2621         [GTK][EFL][NIX] Do not use PrintContext, Frame and DocumentLoader in Errors
2622         https://bugs.webkit.org/show_bug.cgi?id=127047
2623
2624         Reviewed by Martin Robinson.
2625
2626         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2627         (WebKit::WebPrintOperationGtk::frameURL): Helper function to get
2628         the URL of the frame being printed.
2629         (WebKit::WebPrintOperationGtk::print): Use frameURL() as failing
2630         URL for printing errors.
2631         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2632
2633 2014-01-15  Benjamin Poulain  <bpoulain@apple.com>
2634
2635         Move user agent code to WebCore and unify some code between OS X and iOS
2636         https://bugs.webkit.org/show_bug.cgi?id=127080
2637
2638         Reviewed by Sam Weinig.
2639
2640         * UIProcess/ios/WebPageProxyIOS.mm:
2641         (WebKit::userVisibleWebKitVersionString):
2642         (WebKit::WebPageProxy::standardUserAgent):
2643         * UIProcess/mac/WebPageProxyMac.mm:
2644         (WebKit::WebPageProxy::standardUserAgent):
2645         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2646         (InitWebCoreSystemInterface):
2647
2648 2014-01-15  Eunmi Lee  <eunmi15.lee@samsung.com>
2649
2650         [EFL][WK2] Use timestamp when event occurs for touch events.
2651         https://bugs.webkit.org/show_bug.cgi?id=126424
2652
2653         Reviewed by Gyuyoung Kim.
2654
2655         Current time is used for touch event's timestamp instead of timestamp
2656         when event occurs. Timestamp of touch event is used to implement flick
2657         gesture, so it should be real value for accurate gesture processing.
2658
2659         * UIProcess/API/efl/EwkView.cpp:
2660         Function names for handling touch events are changed to distinguish
2661         mouse events and multi events.
2662         (EwkView::setTouchEventsEnabled):
2663         (EwkView::feedTouchEvents):
2664         (EwkView::handleMouseDownForTouch):
2665         (EwkView::handleMouseUpForTouch):
2666         (EwkView::handleMouseMoveForTouch):
2667         (EwkView::handleMultiDownForTouch):
2668         (EwkView::handleMultiUpForTouch):
2669         (EwkView::handleMultiMoveForTouch):
2670         * UIProcess/API/efl/EwkView.h:
2671         * UIProcess/API/efl/GestureRecognizer.cpp:
2672         (WebKit::GestureHandler::handlePan):
2673         (WebKit::GestureRecognizer::processTouchEvent):
2674         (WebKit::GestureRecognizer::noGesture):
2675         (WebKit::GestureRecognizer::singleTapGesture):
2676         (WebKit::GestureRecognizer::doubleTapGesture):
2677         (WebKit::GestureRecognizer::panGesture):
2678         (WebKit::GestureRecognizer::pinchGesture):
2679         * UIProcess/API/efl/GestureRecognizer.h:
2680
2681 2014-01-15  Gavin Barraclough  <barraclough@apple.com>
2682
2683         Change Page, FocusController to use ViewState
2684         https://bugs.webkit.org/show_bug.cgi?id=126533
2685
2686         Unreviewed rollout, this caused a regression.
2687
2688         * WebProcess/WebPage/WebPage.cpp:
2689         (WebKit::WebPage::WebPage):
2690         (WebKit::WebPage::setActive):
2691         (WebKit::WebPage::setViewIsVisible):
2692         (WebKit::WebPage::setFocused):
2693         (WebKit::WebPage::setIsInWindow):
2694         (WebKit::WebPage::setViewStateInternal):
2695         (WebKit::WebPage::setIsVisuallyIdle):
2696         * WebProcess/WebPage/WebPage.h:
2697
2698 2014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>
2699
2700         https://bugs.webkit.org/show_bug.cgi?id=127072
2701         Don't autorelease wrapper object (WebProcessPlugInScriptWorld) for InjectedBundleScriptWorld::normalWorld().
2702
2703         Reviewed by Geoffrey Garen.
2704
2705         In [WKWebProcessPlugInScriptWorld normalWorld], InjectedBundleScriptWorld::normalWorld() returns a static
2706         instance,  autoreleasing its wrapper object could cause a dangling pointer and crash later.
2707
2708         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
2709         (+[WKWebProcessPlugInScriptWorld normalWorld]):
2710
2711 2014-01-15  Andy Estes  <aestes@apple.com>
2712
2713         [iOS] Properly exclude the shim dylibs this time
2714         https://bugs.webkit.org/show_bug.cgi?id=127075
2715
2716         Reviewed by Anders Carlsson.
2717
2718         BaseLegacyProcess.xcconfig was setting EXCLUDED_SOURCE_FILE_NAMES in
2719         conflict with what I added in r161918, and I misspelled the setting
2720         name in two instances. Fix these two bugs.
2721
2722         Also remove a vestigial OTHER_LDFLAGS from WebContentProcess.xcconfig
2723         while we're here.
2724
2725         * Configurations/BaseLegacyProcess.xcconfig:
2726         * Configurations/NetworkProcess.xcconfig:
2727         * Configurations/PluginProcess.xcconfig:
2728         * Configurations/WebContentProcess.xcconfig:
2729
2730 2014-01-15  Enrica Casucci  <enrica@apple.com>
2731
2732         Support WebSelections in WK2 on iOS.
2733         https://bugs.webkit.org/show_bug.cgi?id=127015
2734
2735         Reviewed by Benjamin Poulain.
2736
2737         This is the first step towards adding support for selections in
2738         non editable content on iOS for WK2.
2739         In particular, this patch adds the basic plumbing to decide which
2740         gesture recognizers are enabled and adds empty stubs for the gestures
2741         that we'll need to support.
2742         There are two separate assistants for selections, one to be used
2743         in editable text (UIWKTextInteractionAssistant) and one for non editable
2744         text (UIWKSelectionAssistant) and they are mutually exclusive.
2745         UIWKSelectionAssistant is created at the time the view is created, 
2746         and swapped with UIWKTextInteraction assistant
2747         only when an editable element is focused and the keyboard appears on screen.
2748
2749         gestureRecognizerShouldBegin is the delegate call used to decide which gestures
2750         should begin based on the position the gesture occurred at.
2751         We want to avoid as much as possible synchronous calls to the WebProcess to
2752         retrieve information about the content and in order to do so, we take advantage
2753         of the order in which the gesture recognizers will trigger, based on the delay
2754         configured at initialization.
2755         The first gesture to trigger is highlightLongPress, followed by longpress in the
2756         active assistant and longpress in the WKInteractionView.
2757         There are two different scenarios for highlighlongpress based on which assistant is
2758         currently active.
2759
2760         UIWKSelectionAssistant is active:
2761             We send a request to the WebProcess to get information on the position
2762             and we return YES, allowing the gesture to start.
2763             We delegate to the WebProcess the proper handling of highlight based on the element.
2764             When longPress gesture fires for the assistant, we assume we have received the reply to our
2765             previous request, if not we fetch the information synchronously.
2766             We are then able to make an informed decision about whether
2767             or not to start the gesture. If the reply is NO, the third and last long press
2768             gesture can be evaluated to decide whether to show the action sheet or simply generate
2769             a click event.
2770
2771         UIWKTextInteractionAssistant is active:
2772             In this case we must have information about the position immediately and we issue
2773             a synchronous request to the WebProcess.
2774             If we are not interacting with the same node, we return NO.
2775             Then the longpress gesture fires for the assistant which performs the same check.
2776             If the node is the same, the loupe gesture will start, otherwise the last longpress
2777             gesture will be evaluated to decide about showing the action sheet or generating a
2778             click event.
2779
2780         * Scripts/webkit2/messages.py:
2781         * Shared/InteractionInformationAtPosition.cpp: Added.
2782         (WebKit::InteractionInformationAtPosition::encode):
2783         (WebKit::InteractionInformationAtPosition::decode):
2784         * Shared/InteractionInformationAtPosition.h: Added.
2785         (WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
2786         * UIProcess/API/ios/PageClientImplIOS.h:
2787         * UIProcess/API/ios/PageClientImplIOS.mm:
2788         (WebKit::PageClientImpl::positionInformationDidChange):
2789         * UIProcess/API/ios/WKContentView.mm:
2790         (-[WKContentView _positionInformationDidChange:]):
2791         * UIProcess/API/ios/WKContentViewInternal.h:
2792         * UIProcess/API/ios/WKInteractionView.h:
2793         * UIProcess/API/ios/WKInteractionView.mm:
2794         (-[WKInteractionView initWithFrame:]):
2795         (-[WKInteractionView dealloc]):
2796         (-[WKInteractionView gestureRecognizer:canPreventGestureRecognizer:]):
2797         (-[WKInteractionView gestureRecognizer:canBePreventedByGestureRecognizer:]):
2798         (isSamePair):
2799         (-[WKInteractionView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
2800         (-[WKInteractionView _showImageSheet]):
2801         (-[WKInteractionView _showLinkSheet]):
2802         (-[WKInteractionView _actionForLongPress]):
2803         (-[WKInteractionView ensurePositionInformationIsUpToDate:]):
2804         (-[WKInteractionView gestureRecognizerShouldBegin:]):
2805         (-[WKInteractionView hasSelectablePositionAtPoint:]):
2806         (-[WKInteractionView pointIsInAssistedNode:]):
2807         (-[WKInteractionView _longPressRecognized:]):
2808         (-[WKInteractionView _doubleTapRecognized:]):
2809         (-[WKInteractionView _twoFingerDoubleTapRecognized:]):
2810         (-[WKInteractionView _twoFingerPanRecognized:]):
2811         (-[WKInteractionView useSelectionAssistantWithMode:]):
2812         (-[WKInteractionView _positionInformationDidChange:]):
2813         (-[WKInteractionView interactionAssistant]):
2814         (-[WKInteractionView _startAssistingKeyboard]):
2815         (-[WKInteractionView _stopAssistingKeyboard]):
2816         * UIProcess/PageClient.h:
2817         * UIProcess/WebPageProxy.h:
2818         * UIProcess/WebPageProxy.messages.in:
2819         * UIProcess/ios/WebPageProxyIOS.mm:
2820         (WebKit::WebPageProxy::didReceivePositionInformation):
2821         (WebKit::WebPageProxy::getPositionInformation):
2822         (WebKit::WebPageProxy::requestPositionInformation):
2823         * WebKit2.xcodeproj/project.pbxproj:
2824         * WebProcess/WebPage/WebPage.h:
2825         * WebProcess/WebPage/WebPage.messages.in:
2826         * WebProcess/WebPage/ios/WebPageIOS.mm:
2827         (WebKit::WebPage::selectWithGesture):
2828         (WebKit::WebPage::getPositionInformation):
2829         (WebKit::WebPage::requestPositionInformation):
2830
2831 2014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>
2832
2833         https://bugs.webkit.org/show_bug.cgi?id=127066
2834         Add WKBrowsingContextHandle.h to WebKit2 private headers.
2835
2836         Reviewed by Dan Bernstein.
2837
2838         Add WKBrowsingContextHandle.h to WebKit2 private headers so that WebKit2 client
2839         can use WKBrowsingContextHandle class.
2840
2841         * WebKit2.xcodeproj/project.pbxproj:
2842
2843 2014-01-15  Piotr Grad  <p.grad@samsung.com>
2844
2845         toStringVector static function definition should not be redundant.
2846         https://bugs.webkit.org/show_bug.cgi?id=126872.
2847
2848         Reviewed by Anders Carlsson.
2849
2850         toStringVector function was declared twice in InjectedBundle.cpp and WebPageGroup.cpp as static.
2851         In order to remove redundant definition this function was moved into API::Array.
2852
2853         * Shared/APIArray.cpp:
2854         (API::Array::toStringVector):
2855         * Shared/APIArray.h:
2856         * UIProcess/WebPageGroup.cpp:
2857         (WebKit::WebPageGroup::addUserStyleSheet):
2858         (WebKit::WebPageGroup::addUserScript):
2859         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2860         (WebKit::InjectedBundle::addUserScript):
2861         (WebKit::InjectedBundle::addUserStyleSheet):
2862
2863 2014-01-10  Gavin Barraclough  <barraclough@apple.com>
2864
2865         REGRESSION (r158369): Some pop-up windows open at incorrect size (affects GMail, theblaze.com)
2866         https://bugs.webkit.org/show_bug.cgi?id=126289
2867
2868         Reviewed by Anders Carlson.
2869
2870         Partial revert of https://bugs.webkit.org/show_bug.cgi?id=123557.
2871         On window.open, update page when the UIProcess sends the create message
2872
2873         * UIProcess/WebPageProxy.cpp:
2874         (WebKit::WebPageProxy::initializeWebPage):
2875         (WebKit::WebPageProxy::creationParameters):
2876         * UIProcess/WebPageProxy.h:
2877             - creation paraments are not preserved at window.open.
2878         * WebProcess/WebPage/WebPage.cpp:
2879         (WebKit::WebPage::reinitializeWebPage):
2880         (WebKit::WebPage::setViewState):
2881         (WebKit::WebPage::setViewStateInternal):
2882         * WebProcess/WebPage/WebPage.h:
2883             - add interface to update page.
2884         * WebProcess/WebProcess.cpp:
2885         (WebKit::WebProcess::createWebPage):
2886             - if we try to create a page that already exists, update the current page's view state.
2887
2888 2014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2889
2890         [GTK] Web process sometimes crashes when printing in synchronous mode
2891         https://bugs.webkit.org/show_bug.cgi?id=126979
2892
2893         Reviewed by Gustavo Noronha Silva.
2894
2895         When printing synchronously in GTK+ we need to make sure that we
2896         have a list of Printers before starting the print operation. Getting
2897         the list of printers is done synchronously by GTK+, but using a
2898         nested main loop that might process IPC messages comming from the
2899         UI process like EndPrinting. When the EndPrinting message is
2900         received while the printer list is being populated, the print
2901         operation is finished unexpectely and the web process crashes. The
2902         PrinterListGtk class gets the list of printers in the constructor
2903         so we just need to ensure there's an instance alive during the
2904         synchronous print operation. In case of asynchronous printing the
2905         printer list will be created during the print operation without
2906         any risk, because the EndPrinting message is not sent until the
2907         printing callback has been received in the UI process.
2908
2909         * GNUmakefile.list.am: Add new files to compilation.
2910         * PlatformGTK.cmake: Ditto.
2911         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2912         (WebKit::WebChromeClient::print): Ensure PrinterListGtk is created
2913         before the synchronous printing and destroyed afterwards.
2914         * WebProcess/WebPage/gtk/PrinterListGtk.cpp: Added.
2915         (WebKit::PrinterListGtk::shared): Return the singleton.
2916         (WebKit::PrinterListGtk::enumeratePrintersFunction): Callback
2917         called by gtk_enumerate_printers() when a new printer is found.
2918         (WebKit::PrinterListGtk::PrinterListGtk): Call
2919         gtk_enumerate_printers() in syhchronous mode.
2920         (WebKit::PrinterListGtk::~PrinterListGtk):
2921         (WebKit::PrinterListGtk::addPrinter): Add the printer to the list
2922         and set the default printer if needed.
2923         (WebKit::PrinterListGtk::findPrinter): Find the printer for the
2924         given name.
2925         * WebProcess/WebPage/gtk/PrinterListGtk.h: Added.
2926         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Use
2927         PrinterListGtk class to find the printer instead of calling
2928         gtk_enumerate_printers().
2929
2930 2014-01-15  Tomas Popela  <tpopela@redhat.com>
2931
2932         [SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
2933         https://bugs.webkit.org/show_bug.cgi?id=126577
2934
2935         Reviewed by Carlos Garcia Campos.
2936
2937         As in http://trac.webkit.org/changeset/152483, but this time for
2938         WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to
2939         disable the MemoryCache completely to prevent caching of the resources.
2940
2941         * WebProcess/soup/WebProcessSoup.cpp:
2942         (WebKit::WebProcess::platformSetCacheModel):
2943
2944 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2945
2946         [GTK] UI process crashes when closing the window right after printing with javascript
2947         https://bugs.webkit.org/show_bug.cgi?id=126981
2948
2949         Reviewed by Gustavo Noronha Silva.
2950
2951         The UI process crashes because when the page is closed, the web
2952         view is destroyed before the print operation has actually
2953         finished. Use a weak pointer to make sure the web view pointer is
2954         set to NULL when the it's destroyed and emit the finished callback
2955         always so that the user can clean up the operation even when the
2956         web view has been closed.
2957
2958         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2959         (drawPagesForPrintingCompleted):
2960
2961 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2962
2963         [GTK] UI process crashes when the web process crashes while printing
2964         https://bugs.webkit.org/show_bug.cgi?id=126977
2965
2966         Reviewed by Gustavo Noronha Silva.
2967
2968         When the web process crashes, the printing callback is
2969         invalidated, so the function is called with a NULL error.
2970
2971         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2972         (drawPagesForPrintingCompleted): Check wkError is not NULL before
2973         trying to use it.
2974         * UIProcess/API/gtk/WebKitWebView.cpp:
2975         (webkitWebViewPrintFrame): Set the print mode of the operation
2976         before emitting the print signal.
2977
2978 2014-01-14  Brady Eidson  <beidson@apple.com>
2979
2980         IDB: create object store support
2981         <rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011
2982
2983         Reviewed by Anders Carlsson.
2984
2985         Add messaging/callback infrastructure for creating object stores:
2986         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2987         (WebKit::DatabaseProcessIDBConnection::createObjectStore):
2988         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2989         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2990
2991         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2992         (WebKit::WebIDBServerConnection::createObjectStore):
2993         (WebKit::WebIDBServerConnection::didCreateObjectStore):
2994         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2995         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2996
2997         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2998         (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
2999         (WebKit::UniqueIDBDatabase::didCreateObjectStore):
3000         (WebKit::UniqueIDBDatabase::didCompleteBoolRequest):
3001         (WebKit::UniqueIDBDatabase::createObjectStore):
3002         (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
3003         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
3004
3005         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
3006
3007         Add serialization helpers to save/restore an IDBKeyPath to/from disk:
3008         * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
3009         (WebKit::serializeIDBKeyPath):
3010         (WebKit::deserializeIDBKeyPath):
3011         * DatabaseProcess/IndexedDB/IDBSerialization.h:
3012
3013         Add object store metadata to the schema, and save/restore the metadata:
3014         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3015         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
3016         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
3017         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
3018         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
3019
3020         * Scripts/webkit2/messages.py:
3021         (struct_or_class):
3022         * WebKit2.xcodeproj/project.pbxproj:
3023
3024 2014-01-14  Jae Hyun Park  <jae.park@company100.net>
3025
3026         [GTK] Unreviewed build fix after r162034
3027
3028         * GNUmakefile.list.am:
3029
3030 2014-01-14  Ryuan Choi  <ryuan.choi@samsung.com>
3031
3032         Unreviewed build fix for CMake based ports after r162034.
3033
3034         * CMakeLists.txt:
3035
3036 2014-01-14  Jeffrey Pfau  <jpfau@apple.com>
3037
3038         Build fix after r162034
3039
3040         Rubber-stamped by Benjamin Poulain.
3041
3042         * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:
3043
3044 2014-01-14  Anders Carlsson  <andersca@apple.com>
3045
3046         Create separate progress tracker clients
3047         https://bugs.webkit.org/show_bug.cgi?id=127025
3048
3049         Reviewed by Sam Weinig.
3050
3051         * WebKit2.xcodeproj/project.pbxproj:
3052         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3053         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3054         * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
3055         (WebKit::WebProgressTrackerClient::WebProgressTrackerClient):
3056         (WebKit::WebProgressTrackerClient::progressTrackerDestroyed):
3057         (WebKit::WebProgressTrackerClient::progressStarted):
3058         (WebKit::WebProgressTrackerClient::progressEstimateChanged):
3059         (WebKit::WebProgressTrackerClient::progressFinished):
3060         * WebProcess/WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
3061         * WebProcess/WebPage/WebPage.cpp:
3062         (WebKit::WebPage::WebPage):
3063
3064 2014-01-14  Benjamin Poulain  <bpoulain@apple.com>
3065
3066         [WK2] Make WebPageProxy's setUserAgent private
3067         https://bugs.webkit.org/show_bug.cgi?id=127013
3068
3069         Reviewed by Anders Carlsson.
3070
3071         * UIProcess/WebPageProxy.h:
3072         The API to modify the user agent already has 3 "setters":
3073         -standardUserAgent
3074         -setApplicationNameForUserAgent
3075         -setCustomUserAgent
3076
3077         The method WebPageProxy::setUserAgent() is supposed to be internal, not used directly.
3078         Using it directly would cause unexpected behaviors, for example:
3079         -Set the user agent with setUserAgent.
3080         -Set CustomUserAgent.
3081         -Reset CustomUserAgent.
3082         ->The user agent is now standardUserAgent instead of the user agent defined initially.
3083
3084 2014-01-14  Commit Queue  <commit-queue@webkit.org>
3085
3086         Unreviewed, rolling out r162000.
3087         http://trac.webkit.org/changeset/162000
3088         https://bugs.webkit.org/show_bug.cgi?id=127009
3089
3090         API versioning is wrong (Requested by rfong on #webkit).
3091
3092         * UIProcess/API/C/WKAPICast.h:
3093         * UIProcess/API/C/WKPageLoaderClient.h:
3094         * UIProcess/API/C/WKPageUIClient.h:
3095         * UIProcess/WebLoaderClient.cpp:
3096         * UIProcess/WebLoaderClient.h:
3097         * UIProcess/WebPageProxy.cpp:
3098         * UIProcess/WebPageProxy.h:
3099         * UIProcess/WebPageProxy.messages.in:
3100         * UIProcess/WebUIClient.cpp:
3101         * UIProcess/WebUIClient.h:
3102         * UIProcess/mac/WebInspectorProxyMac.mm:
3103         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3104         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3105         * WebProcess/WebCoreSupport/WebChromeClient.h:
3106         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3107         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3108         * WebProcess/WebPage/WebPage.cpp:
3109         * WebProcess/WebPage/WebPage.h:
3110
3111 2014-01-14  Csaba Osztrogon√°c  <ossy@webkit.org>
3112
3113         Speculative buildfix after r161999.
3114
3115         * Shared/APIObject.h:
3116
3117 2014-01-09  Roger Fong  <roger_fong@apple.com>
3118
3119         Add support for handling WebGL load policies.
3120         https://bugs.webkit.org/show_bug.cgi?id=126935
3121         <rdar://problem/15790448>.
3122
3123         Reviewed by Brent Fulgham.
3124
3125         Boiler plate code for sending messages to and from the UI and Web Process. 
3126
3127         * UIProcess/API/C/WKAPICast.h:
3128         (WebKit::toWebGLLoadPolicy):
3129         * UIProcess/API/C/WKPageLoaderClient.h:
3130         * UIProcess/API/C/WKPageUIClient.h:
3131         * UIProcess/WebLoaderClient.cpp:
3132         (WebKit::WebLoaderClient::webGLLoadPolicy):
3133         * UIProcess/WebLoaderClient.h:
3134         * UIProcess/WebPageProxy.cpp:
3135         (WebKit::WebPageProxy::webGLContextCreated):
3136         (WebKit::WebPageProxy::webGLPolicyForHost):
3137         * UIProcess/WebPageProxy.h:
3138         * UIProcess/WebPageProxy.messages.in:
3139         * UIProcess/WebUIClient.cpp:
3140         (WebKit::WebUIClient::webGLContextCreated):
3141         * UIProcess/WebUIClient.h:
3142         * UIProcess/mac/WebInspectorProxyMac.mm:
3143         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3144         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3145         (WebKit::WebChromeClient::webGLContextCreated):
3146         * WebProcess/WebCoreSupport/WebChromeClient.h:
3147         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3148         (WebKit::WebFrameLoaderClient::webGLPolicyForHost):
3149         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3150         * WebProcess/WebPage/WebPage.cpp: A sendSync is used here to get the webGLPolicyForHost message sent between the Web and UI process.
3151                                           In the future this will be replaced with a strategy is non-blocking.
3152         (WebKit::WebPage::getWebGLPolicyForHost):
3153         * WebProcess/WebPage/WebPage.h:
3154
3155 2014-01-14  Mark Rowe  <mrowe@apple.com>
3156
3157         WebKit2 leaks sudden termination assertions when a page with unload handlers is closed.
3158         <https://webkit.org/b/126974> / <rdar://problem/15812954>
3159
3160         When a page with an unload handler is loaded, the web process tells the UI process that it
3161         should disable sudden termination. However, when the page is closed the connection between
3162         the web and UI process is torn down before the web content has a chance to tell the UI
3163         process to reenable sudden termination.
3164
3165         Reviewed by Anders Carlsson.
3166
3167         * UIProcess/WebProcessProxy.cpp:
3168         (WebKit::WebProcessProxy::WebProcessProxy):
3169         (WebKit::WebProcessProxy::~WebProcessProxy): Balance any outstanding disableSuddenTermination calls.
3170         (WebKit::WebProcessProxy::enableSuddenTermination): Decrement the count.
3171         (WebKit::WebProcessProxy::disableSuddenTermination): Increment the count.
3172         * UIProcess/WebProcessProxy.h:
3173
3174 2014-01-14  Joseph Pecoraro  <pecoraro@apple.com>
3175
3176         Web Inspector: For Remote Inspection link WebProcess's to their parent UIProcess
3177         https://bugs.webkit.org/show_bug.cgi?id=126995
3178
3179         Reviewed by Timothy Hatcher.
3180
3181         * WebProcess/WebCoreSupport/WebInspectorClient.h:
3182         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
3183         (WebKit::WebInspectorClient::parentProcessIdentifier):
3184         WebProcesses are proxies for a parent UIProcess.
3185
3186 2014-01-14  Tim Horton  <timothy_horton@apple.com>
3187
3188         iOS WebKit2 build fixes, part 3
3189
3190         * WebKit2.xcodeproj/project.pbxproj:
3191         Remove some files from the 'All' target that should never have been a part of it.
3192
3193 2014-01-14  Tim Horton  <timothy_horton@apple.com>
3194
3195         iOS WebKit2 build fixes, part 2
3196
3197         * WebKit2.xcodeproj/project.pbxproj:
3198         Add some missing files.
3199
3200 2014-01-14  Brian J. Burg  <burg@cs.washington.edu>
3201
3202         Add ENABLE(WEB_REPLAY) feature flag to the build system
3203         https://bugs.webkit.org/show_bug.cgi?id=126949
3204
3205         Reviewed by Joseph Pecoraro.
3206
3207         * Configurations/FeatureDefines.xcconfig:
3208
3209 2014-01-14  Tim Horton  <timothy_horton@apple.com>
3210
3211         Move WKView.mm to WKViewIOS.mm as 161950 was supposed to do.
3212
3213         * UIProcess/API/ios/WKView.mm: Removed.
3214         * UIProcess/API/ios/WKViewIOS.mm: Copied from UIProcess/API/ios/WKView.mm.
3215
3216 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3217
3218         [GTK] Test /webkit2/WebKitWebContext/languages crashes with network process enabled
3219         https://bugs.webkit.org/show_bug.cgi?id=126130
3220
3221         Reviewed by Anders Carlsson.
3222
3223         We need to notify the network process when the user preferred
3224         languages have changed to update the SoupSession accordingly.
3225
3226         * NetworkProcess/NetworkProcess.h: Add
3227         userPreferredLanguagesChanged when using soup network backend.
3228         * NetworkProcess/NetworkProcess.messages.in: Add
3229         UserPreferredLanguagesChanged message when using soup network
3230         backend.
3231         * NetworkProcess/soup/NetworkProcessSoup.cpp:
3232         (WebKit::NetworkProcess::userPreferredLanguagesChanged): Update
3233         the SoupSession to use the given languages.
3234         (WebKit::NetworkProcess::platformInitializeNetworkProcess): Call
3235         userPreferredLanguagesChanged() when initialization parameters
3236         contain languages.
3237         (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
3238         Remove unnedded WebCore prefix.
3239         (WebKit::NetworkProcess::clearCacheForAllOrigins): Simplify using
3240         a single line.
3241         * Shared/Network/NetworkProcessCreationParameters.cpp:
3242         (WebKit::NetworkProcessCreationParameters::encode): Encode the
3243         languages vector.
3244         (WebKit::NetworkProcessCreationParameters::decode): Decode the
3245         languages vector.
3246         * Shared/Network/NetworkProcessCreationParameters.h:
3247         * UIProcess/WebContext.cpp:
3248         (WebKit::WebContext::languageChanged): Send a message also to the
3249         network process.
3250         * UIProcess/soup/WebContextSoup.cpp:
3251         (WebKit::WebContext::platformInitializeNetworkProcess): Set
3252         languages initial parameter.
3253
3254 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3255
3256         [SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference
3257         https://bugs.webkit.org/show_bug.cgi?id=126966
3258
3259         Reviewed by Gustavo Noronha Silva.
3260
3261         * WebProcess/soup/WebProcessSoup.cpp:
3262         (WebKit::setSoupSessionAcceptLanguage): Use const Vector<String>&.
3263
3264 2014-01-14  Andreas Kling  <akling@apple.com>
3265
3266         Remove deprecated DeferrableOneShotTimer constructor.
3267         <https://webkit.org/b/126984>
3268
3269         Reviewed by Anders Carlsson.
3270
3271         * WebProcess/Plugins/PluginView.h:
3272         * WebProcess/Plugins/PluginView.cpp:
3273         (WebKit::PluginView::pluginSnapshotTimerFired):
3274
3275             Take the timer by reference so we can use the new constructor.
3276
3277 2014-01-13  Tim Horton  <timothy_horton@apple.com>
3278
3279         iOS WebKit2 build fixes, part 1
3280
3281         * Configurations/WebKit2.xcconfig:
3282         * NetworkProcess/NetworkResourceLoader.cpp:
3283         * NetworkProcess/NetworkResourceLoader.h:
3284         * NetworkProcess/RemoteNetworkingContext.h:
3285         * Shared/WebEventConversion.h:
3286         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
3287         * UIProcess/API/ios/WKInteractionView.mm:
3288         (-[WKTextPosition isEqual:]):
3289         * UIProcess/API/ios/WKViewIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKView.mm.
3290         * UIProcess/ios/WebPageProxyIOS.mm:
3291         * UIProcess/ios/WebProcessProxyIOS.mm:
3292         * WebKit2.xcodeproj/project.pbxproj:
3293         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3294         * WebProcess/WebPage/WebPage.h:
3295         * WebProcess/WebPage/ios/WebPageIOS.mm:
3296         (WebKit::WebPage::elementDidFocus):
3297         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3298
3299 2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
3300
3301         [EFL][WK2] Disable failing API tests
3302         https://bugs.webkit.org/show_bug.cgi?id=126960
3303
3304         Reviewed by Gyuyoung Kim.
3305
3306         Disable color picker test until bug 119120 is resolved.
3307
3308         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
3309         (TEST_F):
3310
3311 2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
3312
3313         [EFL][WK2] ewk_view_page_contents_get() API test is failing
3314         https://bugs.webkit.org/show_bug.cgi?id=126957
3315
3316         Reviewed by Gyuyoung Kim.
3317
3318         As the day in 'Date' field may be one digit or two digit,
3319         the data length may also be varied by one byte.
3320
3321         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3322         (EWK2ViewTest::PageContentsAsMHTMLCallback):
3323
3324 2014-01-13  Commit Queue  <commit-queue@webkit.org>
3325
3326         Unreviewed, rolling out r161939.
3327         http://trac.webkit.org/changeset/161939
3328         https://bugs.webkit.org/show_bug.cgi?id=126956
3329
3330         didn't work with mac, of course (Requested by thorton on
3331         #webkit).
3332
3333         * NetworkProcess/NetworkResourceLoader.cpp:
3334         * NetworkProcess/NetworkResourceLoader.h:
3335         * NetworkProcess/RemoteNetworkingContext.h:
3336         * Shared/WebEventConversion.h:
3337         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
3338         * UIProcess/API/ios/WKInteractionView.mm:
3339         (-[WKTextPosition isEqual:]):
3340         * WebKit2.xcodeproj/project.pbxproj:
3341         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3342         * WebProcess/WebPage/WebPage.h:
3343         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3344
3345 2014-01-13  Benjamin Poulain  <bpoulain@apple.com>
3346
3347         Update WebPageProxyIOS's user agent string
3348         https://bugs.webkit.org/show_bug.cgi?id=126933
3349
3350         Reviewed by Darin Adler.
3351
3352         * UIProcess/ios/WebPageProxyIOS.mm:
3353         (WebKit::WebPageProxy::standardUserAgent):
3354         Send a more reasonable user agent. The previous one was forcing
3355         iOS 5.1's iPad user-agent.
3356
3357 2014-01-13  Tim Horton  <timothy_horton@apple.com>
3358
3359         iOS WebKit2 build fixes
3360
3361         * NetworkProcess/NetworkResourceLoader.cpp:
3362         * NetworkProcess/NetworkResourceLoader.h:
3363         Introduce/clarify some confusion about CFNETWORK vs. PLATFORM(IOS).
3364
3365         * NetworkProcess/RemoteNetworkingContext.h:
3366         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3367         Get rid of an override of something that doesn't exist anymore.
3368
3369         * WebKit2.xcodeproj/project.pbxproj:
3370         Add some files. It's likely there are more missing, but this is a start.
3371
3372         * Shared/WebEventConversion.h:
3373         * WebProcess/WebPage/WebPage.h:
3374         Use WebKitAdditions.
3375
3376         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
3377         Something bizarre is happening with internal deprecation warnings.
3378
3379         * UIProcess/API/ios/WKInteractionView.mm:
3380         (-[WKTextPosition isEqual:]):
3381         Fix a typo.
3382
3383         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3384         Remove an override of something that doesn't exist anymore.
3385
3386 2014-01-13  Andy Estes  <aestes@apple.com>
3387
3388         [iOS] Build Fix: Don't build the 'All-iOS' target on iOS. Just use 'All'.
3389
3390         * Makefile:
3391
3392 2014-01-13  Martin Robinson  <mrobinson@igalia.com>
3393
3394         [CMake] Mark all dependency include paths and libraries as advanced variables
3395         https://bugs.webkit.org/show_bug.cgi?id=126504
3396
3397         Reviewed by Daniel Bates.
3398
3399         * CMakeLists.txt: Mark the LIBRT_LIBRARIES variable as advanced.
3400
3401 2014-01-13  Martin Robinson  <mrobinson@igalia.com>
3402
3403         [GTK][CMake] Circular dependency in generation of WebKitEnumTypes.h
3404         https://bugs.webkit.org/show_bug.cgi?id=126912
3405
3406         Reviewed by Daniel Bates.
3407
3408         * PlatformGTK.cmake: Remove the circular dependency by generating WebKitEnumTypes.h with
3409         all installed headers except for WebKitEnumTypes.h itself.
3410
3411 2014-01-13  Andy Estes  <aestes@apple.com>
3412
3413         [iOS] Exclude shims and PluginProcess.app from the WebKit2 build
3414         https://bugs.webkit.org/show_bug.cgi?id=126936
3415
3416         Reviewed by Daniel Bates.
3417
3418         * Configurations/All.xcconfig: Added. Excluded PluginProcess.app from
3419         being copied into WebKit2.framework on iOS.
3420         * Configurations/NetworkProcess.xcconfig: Excluded SecItemShim.dylib
3421         from being copied into NetworkProcess.app on iOS.
3422         * Configurations/PluginProcess.xcconfig: Excluded
3423         PluginProcessShim.dylib from being copied into PluginProcess.app and
3424         set SKIP_INSTALL to YES on iOS.
3425         * Configurations/PluginProcessShim.xcconfig: Added. Linked the shim
3426         against necessary frameworks on Mac.
3427         * Configurations/SecItemShim.xcconfig: Ditto.
3428         * Configurations/WebProcessShim.xcconfig: Ditto.
3429         * Configurations/WebContentProcess.xcconfig: Excluded
3430         WebProcessShim.dylib from being copied into WebProcess.app on iOS.
3431         * PluginProcess/mac/PluginProcessShim.mm: Added #if !PLATFORM(IOS) guards.
3432         * Shared/mac/CookieStorageShimLibrary.cpp: Ditto.
3433         * WebProcess/mac/SecItemShimLibrary.mm: Ditto.
3434         * WebKit2.xcodeproj/project.pbxproj: Removed Mac-only frameworks from
3435         the shims' 'Link Binary with Libraries' build phases. Added new xcconfigs.
3436
3437 2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
3438
3439         [EFL][WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed
3440         https://bugs.webkit.org/show_bug.cgi?id=126882
3441
3442         Reviewed by Gyuyoung Kim.
3443
3444         * Shared/efl/ProcessExecutablePathEfl.cpp:
3445         (WebKit::executablePathOfWebProcess):
3446         (WebKit::executablePathOfPluginProcess):
3447         (WebKit::executablePathOfNetworkProcess):
3448         * UIProcess/API/efl/EwkView.cpp:
3449         (wkPageToEvasObjectMap):
3450         * UIProcess/API/efl/ewk_context.cpp:
3451         (contextMap):
3452         * UIProcess/API/efl/ewk_page_group.cpp:
3453         (pageGroupMap):
3454         * UIProcess/efl/TextCheckerClientEfl.cpp:
3455         (TextCheckerClientEfl::instance):
3456         * UIProcess/efl/TextCheckerClientEfl.h:
3457
3458 2014-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3459
3460         [SOUP] Add SoupNetworkSession class to wrap a SoupSession
3461         https://bugs.webkit.org/show_bug.cgi?id=126813
3462
3463         Reviewed by Gustavo Noronha Silva.
3464
3465         Use the new SoupNetworkSession API.
3466
3467         * NetworkProcess/soup/NetworkProcessSoup.cpp:
3468         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
3469         (WebKit::NetworkProcess::platformSetCacheModel):
3470         (WebKit::NetworkProcess::clearCacheForAllOrigins):
3471         * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
3472         (WebKit::NetworkProcessMain):
3473         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
3474         (WebKit::WebCookieManager::setCookiePersistentStorage):
3475         * WebProcess/efl/WebProcessMainEfl.cpp:
3476         (WebKit::WebProcessMainEfl):
3477         * WebProcess/gtk/WebProcessMainGtk.cpp:
3478         (WebKit::WebProcessMainGtk):
3479         * WebProcess/soup/WebProcessSoup.cpp:
3480         (WebKit::WebProcess::platformSetCacheModel):