[EFL] Enable MHTML feature
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-01-01  KwangYong Choi  <ky0.choi@samsung.com>
2
3         [EFL] Enable MHTML feature
4         https://bugs.webkit.org/show_bug.cgi?id=105815
5
6         Reviewed by Laszlo Gombos.
7
8         Add missing include directory for ENABLE_MHTML.
9
10         * CMakeLists.txt:
11
12 2012-12-30  Sam Weinig  <sam@webkit.org>
13
14         Add supplementability for WebContext
15         https://bugs.webkit.org/show_bug.cgi?id=105878
16
17         Reviewed by Dan Bernstein.
18
19         Add WebContextSupplement and convert WebApplicationCacheManagerProxy to it.
20
21         * UIProcess/API/C/WKContext.cpp:
22         (WKContextGetApplicationCacheManager):
23         * UIProcess/WebApplicationCacheManagerProxy.cpp:
24         (WebKit::WebApplicationCacheManagerProxy::supplementName):
25         (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
26         (WebKit::WebApplicationCacheManagerProxy::contextDestroyed):
27         (WebKit::WebApplicationCacheManagerProxy::processDidClose):
28         (WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
29         (WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
30         (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
31         (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
32         (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
33         * UIProcess/WebApplicationCacheManagerProxy.h:
34         (WebApplicationCacheManagerProxy):
35         * UIProcess/WebContext.cpp:
36         (WebKit::WebContext::WebContext):
37         (WebKit::WebContext::~WebContext):
38         (WebKit::WebContext::shouldTerminate):
39         (WebKit::WebContext::disconnectProcess):
40         * UIProcess/WebContext.h:
41         (WebKit::WebContext::supplement):
42         (WebKit::WebContext::addSupplement):
43         * UIProcess/WebContextSupplement.h: Added.
44         (WebKit::WebContextSupplement::WebContextSupplement):
45         (WebKit::WebContextSupplement::~WebContextSupplement):
46         (WebKit::WebContextSupplement::ref):
47         (WebKit::WebContextSupplement::deref):
48         (WebKit::WebContextSupplement::context):
49         (WebKit::WebContextSupplement::clearContext):
50         * WebKit2.xcodeproj/project.pbxproj:
51
52 2012-12-31  Christophe Dumez  <christophe.dumez@intel.com>
53
54         [EFL[WK2] Regression(r138574): Should not allocate memory in the fork
55         https://bugs.webkit.org/show_bug.cgi?id=105868
56
57         Reviewed by Kenneth Rohde Christiansen.
58
59         Store prefixed executable path in a CString before the fork to
60         avoid allocating memory in the fork by calling String::utf8().
61         Allocating memory in the fork may lead to deadlocks due to
62         FastMalloc and the fork not inheriting the threads.
63
64         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
65         (WebKit::ProcessLauncher::launchProcess):
66
67 2012-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
68
69         [GTK] Add API to set a WebKitWebView in view source mode to WebKit2
70         https://bugs.webkit.org/show_bug.cgi?id=99315
71
72         Reviewed by Martin Robinson.
73
74         Add a generic API to set/get a view mode. For now there are only
75         two modes, Web and Source, but the API can be extended if we
76         eventually support other view modes like Printing for example.
77
78         * UIProcess/API/gtk/WebKitWebView.cpp:
79         (webkitWebViewSetProperty): Implement setter for view-mode
80         property.
81         (webkitWebViewGetProperty): Implement getter for view-mode
82         property.
83         (webkit_web_view_class_init): Add view-source property.
84         (webkit_web_view_set_view_mode): Public method to set the view
85         mode.
86         (webkit_web_view_get_view_mode): Public method to get the view
87         mode.
88         * UIProcess/API/gtk/WebKitWebView.h: Add WebKitViewMode enum.
89         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
90         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
91         (testWebViewMode):
92         (beforeAll):
93         * UIProcess/WebFrameProxy.cpp:
94         (WebKit::WebFrameProxy::WebFrameProxy): Initialize
95         m_inViewSourceMode.
96         (WebKit::WebFrameProxy::setInViewSourceMode): Set
97         m_inViewSourceMode if it has changed and call
98         WebPageProxy::setFrameInViewSourceMode() to notify the WebProcess.
99         * UIProcess/WebFrameProxy.h:
100         (WebKit::WebFrameProxy::inViewSourceMode): Return whether the
101         frame is currently in view source mode.
102         * UIProcess/WebPageProxy.cpp:
103         (WebKit::WebPageProxy::setFrameInViewSourceMode): Send a message
104         to the WebProcess to set the given frame in view source mode or not.
105         * UIProcess/WebPageProxy.h:
106         (WebPageProxy): Add setFrameInViewSourceMode().
107         * WebProcess/WebPage/WebPage.cpp:
108         (WebKit::WebPage::setFrameInViewSourceMode): Call
109         setInViewSourceMode for the main frame.
110         * WebProcess/WebPage/WebPage.h:
111         (WebPage): Add setFrameInViewSourceMode().
112         * WebProcess/WebPage/WebPage.messages.in: Add new message
113         SetFrameInViewSourceMode.
114
115 2012-12-30  Christophe Dumez  <christophe.dumez@intel.com>
116
117         [EFL][WK2] Invalid use of temporary object in ProcessLauncher::launchProcess()
118         https://bugs.webkit.org/show_bug.cgi?id=105867
119
120         Reviewed by Kenneth Rohde Christiansen.
121
122         Fix invalid use of temporary object in ProcessLauncher::launchProcess()
123         for prefixedExecutablePath.
124
125         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
126         (WebKit::ProcessLauncher::launchProcess):
127
128 2012-12-29  Sam Weinig  <sam@webkit.org>
129
130         Windows build fix.
131
132         * win/WebKit2Common.vsprops:
133
134 2012-12-29  Sam Weinig  <sam@webkit.org>
135
136         Add supplementability to the NetworkProcess
137         https://bugs.webkit.org/show_bug.cgi?id=105838
138
139         Reviewed by Dan Bernstein.
140
141         This patch adds a NetworkProcessSupplement, which is almost identical to
142         WebProcessSupplement, but has a different initialization override. It also
143         stops WebProcessSupplement from inheriting from MessageReceiver (and makes
144         everything that is a WebProcessSupplement also a MessageReceiver) as keeping
145         that would cause classes that need to be both WebProcessSupplements and
146         NetworkProcessSupplements inherit from MessageReceiver twice.
147
148         * GNUmakefile.list.am:
149         * NetworkProcess/NetworkProcess.cpp:
150         (WebKit::NetworkProcess::NetworkProcess):
151         (WebKit::NetworkProcess::downloadsAuthenticationManager):
152         (WebKit::NetworkProcess::initializeNetworkProcess):
153         * NetworkProcess/NetworkProcess.h:
154         (WebKit):
155         (NetworkProcess):
156         (WebKit::NetworkProcess::supplement):
157         (WebKit::NetworkProcess::addSupplement):
158         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
159         (CustomProtocolManager):
160         * Shared/Network/NetworkProcessSupplement.h: Added.
161         (WebKit):
162         (NetworkProcessSupplement):
163         (WebKit::NetworkProcessSupplement::~NetworkProcessSupplement):
164         (WebKit::NetworkProcessSupplement::initialize):
165         * Target.pri:
166         * WebKit2.xcodeproj/project.pbxproj:
167         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
168         * WebProcess/Authentication/AuthenticationManager.h:
169         * WebProcess/Cookies/WebCookieManager.h:
170         * WebProcess/Geolocation/WebGeolocationManager.h:
171         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
172         * WebProcess/MediaCache/WebMediaCacheManager.h:
173         * WebProcess/Notifications/WebNotificationManager.h:
174         * WebProcess/ResourceCache/WebResourceCacheManager.h:
175         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
176         * WebProcess/WebProcessSupplement.h:
177         * win/WebKit2.vcproj:
178
179 2012-12-28  Ryuan Choi  <ryuan.choi@samsung.com>
180
181         [EFL][WK2] MiniBrowser could not be launched on specific machine
182         https://bugs.webkit.org/show_bug.cgi?id=105844
183
184         Reviewed by Gyuyoung Kim.
185
186         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
187         (WebKit::ProcessLauncher::launchProcess):
188         Modified to avoid bad use of temporary object.
189
190 2012-12-28  Joone Hur  <joone.hur@intel.com>
191
192         [EFL][WK2] Implement ewk_context_resource_cache_clear
193         https://bugs.webkit.org/show_bug.cgi?id=104782
194
195         The purpose of this API is to clear HTTP caches in local storage and 
196         all resources cached in memory such as images, CSS, JavaScript, XSL, 
197         and fonts.
198
199         Reviewed by Kenneth Rohde Christiansen.
200
201         * UIProcess/API/efl/ewk_context.cpp:
202         (EwkContext::clearResourceCache): Call WebResourceCacheManager::ClearCacheForAllOrigins.
203         (ewk_context_resource_cache_clear):
204         * UIProcess/API/efl/ewk_context.h: Add ewk_context_resource_cache_clear. 
205         * UIProcess/API/efl/ewk_context_private.h:
206         (EwkContext):
207
208 2012-12-28  Mark Rowe  <mrowe@apple.com>
209
210         Move logic for extracting the OS X marketing version in to WebCore
211         <http://webkit.org/b/105841> / <rdar://problem/10736041>
212
213         Reviewed by Dan Bernstein.
214
215         * UIProcess/mac/WebPageProxyMac.mm:
216         (WebKit::systemMarketingVersionForUserAgentString): Call the WebCore function instead
217         of the WKSI function.
218         (WebKit::WebPageProxy::standardUserAgent):
219         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
220         (InitWebCoreSystemInterface): Remove the code related to the WKSI symbol.
221
222 2012-12-28  Sam Weinig  <sam@webkit.org>
223
224         Fix assert seen when adding a custom protocol handler before an initial
225         web process has been created.
226
227         * UIProcess/WebContext.h:
228         (WebKit::WebContext::sendToNetworkingProcess):
229
230 2012-12-28  Martin Robinson  <mrobinson@igalia.com>
231
232         [GTK][WK2] Add support for IME Composition
233         https://bugs.webkit.org/show_bug.cgi?id=65093
234
235         Reviewed by Carlos Garcia Campos.
236
237         Add a WebKit2 implementation of the GtkInputMethodFilter and provide
238         the necessary plumbing to pass composition information along with
239         input method events.
240
241         * GNUmakefile.list.am: Add new files to the source list.
242         * Shared/EditorState.cpp: The cursorRect is now passed for GTK+ as well as
243         Qt, so update the encode and decode methods to pass that along.
244         * Shared/EditorState.h: Add the cursorRect member for GTK+ as well.
245         * Shared/NativeWebKeyboardEvent.h:
246         (NativeWebKeyboardEvent): Keyboard events should also have knowledge of
247         the compositionResults and whether or not the event was faked for composition
248         purposes.
249         * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.
250         * Shared/gtk/WebEventFactory.cpp:
251         (WebKit::WebEventFactory::createWebKeyboardEvent): Copy the logic of PlatformKeyEvent,
252         for properly setting the windows key code and the event text from the composition
253         results.
254         * Shared/gtk/WebEventFactory.h: The createWebKeyboardEvent factory now takes a
255         CompositionResults argument.
256         * UIProcess/API/gtk/PageClientImpl.cpp:
257         (WebKit::PageClientImpl::doneWithKeyEvent): Don't forward keyboard events that
258         were faked for composition reasons. These events originated from WebKit and should
259         never be passed to parent classes.
260         (WebKit::PageClientImpl::updateTextInputState): Plumb through the updateTextInputState
261         method to the WebViewBase.
262         * UIProcess/API/gtk/PageClientImpl.h:
263         (PageClientImpl): Add a updateTextInputState method.
264         * UIProcess/API/gtk/WebKitWebViewBase.cpp: 
265         (_WebKitWebViewBasePrivate): Instead of having an input method context as a member
266         keep a WebViewBaseInputMethodFilter.
267         (webkitWebViewBaseRealize): Set the filter widget when the WebViewBase is realized.
268         (webkit_web_view_base_init): No longer create a input method context during init.
269         (webkitWebViewBaseFocusInEvent): Pass along focus in events to the filter.
270         (webkitWebViewBaseFocusOutEvent): Pass along focus out events to the filter.
271         (webkitWebViewBaseKeyPressEvent): Instead of passing key presses directly to the WebProcess,
272         filter them through the input method filter.
273         (webkitWebViewBaseKeyReleaseEvent): Ditto.
274         (webkitWebViewBaseButtonPressEvent): Notify the input method filter about button press events.
275         (webkitWebViewBaseGetIMContext): The input method filter owns the input method now.
276         (webkitWebViewBaseSetInputMethodState): Add a bit of plumbing for the PageClient.
277         (webkitWebViewBaseUpdateTextInputState): Ditto.
278         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add plumbing declarations.
279         * UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Added. An implementation of GtkInputMethodFilter for WebKit2.
280         * UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Copied from Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h.
281         * UIProcess/PageClient.h:
282         (PageClient): updateInputMethod state is now for both Qt and GTK+.
283         * UIProcess/WebPageProxy.cpp:
284         (WebKit::WebPageProxy::editorStateChanged): Pass the editor state for GTK+ as well as Qt.
285         (WebKit::WebPageProxy::setComposition): Moved this method from WebPageProxyQt as it's used for GTK+ now as well.
286         (WebKit::WebPageProxy::confirmComposition): Ditto.
287         (WebKit::WebPageProxy::cancelComposition): Ditto.
288         * UIProcess/WebPageProxy.h:
289         (WebPageProxy): The setInputMethodState message is for GTK+ as well as Qt now.
290         * UIProcess/WebPageProxy.messages.in: Ditto.
291         * UIProcess/gtk/WebPageProxyGtk.cpp:
292         (WebKit::WebPageProxy::setInputMethodState): Ditto.
293         * UIProcess/qt/WebPageProxyQt.cpp: Move some methods to the platform-independent file.
294         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: More closely match the WebKit1
295         logic for dealing with key events so that composition events will be handled properly.
296         * WebProcess/WebPage/WebPage.cpp:
297         (WebKit::WebPage::editorState): Properly pass the cursorRect for GTK+.
298         (WebKit::targetFrameForEditing): Moved from the Qt file, because its used by GTK+ as well. They
299         now pass along the updated EditorState as well, just like the Mac versions.
300         (WebKit::WebPage::confirmComposition): Ditto.
301         (WebKit::WebPage::setComposition): Ditto.
302         (WebKit::WebPage::cancelComposition): Ditto.
303         * WebProcess/WebPage/WebPage.h: The above messages are now for GTK+ as well as Qt.
304         * WebProcess/WebPage/WebPage.messages.in: Ditto.
305         * WebProcess/WebPage/qt/WebPageQt.cpp: Moved some methods to the platform-independent file.
306
307 2012-12-28  Sam Weinig  <sam@webkit.org>
308
309         Appease the Windows Gods.
310
311         * WebProcess/Notifications/WebNotificationManager.cpp:
312
313 2012-12-27  Sam Weinig  <sam@webkit.org>
314
315         Make CustomProtocolManager a WebProcessSupplement
316         https://bugs.webkit.org/show_bug.cgi?id=105814
317
318         Reviewed by Dan Bernstein.
319
320         This converts CustomProtocolManager from a global singleton, to be a
321         supplement of the WebProcess. Since it also needs to act as a supplement
322         of the NetworkProcess, it adds an initialization function for the NetworkProcess
323         as well, while we await the arrival of the forthcoming NetworkProcessSupplement.
324         
325         In addition, this moves the handling of registering and unregistering schemes
326         directly to the CustomProtocolManager, instead of requiring an unnecessary trip
327         in the ChildProcess.
328
329         * NetworkProcess/NetworkProcess.cpp:
330         (WebKit::NetworkProcess::NetworkProcess):
331         (WebKit::NetworkProcess::initializeNetworkProcess):
332         * NetworkProcess/NetworkProcess.h:
333         * NetworkProcess/NetworkProcess.messages.in:
334         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
335         (CustomProtocolManager):
336         * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
337         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
338         (+[WKCustomProtocol canInitWithRequest:]):
339         (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
340         (-[WKCustomProtocol startLoading]):
341         (-[WKCustomProtocol stopLoading]):
342         (WebKit::CustomProtocolManager::supplementName):
343         (WebKit::CustomProtocolManager::CustomProtocolManager):
344         (WebKit::CustomProtocolManager::initialize):
345         * UIProcess/WebContext.cpp:
346         (WebKit::WebContext::registerSchemeForCustomProtocol):
347         (WebKit::WebContext::unregisterSchemeForCustomProtocol):
348         * WebProcess/WebProcess.cpp:
349         (WebKit::WebProcess::WebProcess):
350         (WebKit::WebProcess::initializeWebProcess):
351         * WebProcess/WebProcess.h:
352         * WebProcess/WebProcess.messages.in:
353
354 2012-12-27  Sam Weinig  <sam@webkit.org>
355
356         Convert a few other WebProcess managers to be WebProcessSupplements
357         https://bugs.webkit.org/show_bug.cgi?id=105812
358
359         Reviewed by Dan Bernstein.
360
361         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
362         (WebKit::WebApplicationCacheManager::supplementName):
363         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
364         (WebApplicationCacheManager):
365         * WebProcess/Authentication/AuthenticationManager.cpp:
366         (WebKit::AuthenticationManager::supplementName):
367         * WebProcess/Authentication/AuthenticationManager.h:
368         (AuthenticationManager):
369         * WebProcess/Cookies/WebCookieManager.cpp:
370         (WebKit::WebCookieManager::supplementName):
371         * WebProcess/Cookies/WebCookieManager.h:
372         (WebCookieManager):
373         * WebProcess/Geolocation/WebGeolocationManager.cpp:
374         (WebKit::WebGeolocationManager::supplementName):
375         * WebProcess/Geolocation/WebGeolocationManager.h:
376         (WebGeolocationManager):
377         * WebProcess/InjectedBundle/InjectedBundle.cpp:
378         (WebKit::InjectedBundle::setAlwaysAcceptCookies):
379         (WebKit::InjectedBundle::clearApplicationCache):
380         (WebKit::InjectedBundle::setAppCacheMaximumSize):
381         (WebKit::InjectedBundle::webNotificationID):
382         * WebProcess/MediaCache/WebMediaCacheManager.cpp:
383         (WebKit::WebMediaCacheManager::supplementName):
384         * WebProcess/MediaCache/WebMediaCacheManager.h:
385         (WebMediaCacheManager):
386         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
387         (WebKit::NotificationPermissionRequestManager::permissionLevel):
388         (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
389         (WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
390         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
391         * WebProcess/Notifications/WebNotificationManager.cpp:
392         (WebKit::WebNotificationManager::supplementName):
393         (WebKit::WebNotificationManager::initialize):
394         * WebProcess/Notifications/WebNotificationManager.h:
395         (WebNotificationManager):
396         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
397         (WebKit::WebResourceCacheManager::supplementName):
398         * WebProcess/ResourceCache/WebResourceCacheManager.h:
399         (WebResourceCacheManager):
400         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
401         (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
402         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
403         (WebKit::WebGeolocationClient::geolocationDestroyed):
404         (WebKit::WebGeolocationClient::startUpdating):
405         (WebKit::WebGeolocationClient::stopUpdating):
406         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
407         (WebKit::WebNotificationClient::show):
408         (WebKit::WebNotificationClient::cancel):
409         (WebKit::WebNotificationClient::clearNotifications):
410         (WebKit::WebNotificationClient::notificationObjectDestroyed):
411         * WebProcess/WebProcess.cpp:
412         (WebKit::WebProcess::WebProcess):
413         (WebKit::WebProcess::downloadsAuthenticationManager):
414         * WebProcess/WebProcess.h:
415         (WebKit::WebProcess::textCheckerState):
416         (WebKit::WebProcess::networkAccessManager):
417         (WebKit::WebProcess::soupRequestManager):
418         * WebProcess/mac/WebProcessMac.mm:
419         (WebKit::WebProcess::platformInitializeWebProcess):
420         * WebProcess/soup/WebProcessSoup.cpp:
421         (WebKit::WebProcess::platformInitializeWebProcess):
422         * WebProcess/win/WebProcessWin.cpp:
423         (WebKit::WebProcess::platformInitializeWebProcess):
424
425 2012-12-27  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
426
427         [EFL][WK2] Regression(138462) Sometimes garbage in snapshots
428         https://bugs.webkit.org/show_bug.cgi?id=105803
429
430         Reviewed by Kenneth Rohde Christiansen.
431
432         Instead of creating temporary buffer and then creating cairo surface
433         from it, create cairo surface 1st and use surface image internal buffer
434         to read pixels from GL buffer. 
435
436         * UIProcess/API/efl/EwkViewImpl.cpp:
437         (EwkViewImpl::takeSnapshot):
438         * UIProcess/API/efl/SnapshotImageGL.cpp:
439         (getImageSurfaceFromFrameBuffer):
440         * UIProcess/API/efl/SnapshotImageGL.h:
441
442 2012-12-27  Sam Weinig  <sam@webkit.org>
443
444         Actually make use of the WebProcessSupplements by adding a supplement map to WebProcess
445         https://bugs.webkit.org/show_bug.cgi?id=105804
446
447         Reviewed by Dan Bernstein.
448
449         This continues the work of adding extensibility to WebProcess by adding a supplement
450         map, and using it as proof of concept for WebDatabaseManager and WebKeyValueStorageManager.
451
452         - A supplement is added to WebProcess by calling:
453             process->addSupplement<SupplementFoo>();
454         - A supplement can be used accessed by calling:
455             process->supplement<SupplementFoo>();
456
457         * WebProcess/InjectedBundle/InjectedBundle.cpp:
458         (WebKit::InjectedBundle::clearAllDatabases):
459         (WebKit::InjectedBundle::setDatabaseQuota):
460         * WebProcess/WebPage/WebPage.cpp:
461         (WebKit::WebPage::updatePreferences):
462         Switch to using the new supplement accessor.
463
464         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
465         (WebKit::WebKeyValueStorageManager::supplementName):
466         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
467         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
468         (WebKit::WebDatabaseManager::supplementName):
469         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
470         Add static supplementName functions. We might want to merge this with
471         the message class name, but for now we have both. 
472
473         * WebProcess/WebProcess.cpp:
474         (WebKit::WebProcess::WebProcess):
475         Add supplements the new way. This should eventually move to the caller
476         of WebProcess::initialize, so that we can reduce #ifdefs and ports have
477         a chance to customize.
478         
479         (WebKit::WebProcess::initializeWebProcess):
480         Iterate the supplements to give each a chance to initialize.
481
482         * WebProcess/WebProcess.h:
483         (WebKit::WebProcess::supplement):
484         (WebKit::WebProcess::addSupplement):
485         Add functions to add and get WebProcessSupplements.
486
487 2012-12-26  Sam Weinig  <sam@webkit.org>
488
489         Add an initial stab at a generic supplemental interface for WebProcess
490         https://bugs.webkit.org/show_bug.cgi?id=105779
491
492         Reviewed by Darin Adler.
493
494         This starts the process of adding a mechanism to WebProcess to extend its
495         functionality without actually changing it (similar to the Supplement
496         mechanism in WebCore). This will make it possible for ports to add functionality
497         that might not be needed or wanted by other ports.
498
499         * WebKit2.xcodeproj/project.pbxproj:
500         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
501         (WebKit::WebKeyValueStorageManager::initialize):
502         (WebKit):
503         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
504         (WebKeyValueStorageManager):
505         (WebKit::WebKeyValueStorageManager::localStorageDirectory):
506         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
507         (WebKit::WebDatabaseManager::WebDatabaseManager):
508         (WebKit::WebDatabaseManager::initialize):
509         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
510         (WebDatabaseManager):
511         * WebProcess/WebPage/WebPage.cpp:
512         (WebKit::WebPage::updatePreferences):
513         * WebProcess/WebProcess.cpp:
514         (WebKit::WebProcess::initializeWebProcess):
515         (WebKit::WebProcess::keyValueStorageManager):
516         (WebKit):
517         * WebProcess/WebProcess.h:
518         (WebProcess):
519         * WebProcess/WebProcessSupplement.h: Added.
520         (WebKit):
521         (WebProcessSupplement):
522         (WebKit::WebProcessSupplement::~WebProcessSupplement):
523         (WebKit::WebProcessSupplement::initialize):
524
525 2012-12-27  Christophe Dumez  <christophe.dumez@intel.com>
526
527         [EFL][WK2] Regression(135935) layout tests snapshots are flaky
528         https://bugs.webkit.org/show_bug.cgi?id=103468
529
530         Reviewed by Kenneth Rohde Christiansen.
531
532         Make sure that we wait for pending repaints before taking a
533         snapshot to avoid flakiness in pixel / ref tests. We also
534         suspend all animations before taking the snapshot to make
535         sure we don't wait forever for repaint events to be processed.
536
537         * UIProcess/API/efl/EwkViewImpl.cpp:
538         (EwkViewImpl::takeSnapshot):
539
540 2012-12-26  Csaba Osztrogonác  <ossy@webkit.org>
541
542         Unreviewed Xmas buildfix after r138479.
543
544         * WebProcess/MediaCache/WebMediaCacheManager.h:
545
546 2012-12-25  Sam Weinig  <sam@webkit.org>
547
548         Convert WebKeyValueStorageManager and WebMediaCacheManager to MessageReceiver
549         https://bugs.webkit.org/show_bug.cgi?id=105751
550
551         Reviewed by Andreas Kling.
552
553         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
554         (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
555         (WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
556         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
557         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
558         (WebKit::WebKeyValueStorageManager::deleteAllEntries):
559         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
560         (WebKeyValueStorageManager): Remove unused m_originsLoaded member variable.
561         * WebProcess/MediaCache/WebMediaCacheManager.cpp:
562         (WebKit::WebMediaCacheManager::WebMediaCacheManager):
563         (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
564         (WebKit::WebMediaCacheManager::clearCacheForHostname):
565         (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
566         * WebProcess/MediaCache/WebMediaCacheManager.h:
567         (WebMediaCacheManager):
568         Convert the managers to MessageReceiver.
569
570         * WebProcess/WebProcess.cpp:
571         (WebKit::WebProcess::WebProcess):
572         (WebKit::WebProcess::initializeWebProcess):
573         (WebKit::WebProcess::didReceiveMessage):
574         * WebProcess/WebProcess.h:
575         (WebProcess):
576         Add the new managers.
577
578 2012-12-25  Sam Weinig  <sam@webkit.org>
579
580         Fix the Database manager assert, again.
581
582         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
583         (WebKit):
584         (WebKit::WebDatabaseManager::WebDatabaseManager):
585         (WebKit::WebDatabaseManager::initialize):
586         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
587         (WebDatabaseManager):
588         * WebProcess/WebProcess.cpp:
589         (WebKit::WebProcess::initializeWebProcess):
590
591 2012-12-25  Huang Dongsung  <luxtella@company100.net>
592
593         Coordinated Graphics: Manage the lifecycle of CoordinatedGraphicsLayer explicitly.
594         https://bugs.webkit.org/show_bug.cgi?id=104990
595
596         Reviewed by Noam Rosenthal.
597
598         Send explicit commands to the UI process to create/delete compositing
599         layers, instead of having the UI process decide lazily when to create
600         them.
601
602         Avoid creating a compositing layer at all if it was deleted in the same
603         cycle.
604
605         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
606         (WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayer):
607         (WebKit):
608         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
609         (CoordinatedLayerTreeHostProxy):
610         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
611         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
612         (WebKit::LayerTreeRenderer::createCanvas):
613         (WebKit::LayerTreeRenderer::destroyCanvas):
614         (WebKit::LayerTreeRenderer::setLayerChildren):
615         (WebKit::LayerTreeRenderer::setLayerFilters):
616         (WebKit::LayerTreeRenderer::setLayerState):
617         (WebKit::LayerTreeRenderer::getLayerByIDIfExists):
618         (WebKit):
619         (WebKit::LayerTreeRenderer::createLayer):
620         (WebKit::LayerTreeRenderer::deleteLayer):
621         (WebKit::LayerTreeRenderer::setRootLayerID):
622         (WebKit::LayerTreeRenderer::createTile):
623         (WebKit::LayerTreeRenderer::removeTile):
624         (WebKit::LayerTreeRenderer::updateTile):
625         (WebKit::LayerTreeRenderer::ensureRootLayer):
626         (WebKit::LayerTreeRenderer::setLayerAnimations):
627         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
628         (LayerTreeRenderer):
629         (WebKit::LayerTreeRenderer::layerByID):
630         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
631         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
632         (WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
633         (WebKit):
634         (WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
635         (WebKit::CoordinatedLayerTreeHost::detachLayer):
636         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
637         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
638
639 2012-12-25  Sam Weinig  <sam@webkit.org>
640
641         Fix Qt build.
642
643         * WebProcess/WebPage/qt/WebPageQt.cpp:
644
645 2012-12-24  Sam Weinig  <sam@webkit.org>
646
647         Reduce the number of includes in WebProcess.h
648         https://bugs.webkit.org/show_bug.cgi?id=105709
649
650         Reviewed by Dan Bernstein.
651
652         * NetworkProcess/NetworkProcess.cpp:
653         (WebKit::NetworkProcess::NetworkProcess):
654         (WebKit::NetworkProcess::downloadsAuthenticationManager):
655         * NetworkProcess/NetworkProcess.h:
656         (WebKit):
657         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
658         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
659         * WebProcess/FullScreen/WebFullScreenManager.cpp:
660         * WebProcess/InjectedBundle/InjectedBundle.cpp:
661         * WebProcess/Network/NetworkProcessConnection.cpp:
662         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
663         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
664         * WebProcess/WebPage/FindController.cpp:
665         * WebProcess/WebPage/WebContextMenu.cpp:
666         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
667         * WebProcess/WebProcess.cpp:
668         (WebKit::WebProcess::WebProcess):
669         (WebKit::WebProcess::downloadsAuthenticationManager):
670         (WebKit::WebProcess::initializeWebProcess):
671         (WebKit::WebProcess::geolocationManager):
672         (WebKit):
673         (WebKit::WebProcess::applicationCacheManager):
674         (WebKit::WebProcess::resourceCacheManager):
675         (WebKit::WebProcess::cookieManager):
676         (WebKit::WebProcess::authenticationManager):
677         (WebKit::WebProcess::databaseManager):
678         (WebKit::WebProcess::notificationManager):
679         (WebKit::WebProcess::pluginProcessConnectionManager):
680         (WebKit::WebProcess::networkProcessConnectionClosed):
681         (WebKit::WebProcess::webResourceLoadScheduler):
682         (WebKit::WebProcess::pluginProcessCrashed):
683         * WebProcess/WebProcess.h:
684         (WebCore):
685         (WebKit):
686         (WebProcess):
687         * WebProcess/mac/WebProcessMac.mm:
688         (WebKit::WebProcess::platformInitializeWebProcess):
689
690 2012-12-25  Andreas Kling  <akling@apple.com>
691
692         [WK2][Mac] Call Carbon resource APIs on main thread only.
693         <rdar://problem/11760262>
694         <http://webkit.org/b/105746>
695
696         Reviewed by Anders Carlsson.
697
698         The Carbon resource APIs are not thread-safe, so use a little libdispatch sugar to make
699         sure that plugin enumeration never calls them on a secondary thread.
700
701         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
702         (WebKit::getPluginInfoFromCarbonResourcesOnMainThread):
703         (WebKit::getPluginInfoFromCarbonResources):
704
705 2012-12-25  Seokju Kwon  <seokju.kwon@gmail.com>
706
707         [EFL][WK2] Build breaks with --no-input-type-color
708         https://bugs.webkit.org/show_bug.cgi?id=105740
709
710         Reviewed by Laszlo Gombos.
711
712         * UIProcess/API/efl/EwkViewImpl.h: Add INPUT_TYPE_COLOR guard.
713         (EwkViewImpl):
714
715 2012-12-25  Christophe Dumez  <christophe.dumez@intel.com>
716
717         [EFL][WK2] Refactor snapshot taking code
718         https://bugs.webkit.org/show_bug.cgi?id=105687
719
720         Reviewed by Kenneth Rohde Christiansen.
721
722         Refactor EFL WK2 snapshot taking code to use
723         smart pointers when possible and follow naming
724         conventions.
725
726         * UIProcess/API/C/efl/WKView.cpp:
727         (WKViewCreateSnapshot):
728         * UIProcess/API/C/efl/WKView.h: Rename WKViewGetSnapshot
729         to WKViewCreateSnapshot to follow C API naming conventions,
730         since the returned value needs to be adopted.
731         * UIProcess/API/efl/EwkViewImpl.cpp:
732         (EwkViewImpl::takeSnapshot):
733         * UIProcess/API/efl/EwkViewImpl.h: Have takeSnapshot() return
734         a cairo_surface_t instead of a WKType. The value should be
735         converted to a WKType at C API level.
736         (EwkViewImpl):
737         * UIProcess/API/efl/SnapshotImageGL.cpp: Use OwnArrayPtr for the
738         buffer to avoid manual memory handling. Remove useless call to
739         glBindTexture() since glReadPixels() reads pixels from the frame
740         buffer, not from the texture.
741         (getImageDataFromFrameBuffer):
742         * UIProcess/API/efl/SnapshotImageGL.h: Rename getImageFromCurrentTexture
743         to getImageDataFromFrameBuffer for consistency since we technically
744         return the pixel data of the image and since glReadPixels does not
745         actually read from the texture. Have the function return a smart
746         pointer instead of a raw one to avoid manual memory handling.
747
748 2012-12-25  Tim Horton  <timothy_horton@apple.com>
749
750         PDFPlugin: Find-in-page
751         https://bugs.webkit.org/show_bug.cgi?id=105710
752         <rdar://problem/12555331>
753
754         Reviewed by Alexey Proskuryakov.
755
756         Make use of PDFLayerController's find-in-page functionality to mimic WebKit's.
757         Add two Plugin methods, countFindMatches and findString, and make use of them
758         if attempting to find-in-page within a PluginDocument.
759
760         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
761         (WebKit::NetscapePlugin::countFindMatches): Added. We don't support find-in-page for NetscapePlugin.
762         (WebKit::NetscapePlugin::findString): Added. We don't support find-in-page for NetscapePlugin.
763         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add countFindMatches and findString.
764         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add requisite PDFLayerController interfaces.
765         * WebProcess/Plugins/PDF/PDFPlugin.h: Add countFindMatches, findString, and nextMatchForString,
766         as well as  storage for the most-recently-searched string.
767         * WebProcess/Plugins/PDF/PDFPlugin.mm:
768         (WebKit::PDFPlugin::writeItemsToPasteboard):
769         (WebKit::PDFPlugin::countFindMatches):
770         (WebKit::PDFPlugin::nextMatchForString):
771         (WebKit::PDFPlugin::findString):
772         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add countFindMatches and findString.
773         * WebProcess/Plugins/Plugin.h: Add countFindMatches and findString.
774         * WebProcess/Plugins/PluginProxy.h: Add countFindMatches and findString, but since PDFPlugin
775         is in-process, we don't need to forward these calls to the PluginProcess.
776         * WebProcess/Plugins/PluginView.cpp: 
777         (WebKit::PluginView::countFindMatches): Forward countFindMatches to the plugin.
778         (WebKit::PluginView::findString): Forward findString to the plugin.
779         * WebProcess/Plugins/PluginView.h: Add countFindMatches and findString.
780         * WebProcess/WebPage/FindController.cpp:
781         (WebKit::pluginViewForFrame): If the given frame hosts a PluginDocument, grab its PluginView.
782         (WebKit::FindController::countStringMatches): Forward countStringMatches to PluginView if necessary.
783         (WebKit::FindController::updateFindUIAfterPageScroll): Only use unmarkAllTextMatches if we're using
784         ordinary find-in-page and don't have a plugin. If we have a plugin, disable our overlay, as it must
785         be handled by the plugin itself, and request the number of matches for the search from the plugin.
786         (WebKit::FindController::findString): If necessary, forward findString to the plugin.
787         (WebKit::FindController::hideFindUI): Hide the search highlight by searching for an empty string.
788
789 2012-12-24  Laszlo Gombos  <l.gombos@samsung.com>
790
791         Remove wtf/Platform.h includes from {c|cpp} files
792         https://bugs.webkit.org/show_bug.cgi?id=105678
793
794         Reviewed by Kentaro Hara.
795
796         Remove wtf/Platform.h from the include list as it is already
797         included in config.h.
798
799         * Shared/qt/QtNetworkRequestData.cpp:
800
801 2012-12-24  Sam Weinig  <sam@webkit.org>
802
803         Assert fix take 2.
804
805         * WebProcess/WebProcess.cpp:
806         (WebKit::WebProcess::WebProcess):
807         (WebKit::WebProcess::initializeWebProcess):
808
809 2012-12-24  Sam Weinig  <sam@webkit.org>
810
811         Fix WebKit2 asserting on launch.
812
813         * WebProcess/WebProcess.cpp:
814         (WebKit::WebProcess::WebProcess):
815         * WebProcess/WebProcess.h:
816         (WebKit::WebProcess::databaseManager):
817         (WebProcess):
818
819 2012-12-24  Csaba Osztrogonác  <ossy@webkit.org>
820
821         [Qt][Win] Unreviewed Xmas buildfix after r138433.
822
823         * WebProcess/Cookies/WebCookieManager.h:
824
825 2012-12-23  Seokju Kwon  <seokju.kwon@gmail.com>
826
827         Fix the incorrect use of preprocessor statement in API header
828         https://bugs.webkit.org/show_bug.cgi?id=105675
829
830         Reviewed by Sam Weinig.
831
832         Remove a preprocessor statement in WKBundlePage.h
833
834         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
835         (WKBundlePageGetInspector):
836         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
837
838 2012-12-23  Sam Weinig  <sam@webkit.org>
839
840         Switch WebCookieManager and AuthenticationManager to use the ChildProcess rather than holding on to a Connection
841         https://bugs.webkit.org/show_bug.cgi?id=105703
842
843         Reviewed by Dan Bernstein.
844
845         Also switches WebCookieManager over to be a MessageReceiver while we are at it.
846
847         * NetworkProcess/NetworkProcess.cpp:
848         (WebKit::NetworkProcess::NetworkProcess):
849         (WebKit::NetworkProcess::initialize):
850         (WebKit::NetworkProcess::didReceiveMessage):
851         * NetworkProcess/NetworkProcess.h:
852         (WebKit):
853         * WebProcess/Authentication/AuthenticationManager.cpp:
854         (WebKit::AuthenticationManager::AuthenticationManager):
855         (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
856         * WebProcess/Authentication/AuthenticationManager.h:
857         (AuthenticationManager):
858         * WebProcess/Cookies/WebCookieManager.cpp:
859         (WebKit):
860         (WebKit::WebCookieManager::WebCookieManager):
861         (WebKit::WebCookieManager::didReceiveMessage):
862         (WebKit::WebCookieManager::getHostnamesWithCookies):
863         (WebKit::WebCookieManager::cookiesDidChange):
864         (WebKit::WebCookieManager::dispatchCookiesDidChange):
865         (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
866         * WebProcess/Cookies/WebCookieManager.h:
867         (WebKit):
868         (WebCookieManager):
869         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
870         (WebKit::WebCookieManager::setCookiePersistentStorage):
871         * WebProcess/InjectedBundle/InjectedBundle.cpp:
872         (WebKit::InjectedBundle::setAlwaysAcceptCookies):
873         * WebProcess/WebProcess.cpp:
874         (WebKit::WebProcess::WebProcess):
875         (WebKit::WebProcess::initialize):
876         (WebKit::WebProcess::didReceiveMessage):
877         * WebProcess/WebProcess.h:
878         (WebProcess):
879         (WebKit::WebProcess::cookieManager):
880
881 2012-12-23  Sam Weinig  <sam@webkit.org>
882
883         Try to fix the Qt build.
884
885         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
886
887 2012-12-23  Sam Weinig  <sam@webkit.org>
888
889         Remove more special cased message receiving code from WebProcess
890         https://bugs.webkit.org/show_bug.cgi?id=105700
891
892         Reviewed by Dan Bernstein.
893
894         Makes WebApplicationCacheManager, WebResourceCacheManager and WebDatabaseManager
895         CoreIPC::MessageReceivers, removes them as special cases in WebProcess.
896
897         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
898         (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
899         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
900         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
901         (WebKit::WebApplicationCacheManager::deleteAllEntries):
902         (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
903         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
904         (WebKit):
905         (WebApplicationCacheManager):
906         * WebProcess/InjectedBundle/InjectedBundle.cpp:
907         (WebKit::InjectedBundle::clearAllDatabases):
908         (WebKit::InjectedBundle::setDatabaseQuota):
909         (WebKit::InjectedBundle::clearApplicationCache):
910         (WebKit::InjectedBundle::setAppCacheMaximumSize):
911         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
912         (WebKit::WebResourceCacheManager::WebResourceCacheManager):
913         (WebKit::WebResourceCacheManager::getCacheOrigins):
914         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
915         (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
916         * WebProcess/ResourceCache/WebResourceCacheManager.h:
917         (WebKit):
918         (WebResourceCacheManager):
919         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
920         (WebKit):
921         (WebKit::WebDatabaseManager::WebDatabaseManager):
922         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
923         (WebKit::WebDatabaseManager::getDatabaseOrigins):
924         (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
925         (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
926         (WebKit::WebDatabaseManager::deleteAllDatabases):
927         (WebKit::WebDatabaseManager::setQuotaForOrigin):
928         (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
929         (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
930         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
931         (WebKit):
932         (WebDatabaseManager):
933         * WebProcess/WebProcess.cpp:
934         (WebKit::WebProcess::WebProcess):
935         (WebKit::WebProcess::didReceiveMessage):
936         * WebProcess/WebProcess.h:
937         (WebProcess):
938         (WebKit::WebProcess::applicationCacheManager):
939         (WebKit::WebProcess::resourceCacheManager):
940         (WebKit::WebProcess::databaseManager):
941
942 2012-12-23  Alexey Proskuryakov  <ap@apple.com>
943
944         <rdar://problem/12808377> Network process should respect cookie accept policy
945         https://bugs.webkit.org/show_bug.cgi?id=105684
946
947         Reviewed by Sam Weinig.
948
949         * NetworkProcess/NetworkProcess.cpp:
950         (WebKit::NetworkProcess::initialize): Tell cookie manager which connection to
951         make calls on. Now that the code can run in either WebProcess or NetworkProcess,
952         it cannot use WebProcess singleton.
953         (WebKit::NetworkProcess::didReceiveMessage): Dispatch WebCookieManager messages.
954
955         * WebProcess/WebProcess.cpp:
956         (WebKit::WebProcess::initialize): Tell cookie manager which connection to
957         make calls on.
958
959         * UIProcess/Downloads/DownloadProxy.cpp:
960         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Changed to use
961         WebContext::networkingProcessConnection() instead of deciding upon the connection here.
962
963         * UIProcess/Network/NetworkProcessProxy.cpp:
964         (WebKit::NetworkProcessProxy::didReceiveMessage): Call m_webContext->dispatchMessage),
965         as WebCookieManagerProxy handlers are registered on the context. This may seem wasteful,
966         but a lot of registered managers will need the ame handling soon.
967
968         * UIProcess/WebContext.cpp:
969         (WebKit::WebContext::networkingProcessConnection): Added a way to get connection
970         to whichever process performs networking.
971         (WebKit::WebContext::removeNetworkProcessProxy): Invalidate cookie manager proxy,
972         so that expected responses could be cleared.
973         (WebKit::WebContext::disconnectProcess): Updated a FIXME.
974
975         * UIProcess/WebContext.h: Deleted deprecatedSharedProcess().
976         (WebKit::WebContext::networkingProcessConnection): Added.
977         (WebKit::WebContext::sendToNetworkingProcess): Added.
978         (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary): Added.
979
980         * UIProcess/WebCookieManagerProxy.cpp:
981         (WebKit::WebCookieManagerProxy::shouldTerminate): Should not prevent WebProcess
982         termination when NetworkProcess is in use.
983         (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Removed a useless ASSERT
984         that neiter documents expectations nor helps find bugs. Send a message to correct
985         process, whether WebProcess or NetworkProcess.
986         (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Ditto.
987         (WebKit::WebCookieManagerProxy::deleteAllCookies): Ditto.
988         (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Ditto.
989         (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto.
990         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Ditto.
991         (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): Ditto.
992
993         * WebProcess/Cookies/WebCookieManager.h:
994         * WebProcess/Cookies/WebCookieManager.cpp: Made the class usable in either WebProcess
995         or NetworkProcess.
996         (WebKit::WebCookieManager::setConnection): WebCookieManager now remembers which
997         connection to talk back on.
998         (WebKit::WebCookieManager::didReceiveMessage): Added an assertion that stored connection
999         matches the one being used to reciev messages.
1000         (WebKit::WebCookieManager::getHostnamesWithCookies): Use the stored connection to
1001         send a reply.
1002         (WebKit::WebCookieManager::startObservingCookieChanges): Pass a callback function,
1003         so that WebCore doesn't have to use a platform strategy.
1004         (WebKit::WebCookieManager::cookiesDidChange): The new callback.
1005         (WebKit::WebCookieManager::dispatchCookiesDidChange): Use the stored connection.
1006         (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy): Use the stored connection.
1007
1008         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1009         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1010         Removed notifyCookiesChanged() which is no longer part of CookiesStrategy.
1011
1012 2012-12-22  Sam Weinig  <sam@webkit.org>
1013
1014         Make CustomProtocolManager a MessageReceiver to remove more special casing
1015         https://bugs.webkit.org/show_bug.cgi?id=105682
1016
1017         Reviewed by Dan Bernstein.
1018
1019         To avoid storing a Connection in CustomProtocolManager, which is not a great idea without
1020         it being the Connection::Client and therefore getting death notifications, I also made
1021         ChildProcess a MessageSender so that extensions to it, like CustomProtocolManager, can
1022         easily send messages to the parent process.
1023
1024         * NetworkProcess/NetworkProcess.cpp:
1025         (WebKit::NetworkProcess::NetworkProcess):
1026         Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in 
1027         the ChildProcess.
1028
1029         (WebKit::NetworkProcess::didReceiveMessage):
1030         Remove the special case for CustomProtocolManager.
1031
1032         (WebKit::NetworkProcess::initializeNetworkProcess):
1033         Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
1034
1035         * NetworkProcess/NetworkProcess.h:
1036         Add overrides necessary for MessageSender.
1037
1038         * PluginProcess/PluginProcess.h:
1039         Ditto.
1040
1041         * Shared/ChildProcess.h:
1042         (ChildProcess):
1043         Make ChildProcess a MessageSender.
1044
1045         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
1046         (CustomProtocolManager):
1047         (WebKit::CustomProtocolManager::childProcess):
1048         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
1049         (-[WKCustomProtocol startLoading]):
1050         (-[WKCustomProtocol stopLoading]):
1051         (WebKit::CustomProtocolManager::CustomProtocolManager):
1052         (WebKit::CustomProtocolManager::initialize):
1053         (WebKit::CustomProtocolManager::connectionEstablished):
1054         Make CustomProtocolManager a MessageReceiver and split initialization and the time when it can 
1055         start acting as protocol handler as these happen at different times now. It also now stores a
1056         ChildProcess rather than a Connection.
1057
1058         * SharedWorkerProcess/SharedWorkerProcess.h:
1059         Add overrides necessary for MessageSender.
1060
1061         * WebProcess/WebProcess.cpp:
1062         (WebKit::WebProcess::WebProcess):
1063         Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in 
1064         the ChildProcess.
1065
1066         (WebKit::WebProcess::didReceiveMessage):
1067         Remove the special case for CustomProtocolManager.
1068
1069         (WebKit::WebProcess::initializeCustomProtocolManager):
1070         Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
1071
1072         * WebProcess/WebProcess.h:
1073         Add overrides necessary for MessageSender.
1074
1075 2012-12-20  Martin Robinson  <mrobinson@igalia.com>
1076
1077         [GTK] Remove plugin process configuration option
1078         https://bugs.webkit.org/show_bug.cgi?id=105564
1079
1080         Reviewed by Carlos Garcia Campos.
1081
1082         Remove the --enable-plugin-process configuration option, opting instead to
1083         always build the plugin process when building WebKit2. It isn't very interesting
1084         for downstream to enable or disable the plugin process. It should always be
1085         enabled for WebKit2 and it's better for us not to have to keep a disabled plugin
1086         process building. Additionally, the in-process plugin isn't functional, since
1087         plugins depend on GTK+ 2 and WebKit2 depends on GTK+ 3.
1088
1089         * GNUmakefile.am: Remove the option.
1090         * GNUmakefile.list.am: Remote the option.
1091
1092 2012-12-22  Sam Weinig  <sam@webkit.org>
1093
1094         Give the ChildProcess a MessageReceiverMap
1095         https://bugs.webkit.org/show_bug.cgi?id=105681
1096
1097         Reviewed by Dan Bernstein.
1098
1099         Moving the MessageReceiverMap to the ChildProcess will help shared code
1100         between the WebProcess and NetworkProcess.
1101
1102         * NetworkProcess/NetworkProcess.cpp:
1103         (WebKit::NetworkProcess::NetworkProcess):
1104         Pass 'this' instead of the MessageReceiverMap, now that ChildProcess
1105         can be used to access the MessageReceiverMap.
1106
1107         * NetworkProcess/NetworkProcess.h:
1108         (NetworkProcess):
1109         Remove the now extraneous MessageReceiverMap.
1110
1111         * Shared/ChildProcess.cpp:
1112         (WebKit::ChildProcess::ChildProcess):
1113         (WebKit):
1114         (WebKit::ChildProcess::~ChildProcess):
1115         (WebKit::ChildProcess::addMessageReceiver):
1116         (WebKit::ChildProcess::removeMessageReceiver):
1117         * Shared/ChildProcess.h:
1118         (ChildProcess):
1119         Add a MessageReceiverMap and helper functions from WebProcess.
1120
1121         * WebProcess/Authentication/AuthenticationManager.cpp:
1122         (WebKit::AuthenticationManager::AuthenticationManager):
1123         * WebProcess/Authentication/AuthenticationManager.h:
1124         (AuthenticationManager):
1125         Fix the FIXME, passing the ChildProcess rather than the MessageReceiverMap.
1126
1127         * WebProcess/WebProcess.cpp:
1128         (WebKit::WebProcess::WebProcess):
1129         * WebProcess/WebProcess.h:
1130         (WebProcess):
1131         Remove the MessageReceiverMap and helper functions.
1132
1133 2012-12-22  Alexey Proskuryakov  <ap@apple.com>
1134
1135         Windows build fix.
1136
1137         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
1138
1139 2012-12-22  Alexey Proskuryakov  <ap@apple.com>
1140
1141         Add a separate class for networking related storage
1142         https://bugs.webkit.org/show_bug.cgi?id=105676
1143
1144         Reviewed by Sam Weinig.
1145
1146         * NetworkProcess/NetworkConnectionToWebProcess.cpp: We no longer need to create
1147         fake RemoteNetworkingContexts here! Use an actual default or private storage session.
1148
1149         * NetworkProcess/mac/NetworkProcessMainMac.mm: Updated form of WebSystemInterface.h include,
1150         it's not a system one.
1151
1152         * NetworkProcess/mac/RemoteNetworkingContext.h: Expose privateBrowsingSession(),
1153         so that NetworkConnectionToWebProcess could use it. We can generalize the interface
1154         one we support more sessions.
1155
1156         * NetworkProcess/mac/RemoteNetworkingContext.mm: This class now only tracks private
1157         browsing session, with most other code being in NetworkStorageSession.
1158
1159         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
1160         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
1161         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1162         * WebProcess/WebProcess.cpp:
1163         * WebProcess/efl/WebProcessMainEfl.cpp:
1164         * WebProcess/gtk/WebProcessMainGtk.cpp:
1165         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
1166         * WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp:
1167         * WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp:
1168         * WebProcess/Downloads/mac/DownloadMac.mm:
1169         * WebProcess/Network/WebResourceLoader.cpp:
1170         Updated includes for ResourceHandle change. For some ports, the includes could be
1171         made more tight, but I have no practical way to do that.
1172
1173         * WebKit2.xcodeproj/project.pbxproj: Removed WebPlatformStrategiesMac.mm.
1174
1175         * WebProcess/Cookies/WebCookieManager.cpp:
1176         (WebKit::WebCookieManager::getHostnamesWithCookies):
1177         (WebKit::WebCookieManager::deleteCookiesForHostname):
1178         (WebKit::WebCookieManager::deleteAllCookies):
1179         Pass a proper session instead of relying on a strategy to call back to WebKit
1180         for default cookie storage (we don't even have strategies initialized in NetworkProcess).
1181
1182         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1183         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Initialize WCSI
1184         before calling a function that now uses in in WebCore.
1185
1186         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1187         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: We no longer need a strategy
1188         for default cookie storage! Updated other functions to use sessions.
1189
1190         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1191         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1192         * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Removed.
1193         * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
1194         WebFrameNetworkingContext is now simpler, with more tracking being donre through WebCore.
1195
1196 2012-12-21  Elliott Sprehn  <esprehn@chromium.org>
1197
1198         Replace documentFragmentIsShadowRoot with isTreeScope
1199         https://bugs.webkit.org/show_bug.cgi?id=105345
1200
1201         Reviewed by Dimitri Glazkov.
1202
1203         Expose isTreeScope symbol.
1204
1205         * win/WebKit2.def.in:
1206
1207 2012-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1208
1209         Unreviewed, rolling out r138331.
1210         http://trac.webkit.org/changeset/138331
1211         https://bugs.webkit.org/show_bug.cgi?id=105668
1212
1213         Broke Windows clean builds; can't figure out how to fix it
1214         (Requested by rniwa on #webkit).
1215
1216         * win/WebKit2.def.in:
1217
1218 2012-12-21  Brady Eidson  <beidson@apple.com>
1219
1220         ASSERT in WebResourceLoadScheduler::scheduleLoad with a crashed NetworkProcess.
1221         <rdar://problem/12924845> and https://bugs.webkit.org/show_bug.cgi?id=105646
1222
1223         Reviewed by Alexey Proskuryakov.
1224
1225         If we fail to schedule a loader with the NetworkProcess it is probably because the NetworkProcess crashed.
1226
1227         Since these loaders will never succeed in loading we should schedule them to fail on a timer.
1228
1229         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1230         (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
1231         (WebKit::WebResourceLoadScheduler::scheduleLoad):
1232         (WebKit::WebResourceLoadScheduler::addUnschedulableLoad):
1233         (WebKit::WebResourceLoadScheduler::unscheduledLoadTimerFired):
1234         (WebKit::WebResourceLoadScheduler::remove):
1235         * WebProcess/Network/WebResourceLoadScheduler.h:
1236
1237 2012-12-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1238
1239         Unreviewed potential fix EFL/Qt test breakage on WK2
1240
1241         Only disable scrollbars when in fixed layout mode.
1242
1243         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1244         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1245
1246 2012-12-21  Brady Eidson  <beidson@apple.com>
1247
1248         Remove ResourceLoadScheduler::addMainResourceLoad and all related code
1249         <rdar://problem/12925275> and https://bugs.webkit.org/show_bug.cgi?id=105644
1250
1251         Reviewed by Alexey Proskuryakov.
1252
1253         Now that main resources loads are scheduled (bug 49246) we don't need this stuff anymore.
1254
1255         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1256         (WebKit::WebResourceLoadScheduler::remove):
1257         (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
1258         * WebProcess/Network/WebResourceLoadScheduler.h:
1259
1260 2012-12-20  Sam Weinig  <sam@webkit.org>
1261
1262         Add WebKit2 SPI to get the current selection as a WebArchive
1263         https://bugs.webkit.org/show_bug.cgi?id=105613
1264
1265         Reviewed by Anders Carlsson.
1266
1267         * UIProcess/API/C/WKPage.cpp:
1268         (WKPageGetSelectionAsWebArchiveData):
1269         * UIProcess/API/C/WKPage.h:
1270         Add SPI.
1271
1272         * UIProcess/WebPageProxy.cpp:
1273         (WebKit::WebPageProxy::getSelectionAsWebArchiveData):
1274         (WebKit):
1275         * UIProcess/WebPageProxy.h:
1276         (WebPageProxy):
1277         * WebProcess/WebPage/WebPage.cpp:
1278         (WebKit):
1279         (WebKit::frameWithSelection):
1280         (WebKit::WebPage::getSelectionAsWebArchiveData):
1281         * WebProcess/WebPage/WebPage.h:
1282         (WebPage):
1283         * WebProcess/WebPage/WebPage.messages.in:
1284         Pipe getter to the WebProcess and back.
1285
1286 2012-12-21  Brady Eidson  <beidson@apple.com>
1287
1288         Perform cleanup in WebProcess if the NetworkProcess crashes.
1289         <rdar://problem/12903117> and https://bugs.webkit.org/show_bug.cgi?id=105592
1290
1291         Reviewed by Alexey Proskuryakov.
1292
1293         If the NetworkProcess crashes, a whole bunch of WebResourceLoaders (and WebCore::ResourceLoaders)
1294         might be orphaned in the WebProcess.
1295
1296         These loaders need to fail once it is apparent they will never finish loading.
1297
1298         * Shared/API/c/WKError.h: Add a new error representing an "WebKit Internal Error."
1299
1300         * WebProcess/WebCoreSupport/WebErrors.h:
1301         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
1302         (WebKit::internalError):
1303
1304         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1305         (WebKit::WebResourceLoadScheduler::networkProcessCrashed): Call didFail all outstanding ResourceLoaders
1306           and tell all WebResourceLoaders the NetworkProcess crashed.
1307         * WebProcess/Network/WebResourceLoadScheduler.h:
1308
1309         * WebProcess/Network/WebResourceLoader.cpp:
1310         (WebKit::WebResourceLoader::networkProcessCrashed): Call didFail with the new InternalError
1311         * WebProcess/Network/WebResourceLoader.h:
1312
1313         * WebProcess/WebProcess.cpp:
1314         (WebKit::WebProcess::networkProcessConnectionClosed): Tell the scheduled the NetworkProcess crashed.
1315
1316 2012-12-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1317
1318         [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
1319         https://bugs.webkit.org/show_bug.cgi?id=105632
1320
1321         Reviewed by Antonio Gomes.
1322
1323         Then creating the frame ask to not create scrollbars and
1324         lock it so they won't be created at any later time.
1325
1326         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1327         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1328
1329 2012-12-21  Seokju Kwon  <seokju.kwon@gmail.com>
1330
1331         [EFL] Add guard around ContextMenuItemTagInspectElement
1332         https://bugs.webkit.org/show_bug.cgi?id=105267
1333
1334         Reviewed by Ryosuke Niwa.
1335
1336         Need INSPECTOR guard for using ContextMenuItemTagInspectElement.
1337
1338         * UIProcess/API/efl/ewk_context_menu_item.cpp:
1339
1340 2012-12-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1341
1342         [WK2] TiledBackingStore: Scroll position is not reset when new page is loaded
1343         https://bugs.webkit.org/show_bug.cgi?id=105627
1344
1345         Reviewed by Kenneth Rohde Christiansen.
1346
1347         Reset scroll position to (0,0) when new page is loaded.
1348
1349         * WebProcess/WebPage/WebPage.cpp:
1350         (WebKit::WebPage::sendViewportAttributesChanged):
1351
1352 2012-12-21  Tim Horton  <timothy_horton@apple.com>
1353
1354         PDFPlugin: Cannot drop files/URLs on PDFPlugin
1355         https://bugs.webkit.org/show_bug.cgi?id=105516
1356         <rdar://problem/12729443>
1357
1358         Reviewed by Alexey Proskuryakov.
1359
1360         Add shouldAllowNavigationFromDrags to Plugin/PluginView/etc., which WebCore will
1361         consult when dragging over a PluginDocument to decide whether or not a drag may result in navigation.
1362
1363         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1364         (WebKit::NetscapePlugin::shouldAllowNavigationFromDrags): Added, always returning false to keep existing behavior.
1365         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1366         (NetscapePlugin): Added.
1367         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
1368         (WebKit::SimplePDFPlugin::shouldAllowNavigationFromDrags): Added, always returning true. (Simple)PDFPlugin should
1369         navigate when dropped onto, just like an image or HTML document would.
1370         * WebProcess/Plugins/Plugin.h:
1371         (Plugin): Add shouldAllowNavigationFromDrags.
1372         * WebProcess/Plugins/PluginProxy.h: Add shouldAllowNavigationFromDrags.
1373         * WebProcess/Plugins/PluginView.cpp:
1374         (WebKit::PluginView::shouldAllowNavigationFromDrags): Forward shouldAllowNavigationFromDrags to the plugin.
1375         * WebProcess/Plugins/PluginView.h: Add shouldAllowNavigationFromDrags.
1376
1377 2012-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1378
1379         Unreviewed, rolling out r138357.
1380         http://trac.webkit.org/changeset/138357
1381         https://bugs.webkit.org/show_bug.cgi?id=105622
1382
1383         wrong fix for the problem\1f (the original author actually
1384         already did this, and it's not helping) (Requested by thorton
1385         on #webkit).
1386
1387         * win/WebKit2.def.in:
1388
1389 2012-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1390
1391         Unreviewed, rolling out r138338.
1392         http://trac.webkit.org/changeset/138338
1393         https://bugs.webkit.org/show_bug.cgi?id=105621
1394
1395         speculative rollout because fast/dom/shadow/content-element-
1396         distributed-nodes.html is crashing on linux debug. (Requested
1397         by loislo on #webkit).
1398
1399         * win/WebKit2.def.in:
1400
1401 2012-12-21  Tim Horton  <timothy_horton@apple.com>
1402
1403         Unreviewed Windows build fix after http://trac.webkit.org/changeset/138338
1404
1405         * win/WebKit2.def.in:
1406
1407 2012-12-21  Tim Horton  <timothy_horton@apple.com>
1408
1409         Reducing print preview scale significantly causes a crash
1410         https://bugs.webkit.org/show_bug.cgi?id=105519
1411         <rdar://problem/12807090>
1412
1413         Reviewed by Alexey Proskuryakov.
1414
1415         The bitmap image used for print previews was being created respecting the print preview scale.
1416         This doesn't make any sense, as the scale does not affect the size of the image required to
1417         represent the previewed page. Instead, we should not scale the size, creating the buffer at a
1418         size that is constant regardless of scale, and do the scaling when drawing *into* the buffer instead.
1419
1420         In some cases, this could cause an out-of-memory crash.
1421
1422         * UIProcess/API/mac/WKPrintingView.mm:
1423         (-[WKPrintingView _drawPreview:]): Rename rect to scaledPrintingRect for clarity. Compute print
1424         preview bitmap image size from the original non-scaled drawing size and the device scale factor.
1425         Hand the image size to drawRectToImage. Draw the image without scaling, as it's always created
1426         at the correct size. Don't compute the scale factor from the size of the image, we can know it from WebPageProxy.
1427         * UIProcess/WebPageProxy.cpp:
1428         (WebKit::WebPageProxy::drawRectToImage): Add a parameter to drawRectForImage, imageSize.
1429         * UIProcess/WebPageProxy.h:
1430         (WebPageProxy): Add a parameter to drawRectForImage, imageSize.
1431         * WebProcess/WebPage/WebPage.cpp:
1432         (WebKit::WebPage::drawRectToImage): Use imageSize to size our buffer, and scale up to make the printing rect
1433         fit in the bitmap's bounds.
1434         * WebProcess/WebPage/WebPage.h:
1435         (WebPage): Add a parameter to drawRectForImage, imageSize.
1436         * WebProcess/WebPage/WebPage.messages.in: Add a parameter to drawRectForImage, imageSize.
1437
1438 2012-12-20  Helder Correia  <helder.correia@nokia.com>
1439
1440         [CoordGfx] Make single-argument AreaAllocator constructors explicit
1441         https://bugs.webkit.org/show_bug.cgi?id=105598
1442
1443         Reviewed by Noam Rosenthal.
1444
1445         Follow the coding style for AreaAllocator and GeneralAreaAllocator.
1446
1447         * WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h:
1448         (AreaAllocator):
1449         (GeneralAreaAllocator):
1450
1451 2012-12-20  Elliott Sprehn  <esprehn@chromium.org>
1452
1453         Replace documentFragmentIsShadowRoot with isTreeScope
1454         https://bugs.webkit.org/show_bug.cgi?id=105345
1455
1456         Reviewed by Dimitri Glazkov.
1457
1458         Expose isTreeScope symbol.
1459
1460         * win/WebKit2.def.in:
1461
1462 2012-12-20  Kiran Muppala  <cmuppala@apple.com>
1463
1464         Set timer coalescing policy for WebKit2 processes on Mac until process visible assertion handles it automatically
1465         https://bugs.webkit.org/show_bug.cgi?id=105594
1466
1467         Reviewed by Mark Rowe.
1468
1469         * Shared/mac/ChildProcessMac.mm:
1470         (WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
1471         for visible applications.
1472         (WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
1473
1474 2012-12-20  Anders Carlsson  <andersca@apple.com>
1475
1476         Stop building WebKit2 for Windows
1477         https://bugs.webkit.org/show_bug.cgi?id=105585
1478
1479         Reviewed by Brian Weinstein.
1480
1481         Remove an unneeded export.
1482
1483         * win/WebKit2.def.in:
1484
1485 2012-12-20  Ryuan Choi  <ryuan.choi@samsung.com>
1486
1487         [EFL] Build break with latest EFL libraries.
1488         https://bugs.webkit.org/show_bug.cgi?id=104827
1489
1490         Reviewed by Laszlo Gombos.
1491
1492         The eo EFL package is introduced and evas and ecore use it since 1.8.
1493         While introducing Eo, EFL changed several structures of Evas and Ecore
1494         from own specific class to Eo.
1495
1496         So, this patch adds FindEo and changes declaration of Evas, Evas_Object,
1497         Ecore_Timer to build with latest EFL libraries.
1498
1499         * PlatformEfl.cmake: Includes eo EFL library.
1500         * UIProcess/API/C/efl/WKAPICastEfl.h: Modified declaration of Evas_Object.
1501         * UIProcess/API/C/efl/WKView.h: Modified declaration of Evas.
1502         * UIProcess/efl/WebPopupMenuProxyEfl.h: Removed unnecessary declaration.
1503
1504 2012-12-20  Helder Correia  <helder.correia@nokia.com>
1505
1506         [CoordGfx] Remove CoordinatedLayerUpdateInfo class forwarding
1507         https://bugs.webkit.org/show_bug.cgi?id=105588
1508
1509         Reviewed by Noam Rosenthal.
1510
1511         There is no such class.
1512
1513         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1514         (WebKit):
1515         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1516         (WebKit):
1517
1518 2012-12-20  Pratik Solanki  <psolanki@apple.com>
1519
1520         Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK)
1521         https://bugs.webkit.org/show_bug.cgi?id=105578
1522
1523         Reviewed by Alexey Proskuryakov.
1524
1525         * NetworkProcess/NetworkResourceLoader.cpp:
1526         * NetworkProcess/NetworkResourceLoader.h:
1527
1528 2012-12-20  Alexey Proskuryakov  <ap@apple.com>
1529
1530         LocalTerminationDisabler is not needed in WebCookieManager.cpp
1531         https://bugs.webkit.org/show_bug.cgi?id=105581
1532
1533         Reviewed by Anders Carlsson.
1534
1535         All WebCookieManager functions are synchronous, and all LocalTerminationDisabler does
1536         is enable/disable a timer that cannot fire inside the function anyway.
1537
1538         * WebProcess/Cookies/WebCookieManager.cpp:
1539         (WebKit::WebCookieManager::getHostnamesWithCookies):
1540         (WebKit::WebCookieManager::deleteCookiesForHostname):
1541         (WebKit::WebCookieManager::deleteAllCookies):
1542         (WebKit::WebCookieManager::startObservingCookieChanges):
1543         (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
1544         (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
1545
1546 2012-12-20  Brady Eidson  <beidson@apple.com>
1547
1548         NetworkProcess has no need for suspend/resumePendingRequests.
1549         <rdar://problem/12866005> and https://bugs.webkit.org/show_bug.cgi?id=105550
1550
1551         Reviewed by Alexey Proskuryakov.
1552
1553         suspend/resumePendingRequests were important in a single-process, WebKit1 API world to help prevent
1554         client callbacks from occurring during layout/painting.
1555
1556         In a WebKit2 + NetworkProcess world, they aren't important.
1557
1558         Remove the Web->Network process messages:
1559         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1560         * NetworkProcess/NetworkConnectionToWebProcess.h:
1561         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1562         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1563         * NetworkProcess/NetworkResourceLoadScheduler.h:
1564
1565         For now, still keep the per-WebProcess count to help keep servePendingRequest working as WebCore intends:
1566         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1567         (WebKit::WebResourceLoadScheduler::servePendingRequests):
1568         (WebKit::WebResourceLoadScheduler::suspendPendingRequests):
1569         (WebKit::WebResourceLoadScheduler::resumePendingRequests):
1570
1571 2012-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1572
1573         [GTK] Add API to set a TLS errors policy to WebKit2 GTK+ API
1574         https://bugs.webkit.org/show_bug.cgi?id=104482
1575
1576         Reviewed by Martin Robinson.
1577
1578         Add an emum for TLS errors policy with values IGNORE and FAIL and
1579         API to WebKitWebContext to set/get the policy.
1580
1581         * Shared/WebProcessCreationParameters.cpp:
1582         (WebKit::WebProcessCreationParameters::encode): Encode ignoreTLSErrors.
1583         (WebKit::WebProcessCreationParameters::decode): Decode ignoreTLSErrors.
1584         * Shared/WebProcessCreationParameters.h:
1585         (WebProcessCreationParameters): Add ignoreTLSErrors when building
1586         with soup network backend.
1587         * Shared/soup/PlatformCertificateInfo.cpp:
1588         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Add a
1589         constructor that receives a ResourceError.
1590         * Shared/soup/PlatformCertificateInfo.h:
1591         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1592         (CoreIPC::::encodePlatformData): Encode the
1593         PlatformCertificateInfo as part for the ResourceError.
1594         (CoreIPC::::decodePlatformData): Decode the
1595         PlatformCertificateInfo and set certificate and TLS errors in the
1596         ResourceError.
1597         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1598         (didFailProvisionalLoadWithErrorForFrame): Call
1599         webkitWebViewLoadFailedWithTLSErrors() if the load failed due to
1600         TLS errors.
1601         * UIProcess/API/gtk/WebKitWebContext.cpp:
1602         (_WebKitWebContextPrivate): Add tlsErrorsPolicy member.
1603         (createDefaultWebContext): Initiales tlsErrorsPolicy.
1604         (webkit_web_context_set_tls_errors_policy): Set the TLS errors
1605         policy notify WebContext to ignore TLS errors or not.
1606         (webkit_web_context_get_tls_errors_policy): Return the current TLS
1607         errors policy.
1608         * UIProcess/API/gtk/WebKitWebContext.h:
1609         * UIProcess/API/gtk/WebKitWebView.cpp:
1610         (webkitWebViewLoadFailedWithTLSErrors): Finish the load with an
1611         error if the TLS errors policy is FAIL.
1612         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1613         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1614         * UIProcess/API/gtk/tests/TestSSL.cpp:
1615         (testTLSErrorsPolicy):
1616         (beforeAll):
1617         * UIProcess/WebContext.cpp:
1618         (WebKit::WebContext::WebContext): Initialize m_ignoreTLSErrors.
1619         * UIProcess/WebContext.h:
1620         (WebContext): Add m_ignoreTLSErrors member.
1621         (WebKit::WebContext::ignoreTLSErrors): Return m_ignoreTLSErrors.
1622         * UIProcess/efl/WebContextEfl.cpp:
1623         (WebKit::WebContext::platformInitializeWebProcess): Set
1624         ignoreTLSErrors parameter.
1625         (WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
1626         message to the web process.
1627         * UIProcess/gtk/WebContextGtk.cpp:
1628         (WebKit::WebContext::platformInitializeWebProcess): Set
1629         ignoreTLSErrors parameter.
1630         (WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
1631         message to the web process.
1632         (WebKit):
1633         * WebProcess/WebProcess.h:
1634         * WebProcess/WebProcess.messages.in:
1635         * WebProcess/efl/WebProcessMainEfl.cpp:
1636         (WebKit::WebProcessMainEfl): Remove the call to
1637         ResourceHandle::setIgnoreSSLErrors().
1638         * WebProcess/gtk/WebProcessMainGtk.cpp:
1639         (WebKit::WebProcessMainGtk): Remove the call to
1640         ResourceHandle::setIgnoreSSLErrors().
1641         * WebProcess/soup/WebProcessSoup.cpp:
1642         (WebKit::WebProcess::platformInitializeWebProcess):
1643         (WebKit::WebProcess::setIgnoreTLSErrors): Call
1644         ResourceHandle::setIgnoreSSLErrors().
1645         (WebKit):
1646
1647 2012-12-20  Dominik Röttsches  <dominik.rottsches@intel.com>
1648
1649         [EFL] MiniBrowser does not play Infinite Gangnam Style
1650         https://bugs.webkit.org/show_bug.cgi?id=103531
1651
1652         Reviewed by Kenneth Rohde Christiansen.
1653
1654         WebAudio preference now defaults to switched on.
1655
1656         * UIProcess/API/efl/EwkViewImpl.cpp:
1657         (EwkViewImpl::EwkViewImpl):
1658
1659 2012-12-20  Huang Dongsung  <luxtella@company100.net>
1660
1661         Remove GraphicsLayer::setGraphicsLayerFactory().
1662         https://bugs.webkit.org/show_bug.cgi?id=105503
1663
1664         Reviewed by Kenneth Rohde Christiansen.
1665
1666         We don't need GraphicsLayer::setGraphicsLayerFactory() anymore. After r130302,
1667         we have used a graphics layer factory explicitly.
1668
1669         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1670         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1671         * WebProcess/efl/WebProcessMainEfl.cpp:
1672         (WebKit::WebProcessMainEfl):
1673         * WebProcess/qt/WebProcessMainQt.cpp:
1674         (WebKit::WebProcessMainQt):
1675
1676 2012-12-20  Dominik Röttsches  <dominik.rottsches@intel.com>
1677
1678         [WK2] WebAudio WKTR support
1679         https://bugs.webkit.org/show_bug.cgi?id=95084
1680
1681         Reviewed by Kenneth Rohde Christiansen.
1682
1683         Implementing audio data dump support for WebKitTestRunner,
1684         by adding the API to the IDL, enabling IPC for transferring
1685         the audio data as bytebuffer and dumping it according
1686         to run-webkit-tests script's expectations.
1687
1688         I am adding a testrunner specific bundle method to extract data
1689         from a Uint8Array into a bytebuffer. This API is used by
1690         WebKitTestRunner's TestRunner to extract the data into a local
1691         variable, then sending it over IPC.
1692
1693         * DerivedSources.pri: Fixing Qt build by adding JSUint8Array.h header to list of forwarding headers.
1694         * Target.pri: Adding missing WKData.* files. Qt build fix.
1695         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1696         (WKBundleCreateWKDataFromUint8Array): Added.
1697         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Adding WKBundleCreateWKDataFromUint8Array.
1698         * WebProcess/InjectedBundle/InjectedBundle.cpp: Convert Uint8Array to WebData.
1699         (WebKit::InjectedBundle::createWebDataFromUint8Array):
1700         (WebKit):
1701         * WebProcess/InjectedBundle/InjectedBundle.h:
1702         (WebKit):
1703         (InjectedBundle):
1704
1705 2012-12-19  Kiran Muppala  <cmuppala@apple.com>
1706
1707         Adopt new assertion SPI for process suppression on Mac
1708         https://bugs.webkit.org/show_bug.cgi?id=105378
1709
1710         Reviewed by Mark Rowe.
1711
1712         Process suppression for WebKit2 child processes is currently enabled or disabled using AutomaticTermination.
1713         This should be replaced with a new assertion SPI specific to process suppression.
1714
1715         * Shared/ChildProcess.cpp:
1716         (WebKit::ChildProcess::ChildProcess): Remove unused member variable m_applicationIsOccluded.
1717         * Shared/ChildProcess.h:
1718         (WebKit::ChildProcess::applicationIsOccluded): Infer occlusion state from m_processVisibleAssertion.
1719         * Shared/mac/ChildProcessMac.mm:
1720         (WebKit::ChildProcess::setApplicationIsOccluded): Use applicationIsOccluded() accessor to check if the
1721         occlusion state has changed and take or release a process visible assertion accordingly.
1722         (WebKit::ChildProcess::platformInitialize): Remove call to initializeTimerCoalescingPolicy(), since taking
1723         a process visible assertion also sets the timer coalescing policy appropriately.  Set the occlusion
1724         state to false on initialization.
1725
1726 2012-12-19  Alexey Proskuryakov  <ap@apple.com>
1727
1728         <rdar://problem/12890242> [WK2 NetworkProcess] Client doesn't receive SSL certificates
1729         https://bugs.webkit.org/show_bug.cgi?id=105467
1730
1731         Reviewed by Brady Eidson.
1732
1733         * NetworkProcess/NetworkResourceLoader.cpp:
1734         (WebKit::NetworkResourceLoader::didReceiveResponse):
1735         * Shared/mac/PlatformCertificateInfo.mm:
1736         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
1737         * WebProcess/Network/WebResourceLoader.cpp:
1738         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
1739         * WebProcess/Network/WebResourceLoader.h:
1740         * WebProcess/Network/WebResourceLoader.messages.in:
1741         Pass certificate chain over IPC, so that we could ultimately send it to client
1742         via WebPageProxy::DidCommitLoadForFrame message.
1743
1744         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
1745         Initialize a WKSI function we've been missing.
1746
1747 2012-12-19  Jon Lee  <jonlee@apple.com>
1748
1749         Add a function to set the origin hash table
1750         https://bugs.webkit.org/show_bug.cgi?id=105447
1751         <rdar://problem/12910985>
1752
1753         Reviewed by Brian Weinstein.
1754
1755         Add a new API called WKContextSetPlugInAutoStartOriginHashes. It assigns the table of hashes,
1756         keyed by main frame origin, to the WebContext. That, in turn, notifies all existing web
1757         processes, so that each web process can update its copy of the auto-start hashes.
1758
1759         * UIProcess/API/C/WKContext.cpp:
1760         (WKContextSetPlugInAutoStartOriginHashes): To clear the table, an empty dictionary must be
1761         provided.
1762         * UIProcess/API/C/WKContext.h:
1763
1764         * UIProcess/WebContext.cpp:
1765         (WebKit::WebContext::setPlugInAutoStartOriginHashes): Forward to PlugInAutoStartProvider.
1766         * UIProcess/WebContext.h:
1767
1768         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
1769         (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Clear the map and set of hashes,
1770         and convert the data from the provided dictionary. Also add it to a temporary vector, which will
1771         be used to pass along to all of the active web processes.
1772         * UIProcess/Plugins/PlugInAutoStartProvider.h:
1773
1774         * WebProcess/WebProcess.messages.in: Add plugInAutoStartOriginsChanged. Takes in a vector of
1775         the new set of hashes.
1776         * WebProcess/WebProcess.cpp:
1777         (WebKit::WebProcess::plugInAutoStartOriginsChanged): Clear the existing set, and copy the new
1778         hashes.
1779         * WebProcess/WebProcess.h:
1780
1781 2012-12-18  Jon Lee  <jonlee@apple.com>
1782
1783         Notify context client of change to table, and allow client to get a copy of it
1784         https://bugs.webkit.org/show_bug.cgi?id=105364
1785         <rdar://problem/12906267>
1786
1787         Reviewed by Brady Eidson.
1788
1789         Add a callback to notify the context client that the origin hashes have changed.
1790         The client may choose to get a copy of that table and save it to disk.
1791
1792         * UIProcess/API/C/WKContext.cpp:
1793         (WKContextCopyPlugInAutoStartOriginHashes): Added to the context client.
1794         * UIProcess/API/C/WKContext.h:
1795         * UIProcess/WebContext.cpp:
1796         (WebKit::WebContext::plugInAutoStartOriginHashes): Return a copy of the origin hash
1797         table.
1798         * UIProcess/WebContext.h:
1799
1800         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
1801         (WebKit::PlugInAutoStartProvider::addAutoStartOrigin): When the origin is added to
1802         the table, notify the context client.
1803         (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Create a copy of the
1804         table.
1805         * UIProcess/Plugins/PlugInAutoStartProvider.h:
1806
1807         * UIProcess/WebContextClient.cpp:
1808         (WebKit::WebContextClient::plugInAutoStartOriginHashesChanged): Call the client.
1809         * UIProcess/WebContextClient.h:
1810
1811 2012-12-19  Alexis Menard  <alexis@webkit.org>
1812
1813         Implement CSS parsing for CSS transitions unprefixed.
1814         https://bugs.webkit.org/show_bug.cgi?id=104804
1815
1816         Reviewed by Dean Jackson.
1817
1818         Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
1819         to cover the work of unprefixing Transforms, Animations and 
1820         Transitions. It will let the possibility of each ports to turn it off 
1821         in their release branches until we're confident that these CSS 
1822         properties are ready to be unprefixed.
1823
1824         * Configurations/FeatureDefines.xcconfig:
1825
1826 2012-12-19  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1827
1828         [EFL][WK2][AC] Avoid creating an empty surface.
1829         https://bugs.webkit.org/show_bug.cgi?id=105410
1830
1831         Reviewed by Kenneth Rohde Christiansen.
1832
1833         Ensure that the view has valid size before creating the surface.
1834
1835         * UIProcess/API/efl/EvasGLSurface.h:
1836         (WebKit::EvasGLSurface::create):
1837         * UIProcess/API/efl/EwkViewImpl.cpp:
1838         (EwkViewImpl::displayTimerFired):
1839
1840 2012-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1841
1842         [EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing or wrong position
1843         https://bugs.webkit.org/show_bug.cgi?id=104414
1844
1845         Reviewed by Simon Hausmann.
1846
1847         When contents size changes, make sure to apply any pending position
1848         change if possible.
1849
1850         * UIProcess/PageViewportController.cpp:
1851         (WebKit::PageViewportController::didChangeContentsSize):
1852
1853 2012-12-19  Alberto Garcia  <agarcia@igalia.com>
1854
1855         [GTK] [WK2] Trailing semicolon in an #include line
1856         https://bugs.webkit.org/show_bug.cgi?id=105418
1857
1858         Reviewed by Xan Lopez.
1859
1860         * UIProcess/gtk/WebContextGtk.cpp:
1861         Remove trailing semicolon in #include line.
1862
1863 2012-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1864
1865         [EFL][WK2] Move deviceScaleFactor to our view as it's view related
1866         https://bugs.webkit.org/show_bug.cgi?id=105412
1867
1868         Reviewed by Laszlo Gombos.
1869
1870         * UIProcess/API/efl/EwkViewImpl.cpp:
1871         (EwkViewImpl::setDeviceScaleFactor):
1872         (EwkViewImpl::transformFromScene):
1873         * UIProcess/API/efl/EwkViewImpl.h:
1874         (EwkViewImpl):
1875         * UIProcess/API/efl/ewk_view.cpp:
1876         (ewk_view_device_pixel_ratio_set):
1877
1878 2012-12-19  Zeno Albisser  <zeno@webkit.org>
1879
1880         [Qt] Missing vtable for LoadStartedCatcher.
1881         https://bugs.webkit.org/show_bug.cgi?id=105313
1882
1883         Properly splitting class declarations and function
1884         definitions into headers/cpp-files.
1885         This makes including util.moc redundant
1886         and avoids the well known vtable issues with QObject classes.
1887
1888         Reviewed by Simon Hausmann.
1889
1890         * UIProcess/API/qt/tests/util.cpp:
1891         (LoadSpy::LoadSpy):
1892         (LoadSpy::onLoadingChanged):
1893         * UIProcess/API/qt/tests/util.h:
1894         (LoadSpy):
1895
1896 2012-12-19  KyungTae Kim  <ktf.kim@samsung.com>
1897
1898         Unused parameters on WebContext.cpp
1899         https://bugs.webkit.org/show_bug.cgi?id=105395
1900
1901         Reviewed by Kentaro Hara.
1902
1903         Because the parameters 'certficate', 'host' are not used if !ENABLE(NETWORK_PROCESS), 
1904         use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
1905
1906         * UIProcess/WebContext.cpp:
1907         (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
1908
1909 2012-12-18  Alexey Proskuryakov  <ap@apple.com>
1910
1911         Remove unnecessary functions from CookiesStrategy
1912         https://bugs.webkit.org/show_bug.cgi?id=105369
1913
1914         Reviewed by Brady Eidson.
1915
1916         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1917         * NetworkProcess/NetworkConnectionToWebProcess.h:
1918         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1919         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1920         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1921
1922         * WebProcess/Cookies/WebCookieManager.cpp: Call PlatformCookieJar directly.
1923         Cookie messages to NetworkProcess should not be sent through WebProcess. In a future
1924         patch, I'll make WebCookieManagerProxy message NetworkProcess instead.
1925
1926 2012-12-18  Jon Lee  <jonlee@apple.com>
1927
1928         [WK2] Create a context client
1929         https://bugs.webkit.org/show_bug.cgi?id=105316
1930         <rdar://problem/12901762>
1931
1932         Reviewed by Brady Eidson.
1933
1934         Web contexts already have clients related to downloads or history.
1935         Miscellaneous callbacks can be grouped into a generic client for the
1936         web context.
1937
1938         * UIProcess/API/C/WKContext.cpp:
1939         (WKContextSetClient): Set the client for the context.
1940         * UIProcess/API/C/WKContext.h: Define a new, empty WKContextClient.
1941
1942         * UIProcess/WebContext.cpp:
1943         (WebKit::WebContext::initializeClient):
1944         * UIProcess/WebContext.h: Add a variable for the new client. Move the
1945         download client so that all the clients are grouped together.
1946         (WebKit::WebContext::client): Returns the context client.
1947         * UIProcess/WebContextClient.cpp: Added. Currently empty, but will be
1948         filled out in a pending patch.
1949         * UIProcess/WebContextClient.h: Added.
1950
1951         Add WebContextClient.{h,cpp}.
1952         * CMakeLists.txt:
1953         * GNUmakefile.list.am:
1954         * Target.pri:
1955         * WebKit2.xcodeproj/project.pbxproj:
1956         * win/WebKit2.vcproj:
1957
1958 2012-12-18  Ivan Krstić  <ike@apple.com>
1959
1960         <rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2 plugins
1961
1962         Reviewed by Sam Weinig, Alexey Proskuryakov, Anders Carlsson.
1963
1964         Previously we assigned each PluginProcess a private temporary and
1965         cache directory based on the bundle name of the plugin that was
1966         running. This sometimes led to overly-long pathnames (sockets on OS X
1967         can only be 103 characters long), and didn't provide isolation between
1968         multiple running instances of the same plugin on behalf of different
1969         processes. We now assign each PluginProcess its own private
1970         temporary and cache directory regardless of which plugin it's running,
1971         and make an attempt to clean these up when the process terminates.
1972
1973         We also pass the temporary directory into the sandbox
1974         profile as a parameter, in case the plugin profile needs to apply
1975         additional rules beyond the default read/write policy.
1976
1977         * PluginProcess/mac/PluginProcessMainMac.mm:
1978         (WebKit::PluginProcessMain):
1979         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
1980         (enterSandbox):
1981
1982 2012-12-18  Beth Dakin  <bdakin@apple.com>
1983
1984         https://bugs.webkit.org/show_bug.cgi?id=102579
1985         [mac] Enable scaled cursors
1986
1987         Reviewed by Dean Jackson.
1988
1989         * Configurations/FeatureDefines.xcconfig:
1990
1991 2012-12-18  Joseph Pecoraro  <pecoraro@apple.com>
1992
1993         [Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
1994         https://bugs.webkit.org/show_bug.cgi?id=104279
1995
1996         Reviewed by David Kilzer.
1997
1998         Add a build phase to check the public WebKit2 headers for
1999         inappropriate macros. Also set the executable as an input
2000         path on the other check-* build phases.
2001
2002         * WebKit2.xcodeproj/project.pbxproj:
2003
2004 2012-12-18  Jer Noble  <jer.noble@apple.com>
2005
2006         REGRESSION: Using the Exit Full Screen button in the menu bar to exit HTML5 / media full screen breaks Safari windows
2007         https://bugs.webkit.org/show_bug.cgi?id=104610
2008
2009         Reviewed by Anders Carlsson.
2010
2011         When a user clicks on the menu-bar exit fullscreen button, that skips notifying the document that 
2012         the window is exiting fullscreen and tearing down the placeholder. Manually call that part of the code
2013         when we detect that it has been skipped.
2014
2015         * UIProcess/mac/WKFullScreenWindowController.mm:
2016         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2017
2018 2012-12-18  Brady Eidson  <beidson@apple.com>
2019
2020         WebProcesses often crash if they access the network after a NetworkProcess crash.
2021         <rdar://problem/12865789> and https://bugs.webkit.org/show_bug.cgi?id=105338
2022
2023         Reviewed by Alexey Proskuryakov.
2024
2025         After a NetworkProcess crash we should try to re-establish a connection to a new NetworkProcess
2026         when it is needed.
2027
2028         If that attempt fails, then the WebProcess should "cleanly" crash.
2029
2030         * WebProcess/WebProcess.cpp:
2031         (WebKit::WebProcess::networkConnection):
2032
2033 2012-12-17  Sam Weinig  <sam@webkit.org>
2034
2035         Try to fix the Mac build.
2036
2037         * NetworkProcess/mac/NetworkProcessMac.mm:
2038
2039 2012-12-17  Halton Huo  <halton.huo@intel.com>
2040
2041         [EFL] Add ecore_imf_evas to FindEcore.cmake
2042         https://bugs.webkit.org/show_bug.cgi?id=105159
2043
2044         Reviewed by Laszlo Gombos.
2045
2046         * PlatformEfl.cmake: Add ECORE_IMF_EVAS_LIBRARIES to WebProcess_LIBRARIES
2047
2048 2012-12-17  Huang Dongsung  <luxtella@company100.net>
2049
2050         Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
2051         https://bugs.webkit.org/show_bug.cgi?id=103959
2052
2053         Reviewed by Kenneth Rohde Christiansen.
2054
2055         Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
2056         It has two problem.
2057         1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
2058         TiledBackingStore from asynchronously sending UpdateTile message to UI
2059         Process.
2060         2. CreateTile and RemoveTile message can be sent to UI Process at any time.
2061
2062         This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
2063         It means only during flushing layer states, CoordinatedGraphicsLayer
2064         calls methods of TiledBackingStore, which indirectly call createTile(),
2065         updateTile() and removeTile().
2066
2067         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2068         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2069         (WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
2070         (WebCore::CoordinatedGraphicsLayer::setContentsScale):
2071         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
2072         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
2073         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
2074         (WebCore::CoordinatedGraphicsLayer::createTile):
2075         (WebCore::CoordinatedGraphicsLayer::updateTile):
2076         (WebCore::CoordinatedGraphicsLayer::removeTile):
2077         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
2078         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
2079         (WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
2080         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
2081         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2082         (CoordinatedGraphicsLayerClient):
2083         (CoordinatedGraphicsLayer):
2084         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2085         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
2086         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
2087         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
2088         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2089
2090 2012-12-17  Brady Eidson  <beidson@apple.com>
2091
2092         Can't visit sites with untrusted certs with the NetworkProcess.
2093         <rdar://problem/12885641> and https://bugs.webkit.org/show_bug.cgi?id=105235
2094
2095         Reviewed by Sam Weinig.
2096
2097         For Mac the missing functionality is being able to tell the network layer in the
2098         NetworkProcess to temporarily accept a certificate chain for the given host.
2099
2100         This patch adds some SPI supporting the way this works on Mac.
2101
2102         Add a message and Mac implementation for "allowSpecificHTTPSCertificateForHost":
2103         * NetworkProcess/NetworkProcess.h:
2104         * NetworkProcess/NetworkProcess.messages.in:
2105         * NetworkProcess/mac/NetworkProcessMac.mm:
2106         (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
2107
2108         Add SPI for the embedding app"
2109         * UIProcess/API/C/WKContext.cpp:
2110         (WKContextAllowSpecificHTTPSCertificateForHost):
2111         * UIProcess/API/C/WKContextPrivate.h:
2112
2113         * UIProcess/WebContext.cpp:
2114         (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
2115         * UIProcess/WebContext.h:
2116
2117 2012-12-17  Huang Dongsung  <luxtella@company100.net>
2118
2119         [CoordinatedGraphics] Assertion hit in WebKit::LayerTreeRenderer::setLayerState()
2120         https://bugs.webkit.org/show_bug.cgi?id=104518
2121
2122         Reviewed by Noam Rosenthal.
2123
2124         CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly() must perform
2125         only during flushing pending layer changes in CoordinatedLayerTreeHost.
2126         RenderLayerCompositor can call GraphicsLayer::flushCompositingState() regardless
2127         of CoordinatedLayerTreeHost and it breaks our assumption. It means that
2128         CoordinatedGraphicsLayer can send messages although m_waitingForUIProcess in
2129         CoordinatedLayerTreeHost is true.
2130
2131         Assertion hits because of the same reason. If RenderLayerCompositor calls
2132         flushCompositingState() before the first CoordinatedLayerTreeHost::flushPendingLayerChanges(),
2133         SetCompositingLayerState message can be prior to SetRootCompositingLayer message.
2134
2135         We fix this by ensuring that we perform the layer flush only in the code
2136         path originating from CoordinatedLayerTreeHost.
2137
2138         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2139         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2140         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2141         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2142         (CoordinatedGraphicsLayerClient):
2143         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2144         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2145         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
2146         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2147
2148 2012-12-17  Alexey Proskuryakov  <ap@apple.com>
2149
2150         <rdar://problem/12895354> NetworkProcess should not exit after downloading
2151         https://bugs.webkit.org/show_bug.cgi?id=105209
2152
2153         Reviewed by Anders Carlsson.
2154
2155         * NetworkProcess/NetworkProcess.cpp:
2156         (WebKit::NetworkProcess::shouldTerminate): This process should never voluntarily
2157         terminate, because it keeps session auth and cookies.
2158
2159 2012-12-17  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2160
2161         [EFL] Unit tests process hanging on WK2 Release bots
2162         https://bugs.webkit.org/show_bug.cgi?id=105021
2163
2164         Reviewed by Kenneth Rohde Christiansen.
2165
2166         Follow-up of r137605, which made it more difficult to reproduce
2167         the race condition but doesn't entirely solve the problem. Now
2168         we are handling only points in the middle of the fork()/exec().
2169
2170         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
2171         (WebKit::ProcessLauncher::launchProcess):
2172
2173 2012-12-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2174
2175         [EFL][WK2] window_create doesn't receive the url
2176         https://bugs.webkit.org/show_bug.cgi?id=105184
2177
2178         Reviewed by Alexis Menard.
2179
2180         Pass the url to the window_create method.
2181
2182         * UIProcess/API/efl/EwkViewImpl.cpp:
2183         (EwkViewImpl::createNewPage):
2184         * UIProcess/API/efl/EwkViewImpl.h:
2185         (EwkViewImpl):
2186         * UIProcess/API/efl/ewk_view.h:
2187         * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
2188         (createDefaultWindow):
2189         (createWindow):
2190         * UIProcess/efl/PageUIClientEfl.cpp:
2191         (WebKit::PageUIClientEfl::createNewPage):
2192
2193 2012-12-17  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2194
2195         [WK2] TiledBackingStore: css3/device-adapt/viewport-width-not-affecting-next-page.html is flaky
2196         https://bugs.webkit.org/show_bug.cgi?id=105131
2197
2198         Reviewed by Kenneth Rohde Christiansen.
2199
2200         The problem was lead by truncation of the scaled result for 'contentFixedSize'.
2201         Fixed now with using FloatSize::scale() instead of IntSize::scale().
2202
2203         * WebProcess/WebPage/WebPage.cpp:
2204         (WebKit::WebPage::sendViewportAttributesChanged):
2205
2206 2012-12-17  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
2207
2208         [Qt] remove some unnecessary CONFIG additions
2209
2210         Reviewed by Simon Hausmann.
2211
2212         qt is already added by spec_pre.prf, warn_on and depend_includepath by
2213         default_pre.prf.
2214
2215         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2216         * UIProcess/API/qt/tests/qmltests/WebView.pro:
2217
2218 2012-12-17  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
2219
2220         [Qt] rely on automatic output directory setup
2221
2222         Reviewed by Simon Hausmann.
2223
2224         Now being a proper qt module (by virtue of having load(qt_build_config)
2225         in .qmake.conf), webkit gets the path setup goodies for free.
2226
2227         This also fixes Makefile.api.Debug/Release trying to generate qrc_WebKit.cpp
2228         at the same time, instead of the debug and release version ending up in different
2229         directories as they should.
2230
2231         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2232         * UIProcess/API/qt/tests/qmltests/WebView.pro:
2233
2234 2012-12-17  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2235
2236         [EFL] Unit tests process hanging on WK2 Release bots
2237         https://bugs.webkit.org/show_bug.cgi?id=105021
2238
2239         Reviewed by Kenneth Rohde Christiansen.
2240
2241         Do not allocate memory in the middle of a fork()/exec().
2242         EFL uses global FastMalloc new operator and when we fork(), the
2243         process is in a very delicate state. We were being lucky most of the
2244         time, but sometimes FastMalloc enters in a busy wait and hangs
2245         because it's data structures cannot be trusted after the fork().
2246
2247         This explains why sometimes we see UIProcess hanging on the bots:
2248         they are in fact UIProcess trying to exec() into a WebProcess but
2249         hanged just after the fork(). CMake test runner kills the original
2250         UIProcess due to timeout and the buggy one stays forever.
2251
2252         * PlatformEfl.cmake:
2253         Set the timeout back to the original value.
2254
2255         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
2256         (WebKit::ProcessLauncher::launchProcess):
2257         I'm keeping the original behavior, including the call to
2258         system() when wrapping the WebProcess on Debug mode. This
2259         should be changed to exec() in another patch.
2260
2261 2012-12-17  Csaba Osztrogonác  <ossy@webkit.org>
2262
2263         Fix the Qt Windows build after r137803
2264         https://bugs.webkit.org/show_bug.cgi?id=105152
2265
2266         Reviewed by Kentaro Hara.
2267
2268         * Shared/CacheModel.h:
2269
2270 2012-12-16  Tim Horton  <timothy_horton@apple.com>
2271
2272         PDFPlugin: The "Open in Preview" HUD button should work
2273         https://bugs.webkit.org/show_bug.cgi?id=102448
2274         <rdar://problem/12695729>
2275
2276         Reviewed by Alexey Proskuryakov.
2277
2278         Implement the "Open in Preview" button for PDFPlugin, by moving the implementation from PDFViewController
2279         onto WebPageProxyMac, and reusing it in PDFViewController and PDFPlugin.
2280
2281         * UIProcess/API/mac/PDFViewController.h:
2282         (PDFViewController): Remove unnecessary members in favor of a UUID that identifies our PDF on disk.
2283         * UIProcess/API/mac/PDFViewController.mm:
2284         (WebKit::PDFViewController::openPDFInFinder): Move PDFViewController's implementation of openPDFInFinder
2285         and related functions to WebPageProxyMac. This will allow it to be shared with PDFPlugin.
2286         * UIProcess/WebPageProxy.h:
2287         (WebPageProxy): Add savePDFToFileInTemporaryFolderAndOpenWithNativeApplication,
2288         savePDFToFileInTemporaryFolderAndOpenWithNativeApplicationRaw, and openPDFFromTemporaryFolderWithNativeApplication.
2289         Add m_temporaryPDFFiles, which is used to keep track of the filenames of PDFs that we've saved to disk.
2290         * UIProcess/WebPageProxy.messages.in:
2291         Add SavePDFToFileInTemporaryFolderAndOpenWithNativeApplication and OpenPDFFromTemporaryFolderWithNativeApplication.
2292         * UIProcess/mac/WebPageProxyMac.mm:
2293         (WebKit::temporaryPDFDirectoryPath): Copied from PDFViewController. Construct the path to a
2294         WebKitPDFs temporary directory into which PDFs to be opened with a native application are downloaded.
2295         (WebKit::pathToPDFOnDisk): Copied from PDFViewController. Combine temporaryPDFDirectoryPath
2296         with the suggested filename for the given PDF, creating a new filename if the file already exists.
2297         (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplicationRaw):
2298         (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
2299         Save the given PDF data to a temporary file, given the suggested filename. This inserts the
2300         filename used into m_temporaryPDFFiles, where it can later be retrieved by UUID when asked
2301         to open the PDF again in a native application. Then, open it with NSWorkspace.
2302         (WebKit::WebPageProxy::openPDFFromTemporaryFolderWithNativeApplication):
2303         Open the previously saved PDF file with NSWorkspace, referenced by UUID.
2304         We identify the file by UUID instead of name so that only the UIProcess needs
2305         to keep track of the actual filename, and so that the WebProcess
2306         cannot hand an arbitrary filename back to the UIProcess to open.
2307         * WebProcess/Plugins/PDF/PDFPlugin.h:
2308         (PDFPlugin): Add openWithNativeApplication and storage for the UUID that identifies our PDF on disk.
2309         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2310         (-[WKPDFLayerControllerDelegate openWithPreview]): Forward openWithPreview to PDFPlugin's openWithNativeApplication.
2311         (WebKit::PDFPlugin::saveToPDF):
2312         Hand raw data to WebPage and have it send the message to WebPageProxy instead of using IPC types in PDFPlugin.
2313         (WebKit::PDFPlugin::openWithNativeApplication):
2314         Ask WebPage to save the current PDF to a temporary directory and open it with a native application.
2315         If we've already downloaded the PDF (and have a non-null m_temporaryPDFUUID),
2316         we can just open the existing file.
2317         * WebProcess/WebPage/WebPage.cpp:
2318         (WebKit::WebPage::savePDFToFileInDownloadsFolder): Hand the PDF data to WebPageProxy to save.
2319         (WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication): Hand the PDF data to WebPageProxy to save and open.
2320         * WebProcess/WebPage/WebPage.h:
2321         (WebPage): Add savePDFToFileInDownloadsFolder and savePDFToTemporaryFolderAndOpenWithNativeApplication.
2322
2323 2012-12-16  Seokju Kwon  <seokju.kwon@gmail.com>
2324
2325         [WK2] Remote Web Inspector requires the inspector
2326         https://bugs.webkit.org/show_bug.cgi?id=105088
2327
2328         Reviewed by Sam Weinig.
2329
2330         Inspector server should not be started without inspector.
2331
2332         * config.h:
2333
2334 2012-12-16  Seokju Kwon  <seokju.kwon@gmail.com>
2335
2336         Fix unused parameter compile warnings
2337         https://bugs.webkit.org/show_bug.cgi?id=105089
2338
2339         Reviewed by Kentaro Hara.
2340
2341         Use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
2342
2343         * UIProcess/API/efl/ewk_view.cpp:
2344         (ewk_view_inspector_show):
2345         (ewk_view_inspector_close):
2346
2347 2012-12-16  Ryuan Choi  <ryuan.choi@samsung.com>
2348
2349         [EFL][WK2] Header files of ewk_context_menu should be installed
2350         https://bugs.webkit.org/show_bug.cgi?id=105069
2351
2352         Reviewed by Gyuyoung Kim.
2353
2354         * PlatformEfl.cmake:
2355         Modified to install ewk_context_menu.h and ewk_context_menu_item.h which
2356         are included in EWebKit2.h
2357
2358 2012-12-16  Alexey Proskuryakov  <ap@apple.com>
2359
2360         <rdar://problem/12886898> Bundle uploads don't work
2361         https://bugs.webkit.org/show_bug.cgi?id=105149
2362
2363         Reviewed by Sam Weinig.
2364
2365         * NetworkProcess/NetworkResourceLoader.cpp:
2366         (WebKit::NetworkResourceLoader::didReceiveResponse):
2367         (WebKit::NetworkResourceLoader::didFail):
2368         Clean up generated files when they are no longer needed. This has to be done before FormData
2369         destruction. This duplicates same work done in WebProcess, but duplicaiton is safe, and may
2370         be helpful if one of the sides prematurely exits.
2371
2372 2012-12-16  Jon Lee  <jonlee@apple.com>
2373
2374         Allow built-in PDF plugin and plugin documents to auto-start
2375         https://bugs.webkit.org/show_bug.cgi?id=105000
2376         <rdar://problem/12633351>
2377
2378         Reviewed by Sam Weinig.
2379
2380         Overrides PluginViewBase::shouldAlwaysAutoStart().
2381         * WebProcess/Plugins/PluginView.cpp:
2382         (WebKit::PluginView::shouldAlwaysAutoStart): If there's no plug-in, return the default,
2383         otherwise return the plug-in's behavior.
2384         * WebProcess/Plugins/PluginView.h:
2385
2386         * WebProcess/Plugins/Plugin.h:
2387         (WebKit::Plugin::shouldAlwaysAutoStart): Added. By default, return false.
2388         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Built-in PDF plug-ins should auto-start.
2389
2390 2012-12-16  Huang Dongsung  <luxtella@company100.net>
2391
2392         Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
2393         https://bugs.webkit.org/show_bug.cgi?id=104880
2394
2395         Reviewed by Noam Rosenthal.
2396
2397         This patch changes two points.
2398         1. Remove layerByIDMap() in CoordinatedGraphicsLayer because it is unused.
2399         2. Remove code swapping m_registeredLayers in CoordinatedLayerTreeHost because
2400         setCoordinator(0) does not call detachLayer().
2401
2402         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2403         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2404         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
2405         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2406         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
2407
2408 2012-12-16  Anders Carlsson  <andersca@apple.com>
2409
2410         Remove the random crash thread
2411         https://bugs.webkit.org/show_bug.cgi?id=105147
2412
2413         Reviewed by Sam Weinig.
2414
2415         Remove old crashy code.
2416
2417         * WebProcess/WebProcess.cpp:
2418         (WebKit::WebProcess::initialize):
2419
2420 2012-12-16  Anders Carlsson  <andersca@apple.com>
2421
2422         Implement authentication for downloads
2423         https://bugs.webkit.org/show_bug.cgi?id=105146
2424         <rdar://problem/12239483>
2425
2426         Reviewed by Sam Weinig.
2427
2428         * NetworkProcess/NetworkProcess.cpp:
2429         (WebKit::NetworkProcess::NetworkProcess):
2430         (WebKit::NetworkProcess::initialize):
2431         (WebKit::NetworkProcess::didReceiveMessage):
2432         (WebKit::NetworkProcess::didReceiveSyncMessage):
2433         (WebKit::NetworkProcess::downloadsAuthenticationManager):
2434         * NetworkProcess/NetworkProcess.h:
2435         * UIProcess/Downloads/DownloadProxy.cpp:
2436         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
2437         * WebProcess/Downloads/Download.cpp:
2438         (WebKit::Download::didReceiveAuthenticationChallenge):
2439         * WebProcess/Downloads/DownloadManager.cpp:
2440         (WebKit::DownloadManager::downloadsAuthenticationManager):
2441         * WebProcess/Downloads/DownloadManager.h:
2442         * WebProcess/Downloads/mac/DownloadMac.mm:
2443         * WebProcess/WebProcess.cpp:
2444         (WebKit::WebProcess::downloadsAuthenticationManager):
2445         (WebKit::WebProcess::didReceiveSyncMessage):
2446         * WebProcess/WebProcess.h:
2447
2448 2012-12-16  Huang Dongsung  <luxtella@company100.net>
2449
2450         Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
2451         https://bugs.webkit.org/show_bug.cgi?id=104880
2452
2453         Reviewed by Noam Rosenthal.
2454
2455         Delete backing stores explicitly in ~CoordinatedLayerTreeHost().
2456
2457         Clarify the lifecycle of backing stores in CoordinatedGraphicsLayer.
2458         Currently, CoordinatedGraphicsLayer::removeTile() checks if m_coordinator
2459         exists, because ~CoordinatedLayerTreeHost() sets m_coordinator in
2460         CoordinatedGraphicsLayer to 0. This patch purges backing stores before setting
2461         m_coordinator to 0. This change makes code more readable.
2462
2463         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2464         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
2465         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
2466         (WebCore::CoordinatedGraphicsLayer::createTile):
2467         (WebCore::CoordinatedGraphicsLayer::updateTile):
2468         (WebCore::CoordinatedGraphicsLayer::removeTile):
2469         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2470         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
2471
2472 2012-12-16  Anders Carlsson  <andersca@apple.com>
2473
2474         Authentication manager cleanup
2475         https://bugs.webkit.org/show_bug.cgi?id=105144
2476
2477         Reviewed by Sam Weinig.
2478
2479         Some cleanup to make it possible to reuse the authentication manager from the network process.
2480
2481         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
2482         (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
2483         (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
2484         (WebKit::AuthenticationChallengeProxy::useCredential):
2485         (WebKit::AuthenticationChallengeProxy::cancel):
2486         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
2487         (WebKit::AuthenticationChallengeProxy::create):
2488         (AuthenticationChallengeProxy):
2489         * UIProcess/Downloads/DownloadProxy.cpp:
2490         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
2491         * UIProcess/WebPageProxy.cpp:
2492         (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
2493         * WebProcess/Authentication/AuthenticationManager.cpp:
2494         (WebKit::AuthenticationManager::AuthenticationManager):
2495         (WebKit::AuthenticationManager::setConnection):
2496         (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
2497         (WebKit::AuthenticationManager::useCredentialForChallenge):
2498         * WebProcess/Authentication/AuthenticationManager.h:
2499         * WebProcess/Downloads/Download.cpp:
2500         (WebKit::Download::didReceiveAuthenticationChallenge):
2501         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2502         (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2503         * WebProcess/WebProcess.cpp:
2504         (WebKit::WebProcess::WebProcess):
2505         (WebKit::WebProcess::initialize):
2506         * WebProcess/WebProcess.h:
2507         (WebKit::WebProcess::authenticationManager):
2508         (WebProcess):
2509
2510 2012-12-16  Anders Carlsson  <andersca@apple.com>
2511
2512         Rudimentary support for main resource downloads
2513         https://bugs.webkit.org/show_bug.cgi?id=105141
2514
2515         Reviewed by Sam Weinig.
2516
2517         For now, instead of converting a main resource load into a download, just cancel it and start
2518         a new separate download.
2519
2520         * NetworkProcess/NetworkProcess.cpp:
2521         (WebKit::NetworkProcess::downloadRequest):
2522         Call through to the download manager.
2523         
2524         (WebKit::NetworkProcess::cancelDownload):
2525         Call through to the download manager.
2526
2527         * NetworkProcess/NetworkProcess.messages.in:
2528         Add new messages.
2529
2530         * UIProcess/Downloads/DownloadProxy.cpp:
2531         (WebKit::DownloadProxy::cancel):
2532         Send the cancel message to the network process when needed.
2533
2534         * UIProcess/WebContext.cpp:
2535         (WebKit::WebContext::download):
2536         Handle the network process case.
2537
2538         * UIProcess/WebPageProxy.cpp:
2539         (WebKit::WebPageProxy::WebPageProxy):
2540         (WebKit::WebPageProxy::receivedPolicyDecision):
2541         (WebKit::WebPageProxy::decidePolicyForResponse):
2542         Keep track of the current request when calling decidePolicyForResponse.
2543
2544 2012-12-16  Andy Estes  <aestes@apple.com>
2545
2546         [WebKit2] CustomProtocolManager should intercept messages of class MessageClassCustomProtocolManager sent to the network process
2547         https://bugs.webkit.org/show_bug.cgi?id=105137
2548
2549         Reviewed by Anders Carlsson.
2550
2551         * NetworkProcess/NetworkProcess.cpp:
2552         (WebKit::NetworkProcess::didReceiveMessage):
2553
2554 2012-12-16  Levi Weintraub  <leviw@chromium.org>
2555
2556         Push pixel snapping logic into TransformState
2557         https://bugs.webkit.org/show_bug.cgi?id=101779
2558
2559         Reviewed by Simon Fraser.
2560
2561         Eliminating use of SnapOffsetForTransforms as it's no longer needed.
2562
2563         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2564         (WebKit::screenRectOfContents):
2565
2566 2012-12-16  Anders Carlsson  <andersca@apple.com>
2567
2568         Rename WebFrame::convertHandleToDownload to convertMainResourceLoadToDownload
2569         https://bugs.webkit.org/show_bug.cgi?id=105134
2570
2571         Reviewed by Sam Weinig.
2572
2573         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2574         (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
2575         * WebProcess/WebPage/WebFrame.cpp:
2576         (WebKit::WebFrame::convertMainResourceLoadToDownload):
2577         * WebProcess/WebPage/WebFrame.h:
2578         (WebFrame):
2579
2580 2012-12-15  Anders Carlsson  <andersca@apple.com>
2581
2582         Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
2583         https://bugs.webkit.org/show_bug.cgi?id=105122
2584
2585         Reviewed by Andreas Kling.
2586
2587         Update for WebCore changes.
2588
2589         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2590         (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
2591         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2592         (WebFrameLoaderClient):
2593
2594 2012-12-15  Anders Carlsson  <andersca@apple.com>
2595
2596         Another build fix.
2597
2598         * UIProcess/WebContext.cpp:
2599         (WebKit::WebContext::createDownloadProxy):
2600
2601 2012-12-15  Andy Estes  <aestes@apple.com>
2602
2603         [WebKit2] Have CustomProtocolManager and CustomProtocolManagerProxy store Connections for messaging
2604         https://bugs.webkit.org/show_bug.cgi?id=105124
2605
2606         Reviewed by Anders Carlsson.
2607
2608         Remove CustomProtocolManagerProxy's assumption that all messages go to
2609         a web process. Have it take a ChildProcessProxy instead and extract its
2610         connection.
2611
2612         Similarly, remove CustomProtocolManager's assumption that all messages
2613         go through a shared WebProcess. Initialize the shared CustomProtocolManager
2614         with a Connection object instead.
2615
2616         * NetworkProcess/NetworkProcess.cpp:
2617         (WebKit::NetworkProcess::initializeNetworkProcess): Initialize the
2618         shared CustomProtocolManager with the NetworkProcess's connection to
2619         the UI process.
2620         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2621         (WebKit::CustomProtocolManager::connection): Assert m_connection is
2622         non-0 and return it.
2623         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2624         (+[WKCustomProtocol canInitWithRequest:]): Remove an unnecessary
2625         namespace.
2626         (-[WKCustomProtocol initWithRequest:cachedResponse:client:]): Ditto.
2627         (-[WKCustomProtocol startLoading]): Send a message on the
2628         CustomProtocolManager's connection rather than assuming there is a
2629         shared WebProcess in our address space.
2630         (-[WKCustomProtocol stopLoading]): Ditto.
2631         (WebKit::CustomProtocolManager::initialize): Initialize the shared
2632         CustomProtocolManager with a Connection and register our custom
2633         protocol handler with NSURLProtocol.
2634         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2635         (WebKit):
2636         (CustomProtocolManagerProxy): Take a ChildProcessProxy* rather than a
2637         WebProcessProxy*.
2638         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
2639         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): Ditto.
2640         (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
2641         * UIProcess/Network/NetworkProcessProxy.cpp:
2642         (WebKit::NetworkProcessProxy::NetworkProcessProxy): Instantiate a
2643         CustomProtocolManagerProxy for the network process.
2644         (WebKit::NetworkProcessProxy::didReceiveMessage): Route messages of
2645         class MessageClassCustomProtocolManagerProxy to the
2646         CustomProtocolManagerProxy.
2647         * UIProcess/Network/NetworkProcessProxy.h:
2648         * UIProcess/WebProcessProxy.cpp:
2649         (WebKit::WebProcessProxy::didReceiveMessage): Assert that we aren't
2650         using the network process since we've received a message from a
2651         web process's CustomProtocolManager.
2652         * WebProcess/WebProcess.cpp:
2653         (WebKit::WebProcess::initializeWebProcess): Break CustomProtocolManager
2654         initialization out into a helper function.
2655         (WebKit::WebProcess::initializeCustomProtocolManager): Initialize our
2656         CustomProtocolManager.
2657         * WebProcess/WebProcess.h:
2658
2659 2012-12-15  Anders Carlsson  <andersca@apple.com>
2660
2661         Happy little Qt build fix.
2662
2663         * UIProcess/WebContext.cpp:
2664         (WebKit::WebContext::download):
2665
2666 2012-12-15  Alexey Proskuryakov  <ap@apple.com>
2667
2668         <rdar://problem/12886312> Cannot upload patches to Bugzilla (<input type=file> doesn't work)
2669         https://bugs.webkit.org/show_bug.cgi?id=105120
2670
2671         Reviewed by Sam Weinig.
2672
2673         Serialize HTTP body. ResourceRequest serialization cannot (and shouldn't) know about
2674         body streams, as used with files.
2675
2676         * Shared/Network/NetworkResourceLoadParameters.cpp:
2677         (WebKit::NetworkResourceLoadParameters::encode):
2678         (WebKit::NetworkResourceLoadParameters::decode):
2679         * Shared/WebCoreArgumentCoders.cpp:
2680         (CoreIPC::::encode):
2681
2682 2012-12-15  Anders Carlsson  <andersca@apple.com>
2683
2684         Handle downloads in the network process
2685         https://bugs.webkit.org/show_bug.cgi?id=105117
2686
2687         Reviewed by Sam Weinig.
2688
2689         Start using the download manager in the network process.
2690
2691         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2692         (WebKit::NetworkConnectionToWebProcess::startDownload):
2693         Call through to the download manager.
2694
2695         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2696         Add StartDownload message.
2697
2698         * NetworkProcess/NetworkProcess.cpp:
2699         (WebKit::NetworkProcess::downloadManager):
2700         Add "singleton" download manager.
2701
2702         (WebKit::NetworkProcess::didCreateDownload):
2703         (WebKit::NetworkProcess::didDestroyDownload):
2704         (WebKit::NetworkProcess::downloadProxyConnection):
2705         Implement DownloadManager::Client.
2706
2707         * UIProcess/Network/NetworkProcessProxy.cpp:
2708         (WebKit::NetworkProcessProxy::didReceiveMessage):
2709         (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
2710         Call through to the message receiver map.
2711
2712         * WebProcess/Downloads/Download.cpp:
2713         * WebProcess/Downloads/DownloadManager.cpp:
2714         (WebKit::DownloadManager::downloadProxyConnection):
2715         * WebProcess/Downloads/DownloadManager.h:
2716         Rename connection to downloadProxyConnection.
2717
2718         * WebProcess/WebPage/WebFrame.cpp:
2719         (WebKit::WebFrame::startDownload):
2720         When using the network process, send a message to it with the request that needs to be downloaded.
2721
2722         * WebProcess/WebProcess.cpp:
2723         (WebKit::WebProcess::downloadProxyConnection):
2724         Return the connection to the UI process.
2725
2726 2012-12-15  Sam Weinig  <sam@webkit.org>
2727
2728         NSURLCache should be disabled in the WebProcess when using the NetworkProcess
2729         <rdar://problem/12872266>
2730         https://bugs.webkit.org/show_bug.cgi?id=105119
2731
2732         Reviewed by Alexey Proskuryakov.
2733
2734         Set the size of the NSURLCache to 0 (both disk and memory) in the WebProcess when using
2735         the NetworkProcess.
2736
2737         * WebProcess/mac/WebProcessMac.mm:
2738         (WebKit::WebProcess::platformSetCacheModel):
2739         (WebKit::WebProcess::platformInitializeWebProcess):
2740
2741 2012-12-15  Sam Weinig  <sam@webkit.org>
2742
2743         The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
2744         <rdar://problem/12848505>
2745         https://bugs.webkit.org/show_bug.cgi?id=105115
2746
2747         Reviewed by Anders Carlsson.
2748
2749         * NetworkProcess/NetworkProcess.cpp:
2750         (WebKit::NetworkProcess::NetworkProcess):
2751         (WebKit::NetworkProcess::initializeNetworkProcess):
2752         (WebKit::NetworkProcess::setCacheModel):
2753         * NetworkProcess/NetworkProcess.h:
2754         (NetworkProcess):
2755         * NetworkProcess/mac/NetworkProcessMac.mm:
2756         (WebKit::NetworkProcess::platformInitialize):
2757         (WebKit::memorySize):
2758         (WebKit::volumeFreeSize):
2759         (WebKit::NetworkProcess::platformSetCacheModel):
2760         Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
2761         We should eventually move the calculation of this to the WebContext so it can be done
2762         once.
2763
2764         * Shared/Network/NetworkProcessCreationParameters.cpp:
2765         (WebKit::NetworkProcessCreationParameters::encode):
2766         (WebKit::NetworkProcessCreationParameters::decode):
2767         * Shared/Network/NetworkProcessCreationParameters.h:
2768         (NetworkProcessCreationParameters):
2769         Add the necessary creation parameters to set up the cache.
2770
2771         * UIProcess/Network/NetworkProcessProxy.cpp:
2772         (WebKit::NetworkProcessProxy::didFinishLaunching):
2773         * UIProcess/Network/NetworkProcessProxy.h:
2774         (NetworkProcessProxy):
2775         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
2776         * UIProcess/WebContext.cpp:
2777         (WebKit::WebContext::ensureNetworkProcess):
2778         (WebKit::WebContext::setCacheModel):
2779         * UIProcess/WebContext.h:
2780         (WebKit):
2781         (WebContext):
2782         * UIProcess/mac/WebContextMac.mm:
2783         (WebKit):
2784         (WebKit::WebContext::platformInitializeNetworkProcess):
2785         Move initializing the NetworkProcess to just after creating (matching the WebProcess),
2786         rather than waiting for it finish loading before sending the creation parameters.
2787         Additionally, this moves the setting up of the creation parameters to the WebContext,
2788         as that is where all the interesting state resides (and also matches the WebProcess).
2789
2790 2012-12-15  Andy Estes  <aestes@apple.com>
2791
2792         [WebKit2] Register the custom protocol handler in the network process if it exists
2793         https://bugs.webkit.org/show_bug.cgi?id=105118
2794
2795         Reviewed by Anders Carlsson.
2796
2797         Register our custom protocol handler with NSURLProtocol when starting
2798         up the network process; do not register the custom protocol handler in
2799         web processes if a network process is being used.
2800
2801         * NetworkProcess/NetworkProcess.cpp:
2802         (WebKit::NetworkProcess::initializeNetworkProcess):
2803         * WebProcess/WebProcess.cpp:
2804         (WebKit::WebProcess::initializeWebProcess):
2805         * WebProcess/mac/WebProcessMac.mm:
2806         (WebKit::WebProcess::platformInitializeWebProcess):
2807
2808 2012-12-15  Sam Weinig  <sam@webkit.org>
2809
2810         The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
2811         <rdar://problem/12848505>
2812         https://bugs.webkit.org/show_bug.cgi?id=105115
2813
2814         Reviewed by Anders Carlsson.
2815
2816         * NetworkProcess/NetworkProcess.cpp:
2817         (WebKit::NetworkProcess::NetworkProcess):
2818         (WebKit::NetworkProcess::initializeNetworkProcess):
2819         (WebKit::NetworkProcess::setCacheModel):
2820         * NetworkProcess/NetworkProcess.h:
2821         (NetworkProcess):
2822         * NetworkProcess/mac/NetworkProcessMac.mm:
2823         (WebKit::NetworkProcess::platformInitialize):
2824         (WebKit::memorySize):
2825         (WebKit::volumeFreeSize):
2826         (WebKit::NetworkProcess::platformSetCacheModel):
2827         Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
2828         We should eventually move the calculation of this to the WebContext so it can be done
2829         once.
2830
2831         * Shared/Network/NetworkProcessCreationParameters.cpp:
2832         (WebKit::NetworkProcessCreationParameters::encode):
2833         (WebKit::NetworkProcessCreationParameters::decode):
2834         * Shared/Network/NetworkProcessCreationParameters.h:
2835         (NetworkProcessCreationParameters):
2836         Add the necessary creation parameters to set up the cache.
2837
2838         * UIProcess/Network/NetworkProcessProxy.cpp:
2839         (WebKit::NetworkProcessProxy::didFinishLaunching):
2840         * UIProcess/Network/NetworkProcessProxy.h:
2841         (NetworkProcessProxy):
2842         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
2843         * UIProcess/WebContext.cpp:
2844         (WebKit::WebContext::ensureNetworkProcess):
2845         (WebKit::WebContext::setCacheModel):
2846         * UIProcess/WebContext.h:
2847         (WebKit):
2848         (WebContext):
2849         * UIProcess/mac/WebContextMac.mm:
2850         (WebKit):
2851         (WebKit::WebContext::platformInitializeNetworkProcess):
2852         Move initializing the NetworkProcess to just after creating (matching the WebProcess),
2853         rather than waiting for it finish loading before sending the creation parameters.
2854         Additionally, this moves the setting up of the creation parameters to the WebContext,
2855         as that is where all the interesting state resides (and also matches the WebProcess).
2856
2857 2012-12-15  Andy Estes  <aestes@apple.com>
2858
2859         Clean up the previous build fix; access m_networkProcess directly.
2860
2861         * UIProcess/WebContext.cpp:
2862         (WebKit::WebContext::registerSchemeForCustomProtocol):
2863         (WebKit::WebContext::unregisterSchemeForCustomProtocol):
2864
2865 2012-12-15  Andy Estes  <aestes@apple.com>
2866
2867         Fix the build.
2868
2869         * UIProcess/WebContext.cpp:
2870         (WebKit::WebContext::registerSchemeForCustomProtocol):
2871         (WebKit::WebContext::unregisterSchemeForCustomProtocol):
2872
2873 2012-12-15  Andy Estes  <aestes@apple.com>
2874
2875         [WebKit2] Register schemes with the network process if it is being used
2876         https://bugs.webkit.org/show_bug.cgi?id=105113
2877
2878         Reviewed by Anders Carlsson.
2879
2880         If a WebContext is using the network process, it needs to be told about
2881         scheme (un)registration rather than the context's web processes.
2882
2883         * NetworkProcess/NetworkProcess.cpp:
2884         (WebKit::NetworkProcess::initializeNetworkProcess): Tell the shared
2885         CustomProtocolManager about schemes registered at process creation time.
2886         (WebKit::NetworkProcess::registerSchemeForCustomProtocol): Tell the
2887         shared CustomProtocolManager about a new scheme.
2888         (WebKit::NetworkProcess::unregisterSchemeForCustomProtocol): Remove a
2889         scheme from the shared CustomProtocolManager.
2890         * NetworkProcess/NetworkProcess.h:
2891         * NetworkProcess/NetworkProcess.messages.in: Add registration and
2892         unregistration messages for the NetworkProcess.
2893         * Shared/Network/NetworkProcessCreationParameters.cpp:
2894         (WebKit::NetworkProcessCreationParameters::encode): Encode
2895         urlSchemesRegisteredForCustomProtocols.
2896         (WebKit::NetworkProcessCreationParameters::decode): Decode
2897         urlSchemesRegisteredForCustomProtocols.
2898         * Shared/Network/NetworkProcessCreationParameters.h: Define
2899         urlSchemesRegisteredForCustomProtocols.
2900         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
2901         (WebKit::NetworkProcessProxy::platformInitializeNetworkProcess): Populate
2902         urlSchemesRegisteredForCustomProtocols with the current set of schemes.
2903         * UIProcess/WebContext.cpp:
2904         (WebKit::WebContext::registerSchemeForCustomProtocol): Send a new
2905         scheme to either the network process or to the context's web processes.
2906         (WebKit::WebContext::unregisterSchemeForCustomProtocol): Ditto for
2907         removing a scheme.
2908         * UIProcess/WebContext.h:
2909         * UIProcess/mac/WebContextMac.mm:
2910         (WebKit::WebContext::platformInitializeWebProcess): Only populate
2911         urlSchemesRegisteredForCustomProtocols if the network process isn't
2912         being used.
2913         (WebKit::WebContext::registerNotificationObservers):
2914         * WebProcess/mac/WebProcessMac.mm:
2915         (WebKit::WebProcess::platformInitializeWebProcess):
2916         urlSchemesRegisteredForCustomProtocols should only be non-empty if the
2917         network process isn't being used. Assert this.
2918
2919 2012-12-15  Anders Carlsson  <andersca@apple.com>
2920
2921         Remove the unneeded NetworkProcessCrashed message
2922         https://bugs.webkit.org/show_bug.cgi?id=105114
2923
2924         Reviewed by Sam Weinig.
2925
2926         Remove the NetworkProcessCrashed message; it's not needed since the connection member variable is already
2927         nulled out in WebProcess::networkProcessConnectionClosed which is called when the Connection::Client::didClose member
2928         function is called on the connection between the web process and network process.
2929         
2930         Furthermore, this message was handled on the connection queue which runs on a different thread and the handler was not
2931         thread-safe so this could in theory cause bad crashes.
2932
2933         * UIProcess/Network/NetworkProcessProxy.cpp:
2934         (WebKit::NetworkProcessProxy::didClose):
2935         * WebProcess/WebProcess.cpp:
2936         * WebProcess/WebProcess.h:
2937         (WebProcess):
2938         * WebProcess/WebProcess.messages.in:
2939
2940 2012-12-15  Anders Carlsson  <andersca@apple.com>
2941
2942         Add a DownloadProxyMap object to the NetworkProcessProxy object
2943         https://bugs.webkit.org/show_bug.cgi?id=105112
2944
2945         Reviewed by Sam Weinig.
2946
2947         * UIProcess/Network/NetworkProcessProxy.cpp:
2948         (WebKit::NetworkProcessProxy::createDownloadProxy):
2949         (WebKit::NetworkProcessProxy::didClose):
2950         * UIProcess/Network/NetworkProcessProxy.h:
2951         * UIProcess/WebContext.cpp:
2952         (WebKit::WebContext::createDownloadProxy):
2953         * UIProcess/WebProcessProxy.cpp:
2954         * UIProcess/WebProcessProxy.h:
2955
2956 2012-12-15  Anders Carlsson  <andersca@apple.com>
2957
2958         Move the download proxy map from the web context to the web process proxy
2959         https://bugs.webkit.org/show_bug.cgi?id=105109
2960
2961         Reviewed by Andreas Kling.
2962
2963         More progress towards making downloads work with the networking process. Since downloads are handled by the
2964         web process when not using a networking process, it makes sense for the download proxy map to live in the
2965         web process proxy object.
2966
2967         * UIProcess/WebContext.cpp:
2968         (WebKit::WebContext::WebContext):
2969         (WebKit::WebContext::shouldTerminate):
2970         (WebKit::WebContext::disconnectProcess):
2971         (WebKit::WebContext::download):
2972         (WebKit::WebContext::createDownloadProxy):
2973         * UIProcess/WebContext.h:
2974         (WebContext):
2975         * UIProcess/WebProcessProxy.cpp:
2976         (WebKit::WebProcessProxy::disconnect):
2977         (WebKit::WebProcessProxy::shouldTerminate):
2978         (WebKit):
2979         (WebKit::WebProcessProxy::createDownloadProxy):
2980         * UIProcess/WebProcessProxy.h:
2981         (WebProcessProxy):
2982
2983 2012-12-15  Anders Carlsson  <andersca@apple.com>
2984
2985         DownloadProxy should keep a strong reference to its associated web context
2986         https://bugs.webkit.org/show_bug.cgi?id=105107
2987
2988         Reviewed by Alexey Proskuryakov.
2989
2990         While this does create a ref-cycle, it's broken when the download completes, fails, is canceled or
2991         if the process that's doing the download crashes.
2992
2993         * UIProcess/Downloads/DownloadProxy.cpp:
2994         (WebKit::DownloadProxy::processDidClose):
2995         (WebKit::DownloadProxy::didStart):
2996         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
2997         (WebKit::DownloadProxy::didReceiveResponse):
2998         (WebKit::DownloadProxy::didReceiveData):
2999         (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
3000         (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
3001         (WebKit::DownloadProxy::didCreateDestination):
3002         (WebKit::DownloadProxy::didFinish):
3003         (WebKit::DownloadProxy::didFail):
3004         (WebKit::DownloadProxy::didCancel):
3005         * UIProcess/Downloads/DownloadProxy.h:
3006         (DownloadProxy):
3007
3008 2012-12-15  Anders Carlsson  <andersca@apple.com>
3009
3010         Remove WebContext::downloadFinished
3011         https://bugs.webkit.org/show_bug.cgi?id=105105
3012
3013         Reviewed by Sam Weinig.
3014
3015         Have DownloadProxyMap manage the message receiver map and remove WebContext::downloadFinished.
3016
3017         * UIProcess/Downloads/DownloadProxy.cpp:
3018         (WebKit::DownloadProxy::didFinish):
3019         (WebKit::DownloadProxy::didFail):
3020         (WebKit::DownloadProxy::didCancel):
3021         * UIProcess/Downloads/DownloadProxyMap.cpp:
3022         (WebKit::DownloadProxyMap::DownloadProxyMap):
3023         (WebKit::DownloadProxyMap::createDownloadProxy):
3024         (WebKit::DownloadProxyMap::downloadFinished):
3025         * UIProcess/Downloads/DownloadProxyMap.h:
3026         (DownloadProxyMap):
3027         * UIProcess/WebContext.cpp:
3028         (WebKit::WebContext::WebContext):
3029         (WebKit::WebContext::createDownloadProxy):
3030         * UIProcess/WebContext.h:
3031
3032 2012-12-15  Sam Weinig  <sam@webkit.org>
3033
3034         Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
3035         https://bugs.webkit.org/show_bug.cgi?id=105104
3036
3037         Reviewed by Alexey Proskuryakov.
3038
3039         Move to having the WebContext own and manage the NetworkProcessProxy.
3040
3041         * UIProcess/Network/NetworkProcessManager.cpp: Removed.
3042         * UIProcess/Network/NetworkProcessManager.h: Removed.
3043         * UIProcess/Network/NetworkProcessProxy.cpp:
3044         (WebKit::NetworkProcessProxy::create):
3045         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
3046         (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
3047         * UIProcess/Network/NetworkProcessProxy.h:
3048         (WebKit):
3049         (NetworkProcessProxy):
3050         * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
3051         * UIProcess/WebContext.cpp:
3052         (WebKit::WebContext::ensureNetworkProcess):
3053         (WebKit::WebContext::removeNetworkProcessProxy):
3054         (WebKit::WebContext::getNetworkProcessConnection):
3055         (WebKit::WebContext::willStartUsingPrivateBrowsing):
3056         (WebKit::WebContext::willStopUsingPrivateBrowsing):
3057         (WebKit::WebContext::createNewWebProcess):
3058         * UIProcess/WebContext.h:
3059         (WebKit):
3060         (WebContext):
3061         (WebKit::WebContext::networkProcess):
3062         * UIProcess/WebProcessProxy.cpp:
3063         (WebKit::WebProcessProxy::getNetworkProcessConnection):
3064         * UIProcess/mac/WebContextMac.mm:
3065         (WebKit::WebContext::applicationBecameVisible):
3066         (WebKit::WebContext::applicationBecameOccluded):
3067         * WebKit2.xcodeproj/project.pbxproj:
3068
3069 2012-12-15  Anders Carlsson  <andersca@apple.com>
3070
3071         DownloadProxy objects should know which DownloadProxyMap they belong to
3072         https://bugs.webkit.org/show_bug.cgi?id=105102
3073
3074         Reviewed by Andy Estes.
3075
3076         * UIProcess/Downloads/DownloadProxy.cpp:
3077         (WebKit::DownloadProxy::create):
3078         (WebKit::DownloadProxy::DownloadProxy):
3079         * UIProcess/Downloads/DownloadProxy.h:
3080         (WebKit):
3081         (DownloadProxy):
3082         * UIProcess/Downloads/DownloadProxyMap.cpp:
3083         (WebKit::DownloadProxyMap::createDownloadProxy):
3084
3085 2012-12-15  Andy Estes  <aestes@apple.com>
3086
3087         [WebKit2] Move CustomProtocolManager to Shared/
3088         https://bugs.webkit.org/show_bug.cgi?id=105103
3089
3090         Reviewed by Sam Weinig.
3091
3092         CustomProtocolManager can be instantiated either in the NetworkProcess or the WebProcess, so it should live in Shared/.
3093
3094         * DerivedSources.make: Update the path where CustomProtocolManager.messages.in can be found.
3095         * Shared/Network/CustomProtocols/CustomProtocolManager.h: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.h.
3096         * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in.
3097         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm.
3098         * WebKit2.xcodeproj/project.pbxproj:
3099
3100 2012-12-15  Sam Weinig  <sam@webkit.org>
3101
3102         Try to fix the Qt build.
3103
3104         * Target.pri:
3105
3106 2012-12-15  Anders Carlsson  <andersca@apple.com>
3107
3108         Get rid of DownloadProxyMap::downloads()
3109         https://bugs.webkit.org/show_bug.cgi?id=105100
3110
3111         Reviewed by Sam Weinig.
3112
3113         Add the needed member functions to DownloadProxyMap and remove the downloads() member function.
3114
3115         * UIProcess/Downloads/DownloadProxyMap.cpp:
3116         (WebKit::DownloadProxyMap::downloadFinished):
3117         (WebKit::DownloadProxyMap::processDidClose):
3118         (WebKit):
3119         * UIProcess/Downloads/DownloadProxyMap.h:
3120         (WebKit::DownloadProxyMap::isEmpty):
3121         (DownloadProxyMap):
3122         * UIProcess/WebContext.cpp:
3123         (WebKit::WebContext::shouldTerminate):
3124         (WebKit::WebContext::disconnectProcess):
3125         (WebKit::WebContext::downloadFinished):
3126
3127 2012-12-15  Sam Weinig  <sam@webkit.org>
3128
3129         Move calculation of caches sizes based on the cache model to CacheModel.h/cpp
3130         https://bugs.webkit.org/show_bug.cgi?id=105098
3131
3132         Reviewed by Anders Carlsson.
3133
3134         Move calculation of caches sizes based on the cache model to CacheModel.h/cpp so
3135         that it can be used by more than just the WebProcess.
3136
3137         * CMakeLists.txt:
3138         * GNUmakefile.list.am:
3139         * Shared/CacheModel.cpp: Added.
3140         (WebKit):
3141         (WebKit::calculateCacheSizes):
3142         * Shared/CacheModel.h:
3143         * Target.pri:
3144         * WebKit2.xcodeproj/project.pbxproj:
3145         * WebProcess/WebProcess.cpp:
3146         * WebProcess/WebProcess.h:
3147         (WebProcess):
3148         * win/WebKit2.vcproj:
3149
3150 2012-12-15  Anders Carlsson  <andersca@apple.com>
3151
3152         DownloadProxyMap shouldn't be a singleton after all
3153         https://bugs.webkit.org/show_bug.cgi?id=105099
3154
3155         Reviewed by Sam Weinig.
3156
3157         Make the DownloadProxyMap be per context instead, and get rid of the m_downloads hash map from WebContext.
3158
3159         * UIProcess/Downloads/DownloadProxy.cpp:
3160         (WebKit::DownloadProxy::didFinish):
3161         (WebKit::DownloadProxy::didFail):
3162         (WebKit::DownloadProxy::didCancel):
3163         * UIProcess/Downloads/DownloadProxyMap.cpp:
3164         (WebKit::DownloadProxyMap::~DownloadProxyMap):
3165         * UIProcess/Downloads/DownloadProxyMap.h:
3166         (DownloadProxyMap):
3167         (WebKit::DownloadProxyMap::downloads):
3168         * UIProcess/WebContext.cpp:
3169         (WebKit::WebContext::shouldTerminate):
3170         (WebKit::WebContext::disconnectProcess):
3171         (WebKit::WebContext::createDownloadProxy):
3172         (WebKit::WebContext::downloadFinished):
3173         * UIProcess/WebContext.h:
3174         (WebContext):
3175
3176 2012-12-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
3177
3178         Disambiguate "background color" and "contents as solid color" on GraphicsLayer
3179         https://bugs.webkit.org/show_bug.cgi?id=104842
3180
3181         Reviewed by Simon Fraser.
3182
3183         Rename overloads in coordinated graphics to account for the rename in GraphicsLayer.
3184
3185         * Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
3186         (CoordinatedLayerInfo):
3187         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
3188         (WebKit::LayerTreeRenderer::setLayerState):
3189         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3190         (WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
3191         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3192         (CoordinatedGraphicsLayer):
3193
3194 2012-12-15  Christophe Dumez  <christophe.dumez@intel.com>
3195
3196         [GTK][WK2] Memory leak in ChunkedUpdateDrawingArea::paintIntoUpdateChunk()
3197         https://bugs.webkit.org/show_bug.cgi?id=105095
3198
3199         Reviewed by Martin Robinson.
3200
3201         Adopt the pointer returned by cairo_create() in
3202         ChunkedUpdateDrawingArea::paintIntoUpdateChunk() to avoid leaking
3203         memory.
3204
3205         * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp:
3206         (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
3207
3208 2012-12-15  Mark Lam  <mark.lam@apple.com>
3209
3210         Added #if ENABLE(SQL_DATABASE) around WebPlatformStrategies::getDatabaseServer().
3211         https://bugs.webkit.org/show_bug.cgi?id=104934..
3212
3213         Not reviewed.
3214
3215         Greening the Qt Linux Release Minimal bot.
3216
3217         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3218         (WebKit):
3219         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3220         (WebPlatformStrategies):
3221
3222 2012-12-15  Mark Lam  <mark.lam@apple.com>
3223
3224         Re-landing patch for "Introducing the DatabaseStrategy and database servers".
3225         https://bugs.webkit.org/show_bug.cgi?id=104934.
3226
3227         Not reviewed.
3228
3229         Merged from r137767. Previously reviewed by Sam Weinig.
3230
3231         * CMakeLists.txt:
3232         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3233         (WebKit::WebPlatformStrategies::createDatabaseStrategy):
3234         (WebKit):
3235         (WebKit::WebPlatformStrategies::getDatabaseServer):
3236         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3237         (WebPlatformStrategies):
3238
3239 2012-12-14  Anders Carlsson  <andersca@apple.com>
3240
3241         DownloadProxy objects should be message receivers
3242         https://bugs.webkit.org/show_bug.cgi?id=105068
3243
3244         Reviewed by Andreas Kling.
3245
3246         This simplifies the WebContext message dispatch code somewhat.
3247
3248         * UIProcess/Downloads/DownloadProxy.cpp:
3249         (WebKit::DownloadProxy::didReceiveMessage):
3250         (WebKit::DownloadProxy::didReceiveSyncMessage):
3251         * UIProcess/Downloads/DownloadProxy.h:
3252         (DownloadProxy):
3253         * UIProcess/WebContext.cpp:
3254         (WebKit::WebContext::createDownloadProxy):
3255         (WebKit::WebContext::didReceiveMessage):
3256         (WebKit::WebContext::didReceiveSyncMessage):
3257
3258 2012-12-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3259
3260         Unreviewed, rolling out r137767.
3261         http://trac.webkit.org/changeset/137767
3262         https://bugs.webkit.org/show_bug.cgi?id=105062
3263
3264         Broke Mac builds. (Requested by mlam on #webkit).
3265
3266         * CMakeLists.txt:
3267         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3268         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3269         (WebPlatformStrategies):
3270
3271 2012-12-14  Alexey Proskuryakov  <ap@apple.com>
3272
3273         <rdar://problem/12874760> NetworkProcess loads may get stuck when WebProcess quits
3274         https://bugs.webkit.org/show_bug.cgi?id=105056
3275
3276         Reviewed by Anders Carlsson.
3277
3278         Make response maps per-connection.
3279
3280         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3281         (WebKit::NetworkConnectionToWebProcess::didClose): Cancel waiting for responses
3282         from WebProcess, they will never arrive.
3283
3284         * NetworkProcess/NetworkConnectionToWebProcess.h:
3285         (WebKit::NetworkConnectionToWebProcess::willSendRequestResponseMap):
3286         (WebKit::NetworkConnectionToWebProcess::canAuthenticateAgainstProtectionSpaceResponseMap):
3287         Maps now live here.
3288
3289         * NetworkProcess/NetworkResourceLoader.cpp:
3290         (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): Added a FIXME.
3291
3292         (WebKit::NetworkResourceLoader::willSendRequest):
3293         (WebKit::NetworkResourceLoader::willSendRequestHandled):
3294         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
3295         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
3296         Handle the cases where we can't send a request, or can't expect a response any more.
3297
3298         * Shared/BlockingResponseMap.h:
3299         (BlockingResponseMap):
3300         (BlockingResponseMap::BlockingResponseMap):
3301         (BlockingResponseMap::~BlockingResponseMap):
3302         (BlockingResponseMap::waitForResponse):
3303         (BlockingResponseMap::didReceiveResponse):
3304         (BlockingResponseMap::cancel):
3305         (BlockingBoolResponseMap):
3306         (BlockingBoolResponseMap::BlockingBoolResponseMap):
3307         (BlockingBoolResponseMap::~BlockingBoolResponseMap):
3308         (BlockingBoolResponseMap::waitForResponse):
3309         (BlockingBoolResponseMap::didReceiveResponse):
3310         (BlockingBoolResponseMap::cancel):
3311         Added an ability to cancel, and slightly beefed up overall.
3312
3313 2012-12-14  Anders Carlsson  <andersca@apple.com>
3314
3315         DownloadProxyMap should keep track of outstanding DownloadProxy objects
3316         https://bugs.webkit.org/show_bug.cgi?id=105053
3317
3318         Reviewed by Andreas Kling.
3319
3320         This is more work towards removing the m_downloads map from every WebContext object.
3321
3322         * UIProcess/Downloads/DownloadProxy.cpp:
3323         (WebKit::DownloadProxy::didFinish):
3324         (WebKit::DownloadProxy::didFail):
3325         (WebKit::DownloadProxy::didCancel):
3326         * UIProcess/Downloads/DownloadProxyMap.cpp:
3327         (WebKit::DownloadProxyMap::createDownloadProxy):
3328         (WebKit):
3329         (WebKit::DownloadProxyMap::downloadFinished):
3330         * UIProcess/Downloads/DownloadProxyMap.h:
3331         (DownloadProxyMap):
3332         * UIProcess/WebContext.cpp:
3333         (WebKit::WebContext::createDownloadProxy):
3334
3335 2012-12-14  Mark Lam  <mark.lam@apple.com>
3336
3337         Introducing the DatabaseStrategy and database servers.
3338         https://bugs.webkit.org/show_bug.cgi?id=104934.
3339
3340         Reviewed by Sam Weinig.
3341
3342         The database server is currently a placeholder that does nothing.
3343
3344         * CMakeLists.txt:
3345         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3346         (WebKit::WebPlatformStrategies::createDatabaseStrategy):
3347         (WebKit):
3348         (WebKit::WebPlatformStrategies::getDatabaseServer):
3349         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3350         (WebPlatformStrategies):
3351
3352 2012-12-14  Alexey Proskuryakov  <ap@apple.com>
3353
3354         Resource loads sometimes stall
3355         https://bugs.webkit.org/show_bug.cgi?id=104976
3356
3357         Apply the same quick an dirty fix to BlockingBoolResponseMap.
3358
3359         * Shared/BlockingResponseMap.h:
3360         (BlockingBoolResponseMap::didReceiveResponse):
3361
3362 2012-12-14  Anders Carlsson  <andersca@apple.com>
3363
3364         Add a DownloadsProxyMap class in preparation for moving the downloads map away from WebContext
3365         https://bugs.webkit.org/show_bug.cgi?id=104980
3366
3367         Reviewed by Andreas Kling.
3368
3369         Currently the DownloadProxyMap doesn't really do anything; this initial change is to make sure that
3370         adding the new files won't break any builds.
3371
3372         * CMakeLists.txt:
3373         * GNUmakefile.list.am:
3374         * Target.pri:
3375         * UIProcess/Downloads/DownloadProxyMap.cpp: Added.
3376         (WebKit):
3377         (WebKit::DownloadProxyMap::shared):
3378         (WebKit::DownloadProxyMap::DownloadProxyMap):
3379         (WebKit::DownloadProxyMap::~DownloadProxyMap):
3380         (WebKit::DownloadProxyMap::createDownloadProxy):
3381         * UIProcess/Downloads/DownloadProxyMap.h: Added.
3382         (WebKit):
3383         (DownloadProxyMap):
3384         * UIProcess/WebContext.cpp:
3385         (WebKit::WebContext::createDownloadProxy):
3386         * WebKit2.xcodeproj/project.pbxproj:
3387         * win/WebKit2.vcproj:
3388
3389 2012-12-14  Anders Carlsson  <andersca@apple.com>
3390
3391         Fix assertion failure when the network process is enabled
3392         https://bugs.webkit.org/show_bug.cgi?id=105040
3393         <rdar://problem/12883632>
3394
3395         Reviewed by Alexey Proskuryakov.
3396
3397         Make sure that we don't call into the download manager when running with a network process.
3398
3399         * WebProcess/WebProcess.cpp:
3400         (WebKit::WebProcess::shouldTerminate):
3401
3402 2012-12-14  Michelangelo De Simone  <michelangelo@webkit.org>
3403
3404         [CSS Shaders] Remove code for the other mesh box types (border-box | padding-box | content-box)
3405         https://bugs.webkit.org/show_bug.cgi?id=103776
3406
3407         Reviewed by Dean Jackson.
3408
3409         The MeshBoxType has been removed and the code has been refactored. The specs will be updated shortly
3410         and therefore this feature - even though it was not fully implemented yet - shall not be used anymore.
3411
3412         In this patch we remove everything but the parsing code, which shall be addressed in a different patch
3413         (see: https://bugs.webkit.org/show_bug.cgi?id=103778).
3414
3415         Specification to be updated: http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#ltboxgt
3416
3417         Existing tests have been updated and new parsing legacy cases have been added.
3418
3419         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3420         (CoreIPC::::encode):
3421         (CoreIPC::::decode):
3422         * Shared/CoordinatedGraphics/WebCustomFilterOperation.h:
3423         (WebCore::WebCustomFilterOperation::create):
3424         (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
3425
3426 2012-12-14  Alexey Proskuryakov  <ap@apple.com>
3427
3428         <rdar://problem/12880750> RGRESSION: Crash when emptying cookie jar
3429         https://bugs.webkit.org/show_bug.cgi?id=105038
3430
3431         Reviewed by Jessie Berlin.
3432
3433         Handle null context, which is used for cookie management functions.
3434
3435         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3436         (WebKit::WebPlatformStrategies::cookiesForDOM):
3437         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
3438         (WebKit::WebPlatformStrategies::cookiesEnabled):
3439         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
3440         (WebKit::WebPlatformStrategies::getRawCookies):
3441         (WebKit::WebPlatformStrategies::deleteCookie):
3442         (WebKit::WebPlatformStrategies::getHostnamesWithCookies):
3443         (WebKit::WebPlatformStrategies::deleteCookiesForHostname):
3444         (WebKit::WebPlatformStrategies::deleteAllCookies):
3445
3446 2012-12-14  Alberto Garcia  <agarcia@igalia.com>
3447
3448         [GTK] When in private mode WebKitGTK+ should not save HTTP authentication credentials to the persistent storage
3449         https://bugs.webkit.org/show_bug.cgi?id=104910
3450
3451         Reviewed by Martin Robinson.
3452
3453         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
3454         (WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog):
3455         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h:
3456         (WebKit2GtkAuthenticationDialog):
3457         GtkAuthenticationDialog has a new credential storage mode
3458         parameter, so add it here too.
3459
3460         * UIProcess/API/gtk/WebKitWebView.cpp:
3461         (webkitWebViewHandleAuthenticationChallenge):
3462         When creating the GtkAuthenticationDialog, set the credential
3463         storage mode using the private browsing setting from the current
3464         page.
3465
3466 2012-12-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3467
3468         [EFL][WK2] Fix EFL build after r137718
3469         https://bugs.webkit.org/show_bug.cgi?id=105018
3470
3471         Unreviewed build fix.
3472
3473         The problem was that UNUSED_PARAM(size) was left in the code
3474         for non-existent variable 'size'.
3475
3476         * UIProcess/efl/PageClientDefaultImpl.cpp: