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