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