[Qt][WK2] Unreviewed build fix after r150305 and r150306.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
2
3         [Qt][WK2] Unreviewed build fix after r150305 and r150306.
4
5         * DerivedSources.pri:
6         * Target.pri:
7
8 2013-05-18  Zan Dobersek  <zdobersek@igalia.com>
9
10         Unreviewed build fix for the GTK port after r150305 and r150306.
11
12         * GNUmakefile.list.am:
13
14 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
15
16         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
17         https://bugs.webkit.org/show_bug.cgi?id=116359
18
19         The condition was accidentally negated, fixing.
20
21         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
22         (WebKit::WebPlatformStrategies::isAvailable):
23
24 2013-05-17  Gavin Barraclough  <barraclough@apple.com>
25
26         Only allow 1 WebProcess to hold a PageCache
27         https://bugs.webkit.org/show_bug.cgi?id=116368
28         <rdar://problem/13392600>
29
30         Reviewed by Geoff Garen & Anders Carlson.
31
32         * UIProcess/WebContext.cpp:
33         (WebKit::WebContext::WebContext):
34         (WebKit::WebContext::processDidSaveToPageCache):
35         (WebKit):
36         (WebKit::WebContext::disconnectProcess):
37         * UIProcess/WebContext.h:
38             - Added m_processWithPageCache, only allow one process to keep a PageCache.
39         (WebContext):
40         * UIProcess/WebPageProxy.cpp:
41         (WebKit::WebPageProxy::didSaveToPageCache):
42         (WebKit):
43         * UIProcess/WebPageProxy.h:
44         (WebPageProxy):
45         * UIProcess/WebPageProxy.messages.in:
46             - Forward didSaveToPageCache to the WebProcessProxy.
47         * UIProcess/WebProcessProxy.cpp:
48         (WebKit::WebProcessProxy::addBackForwardItem):
49         (WebKit::WebProcessProxy::didSaveToPageCache):
50         (WebKit):
51         (WebKit::WebProcessProxy::releasePageCache):
52             - Forward releasePageCache to the WebProcess.
53             - Forward didSaveToPageCache to the WebContext.
54         * UIProcess/WebProcessProxy.h:
55         (WebProcessProxy):
56         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
57         (WebKit::WebFrameLoaderClient::didSaveToPageCache):
58             - Forward didSaveToPageCache to the WebPageProxy.
59         * WebProcess/WebProcess.cpp:
60         (WebKit::WebProcess::releasePageCache):
61         (WebKit):
62         * WebProcess/WebProcess.h:
63         (WebProcess):
64         * WebProcess/WebProcess.messages.in:
65             - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.
66
67 2013-05-17  Anders Carlsson  <andersca@apple.com>
68
69         Share code between WebKit1 and WebKit2 StorageArea subclasses
70         https://bugs.webkit.org/show_bug.cgi?id=116367
71
72         Reviewed by Andreas Kling.
73
74         * WebProcess/Storage/StorageAreaImpl.cpp:
75         (WebKit::StorageAreaImpl::length):
76         Remove code that's now in Storage::length.
77
78         (WebKit::StorageAreaImpl::storageType):
79         Make this a virtual member function.
80
81         * WebProcess/Storage/StorageAreaImpl.h:
82
83 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
84
85         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
86         https://bugs.webkit.org/show_bug.cgi?id=116359
87
88         Reviewed by Anders Carlsson.
89
90         Implement SharedWorkerStrategy::isAvailable.
91
92         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
93         (WebKit::WebPlatformStrategies::isAvailable):
94         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
95
96 2013-05-17  Beth Dakin  <bdakin@apple.com>
97
98         Headers and footers will sometimes disappear and re-appear during page loads
99         https://bugs.webkit.org/show_bug.cgi?id=116336
100         -and corresponding-
101         <rdar://problem/13886753>
102
103         Reviewed by Simon Fraser.
104
105         This patch changes the WebCore-level API that WebKit uses to create a banner. 
106         Specifically this patch removes FrameView::setWantsLayerForHeader(), which created 
107         and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the 
108         layer has been created, it will call back into WK2 via ChromeClient. This will 
109         allow WebCore to re-create the header/footer layers as needed whenever the 
110         FrameView/RenderLayerCompositor have been destroyed and recreated.
111
112         Send the layers over to PageBanner.
113         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
114         (WebKit::WebChromeClient::didAddHeaderLayer):
115         (WebKit::WebChromeClient::didAddFooterLayer):
116         * WebProcess/WebCoreSupport/WebChromeClient.h:
117         (WebChromeClient):
118
119         PageBanner::addToPage() now does much less work since it can’t get the parent 
120         layer right away. The work that is used to do once it had the parent layer is now 
121         performed in didAddParentLayer()
122         * WebProcess/WebPage/PageBanner.cpp:
123         (WebKit::PageBanner::didAddParentLayer):
124         * WebProcess/WebPage/PageBanner.h:
125         * WebProcess/WebPage/mac/PageBannerMac.mm:
126         (WebKit::PageBanner::addToPage):
127         (WebKit::PageBanner::didAddParentLayer):
128
129 2013-05-17  Anders Carlsson  <andersca@apple.com>
130
131         Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager
132         https://bugs.webkit.org/show_bug.cgi?id=116361
133
134         Reviewed by Andreas Kling.
135
136         There's nothing proxy about this class anymore!
137
138         * UIProcess/API/C/WKAPICast.h:
139         * UIProcess/API/C/WKContext.cpp:
140         * UIProcess/API/C/WKKeyValueStorageManager.cpp:
141         * UIProcess/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp.
142         * UIProcess/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h.
143         * WebKit2.xcodeproj/project.pbxproj:
144
145 2013-05-17  Anders Carlsson  <andersca@apple.com>
146
147         Remove dead local storage code
148         https://bugs.webkit.org/show_bug.cgi?id=116360
149
150         Reviewed by Beth Dakin.
151
152         Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process.
153
154         * DerivedSources.make:
155         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
156         (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
157         (WebKit):
158         (WebKit::didGetKeyValueStorageOrigins):
159         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
160         * UIProcess/WebKeyValueStorageManagerProxy.h:
161         (WebKeyValueStorageManagerProxy):
162         * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Removed.
163         * WebKit2.xcodeproj/project.pbxproj:
164         * WebProcess/Storage/WebKeyValueStorageManager.cpp: Removed.
165         * WebProcess/Storage/WebKeyValueStorageManager.h: Removed.
166         * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Removed.
167         * WebProcess/WebPage/WebPage.cpp:
168         (WebKit::WebPage::updatePreferences):
169         * WebProcess/WebProcess.cpp:
170         (WebKit::WebProcess::WebProcess):
171
172 2013-05-17  Anders Carlsson  <andersca@apple.com>
173
174         Use the UI process storage manager for deleting local storage data
175         https://bugs.webkit.org/show_bug.cgi?id=116358
176         <rdar://problem/13852829>
177
178         Reviewed by Andreas Kling.
179
180         * Shared/WebSecurityOrigin.h:
181         (WebKit::WebSecurityOrigin::protocol):
182         (WebKit::WebSecurityOrigin::host):
183         (WebKit::WebSecurityOrigin::databaseIdentifier):
184         (WebKit::WebSecurityOrigin::toString):
185         Remove unneeded consts.
186
187         (WebKit::WebSecurityOrigin::securityOrigin):
188         Add getter.
189
190         * UIProcess/Storage/LocalStorageDatabase.cpp:
191         (WebKit::LocalStorageDatabase::close):
192         deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin.
193
194         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
195         (WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
196         Rename since this is no longer used only for empty databases.
197
198         (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
199         Loop over the tracker database and delete all database files.
200
201         * UIProcess/Storage/StorageManager.cpp:
202         (WebKit::StorageManager::StorageArea::clear):
203         Clear the map, close the database and tell all event listeners to reset their caches.
204
205         (WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin):
206         Loop over all storage areas and call clear on those matching the security origin.
207
208         (WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas):
209         Loop over all storage areas and call clear on them.
210         
211         (WebKit::StorageManager::deleteEntriesForOrigin):
212         Dispatch deleteEntriesForOriginInternal on the work queue.
213
214         (WebKit::StorageManager::deleteAllEntries):
215         Dispatch deleteAllEntriesInternal on the work queue.
216
217         (WebKit::StorageManager::deleteEntriesForOriginInternal):
218         Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database.
219
220         (WebKit::StorageManager::deleteAllEntriesInternal):
221         Call clearAllStorageAreas on all local storage namespaces and then delete all databases.
222
223         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
224         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
225         Call out to the storage manager.
226
227         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
228         Ditto.
229
230         * WebProcess/Storage/StorageAreaMap.cpp:
231         (WebKit::StorageAreaMap::clearCache):
232         Call resetValues which will null out the storage map.
233
234         * WebProcess/Storage/StorageAreaMap.messages.in:
235         Add ClearCache message.
236
237 2013-05-17  Anders Carlsson  <andersca@apple.com>
238
239         Only import local storage items from the database once
240         https://bugs.webkit.org/show_bug.cgi?id=116354
241
242         Reviewed by Andreas Kling.
243
244         We import items from the database over and over, when we only want to do it once. Use a 
245         boolean flag to guard against doing it more than once. 
246         
247         Also, rename importItemsFromDatabase to openDatabaseAndImportItemsIfNeeded since it now
248         also opens the database (even if it doesn't need to import anything). This is preparation for an
249         upcoming patch where the database will be closed when it's cleared.
250
251         * UIProcess/Storage/StorageManager.cpp:
252         (StorageManager::StorageArea):
253         (WebKit::StorageManager::StorageArea::StorageArea):
254         (WebKit::StorageManager::StorageArea::setItem):
255         (WebKit::StorageManager::StorageArea::removeItem):
256         (WebKit::StorageManager::StorageArea::clear):
257         (WebKit::StorageManager::StorageArea::items):
258         (WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):
259
260 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
261
262         <rdar://problem/13869765> Lion: Crashes in islcCanLoadInputMethodFromBundleID.
263
264         Reviewed by Anders Carlsson.
265
266         * WebProcess/com.apple.WebProcess.sb.in: Allow text input directories.
267
268 2013-05-17  Anders Carlsson  <andersca@apple.com>
269
270         WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
271         https://bugs.webkit.org/show_bug.cgi?id=116346
272         <rdar://problem/13852829>
273
274         Reviewed by Andreas Kling.
275
276         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
277         (WebKit::LocalStorageDatabaseTracker::origins):
278         New helper function to return all the tracked origins.
279
280         * UIProcess/Storage/StorageManager.cpp:
281         (WebKit::StorageManager::StorageManager):
282         Initialize the UTF-8 encoding.
283
284         (WebKit::StorageManager::getOrigins):
285         Call getOriginsInternal on our queue.
286
287         (WebKit::callCallbackFunction):
288         Helper function for calling the callback function.
289
290         (WebKit::StorageManager::getOriginsInternal):
291         Get the origins and make sure we call the callback with the given function dispatcher.
292
293         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
294         (WebKit::didGetKeyValueStorageOriginsCallback):
295         Construct the array of WebSecurityOrigin objects and call the callback.
296
297         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
298         Call StorageManager::getOrigins.
299
300 2013-05-16  Alexey Proskuryakov  <ap@apple.com>
301
302         Text input is largely broken when there are subframes loading
303         http://bugs.webkit.org/show_bug.cgi?id=59121
304         <rdar://problem/9320468>
305
306         Reviewed by Darin Adler.
307
308         * UIProcess/PageClient.h:
309         * UIProcess/API/mac/PageClientImpl.h:
310         * UIProcess/API/mac/PageClientImpl.mm:
311         (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state
312         updating into a separate function. Removed updateTextInputState, we don't need
313         to go through PageClient to implement its behavior at all.
314         (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME.
315
316         * UIProcess/API/mac/WKView.mm:
317         * UIProcess/API/mac/WKViewInternal.h:
318         Removed _updateTextInputStateIncludingSecureInputState.
319
320         * UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps
321         to figure out that WebCore decided to close a composition. The issue is that WebCore
322         would first send an EditorState with hasComposition set to false, and with
323         shouldIgnoreCompositionSelectionChange set to true, at which time we forget the
324         previous m_editorState, but can't make any decisions based on this transient state.
325         We should find a way to simplify this (maybe not send these updates with
326         shouldIgnoreCompositionSelectionChange at all?)
327
328         * UIProcess/WebPageProxy.cpp:
329         (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition.
330         (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition
331         when any frame commits a load, which made no sense (along with surrounding code,
332         which will unfortunately survive longer).
333         (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here,
334         we don't need to go to WKView.mm to implement this logic. Figure out when WebCore
335         discards a composition, and notify input methods about this.
336         (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition.
337         Added some FIXMEs.
338
339 2013-05-17  Manuel Rego Casasnovas  <rego@igalia.com>
340
341         [WK2] Add support for selectTrailingWhitespaceEnabled setting
342         https://bugs.webkit.org/show_bug.cgi?id=112426
343
344         Reviewed by Ryosuke Niwa.
345
346         * Shared/WebPreferencesStore.h:
347         (WebKit): Add macro for selectTrailingWhitespaceEnabled.
348         * UIProcess/API/C/WKPreferences.cpp:
349         (WKPreferencesSetSelectTrailingWhitespaceEnabled):
350         (WKPreferencesGetSelectTrailingWhitespaceEnabled): Implement methods
351         using the new setting.
352         * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
353         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
354         (WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): Implement
355         method delegating in WebPage.
356         * WebProcess/WebPage/WebPage.cpp:
357         (WebKit::WebPage::updatePreferences): Set
358         selectTrailingWhitespaceEnabled setting.
359         (WebKit::WebPage::setSmartInsertDeleteEnabled): Set
360         selectTrailingWhitespaceEnabled as they are mutually exclusive.
361         (WebKit):
362         (WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method
363         using settings.
364         (WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method
365         using settings and set smartInsertDeleteEnabled as they are mutually
366         exclusive.
367         * WebProcess/WebPage/WebPage.h:
368         (WebPage): Add new methods headers.
369
370 2013-05-17  Brady Eidson  <beidson@apple.com>
371
372         Fix crash introduced by http://trac.webkit.org/changeset/150282
373         Followup to https://bugs.webkit.org/show_bug.cgi?id=116253
374
375         Reviewed by Andreas Kling.
376
377         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
378         (WebKit::WebChromeClient::focusedFrameChanged): Frame might be null.
379
380 2013-05-17  Brady Eidson  <beidson@apple.com>
381
382         Replace WebFrameLoaderClient static_casts with a function that might return null.
383         https://bugs.webkit.org/show_bug.cgi?id=116253
384
385         The general approach here is:
386         1 - Introduce a toWebFrameLoaderClient() function to convert FrameLoaderClients, and that may return null.
387         2 - Adopt toWebFrameLoaderClient() everywhere we used to do a direct static_cast<WebFrameLoaderClient*>
388         3 - In functions that already support a "return 0" scenario, a failed cast results in a return 0.
389         4 - In other functions that assume no failure to get the WebFrameLoaderClient, add an ASSERT.
390
391         Reviewed by Alexey Proskuryakov.
392
393         Add the utility function to cast:
394         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
395         (WebKit::toWebFrameLoaderClient):
396
397         Adopt it everywhere:
398         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
399         (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
400
401         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
402         (WebKit::InjectedBundleNodeHandle::documentFrame):
403         (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
404         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
405
406         * WebProcess/InjectedBundle/InjectedBundle.cpp:
407         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
408
409         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
410         (WebKit::InjectedBundleDOMWindowExtension::frame):
411
412         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
413         (WebKit::InjectedBundleHitTestResult::frame):
414         (WebKit::InjectedBundleHitTestResult::targetFrame):
415
416         * WebProcess/Network/WebResourceLoadScheduler.cpp:
417         (WebKit::WebResourceLoadScheduler::scheduleLoad):
418
419         * WebProcess/Plugins/PluginView.cpp:
420         (WebKit::webPage):
421         (WebKit::PluginView::performFrameLoadURLRequest):
422
423         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
424         (WebKit::WebChromeClient::focusedNodeChanged):
425         (WebKit::WebChromeClient::focusedFrameChanged):
426         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
427         (WebKit::WebChromeClient::runJavaScriptAlert):
428         (WebKit::WebChromeClient::runJavaScriptConfirm):
429         (WebKit::WebChromeClient::runJavaScriptPrompt):
430         (WebKit::WebChromeClient::print):
431         (WebKit::WebChromeClient::exceededDatabaseQuota):
432         (WebKit::WebChromeClient::runOpenPanel):
433
434         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
435         (WebKit::WebEditorClient::textFieldDidBeginEditing):
436         (WebKit::WebEditorClient::textFieldDidEndEditing):
437         (WebKit::WebEditorClient::textDidChangeInTextField):
438         (WebKit::WebEditorClient::textDidChangeInTextArea):
439         (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
440         (WebKit::WebEditorClient::textWillBeDeletedInTextField):
441
442         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
443         (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
444         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
445
446         * WebProcess/WebPage/WebFrame.cpp:
447         (WebKit::WebFrame::contentsAsString):
448         (WebKit::WebFrame::parentFrame):
449         (WebKit::WebFrame::childFrames):
450         (WebKit::WebFrame::frameForContext):
451         (WebKit::WebFrameFilter::shouldIncludeSubframe):
452
453         * WebProcess/WebPage/WebPage.cpp:
454         (WebKit::WebPage::mainFrameHasCustomRepresentation):
455
456 2013-05-17  Sam Weinig  <sam@webkit.org>
457
458         Expose new load-with-userData API to Objective-C
459         https://bugs.webkit.org/show_bug.cgi?id=116335
460
461         Reviewed by Anders Carlsson.
462
463         - Adds loadRequest:userData:, loadFileURL:restrictToFilesWithin:userData:, loadHTMLString:baseURL:userData:
464           loadData:MIMEType:textEncodingName:baseURL:, and loadData:MIMEType:textEncodingName:baseURL:userData.
465         - Adds a WKObjCTypeWrapperRef (which is a ObjCObjectGraph under the covers) to allow the userData to be unwrapped
466           in the injected bundles willLoadURLRequest and willLoadDataRequest C-SPI callbacks.
467
468         * Shared/API/c/WKBase.h:
469         * Shared/API/c/WKSharedAPICast.h:
470         * Shared/API/c/mac/WKBaseMac.h: Added.
471         * Shared/API/c/mac/WKObjCTypeWrapperRef.h: Added.
472         * Shared/API/c/mac/WKObjCTypeWrapperRef.mm: Added.
473         (WKObjCTypeWrapperGetTypeID):
474         (WKObjCTypeWrapperCreate):
475         (WKObjCTypeWrapperGetObject):
476         * UIProcess/API/mac/WKBrowsingContextController.h:
477         * UIProcess/API/mac/WKBrowsingContextController.mm:
478         (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
479         (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
480         (-[WKBrowsingContextController loadRequest:]):
481         (-[WKBrowsingContextController loadRequest:userData:]):
482         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
483         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
484         (-[WKBrowsingContextController loadHTMLString:baseURL:]):
485         (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
486         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:]):
487         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
488         * WebKit2.xcodeproj/project.pbxproj:
489
490 2013-05-17  Sam Weinig  <sam@webkit.org>
491
492         Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs
493         https://bugs.webkit.org/show_bug.cgi?id=116325
494
495         Reviewed by Simon Fraser.
496
497         * UIProcess/API/C/WKPage.cpp:
498         (WKPageLoadData):
499         (WKPageLoadDataWithUserData):
500         Add new SPI.
501
502         * UIProcess/API/C/WKPage.h:
503         * UIProcess/WebPageProxy.cpp:
504         (WebKit::WebPageProxy::loadData):
505         * UIProcess/WebPageProxy.h:
506         Pipe through to the WebProcess.
507
508         * WebProcess/WebPage/WebPage.h:
509         * WebProcess/WebPage/WebPage.messages.in:
510         * WebProcess/WebPage/WebPage.cpp:
511         (WebKit::WebPage::loadDataImpl):
512         (WebKit::WebPage::loadData):
513         (WebKit::WebPage::loadHTMLString):
514         (WebKit::WebPage::loadAlternateHTMLString):
515         (WebKit::WebPage::loadPlainTextString):
516         (WebKit::WebPage::loadWebArchiveData):
517         Rename existing loadData function to loadDataImpl (I hate it) to avoid overload conflict
518         from IPC magic.
519
520
521 2013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
522
523         [EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
524         https://bugs.webkit.org/show_bug.cgi?id=116321
525
526         Reviewed by Christophe Dumez.
527
528         During sub menu creation, after initializing m_parentMenu, parentMenu
529         pointer became null which may cause segfaults. This patch fixes it by
530         using m_parentMenu.
531
532         * UIProcess/API/efl/ewk_context_menu_item.cpp:
533         (EwkContextMenuItem::EwkContextMenuItem):
534
535 2013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
536
537         [EFL][WK2] Support sub menu in ewk context menus
538         https://bugs.webkit.org/show_bug.cgi?id=114729
539
540         Reviewed by Christophe Dumez.
541
542         Added submenu support in EwkContextMenu and an API function to receive
543         Ewk_Context_Menu from submenu context menu item. A test case was added
544         for new API function.
545         EwkContextMenu is now an EwkObject allowing multiple instances of submenu
546         to be used in different submenu type context menu items.
547
548         * UIProcess/API/efl/ewk_context_menu_item.cpp:
549         (EwkContextMenuItem::EwkContextMenuItem):
550         (ewk_context_menu_item_new):
551         (ewk_context_menu_item_parent_menu_get):
552         (ewk_context_menu_item_submenu_get):
553         * UIProcess/API/efl/ewk_context_menu_item.h:
554         * UIProcess/API/efl/ewk_context_menu_item_private.h:
555         (EwkContextMenuItem::create):
556         (EwkContextMenuItem::parentMenu):
557         (EwkContextMenuItem::subMenu):
558         (EwkContextMenuItem):
559         * UIProcess/API/efl/ewk_context_menu_private.h:
560         (EwkContextMenu::ewkView):
561         (EwkContextMenu):
562         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
563         (showContextMenu):
564
565 2013-05-17  Zoltan Arvai  <zarvai@inf.u-szeged.hu>, Ádám Kallai  <kadam@inf.u-szeged.hu>
566
567         [Qt] Unreviewed build fix.
568
569         Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest.
570
571         * WebProcess/qt/QtBuiltinBundlePage.cpp:
572         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
573
574 2013-05-16  Beth Dakin  <bdakin@apple.com>
575
576         Remove WKBundlePageGetHeaderLayer/Footer SPI
577         https://bugs.webkit.org/show_bug.cgi?id=116254
578
579         Reviewed by Benjamin Poulain.
580
581         We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only 
582         recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer.
583
584         * WebKit2.xcodeproj/project.pbxproj:
585         * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Removed.
586         * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Removed.
587         * WebProcess/WebPage/WebPage.h:
588         (WebPage):
589         * WebProcess/WebPage/mac/WebPageMac.mm:
590         (WebKit):
591         (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
592
593 2013-05-14  Sam Weinig  <sam@webkit.org>
594
595         Add variants of the loading APIs that take user data and a way for the injected bundle to find out about them
596         https://bugs.webkit.org/show_bug.cgi?id=116132
597
598         Reviewed by Anders Carlsson.
599
600         Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions,
601         willLoadURLRequest and willLoadDataRequest to let the bundle access them.
602
603         Adds WebKit2WillLoadTest.* API tests.
604
605         * UIProcess/API/C/WKPage.cpp:
606         (WKPageLoadURLWithUserData):
607         (WKPageLoadURLRequestWithUserData):
608         (WKPageLoadFile):
609         (WKPageLoadFileWithUserData):
610         (WKPageLoadHTMLStringWithUserData):
611         (WKPageLoadAlternateHTMLStringWithUserData):
612         (WKPageLoadPlainTextStringWithUserData):
613         (WKPageLoadWebArchiveDataWithUserData):
614         * UIProcess/API/C/WKPage.h:
615         * UIProcess/WebPageProxy.cpp:
616         * UIProcess/WebPageProxy.h:
617         (WebPageProxy):
618         * WebKit2.xcodeproj/project.pbxproj:
619         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
620         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
621         (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
622         (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
623         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
624         (WebCore):
625         (InjectedBundlePageLoaderClient):
626         * WebProcess/WebPage/WebPage.cpp:
627         * WebProcess/WebPage/WebPage.h:
628         * WebProcess/WebPage/WebPage.messages.in:
629
630 2013-05-16  Manuel Rego Casasnovas  <rego@igalia.com>
631
632         [GTK] Fix memory leak in WebKitBackForwardList
633         https://bugs.webkit.org/show_bug.cgi?id=116222
634
635         Reviewed by Carlos Garcia Campos.
636
637         Due to the use of leakRef() the ImmutableArray is not being released
638         automatically. Adding a local variable in the methods to make sure that
639         the ImmutableArray is freed.
640
641         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
642         (webkit_back_forward_list_get_back_list_with_limit): Add local variable
643         RefPtr and pass the ImmutableArray to
644         WebKitBackForwardList::webkitBackForwardListCreateList() using
645         RefPtr::get().
646         (webkit_back_forward_list_get_forward_list_with_limit): Ditto.
647
648 2013-05-16  Commit Queue  <commit-queue@webkit.org>
649
650         Unreviewed, rolling out r150034.
651         http://trac.webkit.org/changeset/150034
652         https://bugs.webkit.org/show_bug.cgi?id=116257
653
654         This work around doesn't work due to another bug NSUndoManager
655         has (Requested by rniwa on #webkit).
656
657         * UIProcess/API/mac/PageClientImpl.mm:
658         (WebKit::PageClientImpl::registerEditCommand):
659
660 2013-05-16  Tim Horton  <timothy_horton@apple.com>
661
662         PDFPlugins don't load when plugins are disabled, but they should
663         https://bugs.webkit.org/show_bug.cgi?id=75790
664         <rdar://problem/11650197>
665
666         Reviewed by Anders Carlsson.
667
668         Support loading "application" plug-ins even if plug-ins are explicitly disabled.
669
670         Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
671         be loaded even if plug-ins are disabled.
672
673         * Platform/CoreIPC/HandleMessage.h:
674         (CoreIPC::callMemberFunction):
675         Add a 5-argument, 3-reply version of callMemberFunction.
676
677         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
678         (WebKit::NetscapePluginModule::getPluginInfo):
679         NPAPI plug-ins are not application plug-ins.
680
681         * Shared/WebCoreArgumentCoders.cpp:
682         (CoreIPC::::encode):
683         (CoreIPC::::decode):
684         Encode/decode the new isApplicationPlugin field on PluginInfo.
685
686         * UIProcess/Plugins/PluginInfoStore.cpp:
687         (WebKit::PluginInfoStore::findPluginForMIMEType):
688         (WebKit::PluginInfoStore::findPluginForExtension):
689         (WebKit::PluginInfoStore::findPlugin):
690         * UIProcess/Plugins/PluginInfoStore.h:
691         (PluginInfoStore):
692         Give PluginInfoStore's findPlugin method and its private helper
693         methods an argument allowing them to only match application plug-ins.
694
695         (WebKit::WebPageProxy::findPlugin):
696         * UIProcess/WebPageProxy.h:
697         (WebPageProxy):
698         * UIProcess/WebPageProxy.messages.in:
699         Add an argument allowing findPlugin to restrict its search to only application plug-ins.
700
701         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
702         (WebKit::WebFrameLoaderClient::objectContentType):
703         Previously, this caller depended on pluginData() returning null if
704         plug-ins were disabled. Since that is no longer the case, we have to
705         check if we can use plug-ins, and otherwise ignore non-application-plug-ins.
706
707         * WebProcess/WebPage/WebPage.cpp:
708         (WebKit::WebPage::createPlugin):
709         When going to search for a plug-in, ask subframeLoader whether or not
710         it's OK to use ordinary non-application plug-ins, and pass that information
711         on to the UIProcess when performing the search.
712
713         (WebKit::WebPage::canPluginHandleResponse): Ditto.
714         (WebKit::WebPage::canShowMIMEType):
715         Ensure that canShowMIMEType returns true if we have an application plug-in
716         that can display a particular MIME type, even if we're not allowed to load plug-ins.
717
718 2013-05-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
719
720         [EFL][WK2] Make Ewk_Context_Menu Ewk_Object
721         https://bugs.webkit.org/show_bug.cgi?id=116097
722
723         Reviewed by Gyuyoung Kim.
724
725         Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
726         object can be shared between different modules.
727
728         * UIProcess/API/efl/EwkView.cpp:
729         (EwkView::showContextMenu):
730         * UIProcess/API/efl/EwkView.h:
731         (EwkView):
732         * UIProcess/API/efl/ewk_context_menu.cpp:
733         (EwkContextMenu::appendItem):
734         (EwkContextMenu::removeItem):
735         (ewk_context_menu_new):
736         (ewk_context_menu_new_with_items):
737         (ewk_context_menu_item_append):
738         (ewk_context_menu_item_remove):
739         (ewk_context_menu_hide):
740         (ewk_context_menu_items_get):
741         (ewk_context_menu_item_select):
742         * UIProcess/API/efl/ewk_context_menu_item.cpp:
743         (EwkContextMenuItem::EwkContextMenuItem):
744         (ewk_context_menu_item_new_with_submenu):
745         * UIProcess/API/efl/ewk_context_menu_item_private.h:
746         (EwkContextMenuItem):
747         * UIProcess/API/efl/ewk_context_menu_private.h:
748         (EwkContextMenu):
749         (EwkContextMenu::create):
750         * UIProcess/API/efl/ewk_defines.h:
751
752 2013-05-16  Andreas Kling  <akling@apple.com>
753
754         Page::chrome() should return a reference.
755         <http://webkit.org/b/116185>
756
757         Reviewed by Anders Carlsson.
758
759 2013-05-16  Brady Eidson  <beidson@apple.com>
760
761         svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
762         <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917
763
764         Reviewed by Sam Weinig.
765
766         * NetworkProcess/SchedulableLoader.cpp:
767         (WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or
768           that the client cannot be asked for credentials.
769
770         * WebProcess/Network/WebResourceLoadScheduler.cpp:
771         (WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage
772           if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
773           available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
774           a frame and page ID or that the client won’t be asked for credentials.
775
776 2013-05-16  Timothy Hatcher  <timothy@apple.com>
777
778         Make the Find Banner in Safari work again with the docked Web Inspector.
779
780         https://webkit.org/b/116182
781         rdar://problem/13857423
782
783         Reviewed by Benjamin Poulain.
784
785         * UIProcess/mac/WebInspectorProxyMac.mm:
786         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
787         (WebKit::WebInspectorProxy::platformDetach):
788         Preserve the top position of the inspected view so banners in Safari still work.
789
790 2013-05-16  Tim Horton  <timothy_horton@apple.com>
791
792         [wk2] didGetImageForFindMatch can return a null image
793         https://bugs.webkit.org/show_bug.cgi?id=116251
794         <rdar://problem/13277246>
795
796         Reviewed by Simon Fraser.
797
798         Don't send didGetImageForFindMatch if we didn't get an image for
799         the find match, which can happen if the selection is not visible.
800
801         * WebProcess/WebPage/FindController.cpp:
802         (WebKit::FindController::getImageForFindMatch):
803
804 2013-05-16  Tim Horton  <timothy_horton@apple.com>
805
806         [wk2] Minimum layout width is lost if the WebProcess crashes
807         https://bugs.webkit.org/show_bug.cgi?id=116202
808         <rdar://problem/13202320>
809
810         Reviewed by Darin Adler.
811
812         Send the minimum layout width to the WebProcess upon initialization,
813         so that crashed-and-restarted WebProcesses have the correct width.
814
815         * Shared/WebPageCreationParameters.cpp:
816         (WebKit::WebPageCreationParameters::encode):
817         (WebKit::WebPageCreationParameters::decode):
818         * Shared/WebPageCreationParameters.h:
819         (WebPageCreationParameters):
820         Add minimumLayoutWidth WebPage creation parameter.
821
822         * UIProcess/WebPageProxy.cpp:
823         (WebKit::WebPageProxy::creationParameters):
824         Send the current minimumLayoutWidth to the WebPage when it's created.
825
826         (WebKit::WebPageProxy::setMinimumLayoutWidth):
827         Store minimumLayoutWidth changes that come in while the WebProcess is
828         not valid, so that the correct width is sent once it is restarted.
829
830         * WebProcess/WebPage/WebPage.cpp:
831         (WebKit::WebPage::WebPage):
832         Set minimumLayoutWidth to the value provided by our creation parameters.
833
834 2013-05-16  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
835
836         [Win] Unreviewed buildfix after r150161.
837
838         'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
839         because it is also defined in MS SDK 7.1 winioctl.h.
840
841         * UIProcess/InspectorServer/HTTPRequest.cpp:
842         (WebKit::HTTPRequest::HTTPRequest):
843
844 2013-05-16  Andras Becsi  <andras.becsi@digia.com>
845
846         [WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard
847         https://bugs.webkit.org/show_bug.cgi?id=116018
848
849         Rubber-stamped by Jocelyn Turcotte.
850
851         * Shared/Plugins/Netscape/PluginInformation.cpp:
852         (WebKit::getPluginModuleInformation):
853
854 2013-05-15  Simon Cooper  <scooper@apple.com>
855
856         Enable printing in plugins
857         https://bugs.webkit.org/show_bug.cgi?id=116201
858         <rdar://problem/12347902>
859
860         Reviewed by Alexey Proskuryakov.
861
862         Add the printing entitlement so that legacy printing drivers can
863         customize the print panel. Update the printing rules and enable them
864         for the plugins.
865
866         * Configurations/PluginService.entitlements:
867         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
868         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
869         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
870         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
871
872 2013-05-15  Anders Carlsson  <andersca@apple.com>
873
874         Move HTTPRequest class to WebKit2
875         https://bugs.webkit.org/show_bug.cgi?id=116192
876
877         Reviewed by Darin Adler.
878
879         Move HTTPRequest to WebKit2 and put it in the WebKit namespace.
880
881         * CMakeLists.txt:
882         * GNUmakefile.list.am:
883         * Target.pri:
884         * UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp.
885         * UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h.
886         * UIProcess/InspectorServer/WebInspectorServer.cpp:
887         * UIProcess/InspectorServer/WebInspectorServer.h:
888         (WebInspectorServer):
889         * UIProcess/InspectorServer/WebSocketServerClient.h:
890         (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
891         (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
892         (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
893         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
894         * UIProcess/InspectorServer/WebSocketServerConnection.h:
895         (WebKit):
896         (WebSocketServerConnection):
897
898 2013-05-15  Arnaud Renevier  <a.renevier@sisa.samsung.com>
899
900         [GTK] [WebKit2] enable displaying console.log messages to system console
901         https://bugs.webkit.org/show_bug.cgi?id=115578
902
903         Reviewed by Martin Robinson.
904
905         Add a setting to enable/disable displaying of page messages to system
906         console. Property is called enable-write-console-messages-to-stdout.
907         Getter API function is
908         webkit_settings_get_enable_write_console_messages_to_stdout
909         Setter API function is
910         webkit_settings_set_enable_write_console_messages_to_stdout
911
912         * UIProcess/API/gtk/WebKitSettings.cpp:
913         (webKitSettingsSetProperty):
914         (webKitSettingsGetProperty):
915         (webkit_settings_class_init):
916         (webkit_settings_get_enable_write_console_messages_to_stdout):
917         (webkit_settings_set_enable_write_console_messages_to_stdout):
918         * UIProcess/API/gtk/WebKitSettings.h:
919         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
920         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
921         (testWebKitSettings):
922
923 2013-05-08  Gavin Barraclough  <barraclough@apple.com>
924
925         Process suppression should throttle scripted animations
926         https://bugs.webkit.org/show_bug.cgi?id=115812
927
928         Reviewed by Simon Fraser.
929
930         <rdar://problem/13799726>
931
932         * WebProcess/WebPage/WebPage.cpp:
933         (WebKit::WebPage::setThrottled):
934         (WebKit):
935         * WebProcess/WebPage/WebPage.h:
936         (WebPage):
937             - Added setThrottled, forwards to WebCore::Page.
938         * WebProcess/WebProcess.cpp:
939         (WebKit):
940         (WebKit::WebProcess::setProcessSuppressionEnabled):
941         * WebProcess/WebProcess.h:
942         (WebProcess):
943             - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
944
945 2013-05-15  Anders Carlsson  <andersca@apple.com>
946
947         WKPageGetPluginInformationDisplayNameKey doesn't return the right key
948         https://bugs.webkit.org/show_bug.cgi?id=116188
949
950         Reviewed by Andreas Kling.
951
952         * UIProcess/API/C/WKPage.cpp:
953         (WKPageGetPluginInformationDisplayNameKey):
954
955 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
956
957         More fixing after WebProcessShim renaming in r149074.
958
959         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
960         (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
961
962 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
963
964         <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
965         launching Safari
966
967         Reviewed by Anders Carlsson.
968
969         * WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
970
971 2013-05-13  Anders Carlsson  <andersca@apple.com>
972
973         Frame::editor() should return a reference
974         https://bugs.webkit.org/show_bug.cgi?id=116037
975
976         Reviewed by Darin Adler.
977
978         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
979         (WebKit::WebContextMenuClient::searchWithGoogle):
980         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
981         (WebKit::WebEditorClient::updateGlobalSelection):
982         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
983         (WebKit::WebEditorClient::handleInputMethodKeydown):
984         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
985         (WebKit::WebEditorClient::executePendingEditorCommands):
986         (WebKit::WebEditorClient::handleKeyboardEvent):
987         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
988         (WebKit::WebContextMenuClient::searchWithGoogle):
989         (WebKit::WebContextMenuClient::searchWithSpotlight):
990         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
991         (WebKit::changeWordCase):
992         * WebProcess/WebPage/WebFrame.cpp:
993         (WebKit::WebFrame::selectionAsString):
994         (WebKit::WebFrame::setTextDirection):
995         * WebProcess/WebPage/WebPage.cpp:
996         (WebKit::WebPage::editorState):
997         (WebKit::WebPage::executeEditingCommand):
998         (WebKit::WebPage::isEditingCommandEnabled):
999         (WebKit::WebPage::validateCommand):
1000         (WebKit::WebPage::handleEditingKeyboardEvent):
1001         (WebKit::WebPage::advanceToNextMisspelling):
1002         (WebKit::WebPage::uppercaseWord):
1003         (WebKit::WebPage::lowercaseWord):
1004         (WebKit::WebPage::capitalizeWord):
1005         (WebKit::WebPage::replaceSelectionWithText):
1006         (WebKit::WebPage::handleAlternativeTextUIResult):
1007         (WebKit::WebPage::setCompositionForTesting):
1008         (WebKit::WebPage::hasCompositionForTesting):
1009         (WebKit::WebPage::confirmCompositionForTesting):
1010         (WebKit::WebPage::setComposition):
1011         (WebKit::WebPage::cancelComposition):
1012         * WebProcess/WebPage/efl/WebPageEfl.cpp:
1013         (WebKit::WebPage::confirmComposition):
1014         (WebKit::WebPage::setComposition):
1015         (WebKit::WebPage::cancelComposition):
1016         * WebProcess/WebPage/mac/WebPageMac.mm:
1017         (WebKit::WebPage::executeKeypressCommandsInternal):
1018         (WebKit::WebPage::handleEditingKeyboardEvent):
1019         (WebKit::WebPage::setComposition):
1020         (WebKit::WebPage::confirmComposition):
1021         (WebKit::WebPage::cancelComposition):
1022         (WebKit::WebPage::insertText):
1023         (WebKit::WebPage::insertDictatedText):
1024         (WebKit::WebPage::getMarkedRange):
1025         (WebKit::WebPage::firstRectForCharacterRange):
1026         (WebKit::WebPage::readSelectionFromPasteboard):
1027         (WebKit::WebPage::getStringSelectionForPasteboard):
1028         (WebKit::WebPage::getDataSelectionForPasteboard):
1029
1030 2013-05-15  Anders Carlsson  <andersca@apple.com>
1031
1032         Need a way for NPAPI plug-ins to open preference panes
1033         https://bugs.webkit.org/show_bug.cgi?id=116173
1034         <rdar://problem/13503848>
1035
1036         Reviewed by Sam Weinig.
1037
1038         * PluginProcess/PluginControllerProxy.h:
1039         Add openPluginPreferencePane().
1040
1041         * PluginProcess/mac/PluginControllerProxyMac.mm:
1042         (WebKit::PluginControllerProxy::openPluginPreferencePane):
1043         Send OpenPluginPreferencePane to the UI process.
1044
1045         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1046         (WebKit::NetscapePluginModule::getPluginInfo):
1047         Get the preference pane path.
1048         
1049         * Shared/Plugins/PluginModuleInfo.h:
1050         Add preferencePanePath member variable.
1051
1052         * UIProcess/Plugins/PluginProcessProxy.h:
1053         Add openPluginPreferencePane message handler.
1054
1055         * UIProcess/Plugins/PluginProcessProxy.messages.in:
1056         ADd OpenPluginPreferencePane message.
1057
1058         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1059         (WebKit::PluginProcessProxy::openPluginPreferencePane):
1060         Get the path to the preference pane and use LS to open it.
1061
1062         * WebKit2.xcodeproj/project.pbxproj:
1063         Add new files.
1064
1065         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1066         (WebKit::NPN_GetValue):
1067         Handle WKNVPlugInContainer.
1068
1069         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1070         Add WKNVPlugInContainer member variable.
1071
1072         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1073         (WebKit::NetscapePlugin::openPluginPreferencePane):
1074         Call through to the plug-in controller.
1075
1076         (WebKit::NetscapePlugin::plugInContainer):
1077         Create a WKNPAPIPlugInContainer object if necessary.
1078
1079         (WebKit::NetscapePlugin::platformDestroy):
1080         Invalidate the WKNPAPIPlugInContainer object.
1081
1082         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:
1083         New file with the protocol definition.
1084
1085         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
1086         (-[WKNPAPIPlugInContainer dealloc]):
1087         Assert that the plug-in is null (that we've been invalidated).
1088
1089         (-[WKNPAPIPlugInContainer _invalidate]):
1090         Set the plug-in to null.
1091
1092         (-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
1093         Call through to the plug-in.
1094
1095         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:
1096         New file with the interface declaration for the object that implements the protocol.
1097
1098         * WebProcess/Plugins/PluginController.h:
1099         Add openPluginPreferencePane member function.
1100
1101         * WebProcess/Plugins/PluginView.cpp:
1102         (WebKit::PluginView::openPluginPreferencePane):
1103         Add stub; this should never be called since we always go through the UI process.
1104
1105 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
1106
1107         [WK2][Mac] Split resetTextInputState into two functions
1108         https://bugs.webkit.org/show_bug.cgi?id=116174
1109
1110         Reviewed by Anders Carlsson.
1111
1112         Splitting resetTextInputState into resetSecureInputState and
1113         notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
1114         won't be happening simultaneously.
1115
1116         * UIProcess/API/mac/PageClientImpl.h:
1117         * UIProcess/API/mac/PageClientImpl.mm:
1118         (WebKit::PageClientImpl::resetSecureInputState):
1119         (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
1120         * UIProcess/API/mac/WKView.mm:
1121         (-[WKView resignFirstResponder]):
1122         (-[WKView _resetSecureInputState]):
1123         (-[WKView _notifyInputContextAboutDiscardedComposition]):
1124         * UIProcess/API/mac/WKViewInternal.h:
1125         * UIProcess/PageClient.h:
1126         * UIProcess/WebPageProxy.cpp:
1127         (WebKit::WebPageProxy::didCommitLoadForFrame):
1128
1129 2013-05-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1130
1131         [GTK] Add padding to all public class structs for future expansion without breaking ABI
1132         https://bugs.webkit.org/show_bug.cgi?id=112565
1133
1134         Reviewed by Anders Carlsson.
1135
1136         Use 4 pointers for most of the classes that are unlikely to grow
1137         and 8 for WebKitWebView and WebKitWebContext.
1138
1139         * UIProcess/API/gtk/WebKitBackForwardList.h:
1140         (_WebKitBackForwardListClass):
1141         * UIProcess/API/gtk/WebKitBackForwardListItem.h:
1142         (_WebKitBackForwardListItemClass):
1143         * UIProcess/API/gtk/WebKitContextMenu.h:
1144         (_WebKitContextMenuClass):
1145         * UIProcess/API/gtk/WebKitContextMenuItem.h:
1146         (_WebKitContextMenuItemClass):
1147         * UIProcess/API/gtk/WebKitCookieManager.h:
1148         (_WebKitCookieManagerClass):
1149         * UIProcess/API/gtk/WebKitDownload.h:
1150         (_WebKitDownloadClass):
1151         * UIProcess/API/gtk/WebKitFaviconDatabase.h:
1152         (_WebKitFaviconDatabaseClass):
1153         * UIProcess/API/gtk/WebKitFileChooserRequest.h:
1154         (_WebKitFileChooserRequestClass):
1155         * UIProcess/API/gtk/WebKitFindController.h:
1156         (_WebKitFindControllerClass):
1157         * UIProcess/API/gtk/WebKitFormSubmissionRequest.h:
1158         (_WebKitFormSubmissionRequestClass):
1159         * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h:
1160         (_WebKitGeolocationPermissionRequestClass):
1161         * UIProcess/API/gtk/WebKitHitTestResult.h:
1162         (_WebKitHitTestResultClass):
1163         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
1164         (_WebKitNavigationPolicyDecisionClass):
1165         * UIProcess/API/gtk/WebKitPlugin.h:
1166         (_WebKitPluginClass):
1167         * UIProcess/API/gtk/WebKitPolicyDecision.h:
1168         (_WebKitPolicyDecisionClass):
1169         * UIProcess/API/gtk/WebKitPrintOperation.h:
1170         (_WebKitPrintOperationClass):
1171         * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
1172         (_WebKitResponsePolicyDecisionClass):
1173         * UIProcess/API/gtk/WebKitSecurityManager.h:
1174         (_WebKitSecurityManagerClass):
1175         * UIProcess/API/gtk/WebKitSettings.h:
1176         (_WebKitSettingsClass):
1177         * UIProcess/API/gtk/WebKitURIRequest.h:
1178         (_WebKitURIRequestClass):
1179         * UIProcess/API/gtk/WebKitURIResponse.h:
1180         (_WebKitURIResponseClass):
1181         * UIProcess/API/gtk/WebKitURISchemeRequest.h:
1182         (_WebKitURISchemeRequestClass):
1183         * UIProcess/API/gtk/WebKitWebContext.h:
1184         (_WebKitWebContextClass):
1185         * UIProcess/API/gtk/WebKitWebInspector.h:
1186         (_WebKitWebInspectorClass):
1187         * UIProcess/API/gtk/WebKitWebResource.h:
1188         (_WebKitWebResourceClass):
1189         * UIProcess/API/gtk/WebKitWebView.h:
1190         (_WebKitWebViewClass):
1191         * UIProcess/API/gtk/WebKitWebViewBase.h:
1192         (_WebKitWebViewBaseClass):
1193         * UIProcess/API/gtk/WebKitWebViewGroup.h:
1194         (_WebKitWebViewGroupClass):
1195         * UIProcess/API/gtk/WebKitWindowProperties.h:
1196         (_WebKitWindowPropertiesClass):
1197
1198 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1199
1200         Remove WTF_USE_PLATFORM_STRATEGIES
1201         https://bugs.webkit.org/show_bug.cgi?id=114431
1202
1203         Reviewed by Darin Adler.
1204
1205         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1206         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1207         * WebProcess/WebProcess.cpp:
1208         (WebKit::WebProcess::WebProcess):
1209
1210 2013-05-14  Simon Cooper  <scooper@apple.com>
1211
1212         Add a preference that can disable the fake SYSV SHM shim
1213         https://bugs.webkit.org/show_bug.cgi?id=116127
1214         <rdar://problem/13810524>
1215
1216         Reviewed by Alexey Proskuryakov.
1217
1218         * PluginProcess/mac/PluginProcessShim.mm:
1219         (WebKit::shim_disabled):
1220         (WebKit::shim_shmdt):
1221         (WebKit::shim_shmat):
1222         (WebKit::shim_shmget):
1223         (WebKit::shim_shmctl):
1224
1225 2013-05-14  Tim Horton  <timothy_horton@apple.com>
1226
1227         [wk2] Not updating tiled backing coverage when main frame scrollability changes
1228         https://bugs.webkit.org/show_bug.cgi?id=116123
1229         <rdar://problem/13836559>
1230
1231         Reviewed by Simon Fraser.
1232
1233         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1234         (TiledCoreAnimationDrawingArea):
1235         Add updateMainFrameClipsToExposedRect.
1236
1237         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1238         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1239         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1240         Remove m_clipsToExposedRect. We don't actually need it.
1241
1242         (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
1243         Call updateMainFrameClipsToExposedRect so that we can always update
1244         tiled backing coverage and can factor out our calls to setClipsToExposedRect.
1245
1246         (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
1247         Factor out setClipsToExposedRect calls to here, and also call
1248         FrameView::adjustTiledBackingCoverage so that the FrameView's tiled
1249         backing is informed to allow overdraw in the UI-process-scrolling case.
1250
1251         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1252         Use updateMainFrameClipsToExposedRect.
1253
1254 2013-05-14  Alexey Proskuryakov  <ap@apple.com>
1255
1256         [Mac] Add a testing shim for secure event input functions
1257         https://bugs.webkit.org/show_bug.cgi?id=116122
1258
1259         Reviewed by Mark Rowe.
1260
1261         Moved DyldInterpose.h to WebCore, as we now use it there too.
1262
1263         * PluginProcess/mac/PluginProcessShim.mm:
1264         * Shared/mac/CookieStorageShimLibrary.cpp:
1265         * Shared/mac/DyldInterpose.h: Removed.
1266         * WebKit2.xcodeproj/project.pbxproj:
1267         * WebProcess/mac/SecItemShimLibrary.mm:
1268
1269 2013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1270
1271         [Win] REGRESSION(r149944): mmap is not available on Windows
1272         https://bugs.webkit.org/show_bug.cgi?id=116015
1273
1274         Reviewed by Anders Carlsson.
1275
1276         Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
1277         using mmap is not necessary and maybe not available.
1278
1279         * Platform/CoreIPC/ArgumentEncoder.cpp:
1280         (CoreIPC::allocBuffer):
1281         (CoreIPC::freeBuffer):
1282         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1283         (CoreIPC::ArgumentEncoder::grow):
1284
1285 2013-05-14  Zan Dobersek  <zdobersek@igalia.com>
1286
1287         [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
1288         https://bugs.webkit.org/show_bug.cgi?id=115921
1289
1290         Reviewed by Gustavo Noronha Silva.
1291
1292         * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.
1293
1294 2013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1295
1296         [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
1297         https://bugs.webkit.org/show_bug.cgi?id=116039
1298
1299         Reviewed by Benjamin Poulain.
1300
1301         According to the documentation, DeleteTimerQueueTimer can be expected to return
1302         false with an ERROR_IO_PENDING error when called from the timer's callback.
1303
1304         * Platform/win/WorkQueueWin.cpp:
1305         (WorkQueue::timerCallback):
1306
1307 2013-05-14  Alexey Proskuryakov  <ap@apple.com>
1308
1309         Remove unused "type" field from DictionaryPopupInfo
1310         https://bugs.webkit.org/show_bug.cgi?id=116011
1311
1312         Reviewed by Darin Adler.
1313
1314         It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.
1315
1316         * Shared/DictionaryPopupInfo.cpp:
1317         (WebKit::DictionaryPopupInfo::encode):
1318         (WebKit::DictionaryPopupInfo::decode):
1319         * Shared/DictionaryPopupInfo.h:
1320         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1321         (WebKit::PDFPlugin::showDefinitionForAttributedString):
1322         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1323         (WebKit::WebContextMenuClient::lookUpInDictionary):
1324         * WebProcess/WebPage/WebPage.h:
1325         * WebProcess/WebPage/mac/WebPageMac.mm:
1326         (WebKit::WebPage::performDictionaryLookupAtLocation):
1327         (WebKit::WebPage::performDictionaryLookupForSelection):
1328         (WebKit::WebPage::performDictionaryLookupForRange):
1329
1330 2013-05-14  Michael Brüning  <michael.bruning@digia.com>
1331
1332         [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
1333         https://bugs.webkit.org/show_bug.cgi?id=110218
1334
1335         Reviewed by Darin Adler.
1336
1337         Make the WebPageProxy::creationParameters use the accessor
1338         deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor
1339         directly. This will restore the custom device scale factor when
1340         reattaching to the WebProcess after a crash.
1341
1342         Moreover, it will enable the Qt and ELF ports to use the
1343         existing C API for overriding the device scale factor instead
1344         of using the WebPageProxy directly or adding new C API to set
1345         the intrinsic device scale factor.
1346
1347         * UIProcess/API/efl/EwkView.cpp:
1348         (EwkView::setDeviceScaleFactor):
1349         * UIProcess/API/qt/qquickwebpage.cpp:
1350         (QQuickWebPage::updatePaintNode):
1351         * UIProcess/WebPageProxy.cpp:
1352         (WebKit::WebPageProxy::creationParameters):
1353
1354 2013-05-13  Alex Christensen  <achristensen@apple.com>
1355
1356         Added testRunner.setPrinting.
1357         https://bugs.webkit.org/show_bug.cgi?id=42693
1358         rdar://problem/8213845
1359
1360         Reviewed by Darin Adler.
1361
1362         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1363         (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.
1364         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1365         Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.
1366         * WebProcess/WebPage/WebPage.cpp:
1367         (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.
1368         * WebProcess/WebPage/WebPage.h:
1369         Added renderTreeExternalRepresentationForPrinting declaration.
1370
1371 2013-05-13  Timothy Hatcher  <timothy@apple.com>
1372
1373         Add support for updating the Web Inspector toolbar height.
1374
1375         https://bugs.webkit.org/show_bug.cgi?id=115996
1376
1377         Reviewed by Joseph Pecoraro and Benjamin Poulain.
1378
1379         * UIProcess/WebInspectorProxy.h:
1380         (WebKit::WebInspectorProxy::setToolbarHeight):
1381         (WebInspectorProxy):
1382         * UIProcess/WebInspectorProxy.messages.in:
1383         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1384         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1385         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1386         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1387         (WebKit):
1388         * UIProcess/mac/WebInspectorProxyMac.mm:
1389         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1390         * UIProcess/qt/WebInspectorProxyQt.cpp:
1391         (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1392         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1393         (WebKit::WebInspectorFrontendClient::setToolbarHeight):
1394         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1395         (WebInspectorFrontendClient):
1396         * WebProcess/WebPage/WebInspector.cpp:
1397         (WebKit::WebInspector::setToolbarHeight):
1398         * WebProcess/WebPage/WebInspector.h:
1399
1400 2013-05-13  Ryosuke Niwa  <rniwa@webkit.org>
1401
1402         Sometimes NSUndoManager can get into an inconsistent state
1403         https://bugs.webkit.org/show_bug.cgi?id=116050
1404
1405         Reviewed by Enrica Casucci.
1406
1407         Always group undo items to work around a bug in NSUndoManager that manifests
1408         when we call removeAllActionsWithTarget.
1409
1410         * UIProcess/API/mac/PageClientImpl.mm:
1411         (WebKit::PageClientImpl::registerEditCommand):
1412
1413 2013-05-13  Anders Carlsson  <andersca@apple.com>
1414
1415         [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
1416         https://bugs.webkit.org/show_bug.cgi?id=116026
1417
1418         Reviewed by Andreas Kling.
1419
1420         Make sure that we ignore any leftover messages from the UI process after we've reset
1421         the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
1422         everytime the map is reset. Associate every storage area change with the seed and ignore any incoming 
1423         notification messages from the UI process if the seeds are different.
1424
1425         * Platform/CoreIPC/HandleMessage.h:
1426         (CoreIPC):
1427         (CoreIPC::callMemberFunction):
1428         * UIProcess/Storage/StorageManager.cpp:
1429         (WebKit::StorageManager::getValues):
1430         (WebKit::StorageManager::setItem):
1431         (WebKit::StorageManager::removeItem):
1432         (WebKit::StorageManager::clear):
1433         * UIProcess/Storage/StorageManager.h:
1434         (StorageManager):
1435         * UIProcess/Storage/StorageManager.messages.in:
1436         * WebProcess/Storage/StorageAreaMap.cpp:
1437         (WebKit::StorageAreaMap::StorageAreaMap):
1438         (WebKit::StorageAreaMap::setItem):
1439         (WebKit::StorageAreaMap::removeItem):
1440         (WebKit::StorageAreaMap::clear):
1441         (WebKit::StorageAreaMap::resetValues):
1442         (WebKit::StorageAreaMap::loadValuesIfNeeded):
1443         (WebKit::StorageAreaMap::didGetValues):
1444         (WebKit::StorageAreaMap::didSetItem):
1445         (WebKit::StorageAreaMap::didRemoveItem):
1446         (WebKit::StorageAreaMap::didClear):
1447         (WebKit::StorageAreaMap::applyChange):
1448         * WebProcess/Storage/StorageAreaMap.h:
1449         (StorageAreaMap):
1450         * WebProcess/Storage/StorageAreaMap.messages.in:
1451
1452 2013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1453
1454         [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
1455         https://bugs.webkit.org/show_bug.cgi?id=116045
1456
1457         Reviewed by Darin Adler.
1458
1459         * UIProcess/CoordinatedGraphics/WebView.cpp:
1460         (WebKit::WebView::setSize):
1461
1462 2013-05-13  Jon Lee  <jonlee@apple.com>
1463
1464         [WK2] Notification manager removal should not be tied to termination of web processes
1465         https://bugs.webkit.org/show_bug.cgi?id=116038
1466         <rdar://problem/10968680>
1467
1468         Reviewed by Ryosuke Niwa.
1469
1470         WebNotificationManagerProxy incorrectly removes the manager when web processes close.
1471         Since it is a supplemental on the web context, the manager should only be removed
1472         when the context is destroyed.
1473
1474         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1475         * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
1476         processDidClose().
1477
1478 2013-05-13  Martin Robinson  <mrobinson@igalia.com>
1479
1480         [GTK] [WebKit2] Use a template file for generated GObject enum files
1481         https://bugs.webkit.org/show_bug.cgi?id=115867
1482
1483         Reviewed by Carlos Garcia Campos.
1484
1485         * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
1486         * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
1487         * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
1488         * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
1489
1490 2013-05-13  Noam Rosenthal  <noam@webkit.org>
1491
1492         [CoordGfx] requestAnimationFrame performance issues
1493         https://bugs.webkit.org/show_bug.cgi?id=112345
1494
1495         Reviewed by Jocelyn Turcotte.
1496
1497         Changed the logic of requestAnimationFrame in Coordinated Graphics.
1498         We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:
1499         - If there is already a frame pending in the UI process, do nothing, as the animations would
1500           be serviced when the frame is returned to the web process.
1501         - If there is no frame pending, we schedule a flush, making sure that that flush occurs at 
1502           least 1/60 seconds after the last animation service, so that we don't get an infinite loop
1503           of flushes.
1504
1505         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
1506         (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
1507         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1508         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1509         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1510         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
1511         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
1512         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1513         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
1514
1515 2013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1516
1517         [WK2][CoordinatedGraphics] WKView needs API for handling opacity
1518         https://bugs.webkit.org/show_bug.cgi?id=116032
1519
1520         Reviewed by Kenneth Rohde Christiansen.
1521
1522         Add WKViewSetOpacity and WKViewOpacity APIs and use them in
1523         WebView.cpp.
1524
1525         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1526         (WKViewSetOpacity):
1527         (WKViewOpacity):
1528         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1529         * UIProcess/CoordinatedGraphics/WebView.cpp:
1530         (WebKit::WebView::WebView):
1531         (WebKit::WebView::paintToCurrentGLContext):
1532         * UIProcess/CoordinatedGraphics/WebView.h:
1533         (WebKit::WebView::setOpacity):
1534         (WebKit::WebView::opacity):
1535         (WebView):
1536
1537 2013-05-13  Zan Dobersek  <zdobersek@igalia.com>
1538
1539         [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
1540         https://bugs.webkit.org/show_bug.cgi?id=115918
1541
1542         Reviewed by Gustavo Noronha Silva.
1543
1544         Due to layer violations and circular dependencies the WebKitPluginProcess requires for the
1545         libraries containing the built code of the intertwining Platform and WebCore layers to be
1546         specified multiple times when linking. This can be avoided by packing the two layers' archives
1547         into one big archive, named after the WebCore layer due to no clear boundary between it and the
1548         Platform layer. The big archive can then be specified only once when linking, simplifying the code
1549         and suppressing all the layering violations so they do not cause build problems.
1550
1551         First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on
1552         are specified. These are then used as dependencies for the archive creation rule as well as the list
1553         from which the archive file paths are constructed and then used to dump the member files from these archives.
1554         The member files are then added to the big archive. The latter is added to the list of libraries the
1555         WebKitPluginProcess requires to successfully link.
1556
1557         * GNUmakefile.am:
1558
1559 2013-05-13  Zalan Bujtas  <zalan@apple.com>
1560
1561         WebProcess consuming very high CPU on linkedin.com
1562         https://bugs.webkit.org/show_bug.cgi?id=115601
1563
1564         Reviewed by Andreas Kling.
1565
1566         Disable WEB_TIMING_MINIMAL.
1567         Turn off window.performance and performance.now(). Some JS frameworks expect
1568         additional Web Timing APIs, when performance.now() is available.
1569
1570         * Configurations/FeatureDefines.xcconfig:
1571
1572 2013-05-12  Anders Carlsson  <andersca@apple.com>
1573
1574         Stop including UnusedParam.h
1575         https://bugs.webkit.org/show_bug.cgi?id=116003
1576
1577         Reviewed by Sam Weinig.
1578
1579         UnusedParam.h is empty now so there's no need to include it anymore.
1580
1581         * UIProcess/API/C/WKContext.cpp:
1582         * UIProcess/API/C/WKInspector.cpp:
1583         * UIProcess/API/C/WKPage.cpp:
1584         * UIProcess/API/efl/ewk_text_checker.cpp:
1585         * UIProcess/API/efl/ewk_view.cpp:
1586         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1587         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1588         * UIProcess/mac/WKFullScreenWindowController.mm:
1589         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1590         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
1591
1592 2013-05-12  Andreas Kling  <akling@apple.com>
1593
1594         Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
1595         <http://webkit.org/b/115988>
1596         <rdar://problem/13870943>
1597
1598         Reviewed by Anders Carlsson.
1599
1600         Let WebCore control the UI process's suppression of the sudden termination mechanism.
1601         This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
1602         over to the UI process where the appropriate NSProcessInfo calls are made.
1603
1604         We also use this information when deciding whether to insta-kill a web process when its last
1605         page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
1606         by the UI process.
1607
1608         * UIProcess/WebProcessProxy.cpp:
1609         (WebKit::WebProcessProxy::WebProcessProxy):
1610         (WebKit::WebProcessProxy::removeWebPage):
1611         (WebKit::WebProcessProxy::enableSuddenTermination):
1612         (WebKit::WebProcessProxy::disableSuddenTermination):
1613         * UIProcess/WebProcessProxy.h:
1614         (WebProcessProxy):
1615         * UIProcess/WebProcessProxy.messages.in:
1616         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1617         (WebKit::WebChromeClient::enableSuddenTermination):
1618         (WebKit::WebChromeClient::disableSuddenTermination):
1619         * WebProcess/WebCoreSupport/WebChromeClient.h:
1620         (WebChromeClient):
1621
1622 2013-05-12  Alexey Proskuryakov  <ap@apple.com>
1623
1624         <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.
1625
1626         Reviewed by Dan Bernstein.
1627
1628         * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
1629
1630 2013-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1631
1632         [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
1633         https://bugs.webkit.org/show_bug.cgi?id=115914
1634
1635         Reviewed by Martin Robinson.
1636
1637         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1638         (webkitWebViewBaseRealize):
1639
1640 2013-05-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1641
1642         Unreviewed build fix after r149944.
1643
1644         * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
1645
1646 2013-05-11  Anders Carlsson  <andersca@apple.com>
1647
1648         Don't pass malloced pointers as out-of-line data when sending Mach messages
1649         https://bugs.webkit.org/show_bug.cgi?id=115970
1650         <rdar://problem/13144680>
1651
1652         Reviewed by Sam Weinig.
1653
1654         Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
1655         since that gives us fresh zero-filled memory that we can safely share.
1656
1657         * Platform/CoreIPC/ArgumentEncoder.cpp:
1658         (CoreIPC::ArgumentEncoder::ArgumentEncoder):
1659         Set up the buffer pointers to point to the inline buffer.
1660
1661         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1662         Unmap the buffer if necessary.
1663
1664         (CoreIPC::ArgumentEncoder::grow):
1665         Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
1666         current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
1667         or big in which case we'll end up doing less allocations + memory copying.
1668
1669         * Platform/CoreIPC/ArgumentEncoder.h:
1670         (ArgumentEncoder):
1671
1672 2013-05-11  Zan Dobersek  <zdobersek@igalia.com>
1673
1674         Unreviewed GTK build fix after r149904.
1675
1676         * GNUmakefile.list.am: Adding missing build targets.
1677
1678 2013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1679
1680         Unreviewed, Fix WK2 EFL build after r149904.
1681
1682         Add new PluginInformation.cpp file to CMake.
1683
1684         * CMakeLists.txt:
1685
1686 2013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1687
1688         Unreviewed, fix WK2 EFL build after r149904.
1689
1690         Add new WKPluginInformation.cpp file to CMake.
1691
1692         * CMakeLists.txt:
1693
1694 2013-05-11  Andreas Kling  <akling@apple.com>
1695
1696         When possible, terminate web processes immediately when closing their last page.
1697         <http://webkit.org/b/115964>
1698         <rdar://problem/13869266>
1699
1700         Reviewed by Geoffrey Garen.
1701
1702         When we're using a network process, there's no need for the UI process to wait for web processes
1703         to clear resource caches and terminate nicely.
1704
1705         We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.
1706
1707         * UIProcess/WebProcessProxy.cpp:
1708         (WebKit::WebProcessProxy::removeWebPage):
1709
1710             Terminate the child process immediately if possible.
1711
1712         * UIProcess/WebProcessProxy.h:
1713         (WebKit::WebProcessProxy::canTerminateChildProcess):
1714         (WebKit::WebProcessProxy::shouldTerminate):
1715
1716             Broke out the logic from the shouldTerminate() IPC message handler into a separate function
1717             so we can call it from removeWebPage().
1718
1719 2013-05-11  Anders Carlsson  <andersca@apple.com>
1720
1721         Crash when terminating a process that has not been fully launched
1722         https://bugs.webkit.org/show_bug.cgi?id=115962
1723         <rdar://problem/13660916>
1724
1725         Reviewed by Andreas Kling.
1726
1727         Handle terminating a process that has not been fully launched.
1728
1729         * UIProcess/Launcher/ProcessLauncher.cpp:
1730         (WebKit::ProcessLauncher::didFinishLaunchingProcess):
1731         If we have been invalidated, dispose the connection identifier.
1732
1733         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1734         (WebKit::ProcessLauncher::terminateProcess):
1735         If we're still launching the process, invalidate so the client won't get an unexpected
1736         didFinishLaunching callback.
1737
1738         * UIProcess/WebProcessProxy.cpp:
1739         (WebKit::WebProcessProxy::requestTermination):
1740         Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).
1741
1742 2013-05-10  Brian J. Burg  <burg@cs.washington.edu>
1743
1744         Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
1745         https://bugs.webkit.org/show_bug.cgi?id=115564
1746
1747         Reviewed by Benjamin Poulain.
1748
1749         Implement InspectorFrontendHost's save() and append() methods for
1750         Mac WebKit2. Add canSave() for all ports.
1751
1752         * UIProcess/WebInspectorProxy.cpp:
1753         (WebKit::WebInspectorProxy::save):
1754         (WebKit):
1755         (WebKit::WebInspectorProxy::append):
1756         * UIProcess/WebInspectorProxy.h:
1757         (WebInspectorProxy):
1758         * UIProcess/WebInspectorProxy.messages.in:
1759         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1760         (WebKit::WebInspectorProxy::platformSave):
1761         (WebKit):
1762         (WebKit::WebInspectorProxy::platformAppend):
1763         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1764         (WebKit::WebInspectorProxy::platformSave):
1765         (WebKit):
1766         (WebKit::WebInspectorProxy::platformAppend):
1767         * UIProcess/mac/WebInspectorProxyMac.mm:
1768         (WebKit::WebInspectorProxy::platformSave):
1769         (WebKit):
1770         (WebKit::WebInspectorProxy::platformAppend):
1771         * UIProcess/qt/WebInspectorProxyQt.cpp:
1772         (WebKit::WebInspectorProxy::platformSave):
1773         (WebKit):
1774         (WebKit::WebInspectorProxy::platformAppend):
1775         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1776         (WebKit::WebInspectorFrontendClient::canSave):
1777         (WebKit):
1778         (WebKit::WebInspectorFrontendClient::save):
1779         (WebKit::WebInspectorFrontendClient::append):
1780         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1781         (WebInspectorFrontendClient):
1782         * WebProcess/WebPage/WebInspector.cpp:
1783         (WebKit::WebInspector::save):
1784         (WebKit):
1785         (WebKit::WebInspector::append):
1786         (WebKit::WebInspector::didSave):
1787         (WebKit::WebInspector::didAppend):
1788         * WebProcess/WebPage/WebInspector.h:
1789         (WebInspector):
1790         * WebProcess/WebPage/WebInspector.messages.in:
1791         * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
1792         (WebKit::WebInspector::canSave):
1793         (WebKit):
1794         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
1795         (WebKit::WebInspector::canSave):
1796         (WebKit):
1797         * WebProcess/WebPage/mac/WebInspectorMac.mm:
1798         (WebKit::WebInspector::canSave):
1799         (WebKit):
1800         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
1801         (WebKit::WebInspector::canSave):
1802         (WebKit):
1803
1804 2013-05-10  Remy Demarest  <rdemarest@apple.com>
1805
1806         Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
1807         https://bugs.webkit.org/show_bug.cgi?id=115940
1808
1809         Reviewed by Darin Adler.
1810
1811         * WebKit2.xcodeproj/project.pbxproj:
1812         Move WKPluginInformation.h file from the framework's Project Headers to
1813         Private Headers.
1814
1815 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1816
1817         [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
1818
1819         * Target.pri:
1820
1821 2013-05-10  Simon Cooper  <scooper@apple.com>
1822
1823         Fix AppleConnect issues for WiFi interfaces
1824         <rdar://problem/13776227&13776240&13776281>
1825         https://bugs.webkit.org/show_bug.cgi?id=115932
1826
1827         Reviewed by Alexey Proskuryakov.
1828
1829         Add support for WiFi interfaces for the AppleConnect plugin.
1830         Remove the FIXME.
1831
1832         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
1833
1834 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1835
1836         [Qt][Mac] Unreviewed speculative build fix after r149904.
1837
1838         * Target.pri:
1839
1840 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1841
1842         [Qt] Unreviewed buildfix after r149904.
1843
1844         * Target.pri:
1845
1846 2013-05-09  Sam Weinig  <sam@webkit.org>
1847
1848         Unify plug-in information dictionaries
1849         <rdar://problem/13852080>
1850         https://bugs.webkit.org/show_bug.cgi?id=115891
1851
1852         Reviewed by Anders Carlsson.
1853
1854         This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
1855         and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
1856
1857         All the old keys will continue to work, but have been deprecated in favor of new keys defined in 
1858         WKPluginInformation.h
1859
1860         * Shared/API/c/WKPluginInformation.cpp: Added.
1861         * Shared/API/c/WKPluginInformation.h: Added.
1862         Export new keys as SPI.
1863
1864         * Shared/Plugins/Netscape/PluginInformation.h: Added.
1865         * Shared/Plugins/Netscape/PluginInformation.cpp: Added.
1866         (WebKit::pluginInformationBundleIdentifierKey):
1867         (WebKit::pluginInformationBundleVersionKey):
1868         (WebKit::pluginInformationPathKey):
1869         (WebKit::pluginInformationDisplayNameKey):
1870         (WebKit::pluginInformationDefaultLoadPolicyKey):
1871         (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
1872         (WebKit::pluginInformationHasSandboxProfileKey):
1873         (WebKit::pluginInformationFrameURLKey):
1874         (WebKit::pluginInformationMIMETypeKey):
1875         (WebKit::pluginInformationPageURLKey):
1876         (WebKit::pluginInformationPluginspageAttributeURLKey):
1877         (WebKit::pluginInformationPluginURLKey):
1878         Add new keys.
1879
1880         (WebKit::pluginModuleInformation):
1881         (WebKit::createPluginInformationDictionary):
1882         Add creation functions to simplify multiple sites.
1883
1884         * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
1885         (WebKit::platformPluginModuleInformation):
1886         Add platform specific data to the dictionary.
1887
1888         * UIProcess/API/C/WKPage.cpp:
1889         (WKPageGetPluginInformationBundleIdentifierKey):
1890         (WKPageGetPluginInformationBundleVersionKey):
1891         (WKPageGetPluginInformationDisplayNameKey):
1892         (WKPageGetPluginInformationFrameURLKey):
1893         (WKPageGetPluginInformationMIMETypeKey):
1894         (WKPageGetPluginInformationPageURLKey):
1895         (WKPageGetPluginInformationPluginspageAttributeURLKey):
1896         (WKPageGetPluginInformationPluginURLKey):
1897         * UIProcess/API/C/WKPage.h:
1898         Deprecate the old keys.
1899
1900         * UIProcess/API/C/mac/WKContextPrivateMac.h:
1901         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1902         (WKContextCopyPlugInInfoForBundleIdentifier):
1903         (WKContextGetInfoForInstalledPlugIns):
1904         Simplify by using the new createPluginInformationDictionary functions.
1905
1906         (WKPlugInInfoPathKey):
1907         (WKPlugInInfoBundleIdentifierKey):
1908         (WKPlugInInfoVersionKey):
1909         (WKPlugInInfoLoadPolicyKey):
1910         (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
1911         (WKPlugInInfoIsSandboxedKey):
1912         Deprecate the old keys.
1913
1914         * UIProcess/WebLoaderClient.cpp:
1915         (WebKit::WebLoaderClient::didFailToInitializePlugin):
1916         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1917         (WebKit::WebLoaderClient::pluginLoadPolicy):
1918         * UIProcess/WebLoaderClient.h:
1919         * UIProcess/WebUIClient.cpp:
1920         (WebKit::WebUIClient::unavailablePluginButtonClicked):
1921         * UIProcess/WebUIClient.h:
1922         Optimize for the most recent callback type which takes a dictionary,
1923         and pull out the necessary bits from it for deprecated callbacks as necessary.
1924
1925         * UIProcess/WebPageProxy.h:
1926         * UIProcess/WebPageProxy.cpp:
1927         (WebKit::WebPageProxy::findPlugin):
1928         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1929         (WebKit::WebPageProxy::didFailToInitializePlugin):
1930         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1931         Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.
1932
1933         * WebKit2.xcodeproj/project.pbxproj:
1934         Add new files.
1935
1936 2013-05-10  Brian J. Burg  <burg@cs.washington.edu>
1937
1938         Web Inspector: implement runOpenPanel callback for WebKit2 inspector
1939         https://bugs.webkit.org/show_bug.cgi?id=115865
1940
1941         Reviewed by Sam Weinig.
1942
1943         * UIProcess/WebInspectorProxy.h:
1944         (WebKit::WebInspectorProxy::inspectorWindow):
1945         Add an accessor for m_inspectorWindow.
1946
1947         * UIProcess/mac/WebInspectorProxyMac.mm:
1948         (WebKit::runOpenPanel):
1949         Show the open panel dialog when requested.
1950
1951         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1952         Register the callback when the inspector page is created.
1953
1954 2013-05-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1955
1956         [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
1957         https://bugs.webkit.org/show_bug.cgi?id=115928
1958
1959         Reviewed by Kenneth Rohde Christiansen.
1960
1961         WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.
1962
1963         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1964         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1965         * UIProcess/API/C/efl/WKViewEfl.cpp:
1966         (WKViewSetThemePath):
1967         * UIProcess/API/C/efl/WKViewEfl.h:
1968         * UIProcess/CoordinatedGraphics/WebView.cpp:
1969         * UIProcess/CoordinatedGraphics/WebView.h:
1970         (WebView):
1971         * UIProcess/efl/ViewClientEfl.cpp:
1972         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1973         * UIProcess/efl/WebViewEfl.cpp:
1974         (WebKit::WebViewEfl::setThemePath):
1975         * UIProcess/efl/WebViewEfl.h:
1976         (WebViewEfl):
1977
1978 2013-05-10  Jer Noble  <jer.noble@apple.com>
1979
1980         REGRESSION (r149439): Video turns blank upon entering full screen for the first time
1981         https://bugs.webkit.org/show_bug.cgi?id=115617
1982
1983         Reviewed by Eric Carlson.
1984
1985         Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these
1986         platforms, create a window with a NSZeroSize initial frame, which fixes the "blank"
1987         first-full screen behavior.
1988
1989         * UIProcess/API/mac/WKView.mm:
1990         (-[WKView createFullScreenWindow]):
1991
1992 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
1993
1994         [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
1995         https://bugs.webkit.org/show_bug.cgi?id=115717
1996
1997         Reviewed by Andreas Kling.
1998
1999         WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
2000         by the WebProcess. This removes the need for the m_soupRequestManager member variable in
2001         the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
2002         of which instances are controlled by the WebProcess class.
2003
2004         * WebProcess/WebProcess.cpp:
2005         (WebKit::WebProcess::WebProcess): Add  the WebSoupRequestManager as a supplement.
2006         * WebProcess/WebProcess.h:
2007         (WebProcess): Remove the m_soupRequestManager member variable and its getter method.
2008         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
2009         (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
2010         (webkitSoupRequestGenericSendFinish): Ditto.
2011         * WebProcess/soup/WebProcessSoup.cpp:
2012         (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
2013         * WebProcess/soup/WebSoupRequestManager.cpp:
2014         (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
2015         * WebProcess/soup/WebSoupRequestManager.h:
2016         (WebSoupRequestManager): Inherit from the WebProcessSupplement interface.
2017
2018 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2019
2020         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
2021         https://bugs.webkit.org/show_bug.cgi?id=115904
2022
2023         Reviewed by Martin Robinson.
2024
2025         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2026         (startTestServerMonitor):
2027         * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
2028         (startTestServerMonitor):
2029
2030 2013-05-09  Anders Carlsson  <andersca@apple.com>
2031
2032         Fix build.
2033
2034         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2035
2036 2013-05-09  Anders Carlsson  <andersca@apple.com>
2037
2038         Enable UI process storage
2039         https://bugs.webkit.org/show_bug.cgi?id=115879
2040         <rdar://problem/12239765>
2041
2042         Reviewed by Beth Dakin.
2043
2044         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2045         Flip the switch.
2046
2047 2013-05-09  Anders Carlsson  <andersca@apple.com>
2048
2049         Remove extra spaces between right angle brackets in template declarations
2050         https://bugs.webkit.org/show_bug.cgi?id=115877
2051
2052         Reviewed by Beth Dakin.
2053
2054         C++11 doesn't require spaces between right angle brackets so remove all of them.
2055
2056         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2057         (WebKit::NetworkBlobRegistry::registerBlobURL):
2058         (WebKit::NetworkBlobRegistry::sandboxExtensions):
2059         * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
2060         (NetworkBlobRegistry):
2061         * NetworkProcess/HostRecord.h:
2062         (HostRecord):
2063         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2064         (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
2065         (WebKit::NetworkConnectionToWebProcess::didClose):
2066         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
2067         * NetworkProcess/NetworkConnectionToWebProcess.h:
2068         (NetworkConnectionToWebProcess):
2069         * NetworkProcess/NetworkProcess.h:
2070         (NetworkProcess):
2071         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2072         (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
2073         (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
2074         * NetworkProcess/NetworkResourceLoadScheduler.h:
2075         * NetworkProcess/SchedulableLoader.cpp:
2076         (WebKit::SchedulableLoader::SchedulableLoader):
2077         * NetworkProcess/SchedulableLoader.h:
2078         (SchedulableLoader):
2079         * Platform/CoreIPC/ArgumentCoders.h:
2080         * Platform/CoreIPC/Connection.cpp:
2081         (Connection::SyncMessageState):
2082         (CoreIPC::Connection::waitForMessage):
2083         (CoreIPC::Connection::processIncomingMessage):
2084         * Platform/CoreIPC/Connection.h:
2085         (Connection):
2086         * Platform/WorkQueue.h:
2087         (WorkQueue):
2088         * PluginProcess/PluginProcess.h:
2089         (PluginProcess):
2090         * Scripts/webkit2/messages_unittest.py:
2091         (CoreIPC):
2092         * Shared/BlockingResponseMap.h:
2093         (BlockingResponseMap):
2094         * Shared/ChildProcessProxy.h:
2095         (ChildProcessProxy):
2096         * Shared/ImmutableArray.cpp:
2097         (WebKit::ImmutableArray::ImmutableArray):
2098         * Shared/ImmutableArray.h:
2099         (WebKit::ImmutableArray::adopt):
2100         (ImmutableArray):
2101         * Shared/ImmutableDictionary.cpp:
2102         (WebKit::ImmutableDictionary::keys):
2103         * Shared/ImmutableDictionary.h:
2104         (ImmutableDictionary):
2105         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2106         (CustomProtocolManager):
2107         * Shared/SecurityOriginData.cpp:
2108         (WebKit::performAPICallbackWithSecurityOriginDataVector):
2109         * Shared/SessionState.cpp:
2110         * Shared/StatisticsData.h:
2111         (StatisticsData):
2112         * Shared/UserMessageCoders.h:
2113         (WebKit::UserMessageDecoder::baseDecode):
2114         * Shared/WebArchive.cpp:
2115         (WebKit::WebArchive::WebArchive):
2116         (WebKit::WebArchive::subresources):
2117         (WebKit::WebArchive::subframeArchives):
2118         * Shared/WebContextMenuItem.cpp:
2119         (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
2120         * Shared/WebOpenPanelParameters.cpp:
2121         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
2122         (WebKit::WebOpenPanelParameters::selectedFileNames):
2123         * Shared/mac/ArgumentCodersMac.mm:
2124         (CoreIPC::encode):
2125         * SharedWorkerProcess/SharedWorkerProcess.h:
2126         (SharedWorkerProcess):
2127         * UIProcess/API/mac/WKPrintingView.h:
2128         (WebFrameProxy):
2129         * UIProcess/API/mac/WKPrintingView.mm:
2130         (-[WKPrintingView _drawPreview:]):
2131         * UIProcess/API/mac/WKView.mm:
2132         (WebKit):
2133         * UIProcess/Downloads/DownloadProxyMap.cpp:
2134         (WebKit::DownloadProxyMap::processDidClose):
2135         * UIProcess/Downloads/DownloadProxyMap.h:
2136         (DownloadProxyMap):
2137         * UIProcess/GeolocationPermissionRequestManagerProxy.h:
2138         (GeolocationPermissionRequestManagerProxy):
2139         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
2140         (DynamicLinkerEnvironmentExtractor):
2141         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2142         (CustomProtocolManagerProxy):
2143         * UIProcess/Network/NetworkProcessProxy.h:
2144         (NetworkProcessProxy):
2145         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
2146         (NotificationPermissionRequestManagerProxy):
2147         * UIProcess/Notifications/WebNotificationManagerProxy.h:
2148         (WebNotificationManagerProxy):
2149         * UIProcess/Plugins/PluginProcessManager.h:
2150         (PluginProcessManager):
2151         * UIProcess/Plugins/PluginProcessProxy.h:
2152         (PluginProcessProxy):
2153         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
2154         (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
2155         * UIProcess/Plugins/WebPluginSiteDataManager.h:
2156         (WebPluginSiteDataManager):
2157         * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
2158         (SharedWorkerProcessManager):
2159         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
2160         (SharedWorkerProcessProxy):
2161         * UIProcess/StatisticsRequest.cpp:
2162         (WebKit::StatisticsRequest::completedRequest):
2163         * UIProcess/Storage/StorageManager.cpp:
2164         (StorageManager::StorageArea):
2165         (WebKit::StorageManager::StorageArea::dispatchEvents):
2166         (StorageManager::SessionStorageNamespace):
2167         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
2168         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
2169         (WebKit::StorageManager::createLocalStorageMap):
2170         (WebKit::StorageManager::createSessionStorageMap):
2171         (WebKit::StorageManager::destroyStorageMap):
2172         (WebKit::StorageManager::invalidateConnectionInternal):
2173         (WebKit::StorageManager::findStorageArea):
2174         (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
2175         * UIProcess/Storage/StorageManager.h:
2176         (StorageManager):
2177         * UIProcess/WebApplicationCacheManagerProxy.h:
2178         (WebApplicationCacheManagerProxy):
2179         * UIProcess/WebBackForwardList.cpp:
2180         (WebKit::WebBackForwardList::addItem):
2181         (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
2182         (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
2183         (WebKit::WebBackForwardList::clear):
2184         * UIProcess/WebBackForwardList.h:
2185         (WebKit):
2186         * UIProcess/WebContext.cpp:
2187         (WebKit::WebContext::createNewWebProcess):
2188         (WebKit::WebContext::enableProcessTermination):
2189         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
2190         * UIProcess/WebContext.h:
2191         (WebContext):
2192         * UIProcess/WebCookieManagerProxy.cpp:
2193         (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
2194         * UIProcess/WebCookieManagerProxy.h:
2195         (WebCookieManagerProxy):
2196         * UIProcess/WebDatabaseManagerProxy.cpp:
2197         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
2198         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
2199         * UIProcess/WebDatabaseManagerProxy.h:
2200         (WebDatabaseManagerProxy):
2201         * UIProcess/WebFormClient.cpp:
2202         (WebKit::WebFormClient::willSubmitForm):
2203         * UIProcess/WebFormClient.h:
2204         (WebFormClient):
2205         * UIProcess/WebKeyValueStorageManagerProxy.h:
2206         (WebKeyValueStorageManagerProxy):
2207         * UIProcess/WebLoaderClient.cpp:
2208         (WebKit::WebLoaderClient::didChangeBackForwardList):
2209         * UIProcess/WebLoaderClient.h:
2210         (WebLoaderClient):
2211         * UIProcess/WebMediaCacheManagerProxy.cpp:
2212         (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
2213         * UIProcess/WebMediaCacheManagerProxy.h:
2214         (WebMediaCacheManagerProxy):
2215         * UIProcess/WebPageContextMenuClient.cpp:
2216         (WebKit::WebPageContextMenuClient::showContextMenu):
2217         * UIProcess/WebPageProxy.cpp:
2218         (ExceededDatabaseQuotaRecords):
2219         (WebKit::WebPageProxy::relatedPages):
2220         (WebKit::WebPageProxy::didChangeBackForwardList):
2221         (WebKit::WebPageProxy::handleWheelEvent):
2222         (WebKit::WebPageProxy::processNextQueuedWheelEvent):
2223         (WebKit::WebPageProxy::findStringMatches):
2224         (WebKit::WebPageProxy::willSubmitForm):
2225         (WebKit::WebPageProxy::pluginInformationDictionary):
2226         (WebKit::WebPageProxy::didFindStringMatches):
2227         (WebKit::WebPageProxy::didReceiveEvent):
2228         * UIProcess/WebPageProxy.h:
2229         (WebPageProxy):
2230         * UIProcess/WebPageProxy.messages.in:
2231         * UIProcess/WebProcessProxy.cpp:
2232         (WebKit::WebProcessProxy::disconnect):
2233         (WebKit::WebProcessProxy::didClose):
2234         (WebKit::WebProcessProxy::didBecomeUnresponsive):
2235         (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
2236         (WebKit::WebProcessProxy::didBecomeResponsive):
2237         (WebKit::WebProcessProxy::disconnectFramesFromPage):
2238         (WebKit::WebProcessProxy::frameCountInPage):
2239         * UIProcess/WebProcessProxy.h:
2240         (WebProcessProxy):
2241         * UIProcess/WebResourceCacheManagerProxy.h:
2242         (WebResourceCacheManagerProxy):
2243         * UIProcess/mac/WebContextMenuProxyMac.mm:
2244         (WebKit::populateNSMenu):
2245         (WebKit::nsMenuItemVector):
2246         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
2247         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
2248         * WebProcess/Geolocation/WebGeolocationManager.cpp:
2249         (WebKit::WebGeolocationManager::didChangePosition):
2250         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
2251         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
2252         (WebIconDatabaseProxy):
2253         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2254         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2255         (WebKit::InjectedBundle::originsWithApplicationCache):
2256         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
2257         (WebKit::InjectedBundleBackForwardListItem::children):
2258         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
2259         (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
2260         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
2261         (InjectedBundlePageEditorClient):
2262         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
2263         (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
2264         (WebKit::InjectedBundlePageFormClient::willSubmitForm):
2265         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
2266         (InjectedBundlePageFormClient):
2267         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2268         (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
2269         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2270         (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
2271         (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
2272         * WebProcess/Network/WebResourceLoadScheduler.h:
2273         (WebResourceLoadScheduler):
2274         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
2275         (NotificationPermissionRequestManager):
2276         * WebProcess/Notifications/WebNotificationManager.h:
2277         (WebNotificationManager):
2278         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2279         (WebKit::NPRuntimeObjectMap::invalidate):
2280         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
2281         (NPRuntimeObjectMap):
2282         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2283         (WebKit::NetscapePlugin::stopAllStreams):
2284         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2285         (NetscapePlugin):
2286         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
2287         (NetscapePluginStream):
2288         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
2289         (getAllScriptsInPDFDocument):
2290         (WebKit::SimplePDFPlugin::runScriptsInPDFDocument):
2291         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2292         (PluginProcessConnectionManager):
2293         * WebProcess/Plugins/PluginView.cpp:
2294         (WebKit::PluginView::cancelAllStreams):
2295         * WebProcess/Plugins/PluginView.h:
2296         (PluginView):
2297         * WebProcess/Storage/StorageAreaMap.cpp:
2298         (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
2299         (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
2300         * WebProcess/Storage/StorageNamespaceImpl.cpp:
2301         (WebKit::StorageNamespaceImpl::storageArea):
2302         * WebProcess/Storage/StorageNamespaceImpl.h:
2303         (StorageNamespaceImpl):
2304         * WebProcess/Storage/WebKeyValueStorageManager.cpp:
2305         (WebKit::keyValueStorageOriginIdentifiers):
2306         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
2307         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
2308         (WebKit::WebDatabaseManager::getDatabaseOrigins):
2309         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2310         (WebKit::WebEditorClient::getClientPasteboardDataForRange):
2311         * WebProcess/WebCoreSupport/WebEditorClient.h:
2312         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2313         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
2314         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2315         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
2316         * WebProcess/WebPage/EventDispatcher.h:
2317         (EventDispatcher):
2318         * WebProcess/WebPage/FindController.cpp:
2319         (WebKit::FindController::findStringMatches):
2320         * WebProcess/WebPage/FindController.h:
2321         (FindController):
2322         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2323         (WebKit):
2324         * WebProcess/WebPage/WebFrame.cpp:
2325         (WebKit::WebFrame::childFrames):
2326         * WebProcess/WebPage/WebPage.cpp:
2327         (WebKit::WebPage::trackedRepaintRects):
2328         * WebProcess/WebPage/WebPage.h:
2329         (WebKit):
2330         (WebPage):
2331         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2332         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2333         (TiledCoreAnimationDrawingArea):
2334         * WebProcess/WebProcess.cpp:
2335         (WebKit::WebProcess::visitedLinkStateChanged):
2336         (WebKit::WebProcess::allVisitedLinkStateChanged):
2337         (WebKit::WebProcess::focusedWebPage):
2338         (WebKit::WebProcess::createWebPage):
2339         (WebKit::WebProcess::didClose):
2340         (WebKit::WebProcess::webPageGroup):
2341         (WebKit::addCaseFoldedCharacters):
2342         (WebKit::getWebCoreMemoryCacheStatistics):
2343         (WebKit::WebProcess::setTextCheckerState):
2344         * WebProcess/WebProcess.h:
2345         (WebProcess):
2346
2347 2013-05-09  Anders Carlsson  <andersca@apple.com>
2348
2349         Implement WebPlatformStrategies::transientLocalStorageNamespace
2350         https://bugs.webkit.org/show_bug.cgi?id=115876
2351         <rdar://problem/13852871>
2352
2353         Reviewed by Beth Dakin.
2354
2355         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2356         (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
2357         Return a session storage namespace for a random page when UI process storage is enabled,
2358         otherwise call the base class implementation.
2359
2360 2013-05-09  Anders Carlsson  <andersca@apple.com>
2361
2362         Use explicit qualifiers for names in the std:: namespace
2363         https://bugs.webkit.org/show_bug.cgi?id=115868
2364
2365         Reviewed by Andreas Kling.
2366
2367         * Shared/mac/ArgumentCodersMac.mm:
2368         (CoreIPC::encode):
2369         * UIProcess/API/C/WKPluginSiteDataManager.cpp:
2370         (WKPluginSiteDataManagerClearAllSiteData):
2371         * UIProcess/Plugins/PluginInfoStore.cpp:
2372         (WebKit::PluginInfoStore::findPluginForExtension):
2373         * UIProcess/WebFrameProxy.cpp:
2374         * UIProcess/WebProcessProxy.cpp:
2375         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2376         (WebKit::parsePostBuffer):
2377         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2378         (WebKit::NetscapePlugin::loadURL):
2379         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
2380         (WebKit::NetscapePluginStream::deliverDataToPlugin):
2381         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
2382         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2383         * WebProcess/WebPage/FindController.cpp:
2384         (WebKit::FindController::countStringMatches):
2385         (WebKit::FindController::updateFindUIAfterPageScroll):
2386         * WebProcess/WebPage/WebPage.cpp:
2387         * WebProcess/WebPage/mac/WebPageMac.mm:
2388         (WebKit::drawPDFPage):
2389         * WebProcess/mac/WebProcessMac.mm:
2390
2391 2013-05-09  Max Feil  <mfeil@rim.com>
2392
2393         shouldUsePluginDocument() needs to be respected when a document is created
2394         https://bugs.webkit.org/show_bug.cgi?id=110308
2395
2396         Reviewed by Rob Buis.
2397
2398         Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
2399         for clarity.
2400
2401         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2402         (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
2403         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2404         (WebFrameLoaderClient):
2405
2406 2013-05-09  Timothy Hatcher  <timothy@apple.com>
2407
2408         Make dragging off a tab in Safari with a docked Inspector reattach the Inspector.
2409
2410         https://webkit.org/b/115832
2411         rdar://problem/13605661
2412
2413         Reviewed by Benjamin Poulain.
2414
2415         * UIProcess/mac/WebInspectorProxyMac.mm:
2416         (WebKit::WebInspectorProxy::platformBringToFront):
2417         If the Web Inspector is no longer in the same window as the inspected view,
2418         then we need to reopen the Inspector to get it attached to the right window.
2419
2420 2013-05-08  Anders Carlsson  <andersca@apple.com>
2421
2422         Fix a typo in a comment.
2423
2424         Rubber-stamped by Darin Adler.
2425
2426         * WebProcess/WebProcess.cpp:
2427         (WebKit::WebProcess::initializeConnection):
2428
2429 2013-05-08  Anders Carlsson  <andersca@apple.com>
2430
2431         Remove bogus StorageAreaMap assertions
2432         https://bugs.webkit.org/show_bug.cgi?id=115838
2433
2434         Reviewed by Sam Weinig.
2435
2436         It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions.
2437
2438         * WebProcess/Storage/StorageAreaMap.cpp:
2439         (WebKit::StorageAreaMap::didGetValues):
2440         (WebKit::StorageAreaMap::didClear):
2441
2442 2013-05-08  Anders Carlsson  <andersca@apple.com>
2443
2444         Handle incoming clear operations
2445         https://bugs.webkit.org/show_bug.cgi?id=115829
2446
2447         Reviewed by Sam Weinig.
2448
2449         Handle clear by building up a new storage map with our pending changes.
2450
2451         * WebProcess/Storage/StorageAreaMap.cpp:
2452         (WebKit::StorageAreaMap::applyChange):
2453
2454 2013-05-08  Anders Carlsson  <andersca@apple.com>
2455
2456         Don't apply changes while we're clearing the database
2457         https://bugs.webkit.org/show_bug.cgi?id=115826
2458
2459         Reviewed by Darin Adler.
2460
2461         * UIProcess/Storage/LocalStorageDatabase.cpp:
2462         (WebKit::LocalStorageDatabase::openDatabase):
2463         Only call didOpenDatabaseWithOrigin if we actually did open the database.
2464
2465         (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
2466         Create the database if needed.
2467
2468         * UIProcess/Storage/StorageManager.cpp:
2469         (WebKit::StorageManager::getValues):
2470         Send back a DidGetValues message.
2471
2472         * WebProcess/Storage/StorageAreaMap.cpp:
2473         (WebKit::StorageAreaMap::StorageAreaMap):
2474         Initialize m_hasPendingClear.
2475
2476         (WebKit::StorageAreaMap::clear):
2477         Set m_hasPendingClear to true.
2478
2479         (WebKit::StorageAreaMap::resetValues):
2480         Set m_hasPendingClear back to false.
2481
2482         (WebKit::StorageAreaMap::loadValuesIfNeeded):
2483         Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items.
2484
2485         (WebKit::StorageAreaMap::didGetValues):
2486         Set m_hasPendingClear back to false.
2487
2488         (WebKit::StorageAreaMap::didClear):
2489         Set m_hasPendingClear back to false.
2490
2491         (WebKit::StorageAreaMap::applyChange):
2492         Don't apply the change if m_hasPendingClear is true.
2493
2494         * WebProcess/Storage/StorageAreaMap.messages.in:
2495         Add DidGetValues message.
2496
2497 2013-05-08  Andy Estes  <aestes@apple.com>
2498
2499         [WebKit2] REGRESSION (Custom Protocols): Reproducible crash when navigating to URL with an invalid scheme
2500         https://bugs.webkit.org/show_bug.cgi?id=115790
2501
2502         Reviewed by Alexey Proskuryakov.
2503
2504         NSMutableSet does not support adding or removing nil objects, and
2505         WTF::HashSet does not support adding, removing, or checking for null
2506         WTF::Strings.
2507
2508         For the NSMutableSet case, make sure that we don't try to add or remove
2509         nil NSStrings.
2510
2511         For the WTF::HashSet case, NSURL will return a nil NSString if we ask
2512         it for its scheme when it is invalid, which we will convert to a null
2513         WTF::String. Don't try to check if our HashSet of registered schemes
2514         contains a null String.
2515
2516         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2517         (WebKit::CustomProtocolManager::registerScheme): Assert that the scheme
2518         isn't null. We reject null schemes at the WKBrowsingContextController level.
2519         (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
2520         (WebKit::CustomProtocolManager::supportsScheme): If scheme is null, return false.
2521         * UIProcess/API/mac/WKBrowsingContextController.mm:
2522         (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): Do not register a nil scheme.
2523         (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): Ditto.
2524
2525 2013-05-08  Anders Carlsson  <andersca@apple.com>
2526
2527         Apply remote changes to storage maps locally
2528         https://bugs.webkit.org/show_bug.cgi?id=115825
2529
2530         Reviewed by Beth Dakin.
2531
2532         * WebProcess/Storage/StorageAreaMap.cpp:
2533         (WebKit::StorageAreaMap::resetValues):
2534         Clear the pending values map.
2535
2536         (WebKit::StorageAreaMap::didSetItem):
2537         If we failed to set the item, forget everything we know about this storage map.
2538         Otherwise, remove the pending item.
2539
2540         (WebKit::StorageAreaMap::didRemoveItem):
2541         Remove the pending item.
2542
2543         (WebKit::StorageAreaMap::shouldApplyChangeForKey):
2544         Helper function that returns whether a change for a given key should be applied.
2545
2546         (WebKit::StorageAreaMap::applyChange):
2547         Apply the change. Currently only adds and removes are handled.
2548
2549         (WebKit::StorageAreaMap::dispatchStorageEvent):
2550         Apply the change locally as well if needed.
2551
2552         * WebProcess/Storage/StorageAreaMap.h:
2553
2554 2013-05-08  Anders Carlsson  <andersca@apple.com>
2555
2556         Assert at compile time that we don't pass Objective-C object pointers to adoptCF
2557         https://bugs.webkit.org/show_bug.cgi?id=115823
2558
2559         Reviewed by Geoffrey Garen.
2560
2561         Fix adoptNS/adoptCF mismatches. For the adopt(leakRef()) case we'd ideally want a static_pointer_cast overload for RetainPtr,
2562         but this will do for now.
2563         
2564         * Shared/mac/ArgumentCodersMac.mm:
2565         (CoreIPC::decode):
2566
2567 2013-05-08  Sam Weinig  <sam@webkit.org>
2568
2569         Add SPI to determine if a plugin is sandboxed
2570         https://bugs.webkit.org/show_bug.cgi?id=115810
2571
2572         Reviewed by Anders Carlsson.
2573
2574         * PluginProcess/mac/PluginProcessMac.mm:
2575         (WebKit::PluginProcess::initializeSandbox):
2576         * Shared/Plugins/mac/PluginSandboxProfile.h: Added.
2577         * Shared/Plugins/mac/PluginSandboxProfile.mm: Added.
2578         (WebKit::pluginSandboxProfileDefaultDirectory):
2579         (WebKit::pluginSandboxProfileDirectories):
2580         (WebKit::pluginSandboxProfileName):
2581         (WebKit::pluginSandboxCommonProfile):
2582         (WebKit::pluginSandboxProfileForDirectory):
2583         (WebKit::pluginSandboxProfile):
2584         (WebKit::pluginHasSandboxProfileForDirectory):
2585         (WebKit::pluginHasSandboxProfile):
2586         Move sandbox code to its own file and refactor to use cocoa. Also adds pluginHasSandboxProfile function
2587         which uses the newly refactored code.
2588
2589         * UIProcess/API/C/mac/WKContextPrivateMac.h:
2590         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2591         (WKPlugInInfoIsSandboxedKey):
2592         (createInfoDictionary):
2593         Add WKPlugInInfoIsSandboxedKey.
2594
2595         * WebKit2.xcodeproj/project.pbxproj:
2596         Add new files.
2597
2598 2013-05-08  Anders Carlsson  <andersca@apple.com>
2599
2600         Safari unexpectedly quits with invalid message from the web process with message ID 0x323002f (WebPageProxy.DecidePolicyForNavigationAction)
2601         https://bugs.webkit.org/show_bug.cgi?id=115814
2602         <rdar://problem/12331258>
2603
2604         Reviewed by Andreas Kling.
2605
2606         To ensure that any asynchronous messages are delivered to the UI process before
2607         synchronous messages (except when doing so would lead to a deadlock), Call
2608         setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the UI process connections.
2609
2610         * WebProcess/WebProcess.cpp:
2611         (WebKit::WebProcess::initializeConnection):
2612
2613 2013-05-08  Tim Horton  <timothy_horton@apple.com>
2614
2615         Coalesce WKView visibleRect changes
2616         https://bugs.webkit.org/show_bug.cgi?id=115792
2617         <rdar://problem/13776842>
2618
2619         Reviewed by Simon Fraser.
2620
2621         The system can call renewGState much more often than we actually want
2622         to update the WebProcess' notion of the exposed rect. Most importantly,
2623         within an autolayout pass it is called many times, and often sees
2624         [WKView visibleRect] be an intermediate value which will never be
2625         flushed to the screen. We only care about the final value, so we should
2626         wait until AppKit has finished - with a zero-delay timer - to inform the
2627         WebProcess of exposed rect changes.
2628
2629         * UIProcess/WebPageProxy.cpp:
2630         (WebKit::WebPageProxy::WebPageProxy):
2631         Add exposedRectChangedTimer.
2632         (WebKit::WebPageProxy::close):
2633         Cancel exposedRectChangedTimer when tearing down the WebPageProxy.
2634         * UIProcess/WebPageProxy.h:
2635         (WebPageProxy):
2636         Add exposedRectChangedTimerFired, the timer itself, and two rects:
2637         the most recent exposed rect from the WKView, and the last one we actually
2638         sent across to the WebProcess.
2639         * UIProcess/mac/WebPageProxyMac.mm:
2640         (WebKit::WebPageProxy::viewExposedRectChanged):
2641         Instead of immediately sending exposed rect changes to the WebProcess,
2642         start a zero-delay timer to do so.
2643         (WebKit::WebPageProxy::exposedRectChangedTimerFired):
2644         Once the zero-delay timer fires, send the new exposed rect to the WebProcess.
2645
2646 2013-05-08  Alexey Proskuryakov  <ap@apple.com>
2647
2648         <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers
2649         <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices
2650
2651         Reviewed by Anders Carlsson.
2652
2653         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more
2654         TextServices and NSInputManager directories.
2655
2656 2013-05-08  Anders Carlsson  <andersca@apple.com>
2657
2658         Remove BinarySemaphoreWin.cpp.
2659
2660         Rubber-stamped by Beth Dakin.
2661
2662         BinarySemaphoreWin has been moved to WTF, but the original was never removed.
2663
2664         * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
2665
2666 2013-05-08  Zan Dobersek  <zdobersek@igalia.com>
2667
2668         [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
2669         https://bugs.webkit.org/show_bug.cgi?id=115716
2670
2671         Reviewed by Andreas Kling.
2672
2673         WebNetworkInfoManager should inherit from WebProcessSupplement and should be used
2674         as such by the WebProcess. This removes the need for the m_networkInfoManager member
2675         variable in the WebProcess class and brings the WebNetworkInfoManager in line with
2676         other manager classes of which instances are controlled by the WebProcess class.
2677
2678         * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
2679         (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
2680         (WebKit):
2681         * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
2682         (WebKit): Alphabetically reorder the two forwarding declarations.
2683         (WebNetworkInfoManager): Inherit from the WebProcessSupplement interface.
2684         * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
2685         (WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement.
2686         (WebKit::WebNetworkInfoClient::metered): Ditto.
2687         (WebKit::WebNetworkInfoClient::startUpdating): Ditto.
2688         (WebKit::WebNetworkInfoClient::stopUpdating): Ditto.
2689         (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto.
2690         * WebProcess/WebProcess.cpp:
2691         (WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement.
2692         * WebProcess/WebProcess.h:
2693         (WebProcess): Remove the m_networkInfoManager member variable and its getter method.
2694
2695 2013-05-08  Zan Dobersek  <zdobersek@igalia.com>
2696
2697         [WK2] Make the WebBatteryManager a supplement to the WebProcess
2698         https://bugs.webkit.org/show_bug.cgi?id=115715
2699
2700         Reviewed by Andreas Kling.
2701
2702         WebBatteryManager should inherit from WebProcessSupplement and should be used as such
2703         by the WebProcess. This removes the need for the m_batteryManager member variable in
2704         the WebProcess class and brings the WebBatteryManager in line with other manager classes
2705         of which instances are controlled by the WebProcess class.
2706
2707         * WebProcess/Battery/WebBatteryManager.cpp:
2708         (WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
2709         (WebKit):
2710         * WebProcess/Battery/WebBatteryManager.h:
2711         (WebBatteryManager): Inherit from the WebProcessSupplement interface.
2712         * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
2713         (WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement.
2714         (WebKit::WebBatteryClient::stopUpdating): Ditto.
2715         (WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto.
2716         * WebProcess/WebProcess.cpp:
2717         (WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement.
2718         * WebProcess/WebProcess.h:
2719         (WebProcess): Remove the m_batteryManager member variable and its getter method.
2720
2721 2013-05-06  Darin Adler  <darin@apple.com>
2722
2723         Use adoptCF and adoptNS in more places
2724         https://bugs.webkit.org/show_bug.cgi?id=115657
2725
2726         Reviewed by Sam Weinig.
2727
2728         * Shared/Downloads/cfnet/DownloadCFNet.cpp:
2729         (WebKit::Download::useCredential):
2730         (WebKit::Download::start):
2731         (WebKit::Download::startWithHandle):
2732         (WebKit::Download::cancel):
2733         (WebKit::Download::didDecideDestination):
2734         Use adoptCF and adoptNS.
2735
2736 2013-05-06  Sam Weinig  <sam@webkit.org>
2737
2738         Add SPI to get an array of all the installed plug-ins
2739         https://bugs.webkit.org/show_bug.cgi?id=115688
2740
2741         Reviewed by Anders Carlsson.
2742
2743         * UIProcess/API/C/mac/WKContextPrivateMac.h:
2744         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2745         (createInfoDictionary):
2746         Extract creation of info dictionary into helper.
2747         (WKContextCopyPlugInInfoForBundleIdentifier):
2748         Modified to use the new helper.
2749         (WKContextGetInfoForInstalledPlugIns):
2750         Added.
2751
2752 2013-05-07  Anders Carlsson  <andersca@apple.com>
2753
2754         Clean up KeyframeValueList and related classes
2755         https://bugs.webkit.org/show_bug.cgi?id=115738
2756
2757         Reviewed by Simon Fraser.
2758
2759         Update for WebCore changes.
2760
2761         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2762         (CoreIPC::::decode):
2763
2764 2013-05-07  Anders Carlsson  <andersca@apple.com>
2765
2766         Add and remove databases and origins from the database tracker
2767         https://bugs.webkit.org/show_bug.cgi?id=115752
2768
2769         Reviewed by Andreas Kling.
2770
2771         * UIProcess/Storage/LocalStorageDatabase.cpp:
2772         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2773         Rename m_databaseFilename to m_databasePath.
2774
2775         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2776         Rename m_databaseFilename to m_databasePath.
2777
2778         * UIProcess/Storage/LocalStorageDatabase.h:
2779         Rename m_databaseFilename to m_databasePath.
2780
2781         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2782         (WebKit::LocalStorageDatabaseTracker::databasePath):
2783         Rename databaseFilename to databasePath.
2784
2785         (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
2786         Call addDatabaseWithOriginIdentifier.
2787
2788         (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
2789         Call removeDatabaseWithOriginIdentifier.
2790
2791         (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
2792         Call databasePath instead of databaseFile.
2793
2794         (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
2795         Bail if the database is already open.
2796
2797         (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
2798         Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.
2799
2800         (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
2801         Add the database to the Origins table.
2802
2803         (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
2804         remove the database from the Origins table and delete it.
2805
2806         (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
2807         Helper function that looks up a database path given its identifier.
2808         
2809         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2810         Rename databaseFile to databasePath.
2811
2812 2013-05-07  Anders Carlsson  <andersca@apple.com>
2813
2814         The storage database tracker should know when databases come and go
2815         https://bugs.webkit.org/show_bug.cgi?id=115748
2816
2817         Reviewed by Andreas Kling.
2818
2819         * UIProcess/Storage/LocalStorageDatabase.cpp:
2820         (WebKit::LocalStorageDatabase::openDatabase):
2821         If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.
2822
2823         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2824         Remove a FIXME; we run all storage related things on the same thread.
2825
2826         (WebKit::LocalStorageDatabase::close):
2827         Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.
2828
2829         (WebKit::LocalStorageDatabase::databaseIsEmpty):
2830         Helper function for determining whether a database is empty.
2831         
2832         * UIProcess/Storage/LocalStorageDatabase.h:
2833         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2834         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
2835         Add ".localstorage" to the filename.
2836
2837         (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
2838         (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
2839         Add empty stubs.
2840
2841 2013-05-07  Brady Eidson  <beidson@apple.com>
2842
2843         Add JoinExistingSession to the Networking XPC.
2844         <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991
2845
2846         Reviewed by Sam Weinig.
2847
2848         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
2849         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
2850
2851 2013-05-07  Anders Carlsson  <andersca@apple.com>
2852
2853         REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
2854         https://bugs.webkit.org/show_bug.cgi?id=115711
2855
2856         Reviewed by Andreas Kling.
2857
2858         Handle setting the local storage directory more than once.
2859
2860         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2861         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2862         Close the database (if necessary) and clear the origins map before importing the origin identifiers.
2863
2864 2013-05-07  Antoine Quint  <graouts@apple.com>
2865
2866         Re-establish autostart timeout extension on user interaction
2867         https://bugs.webkit.org/show_bug.cgi?id=113232
2868
2869         Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
2870         (pluginOrigin, pageOrigin, mimeType) arguments like the other similar
2871         WebProcess methods and gather these arguments from the PlugInView's
2872         plug-in element.
2873
2874         Reviewed by Dean Jackson.
2875
2876         * WebProcess/Plugins/PluginView.cpp:
2877         (WebKit::PluginView::pluginDidReceiveUserInteraction):
2878         Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
2879         tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().
2880
2881         * WebProcess/WebProcess.cpp:
2882         (WebKit::WebProcess::plugInDidReceiveUserInteraction):
2883         * WebProcess/WebProcess.h:
2884         (WebProcess):
2885         Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
2886         and obtain the plug-in origin hash from that.
2887
2888 2013-05-07  Anders Carlsson  <andersca@apple.com>
2889
2890         Each local storage database should know its origin
2891         https://bugs.webkit.org/show_bug.cgi?id=115737
2892
2893         Reviewed by Andreas Kling.
2894
2895         Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.
2896
2897         * UIProcess/Storage/LocalStorageDatabase.cpp:
2898         (WebKit::LocalStorageDatabase::create):
2899         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2900         * UIProcess/Storage/LocalStorageDatabase.h:
2901         (LocalStorageDatabase):
2902
2903 2013-05-07  Brady Eidson  <beidson@apple.com>
2904
2905         Remove some unnecessary soft linking in NetworkProcess. (Take 2)
2906         <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
2907
2908         Reviewed by Dean Jackson and owned by Andreas Kling.
2909
2910         As a followup to r149651, include the private headers conditionally.
2911         Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).
2912
2913         * NetworkProcess/mac/DiskCacheMonitor.mm:
2914         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
2915         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
2916
2917 2013-05-07  Jinwoo Song  <jinwoo7.song@samsung.com>
2918
2919         [EFL][WK2] Add ewk APIs for setting and getting user agent
2920         https://bugs.webkit.org/show_bug.cgi?id=114429
2921
2922         Reviewed by Andreas Kling.
2923
2924         Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.
2925
2926         * UIProcess/API/efl/EwkView.cpp:
2927         (EwkView::EwkView):
2928         (EwkView::setUserAgent):
2929         * UIProcess/API/efl/EwkView.h:
2930         (EwkView::userAgent):
2931         (EwkView):
2932         * UIProcess/API/efl/ewk_view.cpp:
2933         (ewk_view_user_agent_get):
2934         (ewk_view_user_agent_set):
2935         * UIProcess/API/efl/ewk_view.h:
2936         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2937         (TEST_F):
2938
2939 2013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2940
2941         HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
2942         https://bugs.webkit.org/show_bug.cgi?id=115646
2943
2944         Reviewed by Darin Adler.
2945
2946         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2947         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
2948         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2949         (WebKit::NetworkResourceLoadScheduler::hostForURL):
2950         * Shared/ImmutableDictionary.h:
2951         (WebKit::ImmutableDictionary::get):
2952         * UIProcess/Storage/StorageManager.cpp:
2953         (WebKit::StorageManager::createSessionStorageMap):
2954         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
2955         (WebKit::StorageManager::findStorageArea):
2956         * UIProcess/WebContext.h:
2957         (WebKit::WebContext::supplement):
2958         * UIProcess/WebProcessProxy.cpp:
2959         (WebKit::WebProcessProxy::webBackForwardItem):
2960         (WebKit::WebProcessProxy::webFrame):
2961         * UIProcess/efl/DownloadManagerEfl.cpp:
2962         (WebKit::DownloadManagerEfl::ewkDownloadJob):
2963         * WebProcess/Network/WebResourceLoadScheduler.h:
2964         (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
2965         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2966         (WebKit::NetscapePlugin::streamFromID):
2967         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2968         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2969         * WebProcess/Plugins/PluginView.cpp:
2970         (WebKit::PluginView::cancelStreamLoad):
2971         * WebProcess/WebPage/EventDispatcher.cpp:
2972         (WebKit::EventDispatcher::wheelEvent):
2973         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2974         (WebKit::WebBackForwardListProxy::itemForID):
2975         (WebKit::WebBackForwardListProxy::itemAtIndex):
2976         * WebProcess/WebPage/WebPage.cpp:
2977         (WebKit::WebPage::webUndoStep):
2978         (WebKit::WebPage::didFinishCheckingText):
2979         (WebKit::WebPage::didCancelCheckingText):
2980         * WebProcess/WebProcess.cpp:
2981         (WebKit::WebProcess::webPage):
2982         (WebKit::WebProcess::webPageGroup):
2983             Updated accordingly to new HashMap<.., RefPtr>::get() semantics.
2984
2985 2013-05-06  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2986
2987         [Qt] Unreviewed buildfix after r149637.
2988
2989         * Target.pri:
2990
2991 2013-05-06  Ryosuke Niwa  <rniwa@webkit.org>
2992
2993         REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
2994         https://bugs.webkit.org/show_bug.cgi?id=115711    
2995
2996         Rubber-stamped by Anders Carlsson.
2997
2998         Temporarily removed the assertion. Andres is going to investigate it tomorrow.
2999
3000         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3001         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3002
3003 2013-05-06  Darin Adler  <darin@apple.com>
3004
3005         Use OwnPtr instead of deleteAllValues in KeyframeValueList
3006         https://bugs.webkit.org/show_bug.cgi?id=115652
3007
3008         Reviewed by Simon Fraser.
3009
3010         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3011         (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
3012         next to new when calling KeyframeValueList::insert.
3013
3014 2013-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3015
3016         Unreviewed, build fix on EFL port
3017
3018         * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
3019
3020 2013-05-06  Philippe Normand  <pnormand@igalia.com>
3021
3022         Unreviewed, GTK build fix after r149637.
3023
3024         * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
3025         the build.
3026
3027 2013-05-06  Brady Eidson  <beidson@apple.com>
3028
3029         Remove some unnecessary soft linking in NetworkProcess.
3030         <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
3031
3032         Reviewed by Sam Weinig.
3033
3034         Replace some unneeded soft linking with forward declarations.
3035
3036         * NetworkProcess/mac/DiskCacheMonitor.mm:
3037         (WebKit::DiskCacheMonitor::DiskCacheMonitor):
3038         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3039         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
3040         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
3041
3042 2013-05-06  Anders Carlsson  <andersca@apple.com>
3043
3044         More work on LocalStorageDatabaseTracker
3045         https://bugs.webkit.org/show_bug.cgi?id=115680
3046
3047         Reviewed by Andreas Kling.
3048
3049         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3050         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3051         Call the new databaseFilename that takes a string.
3052
3053         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3054         Assert that we don't call this more than once. Dispatch a call to import origin identifiers.
3055
3056         (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
3057         New helper function that returns the tracker database path.
3058
3059         (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
3060         Open the database and create the Origins table if needed.
3061
3062         (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
3063         Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.
3064
3065         (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
3066         Bring the tracker database up to date from the database files on disk.
3067
3068         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3069         (LocalStorageDatabaseTracker):
3070
3071 2013-05-06  Alexey Proskuryakov  <ap@apple.com>
3072
3073         <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
3074         https://bugs.webkit.org/show_bug.cgi?id=115665
3075
3076         Reviewed by Darin Adler.
3077
3078         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated
3079         check for frame->isMainFrame() to the top, matching oter similar functions.
3080         Call updateActivePages().
3081
3082         * WebProcess/WebProcess.cpp:
3083         (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME.
3084         (WebKit::WebProcess::updateActivePages): Empty implementation for platforms
3085         that don't need to do anything here.
3086
3087         * WebProcess/WebProcess.h: Added updateActivePages().
3088
3089         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
3090         Collect user visible origins of pages in the process and pass them to LS.
3091
3092 2013-05-06  Mark Rowe  <mrowe@apple.com>
3093
3094         <rdar://problem/13775921> Switch off a deprecated API.
3095
3096         Reviewed by Oliver Hunt.
3097
3098         * Shared/mac/ChildProcessMac.mm:
3099         (WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
3100         begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
3101         When enabling process suppression, end the activity.
3102
3103 2013-05-06  Anders Carlsson  <andersca@apple.com>
3104
3105         Move local storage directory handling to LocalStorageDatabaseTracker
3106         https://bugs.webkit.org/show_bug.cgi?id=115676
3107
3108         Reviewed by Andreas Kling.
3109
3110         * UIProcess/Storage/LocalStorageDatabase.cpp:
3111         (WebKit::LocalStorageDatabase::create):
3112         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3113         * UIProcess/Storage/LocalStorageDatabase.h:
3114         (WebCore):
3115         (LocalStorageDatabase):
3116         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3117         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
3118         (WebKit):
3119         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3120         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3121         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3122         (WebCore):
3123         (LocalStorageDatabaseTracker):
3124         * UIProcess/Storage/StorageManager.cpp:
3125         (WebKit::StorageManager::StorageArea::StorageArea):
3126         (WebKit::StorageManager::setLocalStorageDirectory):
3127         * UIProcess/Storage/StorageManager.h:
3128         (StorageManager):
3129
3130 2013-05-06  Manuel Rego Casasnovas  <rego@igalia.com>
3131
3132         [GTK] Add webkit_uri_scheme_request_finish_error
3133         https://bugs.webkit.org/show_bug.cgi?id=94316
3134
3135         Reviewed by Anders Carlsson.
3136
3137         This new method will allow to finish WebKitURISchemeRequest with a
3138         GError that will be passed to the WebKitWebView through the
3139         "load-failed" signal.
3140
3141         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
3142         (webkit_uri_scheme_request_finish_error): Implement new method using
3143         WebSoupRequestManagerProxy::didFailURIRequest().
3144         * UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
3145         * UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new
3146         method in the code example at webkit_web_context_register_uri_scheme()
3147         documentation.
3148         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
3149         method.
3150         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
3151         (loadFailedCallback): Set m_error to monitor it from the tests.
3152         (LoadTrackingTest::loadURI): Clear m_error before each load.
3153         (LoadTrackingTest::loadHtml): Ditto.
3154         (LoadTrackingTest::loadPlainText): Ditto.
3155         (LoadTrackingTest::loadRequest): Ditto.
3156         (LoadTrackingTest::reload): Ditto.
3157         (LoadTrackingTest::goBack): Ditto.
3158         (LoadTrackingTest::goForward): Ditto.
3159         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
3160         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
3161         (testWebContextURIScheme): Modify test to check the behavior of the new
3162         method.
3163         * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
3164         (WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
3165         (WebKit): Implement new method using
3166         WebSoupRequestManager::DidFailURIRequest().
3167         * UIProcess/soup/WebSoupRequestManagerProxy.h:
3168         (WebSoupRequestManagerProxy): Add new method header.
3169         * WebProcess/soup/WebSoupRequestManager.cpp:
3170         (WebKit):
3171         (WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
3172         setting the error and completing the request.
3173         * WebProcess/soup/WebSoupRequestManager.h:
3174         (WebSoupRequestManager): Add new method header.
3175         * WebProcess/soup/WebSoupRequestManager.messages.in: Add new method
3176         signature.
3177
3178 2013-05-06  Anders Carlsson  <andersca@apple.com>
3179
3180         Every LocalStorageDatabase should know about its tracker
3181         https://bugs.webkit.org/show_bug.cgi?id=115673
3182
3183         Reviewed by Andreas Kling.
3184
3185         * UIProcess/Storage/LocalStorageDatabase.cpp:
3186         (WebKit::LocalStorageDatabase::create):
3187         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3188         * UIProcess/Storage/LocalStorageDatabase.h:
3189         * UIProcess/Storage/StorageManager.cpp:
3190         (WebKit::StorageManager::StorageArea::StorageArea):
3191
3192 2013-05-06  Anders Carlsson  <andersca@apple.com>
3193
3194         Add LocalStorageDatabaseTracker class
3195         https://bugs.webkit.org/show_bug.cgi?id=115671
3196
3197         Reviewed by Andreas Kling.
3198
3199         Somewhat unsurprisingly, this class will be used for tracking local storage databases.
3200
3201         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.
3202         (WebKit::LocalStorageDatabaseTracker::create):
3203         (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
3204         (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
3205         * UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.
3206         (LocalStorageDatabaseTracker):
3207         
3208         * UIProcess/Storage/StorageManager.cpp:
3209         (WebKit::StorageManager::StorageManager):
3210         Create a local storage database tracker.
3211
3212         * WebKit2.xcodeproj/project.pbxproj:
3213         Add new files.
3214
3215 2013-05-06  Anders Carlsson  <andersca@apple.com>
3216
3217         Handle closing the local storage database
3218         https://bugs.webkit.org/show_bug.cgi?id=115669
3219
3220         Reviewed by Beth Dakin.
3221
3222         * UIProcess/Storage/LocalStorageDatabase.cpp:
3223         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3224         Initialize m_isClosed.
3225     
3226         (WebKit::LocalStorageDatabase::~LocalStorageDatabase):
3227         Assert that m_isClosed is false.
3228
3229         (WebKit::LocalStorageDatabase::close):
3230         Set m_isClosed to true and write any pending changes to disk.
3231
3232         (WebKit::LocalStorageDatabase::updateDatabase):
3233         Compute the changed items and pass them to updateDatabaseWithChangedItems.
3234
3235         (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
3236         Split out the code that actually writes to the database from updateDatabase and into this function.
3237
3238         * UIProcess/Storage/LocalStorageDatabase.h:
3239         * UIProcess/Storage/StorageManager.cpp:
3240         (WebKit::StorageManager::StorageArea::~StorageArea):
3241         Call close().
3242
3243 2013-05-06  Zan Dobersek  <zdobersek@igalia.com>
3244
3245         [WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
3246         https://bugs.webkit.org/show_bug.cgi?id=115654
3247
3248         Reviewed by Andreas Kling.
3249
3250         Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
3251         to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
3252         construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
3253
3254         * UIProcess/API/C/WKContext.cpp:
3255         (WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.
3256         * UIProcess/WebContext.cpp:
3257         (WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
3258         the now-removed member variable.
3259         (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
3260         supplements vector.
3261         (WebKit::WebContext::disconnectProcess): Ditto.
3262         * UIProcess/WebContext.h:
3263         (WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.
3264         * UIProcess/WebNetworkInfoManagerProxy.cpp:
3265         (WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
3266         (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
3267         (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
3268         accessing the private m_context directly.
3269         (WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
3270         (WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
3271         (WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
3272         (WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.
3273         * UIProcess/WebNetworkInfoManagerProxy.h:
3274         (WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
3275
3276 2013-05-06  Alexey Proskuryakov  <ap@apple.com>
3277
3278         <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
3279         https://bugs.webkit.org/show_bug.cgi?id=115483
3280
3281         Reviewed by Darin Adler.
3282
3283         * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it
3284         in multiple places, so it's easier to pre-compute it.
3285
3286         * PluginProcess/mac/PluginProcessMac.mm:
3287         (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID.
3288         (WebKit::loadSandboxProfile): Ditto.
3289         (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID.
3290         (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices.
3291         (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of
3292         a path.
3293
3294 2013-05-06  Anders Carlsson  <andersca@apple.com>
3295
3296         Handle removeItem and clear in LocalStorageDatabase
3297         https://bugs.webkit.org/show_bug.cgi?id=115664
3298
3299         Reviewed by Darin Adler.
3300
3301         * UIProcess/Storage/LocalStorageDatabase.cpp:
3302         (WebKit::LocalStorageDatabase::removeItem):
3303         Call itemDidChange with a null value, indicating that we want to remove this item.
3304
3305         (WebKit::LocalStorageDatabase::clear):
3306         Clear items, set m_shouldClearItems and schedule a database update.
3307
3308         (WebKit::LocalStorageDatabase::updateDatabase):
3309         If m_shouldClearItems is true, clear all items.
3310
3311         * UIProcess/Storage/StorageManager.cpp:
3312         (WebKit::StorageManager::StorageArea::removeItem):
3313         Call through to the local storage database.
3314
3315         (WebKit::StorageManager::StorageArea::clear):
3316         Ditto.
3317
3318 2013-05-06  Anders Carlsson  <andersca@apple.com>
3319
3320         Write storage changes to disk
3321         https://bugs.webkit.org/show_bug.cgi?id=115660
3322
3323         Reviewed by Andreas Kling.
3324
3325         * UIProcess/Storage/LocalStorageDatabase.cpp:
3326         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3327         Initialize new member variables.
3328
3329         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
3330         Disable database threading checks.
3331
3332         (WebKit::LocalStorageDatabase::importItems):
3333         Only import the items once.
3334
3335         (WebKit::LocalStorageDatabase::setItem):
3336         Call itemDidChange.
3337
3338         (WebKit::LocalStorageDatabase::itemDidChange):
3339         Record the change and schedule a database update.
3340
3341         (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
3342         Use WorkQueue::dispatchAfterDelay to schedule a datbase update.
3343
3344         (WebKit::LocalStorageDatabase::updateDatabase):
3345         Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule
3346         another database update for the remaining items.
3347
3348         * UIProcess/Storage/LocalStorageDatabase.h:
3349         Add new member variables.
3350
3351         * UIProcess/Storage/StorageManager.cpp:
3352         (WebKit::StorageManager::StorageArea::setItem):
3353         Call LocalStorageDatabase::setItem.
3354
3355 2013-05-06  Zan Dobersek  <zdobersek@igalia.com>
3356
3357         [WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
3358         https://bugs.webkit.org/show_bug.cgi?id=115625
3359
3360         Reviewed by Andreas Kling.
3361
3362         Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy
3363         to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
3364         construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
3365
3366         * UIProcess/API/C/WKContext.cpp:
3367         (WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext.
3368         * UIProcess/WebBatteryManagerProxy.cpp:
3369         (WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name.
3370         (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable.
3371         (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing
3372         the private m_context directly.
3373         (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto.
3374         (WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked.
3375         (WebKit::WebBatteryManagerProxy::processDidClose): Ditto.
3376         (WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref.
3377         (WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref.
3378         (WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating.
3379         (WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating.
3380         * UIProcess/WebBatteryManagerProxy.h:
3381         (WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
3382         * UIProcess/WebContext.cpp:
3383         (WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to
3384         the now-removed member variable.
3385         (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
3386         supplements vector.
3387         (WebKit::WebContext::disconnectProcess): Ditto.
3388         * UIProcess/WebContext.h:
3389         (WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method.
3390
3391 2013-05-06  Antoine Quint  <graouts@apple.com>
3392
3393         Manage the presentation of the snapshotted plug-in using JavaScript
3394         https://bugs.webkit.org/show_bug.cgi?id=115548
3395
3396         Reviewed by Dean Jackson.
3397
3398         Expose a new plugInExtraScript method to support the injection of
3399         a JS file from the chrome client to customize the rendering of a
3400         snapshotted plug-in's shadow tree. Additionally, it is expected
3401         the chrome client will want to provide localized strings taking
3402         into account the snapshotted plug-in's mime-type, so we're adding
3403         this as a parameter to both plugInStartLabelTitle and
3404         plugInStartLabelSubtitle methods.
3405
3406         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3407         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
3408         (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
3409         (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
3410         (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
3411         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
3412         (InjectedBundlePageUIClient):
3413         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3414         (WebKit::WebChromeClient::plugInStartLabelTitle):
3415         (WebKit::WebChromeClient::plugInStartLabelSubtitle):
3416         (WebKit::WebChromeClient::plugInExtraScript):
3417         * WebProcess/WebCoreSupport/WebChromeClient.h:
3418         (WebChromeClient):
3419
3420 2013-05-05  Chris Fleizach  <cfleizach@apple.com>
3421
3422         WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
3423         https://bugs.webkit.org/show_bug.cgi?id=115621
3424
3425         Reviewed by Alexey Proskuryakov.
3426
3427         Allow access to the location where 3rd party speech synthesizers are stored.
3428
3429         * WebProcess/com.apple.WebProcess.sb.in:
3430
3431 2013-05-05  Tim Horton  <timothy_horton@apple.com>
3432
3433         [wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
3434         https://bugs.webkit.org/show_bug.cgi?id=115577
3435         <rdar://problem/13762583>
3436
3437         Reviewed by Darin Adler.
3438
3439         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3440         (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
3441         Invalidate the page overlay layers' device scale factor when
3442         TiledCoreAnimationDrawingArea is notified that it has changed.
3443
3444 2013-05-05  Anders Carlsson  <andersca@apple.com>
3445
3446         Remove the Vector::append overload that takes a Vector
3447         https://bugs.webkit.org/show_bug.cgi?id=115535
3448
3449         Reviewed by Andreas Kling.
3450
3451         Use Vector::appendVector instead.
3452
3453         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
3454         (WebKit::NetworkBlobRegistry::registerBlobURL):
3455         * NetworkProcess/SchedulableLoader.cpp:
3456         (WebKit::SchedulableLoader::SchedulableLoader):
3457         * Platform/CoreIPC/Connection.cpp:
3458         (CoreIPC::Connection::SyncMessageState::dispatchMessages):
3459         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
3460         (WebKit::PluginInfoStore::pluginsDirectories):
3461
3462 2013-05-04  Sam Weinig  <sam@webkit.org>
3463
3464         Fix * placement in a few functions as noticed by Mark Rowe.
3465
3466         Rubber-stamped by Dan Bernstein.
3467
3468         * WebProcess/WebPage/PageBanner.h:
3469         (PageBanner):
3470         * WebProcess/WebPage/mac/PageBannerMac.mm:
3471         (WebKit::PageBanner::create):
3472         (WebKit::PageBanner::PageBanner):
3473
3474 2013-05-04  Sam Weinig  <sam@webkit.org>
3475
3476         REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
3477         <rdar://problem/13702008>
3478         https://bugs.webkit.org/show_bug.cgi?id=115607
3479
3480         Reviewed by Benjamin Poulain.
3481
3482         API Test: WebKit2.CloseThenTerminate
3483
3484         * UIProcess/WebPageProxy.cpp:
3485         (WebKit::WebPageProxy::resetStateAfterProcessExited):
3486         Don't try to reset the state if the page is closed, it won't work and its not worth it.
3487
3488 2013-05-04  Beth Dakin  <bdakin@apple.com>
3489
3490         https://bugs.webkit.org/show_bug.cgi?id=115574
3491         Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null
3492
3493         Reviewed by Darin Adler.
3494
3495         Don't call addToPage() on a null banner.
3496         * WebProcess/WebPage/WebPage.cpp:
3497         (WebKit::WebPage::setHeaderPageBanner):
3498         (WebKit::WebPage::setFooterPageBanner):
3499
3500 2013-05-03  Alexey Proskuryakov  <ap@apple.com>
3501
3502         <rdar://problem/13806836> Tweak sandbox profile.
3503
3504         Reviewed by Dan Bernstein.
3505
3506         * WebProcess/com.apple.WebProcess.sb.in:
3507
3508 2013-05-03  Tim Horton  <timothy_horton@apple.com>
3509
3510         PDFPlugin: Changes being made to active annotation aren't