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