[WK2] Make the WebSoupRequestManager a supplement to the WebProcess
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
2
3         [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
4         https://bugs.webkit.org/show_bug.cgi?id=115717
5
6         Reviewed by Andreas Kling.
7
8         WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
9         by the WebProcess. This removes the need for the m_soupRequestManager member variable in
10         the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
11         of which instances are controlled by the WebProcess class.
12
13         * WebProcess/WebProcess.cpp:
14         (WebKit::WebProcess::WebProcess): Add  the WebSoupRequestManager as a supplement.
15         * WebProcess/WebProcess.h:
16         (WebProcess): Remove the m_soupRequestManager member variable and its getter method.
17         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
18         (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
19         (webkitSoupRequestGenericSendFinish): Ditto.
20         * WebProcess/soup/WebProcessSoup.cpp:
21         (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
22         * WebProcess/soup/WebSoupRequestManager.cpp:
23         (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
24         * WebProcess/soup/WebSoupRequestManager.h:
25         (WebSoupRequestManager): Inherit from the WebProcessSupplement interface.
26
27 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
28
29         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
30         https://bugs.webkit.org/show_bug.cgi?id=115904
31
32         Reviewed by Martin Robinson.
33
34         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
35         (startTestServerMonitor):
36         * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
37         (startTestServerMonitor):
38
39 2013-05-09  Anders Carlsson  <andersca@apple.com>
40
41         Fix build.
42
43         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
44
45 2013-05-09  Anders Carlsson  <andersca@apple.com>
46
47         Enable UI process storage
48         https://bugs.webkit.org/show_bug.cgi?id=115879
49         <rdar://problem/12239765>
50
51         Reviewed by Beth Dakin.
52
53         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
54         Flip the switch.
55
56 2013-05-09  Anders Carlsson  <andersca@apple.com>
57
58         Remove extra spaces between right angle brackets in template declarations
59         https://bugs.webkit.org/show_bug.cgi?id=115877
60
61         Reviewed by Beth Dakin.
62
63         C++11 doesn't require spaces between right angle brackets so remove all of them.
64
65         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
66         (WebKit::NetworkBlobRegistry::registerBlobURL):
67         (WebKit::NetworkBlobRegistry::sandboxExtensions):
68         * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
69         (NetworkBlobRegistry):
70         * NetworkProcess/HostRecord.h:
71         (HostRecord):
72         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
73         (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
74         (WebKit::NetworkConnectionToWebProcess::didClose):
75         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
76         * NetworkProcess/NetworkConnectionToWebProcess.h:
77         (NetworkConnectionToWebProcess):
78         * NetworkProcess/NetworkProcess.h:
79         (NetworkProcess):
80         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
81         (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
82         (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
83         * NetworkProcess/NetworkResourceLoadScheduler.h:
84         * NetworkProcess/SchedulableLoader.cpp:
85         (WebKit::SchedulableLoader::SchedulableLoader):
86         * NetworkProcess/SchedulableLoader.h:
87         (SchedulableLoader):
88         * Platform/CoreIPC/ArgumentCoders.h:
89         * Platform/CoreIPC/Connection.cpp:
90         (Connection::SyncMessageState):
91         (CoreIPC::Connection::waitForMessage):
92         (CoreIPC::Connection::processIncomingMessage):
93         * Platform/CoreIPC/Connection.h:
94         (Connection):
95         * Platform/WorkQueue.h:
96         (WorkQueue):
97         * PluginProcess/PluginProcess.h:
98         (PluginProcess):
99         * Scripts/webkit2/messages_unittest.py:
100         (CoreIPC):
101         * Shared/BlockingResponseMap.h:
102         (BlockingResponseMap):
103         * Shared/ChildProcessProxy.h:
104         (ChildProcessProxy):
105         * Shared/ImmutableArray.cpp:
106         (WebKit::ImmutableArray::ImmutableArray):
107         * Shared/ImmutableArray.h:
108         (WebKit::ImmutableArray::adopt):
109         (ImmutableArray):
110         * Shared/ImmutableDictionary.cpp:
111         (WebKit::ImmutableDictionary::keys):
112         * Shared/ImmutableDictionary.h:
113         (ImmutableDictionary):
114         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
115         (CustomProtocolManager):
116         * Shared/SecurityOriginData.cpp:
117         (WebKit::performAPICallbackWithSecurityOriginDataVector):
118         * Shared/SessionState.cpp:
119         * Shared/StatisticsData.h:
120         (StatisticsData):
121         * Shared/UserMessageCoders.h:
122         (WebKit::UserMessageDecoder::baseDecode):
123         * Shared/WebArchive.cpp:
124         (WebKit::WebArchive::WebArchive):
125         (WebKit::WebArchive::subresources):
126         (WebKit::WebArchive::subframeArchives):
127         * Shared/WebContextMenuItem.cpp:
128         (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
129         * Shared/WebOpenPanelParameters.cpp:
130         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
131         (WebKit::WebOpenPanelParameters::selectedFileNames):
132         * Shared/mac/ArgumentCodersMac.mm:
133         (CoreIPC::encode):
134         * SharedWorkerProcess/SharedWorkerProcess.h:
135         (SharedWorkerProcess):
136         * UIProcess/API/mac/WKPrintingView.h:
137         (WebFrameProxy):
138         * UIProcess/API/mac/WKPrintingView.mm:
139         (-[WKPrintingView _drawPreview:]):
140         * UIProcess/API/mac/WKView.mm:
141         (WebKit):
142         * UIProcess/Downloads/DownloadProxyMap.cpp:
143         (WebKit::DownloadProxyMap::processDidClose):
144         * UIProcess/Downloads/DownloadProxyMap.h:
145         (DownloadProxyMap):
146         * UIProcess/GeolocationPermissionRequestManagerProxy.h:
147         (GeolocationPermissionRequestManagerProxy):
148         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
149         (DynamicLinkerEnvironmentExtractor):
150         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
151         (CustomProtocolManagerProxy):
152         * UIProcess/Network/NetworkProcessProxy.h:
153         (NetworkProcessProxy):
154         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
155         (NotificationPermissionRequestManagerProxy):
156         * UIProcess/Notifications/WebNotificationManagerProxy.h:
157         (WebNotificationManagerProxy):
158         * UIProcess/Plugins/PluginProcessManager.h:
159         (PluginProcessManager):
160         * UIProcess/Plugins/PluginProcessProxy.h:
161         (PluginProcessProxy):
162         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
163         (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
164         * UIProcess/Plugins/WebPluginSiteDataManager.h:
165         (WebPluginSiteDataManager):
166         * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
167         (SharedWorkerProcessManager):
168         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
169         (SharedWorkerProcessProxy):
170         * UIProcess/StatisticsRequest.cpp:
171         (WebKit::StatisticsRequest::completedRequest):
172         * UIProcess/Storage/StorageManager.cpp:
173         (StorageManager::StorageArea):
174         (WebKit::StorageManager::StorageArea::dispatchEvents):
175         (StorageManager::SessionStorageNamespace):
176         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
177         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
178         (WebKit::StorageManager::createLocalStorageMap):
179         (WebKit::StorageManager::createSessionStorageMap):
180         (WebKit::StorageManager::destroyStorageMap):
181         (WebKit::StorageManager::invalidateConnectionInternal):
182         (WebKit::StorageManager::findStorageArea):
183         (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
184         * UIProcess/Storage/StorageManager.h:
185         (StorageManager):
186         * UIProcess/WebApplicationCacheManagerProxy.h:
187         (WebApplicationCacheManagerProxy):
188         * UIProcess/WebBackForwardList.cpp:
189         (WebKit::WebBackForwardList::addItem):
190         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
191         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
192         (WebKit::WebBackForwardList::clear):
193         * UIProcess/WebBackForwardList.h:
194         (WebKit):
195         * UIProcess/WebContext.cpp:
196         (WebKit::WebContext::createNewWebProcess):
197         (WebKit::WebContext::enableProcessTermination):
198         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
199         * UIProcess/WebContext.h:
200         (WebContext):
201         * UIProcess/WebCookieManagerProxy.cpp:
202         (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
203         * UIProcess/WebCookieManagerProxy.h:
204         (WebCookieManagerProxy):
205         * UIProcess/WebDatabaseManagerProxy.cpp:
206         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
207         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
208         * UIProcess/WebDatabaseManagerProxy.h:
209         (WebDatabaseManagerProxy):
210         * UIProcess/WebFormClient.cpp:
211         (WebKit::WebFormClient::willSubmitForm):
212         * UIProcess/WebFormClient.h:
213         (WebFormClient):
214         * UIProcess/WebKeyValueStorageManagerProxy.h:
215         (WebKeyValueStorageManagerProxy):
216         * UIProcess/WebLoaderClient.cpp:
217         (WebKit::WebLoaderClient::didChangeBackForwardList):
218         * UIProcess/WebLoaderClient.h:
219         (WebLoaderClient):
220         * UIProcess/WebMediaCacheManagerProxy.cpp:
221         (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
222         * UIProcess/WebMediaCacheManagerProxy.h:
223         (WebMediaCacheManagerProxy):
224         * UIProcess/WebPageContextMenuClient.cpp:
225         (WebKit::WebPageContextMenuClient::showContextMenu):
226         * UIProcess/WebPageProxy.cpp:
227         (ExceededDatabaseQuotaRecords):
228         (WebKit::WebPageProxy::relatedPages):
229         (WebKit::WebPageProxy::didChangeBackForwardList):
230         (WebKit::WebPageProxy::handleWheelEvent):
231         (WebKit::WebPageProxy::processNextQueuedWheelEvent):
232         (WebKit::WebPageProxy::findStringMatches):
233         (WebKit::WebPageProxy::willSubmitForm):
234         (WebKit::WebPageProxy::pluginInformationDictionary):
235         (WebKit::WebPageProxy::didFindStringMatches):
236         (WebKit::WebPageProxy::didReceiveEvent):
237         * UIProcess/WebPageProxy.h:
238         (WebPageProxy):
239         * UIProcess/WebPageProxy.messages.in:
240         * UIProcess/WebProcessProxy.cpp:
241         (WebKit::WebProcessProxy::disconnect):
242         (WebKit::WebProcessProxy::didClose):
243         (WebKit::WebProcessProxy::didBecomeUnresponsive):
244         (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
245         (WebKit::WebProcessProxy::didBecomeResponsive):
246         (WebKit::WebProcessProxy::disconnectFramesFromPage):
247         (WebKit::WebProcessProxy::frameCountInPage):
248         * UIProcess/WebProcessProxy.h:
249         (WebProcessProxy):
250         * UIProcess/WebResourceCacheManagerProxy.h:
251         (WebResourceCacheManagerProxy):
252         * UIProcess/mac/WebContextMenuProxyMac.mm:
253         (WebKit::populateNSMenu):
254         (WebKit::nsMenuItemVector):
255         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
256         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
257         * WebProcess/Geolocation/WebGeolocationManager.cpp:
258         (WebKit::WebGeolocationManager::didChangePosition):
259         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
260         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
261         (WebIconDatabaseProxy):
262         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
263         * WebProcess/InjectedBundle/InjectedBundle.cpp:
264         (WebKit::InjectedBundle::originsWithApplicationCache):
265         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
266         (WebKit::InjectedBundleBackForwardListItem::children):
267         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
268         (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
269         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
270         (InjectedBundlePageEditorClient):
271         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
272         (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
273         (WebKit::InjectedBundlePageFormClient::willSubmitForm):
274         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
275         (InjectedBundlePageFormClient):
276         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
277         (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
278         * WebProcess/Network/WebResourceLoadScheduler.cpp:
279         (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
280         (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
281         * WebProcess/Network/WebResourceLoadScheduler.h:
282         (WebResourceLoadScheduler):
283         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
284         (NotificationPermissionRequestManager):
285         * WebProcess/Notifications/WebNotificationManager.h:
286         (WebNotificationManager):
287         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
288         (WebKit::NPRuntimeObjectMap::invalidate):
289         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
290         (NPRuntimeObjectMap):
291         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
292         (WebKit::NetscapePlugin::stopAllStreams):
293         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
294         (NetscapePlugin):
295         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
296         (NetscapePluginStream):
297         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
298         (getAllScriptsInPDFDocument):
299         (WebKit::SimplePDFPlugin::runScriptsInPDFDocument):
300         * WebProcess/Plugins/PluginProcessConnectionManager.h:
301         (PluginProcessConnectionManager):
302         * WebProcess/Plugins/PluginView.cpp:
303         (WebKit::PluginView::cancelAllStreams):
304         * WebProcess/Plugins/PluginView.h:
305         (PluginView):
306         * WebProcess/Storage/StorageAreaMap.cpp:
307         (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
308         (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
309         * WebProcess/Storage/StorageNamespaceImpl.cpp:
310         (WebKit::StorageNamespaceImpl::storageArea):
311         * WebProcess/Storage/StorageNamespaceImpl.h:
312         (StorageNamespaceImpl):
313         * WebProcess/Storage/WebKeyValueStorageManager.cpp:
314         (WebKit::keyValueStorageOriginIdentifiers):
315         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
316         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
317         (WebKit::WebDatabaseManager::getDatabaseOrigins):
318         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
319         (WebKit::WebEditorClient::getClientPasteboardDataForRange):
320         * WebProcess/WebCoreSupport/WebEditorClient.h:
321         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
322         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
323         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
324         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
325         * WebProcess/WebPage/EventDispatcher.h:
326         (EventDispatcher):
327         * WebProcess/WebPage/FindController.cpp:
328         (WebKit::FindController::findStringMatches):
329         * WebProcess/WebPage/FindController.h:
330         (FindController):
331         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
332         (WebKit):
333         * WebProcess/WebPage/WebFrame.cpp:
334         (WebKit::WebFrame::childFrames):
335         * WebProcess/WebPage/WebPage.cpp:
336         (WebKit::WebPage::trackedRepaintRects):
337         * WebProcess/WebPage/WebPage.h:
338         (WebKit):
339         (WebPage):
340         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
341         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
342         (TiledCoreAnimationDrawingArea):
343         * WebProcess/WebProcess.cpp:
344         (WebKit::WebProcess::visitedLinkStateChanged):
345         (WebKit::WebProcess::allVisitedLinkStateChanged):
346         (WebKit::WebProcess::focusedWebPage):
347         (WebKit::WebProcess::createWebPage):
348         (WebKit::WebProcess::didClose):
349         (WebKit::WebProcess::webPageGroup):
350         (WebKit::addCaseFoldedCharacters):
351         (WebKit::getWebCoreMemoryCacheStatistics):
352         (WebKit::WebProcess::setTextCheckerState):
353         * WebProcess/WebProcess.h:
354         (WebProcess):
355
356 2013-05-09  Anders Carlsson  <andersca@apple.com>
357
358         Implement WebPlatformStrategies::transientLocalStorageNamespace
359         https://bugs.webkit.org/show_bug.cgi?id=115876
360         <rdar://problem/13852871>
361
362         Reviewed by Beth Dakin.
363
364         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
365         (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
366         Return a session storage namespace for a random page when UI process storage is enabled,
367         otherwise call the base class implementation.
368
369 2013-05-09  Anders Carlsson  <andersca@apple.com>
370
371         Use explicit qualifiers for names in the std:: namespace
372         https://bugs.webkit.org/show_bug.cgi?id=115868
373
374         Reviewed by Andreas Kling.
375
376         * Shared/mac/ArgumentCodersMac.mm:
377         (CoreIPC::encode):
378         * UIProcess/API/C/WKPluginSiteDataManager.cpp:
379         (WKPluginSiteDataManagerClearAllSiteData):
380         * UIProcess/Plugins/PluginInfoStore.cpp:
381         (WebKit::PluginInfoStore::findPluginForExtension):
382         * UIProcess/WebFrameProxy.cpp:
383         * UIProcess/WebProcessProxy.cpp:
384         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
385         (WebKit::parsePostBuffer):
386         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
387         (WebKit::NetscapePlugin::loadURL):
388         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
389         (WebKit::NetscapePluginStream::deliverDataToPlugin):
390         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
391         * WebProcess/WebPage/DrawingAreaImpl.cpp:
392         * WebProcess/WebPage/FindController.cpp:
393         (WebKit::FindController::countStringMatches):
394         (WebKit::FindController::updateFindUIAfterPageScroll):
395         * WebProcess/WebPage/WebPage.cpp:
396         * WebProcess/WebPage/mac/WebPageMac.mm:
397         (WebKit::drawPDFPage):
398         * WebProcess/mac/WebProcessMac.mm:
399
400 2013-05-09  Max Feil  <mfeil@rim.com>
401
402         shouldUsePluginDocument() needs to be respected when a document is created
403         https://bugs.webkit.org/show_bug.cgi?id=110308
404
405         Reviewed by Rob Buis.
406
407         Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
408         for clarity.
409
410         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
411         (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
412         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
413         (WebFrameLoaderClient):
414
415 2013-05-09  Timothy Hatcher  <timothy@apple.com>
416
417         Make dragging off a tab in Safari with a docked Inspector reattach the Inspector.
418
419         https://webkit.org/b/115832
420         rdar://problem/13605661
421
422         Reviewed by Benjamin Poulain.
423
424         * UIProcess/mac/WebInspectorProxyMac.mm:
425         (WebKit::WebInspectorProxy::platformBringToFront):
426         If the Web Inspector is no longer in the same window as the inspected view,
427         then we need to reopen the Inspector to get it attached to the right window.
428
429 2013-05-08  Anders Carlsson  <andersca@apple.com>
430
431         Fix a typo in a comment.
432
433         Rubber-stamped by Darin Adler.
434
435         * WebProcess/WebProcess.cpp:
436         (WebKit::WebProcess::initializeConnection):
437
438 2013-05-08  Anders Carlsson  <andersca@apple.com>
439
440         Remove bogus StorageAreaMap assertions
441         https://bugs.webkit.org/show_bug.cgi?id=115838
442
443         Reviewed by Sam Weinig.
444
445         It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions.
446
447         * WebProcess/Storage/StorageAreaMap.cpp:
448         (WebKit::StorageAreaMap::didGetValues):
449         (WebKit::StorageAreaMap::didClear):
450
451 2013-05-08  Anders Carlsson  <andersca@apple.com>
452
453         Handle incoming clear operations
454         https://bugs.webkit.org/show_bug.cgi?id=115829
455
456         Reviewed by Sam Weinig.
457
458         Handle clear by building up a new storage map with our pending changes.
459
460         * WebProcess/Storage/StorageAreaMap.cpp:
461         (WebKit::StorageAreaMap::applyChange):
462
463 2013-05-08  Anders Carlsson  <andersca@apple.com>
464
465         Don't apply changes while we're clearing the database
466         https://bugs.webkit.org/show_bug.cgi?id=115826
467
468         Reviewed by Darin Adler.
469
470         * UIProcess/Storage/LocalStorageDatabase.cpp:
471         (WebKit::LocalStorageDatabase::openDatabase):
472         Only call didOpenDatabaseWithOrigin if we actually did open the database.
473
474         (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
475         Create the database if needed.
476
477         * UIProcess/Storage/StorageManager.cpp:
478         (WebKit::StorageManager::getValues):
479         Send back a DidGetValues message.
480
481         * WebProcess/Storage/StorageAreaMap.cpp:
482         (WebKit::StorageAreaMap::StorageAreaMap):
483         Initialize m_hasPendingClear.
484
485         (WebKit::StorageAreaMap::clear):
486         Set m_hasPendingClear to true.
487
488         (WebKit::StorageAreaMap::resetValues):
489         Set m_hasPendingClear back to false.
490
491         (WebKit::StorageAreaMap::loadValuesIfNeeded):
492         Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items.
493
494         (WebKit::StorageAreaMap::didGetValues):
495         Set m_hasPendingClear back to false.
496
497         (WebKit::StorageAreaMap::didClear):
498         Set m_hasPendingClear back to false.
499
500         (WebKit::StorageAreaMap::applyChange):
501         Don't apply the change if m_hasPendingClear is true.
502
503         * WebProcess/Storage/StorageAreaMap.messages.in:
504         Add DidGetValues message.
505
506 2013-05-08  Andy Estes  <aestes@apple.com>
507
508         [WebKit2] REGRESSION (Custom Protocols): Reproducible crash when navigating to URL with an invalid scheme
509         https://bugs.webkit.org/show_bug.cgi?id=115790
510
511         Reviewed by Alexey Proskuryakov.
512
513         NSMutableSet does not support adding or removing nil objects, and
514         WTF::HashSet does not support adding, removing, or checking for null
515         WTF::Strings.
516
517         For the NSMutableSet case, make sure that we don't try to add or remove
518         nil NSStrings.
519
520         For the WTF::HashSet case, NSURL will return a nil NSString if we ask
521         it for its scheme when it is invalid, which we will convert to a null
522         WTF::String. Don't try to check if our HashSet of registered schemes
523         contains a null String.
524
525         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
526         (WebKit::CustomProtocolManager::registerScheme): Assert that the scheme
527         isn't null. We reject null schemes at the WKBrowsingContextController level.
528         (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
529         (WebKit::CustomProtocolManager::supportsScheme): If scheme is null, return false.
530         * UIProcess/API/mac/WKBrowsingContextController.mm:
531         (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): Do not register a nil scheme.
532         (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): Ditto.
533
534 2013-05-08  Anders Carlsson  <andersca@apple.com>
535
536         Apply remote changes to storage maps locally
537         https://bugs.webkit.org/show_bug.cgi?id=115825
538
539         Reviewed by Beth Dakin.
540
541         * WebProcess/Storage/StorageAreaMap.cpp:
542         (WebKit::StorageAreaMap::resetValues):
543         Clear the pending values map.
544
545         (WebKit::StorageAreaMap::didSetItem):
546         If we failed to set the item, forget everything we know about this storage map.
547         Otherwise, remove the pending item.
548
549         (WebKit::StorageAreaMap::didRemoveItem):
550         Remove the pending item.
551
552         (WebKit::StorageAreaMap::shouldApplyChangeForKey):
553         Helper function that returns whether a change for a given key should be applied.
554
555         (WebKit::StorageAreaMap::applyChange):
556         Apply the change. Currently only adds and removes are handled.
557
558         (WebKit::StorageAreaMap::dispatchStorageEvent):
559         Apply the change locally as well if needed.
560
561         * WebProcess/Storage/StorageAreaMap.h:
562
563 2013-05-08  Anders Carlsson  <andersca@apple.com>
564
565         Assert at compile time that we don't pass Objective-C object pointers to adoptCF
566         https://bugs.webkit.org/show_bug.cgi?id=115823
567
568         Reviewed by Geoffrey Garen.
569
570         Fix adoptNS/adoptCF mismatches. For the adopt(leakRef()) case we'd ideally want a static_pointer_cast overload for RetainPtr,
571         but this will do for now.
572         
573         * Shared/mac/ArgumentCodersMac.mm:
574         (CoreIPC::decode):
575
576 2013-05-08  Sam Weinig  <sam@webkit.org>
577
578         Add SPI to determine if a plugin is sandboxed
579         https://bugs.webkit.org/show_bug.cgi?id=115810
580
581         Reviewed by Anders Carlsson.
582
583         * PluginProcess/mac/PluginProcessMac.mm:
584         (WebKit::PluginProcess::initializeSandbox):
585         * Shared/Plugins/mac/PluginSandboxProfile.h: Added.
586         * Shared/Plugins/mac/PluginSandboxProfile.mm: Added.
587         (WebKit::pluginSandboxProfileDefaultDirectory):
588         (WebKit::pluginSandboxProfileDirectories):
589         (WebKit::pluginSandboxProfileName):
590         (WebKit::pluginSandboxCommonProfile):
591         (WebKit::pluginSandboxProfileForDirectory):
592         (WebKit::pluginSandboxProfile):
593         (WebKit::pluginHasSandboxProfileForDirectory):
594         (WebKit::pluginHasSandboxProfile):
595         Move sandbox code to its own file and refactor to use cocoa. Also adds pluginHasSandboxProfile function
596         which uses the newly refactored code.
597
598         * UIProcess/API/C/mac/WKContextPrivateMac.h:
599         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
600         (WKPlugInInfoIsSandboxedKey):
601         (createInfoDictionary):
602         Add WKPlugInInfoIsSandboxedKey.
603
604         * WebKit2.xcodeproj/project.pbxproj:
605         Add new files.
606
607 2013-05-08  Anders Carlsson  <andersca@apple.com>
608
609         Safari unexpectedly quits with invalid message from the web process with message ID 0x323002f (WebPageProxy.DecidePolicyForNavigationAction)
610         https://bugs.webkit.org/show_bug.cgi?id=115814
611         <rdar://problem/12331258>
612
613         Reviewed by Andreas Kling.
614
615         To ensure that any asynchronous messages are delivered to the UI process before
616         synchronous messages (except when doing so would lead to a deadlock), Call
617         setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the UI process connections.
618
619         * WebProcess/WebProcess.cpp:
620         (WebKit::WebProcess::initializeConnection):
621
622 2013-05-08  Tim Horton  <timothy_horton@apple.com>
623
624         Coalesce WKView visibleRect changes
625         https://bugs.webkit.org/show_bug.cgi?id=115792
626         <rdar://problem/13776842>
627
628         Reviewed by Simon Fraser.
629
630         The system can call renewGState much more often than we actually want
631         to update the WebProcess' notion of the exposed rect. Most importantly,
632         within an autolayout pass it is called many times, and often sees
633         [WKView visibleRect] be an intermediate value which will never be
634         flushed to the screen. We only care about the final value, so we should
635         wait until AppKit has finished - with a zero-delay timer - to inform the
636         WebProcess of exposed rect changes.
637
638         * UIProcess/WebPageProxy.cpp:
639         (WebKit::WebPageProxy::WebPageProxy):
640         Add exposedRectChangedTimer.
641         (WebKit::WebPageProxy::close):
642         Cancel exposedRectChangedTimer when tearing down the WebPageProxy.
643         * UIProcess/WebPageProxy.h:
644         (WebPageProxy):
645         Add exposedRectChangedTimerFired, the timer itself, and two rects:
646         the most recent exposed rect from the WKView, and the last one we actually
647         sent across to the WebProcess.
648         * UIProcess/mac/WebPageProxyMac.mm:
649         (WebKit::WebPageProxy::viewExposedRectChanged):
650         Instead of immediately sending exposed rect changes to the WebProcess,
651         start a zero-delay timer to do so.
652         (WebKit::WebPageProxy::exposedRectChangedTimerFired):
653         Once the zero-delay timer fires, send the new exposed rect to the WebProcess.
654
655 2013-05-08  Alexey Proskuryakov  <ap@apple.com>
656
657         <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers
658         <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices
659
660         Reviewed by Anders Carlsson.
661
662         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more
663         TextServices and NSInputManager directories.
664
665 2013-05-08  Anders Carlsson  <andersca@apple.com>
666
667         Remove BinarySemaphoreWin.cpp.
668
669         Rubber-stamped by Beth Dakin.
670
671         BinarySemaphoreWin has been moved to WTF, but the original was never removed.
672
673         * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
674
675 2013-05-08  Zan Dobersek  <zdobersek@igalia.com>
676
677         [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
678         https://bugs.webkit.org/show_bug.cgi?id=115716
679
680         Reviewed by Andreas Kling.
681
682         WebNetworkInfoManager should inherit from WebProcessSupplement and should be used
683         as such by the WebProcess. This removes the need for the m_networkInfoManager member
684         variable in the WebProcess class and brings the WebNetworkInfoManager in line with
685         other manager classes of which instances are controlled by the WebProcess class.
686
687         * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
688         (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
689         (WebKit):
690         * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
691         (WebKit): Alphabetically reorder the two forwarding declarations.
692         (WebNetworkInfoManager): Inherit from the WebProcessSupplement interface.
693         * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
694         (WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement.
695         (WebKit::WebNetworkInfoClient::metered): Ditto.
696         (WebKit::WebNetworkInfoClient::startUpdating): Ditto.
697         (WebKit::WebNetworkInfoClient::stopUpdating): Ditto.
698         (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto.
699         * WebProcess/WebProcess.cpp:
700         (WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement.
701         * WebProcess/WebProcess.h:
702         (WebProcess): Remove the m_networkInfoManager member variable and its getter method.
703
704 2013-05-08  Zan Dobersek  <zdobersek@igalia.com>
705
706         [WK2] Make the WebBatteryManager a supplement to the WebProcess
707         https://bugs.webkit.org/show_bug.cgi?id=115715
708
709         Reviewed by Andreas Kling.
710
711         WebBatteryManager should inherit from WebProcessSupplement and should be used as such
712         by the WebProcess. This removes the need for the m_batteryManager member variable in
713         the WebProcess class and brings the WebBatteryManager in line with other manager classes
714         of which instances are controlled by the WebProcess class.
715
716         * WebProcess/Battery/WebBatteryManager.cpp:
717         (WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
718         (WebKit):
719         * WebProcess/Battery/WebBatteryManager.h:
720         (WebBatteryManager): Inherit from the WebProcessSupplement interface.
721         * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
722         (WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement.
723         (WebKit::WebBatteryClient::stopUpdating): Ditto.
724         (WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto.
725         * WebProcess/WebProcess.cpp:
726         (WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement.
727         * WebProcess/WebProcess.h:
728         (WebProcess): Remove the m_batteryManager member variable and its getter method.
729
730 2013-05-06  Darin Adler  <darin@apple.com>
731
732         Use adoptCF and adoptNS in more places
733         https://bugs.webkit.org/show_bug.cgi?id=115657
734
735         Reviewed by Sam Weinig.
736
737         * Shared/Downloads/cfnet/DownloadCFNet.cpp:
738         (WebKit::Download::useCredential):
739         (WebKit::Download::start):
740         (WebKit::Download::startWithHandle):
741         (WebKit::Download::cancel):
742         (WebKit::Download::didDecideDestination):
743         Use adoptCF and adoptNS.
744
745 2013-05-06  Sam Weinig  <sam@webkit.org>
746
747         Add SPI to get an array of all the installed plug-ins
748         https://bugs.webkit.org/show_bug.cgi?id=115688
749
750         Reviewed by Anders Carlsson.
751
752         * UIProcess/API/C/mac/WKContextPrivateMac.h:
753         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
754         (createInfoDictionary):
755         Extract creation of info dictionary into helper.
756         (WKContextCopyPlugInInfoForBundleIdentifier):
757         Modified to use the new helper.
758         (WKContextGetInfoForInstalledPlugIns):
759         Added.
760
761 2013-05-07  Anders Carlsson  <andersca@apple.com>
762
763         Clean up KeyframeValueList and related classes
764         https://bugs.webkit.org/show_bug.cgi?id=115738
765
766         Reviewed by Simon Fraser.
767
768         Update for WebCore changes.
769
770         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
771         (CoreIPC::::decode):
772
773 2013-05-07  Anders Carlsson  <andersca@apple.com>
774
775         Add and remove databases and origins from the database tracker
776         https://bugs.webkit.org/show_bug.cgi?id=115752
777
778         Reviewed by Andreas Kling.
779
780         * UIProcess/Storage/LocalStorageDatabase.cpp:
781         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
782         Rename m_databaseFilename to m_databasePath.
783
784         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
785         Rename m_databaseFilename to m_databasePath.
786
787         * UIProcess/Storage/LocalStorageDatabase.h:
788         Rename m_databaseFilename to m_databasePath.
789
790         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
791         (WebKit::LocalStorageDatabaseTracker::databasePath):
792         Rename databaseFilename to databasePath.
793
794         (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
795         Call addDatabaseWithOriginIdentifier.
796
797         (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
798         Call removeDatabaseWithOriginIdentifier.
799
800         (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
801         Call databasePath instead of databaseFile.
802
803         (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
804         Bail if the database is already open.
805
806         (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
807         Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.
808
809         (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
810         Add the database to the Origins table.
811
812         (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
813         remove the database from the Origins table and delete it.
814
815         (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
816         Helper function that looks up a database path given its identifier.
817         
818         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
819         Rename databaseFile to databasePath.
820
821 2013-05-07  Anders Carlsson  <andersca@apple.com>
822
823         The storage database tracker should know when databases come and go
824         https://bugs.webkit.org/show_bug.cgi?id=115748
825
826         Reviewed by Andreas Kling.
827
828         * UIProcess/Storage/LocalStorageDatabase.cpp:
829         (WebKit::LocalStorageDatabase::openDatabase):
830         If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.
831
832         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
833         Remove a FIXME; we run all storage related things on the same thread.
834
835         (WebKit::LocalStorageDatabase::close):
836         Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.
837
838         (WebKit::LocalStorageDatabase::databaseIsEmpty):
839         Helper function for determining whether a database is empty.
840         
841         * UIProcess/Storage/LocalStorageDatabase.h:
842         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
843         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
844         Add ".localstorage" to the filename.
845
846         (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
847         (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
848         Add empty stubs.
849
850 2013-05-07  Brady Eidson  <beidson@apple.com>
851
852         Add JoinExistingSession to the Networking XPC.
853         <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991
854
855         Reviewed by Sam Weinig.
856
857         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
858         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
859
860 2013-05-07  Anders Carlsson  <andersca@apple.com>
861
862         REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
863         https://bugs.webkit.org/show_bug.cgi?id=115711
864
865         Reviewed by Andreas Kling.
866
867         Handle setting the local storage directory more than once.
868
869         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
870         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
871         Close the database (if necessary) and clear the origins map before importing the origin identifiers.
872
873 2013-05-07  Antoine Quint  <graouts@apple.com>
874
875         Re-establish autostart timeout extension on user interaction
876         https://bugs.webkit.org/show_bug.cgi?id=113232
877
878         Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
879         (pluginOrigin, pageOrigin, mimeType) arguments like the other similar
880         WebProcess methods and gather these arguments from the PlugInView's
881         plug-in element.
882
883         Reviewed by Dean Jackson.
884
885         * WebProcess/Plugins/PluginView.cpp:
886         (WebKit::PluginView::pluginDidReceiveUserInteraction):
887         Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
888         tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().
889
890         * WebProcess/WebProcess.cpp:
891         (WebKit::WebProcess::plugInDidReceiveUserInteraction):
892         * WebProcess/WebProcess.h:
893         (WebProcess):
894         Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
895         and obtain the plug-in origin hash from that.
896
897 2013-05-07  Anders Carlsson  <andersca@apple.com>
898
899         Each local storage database should know its origin
900         https://bugs.webkit.org/show_bug.cgi?id=115737
901
902         Reviewed by Andreas Kling.
903
904         Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.
905
906         * UIProcess/Storage/LocalStorageDatabase.cpp:
907         (WebKit::LocalStorageDatabase::create):
908         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
909         * UIProcess/Storage/LocalStorageDatabase.h:
910         (LocalStorageDatabase):
911
912 2013-05-07  Brady Eidson  <beidson@apple.com>
913
914         Remove some unnecessary soft linking in NetworkProcess. (Take 2)
915         <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
916
917         Reviewed by Dean Jackson and owned by Andreas Kling.
918
919         As a followup to r149651, include the private headers conditionally.
920         Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).
921
922         * NetworkProcess/mac/DiskCacheMonitor.mm:
923         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
924         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
925
926 2013-05-07  Jinwoo Song  <jinwoo7.song@samsung.com>
927
928         [EFL][WK2] Add ewk APIs for setting and getting user agent
929         https://bugs.webkit.org/show_bug.cgi?id=114429
930
931         Reviewed by Andreas Kling.
932
933         Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.
934
935         * UIProcess/API/efl/EwkView.cpp:
936         (EwkView::EwkView):
937         (EwkView::setUserAgent):
938         * UIProcess/API/efl/EwkView.h:
939         (EwkView::userAgent):
940         (EwkView):
941         * UIProcess/API/efl/ewk_view.cpp:
942         (ewk_view_user_agent_get):
943         (ewk_view_user_agent_set):
944         * UIProcess/API/efl/ewk_view.h:
945         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
946         (TEST_F):
947
948 2013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
949
950         HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
951         https://bugs.webkit.org/show_bug.cgi?id=115646
952
953         Reviewed by Darin Adler.
954
955         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
956         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
957         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
958         (WebKit::NetworkResourceLoadScheduler::hostForURL):
959         * Shared/ImmutableDictionary.h:
960         (WebKit::ImmutableDictionary::get):
961         * UIProcess/Storage/StorageManager.cpp:
962         (WebKit::StorageManager::createSessionStorageMap):
963         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
964         (WebKit::StorageManager::findStorageArea):
965         * UIProcess/WebContext.h:
966         (WebKit::WebContext::supplement):
967         * UIProcess/WebProcessProxy.cpp:
968         (WebKit::WebProcessProxy::webBackForwardItem):
969         (WebKit::WebProcessProxy::webFrame):
970         * UIProcess/efl/DownloadManagerEfl.cpp:
971         (WebKit::DownloadManagerEfl::ewkDownloadJob):
972         * WebProcess/Network/WebResourceLoadScheduler.h:
973         (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
974         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
975         (WebKit::NetscapePlugin::streamFromID):
976         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
977         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
978         * WebProcess/Plugins/PluginView.cpp:
979         (WebKit::PluginView::cancelStreamLoad):
980         * WebProcess/WebPage/EventDispatcher.cpp:
981         (WebKit::EventDispatcher::wheelEvent):
982         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
983         (WebKit::WebBackForwardListProxy::itemForID):
984         (WebKit::WebBackForwardListProxy::itemAtIndex):
985         * WebProcess/WebPage/WebPage.cpp:
986         (WebKit::WebPage::webUndoStep):
987         (WebKit::WebPage::didFinishCheckingText):
988         (WebKit::WebPage::didCancelCheckingText):
989         * WebProcess/WebProcess.cpp:
990         (WebKit::WebProcess::webPage):
991         (WebKit::WebProcess::webPageGroup):
992             Updated accordingly to new HashMap<.., RefPtr>::get() semantics.
993
994 2013-05-06  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
995
996         [Qt] Unreviewed buildfix after r149637.
997
998         * Target.pri:
999
1000 2013-05-06  Ryosuke Niwa  <rniwa@webkit.org>
1001
1002         REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
1003         https://bugs.webkit.org/show_bug.cgi?id=115711    
1004
1005         Rubber-stamped by Anders Carlsson.
1006
1007         Temporarily removed the assertion. Andres is going to investigate it tomorrow.
1008
1009         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
1010         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
1011
1012 2013-05-06  Darin Adler  <darin@apple.com>
1013
1014         Use OwnPtr instead of deleteAllValues in KeyframeValueList
1015         https://bugs.webkit.org/show_bug.cgi?id=115652
1016
1017         Reviewed by Simon Fraser.
1018
1019         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1020         (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
1021         next to new when calling KeyframeValueList::insert.
1022
1023 2013-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1024
1025         Unreviewed, build fix on EFL port
1026
1027         * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
1028
1029 2013-05-06  Philippe Normand  <pnormand@igalia.com>
1030
1031         Unreviewed, GTK build fix after r149637.
1032
1033         * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
1034         the build.
1035
1036 2013-05-06  Brady Eidson  <beidson@apple.com>
1037
1038         Remove some unnecessary soft linking in NetworkProcess.
1039         <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
1040
1041         Reviewed by Sam Weinig.
1042
1043         Replace some unneeded soft linking with forward declarations.
1044
1045         * NetworkProcess/mac/DiskCacheMonitor.mm:
1046         (WebKit::DiskCacheMonitor::DiskCacheMonitor):
1047         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
1048         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
1049         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
1050
1051 2013-05-06  Anders Carlsson  <andersca@apple.com>
1052
1053         More work on LocalStorageDatabaseTracker
1054         https://bugs.webkit.org/show_bug.cgi?id=115680
1055
1056         Reviewed by Andreas Kling.
1057
1058         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
1059         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
1060         Call the new databaseFilename that takes a string.
1061
1062         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
1063         Assert that we don't call this more than once. Dispatch a call to import origin identifiers.
1064
1065         (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
1066         New helper function that returns the tracker database path.
1067
1068         (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
1069         Open the database and create the Origins table if needed.
1070
1071         (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
1072         Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.
1073
1074         (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
1075         Bring the tracker database up to date from the database files on disk.
1076
1077         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
1078         (LocalStorageDatabaseTracker):
1079
1080 2013-05-06  Alexey Proskuryakov  <ap@apple.com>
1081
1082         <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
1083         https://bugs.webkit.org/show_bug.cgi?id=115665
1084
1085         Reviewed by Darin Adler.
1086
1087         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated
1088         check for frame->isMainFrame() to the top, matching oter similar functions.
1089         Call updateActivePages().
1090
1091         * WebProcess/WebProcess.cpp:
1092         (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME.
1093         (WebKit::WebProcess::updateActivePages): Empty implementation for platforms
1094         that don't need to do anything here.
1095
1096         * WebProcess/WebProcess.h: Added updateActivePages().
1097
1098         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
1099         Collect user visible origins of pages in the process and pass them to LS.
1100
1101 2013-05-06  Mark Rowe  <mrowe@apple.com>
1102
1103         <rdar://problem/13775921> Switch off a deprecated API.
1104
1105         Reviewed by Oliver Hunt.
1106
1107         * Shared/mac/ChildProcessMac.mm:
1108         (WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
1109         begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
1110         When enabling process suppression, end the activity.
1111
1112 2013-05-06  Anders Carlsson  <andersca@apple.com>
1113
1114         Move local storage directory handling to LocalStorageDatabaseTracker
1115         https://bugs.webkit.org/show_bug.cgi?id=115676
1116
1117         Reviewed by Andreas Kling.
1118
1119         * UIProcess/Storage/LocalStorageDatabase.cpp:
1120         (WebKit::LocalStorageDatabase::create):
1121         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
1122         * UIProcess/Storage/LocalStorageDatabase.h:
1123         (WebCore):
1124         (LocalStorageDatabase):
1125         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
1126         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
1127         (WebKit):
1128         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
1129         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
1130         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
1131         (WebCore):
1132         (LocalStorageDatabaseTracker):
1133         * UIProcess/Storage/StorageManager.cpp:
1134         (WebKit::StorageManager::StorageArea::StorageArea):
1135         (WebKit::StorageManager::setLocalStorageDirectory):
1136         * UIProcess/Storage/StorageManager.h:
1137         (StorageManager):
1138
1139 2013-05-06  Manuel Rego Casasnovas  <rego@igalia.com>
1140
1141         [GTK] Add webkit_uri_scheme_request_finish_error
1142         https://bugs.webkit.org/show_bug.cgi?id=94316
1143
1144         Reviewed by Anders Carlsson.
1145
1146         This new method will allow to finish WebKitURISchemeRequest with a
1147         GError that will be passed to the WebKitWebView through the
1148         "load-failed" signal.
1149
1150         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
1151         (webkit_uri_scheme_request_finish_error): Implement new method using
1152         WebSoupRequestManagerProxy::didFailURIRequest().
1153         * UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
1154         * UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new
1155         method in the code example at webkit_web_context_register_uri_scheme()
1156         documentation.
1157         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
1158         method.
1159         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
1160         (loadFailedCallback): Set m_error to monitor it from the tests.
1161         (LoadTrackingTest::loadURI): Clear m_error before each load.
1162         (LoadTrackingTest::loadHtml): Ditto.
1163         (LoadTrackingTest::loadPlainText): Ditto.
1164         (LoadTrackingTest::loadRequest): Ditto.
1165         (LoadTrackingTest::reload): Ditto.
1166         (LoadTrackingTest::goBack): Ditto.
1167         (LoadTrackingTest::goForward): Ditto.
1168         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
1169         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
1170         (testWebContextURIScheme): Modify test to check the behavior of the new
1171         method.
1172         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
1173         (WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
1174         (WebKit): Implement new method using
1175         WebSoupRequestManager::DidFailURIRequest().
1176         * UIProcess/soup/WebSoupRequestManagerProxy.h:
1177         (WebSoupRequestManagerProxy): Add new method header.
1178         * WebProcess/soup/WebSoupRequestManager.cpp:
1179         (WebKit):
1180         (WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
1181         setting the error and completing the request.
1182         * WebProcess/soup/WebSoupRequestManager.h:
1183         (WebSoupRequestManager): Add new method header.
1184         * WebProcess/soup/WebSoupRequestManager.messages.in: Add new method
1185         signature.
1186
1187 2013-05-06  Anders Carlsson  <andersca@apple.com>
1188
1189         Every LocalStorageDatabase should know about its tracker
1190         https://bugs.webkit.org/show_bug.cgi?id=115673
1191
1192         Reviewed by Andreas Kling.
1193
1194         * UIProcess/Storage/LocalStorageDatabase.cpp:
1195         (WebKit::LocalStorageDatabase::create):
1196         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
1197         * UIProcess/Storage/LocalStorageDatabase.h:
1198         * UIProcess/Storage/StorageManager.cpp:
1199         (WebKit::StorageManager::StorageArea::StorageArea):
1200
1201 2013-05-06  Anders Carlsson  <andersca@apple.com>
1202
1203         Add LocalStorageDatabaseTracker class
1204         https://bugs.webkit.org/show_bug.cgi?id=115671
1205
1206         Reviewed by Andreas Kling.
1207
1208         Somewhat unsurprisingly, this class will be used for tracking local storage databases.
1209
1210         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.
1211         (WebKit::LocalStorageDatabaseTracker::create):
1212         (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
1213         (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
1214         * UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.
1215         (LocalStorageDatabaseTracker):
1216         
1217         * UIProcess/Storage/StorageManager.cpp:
1218         (WebKit::StorageManager::StorageManager):
1219         Create a local storage database tracker.
1220
1221         * WebKit2.xcodeproj/project.pbxproj:
1222         Add new files.
1223
1224 2013-05-06  Anders Carlsson  <andersca@apple.com>
1225
1226         Handle closing the local storage database
1227         https://bugs.webkit.org/show_bug.cgi?id=115669
1228
1229         Reviewed by Beth Dakin.
1230
1231         * UIProcess/Storage/LocalStorageDatabase.cpp:
1232         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
1233         Initialize m_isClosed.
1234     
1235         (WebKit::LocalStorageDatabase::~LocalStorageDatabase):
1236         Assert that m_isClosed is false.
1237
1238         (WebKit::LocalStorageDatabase::close):
1239         Set m_isClosed to true and write any pending changes to disk.
1240
1241         (WebKit::LocalStorageDatabase::updateDatabase):
1242         Compute the changed items and pass them to updateDatabaseWithChangedItems.
1243
1244         (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
1245         Split out the code that actually writes to the database from updateDatabase and into this function.
1246
1247         * UIProcess/Storage/LocalStorageDatabase.h:
1248         * UIProcess/Storage/StorageManager.cpp:
1249         (WebKit::StorageManager::StorageArea::~StorageArea):
1250         Call close().
1251
1252 2013-05-06  Zan Dobersek  <zdobersek@igalia.com>
1253
1254         [WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
1255         https://bugs.webkit.org/show_bug.cgi?id=115654
1256
1257         Reviewed by Andreas Kling.
1258
1259         Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
1260         to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
1261         construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
1262
1263         * UIProcess/API/C/WKContext.cpp:
1264         (WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.
1265         * UIProcess/WebContext.cpp:
1266         (WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
1267         the now-removed member variable.
1268         (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
1269         supplements vector.
1270         (WebKit::WebContext::disconnectProcess): Ditto.
1271         * UIProcess/WebContext.h:
1272         (WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.
1273         * UIProcess/WebNetworkInfoManagerProxy.cpp:
1274         (WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
1275         (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
1276         (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
1277         accessing the private m_context directly.
1278         (WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
1279         (WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
1280         (WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
1281         (WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.
1282         * UIProcess/WebNetworkInfoManagerProxy.h:
1283         (WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
1284
1285 2013-05-06  Alexey Proskuryakov  <ap@apple.com>
1286
1287         <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
1288         https://bugs.webkit.org/show_bug.cgi?id=115483
1289
1290         Reviewed by Darin Adler.
1291
1292         * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it
1293         in multiple places, so it's easier to pre-compute it.
1294
1295         * PluginProcess/mac/PluginProcessMac.mm:
1296         (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID.
1297         (WebKit::loadSandboxProfile): Ditto.
1298         (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID.
1299         (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices.
1300         (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of
1301         a path.
1302
1303 2013-05-06  Anders Carlsson  <andersca@apple.com>
1304
1305         Handle removeItem and clear in LocalStorageDatabase
1306         https://bugs.webkit.org/show_bug.cgi?id=115664
1307
1308         Reviewed by Darin Adler.
1309
1310         * UIProcess/Storage/LocalStorageDatabase.cpp:
1311         (WebKit::LocalStorageDatabase::removeItem):
1312         Call itemDidChange with a null value, indicating that we want to remove this item.
1313
1314         (WebKit::LocalStorageDatabase::clear):
1315         Clear items, set m_shouldClearItems and schedule a database update.
1316
1317         (WebKit::LocalStorageDatabase::updateDatabase):
1318         If m_shouldClearItems is true, clear all items.
1319
1320         * UIProcess/Storage/StorageManager.cpp:
1321         (WebKit::StorageManager::StorageArea::removeItem):
1322         Call through to the local storage database.
1323
1324         (WebKit::StorageManager::StorageArea::clear):
1325         Ditto.
1326
1327 2013-05-06  Anders Carlsson  <andersca@apple.com>
1328
1329         Write storage changes to disk
1330         https://bugs.webkit.org/show_bug.cgi?id=115660
1331
1332         Reviewed by Andreas Kling.
1333
1334         * UIProcess/Storage/LocalStorageDatabase.cpp:
1335         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
1336         Initialize new member variables.
1337
1338         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
1339         Disable database threading checks.
1340
1341         (WebKit::LocalStorageDatabase::importItems):
1342         Only import the items once.
1343
1344         (WebKit::LocalStorageDatabase::setItem):
1345         Call itemDidChange.
1346
1347         (WebKit::LocalStorageDatabase::itemDidChange):
1348         Record the change and schedule a database update.
1349
1350         (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
1351         Use WorkQueue::dispatchAfterDelay to schedule a datbase update.
1352
1353         (WebKit::LocalStorageDatabase::updateDatabase):
1354         Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule
1355         another database update for the remaining items.
1356
1357         * UIProcess/Storage/LocalStorageDatabase.h:
1358         Add new member variables.
1359
1360         * UIProcess/Storage/StorageManager.cpp:
1361         (WebKit::StorageManager::StorageArea::setItem):
1362         Call LocalStorageDatabase::setItem.
1363
1364 2013-05-06  Zan Dobersek  <zdobersek@igalia.com>
1365
1366         [WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
1367         https://bugs.webkit.org/show_bug.cgi?id=115625
1368
1369         Reviewed by Andreas Kling.
1370
1371         Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy
1372         to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
1373         construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
1374
1375         * UIProcess/API/C/WKContext.cpp:
1376         (WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext.
1377         * UIProcess/WebBatteryManagerProxy.cpp:
1378         (WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name.
1379         (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable.
1380         (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing
1381         the private m_context directly.
1382         (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto.
1383         (WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked.
1384         (WebKit::WebBatteryManagerProxy::processDidClose): Ditto.
1385         (WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref.
1386         (WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref.
1387         (WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating.
1388         (WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating.
1389         * UIProcess/WebBatteryManagerProxy.h:
1390         (WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
1391         * UIProcess/WebContext.cpp:
1392         (WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to
1393         the now-removed member variable.
1394         (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
1395         supplements vector.
1396         (WebKit::WebContext::disconnectProcess): Ditto.
1397         * UIProcess/WebContext.h:
1398         (WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method.
1399
1400 2013-05-06  Antoine Quint  <graouts@apple.com>
1401
1402         Manage the presentation of the snapshotted plug-in using JavaScript
1403         https://bugs.webkit.org/show_bug.cgi?id=115548
1404
1405         Reviewed by Dean Jackson.
1406
1407         Expose a new plugInExtraScript method to support the injection of
1408         a JS file from the chrome client to customize the rendering of a
1409         snapshotted plug-in's shadow tree. Additionally, it is expected
1410         the chrome client will want to provide localized strings taking
1411         into account the snapshotted plug-in's mime-type, so we're adding
1412         this as a parameter to both plugInStartLabelTitle and
1413         plugInStartLabelSubtitle methods.
1414
1415         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1416         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1417         (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
1418         (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
1419         (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
1420         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1421         (InjectedBundlePageUIClient):
1422         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1423         (WebKit::WebChromeClient::plugInStartLabelTitle):
1424         (WebKit::WebChromeClient::plugInStartLabelSubtitle):
1425         (WebKit::WebChromeClient::plugInExtraScript):
1426         * WebProcess/WebCoreSupport/WebChromeClient.h:
1427         (WebChromeClient):
1428
1429 2013-05-05  Chris Fleizach  <cfleizach@apple.com>
1430
1431         WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
1432         https://bugs.webkit.org/show_bug.cgi?id=115621
1433
1434         Reviewed by Alexey Proskuryakov.
1435
1436         Allow access to the location where 3rd party speech synthesizers are stored.
1437
1438         * WebProcess/com.apple.WebProcess.sb.in:
1439
1440 2013-05-05  Tim Horton  <timothy_horton@apple.com>
1441
1442         [wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
1443         https://bugs.webkit.org/show_bug.cgi?id=115577
1444         <rdar://problem/13762583>
1445
1446         Reviewed by Darin Adler.
1447
1448         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1449         (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
1450         Invalidate the page overlay layers' device scale factor when
1451         TiledCoreAnimationDrawingArea is notified that it has changed.
1452
1453 2013-05-05  Anders Carlsson  <andersca@apple.com>
1454
1455         Remove the Vector::append overload that takes a Vector
1456         https://bugs.webkit.org/show_bug.cgi?id=115535
1457
1458         Reviewed by Andreas Kling.
1459
1460         Use Vector::appendVector instead.
1461
1462         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
1463         (WebKit::NetworkBlobRegistry::registerBlobURL):
1464         * NetworkProcess/SchedulableLoader.cpp:
1465         (WebKit::SchedulableLoader::SchedulableLoader):
1466         * Platform/CoreIPC/Connection.cpp:
1467         (CoreIPC::Connection::SyncMessageState::dispatchMessages):
1468         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
1469         (WebKit::PluginInfoStore::pluginsDirectories):
1470
1471 2013-05-04  Sam Weinig  <sam@webkit.org>
1472
1473         Fix * placement in a few functions as noticed by Mark Rowe.
1474
1475         Rubber-stamped by Dan Bernstein.
1476
1477         * WebProcess/WebPage/PageBanner.h:
1478         (PageBanner):
1479         * WebProcess/WebPage/mac/PageBannerMac.mm:
1480         (WebKit::PageBanner::create):
1481         (WebKit::PageBanner::PageBanner):
1482
1483 2013-05-04  Sam Weinig  <sam@webkit.org>
1484
1485         REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
1486         <rdar://problem/13702008>
1487         https://bugs.webkit.org/show_bug.cgi?id=115607
1488
1489         Reviewed by Benjamin Poulain.
1490
1491         API Test: WebKit2.CloseThenTerminate
1492
1493         * UIProcess/WebPageProxy.cpp:
1494         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1495         Don't try to reset the state if the page is closed, it won't work and its not worth it.
1496
1497 2013-05-04  Beth Dakin  <bdakin@apple.com>
1498
1499         https://bugs.webkit.org/show_bug.cgi?id=115574
1500         Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null
1501
1502         Reviewed by Darin Adler.
1503
1504         Don't call addToPage() on a null banner.
1505         * WebProcess/WebPage/WebPage.cpp:
1506         (WebKit::WebPage::setHeaderPageBanner):
1507         (WebKit::WebPage::setFooterPageBanner):
1508
1509 2013-05-03  Alexey Proskuryakov  <ap@apple.com>
1510
1511         <rdar://problem/13806836> Tweak sandbox profile.
1512
1513         Reviewed by Dan Bernstein.
1514
1515         * WebProcess/com.apple.WebProcess.sb.in:
1516
1517 2013-05-03  Tim Horton  <timothy_horton@apple.com>
1518
1519         PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported
1520         https://bugs.webkit.org/show_bug.cgi?id=115544
1521         <rdar://problem/13801789>
1522
1523         Reviewed by Alexey Proskuryakov.
1524
1525         Commit changes to the active annotation (if there is one) before
1526         returning the live PDF data, so that said changes are represented
1527         in the exported or printed output.
1528
1529         * WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData.
1530         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1531         (WebKit::PDFPlugin::liveData): Commit the active annotation if there is one.
1532         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
1533         (SimplePDFPlugin): Make liveData virtual.
1534
1535 2013-05-03  Tim Horton  <timothy_horton@apple.com>
1536
1537         Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
1538         https://bugs.webkit.org/show_bug.cgi?id=115056
1539         <rdar://problem/13719543>
1540
1541         Reviewed by Simon Fraser.
1542
1543         Null-check m_page. In theory, we shouldn't get here, because we stop
1544         the timer at the only point where m_page is cleared, but crash logs say
1545         we're still crashing here.
1546
1547         * WebProcess/WebPage/WebPage.cpp:
1548         (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
1549
1550 2013-05-03  Tim Horton  <timothy_horton@apple.com>
1551
1552         Remove some "what" comments from FindController
1553         https://bugs.webkit.org/show_bug.cgi?id=115546
1554
1555         Reviewed by Andreas Kling.
1556
1557         * WebProcess/WebPage/FindController.cpp:
1558         (WebKit::FindController::countStringMatches):
1559         (WebKit::FindController::updateFindUIAfterPageScroll):
1560         (WebKit::FindController::willMoveToWebPage):
1561         (WebKit::FindController::mouseEvent):
1562         Remove or reword some comments.
1563
1564 2013-05-02  Andy Estes  <aestes@apple.com>
1565
1566         [WK2][CustomProtocols] NSURLProtocolClient methods should be dispatched on NSURLConnection's resource loader run loop
1567         https://bugs.webkit.org/show_bug.cgi?id=115539
1568
1569         Reviewed by Alexey Proskuryakov.
1570
1571         It turns out that calling NSURLProtocolClient methods from a different
1572         thread than the one running the NSURLConnection run loop is unsafe.
1573         Although I can't capture it reliably in a test case, doing so can
1574         sometimes result in a load timing out because the call to
1575         -[NSURLProtocolClient URLProtocolDidFinishLoading:] was ignored by
1576         NSURLConnection.
1577
1578         Fix this by dispatching these methods on the NSURLConnection resource
1579         load run loop. This matches where NSURLProtocolClient methods are
1580         dispatched by typical NSURLProtocol implementations, and in my testing
1581         this solves the timeout issue.
1582
1583         * Shared/Network/CustomProtocols/CustomProtocolManager.h: Declare
1584         dispatchOnResourceLoaderRunLoop().
1585         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
1586         Declare +[NSURLConnection resourceLoaderRunLoop] on a category of
1587         NSURLConnection. Also include the header that declares it if it's present.
1588         (WebKit::CustomProtocolManager::didFailWithError): Call the
1589         NSURLProtocolClient method via dispatchOnResourceLoaderRunLoop().
1590         (WebKit::CustomProtocolManager::didLoadData): Ditto.
1591         (WebKit::CustomProtocolManager::didReceiveResponse): Ditto.
1592         (WebKit::CustomProtocolManager::didFinishLoading): Ditto.
1593         (WebKit::CustomProtocolManager::dispatchOnResourceLoaderRunLoop):
1594         Dispatch a block on the NSURLConnection resource loader run loop and
1595         then wake up the run loop.
1596
1597 2013-05-02  Brady Eidson  <beidson@apple.com>
1598
1599         REGRESSION (149389) Main resources converted to downloads are immediately cancelled.
1600         <rdar://problem/13795795> and https://bugs.webkit.org/show_bug.cgi?id=115530
1601
1602         Reviewed by Alexey Proskuryakov.
1603
1604         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1605         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): Call didConvertHandleToDownload
1606           on the NetworkResourceLoader.
1607
1608         * NetworkProcess/NetworkResourceLoader.cpp:
1609         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
1610         (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Set m_handleConvertedToDownload to true.
1611         (WebKit::NetworkResourceLoader::abort): Only cancel the handle if m_handleConvertedToDownload is false.
1612         * NetworkProcess/NetworkResourceLoader.h:
1613
1614 2013-05-02  Alexey Proskuryakov  <ap@apple.com>
1615
1616         <rdar://problem/13740375> Non-ASCII downloaded file names are garbled when using NetworkProcess
1617         https://bugs.webkit.org/show_bug.cgi?id=115520
1618
1619         Reviewed by Darin Adler.
1620
1621         * Shared/mac/WebCoreArgumentCodersMac.mm:
1622         (CoreIPC::::encodePlatformData):
1623         (CoreIPC::::decodePlatformData):
1624         Send the encoding fallback array over IPC, so that it's present when NetworkProcess does its loading.
1625
1626 2013-05-01  Alexey Proskuryakov  <ap@apple.com>
1627
1628         REGRESSION (r149422): -[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]
1629         broken when second argument is nil
1630         https://bugs.webkit.org/show_bug.cgi?id=115505
1631         <rdar://problem/13787297>
1632
1633         Reviewed by Darin Adler.
1634
1635         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile): Pass a URL string
1636         to assumeReadAccessToBaseURL, as this is what it takes.
1637
1638 2013-05-01  Ryosuke Niwa  <rniwa@webkit.org>
1639
1640         [Mac] WebKit doesn't enable or disable autocorrections when system preferences are changed
1641         https://bugs.webkit.org/show_bug.cgi?id=115463
1642
1643         Reviewed by Darin Adler.
1644
1645         Observe the default notification center and propagate the changes to TextCheckerState and
1646         to all WebProcesses when system preferences are updated.
1647
1648         * UIProcess/TextChecker.h:
1649         * UIProcess/WebContext.h:
1650         * UIProcess/mac/TextCheckerMac.mm:
1651         (WebKit::shouldAutomaticTextReplacementBeEnabled):
1652         (WebKit::shouldAutomaticSpellingCorrectionBeEnabled):
1653         (WebKit::shouldAutomaticQuoteSubstitutionBeEnabled):
1654         (WebKit::shouldAutomaticDashSubstitutionBeEnabled):
1655         (WebKit::initializeState):
1656         (WebKit::TextChecker::didChangeAutomaticTextReplacementEnabled):
1657         (WebKit::TextChecker::didChangeAutomaticSpellingCorrectionEnabled):
1658         (WebKit::TextChecker::didChangeAutomaticQuoteSubstitutionEnabled):
1659         (WebKit::TextChecker::didChangeAutomaticDashSubstitutionEnabled):
1660         * UIProcess/mac/WebContextMac.mm:
1661         (WebKit::WebContext::registerNotificationObservers):
1662         (WebKit::WebContext::unregisterNotificationObservers):
1663
1664 2013-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
1665
1666         [GTK] Fix build break after r149449
1667         https://bugs.webkit.org/show_bug.cgi?id=115500
1668
1669         Reviewed by Gustavo Noronha Silva.
1670
1671         Unreviewed GTK build fix
1672
1673         * GNUmakefile.list.am: Added LocalStorageDatabase.[cpp|h] to the list of
1674         sources.
1675
1676 2013-05-01  Martin Robinson  <mrobinson@igalia.com>
1677
1678         [GTK] [WebKit2] Documentation for webkit_web_view_run_javascript should indicate what happens when JavaScript is disabled
1679         https://bugs.webkit.org/show_bug.cgi?id=115492
1680
1681         Reviewed by Xan Lopez.
1682
1683         * UIProcess/API/gtk/WebKitWebView.cpp: Clarify the documentation.
1684
1685 2013-05-01  Tim Horton  <timothy_horton@apple.com>
1686
1687         Move knowledge of PDF/PostScript MIME types into MIMETypeRegistry
1688         https://bugs.webkit.org/show_bug.cgi?id=115487
1689
1690         Reviewed by Darin Adler.
1691
1692         * UIProcess/WebContext.cpp:
1693         * UIProcess/WebContext.h:
1694         Remove pdfAndPostScriptMIMETypes.
1695
1696         * UIProcess/WebFrameProxy.cpp:
1697         (WebKit::WebFrameProxy::canShowMIMEType): Move PDF bits to WebPageProxy.
1698         (WebKit::WebFrameProxy::isDisplayingPDFDocument):
1699         Make use of WebCore's newfound knowledge of PDF and PostScript MIME types,
1700         so we don't have to duplicate it unnecessarily in WebKit2.
1701
1702         * UIProcess/WebPageProxy.cpp:
1703         (WebKit::WebPageProxy::canShowMIMEType):
1704         Add code which used to be in WebFrameProxy::canShowMIMEType, and adapt it
1705         to use WebCore's knowledge of PDF and PostScript MIME types.
1706
1707         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
1708         (WebKit::SimplePDFPlugin::pluginInfo):
1709         We previously supported the "text/pdf" MIME type for PDFViewController,
1710         so SimplePDFPlugin and PDFPlugin should support it as well.
1711
1712         * WebProcess/WebPage/WebPage.cpp:
1713         (WebKit::WebPage::createPlugin):
1714         Adopt MIMETypeRegistry::isPDFOrPostScriptMIMEType.
1715
1716         * WebProcess/WebPage/WebPage.h:
1717         (WebPage):
1718         Remove pdfAndPostScriptMIMETypes.
1719
1720         * WebProcess/WebPage/mac/WebPageMac.mm:
1721         (WebKit::WebPage::platformPreferencesDidChange):
1722         Adopt getPDFAndPostScriptMIMETypes instead of duplicating the list in WebKit2.
1723
1724 2013-05-01  Anders Carlsson  <andersca@apple.com>
1725
1726         Implement LocalStorageDatabase::importItems
1727         https://bugs.webkit.org/show_bug.cgi?id=115493
1728
1729         Reviewed by Andreas Kling.
1730
1731         Fetch items and insert them in the storage map.
1732         * UIProcess/Storage/LocalStorageDatabase.cpp:
1733         (WebKit::LocalStorageDatabase::importItems):
1734
1735 2013-05-01  Anders Carlsson  <andersca@apple.com>
1736
1737         Begin work on loading items from the local storage database
1738         https://bugs.webkit.org/show_bug.cgi?id=115489
1739
1740         Reviewed by Andreas Kling.
1741
1742         Some of the LocalStorageDatabase code is originally from WebCore,
1743         but has been simplified due to the fact that we don't need to load
1744         database data asynchronously since we're already running on a non-main thread.
1745
1746         * UIProcess/Storage/LocalStorageDatabase.cpp:
1747         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
1748         (WebKit::LocalStorageDatabase::openDatabase):
1749         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
1750         (WebKit::LocalStorageDatabase::migrateItemTableIfNeeded):
1751         (WebKit::LocalStorageDatabase::importItems):
1752
1753         * UIProcess/Storage/LocalStorageDatabase.h:
1754         (WebKit::StorageManager::StorageArea::setItem):
1755         (WebKit::StorageManager::StorageArea::removeItem):
1756         (WebKit::StorageManager::StorageArea::clear):
1757         (WebKit::StorageManager::StorageArea::items):
1758         Call importItemsFromDatabase().
1759         
1760         (WebKit::StorageManager::StorageArea::importItemsFromDatabase):
1761         Ask the database to import the items.
1762
1763 2013-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
1764
1765         [EFL] Unreviewed buildfix after r149449.
1766
1767         * CMakeLists.txt:
1768
1769 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1770
1771         [Qt] Unreviewed buildfix after r149449.
1772
1773         * Target.pri:
1774
1775 2013-05-01  Anders Carlsson  <andersca@apple.com>
1776
1777         Add LocalStorageDatabase class
1778         https://bugs.webkit.org/show_bug.cgi?id=115486
1779
1780         Reviewed by Sam Weinig.
1781
1782         The LocalStorageDatabase class will persist local storage data to disk.
1783
1784         * UIProcess/Storage/LocalStorageDatabase.cpp:
1785         * UIProcess/Storage/LocalStorageDatabase.h: Added.
1786
1787         * UIProcess/Storage/StorageManager.cpp:
1788         (StorageManager::StorageArea):
1789         (WebKit::StorageManager::LocalStorageNamespace::storageManager):
1790         Add getter.
1791
1792         (StorageManager::LocalStorageNamespace):
1793         (WebKit::StorageManager::StorageArea::StorageArea):
1794         If this is a local storage area, create a LocalStorageDatabase.
1795
1796         (WebKit::StorageManager::LocalStorageNamespace::databaseFilename):
1797         Helper function for getting the name of the database for the given origin.
1798
1799         * WebKit2.xcodeproj/project.pbxproj:
1800         Add new files.
1801
1802 2013-05-01  Alexey Proskuryakov  <ap@apple.com>
1803
1804         <rdar://problem/13781156> Launching NetworkProcess broken on some OS versions.
1805
1806         Reviewed by Anders Carlsson.
1807
1808         Adapt to LaunchServices changes.
1809
1810         * Shared/mac/ChildProcessMac.mm:
1811         (WebKit::ChildProcess::setApplicationIsDaemon):
1812
1813 2013-05-01  Martin Robinson  <mrobinson@igalia.com>
1814
1815         [GTK] [WebKit2] Add a setting to control whether or not accelerated 2D canvas is enabled
1816         https://bugs.webkit.org/show_bug.cgi?id=114394
1817
1818         Reviewed by Anders Carlsson.
1819
1820         Add a setting to control accelerated 2D canvas, which determines whether
1821         or not to consider rendering HTML canvas with hardware acceleration.
1822
1823         * UIProcess/API/gtk/WebKitSettings.cpp:
1824         (webKitSettingsSetProperty): Added support for enable-accelerated-2d-canvas property.
1825         (webKitSettingsGetProperty): Added support for enable-accelerated-2d-canvas property.
1826         (webkit_settings_class_init): Added support for enable-accelerated-2d-canvas property.
1827         (webkit_settings_get_enable_accelerated_2d_canvas): Added.
1828         (webkit_settings_set_enable_accelerated_2d_canvas): Added.
1829         * UIProcess/API/gtk/WebKitSettings.h: New methods.
1830         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to the documentation.
1831         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1832         (testWebKitSettings): Added a simple test for the setting.
1833
1834 2013-04-30  Jer Noble  <jer.noble@apple.com>
1835
1836         Entering full screen mode shows desktop linen instead of WKView the first time.
1837         https://bugs.webkit.org/show_bug.cgi?id=115433
1838         <rdar://problem/13774540>
1839
1840         Reviewed by Eric Carlson.
1841
1842         For certain types of windows created by subclasses of WKView, the window in question fails to paint
1843         when created with a zero-size rect. Create the window with an initial size of the active screen frame
1844         as that is the likely destination size.
1845
1846         * UIProcess/API/mac/WKView.mm:
1847         (-[WKView createFullScreenWindow]):
1848
1849 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1850
1851         [Qt][Win] Fix build after r149416.
1852         https://bugs.webkit.org/show_bug.cgi?id=115474
1853
1854         Reviewed by Anders Carlsson.
1855
1856         * Platform/CoreIPC/Connection.h:
1857         (Connection):
1858         * Platform/CoreIPC/win/ConnectionWin.cpp:
1859         (CoreIPC::Connection::dispatchSentMessagesUntil):
1860
1861 2013-05-01  Sergio Villar Senin  <svillar@igalia.com>
1862
1863         Unreviewed GTK build fix after r149417.
1864
1865         * GNUmakefile.list.am: Added PageBanner.[cpp|h] to the list of
1866         sources.
1867
1868 2013-05-01  Ryuan Choi  <ryuan.choi@samsung.com>
1869
1870         [EFL] Unreviewed buildfix after r149416 and r149417.
1871
1872         Unreviewed build fix.
1873
1874         * CMakeLists.txt:
1875
1876 2013-05-01  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1877
1878         [Qt] Unreviewed buildfix after r149416 and r149417.
1879
1880         * Target.pri:
1881
1882 2013-04-30  Dongwoo Joshua Im  <dw.im@samsung.com>
1883
1884         [EFL] Unreviewed, EFL build fix after r149416
1885         https://bugs.webkit.org/show_bug.cgi?id=115467
1886
1887         Unreviewed build fix.
1888
1889         * CMakeLists.txt: Remove non-existing file, BinarySemaphore.cpp, from the list.
1890
1891 2013-04-30  Simon Cooper  <scooper@apple.com>
1892
1893         ipc-posix-shm backwards compatibility 
1894         https://bugs.webkit.org/show_bug.cgi?id=115448
1895         <rdar://problem/13743037>
1896
1897         Reviewed by Alexey Proskuryakov.
1898
1899         Add compatibility for older ipc-posix-shm operations, but prefer the
1900         newer names when writing profiles.
1901
1902         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1903
1904 2013-04-30  Philippe Normand  <pnormand@igalia.com>
1905
1906         Unreviewed, GTK build fix after r149416.
1907
1908         * GNUmakefile.list.am: Remove references to non-existant
1909         BinarySemaphore module.
1910
1911 2013-04-28  Alexey Proskuryakov  <ap@apple.com>
1912
1913         <rdar://problem/13574729> Implement file path restrictions in WebKit Objective C API
1914         https://bugs.webkit.org/show_bug.cgi?id=115321
1915
1916         Reviewed by Darin Adler.
1917
1918         * UIProcess/API/C/WKPage.cpp:
1919         * UIProcess/API/C/WKPage.h: 
1920         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile):
1921         * UIProcess/WebPageProxy.h:
1922         Added and implemented a C API to load a file while only opening sandbox for
1923         a specific directory.
1924
1925         * UIProcess/API/mac/WKBrowsingContextController.h: Fixed a typo in a comment.
1926
1927         * UIProcess/API/mac/WKBrowsingContextController.mm:
1928         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
1929         Respect allowedDirectory argument. Updated the function to raise an exception for
1930         incorrect input, as decribed in header file.
1931
1932 2013-04-29  Sam Weinig  <sam@webkit.org>
1933
1934         Add API to allow WebKit2 banners to get mouse events
1935         https://bugs.webkit.org/show_bug.cgi?id=115395
1936
1937         Reviewed by Beth Dakin.
1938
1939         * Shared/API/c/WKBase.h:
1940         * Shared/APIObject.h:
1941         Add banner type.
1942
1943         * WebKit2.xcodeproj/project.pbxproj:
1944         Add files.
1945
1946         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
1947         Add conversion.
1948
1949         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1950         (WKBundlePageSetTopOverhangImage):
1951         (WKBundlePageSetBottomOverhangImage):
1952         Fix parameter names to be consistent.
1953
1954         (WKBundlePageSetHeaderBanner):
1955         (WKBundlePageSetFooterBanner):
1956         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1957         * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.cpp: Added.
1958         (WKBundlePageBannerGetTypeID):
1959         * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Added.
1960         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h: Added.
1961         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Added.
1962         (PageBannerClientImpl):
1963         (PageBannerClientImpl::create):
1964         (PageBannerClientImpl::PageBannerClientImpl):
1965         (PageBannerClientImpl::pageBannerDestroyed):
1966         (PageBannerClientImpl::mouseEvent):
1967         (WKBundlePageBannerCreateBannerWithCALayer):
1968         (WKBundlePageBannerGetLayer):
1969         Add banner API.
1970
1971         * WebProcess/WebPage/PageBanner.h: Added.
1972         * WebProcess/WebPage/PageBanner.cpp: Added.
1973         (WebKit::PageBanner::~PageBanner):
1974         (WebKit::PageBanner::addToPage):
1975         (WebKit::PageBanner::detachFromPage):
1976         (WebKit::PageBanner::didChangeDeviceScaleFactor):
1977         (WebKit::PageBanner::mouseEvent):
1978         Add non-mac implementations.
1979
1980         * WebProcess/WebPage/WebPage.cpp:
1981         (WebKit::WebPage::~WebPage):
1982         (WebKit::WebPage::setHeaderPageBanner):
1983         (WebKit::WebPage::headerPageBanner):
1984         (WebKit::WebPage::setFooterPageBanner):
1985         (WebKit::WebPage::footerPageBanner):
1986         (WebKit::WebPage::mouseEvent):
1987         (WebKit::WebPage::mouseEventSyncForTesting):
1988         * WebProcess/WebPage/WebPage.h:
1989         Add banner setter/getters and give the banners a chance to handle mouse events.
1990
1991         * WebProcess/WebPage/mac/PageBannerMac.mm: Added.
1992         (WebKit::PageBanner::create):
1993         (WebKit::PageBanner::PageBanner):
1994         (WebKit::PageBanner::addToPage):
1995         (WebKit::PageBanner::detachFromPage):
1996         (WebKit::PageBanner::didChangeDeviceScaleFactor):
1997         (WebKit::PageBanner::mouseEvent):
1998         (WebKit::PageBanner::layer):
1999         Add Mac implementation.
2000
2001         * WebProcess/WebPage/mac/WebPageMac.mm:
2002         (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
2003         Notify banners when the device scale changes.
2004
2005 2013-04-30  Anders Carlsson  <andersca@apple.com>
2006
2007         Remove the WebKit2 BinarySemaphore class
2008         https://bugs.webkit.org/show_bug.cgi?id=115458
2009
2010         Reviewed by Benjamin Poulain.
2011
2012         Remove the WK2 specific BinarySemaphore class and use the one from WTF.
2013
2014         * Platform/CoreIPC/BinarySemaphore.cpp: Removed.
2015         * Platform/CoreIPC/BinarySemaphore.h: Removed.
2016         * Platform/CoreIPC/Connection.cpp:
2017         * Platform/CoreIPC/Connection.h:
2018         * WebKit2.xcodeproj/project.pbxproj:
2019
2020 2013-04-30  Alexey Proskuryakov  <ap@apple.com>
2021
2022         <rdar://problem/13757475> WebProcess deny ipc-posix-shm-read-data CFPBS:A2:
2023
2024         Reviewed by Anders Carlsson.
2025
2026         * WebProcess/com.apple.WebProcess.sb.in: Allow pbs shared memory.
2027
2028 2013-04-30  Alexey Proskuryakov  <ap@apple.com>
2029
2030         [Mac] Don't open window server connection in network process
2031         https://bugs.webkit.org/show_bug.cgi?id=115446
2032
2033         Reviewed by Anders Carlsson.
2034
2035         * NetworkProcess/NetworkProcess.cpp:
2036         (WebKit::NetworkProcess::initializeProcess):
2037         * NetworkProcess/NetworkProcess.h:
2038         * NetworkProcess/mac/NetworkProcessMac.mm:
2039         (WebKit::NetworkProcess::initializeProcess):
2040         (WebKit::NetworkProcess::initializeProcessName):
2041         Instead of shutting down a connection after setting process name, just prevent
2042         it from being created.
2043
2044         * Shared/ChildProcess.h:
2045         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::setApplicationIsDaemon):
2046         Expose a function for client processes to call if they don't run an NSApplication
2047         run loop.
2048
2049         * OfflineStorageProcess/OfflineStorageProcess.cpp:
2050         (WebKit::OfflineStorageProcess::initializeProcess):
2051         * OfflineStorageProcess/OfflineStorageProcess.h:
2052         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
2053         (WebKit::OfflineStorageProcess::initializeProcess):
2054         (WebKit::OfflineStorageProcess::initializeProcessName):
2055         * SharedWorkerProcess/SharedWorkerProcess.cpp:
2056         (WebKit::SharedWorkerProcess::initializeProcess):
2057         (WebKit::SharedWorkerProcess::initializeProcessName):
2058         * SharedWorkerProcess/SharedWorkerProcess.h:
2059         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
2060         (WebKit::SharedWorkerProcess::initializeProcess):
2061         (WebKit::SharedWorkerProcess::initializeProcessName):
2062         Match NetworkProcess for consistency.
2063
2064         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::initializeProcessName):
2065         Don't null check UI process name. First, it can't be null, and second, some other
2066         processes already don't have this check.
2067
2068 2013-04-30  Tim Horton  <timothy_horton@apple.com>
2069
2070         Disable deprecation warnings around some NSProcessInfo API.
2071
2072         Rubber-stamped by Brady Eidson.
2073
2074         * Shared/mac/ChildProcessMac.mm:
2075         (WebKit::ChildProcess::setProcessSuppressionEnabled):
2076
2077 2013-04-30  Brady Eidson  <beidson@apple.com>
2078
2079         [WK2] Threads get stuck in NetworkProcess when canceling loads in WebProcess.
2080         <rdar://problem/13757687> and https://bugs.webkit.org/show_bug.cgi?id=115319
2081
2082         Written and reviewed by both Alexey Proskuryakov and Brady Eidson.
2083
2084         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2085         (WebKit::NetworkConnectionToWebProcess::didClose): Call abort() on all loaders
2086           instead of connectionToWebProcessDidClose()
2087         (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Instead of removing
2088           the loader from the scheduler, call abort() which will also end up removing it.
2089
2090         * NetworkProcess/SchedulableLoader.h: Add a virtual abort() call.
2091
2092         * NetworkProcess/NetworkResourceLoader.cpp:
2093         (WebKit::NetworkResourceLoader::sendAbortingOnFailure): Added a messageFlags argument so 
2094           callers can pass DispatchMessageEvenWhenWaitingForSyncReply.
2095         (WebKit::NetworkResourceLoader::abort): Combined "abortInProgressLoad" and "cleanup" to
2096           be a general purpose "cancel"
2097         (WebKit::NetworkResourceLoader::didReceiveBuffer):
2098         (WebKit::NetworkResourceLoader::willSendRequestAsync):
2099         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
2100         * NetworkProcess/NetworkResourceLoader.h:
2101
2102         * NetworkProcess/SyncNetworkResourceLoader.cpp:
2103         (WebKit::SyncNetworkResourceLoader::abort):
2104         * NetworkProcess/SyncNetworkResourceLoader.h:
2105
2106         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2107         (WebKit::WebResourceLoadScheduler::remove): Remove an obsolete/incorrect comment.
2108
2109         * WebProcess/Network/WebResourceLoader.cpp:
2110         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Add comment stressing
2111           the importance of this null check so it's not removed again.
2112
2113 2013-04-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2114
2115         [WK2][GTK] MiniBrowser won't play video in <embed> tag
2116         https://bugs.webkit.org/show_bug.cgi?id=113107
2117
2118         Reviewed by Anders Carlsson.
2119
2120         The wrong clip region is used for windowed plugins, because it's
2121         translated to window frame coords again.
2122
2123         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2124         (WebKit::NetscapePlugin::platformGeometryDidChange): Do not move
2125         the current clip region.
2126
2127 2013-04-30  Timothy Hatcher  <timothy@apple.com>
2128
2129         Make the Inspector dock to right button work in the WebKit nightlies on Safari 6.0.4.
2130
2131         https://webkit.org/b/115428
2132
2133         Reviewed by Joseph Pecoraro.
2134
2135         * UIProcess/mac/WebInspectorProxyMac.mm:
2136         (WebKit::WebInspectorProxy::createInspectorWindow): Reduce the required Safari version.
2137         (WebKit::WebInspectorProxy::platformDetach): Simplify the frame restoring code so it
2138         works on Safari 6.0.4.
2139
2140 2013-04-30  Artur Moryc  <a.moryc@samsung.com>
2141
2142         [WK2][EFL] Spelling marker disappears while selection is being changed
2143         https://bugs.webkit.org/show_bug.cgi?id=115165
2144
2145         Reviewed by Anders Carlsson.
2146
2147         The marker for a misspelled word disappears while the cursor is being navigated along the word.
2148
2149         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2150         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
2151
2152 2013-04-30  Zalan Bujtas  <zalan@apple.com>
2153
2154         Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
2155         https://bugs.webkit.org/show_bug.cgi?id=111244
2156
2157         Reviewed by David Kilzer.
2158         
2159         Enable performance.now() as a minimal subset of Web Timing API. 
2160         It returns DOMHighResTimeStamp, a monotonically increasing value representing the 
2161         number of milliseconds from the start of the navigation of the current document.
2162         JS libraries use this API to check against the requestAnimationFrame() timestamp.
2163
2164         * Configurations/FeatureDefines.xcconfig:
2165
2166 2013-04-29  Chris Fleizach  <cfleizach@apple.com>
2167
2168         WEB SPEECH: need to identify the default voice per language
2169         https://bugs.webkit.org/show_bug.cgi?id=115366
2170
2171         Reviewed by Tim Horton.
2172
2173         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2174         (InitWebCoreSystemInterface):
2175
2176 2013-04-29  Benjamin Poulain  <benjamin@webkit.org>
2177
2178         [WK2] Streamline the use of strings in WebProcess::getWebCoreStatistics
2179         https://bugs.webkit.org/show_bug.cgi?id=115315
2180
2181         Reviewed by Geoffrey Garen.
2182
2183         Remove a couple of unjustified DEFINE_STATIC_LOCAL.
2184         Use ASCIILiteral when allocating new String.
2185
2186         * WebProcess/WebProcess.cpp:
2187         (WebKit::getWebCoreMemoryCacheStatistics):
2188         (WebKit::WebProcess::getWebCoreStatistics):
2189
2190 2013-04-29  Anders Carlsson  <andersca@apple.com>
2191
2192         Remove StorageTracker::originsLoaded
2193         https://bugs.webkit.org/show_bug.cgi?id=115382
2194
2195         Reviewed by Sam Weinig.
2196
2197         Add m_didFinishLoadingOrigins.
2198
2199         * WebProcess/Storage/WebKeyValueStorageManager.cpp:
2200         (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
2201         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
2202         (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
2203         * WebProcess/Storage/WebKeyValueStorageManager.h:
2204         (WebKeyValueStorageManager):
2205
2206 2013-04-29  Chris Fleizach  <cfleizach@apple.com>
2207
2208         WEB SPEECH Update seatbelt profile to work with speech synthesis
2209         https://bugs.webkit.org/show_bug.cgi?id=115368
2210
2211         Reviewed by Alexey Proskuryakov.
2212
2213         * WebProcess/com.apple.WebProcess.sb.in:
2214
2215 2013-04-28  Beth Dakin  <bdakin@apple.com>
2216
2217         Need a LayoutMilestone to fire when we have done our first paint after suppressing 
2218         incremental layout
2219         https://bugs.webkit.org/show_bug.cgi?id=115330
2220         -and corresponding-
2221         <rdar://problem/12722365>
2222
2223         Reviewed by Simon Fraser.
2224
2225         Two new millstones.
2226         * Shared/API/c/WKPageLoadTypes.h:
2227         * Shared/API/c/WKSharedAPICast.h:
2228         (WebKit::toWKLayoutMilestones):
2229         (WebKit::toLayoutMilestones):
2230
2231         This null-check is necessary now since this code ends up running at 
2232         WebFrame::init() time while we're setting up the Document. 
2233         setVisualUpdatesAllowed(true) has always been called as a part of that process, 
2234         and now the updateLayout(), ends up calling this code too, but we don't actually 
2235         have a mainFrame yet since it's still being created.
2236         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2237         (WebKit::findLargestFrameInFrameSet):
2238
2239 2013-04-29  Brady Eidson  <beidson@apple.com>
2240
2241         REGRESSION: We see authentication challenge sheets for favicon requests.
2242         <rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288
2243
2244         Reviewed by Alexey Proskuryakov.
2245
2246         Have NetworkResourceLoadParameters remember the ClientCredentialPolicy:
2247         * Shared/Network/NetworkResourceLoadParameters.cpp:
2248         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
2249         (WebKit::NetworkResourceLoadParameters::encode):
2250         (WebKit::NetworkResourceLoadParameters::decode):
2251         * Shared/Network/NetworkResourceLoadParameters.h:
2252
2253         Pass along the ClientCredentialPolicy to the NetworkProcess:
2254         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2255         (WebKit::WebResourceLoadScheduler::scheduleLoad):
2256         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2257         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
2258         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2259
2260         Have the SchedulableLoader remember the ClientCredentialPolicy:
2261         * NetworkProcess/SchedulableLoader.cpp:
2262         (WebKit::SchedulableLoader::SchedulableLoader):
2263         * NetworkProcess/SchedulableLoader.h:
2264         (WebKit::SchedulableLoader::clientCredentialPolicy):
2265
2266         Don’t message for credentials if the ClientCredentialPolicy forbids it:
2267         * NetworkProcess/NetworkResourceLoader.cpp:
2268         (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
2269         * NetworkProcess/NetworkResourceLoader.h:
2270
2271         Update for the new loadResourceSynchronously signature (which is still a no-op on the NetworkProcess side):
2272         * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
2273         (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
2274         * NetworkProcess/NetworkProcessPlatformStrategies.h:
2275
2276 2013-04-29  Jer Noble  <jer.noble@apple.com>
2277
2278         Unreviewed build fix. Point the Network process towards its own version of SecItemShim.dyld.
2279
2280         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
2281
2282 2013-04-29  Alexey Proskuryakov  <ap@apple.com>
2283
2284         Threads get stuck in NetworkProcess when canceling loads
2285         https://bugs.webkit.org/show_bug.cgi?id=115319
2286
2287         Backing out part of the fix, as it's causing crashes.
2288
2289         * WebProcess/Network/WebResourceLoader.cpp:
2290         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
2291
2292 2013-04-29  Noam Rosenthal  <noam@webkit.org>
2293
2294         Get rid of "non-composited contents" in CoordinatedLayerTreeHost
2295         https://bugs.webkit.org/show_bug.cgi?id=110355
2296
2297         Reviewed by Jocelyn Turcotte.
2298
2299         Instead of using a special non-composited contents layer, we let RenderLayerCompositor create
2300         a proper GraphicsLayer for that content.
2301         CoordinatedLayerTreeHost now needs to find the main contents layer for the purpose of setting
2302         the trajectory vector and applying the cover rect.
2303
2304         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2305         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2306         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
2307             Don't create the non-composited layer, instead keep a raw pointer to the root
2308             compositing layer created by the WebCore compositor.
2309
2310         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
2311         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
2312         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
2313         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
2314         (WebKit::CoordinatedLayerTreeHost::paintContents):
2315         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
2316         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
2317             Remove non-composited layer specialization.
2318
2319 2013-04-29  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2320
2321         [Qt] Build fix. Enabling c++11 for Qt WK2 after r149259.
2322         https://bugs.webkit.org/show_bug.cgi?id=115345
2323
2324         Reviewed by Anders Carlsson.
2325
2326         * WebKit2.pri:
2327
2328 2013-04-29  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2329
2330         [WK2][EFL] Skip cancel fullscreen request if not made from FullScreen API
2331         https://bugs.webkit.org/show_bug.cgi?id=108201
2332
2333         Reviewed by Andreas Kling.
2334
2335         Adds a check on WebFullScreenManagerProxyEfl whether fullscreen mode was
2336         set from FullScreen API or not, so it can skip cancelling fullscreen
2337         request if fullscreen mode was set by application, preventing
2338         WebProcess' FullScreenManager from crashing.
2339
2340         EFL unit test available: ewk_view_cancel_full_screen_request.
2341
2342         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
2343         (WKViewExitFullScreen):
2344         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
2345         WKViewExitFullScreen now returns a bool, indicating whether the
2346         operation has succeeded or not.
2347
2348         * UIProcess/API/efl/ewk_view.cpp:
2349         (ewk_view_fullscreen_exit):
2350         Skip request if not in fullscreen mode.
2351
2352         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2353         (TEST_F):
2354         Added ewk_view_cancel_full_screen_request unit test.
2355
2356         * UIProcess/CoordinatedGraphics/WebView.cpp:
2357         (WebKit::WebView::exitFullScreen):
2358         * UIProcess/CoordinatedGraphics/WebView.h:
2359         (WebView):
2360         exitFullScreen now returns a bool, indicating whether the operation has
2361         succeeded or not.
2362
2363         * UIProcess/WebFullScreenManagerProxy.cpp:
2364         (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
2365         * UIProcess/WebFullScreenManagerProxy.h:
2366         (WebFullScreenManagerProxy):
2367         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
2368         (WebKit::WebFullScreenManagerProxy::isFullScreen):
2369         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
2370         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
2371         Added m_hasRequestedFullScreen boolean flag to EFL port. Used to
2372         indicate if fullscreen mode is enabled, as well as sanity checks on both
2373         {enter,exit}FullScreen functions.
2374
2375 2013-04-29  Anders Carlsson  <andersca@apple.com>
2376
2377         Stop using range-based for syntax
2378         https://bugs.webkit.org/show_bug.cgi?id=115356
2379
2380         Reviewed by Andreas Kling.
2381
2382         * PluginProcess/WebProcessConnection.cpp:
2383         (WebKit::WebProcessConnection::didClose):
2384
2385 2013-04-29  Sergio Correia  <sergio.correia@openbossa.org>
2386
2387         [EFL][WK2]: WebProcessMain: hide call to ecore_x_shutdown() under guard
2388         https://bugs.webkit.org/show_bug.cgi?id=115295
2389
2390         Reviewed by Andreas Kling.
2391
2392         Since the mentioned function is declared in a header that is included
2393         conditionally depending on HAVE_ECORE_X being defined.
2394
2395         * WebProcess/efl/WebProcessMainEfl.cpp:
2396         (WebKit::WebProcessMainEfl):
2397
2398 2013-04-29  Jinwoo Song  <jinwoo7.song@samsung.com>
2399
2400         [WK2] Remove build warnings by -Wunused-parameter
2401         https://bugs.webkit.org/show_bug.cgi?id=115344
2402
2403         Reviewed by Noam Rosenthal.
2404
2405         Fix build warnigs -Wunused-parameter.
2406
2407         * UIProcess/CoordinatedGraphics/WebView.cpp:
2408         (WebKit::WebView::createContextMenuProxy):
2409         * UIProcess/DrawingAreaProxy.h:
2410         (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
2411         * UIProcess/WebPageProxy.cpp:
2412         (WebKit::WebPageProxy::connectionWillClose):
2413
2414 2013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2415
2416         Unreviewed. Fix make distcheck.
2417
2418         * GNUmakefile.list.am: Add missing header files to compilation.
2419
2420 2013-04-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2421
2422         Unreviewed fix build break on EFL port since r149259.
2423
2424         In EFL port, there is a non-compatible code when compiling based on C++11. This is a trivial build fix.
2425
2426         I got a confirm from Sam about landing a trivial build fix patch without sign-off from
2427         WK2 owner.
2428
2429         * UIProcess/API/efl/EwkViewCallbacks.h:
2430
2431 2013-04-28  Dean Jackson  <dino@apple.com>
2432
2433         [Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS)
2434         https://bugs.webkit.org/show_bug.cgi?id=115310
2435
2436         Reviewed by Simon Fraser.
2437
2438         Remove ENABLE_HIGH_DPI_CANVAS_macosx.
2439
2440         * Configurations/FeatureDefines.xcconfig:
2441
2442 2013-04-28  Sam Weinig  <sam@webkit.org>
2443
2444         [WebKit2] Adopt new API for detecting window occlusion
2445         https://bugs.webkit.org/show_bug.cgi?id=115334
2446
2447         Reviewed by Simon Fraser.
2448
2449         Switch off of WKSI for window occlusion and use the new NSWindowDidChangeOcclusionState notification
2450         instead.
2451
2452         * UIProcess/API/mac/WKView.mm:
2453         (-[WKView dealloc]):
2454         (-[WKView addWindowObserversForWindow:]):
2455         (-[WKView removeWindowObservers]):
2456         (-[WKView viewWillMoveToWindow:]):
2457         (-[WKView viewDidMoveToWindow]):
2458         (-[WKView _windowDidOrderOnScreen:]):
2459         (-[WKView _windowDidChangeOcclusionState:]):
2460         (-[WKView _setIsWindowOccluded:]):
2461         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2462         (-[WKView windowOcclusionDetectionEnabled]):
2463         (-[WKView setWindowOcclusionDetectionEnabled:]):
2464         Only compile occlusion detection code where supported and remove calls to register/deregister
2465         for detection callbacks, now that NSWindow will handle that for us. We also no longer need to
2466         track all the WKViews, as that was only required to lookup the view that matched the window number
2467         returned from the occlusion callback.
2468
2469 2013-04-26  Anders Carlsson  <andersca@apple.com>
2470
2471         Use OwnPtr<PluginControllerProxy> for storing plug-in controllers in WebProcessConnection
2472         https://bugs.webkit.org/show_bug.cgi?id=115259
2473
2474         Reviewed by Andreas Kling.
2475
2476         * PluginProcess/WebProcessConnection.cpp:
2477         (WebKit::WebProcessConnection::addPluginControllerProxy):
2478         (WebKit::WebProcessConnection::removePluginControllerProxy):
2479         (WebKit::WebProcessConnection::didClose):
2480         * PluginProcess/WebProcessConnection.h:
2481         (WebProcessConnection):
2482
2483 2013-04-27  Jessie Berlin  <jberlin@apple.com>
2484
2485         Build fix.
2486
2487         * NetworkProcess/NetworkResourceLoader.cpp:
2488         (WebKit::NetworkResourceLoader::didReceiveBuffer):
2489         Do not declare another variable with the same name.
2490
2491 2013-04-27  Darin Adler  <darin@apple.com>
2492
2493         Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
2494         https://bugs.webkit.org/show_bug.cgi?id=115307
2495
2496         Reviewed by Geoffrey Garen.
2497
2498         This change was done by a global replace followed by compiling and inspecting for
2499         cases that needed to be tweaked by hand.
2500
2501         * Platform/cg/CGUtilities.cpp:
2502         (WebKit::paintBitmapContext):
2503         * Platform/mac/ModuleMac.mm:
2504         (WebKit::Module::load):
2505         (WebKit::Module::platformFunctionPointer):
2506         * PluginProcess/mac/PluginProcessMac.mm:
2507         (WebKit::PluginProcess::initializeSandbox):
2508         * Shared/API/c/mac/WKURLRequestNS.mm:
2509         (WKURLRequestCreateWithNSURLRequest):
2510         * Shared/API/c/mac/WKURLResponseNS.mm:
2511         (WKURLResponseCreateWithNSURLResponse):
2512         * Shared/Downloads/mac/DownloadMac.mm:
2513         (WebKit::Download::start):
2514         (WebKit::Download::startWithHandle):
2515         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
2516         (WebKit::ChildProcessMain):
2517         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2518         (WebKit::getPluginArchitecture):
2519         (WebKit::contentsOfPropertyListAtURL):
2520         (WebKit::getMIMETypesFromPluginBundle):
2521         (WebKit::getStringListResource):
2522         (WebKit::NetscapePluginModule::getPluginInfo):
2523         * Shared/ShareableResource.cpp:
2524         (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
2525         * Shared/cf/ArgumentCodersCF.cpp:
2526         (CoreIPC::decode):
2527         (CoreIPC::encode):
2528         * Shared/cg/ShareableBitmapCG.cpp:
2529         (WebKit::ShareableBitmap::createGraphicsContext):
2530         (WebKit::ShareableBitmap::makeCGImageCopy):
2531         (WebKit::ShareableBitmap::makeCGImage):
2532         (WebKit::ShareableBitmap::createCGImage):
2533         * Shared/mac/ArgumentCodersMac.mm:
2534         (CoreIPC::decode):
2535         * Shared/mac/PlatformCertificateInfo.mm:
2536         (WebKit::PlatformCertificateInfo::dump):
2537         * Shared/mac/WebCoreArgumentCodersMac.mm:
2538         (CoreIPC::::encodePlatformData):
2539         (CoreIPC::::decodePlatformData):
2540         * UIProcess/API/mac/FindIndicatorWindow.mm:
2541         (WebKit::FindIndicatorWindow::setFindIndicator):
2542         (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
2543         * UIProcess/API/mac/PDFViewController.mm:
2544         (-[WKPDFView initWithFrame:PDFViewController:]):
2545         (WebKit::PDFViewController::PDFViewController):
2546         (WebKit::convertPostScriptDataSourceToPDF):
2547         (WebKit::PDFViewController::setPDFDocumentData):
2548         * UIProcess/API/mac/PageClientImpl.mm:
2549         (WebKit::PageClientImpl::PageClientImpl):
2550         (WebKit::PageClientImpl::registerEditCommand):
2551         (WebKit::PageClientImpl::setDragImage):
2552         * UIProcess/API/mac/WKBrowsingContextController.mm:
2553         (didFailProvisionalLoadWithErrorForFrame):
2554         (didFailLoadWithErrorForFrame):
2555         * UIProcess/API/mac/WKConnection.mm:
2556         (didReceiveMessage):
2557         * UIProcess/API/mac/WKPrintingView.mm:
2558         (-[WKPrintingView drawRect:]):
2559         * UIProcess/API/mac/WKView.mm:
2560         (-[WKView browsingContextController]):
2561         (-[WKView _setAcceleratedCompositingModeRootLayer:]):
2562         (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
2563         (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
2564         (-[WKView fullScreenWindowController]):
2565         (-[WKView _executeSavedCommandBySelector:]):
2566         (-[WKView printOperationWithPrintInfo:forFrame:]):
2567         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2568         (WebKit::createProcess):
2569         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2570         (WebKit::PluginInfoStore::pluginPathsInDirectory):
2571         (WebKit::PluginInfoStore::getMIMETypeForExtension):
2572         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2573         (WebKit::PluginProcessProxy::beginModal):
2574         * UIProcess/cf/WebBackForwardListCF.cpp:
2575         (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
2576         * UIProcess/cf/WebPageProxyCF.cpp:
2577         (WebKit::WebPageProxy::sessionStateData):
2578         (WebKit::WebPageProxy::restoreFromSessionStateData):
2579         (WebKit::WebPageProxy::saveRecentSearches):
2580         (WebKit::WebPageProxy::loadRecentSearches):
2581         * UIProcess/cf/WebPreferencesCF.cpp:
2582         (WebKit::cfStringFromWebCoreString):
2583         (WebKit::setStringValueIfInUserDefaults):
2584         (WebKit::setBoolValueIfInUserDefaults):
2585         (WebKit::setUInt32ValueIfInUserDefaults):
2586         (WebKit::setDoubleValueIfInUserDefaults):
2587         (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
2588         (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
2589         (WebKit::WebPreferences::platformUpdateFloatValueForKey):
2590         * UIProcess/mac/BackingStoreMac.mm:
2591         (WebKit::BackingStore::resetScrolledRect):
2592         (WebKit::BackingStore::backingStoreContext):
2593         * UIProcess/mac/CorrectionPanel.mm:
2594         (WebKit::CorrectionPanel::handleAcceptedReplacement):
2595         * UIProcess/mac/TextCheckerMac.mm:
2596         (WebKit::TextChecker::checkTextOfParagraph):
2597         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
2598         * UIProcess/mac/WKFullScreenWindowController.mm:
2599         (-[WKFullScreenWindowController enterFullScreen:]):
2600         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2601         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2602         * UIProcess/mac/WebContextMac.mm:
2603         (WebKit::WebContext::platformDefaultDiskCacheDirectory):
2604         * UIProcess/mac/WebContextMenuProxyMac.mm:
2605         (WebKit::nsMenuItemVector):
2606         (WebKit::WebContextMenuProxyMac::populate):
2607         * UIProcess/mac/WebInspectorProxyMac.mm:
2608         (WebKit::WebInspectorProxy::createInspectorWindow):
2609         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2610         * UIProcess/mac/WebPopupMenuProxyMac.mm:
2611         (WebKit::WebPopupMenuProxyMac::populate):
2612         (WebKit::WebPopupMenuProxyMac::showPopupMenu):
2613         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
2614         (WebKit::InjectedBundle::load):
2615         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2616         (WebKit::NetscapePlugin::updatePluginLayer):
2617         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
2618         (WebKit::PluginProxy::pluginLayer):
2619         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2620         (WebKit::PDFPlugin::PDFPlugin):
2621         (WebKit::PDFPlugin::createScrollbar):
2622         (WebKit::PDFPlugin::pdfDocumentDidLoad):
2623         (WebKit::PDFPlugin::writeItemsToPasteboard):
2624         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
2625         (getAllScriptsInPDFDocument):
2626         (WebKit::SimplePDFPlugin::pdfDocumentDidLoad):
2627         (WebKit::SimplePDFPlugin::streamDidReceiveData):
2628         (WebKit::SimplePDFPlugin::manualStreamDidReceiveData):
2629         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
2630         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
2631         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
2632         (WebKit::WebResourceCacheManager::cfURLCacheHostNames):
2633         (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
2634         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
2635         (WebKit::createNSError):
2636         * WebProcess/WebPage/WebPage.cpp:
2637         (WebKit::WebPage::drawPagesToPDF):
2638         * WebProcess/WebPage/mac/WebPageMac.mm:
2639         (WebKit::WebPage::performDictionaryLookupForRange):
2640         (WebKit::cachedResponseForURL):
2641         (WebKit::WebPage::drawPagesToPDFFromPDFDocument):
2642         * WebProcess/mac/WebProcessMac.mm:
2643         (WebKit::WebProcess::platformSetCacheModel):
2644         Use adoptCF and adoptNS free functions.
2645
2646 2013-04-27  Alexey Proskuryakov  <ap@apple.com>
2647
2648         <rdar://problem/13757007> Crashes in NetworkResourceLoader::didReceiveResponseAsync
2649         https://bugs.webkit.org/show_bug.cgi?id=115318
2650
2651         Reviewed by Darin Adler.
2652
2653         sendAbortingOnFailure may actually fail, and abort the request, making m_handle null.
2654
2655         * NetworkProcess/NetworkResourceLoader.cpp:
2656         (WebKit::NetworkResourceLoader::didReceiveResponseAsync): Null check m_handle after
2657         sending a message, because the request will cancelled when connection is invalid.
2658         (WebKit::NetworkResourceLoader::didReceiveBuffer): Assert that m_handle matches
2659         the handle that we are called with.
2660         (WebKit::NetworkResourceLoader::didFinishLoading): Ditto.
2661         (WebKit::NetworkResourceLoader::didFail): Ditto.
2662         (WebKit::NetworkResourceLoader::willSendRequestAsync): Ditto.
2663         (WebKit::NetworkResourceLoader::didSendData): Ditto.
2664         (WebKit::NetworkResourceLoader::shouldUseCredentialStorage): Ditto.
2665         (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): Ditto.
2666         (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Ditto.
2667         (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge): Ditto.
2668         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): Ditto.
2669
2670 2013-04-27  Alexey Proskuryakov  <ap@apple.com>
2671
2672         <rdar://problem/13757687> Threads get stuck in NetworkProcess when canceling loads
2673         https://bugs.webkit.org/show_bug.cgi?id=115319
2674
2675         Reviewed by Darin Adler.
2676
2677         WebResourceLoader was second-guessing NetworkProcess as to whether it needs a response
2678         to DidReceiveResponseWithCertificateInfo, and it was guessing wrong if the load was
2679         alrady canceled on WebProcess side.
2680
2681         * NetworkProcess/NetworkResourceLoader.cpp:
2682         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
2683         * WebProcess/Network/WebResourceLoader.cpp:
2684         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
2685         * WebProcess/Network/WebResourceLoader.h:
2686         * WebProcess/Network/WebResourceLoader.messages.in:
2687
2688 2013-04-27  Alexey Proskuryakov  <ap@apple.com>
2689
2690         Regression tests that reference a non-local resource crash with NetworkProcess enabled
2691         https://bugs.webkit.org/show_bug.cgi?id=115290
2692
2693         Reviewed by Sam Weinig.
2694
2695         Covered by fast/dom/icon-url-change.html and many other existing tests.
2696
2697         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2698         (WebKit::WebResourceLoadScheduler::remove): Handle this case. Architecturally, it
2699         would be better if SubresourceLoad::create just created an object an didn't do
2700         further checks before returning a pointer, but changing that is beyond the scope
2701         of the fix.
2702
2703 2013-04-26  Yael Aharon  <yael.aharon@intel.com>
2704
2705         [WK2][EFL] Build break after r149212
2706         https://bugs.webkit.org/show_bug.cgi?id=115294
2707
2708         Reviewed by Simon Fraser.
2709         r144672 bumped up the revision of WKContextClient API, and introduced a version array
2710         APIClientTraits<WKContextClient>::interfaceSizesByVersion .
2711         In r149212, the version was bumped back down and the version array was emptied but not removed.
2712         This causes a warning "array subscript is below array bounds", and in EFL the warning is
2713         treated as error.
2714
2715         * Shared/APIClientTraits.cpp:
2716         (WebKit):
2717         * Shared/APIClientTraits.h:
2718
2719 2013-04-26  Martin Robinson  <mrobinson@igalia.com>
2720
2721         [GTK] Add methods to add a user style sheet to the WebKit2 GTK+ API
2722         https://bugs.webkit.org/show_bug.cgi?id=99081
2723
2724         Reviewed by Carlos Garcia Campos, Gustavo Noronha Silva, and Benjamin Poulain.
2725
2726         Add methods to WebKitWebViewGroup to add and remove user style sheets.
2727         This allows clients to inject style sheets into pages with a set of
2728         rules for when those style sheets apply.
2729
2730         * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
2731         (toImmutableArray): Added this helper which converts the GList* parameters into
2732         ImmutableArrays for use with the WebKit2 internal API.
2733         (webkit_web_view_group_add_user_style_sheet): Added new API for adding a style sheet.
2734         (webkit_web_view_group_remove_all_user_style_sheets): Add new API for clearing out all style sheets.
2735         * UIProcess/API/gtk/WebKitWebViewGroup.h: Added new method declarations.
2736         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API to the documentation.
2737         * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added a test for the new API.
2738         (isStyleSheetInjectedForURLAtPath): Function to check whether the style sheet has been injected for a given URL.
2739         (fillURLListFromPaths): Helper which converts paths passed via varargs into a whitelist or blacklist.
2740         (removeOldInjectedStyleSheetsAndResetLists): Function to start afresh.
2741         (testWebViewGroupInjectedStyleSheet): The actual test.
2742         (serverCallback): Server callback for use with the test. We cannot use loadHTML or
2743         loadAlternateHTML, because that checks the whitelist and blacklist against about:blank.
2744         (beforeAll): Initialize the server and new test.
2745         (afterAll): Clean up the server.
2746
2747 2013-04-26  Simon Cooper  <scooper@apple.com>
2748
2749         Permit ~/Library or ~/Library/Preferences to be symlinks
2750         https://bugs.webkit.org/show_bug.cgi?id=115142
2751         <rdar://problem/12953603>
2752
2753         Reviewed by Alexey Proskuryakov.
2754
2755         Pass in two new parameters which are the resolved paths to ~/Library
2756         and ~/Library/Preferences. Added new expansion functions and
2757         substituted the new functions for home-regex, home-subpath and
2758         home-literal for places referencing resources in "~/Library" or
2759         "~/Library/Preferences".
2760
2761         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
2762         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2763         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
2764         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2765         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
2766         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
2767         * Shared/mac/ChildProcessMac.mm:
2768         (WebKit::ChildProcess::initializeSandbox):
2769
2770 2013-04-26  Alexey Proskuryakov  <ap@apple.com>
2771
2772         [WK2] WKContextClient doesn't need to be versioned yet
2773         https://bugs.webkit.org/show_bug.cgi?id=115279
2774
2775         Reviewed by Anders Carlsson.
2776
2777         * Shared/APIClientTraits.cpp:
2778         * Shared/APIClientTraits.h:
2779         * UIProcess/API/C/WKContext.h:
2780
2781 2013-04-26  Anders Carlsson  <andersca@apple.com>
2782
2783         Downloads need to be converted from the NSURLConnection, not canceled and restarted, when using the NetworkProcess
2784         https://bugs.webkit.org/show_bug.cgi?id=115277
2785         <rdar://problem/12890184>
2786
2787         Reviewed by Sam Weinig.
2788
2789         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2790         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
2791         Ask the download manager to convert the main resource load to a download.
2792
2793         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2794         Add new message.
2795
2796         * NetworkProcess/NetworkResourceLoader.h:
2797         (WebKit::NetworkResourceLoader::handle):
2798         Add getter.
2799
2800         * Shared/Downloads/mac/DownloadMac.mm:
2801         (dispatchOnMainThread):
2802         Helper function that ensures that a given block is called on the main thread.
2803
2804         (-[WKDownloadAsDelegate downloadDidBegin:]):
2805         (-[WKDownloadAsDelegate download:didReceiveAuthenticationChallenge:]):
2806         (-[WKDownloadAsDelegate download:didReceiveResponse:]):
2807         (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]):
2808         (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
2809         (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
2810         (-[WKDownloadAsDelegate download:didCreateDestination:]):
2811         (-[WKDownloadAsDelegate downloadDidFinish:]):
2812         (-[WKDownloadAsDelegate download:didFailWithError:]):
2813         Use dispatchOnMainThread.
2814
2815         * UIProcess/WebPageProxy.cpp:
2816         (WebKit::WebPageProxy::receivedPolicyDecision):
2817         Remove code that cancels the current load and starts a new download.
2818
2819         * WebProcess/WebPage/WebFrame.cpp:
2820         (WebKit::WebFrame::convertMainResourceLoadToDownload):
2821         Send the ConvertMainResourceLoadToDownload message to the network process.
2822
2823 2013-04-25  Roger Fong  <roger_fong@apple.com>
2824
2825         Disable sub-pixel layout on mac.
2826         https://bugs.webkit.org/show_bug.cgi?id=114999.
2827
2828         Reviewed by Simon Fraser.
2829
2830         * Configurations/FeatureDefines.xcconfig:
2831
2832 2013-04-26  Simon Fraser  <simon.fraser@apple.com>
2833
2834         Inspector window is often blank when opened
2835         https://bugs.webkit.org/show_bug.cgi?id=115220
2836
2837         Reviewed by Tim Horton.
2838         
2839         After disabling tiled scrolling and accelerated drawing in r149006, the
2840         Inspector window was often missing its content after opening. This only
2841         happened when the user has a preference on disk to use accelerated drawing
2842         in the Inspector.
2843         
2844         The missing content was caused by a failure to connect the correct contextID
2845         for remote layer hosting. On window creation, we hook up a context using
2846         WindowServer layer hosting (the default), but then switch back to app-hosted
2847         layers for the Inspector window. This switching happens in didUpdateBackingStoreState(),
2848         but that can be re-entered via its call to sendUpdateBackingStoreState(). In
2849         that cause, on unwinding the stack it would call enterAcceleratedCompositingMode()
2850         with a stale layerTreeContext.
2851         
2852         Fix by moving the code that exits/enters accelerated compositing mode to before
2853         the call to sendUpdateBackingStoreState() that can cause re-entrancy. That avoids
2854         use of a possibly stale layerTreeContext.
2855
2856         * UIProcess/DrawingAreaProxyImpl.cpp:
2857         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
2858
2859 2013-04-26  Alexey Proskuryakov  <ap@apple.com>
2860
2861         Crashes under ResourceHandle::continueDidReceiveResponse when loading blobs
2862         https://bugs.webkit.org/show_bug.cgi?id=115273
2863
2864         Reviewed by Anders Carlsson.
2865
2866         Covered by multiple existing tests (when using NetworkProcess), including:
2867         - http/tests/fileapi/blob-url-in-subframe.html
2868         - http/tests/fileapi/create-blob-url-from-data-url.html
2869
2870         * NetworkProcess/NetworkResourceLoader.cpp:
2871         (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
2872         Work around BlobResourceHandle badness.
2873
2874 2013-04-26  Alexey Proskuryakov  <ap@apple.com>
2875
2876         [WK2] Remove NetworkResourceLoader::cleanupOnMainThread
2877         https://bugs.webkit.org/show_bug.cgi?id=115268
2878
2879         Reviewed by Brady Eidson.
2880
2881         All cleanup() callers are now on main thread, and this indirection only complicates debugging.
2882
2883         * NetworkProcess/NetworkResourceLoader.cpp:
2884         (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
2885         (WebKit::NetworkResourceLoader::abortInProgressLoad):
2886         (WebKit::NetworkResourceLoader::didFinishLoading):
2887         (WebKit::NetworkResourceLoader::didFail):
2888         * NetworkProcess/NetworkResourceLoader.h:
2889
2890 2013-04-26  Andy Estes  <aestes@apple.com>
2891
2892         [WebKit2] CustomProtocolManager's m_registeredSchemes HashSet can be accessed by multiple threads
2893         https://bugs.webkit.org/show_bug.cgi?id=115267
2894
2895         Reviewed by Alexey Proskuryakov.
2896
2897         * Shared/Network/CustomProtocols/CustomProtocolManager.h: Added a Mutex to protect m_registeredSchemes.
2898         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2899         (WebKit::CustomProtocolManager::registerScheme): Acquired the mutex before accessing m_registeredSchemes.
2900         (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
2901         (WebKit::CustomProtocolManager::supportsScheme): Ditto.
2902
2903 2013-04-26  Alexey Proskuryakov  <ap@apple.com>
2904
2905         Blobs are not associated with connection when there are no sandbox extensions
2906         https://bugs.webkit.org/show_bug.cgi?id=115264
2907
2908         Reviewed by Brady Eidson.
2909
2910         Covered by multiple fast/files tests when using NetworkProcess.
2911
2912         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2913         (WebKit::NetworkBlobRegistry::registerBlobURL): Fixed a logic error.
2914
2915 2013-04-25  Andy Estes  <aestes@apple.com>
2916
2917         [WebKit2] Loading a resource from a custom protocol in a synchronous XHR times out
2918         https://bugs.webkit.org/show_bug.cgi?id=115223
2919
2920         Reviewed by Darin Adler.
2921
2922         When WebKit performs a synchronous load on the Mac, it spins a nested
2923         run loop in a mode that only accepts input from the NSURLConnection
2924         performing the load. When the load is for a custom protocol in WebKit2,
2925         we proxy it to the UI process via CoreIPC messages, but the response
2926         messages from the UI process are never processed as long as the run
2927         loop is in a non-common mode (and we wouldn't want to process messages
2928         that could re-enter WebCore in the middle of loading, anyway). Since
2929         these messages never make it back to the NSURLConnection handling the
2930         request, the connection eventually times out.
2931
2932         Fix this by using a work queue to handle custom protocol messages in
2933         the networking process. The work queue can process incoming custom
2934         protocol messages while the main thread is blocked.
2935
2936         * NetworkProcess/NetworkProcess.cpp:
2937         (WebKit::NetworkProcess::initializeConnection): Called
2938         initializeConnection() on all the NetworkProcess's supplements.
2939         * Shared/ChildProcessSupplement.h: Added a base class for
2940         NetworkProcessSupplement and WebProcessSupplement which defines
2941         initializeConnection and provides an empty default implementation.
2942         (WebKit::ChildProcessSupplement::~ChildProcessSupplement):
2943         (WebKit::ChildProcessSupplement::initializeConnection):
2944         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2945         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2946         (WebKit::CustomProtocolManager::CustomProtocolManager): Instantiated a
2947         work queue for message processing.
2948         (WebKit::CustomProtocolManager::initializeConnection): Added the work
2949         queue as a message receiver on the CoreIPC connection.
2950         (WebKit::CustomProtocolManager::initialize): If we're in the web
2951         process and the network process is being used, unregister and destroy
2952         the work queue we previously created. It'd be better to not create it
2953         in the first place, but we have to register our work queue with the
2954         CoreIPC connection before it is established, which is before the UI
2955         process has told us whether the network process is in use.
2956         * Shared/Network/NetworkProcessSupplement.h: Inherited from
2957         ChildProcessSupplement.
2958         * WebKit2.xcodeproj/project.pbxproj: Added ChildProcessSupplement.h.
2959         * WebProcess/WebProcess.cpp:
2960         (WebKit::WebProcess::initializeConnection): Called
2961         initializeConnection() on all the WebProcess's supplements.
2962         * WebProcess/WebProcessSupplement.h: Inherited from
2963         ChildProcessSupplement.
2964
2965 2013-04-26  Eduardo Lima Mitev  <elima@igalia.com>
2966
2967         [GTK] Compilation of ProcessLauncherGtk.cpp fails due to unresolved symbols
2968         https://bugs.webkit.org/show_bug.cgi?id=115240
2969
2970         Reviewed by Martin Robinson.
2971
2972         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Includes sys/socket.h if OS is Linux
2973
2974 2013-04-25  Zan Dobersek  <zdobersek@igalia.com>
2975
2976         [GTK] Plugin process broken due to a missing symbol
2977         https://bugs.webkit.org/show_bug.cgi?id=114901
2978
2979         Reviewed by Gustavo Noronha Silva.
2980
2981         Work around the missing symbols in the WebKitPluginProcess by specifying the required libraries
2982         multiple times in the program's LDADD list. Libtool fights fiercely to avoid duplicate static library
2983         references among the linker arguments (even if using the --preserve-dup-deps flag) so the required libraries
2984         are specified in various ways.
2985
2986         The unresolved symbols in object files are no longer ignored as this can lead to further trouble (for instance
2987         this patch also adds a few missing source files to the list of WebKitPluginProcess sources). The Freetype and
2988         gamepad dependencies' libraries are also added to the binary's LDADD list.
2989
2990         * GNUmakefile.am:
2991         * GNUmakefile.list.am: Add a few missing files to the build.
2992
2993 2013-04-24  Chris Fleizach  <cfleizach@apple.com>
2994
2995         WEB SPEECH: language support does not work as expected
2996         https://bugs.webkit.org/show_bug.cgi?id=115119
2997
2998         Reviewed by Alexey Proskuryakov.
2999
3000         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3001         (InitWebCoreSystemInterface):
3002
3003 2013-04-25  Anders Carlsson  <andersca@apple.com>
3004
3005         Rename DecidePolicyForResponse message to DecidePolicyForResponseSync
3006         https://bugs.webkit.org/show_bug.cgi?id=115207
3007
3008         Reviewed by Beth Dakin.
3009
3010         In preparation for adding a new async DecidePolicyForResponse message,
3011         rename the current one to DecidePolicyForResponseSync. Also split out the async part
3012         into a separate WebPageProxy::decidePolicyForResponse member function.
3013
3014         * UIProcess/WebPageProxy.cpp:
3015         (WebKit::WebPageProxy::WebPageProxy):
3016         (WebKit::WebPageProxy::receivedPolicyDecision):
3017         (WebKit::WebPageProxy::decidePolicyForResponse):
3018         (WebKit::WebPageProxy::decidePolicyForResponseSync):
3019         * UIProcess/WebPageProxy.h:
3020         (WebPageProxy):
3021         * UIProcess/WebPageProxy.messages.in:
3022         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3023         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
3024
3025 2013-04-25  Joseph Pecoraro  <pecoraro@apple.com>
3026
3027         Web Inspector: ConsoleMessage should include line and column number where possible
3028         https://bugs.webkit.org/show_bug.cgi?id=114929
3029
3030         Reviewed by Timothy Hatcher.
3031
3032         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3033         (WebKit::WebChromeClient::addMessageToConsole):
3034         * WebProcess/WebCoreSupport/WebChromeClient.h:
3035
3036 2013-04-25  Brady Eidson  <beidson@apple.com>
3037
3038         Thread safety issues in WKCustomProtocol.
3039         <rdar://problem/13247304> and https://bugs.webkit.org/show_bug.cgi?id=115185
3040
3041         Reviewed by Alexey Proskuryakov.
3042
3043         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
3044
3045         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
3046         (WebKit::CustomProtocolManager::addCustomProtocol): Protect m_customProtocolMap with its mutex.
3047         (WebKit::CustomProtocolManager::removeCustomProtocol): Ditto.
3048         (WebKit::CustomProtocolManager::didFailWithError):
3049         (WebKit::CustomProtocolManager::didLoadData):
3050         (WebKit::CustomProtocolManager::didReceiveResponse):
3051         (WebKit::CustomProtocolManager::didFinishLoading):
3052         (WebKit::CustomProtocolManager::protocolForID): Protect m_customProtocolMap with its mutex, and return
3053           a RetainPtr instead of a raw pointer.
3054
3055 2013-04-25  Jer Noble  <jer.noble@apple.com>
3056
3057         Further build fixes: correct two more misnames of WebProcessShim.dyld.
3058
3059         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
3060         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
3061         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
3062
3063 2013-04-25  Martin Robinson  <mrobinson@igalia.com>
3064
3065         Make gobject-introspection warnings non-fatal
3066         https://bugs.webkit.org/show_bug.cgi?id=115184
3067
3068         Reviewed by Carlos Garcia Campos.
3069
3070         * GNUmakefile.am: Make it so that gobject-introspection errors do not fail the buld
3071         until we get to a point where gobject-introspection gives consistent warnings.
3072
3073 2013-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3074
3075         [GTK] Add WebKitWebViewGroup to WebKit2 GTK+ API
3076         https://bugs.webkit.org/show_bug.cgi?id=111265
3077
3078         Reviewed by Anders Carlsson.
3079
3080         In the current API the settings are always shared by all web
3081         views, because they are always created on the default page
3082         group. This makes impossible to have different settings on
3083         different web views. Expose the page group in the API,
3084         so that users can create web views on a group different than the
3085         default one to have their own settings.
3086
3087         * GNUmakefile.list.am: Add new files to compilation.
3088         * UIProcess/API/gtk/WebKitSettings.cpp:
3089         (webkitSettingsGetPreferences): Helper private method to get the
3090         WebPreferences wrapped by a WebKitSettings object.
3091         * UIProcess/API/gtk/WebKitSettingsPrivate.h:
3092         * UIProcess/API/gtk/WebKitWebContext.cpp:
3093         (_WebKitWebContextPrivate): Add a default WebKitWebViewGroup.
3094         (webkitWebContextCreatePageForWebView): Create the WebPageProxy
3095         with the WebPageGroup of the given WebKitWebViewGroup.
3096         (webkitWebContextGetDefaultWebViewGroup): Helper private method to
3097         get the default WebKitWebViewGroup.
3098         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
3099         * UIProcess/API/gtk/WebKitWebView.cpp:
3100         (_WebKitWebViewPrivate): Add a WebKitWebViewGroup in case the view
3101         is created with a group.
3102         (webkitWebViewUpdateSettings): Keep a reference of the group
3103         settings to be able to disconnect the signals when the settings
3104         object is replaced in the view group and connect to the signals
3105         for the custom settings.
3106         (webkitWebViewSettingsChanged): Disconnect the signals for the
3107         previous settings and set the new settings.
3108         (webkitWebViewDisconnectSettingsChangedSignalHandler): Disconnect
3109         notify::settings signal of WebKitWebViewGroup.
3110         (webkitWebViewConstructed): Pass the current WebKitWebViewGroup to
3111         webkitWebContextCreatePageForWebView().
3112         (webkitWebViewSetProperty): Add setter for group property.
3113         (webkitWebViewGetProperty): Add getter for group property.
3114         (webkitWebViewDispose): Call
3115         webkitWebViewDisconnectSettingsChangedSignalHandler().
3116         (webkit_web_view_class_init): Add WebKitWebView:group property.
3117         (webkitWebViewHandleAuthenticationChallenge): Use
3118         webkit_web_view_get_settings().
3119         (webkit_web_view_new_with_group): Create a new web view with the
3120         given WebKitWebViewGroup.
3121         (webkit_web_view_get_group): Return the current WebKitWebViewGroup
3122         or the default one if the view was not created with
3123         webkit_web_view_new_with_group().
3124         (webkit_web_view_set_settings): Set the settings of the current
3125         WebKitWebViewGroup.
3126         (webkit_web_view_get_settings): Get the settings of the current
3127         WebKitWebViewGroup.
3128         (webkit_web_view_set_zoom_level): Use
3129         webkit_web_view_get_settings().
3130         (webkit_web_view_get_zoom_level): Ditto.
3131         * UIProcess/API/gtk/WebKitWebView.h:
3132         * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Added.
3133         (_WebKitWebViewGroupPrivate):
3134         (webkitWebViewGroupSetProperty):
3135         (webkitWebViewGroupGetProperty):
3136         (webkitWebViewGroupConstructed):
3137         (webkit_web_view_group_class_init):
3138         (webkitWebViewGroupAttachSettingsToPageGroup): Set the
3139         WebPreferences of the current WebKitSettings to the WebPageGroup.
3140         (webkitWebViewGroupCreate): Create a new WebKitWebViewGroup for
3141         the given WebPageGroup.
3142         (webkitWebViewGroupGetPageGroup): Helper private method to get the
3143         WebPageGroup wrapped by the WebKitWebViewGroup.
3144         (webkit_web_view_group_new): Create a new WebKitWebViewGroup.
3145         (webkit_web_view_group_get_name): Return the name of a
3146         WebKitWebViewGroup.
3147         (webkit_web_view_group_get_settings): Get the settings of a
3148         WebKitWebViewGroup.
3149         (webkit_web_view_group_set_settings): Set new settings of a
3150         WebKitWebViewGroup.
3151         * UIProcess/API/gtk/WebKitWebViewGroup.h: Added.
3152         (_WebKitWebViewGroup):
3153         (_WebKitWebViewGroupClass):
3154         * UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Added.
3155         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
3156         WebKitWebViewGroup section.
3157         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3158         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
3159         webkit_web_view_group_get_type.
3160         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
3161         compilation.
3162         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3163         (testWebViewSettings): We can't watch settings in the default view
3164         group anymore, because they are not released with the web view but
3165         with the web context that is freed after the Test destructor.
3166         * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added.
3167         (testWebViewGroupDefault):
3168         (testWebViewGroupNewGroup):
3169         (testWebViewNewWithGroup):
3170         (testWebViewGroupSettings):
3171         (beforeAll):
3172         (afterAll):
3173         * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewGroup.h.
3174
3175 2013-04-25  Jer Noble  <jer.noble@apple.com>
3176
3177         Unreviewed build fix: Fix the name of DyldInterpose.h in
3178         SecItemShimLibrary.mm, fix the name of WebProcessShim.dyld in
3179         WebContentServiceEntryPoint.mm, and stop linking against libWTF.a
3180         directly (which means removing ASSERTs from
3181         CookieStorageShimLibrary.cpp).
3182
3183         * Shared/mac/CookieStorageShimLibrary.cpp:
3184         (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL):
3185         (WebKit::WebKitCookieStorageShimInitialize):
3186         * WebKit2.xcodeproj/project.pbxproj:
3187         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
3188         (WebContentServiceInitializer):
3189         * WebProcess/mac/SecItemShimLibrary.mm:
3190
3191 2013-04-24  Tim Horton  <timothy_horton@apple.com>
3192
3193         PDFPlugin: Cursor should become an i-beam when over selectable text
3194         https://bugs.webkit.org/show_bug.cgi?id=115018
3195         <rdar://problem/12645012>
3196
3197         Reviewed by Alexey Proskuryakov.
3198
3199         * WebProcess/Plugins/PDF/PDFPlugin.h:
3200         Add updateCursor(), the UpdateCursorMode and HitTestResult enums, and
3201         storage for the last PDF hit test result.
3202         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3203         (WebKit::PDFPlugin::updateCursor):
3204         Hit test the PDF. If there is a word under the cursor, use the I-beam cursor,
3205         otherwise, use the default pointer cursor. This approximates PDFKit's behavior,
3206         though does not match it precisely in the case of annotations.
3207         Only send the cursor update to the UIProcess if it is a change, or if
3208         we're explicitly asked to update.
3209         (WebKit::PDFPlugin::handleMouseEvent):
3210         If we're processing a mouse moved event, update the cursor if needed.
3211         (WebKit::PDFPlugin::handleMouseEnterEvent):
3212         If the cursor just moved over the PDFPlugin, force-update the cursor,
3213         even if it matches the previously-set cursor (because something else
3214         likely updated the cursor while it was not over the PDFPlugin).
3215
3216 2013-04-24  Tim Horton  <timothy_horton@apple.com>
3217
3218         Page Overlays shouldn't waste time flushing layers if we're not going to use it
3219         https://bugs.webkit.org/show_bug.cgi?id=115145
3220
3221         Reviewed by Simon Fraser.
3222
3223         Don't flush the page overlay layer when it's installed - it starts out
3224         with paintContents=false, so we don't really need a CALayer yet. We'll
3225         flush later if need be.
3226
3227         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3228         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
3229
3230 2013-04-24  Jer Noble  <jer.noble@apple.com>
3231
3232         Further unreviewed build fix; CFNetwork.framework is the one which Lion
3233         refuses to link against.
3234
3235         * WebKit2.xcodeproj/project.pbxproj:
3236
3237 2013-04-24  Jer Noble  <jer.noble@apple.com>
3238
3239         Unreviewed build fix; link against CoreServices.framework instead of against
3240         CoreFoundation.framework directly, to make the linker happy on Lion.
3241
3242         * WebKit2.xcodeproj/project.pbxproj:
3243
3244 2013-04-22  Jer Noble  <jer.noble@apple.com>
3245
3246         WWDC session videos don’t play at developer.apple.com
3247         https://bugs.webkit.org/show_bug.cgi?id=114858
3248
3249         Reviewed by Eric Carlson. Rubber stamped by Brady Eidson.
3250
3251         AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
3252         However, in the case where network access happens in the NetworkProcess, session
3253         cookies are stored in-memory, and are not accessable in the WebProcess. Until such
3254         a time as AVFoundation can provide an API which would allow us to provide cookies
3255         for a specific request, we will interpose the CFNetwork method which they use to
3256         retrieve the cookie string from the cookie store for their pending request.
3257
3258         Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
3259         target includes the SecItemShim functionality, but will add a new shim for cookie
3260         retrieval:
3261         * Shared/mac/CookieStorageShimLibrary.h: Added
3262         (CookieStorageShimCallbacks):
3263         * Shared/mac/CookieStorageShimLibrary.cpp: Added.
3264         (WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
3265         (WebKit::ShimProtector::~ShimProtector):
3266         (WebKit::ShimProtector::count):
3267         (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose
3268             the CFNetwork call, and pass to the registered callback.
3269         (WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.
3270
3271         Add a helper singleton class which will talk to the shim through the 
3272         registered callbacks:
3273         * Shared/mac/CookieStorageShim.h: Added
3274         (WebKit::CookieStorageShim::CookieStorageShim):
3275         * Shared/mac/CookieStorageShim.cpp: Added.
3276         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request
3277             over to the NetworkProcess.
3278         (WebKit::CookieStorageShim::shared): Simple singleton.
3279         (WebKit::CookieStorageShim::initialize): Call the library initializer.
3280
3281         Initialize the shim only when the WebProcess is delegating network loading
3282         to the NetworkProcess:
3283         * WebProcess/WebProcess.cpp:
3284         (WebKit::WebProcess::initializeWebProcess):
3285
3286         Rename the WebProcess's shim from SecItemShim -> WebProcessShim:
3287         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3288         (WebKit::addDYLDEnvironmentAdditions):
3289         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
3290         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
3291         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
3292         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
3293         (WebContentServiceInitializer):
3294
3295         As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
3296         own header:
3297         * Shared/mac/DyldInterpose.h: Added.
3298         * PluginProcess/mac/PluginProcessShim.mm:
3299         * WebProcess/mac/SecItemShimLibrary.mm:
3300
3301         Add new files to the project:
3302         * WebKit2.xcodeproj/project.pbxproj:
3303
3304 2013-04-24  Byungwoo Lee  <bw80.lee@samsung.com>
3305
3306         [EFL] Fix build error after r148963.
3307         https://bugs.webkit.org/show_bug.cgi?id=115126
3308
3309         Reviewed by Laszlo Gombos.
3310
3311         Generate forwarding headers for 'CoordinatedGraphics' to generate WKView.h
3312
3313         * PlatformEfl.cmake:
3314
3315 2013-04-24  Anders Carlsson  <andersca@apple.com>
3316
3317         Crash when trying to determine the length of an invalid message
3318         https://bugs.webkit.org/show_bug.cgi?id=115127
3319         <rdar://problem/13700736>
3320
3321         Reviewed by Beth Dakin.
3322
3323         Use message instead of incomingMessage since incomingMessage will always be null.
3324
3325         * Platform/CoreIPC/Connection.cpp:
3326         (CoreIPC::Connection::processIncomingMessage):
3327
3328 2013-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3329
3330         [GTK] Use stamp files for generate-forwarding-headers makefile rules
3331         https://bugs.webkit.org/show_bug.cgi?id=115118
3332
3333         Reviewed by Martin Robinson.
3334
3335         Use a stamp file for the WebKit2 forwarding generator rule. Also
3336         fix the rule dependencies that pointed to a non existent variable.
3337
3338         * GNUmakefile.am:
3339
3340 2013-04-24  Zan Dobersek  <zdobersek@igalia.com>
3341
3342         [GTK][WK2] Implement LayerTreeHostGtk::pageBackgroundTransparencyChanged
3343         https://bugs.webkit.org/show_bug.cgi?id=115094
3344
3345         Reviewed by Tim Horton.
3346
3347         The method was introduced in r149004 (and a stub implementation for the GTK port added in r149017).
3348         Implement the method for the GTK port in the same manner it is implemented under the Mac port,
3349         calling setContentsOpaque on the non-composited content layer.
3350
3351         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3352         (WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):
3353
3354 2013-04-24  Simon Cooper  <scooper@apple.com>
3355
3356         <rdar://problem/13614117> Refine the Flash Player profile
3357         https://bugs.webkit.org/show_bug.cgi?id=115016
3358
3359         Reviewed by Alexey Proskuryakov.
3360
3361         Add some refinements to the Flash Player profile. Make a non-/ home
3362         directory work. Fixes that allow file uploading via user selected files.
3363
3364         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
3365
3366 2013-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3367
3368         [WebKit2] Add CoordinatedGraphics to the list of platforms in generate-forwarding-headers.pl
3369         https://bugs.webkit.org/show_bug.cgi?id=115098
3370
3371         Reviewed by Martin Robinson.
3372
3373         r148963 introduced a new WKView.h header in a directory not listed
3374         as a platform prefix in generate-forwarding-headers.pl.
3375
3376         * Scripts/generate-forwarding-headers.pl: Replace unused chromium
3377         plaform prefix with CoordinatedGraphics that is used now.
3378
3379 2013-04-24  Seokju Kwon  <seokju.kwon@gmail.com>
3380
3381         Web Inspector: Add number to list from remote web inspector.
3382         https://bugs.webkit.org/show_bug.cgi?id=115014
3383
3384         Reviewed by Benjamin Poulain.
3385
3386         * UIProcess/InspectorServer/front-end/inspectorPageIndex.html:
3387
3388 2013-04-24  Vlad Vasilyeu  <vasvlad@gmail.com>
3389
3390         --minimal build fails with error: Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:44:36: error: decode is not a member of WebCore::TextCheckingResult
3391         https://bugs.webkit.org/show_bug.cgi?id=114367
3392
3393         Reviewed by Benjamin Poulain.
3394
3395         Include WebCoreArgumentCoders.h to WebEditorClientEfl.cpp from
3396         WebKit2/Shared/ for successfully building with option --minimal
3397
3398         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
3399
3400 == Rolled over to ChangeLog-2013-04-24 ==