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