1 2013-05-16 Commit Queue <commit-queue@webkit.org>
3 Unreviewed, rolling out r150034.
4 http://trac.webkit.org/changeset/150034
5 https://bugs.webkit.org/show_bug.cgi?id=116257
7 This work around doesn't work due to another bug NSUndoManager
8 has (Requested by rniwa on #webkit).
10 * UIProcess/API/mac/PageClientImpl.mm:
11 (WebKit::PageClientImpl::registerEditCommand):
13 2013-05-16 Tim Horton <timothy_horton@apple.com>
15 PDFPlugins don't load when plugins are disabled, but they should
16 https://bugs.webkit.org/show_bug.cgi?id=75790
17 <rdar://problem/11650197>
19 Reviewed by Anders Carlsson.
21 Support loading "application" plug-ins even if plug-ins are explicitly disabled.
23 Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
24 be loaded even if plug-ins are disabled.
26 * Platform/CoreIPC/HandleMessage.h:
27 (CoreIPC::callMemberFunction):
28 Add a 5-argument, 3-reply version of callMemberFunction.
30 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
31 (WebKit::NetscapePluginModule::getPluginInfo):
32 NPAPI plug-ins are not application plug-ins.
34 * Shared/WebCoreArgumentCoders.cpp:
37 Encode/decode the new isApplicationPlugin field on PluginInfo.
39 * UIProcess/Plugins/PluginInfoStore.cpp:
40 (WebKit::PluginInfoStore::findPluginForMIMEType):
41 (WebKit::PluginInfoStore::findPluginForExtension):
42 (WebKit::PluginInfoStore::findPlugin):
43 * UIProcess/Plugins/PluginInfoStore.h:
45 Give PluginInfoStore's findPlugin method and its private helper
46 methods an argument allowing them to only match application plug-ins.
48 (WebKit::WebPageProxy::findPlugin):
49 * UIProcess/WebPageProxy.h:
51 * UIProcess/WebPageProxy.messages.in:
52 Add an argument allowing findPlugin to restrict its search to only application plug-ins.
54 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
55 (WebKit::WebFrameLoaderClient::objectContentType):
56 Previously, this caller depended on pluginData() returning null if
57 plug-ins were disabled. Since that is no longer the case, we have to
58 check if we can use plug-ins, and otherwise ignore non-application-plug-ins.
60 * WebProcess/WebPage/WebPage.cpp:
61 (WebKit::WebPage::createPlugin):
62 When going to search for a plug-in, ask subframeLoader whether or not
63 it's OK to use ordinary non-application plug-ins, and pass that information
64 on to the UIProcess when performing the search.
66 (WebKit::WebPage::canPluginHandleResponse): Ditto.
67 (WebKit::WebPage::canShowMIMEType):
68 Ensure that canShowMIMEType returns true if we have an application plug-in
69 that can display a particular MIME type, even if we're not allowed to load plug-ins.
71 2013-05-16 Michał Pakuła vel Rutka <m.pakula@samsung.com>
73 [EFL][WK2] Make Ewk_Context_Menu Ewk_Object
74 https://bugs.webkit.org/show_bug.cgi?id=116097
76 Reviewed by Gyuyoung Kim.
78 Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
79 object can be shared between different modules.
81 * UIProcess/API/efl/EwkView.cpp:
82 (EwkView::showContextMenu):
83 * UIProcess/API/efl/EwkView.h:
85 * UIProcess/API/efl/ewk_context_menu.cpp:
86 (EwkContextMenu::appendItem):
87 (EwkContextMenu::removeItem):
88 (ewk_context_menu_new):
89 (ewk_context_menu_new_with_items):
90 (ewk_context_menu_item_append):
91 (ewk_context_menu_item_remove):
92 (ewk_context_menu_hide):
93 (ewk_context_menu_items_get):
94 (ewk_context_menu_item_select):
95 * UIProcess/API/efl/ewk_context_menu_item.cpp:
96 (EwkContextMenuItem::EwkContextMenuItem):
97 (ewk_context_menu_item_new_with_submenu):
98 * UIProcess/API/efl/ewk_context_menu_item_private.h:
100 * UIProcess/API/efl/ewk_context_menu_private.h:
102 (EwkContextMenu::create):
103 * UIProcess/API/efl/ewk_defines.h:
105 2013-05-16 Andreas Kling <akling@apple.com>
107 Page::chrome() should return a reference.
108 <http://webkit.org/b/116185>
110 Reviewed by Anders Carlsson.
112 2013-05-16 Brady Eidson <beidson@apple.com>
114 svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
115 <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917
117 Reviewed by Sam Weinig.
119 * NetworkProcess/SchedulableLoader.cpp:
120 (WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or
121 that the client cannot be asked for credentials.
123 * WebProcess/Network/WebResourceLoadScheduler.cpp:
124 (WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage
125 if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
126 available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
127 a frame and page ID or that the client won’t be asked for credentials.
129 2013-05-16 Timothy Hatcher <timothy@apple.com>
131 Make the Find Banner in Safari work again with the docked Web Inspector.
133 https://webkit.org/b/116182
134 rdar://problem/13857423
136 Reviewed by Benjamin Poulain.
138 * UIProcess/mac/WebInspectorProxyMac.mm:
139 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
140 (WebKit::WebInspectorProxy::platformDetach):
141 Preserve the top position of the inspected view so banners in Safari still work.
143 2013-05-16 Tim Horton <timothy_horton@apple.com>
145 [wk2] didGetImageForFindMatch can return a null image
146 https://bugs.webkit.org/show_bug.cgi?id=116251
147 <rdar://problem/13277246>
149 Reviewed by Simon Fraser.
151 Don't send didGetImageForFindMatch if we didn't get an image for
152 the find match, which can happen if the selection is not visible.
154 * WebProcess/WebPage/FindController.cpp:
155 (WebKit::FindController::getImageForFindMatch):
157 2013-05-16 Tim Horton <timothy_horton@apple.com>
159 [wk2] Minimum layout width is lost if the WebProcess crashes
160 https://bugs.webkit.org/show_bug.cgi?id=116202
161 <rdar://problem/13202320>
163 Reviewed by Darin Adler.
165 Send the minimum layout width to the WebProcess upon initialization,
166 so that crashed-and-restarted WebProcesses have the correct width.
168 * Shared/WebPageCreationParameters.cpp:
169 (WebKit::WebPageCreationParameters::encode):
170 (WebKit::WebPageCreationParameters::decode):
171 * Shared/WebPageCreationParameters.h:
172 (WebPageCreationParameters):
173 Add minimumLayoutWidth WebPage creation parameter.
175 * UIProcess/WebPageProxy.cpp:
176 (WebKit::WebPageProxy::creationParameters):
177 Send the current minimumLayoutWidth to the WebPage when it's created.
179 (WebKit::WebPageProxy::setMinimumLayoutWidth):
180 Store minimumLayoutWidth changes that come in while the WebProcess is
181 not valid, so that the correct width is sent once it is restarted.
183 * WebProcess/WebPage/WebPage.cpp:
184 (WebKit::WebPage::WebPage):
185 Set minimumLayoutWidth to the value provided by our creation parameters.
187 2013-05-16 Zoltan Arvai <zarvai@inf.u-szeged.hu>
189 [Win] Unreviewed buildfix after r150161.
191 'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
192 because it is also defined in MS SDK 7.1 winioctl.h.
194 * UIProcess/InspectorServer/HTTPRequest.cpp:
195 (WebKit::HTTPRequest::HTTPRequest):
197 2013-05-16 Andras Becsi <andras.becsi@digia.com>
199 [WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard
200 https://bugs.webkit.org/show_bug.cgi?id=116018
202 Rubber-stamped by Jocelyn Turcotte.
204 * Shared/Plugins/Netscape/PluginInformation.cpp:
205 (WebKit::getPluginModuleInformation):
207 2013-05-15 Simon Cooper <scooper@apple.com>
209 Enable printing in plugins
210 https://bugs.webkit.org/show_bug.cgi?id=116201
211 <rdar://problem/12347902>
213 Reviewed by Alexey Proskuryakov.
215 Add the printing entitlement so that legacy printing drivers can
216 customize the print panel. Update the printing rules and enable them
219 * Configurations/PluginService.entitlements:
220 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
221 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
222 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
223 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
225 2013-05-15 Anders Carlsson <andersca@apple.com>
227 Move HTTPRequest class to WebKit2
228 https://bugs.webkit.org/show_bug.cgi?id=116192
230 Reviewed by Darin Adler.
232 Move HTTPRequest to WebKit2 and put it in the WebKit namespace.
235 * GNUmakefile.list.am:
237 * UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp.
238 * UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h.
239 * UIProcess/InspectorServer/WebInspectorServer.cpp:
240 * UIProcess/InspectorServer/WebInspectorServer.h:
241 (WebInspectorServer):
242 * UIProcess/InspectorServer/WebSocketServerClient.h:
243 (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
244 (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
245 (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
246 * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
247 * UIProcess/InspectorServer/WebSocketServerConnection.h:
249 (WebSocketServerConnection):
251 2013-05-15 Arnaud Renevier <a.renevier@sisa.samsung.com>
253 [GTK] [WebKit2] enable displaying console.log messages to system console
254 https://bugs.webkit.org/show_bug.cgi?id=115578
256 Reviewed by Martin Robinson.
258 Add a setting to enable/disable displaying of page messages to system
259 console. Property is called enable-write-console-messages-to-stdout.
260 Getter API function is
261 webkit_settings_get_enable_write_console_messages_to_stdout
262 Setter API function is
263 webkit_settings_set_enable_write_console_messages_to_stdout
265 * UIProcess/API/gtk/WebKitSettings.cpp:
266 (webKitSettingsSetProperty):
267 (webKitSettingsGetProperty):
268 (webkit_settings_class_init):
269 (webkit_settings_get_enable_write_console_messages_to_stdout):
270 (webkit_settings_set_enable_write_console_messages_to_stdout):
271 * UIProcess/API/gtk/WebKitSettings.h:
272 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
273 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
274 (testWebKitSettings):
276 2013-05-08 Gavin Barraclough <barraclough@apple.com>
278 Process suppression should throttle scripted animations
279 https://bugs.webkit.org/show_bug.cgi?id=115812
281 Reviewed by Simon Fraser.
283 <rdar://problem/13799726>
285 * WebProcess/WebPage/WebPage.cpp:
286 (WebKit::WebPage::setThrottled):
288 * WebProcess/WebPage/WebPage.h:
290 - Added setThrottled, forwards to WebCore::Page.
291 * WebProcess/WebProcess.cpp:
293 (WebKit::WebProcess::setProcessSuppressionEnabled):
294 * WebProcess/WebProcess.h:
296 - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
298 2013-05-15 Anders Carlsson <andersca@apple.com>
300 WKPageGetPluginInformationDisplayNameKey doesn't return the right key
301 https://bugs.webkit.org/show_bug.cgi?id=116188
303 Reviewed by Andreas Kling.
305 * UIProcess/API/C/WKPage.cpp:
306 (WKPageGetPluginInformationDisplayNameKey):
308 2013-05-15 Alexey Proskuryakov <ap@apple.com>
310 More fixing after WebProcessShim renaming in r149074.
312 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
313 (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
315 2013-05-15 Alexey Proskuryakov <ap@apple.com>
317 <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
320 Reviewed by Anders Carlsson.
322 * WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
324 2013-05-13 Anders Carlsson <andersca@apple.com>
326 Frame::editor() should return a reference
327 https://bugs.webkit.org/show_bug.cgi?id=116037
329 Reviewed by Darin Adler.
331 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
332 (WebKit::WebContextMenuClient::searchWithGoogle):
333 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
334 (WebKit::WebEditorClient::updateGlobalSelection):
335 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
336 (WebKit::WebEditorClient::handleInputMethodKeydown):
337 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
338 (WebKit::WebEditorClient::executePendingEditorCommands):
339 (WebKit::WebEditorClient::handleKeyboardEvent):
340 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
341 (WebKit::WebContextMenuClient::searchWithGoogle):
342 (WebKit::WebContextMenuClient::searchWithSpotlight):
343 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
344 (WebKit::changeWordCase):
345 * WebProcess/WebPage/WebFrame.cpp:
346 (WebKit::WebFrame::selectionAsString):
347 (WebKit::WebFrame::setTextDirection):
348 * WebProcess/WebPage/WebPage.cpp:
349 (WebKit::WebPage::editorState):
350 (WebKit::WebPage::executeEditingCommand):
351 (WebKit::WebPage::isEditingCommandEnabled):
352 (WebKit::WebPage::validateCommand):
353 (WebKit::WebPage::handleEditingKeyboardEvent):
354 (WebKit::WebPage::advanceToNextMisspelling):
355 (WebKit::WebPage::uppercaseWord):
356 (WebKit::WebPage::lowercaseWord):
357 (WebKit::WebPage::capitalizeWord):
358 (WebKit::WebPage::replaceSelectionWithText):
359 (WebKit::WebPage::handleAlternativeTextUIResult):
360 (WebKit::WebPage::setCompositionForTesting):
361 (WebKit::WebPage::hasCompositionForTesting):
362 (WebKit::WebPage::confirmCompositionForTesting):
363 (WebKit::WebPage::setComposition):
364 (WebKit::WebPage::cancelComposition):
365 * WebProcess/WebPage/efl/WebPageEfl.cpp:
366 (WebKit::WebPage::confirmComposition):
367 (WebKit::WebPage::setComposition):
368 (WebKit::WebPage::cancelComposition):
369 * WebProcess/WebPage/mac/WebPageMac.mm:
370 (WebKit::WebPage::executeKeypressCommandsInternal):
371 (WebKit::WebPage::handleEditingKeyboardEvent):
372 (WebKit::WebPage::setComposition):
373 (WebKit::WebPage::confirmComposition):
374 (WebKit::WebPage::cancelComposition):
375 (WebKit::WebPage::insertText):
376 (WebKit::WebPage::insertDictatedText):
377 (WebKit::WebPage::getMarkedRange):
378 (WebKit::WebPage::firstRectForCharacterRange):
379 (WebKit::WebPage::readSelectionFromPasteboard):
380 (WebKit::WebPage::getStringSelectionForPasteboard):
381 (WebKit::WebPage::getDataSelectionForPasteboard):
383 2013-05-15 Anders Carlsson <andersca@apple.com>
385 Need a way for NPAPI plug-ins to open preference panes
386 https://bugs.webkit.org/show_bug.cgi?id=116173
387 <rdar://problem/13503848>
389 Reviewed by Sam Weinig.
391 * PluginProcess/PluginControllerProxy.h:
392 Add openPluginPreferencePane().
394 * PluginProcess/mac/PluginControllerProxyMac.mm:
395 (WebKit::PluginControllerProxy::openPluginPreferencePane):
396 Send OpenPluginPreferencePane to the UI process.
398 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
399 (WebKit::NetscapePluginModule::getPluginInfo):
400 Get the preference pane path.
402 * Shared/Plugins/PluginModuleInfo.h:
403 Add preferencePanePath member variable.
405 * UIProcess/Plugins/PluginProcessProxy.h:
406 Add openPluginPreferencePane message handler.
408 * UIProcess/Plugins/PluginProcessProxy.messages.in:
409 ADd OpenPluginPreferencePane message.
411 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
412 (WebKit::PluginProcessProxy::openPluginPreferencePane):
413 Get the path to the preference pane and use LS to open it.
415 * WebKit2.xcodeproj/project.pbxproj:
418 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
419 (WebKit::NPN_GetValue):
420 Handle WKNVPlugInContainer.
422 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
423 Add WKNVPlugInContainer member variable.
425 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
426 (WebKit::NetscapePlugin::openPluginPreferencePane):
427 Call through to the plug-in controller.
429 (WebKit::NetscapePlugin::plugInContainer):
430 Create a WKNPAPIPlugInContainer object if necessary.
432 (WebKit::NetscapePlugin::platformDestroy):
433 Invalidate the WKNPAPIPlugInContainer object.
435 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:
436 New file with the protocol definition.
438 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
439 (-[WKNPAPIPlugInContainer dealloc]):
440 Assert that the plug-in is null (that we've been invalidated).
442 (-[WKNPAPIPlugInContainer _invalidate]):
443 Set the plug-in to null.
445 (-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
446 Call through to the plug-in.
448 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:
449 New file with the interface declaration for the object that implements the protocol.
451 * WebProcess/Plugins/PluginController.h:
452 Add openPluginPreferencePane member function.
454 * WebProcess/Plugins/PluginView.cpp:
455 (WebKit::PluginView::openPluginPreferencePane):
456 Add stub; this should never be called since we always go through the UI process.
458 2013-05-15 Alexey Proskuryakov <ap@apple.com>
460 [WK2][Mac] Split resetTextInputState into two functions
461 https://bugs.webkit.org/show_bug.cgi?id=116174
463 Reviewed by Anders Carlsson.
465 Splitting resetTextInputState into resetSecureInputState and
466 notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
467 won't be happening simultaneously.
469 * UIProcess/API/mac/PageClientImpl.h:
470 * UIProcess/API/mac/PageClientImpl.mm:
471 (WebKit::PageClientImpl::resetSecureInputState):
472 (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
473 * UIProcess/API/mac/WKView.mm:
474 (-[WKView resignFirstResponder]):
475 (-[WKView _resetSecureInputState]):
476 (-[WKView _notifyInputContextAboutDiscardedComposition]):
477 * UIProcess/API/mac/WKViewInternal.h:
478 * UIProcess/PageClient.h:
479 * UIProcess/WebPageProxy.cpp:
480 (WebKit::WebPageProxy::didCommitLoadForFrame):
482 2013-05-15 Carlos Garcia Campos <cgarcia@igalia.com>
484 [GTK] Add padding to all public class structs for future expansion without breaking ABI
485 https://bugs.webkit.org/show_bug.cgi?id=112565
487 Reviewed by Anders Carlsson.
489 Use 4 pointers for most of the classes that are unlikely to grow
490 and 8 for WebKitWebView and WebKitWebContext.
492 * UIProcess/API/gtk/WebKitBackForwardList.h:
493 (_WebKitBackForwardListClass):
494 * UIProcess/API/gtk/WebKitBackForwardListItem.h:
495 (_WebKitBackForwardListItemClass):
496 * UIProcess/API/gtk/WebKitContextMenu.h:
497 (_WebKitContextMenuClass):
498 * UIProcess/API/gtk/WebKitContextMenuItem.h:
499 (_WebKitContextMenuItemClass):
500 * UIProcess/API/gtk/WebKitCookieManager.h:
501 (_WebKitCookieManagerClass):
502 * UIProcess/API/gtk/WebKitDownload.h:
503 (_WebKitDownloadClass):
504 * UIProcess/API/gtk/WebKitFaviconDatabase.h:
505 (_WebKitFaviconDatabaseClass):
506 * UIProcess/API/gtk/WebKitFileChooserRequest.h:
507 (_WebKitFileChooserRequestClass):
508 * UIProcess/API/gtk/WebKitFindController.h:
509 (_WebKitFindControllerClass):
510 * UIProcess/API/gtk/WebKitFormSubmissionRequest.h:
511 (_WebKitFormSubmissionRequestClass):
512 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h:
513 (_WebKitGeolocationPermissionRequestClass):
514 * UIProcess/API/gtk/WebKitHitTestResult.h:
515 (_WebKitHitTestResultClass):
516 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
517 (_WebKitNavigationPolicyDecisionClass):
518 * UIProcess/API/gtk/WebKitPlugin.h:
519 (_WebKitPluginClass):
520 * UIProcess/API/gtk/WebKitPolicyDecision.h:
521 (_WebKitPolicyDecisionClass):
522 * UIProcess/API/gtk/WebKitPrintOperation.h:
523 (_WebKitPrintOperationClass):
524 * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
525 (_WebKitResponsePolicyDecisionClass):
526 * UIProcess/API/gtk/WebKitSecurityManager.h:
527 (_WebKitSecurityManagerClass):
528 * UIProcess/API/gtk/WebKitSettings.h:
529 (_WebKitSettingsClass):
530 * UIProcess/API/gtk/WebKitURIRequest.h:
531 (_WebKitURIRequestClass):
532 * UIProcess/API/gtk/WebKitURIResponse.h:
533 (_WebKitURIResponseClass):
534 * UIProcess/API/gtk/WebKitURISchemeRequest.h:
535 (_WebKitURISchemeRequestClass):
536 * UIProcess/API/gtk/WebKitWebContext.h:
537 (_WebKitWebContextClass):
538 * UIProcess/API/gtk/WebKitWebInspector.h:
539 (_WebKitWebInspectorClass):
540 * UIProcess/API/gtk/WebKitWebResource.h:
541 (_WebKitWebResourceClass):
542 * UIProcess/API/gtk/WebKitWebView.h:
543 (_WebKitWebViewClass):
544 * UIProcess/API/gtk/WebKitWebViewBase.h:
545 (_WebKitWebViewBaseClass):
546 * UIProcess/API/gtk/WebKitWebViewGroup.h:
547 (_WebKitWebViewGroupClass):
548 * UIProcess/API/gtk/WebKitWindowProperties.h:
549 (_WebKitWindowPropertiesClass):
551 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
553 Remove WTF_USE_PLATFORM_STRATEGIES
554 https://bugs.webkit.org/show_bug.cgi?id=114431
556 Reviewed by Darin Adler.
558 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
559 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
560 * WebProcess/WebProcess.cpp:
561 (WebKit::WebProcess::WebProcess):
563 2013-05-14 Simon Cooper <scooper@apple.com>
565 Add a preference that can disable the fake SYSV SHM shim
566 https://bugs.webkit.org/show_bug.cgi?id=116127
567 <rdar://problem/13810524>
569 Reviewed by Alexey Proskuryakov.
571 * PluginProcess/mac/PluginProcessShim.mm:
572 (WebKit::shim_disabled):
573 (WebKit::shim_shmdt):
574 (WebKit::shim_shmat):
575 (WebKit::shim_shmget):
576 (WebKit::shim_shmctl):
578 2013-05-14 Tim Horton <timothy_horton@apple.com>
580 [wk2] Not updating tiled backing coverage when main frame scrollability changes
581 https://bugs.webkit.org/show_bug.cgi?id=116123
582 <rdar://problem/13836559>
584 Reviewed by Simon Fraser.
586 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
587 (TiledCoreAnimationDrawingArea):
588 Add updateMainFrameClipsToExposedRect.
590 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
591 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
592 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
593 Remove m_clipsToExposedRect. We don't actually need it.
595 (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
596 Call updateMainFrameClipsToExposedRect so that we can always update
597 tiled backing coverage and can factor out our calls to setClipsToExposedRect.
599 (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
600 Factor out setClipsToExposedRect calls to here, and also call
601 FrameView::adjustTiledBackingCoverage so that the FrameView's tiled
602 backing is informed to allow overdraw in the UI-process-scrolling case.
604 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
605 Use updateMainFrameClipsToExposedRect.
607 2013-05-14 Alexey Proskuryakov <ap@apple.com>
609 [Mac] Add a testing shim for secure event input functions
610 https://bugs.webkit.org/show_bug.cgi?id=116122
612 Reviewed by Mark Rowe.
614 Moved DyldInterpose.h to WebCore, as we now use it there too.
616 * PluginProcess/mac/PluginProcessShim.mm:
617 * Shared/mac/CookieStorageShimLibrary.cpp:
618 * Shared/mac/DyldInterpose.h: Removed.
619 * WebKit2.xcodeproj/project.pbxproj:
620 * WebProcess/mac/SecItemShimLibrary.mm:
622 2013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
624 [Win] REGRESSION(r149944): mmap is not available on Windows
625 https://bugs.webkit.org/show_bug.cgi?id=116015
627 Reviewed by Anders Carlsson.
629 Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
630 using mmap is not necessary and maybe not available.
632 * Platform/CoreIPC/ArgumentEncoder.cpp:
633 (CoreIPC::allocBuffer):
634 (CoreIPC::freeBuffer):
635 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
636 (CoreIPC::ArgumentEncoder::grow):
638 2013-05-14 Zan Dobersek <zdobersek@igalia.com>
640 [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
641 https://bugs.webkit.org/show_bug.cgi?id=115921
643 Reviewed by Gustavo Noronha Silva.
645 * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.
647 2013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
649 [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
650 https://bugs.webkit.org/show_bug.cgi?id=116039
652 Reviewed by Benjamin Poulain.
654 According to the documentation, DeleteTimerQueueTimer can be expected to return
655 false with an ERROR_IO_PENDING error when called from the timer's callback.
657 * Platform/win/WorkQueueWin.cpp:
658 (WorkQueue::timerCallback):
660 2013-05-14 Alexey Proskuryakov <ap@apple.com>
662 Remove unused "type" field from DictionaryPopupInfo
663 https://bugs.webkit.org/show_bug.cgi?id=116011
665 Reviewed by Darin Adler.
667 It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.
669 * Shared/DictionaryPopupInfo.cpp:
670 (WebKit::DictionaryPopupInfo::encode):
671 (WebKit::DictionaryPopupInfo::decode):
672 * Shared/DictionaryPopupInfo.h:
673 * WebProcess/Plugins/PDF/PDFPlugin.mm:
674 (WebKit::PDFPlugin::showDefinitionForAttributedString):
675 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
676 (WebKit::WebContextMenuClient::lookUpInDictionary):
677 * WebProcess/WebPage/WebPage.h:
678 * WebProcess/WebPage/mac/WebPageMac.mm:
679 (WebKit::WebPage::performDictionaryLookupAtLocation):
680 (WebKit::WebPage::performDictionaryLookupForSelection):
681 (WebKit::WebPage::performDictionaryLookupForRange):
683 2013-05-14 Michael Brüning <michael.bruning@digia.com>
685 [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
686 https://bugs.webkit.org/show_bug.cgi?id=110218
688 Reviewed by Darin Adler.
690 Make the WebPageProxy::creationParameters use the accessor
691 deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor
692 directly. This will restore the custom device scale factor when
693 reattaching to the WebProcess after a crash.
695 Moreover, it will enable the Qt and ELF ports to use the
696 existing C API for overriding the device scale factor instead
697 of using the WebPageProxy directly or adding new C API to set
698 the intrinsic device scale factor.
700 * UIProcess/API/efl/EwkView.cpp:
701 (EwkView::setDeviceScaleFactor):
702 * UIProcess/API/qt/qquickwebpage.cpp:
703 (QQuickWebPage::updatePaintNode):
704 * UIProcess/WebPageProxy.cpp:
705 (WebKit::WebPageProxy::creationParameters):
707 2013-05-13 Alex Christensen <achristensen@apple.com>
709 Added testRunner.setPrinting.
710 https://bugs.webkit.org/show_bug.cgi?id=42693
711 rdar://problem/8213845
713 Reviewed by Darin Adler.
715 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
716 (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.
717 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
718 Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.
719 * WebProcess/WebPage/WebPage.cpp:
720 (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.
721 * WebProcess/WebPage/WebPage.h:
722 Added renderTreeExternalRepresentationForPrinting declaration.
724 2013-05-13 Timothy Hatcher <timothy@apple.com>
726 Add support for updating the Web Inspector toolbar height.
728 https://bugs.webkit.org/show_bug.cgi?id=115996
730 Reviewed by Joseph Pecoraro and Benjamin Poulain.
732 * UIProcess/WebInspectorProxy.h:
733 (WebKit::WebInspectorProxy::setToolbarHeight):
735 * UIProcess/WebInspectorProxy.messages.in:
736 * UIProcess/efl/WebInspectorProxyEfl.cpp:
737 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
738 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
739 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
741 * UIProcess/mac/WebInspectorProxyMac.mm:
742 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
743 * UIProcess/qt/WebInspectorProxyQt.cpp:
744 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
745 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
746 (WebKit::WebInspectorFrontendClient::setToolbarHeight):
747 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
748 (WebInspectorFrontendClient):
749 * WebProcess/WebPage/WebInspector.cpp:
750 (WebKit::WebInspector::setToolbarHeight):
751 * WebProcess/WebPage/WebInspector.h:
753 2013-05-13 Ryosuke Niwa <rniwa@webkit.org>
755 Sometimes NSUndoManager can get into an inconsistent state
756 https://bugs.webkit.org/show_bug.cgi?id=116050
758 Reviewed by Enrica Casucci.
760 Always group undo items to work around a bug in NSUndoManager that manifests
761 when we call removeAllActionsWithTarget.
763 * UIProcess/API/mac/PageClientImpl.mm:
764 (WebKit::PageClientImpl::registerEditCommand):
766 2013-05-13 Anders Carlsson <andersca@apple.com>
768 [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
769 https://bugs.webkit.org/show_bug.cgi?id=116026
771 Reviewed by Andreas Kling.
773 Make sure that we ignore any leftover messages from the UI process after we've reset
774 the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
775 everytime the map is reset. Associate every storage area change with the seed and ignore any incoming
776 notification messages from the UI process if the seeds are different.
778 * Platform/CoreIPC/HandleMessage.h:
780 (CoreIPC::callMemberFunction):
781 * UIProcess/Storage/StorageManager.cpp:
782 (WebKit::StorageManager::getValues):
783 (WebKit::StorageManager::setItem):
784 (WebKit::StorageManager::removeItem):
785 (WebKit::StorageManager::clear):
786 * UIProcess/Storage/StorageManager.h:
788 * UIProcess/Storage/StorageManager.messages.in:
789 * WebProcess/Storage/StorageAreaMap.cpp:
790 (WebKit::StorageAreaMap::StorageAreaMap):
791 (WebKit::StorageAreaMap::setItem):
792 (WebKit::StorageAreaMap::removeItem):
793 (WebKit::StorageAreaMap::clear):
794 (WebKit::StorageAreaMap::resetValues):
795 (WebKit::StorageAreaMap::loadValuesIfNeeded):
796 (WebKit::StorageAreaMap::didGetValues):
797 (WebKit::StorageAreaMap::didSetItem):
798 (WebKit::StorageAreaMap::didRemoveItem):
799 (WebKit::StorageAreaMap::didClear):
800 (WebKit::StorageAreaMap::applyChange):
801 * WebProcess/Storage/StorageAreaMap.h:
803 * WebProcess/Storage/StorageAreaMap.messages.in:
805 2013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
807 [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
808 https://bugs.webkit.org/show_bug.cgi?id=116045
810 Reviewed by Darin Adler.
812 * UIProcess/CoordinatedGraphics/WebView.cpp:
813 (WebKit::WebView::setSize):
815 2013-05-13 Jon Lee <jonlee@apple.com>
817 [WK2] Notification manager removal should not be tied to termination of web processes
818 https://bugs.webkit.org/show_bug.cgi?id=116038
819 <rdar://problem/10968680>
821 Reviewed by Ryosuke Niwa.
823 WebNotificationManagerProxy incorrectly removes the manager when web processes close.
824 Since it is a supplemental on the web context, the manager should only be removed
825 when the context is destroyed.
827 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
828 * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
831 2013-05-13 Martin Robinson <mrobinson@igalia.com>
833 [GTK] [WebKit2] Use a template file for generated GObject enum files
834 https://bugs.webkit.org/show_bug.cgi?id=115867
836 Reviewed by Carlos Garcia Campos.
838 * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
839 * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
840 * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
841 * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
843 2013-05-13 Noam Rosenthal <noam@webkit.org>
845 [CoordGfx] requestAnimationFrame performance issues
846 https://bugs.webkit.org/show_bug.cgi?id=112345
848 Reviewed by Jocelyn Turcotte.
850 Changed the logic of requestAnimationFrame in Coordinated Graphics.
851 We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:
852 - If there is already a frame pending in the UI process, do nothing, as the animations would
853 be serviced when the frame is returned to the web process.
854 - If there is no frame pending, we schedule a flush, making sure that that flush occurs at
855 least 1/60 seconds after the last animation service, so that we don't get an infinite loop
858 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
859 (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
860 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
861 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
862 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
863 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
864 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
865 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
866 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
868 2013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
870 [WK2][CoordinatedGraphics] WKView needs API for handling opacity
871 https://bugs.webkit.org/show_bug.cgi?id=116032
873 Reviewed by Kenneth Rohde Christiansen.
875 Add WKViewSetOpacity and WKViewOpacity APIs and use them in
878 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
881 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
882 * UIProcess/CoordinatedGraphics/WebView.cpp:
883 (WebKit::WebView::WebView):
884 (WebKit::WebView::paintToCurrentGLContext):
885 * UIProcess/CoordinatedGraphics/WebView.h:
886 (WebKit::WebView::setOpacity):
887 (WebKit::WebView::opacity):
890 2013-05-13 Zan Dobersek <zdobersek@igalia.com>
892 [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
893 https://bugs.webkit.org/show_bug.cgi?id=115918
895 Reviewed by Gustavo Noronha Silva.
897 Due to layer violations and circular dependencies the WebKitPluginProcess requires for the
898 libraries containing the built code of the intertwining Platform and WebCore layers to be
899 specified multiple times when linking. This can be avoided by packing the two layers' archives
900 into one big archive, named after the WebCore layer due to no clear boundary between it and the
901 Platform layer. The big archive can then be specified only once when linking, simplifying the code
902 and suppressing all the layering violations so they do not cause build problems.
904 First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on
905 are specified. These are then used as dependencies for the archive creation rule as well as the list
906 from which the archive file paths are constructed and then used to dump the member files from these archives.
907 The member files are then added to the big archive. The latter is added to the list of libraries the
908 WebKitPluginProcess requires to successfully link.
912 2013-05-13 Zalan Bujtas <zalan@apple.com>
914 WebProcess consuming very high CPU on linkedin.com
915 https://bugs.webkit.org/show_bug.cgi?id=115601
917 Reviewed by Andreas Kling.
919 Disable WEB_TIMING_MINIMAL.
920 Turn off window.performance and performance.now(). Some JS frameworks expect
921 additional Web Timing APIs, when performance.now() is available.
923 * Configurations/FeatureDefines.xcconfig:
925 2013-05-12 Anders Carlsson <andersca@apple.com>
927 Stop including UnusedParam.h
928 https://bugs.webkit.org/show_bug.cgi?id=116003
930 Reviewed by Sam Weinig.
932 UnusedParam.h is empty now so there's no need to include it anymore.
934 * UIProcess/API/C/WKContext.cpp:
935 * UIProcess/API/C/WKInspector.cpp:
936 * UIProcess/API/C/WKPage.cpp:
937 * UIProcess/API/efl/ewk_text_checker.cpp:
938 * UIProcess/API/efl/ewk_view.cpp:
939 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
940 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
941 * UIProcess/mac/WKFullScreenWindowController.mm:
942 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
943 * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
945 2013-05-12 Andreas Kling <akling@apple.com>
947 Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
948 <http://webkit.org/b/115988>
949 <rdar://problem/13870943>
951 Reviewed by Anders Carlsson.
953 Let WebCore control the UI process's suppression of the sudden termination mechanism.
954 This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
955 over to the UI process where the appropriate NSProcessInfo calls are made.
957 We also use this information when deciding whether to insta-kill a web process when its last
958 page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
961 * UIProcess/WebProcessProxy.cpp:
962 (WebKit::WebProcessProxy::WebProcessProxy):
963 (WebKit::WebProcessProxy::removeWebPage):
964 (WebKit::WebProcessProxy::enableSuddenTermination):
965 (WebKit::WebProcessProxy::disableSuddenTermination):
966 * UIProcess/WebProcessProxy.h:
968 * UIProcess/WebProcessProxy.messages.in:
969 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
970 (WebKit::WebChromeClient::enableSuddenTermination):
971 (WebKit::WebChromeClient::disableSuddenTermination):
972 * WebProcess/WebCoreSupport/WebChromeClient.h:
975 2013-05-12 Alexey Proskuryakov <ap@apple.com>
977 <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.
979 Reviewed by Dan Bernstein.
981 * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
983 2013-05-12 Carlos Garcia Campos <cgarcia@igalia.com>
985 [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
986 https://bugs.webkit.org/show_bug.cgi?id=115914
988 Reviewed by Martin Robinson.
990 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
991 (webkitWebViewBaseRealize):
993 2013-05-12 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
995 Unreviewed build fix after r149944.
997 * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
999 2013-05-11 Anders Carlsson <andersca@apple.com>
1001 Don't pass malloced pointers as out-of-line data when sending Mach messages
1002 https://bugs.webkit.org/show_bug.cgi?id=115970
1003 <rdar://problem/13144680>
1005 Reviewed by Sam Weinig.
1007 Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
1008 since that gives us fresh zero-filled memory that we can safely share.
1010 * Platform/CoreIPC/ArgumentEncoder.cpp:
1011 (CoreIPC::ArgumentEncoder::ArgumentEncoder):
1012 Set up the buffer pointers to point to the inline buffer.
1014 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1015 Unmap the buffer if necessary.
1017 (CoreIPC::ArgumentEncoder::grow):
1018 Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
1019 current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
1020 or big in which case we'll end up doing less allocations + memory copying.
1022 * Platform/CoreIPC/ArgumentEncoder.h:
1025 2013-05-11 Zan Dobersek <zdobersek@igalia.com>
1027 Unreviewed GTK build fix after r149904.
1029 * GNUmakefile.list.am: Adding missing build targets.
1031 2013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
1033 Unreviewed, Fix WK2 EFL build after r149904.
1035 Add new PluginInformation.cpp file to CMake.
1039 2013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
1041 Unreviewed, fix WK2 EFL build after r149904.
1043 Add new WKPluginInformation.cpp file to CMake.
1047 2013-05-11 Andreas Kling <akling@apple.com>
1049 When possible, terminate web processes immediately when closing their last page.
1050 <http://webkit.org/b/115964>
1051 <rdar://problem/13869266>
1053 Reviewed by Geoffrey Garen.
1055 When we're using a network process, there's no need for the UI process to wait for web processes
1056 to clear resource caches and terminate nicely.
1058 We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.
1060 * UIProcess/WebProcessProxy.cpp:
1061 (WebKit::WebProcessProxy::removeWebPage):
1063 Terminate the child process immediately if possible.
1065 * UIProcess/WebProcessProxy.h:
1066 (WebKit::WebProcessProxy::canTerminateChildProcess):
1067 (WebKit::WebProcessProxy::shouldTerminate):
1069 Broke out the logic from the shouldTerminate() IPC message handler into a separate function
1070 so we can call it from removeWebPage().
1072 2013-05-11 Anders Carlsson <andersca@apple.com>
1074 Crash when terminating a process that has not been fully launched
1075 https://bugs.webkit.org/show_bug.cgi?id=115962
1076 <rdar://problem/13660916>
1078 Reviewed by Andreas Kling.
1080 Handle terminating a process that has not been fully launched.
1082 * UIProcess/Launcher/ProcessLauncher.cpp:
1083 (WebKit::ProcessLauncher::didFinishLaunchingProcess):
1084 If we have been invalidated, dispose the connection identifier.
1086 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1087 (WebKit::ProcessLauncher::terminateProcess):
1088 If we're still launching the process, invalidate so the client won't get an unexpected
1089 didFinishLaunching callback.
1091 * UIProcess/WebProcessProxy.cpp:
1092 (WebKit::WebProcessProxy::requestTermination):
1093 Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).
1095 2013-05-10 Brian J. Burg <burg@cs.washington.edu>
1097 Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
1098 https://bugs.webkit.org/show_bug.cgi?id=115564
1100 Reviewed by Benjamin Poulain.
1102 Implement InspectorFrontendHost's save() and append() methods for
1103 Mac WebKit2. Add canSave() for all ports.
1105 * UIProcess/WebInspectorProxy.cpp:
1106 (WebKit::WebInspectorProxy::save):
1108 (WebKit::WebInspectorProxy::append):
1109 * UIProcess/WebInspectorProxy.h:
1110 (WebInspectorProxy):
1111 * UIProcess/WebInspectorProxy.messages.in:
1112 * UIProcess/efl/WebInspectorProxyEfl.cpp:
1113 (WebKit::WebInspectorProxy::platformSave):
1115 (WebKit::WebInspectorProxy::platformAppend):
1116 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1117 (WebKit::WebInspectorProxy::platformSave):
1119 (WebKit::WebInspectorProxy::platformAppend):
1120 * UIProcess/mac/WebInspectorProxyMac.mm:
1121 (WebKit::WebInspectorProxy::platformSave):
1123 (WebKit::WebInspectorProxy::platformAppend):
1124 * UIProcess/qt/WebInspectorProxyQt.cpp:
1125 (WebKit::WebInspectorProxy::platformSave):
1127 (WebKit::WebInspectorProxy::platformAppend):
1128 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1129 (WebKit::WebInspectorFrontendClient::canSave):
1131 (WebKit::WebInspectorFrontendClient::save):
1132 (WebKit::WebInspectorFrontendClient::append):
1133 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1134 (WebInspectorFrontendClient):
1135 * WebProcess/WebPage/WebInspector.cpp:
1136 (WebKit::WebInspector::save):
1138 (WebKit::WebInspector::append):
1139 (WebKit::WebInspector::didSave):
1140 (WebKit::WebInspector::didAppend):
1141 * WebProcess/WebPage/WebInspector.h:
1143 * WebProcess/WebPage/WebInspector.messages.in:
1144 * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
1145 (WebKit::WebInspector::canSave):
1147 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
1148 (WebKit::WebInspector::canSave):
1150 * WebProcess/WebPage/mac/WebInspectorMac.mm:
1151 (WebKit::WebInspector::canSave):
1153 * WebProcess/WebPage/qt/WebInspectorQt.cpp:
1154 (WebKit::WebInspector::canSave):
1157 2013-05-10 Remy Demarest <rdemarest@apple.com>
1159 Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
1160 https://bugs.webkit.org/show_bug.cgi?id=115940
1162 Reviewed by Darin Adler.
1164 * WebKit2.xcodeproj/project.pbxproj:
1165 Move WKPluginInformation.h file from the framework's Project Headers to
1168 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1170 [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
1174 2013-05-10 Simon Cooper <scooper@apple.com>
1176 Fix AppleConnect issues for WiFi interfaces
1177 <rdar://problem/13776227&13776240&13776281>
1178 https://bugs.webkit.org/show_bug.cgi?id=115932
1180 Reviewed by Alexey Proskuryakov.
1182 Add support for WiFi interfaces for the AppleConnect plugin.
1185 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
1187 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1189 [Qt][Mac] Unreviewed speculative build fix after r149904.
1193 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1195 [Qt] Unreviewed buildfix after r149904.
1199 2013-05-09 Sam Weinig <sam@webkit.org>
1201 Unify plug-in information dictionaries
1202 <rdar://problem/13852080>
1203 https://bugs.webkit.org/show_bug.cgi?id=115891
1205 Reviewed by Anders Carlsson.
1207 This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
1208 and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
1210 All the old keys will continue to work, but have been deprecated in favor of new keys defined in
1211 WKPluginInformation.h
1213 * Shared/API/c/WKPluginInformation.cpp: Added.
1214 * Shared/API/c/WKPluginInformation.h: Added.
1215 Export new keys as SPI.
1217 * Shared/Plugins/Netscape/PluginInformation.h: Added.
1218 * Shared/Plugins/Netscape/PluginInformation.cpp: Added.
1219 (WebKit::pluginInformationBundleIdentifierKey):
1220 (WebKit::pluginInformationBundleVersionKey):
1221 (WebKit::pluginInformationPathKey):
1222 (WebKit::pluginInformationDisplayNameKey):
1223 (WebKit::pluginInformationDefaultLoadPolicyKey):
1224 (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
1225 (WebKit::pluginInformationHasSandboxProfileKey):
1226 (WebKit::pluginInformationFrameURLKey):
1227 (WebKit::pluginInformationMIMETypeKey):
1228 (WebKit::pluginInformationPageURLKey):
1229 (WebKit::pluginInformationPluginspageAttributeURLKey):
1230 (WebKit::pluginInformationPluginURLKey):
1233 (WebKit::pluginModuleInformation):
1234 (WebKit::createPluginInformationDictionary):
1235 Add creation functions to simplify multiple sites.
1237 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
1238 (WebKit::platformPluginModuleInformation):
1239 Add platform specific data to the dictionary.
1241 * UIProcess/API/C/WKPage.cpp:
1242 (WKPageGetPluginInformationBundleIdentifierKey):
1243 (WKPageGetPluginInformationBundleVersionKey):
1244 (WKPageGetPluginInformationDisplayNameKey):
1245 (WKPageGetPluginInformationFrameURLKey):
1246 (WKPageGetPluginInformationMIMETypeKey):
1247 (WKPageGetPluginInformationPageURLKey):
1248 (WKPageGetPluginInformationPluginspageAttributeURLKey):
1249 (WKPageGetPluginInformationPluginURLKey):
1250 * UIProcess/API/C/WKPage.h:
1251 Deprecate the old keys.
1253 * UIProcess/API/C/mac/WKContextPrivateMac.h:
1254 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1255 (WKContextCopyPlugInInfoForBundleIdentifier):
1256 (WKContextGetInfoForInstalledPlugIns):
1257 Simplify by using the new createPluginInformationDictionary functions.
1259 (WKPlugInInfoPathKey):
1260 (WKPlugInInfoBundleIdentifierKey):
1261 (WKPlugInInfoVersionKey):
1262 (WKPlugInInfoLoadPolicyKey):
1263 (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
1264 (WKPlugInInfoIsSandboxedKey):
1265 Deprecate the old keys.
1267 * UIProcess/WebLoaderClient.cpp:
1268 (WebKit::WebLoaderClient::didFailToInitializePlugin):
1269 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1270 (WebKit::WebLoaderClient::pluginLoadPolicy):
1271 * UIProcess/WebLoaderClient.h:
1272 * UIProcess/WebUIClient.cpp:
1273 (WebKit::WebUIClient::unavailablePluginButtonClicked):
1274 * UIProcess/WebUIClient.h:
1275 Optimize for the most recent callback type which takes a dictionary,
1276 and pull out the necessary bits from it for deprecated callbacks as necessary.
1278 * UIProcess/WebPageProxy.h:
1279 * UIProcess/WebPageProxy.cpp:
1280 (WebKit::WebPageProxy::findPlugin):
1281 (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1282 (WebKit::WebPageProxy::didFailToInitializePlugin):
1283 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1284 Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.
1286 * WebKit2.xcodeproj/project.pbxproj:
1289 2013-05-10 Brian J. Burg <burg@cs.washington.edu>
1291 Web Inspector: implement runOpenPanel callback for WebKit2 inspector
1292 https://bugs.webkit.org/show_bug.cgi?id=115865
1294 Reviewed by Sam Weinig.
1296 * UIProcess/WebInspectorProxy.h:
1297 (WebKit::WebInspectorProxy::inspectorWindow):
1298 Add an accessor for m_inspectorWindow.
1300 * UIProcess/mac/WebInspectorProxyMac.mm:
1301 (WebKit::runOpenPanel):
1302 Show the open panel dialog when requested.
1304 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1305 Register the callback when the inspector page is created.
1307 2013-05-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1309 [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
1310 https://bugs.webkit.org/show_bug.cgi?id=115928
1312 Reviewed by Kenneth Rohde Christiansen.
1314 WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.
1316 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1317 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1318 * UIProcess/API/C/efl/WKViewEfl.cpp:
1319 (WKViewSetThemePath):
1320 * UIProcess/API/C/efl/WKViewEfl.h:
1321 * UIProcess/CoordinatedGraphics/WebView.cpp:
1322 * UIProcess/CoordinatedGraphics/WebView.h:
1324 * UIProcess/efl/ViewClientEfl.cpp:
1325 * UIProcess/efl/WebInspectorProxyEfl.cpp:
1326 * UIProcess/efl/WebViewEfl.cpp:
1327 (WebKit::WebViewEfl::setThemePath):
1328 * UIProcess/efl/WebViewEfl.h:
1331 2013-05-10 Jer Noble <jer.noble@apple.com>
1333 REGRESSION (r149439): Video turns blank upon entering full screen for the first time
1334 https://bugs.webkit.org/show_bug.cgi?id=115617
1336 Reviewed by Eric Carlson.
1338 Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these
1339 platforms, create a window with a NSZeroSize initial frame, which fixes the "blank"
1340 first-full screen behavior.
1342 * UIProcess/API/mac/WKView.mm:
1343 (-[WKView createFullScreenWindow]):
1345 2013-05-10 Zan Dobersek <zdobersek@igalia.com>
1347 [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
1348 https://bugs.webkit.org/show_bug.cgi?id=115717
1350 Reviewed by Andreas Kling.
1352 WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
1353 by the WebProcess. This removes the need for the m_soupRequestManager member variable in
1354 the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
1355 of which instances are controlled by the WebProcess class.
1357 * WebProcess/WebProcess.cpp:
1358 (WebKit::WebProcess::WebProcess): Add the WebSoupRequestManager as a supplement.
1359 * WebProcess/WebProcess.h:
1360 (WebProcess): Remove the m_soupRequestManager member variable and its getter method.
1361 * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
1362 (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
1363 (webkitSoupRequestGenericSendFinish): Ditto.
1364 * WebProcess/soup/WebProcessSoup.cpp:
1365 (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
1366 * WebProcess/soup/WebSoupRequestManager.cpp:
1367 (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
1368 * WebProcess/soup/WebSoupRequestManager.h:
1369 (WebSoupRequestManager): Inherit from the WebProcessSupplement interface.
1371 2013-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
1373 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
1374 https://bugs.webkit.org/show_bug.cgi?id=115904
1376 Reviewed by Martin Robinson.
1378 * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
1379 (startTestServerMonitor):
1380 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
1381 (startTestServerMonitor):
1383 2013-05-09 Anders Carlsson <andersca@apple.com>
1387 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
1389 2013-05-09 Anders Carlsson <andersca@apple.com>
1391 Enable UI process storage
1392 https://bugs.webkit.org/show_bug.cgi?id=115879
1393 <rdar://problem/12239765>
1395 Reviewed by Beth Dakin.
1397 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1400 2013-05-09 Anders Carlsson <andersca@apple.com>
1402 Remove extra spaces between right angle brackets in template declarations
1403 https://bugs.webkit.org/show_bug.cgi?id=115877
1405 Reviewed by Beth Dakin.
1407 C++11 doesn't require spaces between right angle brackets so remove all of them.
1409 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
1410 (WebKit::NetworkBlobRegistry::registerBlobURL):
1411 (WebKit::NetworkBlobRegistry::sandboxExtensions):
1412 * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
1413 (NetworkBlobRegistry):
1414 * NetworkProcess/HostRecord.h:
1416 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1417 (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
1418 (WebKit::NetworkConnectionToWebProcess::didClose):
1419 (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
1420 * NetworkProcess/NetworkConnectionToWebProcess.h:
1421 (NetworkConnectionToWebProcess):
1422 * NetworkProcess/NetworkProcess.h:
1424 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1425 (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
1426 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
1427 * NetworkProcess/NetworkResourceLoadScheduler.h:
1428 * NetworkProcess/SchedulableLoader.cpp:
1429 (WebKit::SchedulableLoader::SchedulableLoader):
1430 * NetworkProcess/SchedulableLoader.h:
1431 (SchedulableLoader):
1432 * Platform/CoreIPC/ArgumentCoders.h:
1433 * Platform/CoreIPC/Connection.cpp:
1434 (Connection::SyncMessageState):
1435 (CoreIPC::Connection::waitForMessage):
1436 (CoreIPC::Connection::processIncomingMessage):
1437 * Platform/CoreIPC/Connection.h:
1439 * Platform/WorkQueue.h:
1441 * PluginProcess/PluginProcess.h:
1443 * Scripts/webkit2/messages_unittest.py:
1445 * Shared/BlockingResponseMap.h:
1446 (BlockingResponseMap):
1447 * Shared/ChildProcessProxy.h:
1448 (ChildProcessProxy):
1449 * Shared/ImmutableArray.cpp:
1450 (WebKit::ImmutableArray::ImmutableArray):
1451 * Shared/ImmutableArray.h:
1452 (WebKit::ImmutableArray::adopt):
1454 * Shared/ImmutableDictionary.cpp:
1455 (WebKit::ImmutableDictionary::keys):
1456 * Shared/ImmutableDictionary.h:
1457 (ImmutableDictionary):
1458 * Shared/Network/CustomProtocols/CustomProtocolManager.h:
1459 (CustomProtocolManager):
1460 * Shared/SecurityOriginData.cpp:
1461 (WebKit::performAPICallbackWithSecurityOriginDataVector):
1462 * Shared/SessionState.cpp:
1463 * Shared/StatisticsData.h:
1465 * Shared/UserMessageCoders.h:
1466 (WebKit::UserMessageDecoder::baseDecode):
1467 * Shared/WebArchive.cpp:
1468 (WebKit::WebArchive::WebArchive):
1469 (WebKit::WebArchive::subresources):
1470 (WebKit::WebArchive::subframeArchives):
1471 * Shared/WebContextMenuItem.cpp:
1472 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
1473 * Shared/WebOpenPanelParameters.cpp:
1474 (WebKit::WebOpenPanelParameters::acceptMIMETypes):
1475 (WebKit::WebOpenPanelParameters::selectedFileNames):
1476 * Shared/mac/ArgumentCodersMac.mm:
1478 * SharedWorkerProcess/SharedWorkerProcess.h:
1479 (SharedWorkerProcess):
1480 * UIProcess/API/mac/WKPrintingView.h:
1482 * UIProcess/API/mac/WKPrintingView.mm:
1483 (-[WKPrintingView _drawPreview:]):
1484 * UIProcess/API/mac/WKView.mm:
1486 * UIProcess/Downloads/DownloadProxyMap.cpp:
1487 (WebKit::DownloadProxyMap::processDidClose):
1488 * UIProcess/Downloads/DownloadProxyMap.h:
1490 * UIProcess/GeolocationPermissionRequestManagerProxy.h:
1491 (GeolocationPermissionRequestManagerProxy):
1492 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
1493 (DynamicLinkerEnvironmentExtractor):
1494 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
1495 (CustomProtocolManagerProxy):
1496 * UIProcess/Network/NetworkProcessProxy.h:
1497 (NetworkProcessProxy):
1498 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
1499 (NotificationPermissionRequestManagerProxy):
1500 * UIProcess/Notifications/WebNotificationManagerProxy.h:
1501 (WebNotificationManagerProxy):
1502 * UIProcess/Plugins/PluginProcessManager.h:
1503 (PluginProcessManager):
1504 * UIProcess/Plugins/PluginProcessProxy.h:
1505 (PluginProcessProxy):
1506 * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
1507 (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
1508 * UIProcess/Plugins/WebPluginSiteDataManager.h:
1509 (WebPluginSiteDataManager):
1510 * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
1511 (SharedWorkerProcessManager):
1512 * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
1513 (SharedWorkerProcessProxy):
1514 * UIProcess/StatisticsRequest.cpp:
1515 (WebKit::StatisticsRequest::completedRequest):
1516 * UIProcess/Storage/StorageManager.cpp:
1517 (StorageManager::StorageArea):
1518 (WebKit::StorageManager::StorageArea::dispatchEvents):
1519 (StorageManager::SessionStorageNamespace):
1520 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
1521 (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
1522 (WebKit::StorageManager::createLocalStorageMap):
1523 (WebKit::StorageManager::createSessionStorageMap):
1524 (WebKit::StorageManager::destroyStorageMap):
1525 (WebKit::StorageManager::invalidateConnectionInternal):
1526 (WebKit::StorageManager::findStorageArea):
1527 (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
1528 * UIProcess/Storage/StorageManager.h:
1530 * UIProcess/WebApplicationCacheManagerProxy.h:
1531 (WebApplicationCacheManagerProxy):
1532 * UIProcess/WebBackForwardList.cpp:
1533 (WebKit::WebBackForwardList::addItem):
1534 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
1535 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
1536 (WebKit::WebBackForwardList::clear):
1537 * UIProcess/WebBackForwardList.h:
1539 * UIProcess/WebContext.cpp:
1540 (WebKit::WebContext::createNewWebProcess):
1541 (WebKit::WebContext::enableProcessTermination):
1542 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
1543 * UIProcess/WebContext.h:
1545 * UIProcess/WebCookieManagerProxy.cpp:
1546 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
1547 * UIProcess/WebCookieManagerProxy.h:
1548 (WebCookieManagerProxy):
1549 * UIProcess/WebDatabaseManagerProxy.cpp:
1550 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
1551 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
1552 * UIProcess/WebDatabaseManagerProxy.h:
1553 (WebDatabaseManagerProxy):
1554 * UIProcess/WebFormClient.cpp:
1555 (WebKit::WebFormClient::willSubmitForm):
1556 * UIProcess/WebFormClient.h:
1558 * UIProcess/WebKeyValueStorageManagerProxy.h:
1559 (WebKeyValueStorageManagerProxy):
1560 * UIProcess/WebLoaderClient.cpp:
1561 (WebKit::WebLoaderClient::didChangeBackForwardList):
1562 * UIProcess/WebLoaderClient.h:
1564 * UIProcess/WebMediaCacheManagerProxy.cpp:
1565 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
1566 * UIProcess/WebMediaCacheManagerProxy.h:
1567 (WebMediaCacheManagerProxy):
1568 * UIProcess/WebPageContextMenuClient.cpp:
1569 (WebKit::WebPageContextMenuClient::showContextMenu):
1570 * UIProcess/WebPageProxy.cpp:
1571 (ExceededDatabaseQuotaRecords):
1572 (WebKit::WebPageProxy::relatedPages):
1573 (WebKit::WebPageProxy::didChangeBackForwardList):
1574 (WebKit::WebPageProxy::handleWheelEvent):
1575 (WebKit::WebPageProxy::processNextQueuedWheelEvent):
1576 (WebKit::WebPageProxy::findStringMatches):
1577 (WebKit::WebPageProxy::willSubmitForm):
1578 (WebKit::WebPageProxy::pluginInformationDictionary):
1579 (WebKit::WebPageProxy::didFindStringMatches):
1580 (WebKit::WebPageProxy::didReceiveEvent):
1581 * UIProcess/WebPageProxy.h:
1583 * UIProcess/WebPageProxy.messages.in:
1584 * UIProcess/WebProcessProxy.cpp:
1585 (WebKit::WebProcessProxy::disconnect):
1586 (WebKit::WebProcessProxy::didClose):
1587 (WebKit::WebProcessProxy::didBecomeUnresponsive):
1588 (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
1589 (WebKit::WebProcessProxy::didBecomeResponsive):
1590 (WebKit::WebProcessProxy::disconnectFramesFromPage):
1591 (WebKit::WebProcessProxy::frameCountInPage):
1592 * UIProcess/WebProcessProxy.h:
1594 * UIProcess/WebResourceCacheManagerProxy.h:
1595 (WebResourceCacheManagerProxy):
1596 * UIProcess/mac/WebContextMenuProxyMac.mm:
1597 (WebKit::populateNSMenu):
1598 (WebKit::nsMenuItemVector):
1599 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
1600 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
1601 * WebProcess/Geolocation/WebGeolocationManager.cpp:
1602 (WebKit::WebGeolocationManager::didChangePosition):
1603 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
1604 * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
1605 (WebIconDatabaseProxy):
1606 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
1607 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1608 (WebKit::InjectedBundle::originsWithApplicationCache):
1609 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
1610 (WebKit::InjectedBundleBackForwardListItem::children):
1611 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
1612 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
1613 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
1614 (InjectedBundlePageEditorClient):
1615 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1616 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
1617 (WebKit::InjectedBundlePageFormClient::willSubmitForm):
1618 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
1619 (InjectedBundlePageFormClient):
1620 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1621 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
1622 * WebProcess/Network/WebResourceLoadScheduler.cpp:
1623 (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
1624 (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
1625 * WebProcess/Network/WebResourceLoadScheduler.h:
1626 (WebResourceLoadScheduler):
1627 * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1628 (NotificationPermissionRequestManager):
1629 * WebProcess/Notifications/WebNotificationManager.h:
1630 (WebNotificationManager):
1631 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1632 (WebKit::NPRuntimeObjectMap::invalidate):
1633 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1634 (NPRuntimeObjectMap):
1635 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1636 (WebKit::NetscapePlugin::stopAllStreams):
1637 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1639 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1640 (NetscapePluginStream):
1641 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
1642 (getAllScriptsInPDFDocument):
1643 (WebKit::SimplePDFPlugin::runScriptsInPDFDocument):
1644 * WebProcess/Plugins/PluginProcessConnectionManager.h:
1645 (PluginProcessConnectionManager):
1646 * WebProcess/Plugins/PluginView.cpp:
1647 (WebKit::PluginView::cancelAllStreams):
1648 * WebProcess/Plugins/PluginView.h:
1650 * WebProcess/Storage/StorageAreaMap.cpp:
1651 (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
1652 (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
1653 * WebProcess/Storage/StorageNamespaceImpl.cpp:
1654 (WebKit::StorageNamespaceImpl::storageArea):
1655 * WebProcess/Storage/StorageNamespaceImpl.h:
1656 (StorageNamespaceImpl):
1657 * WebProcess/Storage/WebKeyValueStorageManager.cpp:
1658 (WebKit::keyValueStorageOriginIdentifiers):
1659 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
1660 (WebKit::WebDatabaseManager::getDatabasesByOrigin):
1661 (WebKit::WebDatabaseManager::getDatabaseOrigins):
1662 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1663 (WebKit::WebEditorClient::getClientPasteboardDataForRange):
1664 * WebProcess/WebCoreSupport/WebEditorClient.h:
1665 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1666 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1667 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1668 (WebKit::WebEditorClient::documentFragmentFromAttributedString):
1669 * WebProcess/WebPage/EventDispatcher.h:
1671 * WebProcess/WebPage/FindController.cpp:
1672 (WebKit::FindController::findStringMatches):
1673 * WebProcess/WebPage/FindController.h:
1675 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
1677 * WebProcess/WebPage/WebFrame.cpp:
1678 (WebKit::WebFrame::childFrames):
1679 * WebProcess/WebPage/WebPage.cpp:
1680 (WebKit::WebPage::trackedRepaintRects):
1681 * WebProcess/WebPage/WebPage.h:
1684 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1685 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1686 (TiledCoreAnimationDrawingArea):
1687 * WebProcess/WebProcess.cpp:
1688 (WebKit::WebProcess::visitedLinkStateChanged):
1689 (WebKit::WebProcess::allVisitedLinkStateChanged):
1690 (WebKit::WebProcess::focusedWebPage):
1691 (WebKit::WebProcess::createWebPage):
1692 (WebKit::WebProcess::didClose):
1693 (WebKit::WebProcess::webPageGroup):
1694 (WebKit::addCaseFoldedCharacters):
1695 (WebKit::getWebCoreMemoryCacheStatistics):
1696 (WebKit::WebProcess::setTextCheckerState):
1697 * WebProcess/WebProcess.h:
1700 2013-05-09 Anders Carlsson <andersca@apple.com>
1702 Implement WebPlatformStrategies::transientLocalStorageNamespace
1703 https://bugs.webkit.org/show_bug.cgi?id=115876
1704 <rdar://problem/13852871>
1706 Reviewed by Beth Dakin.
1708 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1709 (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
1710 Return a session storage namespace for a random page when UI process storage is enabled,
1711 otherwise call the base class implementation.
1713 2013-05-09 Anders Carlsson <andersca@apple.com>
1715 Use explicit qualifiers for names in the std:: namespace
1716 https://bugs.webkit.org/show_bug.cgi?id=115868
1718 Reviewed by Andreas Kling.
1720 * Shared/mac/ArgumentCodersMac.mm:
1722 * UIProcess/API/C/WKPluginSiteDataManager.cpp:
1723 (WKPluginSiteDataManagerClearAllSiteData):
1724 * UIProcess/Plugins/PluginInfoStore.cpp:
1725 (WebKit::PluginInfoStore::findPluginForExtension):
1726 * UIProcess/WebFrameProxy.cpp:
1727 * UIProcess/WebProcessProxy.cpp:
1728 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1729 (WebKit::parsePostBuffer):
1730 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1731 (WebKit::NetscapePlugin::loadURL):
1732 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
1733 (WebKit::NetscapePluginStream::deliverDataToPlugin):
1734 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
1735 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1736 * WebProcess/WebPage/FindController.cpp:
1737 (WebKit::FindController::countStringMatches):
1738 (WebKit::FindController::updateFindUIAfterPageScroll):
1739 * WebProcess/WebPage/WebPage.cpp:
1740 * WebProcess/WebPage/mac/WebPageMac.mm:
1741 (WebKit::drawPDFPage):
1742 * WebProcess/mac/WebProcessMac.mm:
1744 2013-05-09 Max Feil <mfeil@rim.com>
1746 shouldUsePluginDocument() needs to be respected when a document is created
1747 https://bugs.webkit.org/show_bug.cgi?id=110308
1749 Reviewed by Rob Buis.
1751 Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
1754 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1755 (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
1756 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1757 (WebFrameLoaderClient):
1759 2013-05-09 Timothy Hatcher <timothy@apple.com>
1761 Make dragging off a tab in Safari with a docked Inspector reattach the Inspector.
1763 https://webkit.org/b/115832
1764 rdar://problem/13605661
1766 Reviewed by Benjamin Poulain.
1768 * UIProcess/mac/WebInspectorProxyMac.mm:
1769 (WebKit::WebInspectorProxy::platformBringToFront):
1770 If the Web Inspector is no longer in the same window as the inspected view,
1771 then we need to reopen the Inspector to get it attached to the right window.
1773 2013-05-08 Anders Carlsson <andersca@apple.com>
1775 Fix a typo in a comment.
1777 Rubber-stamped by Darin Adler.
1779 * WebProcess/WebProcess.cpp:
1780 (WebKit::WebProcess::initializeConnection):
1782 2013-05-08 Anders Carlsson <andersca@apple.com>
1784 Remove bogus StorageAreaMap assertions
1785 https://bugs.webkit.org/show_bug.cgi?id=115838
1787 Reviewed by Sam Weinig.
1789 It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions.
1791 * WebProcess/Storage/StorageAreaMap.cpp:
1792 (WebKit::StorageAreaMap::didGetValues):
1793 (WebKit::StorageAreaMap::didClear):
1795 2013-05-08 Anders Carlsson <andersca@apple.com>
1797 Handle incoming clear operations
1798 https://bugs.webkit.org/show_bug.cgi?id=115829
1800 Reviewed by Sam Weinig.
1802 Handle clear by building up a new storage map with our pending changes.
1804 * WebProcess/Storage/StorageAreaMap.cpp:
1805 (WebKit::StorageAreaMap::applyChange):
1807 2013-05-08 Anders Carlsson <andersca@apple.com>
1809 Don't apply changes while we're clearing the database
1810 https://bugs.webkit.org/show_bug.cgi?id=115826
1812 Reviewed by Darin Adler.
1814 * UIProcess/Storage/LocalStorageDatabase.cpp:
1815 (WebKit::LocalStorageDatabase::openDatabase):
1816 Only call didOpenDatabaseWithOrigin if we actually did open the database.
1818 (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
1819 Create the database if needed.
1821 * UIProcess/Storage/StorageManager.cpp:
1822 (WebKit::StorageManager::getValues):
1823 Send back a DidGetValues message.
1825 * WebProcess/Storage/StorageAreaMap.cpp:
1826 (WebKit::StorageAreaMap::StorageAreaMap):
1827 Initialize m_hasPendingClear.
1829 (WebKit::StorageAreaMap::clear):
1830 Set m_hasPendingClear to true.
1832 (WebKit::StorageAreaMap::resetValues):
1833 Set m_hasPendingClear back to false.
1835 (WebKit::StorageAreaMap::loadValuesIfNeeded):
1836 Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items.
1838 (WebKit::StorageAreaMap::didGetValues):
1839 Set m_hasPendingClear back to false.
1841 (WebKit::StorageAreaMap::didClear):
1842 Set m_hasPendingClear back to false.
1844 (WebKit::StorageAreaMap::applyChange):
1845 Don't apply the change if m_hasPendingClear is true.
1847 * WebProcess/Storage/StorageAreaMap.messages.in:
1848 Add DidGetValues message.
1850 2013-05-08 Andy Estes <aestes@apple.com>
1852 [WebKit2] REGRESSION (Custom Protocols): Reproducible crash when navigating to URL with an invalid scheme
1853 https://bugs.webkit.org/show_bug.cgi?id=115790
1855 Reviewed by Alexey Proskuryakov.
1857 NSMutableSet does not support adding or removing nil objects, and
1858 WTF::HashSet does not support adding, removing, or checking for null
1861 For the NSMutableSet case, make sure that we don't try to add or remove
1864 For the WTF::HashSet case, NSURL will return a nil NSString if we ask
1865 it for its scheme when it is invalid, which we will convert to a null
1866 WTF::String. Don't try to check if our HashSet of registered schemes
1867 contains a null String.
1869 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
1870 (WebKit::CustomProtocolManager::registerScheme): Assert that the scheme
1871 isn't null. We reject null schemes at the WKBrowsingContextController level.
1872 (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
1873 (WebKit::CustomProtocolManager::supportsScheme): If scheme is null, return false.
1874 * UIProcess/API/mac/WKBrowsingContextController.mm:
1875 (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): Do not register a nil scheme.
1876 (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): Ditto.
1878 2013-05-08 Anders Carlsson <andersca@apple.com>
1880 Apply remote changes to storage maps locally
1881 https://bugs.webkit.org/show_bug.cgi?id=115825
1883 Reviewed by Beth Dakin.
1885 * WebProcess/Storage/StorageAreaMap.cpp:
1886 (WebKit::StorageAreaMap::resetValues):
1887 Clear the pending values map.
1889 (WebKit::StorageAreaMap::didSetItem):
1890 If we failed to set the item, forget everything we know about this storage map.
1891 Otherwise, remove the pending item.
1893 (WebKit::StorageAreaMap::didRemoveItem):
1894 Remove the pending item.
1896 (WebKit::StorageAreaMap::shouldApplyChangeForKey):
1897 Helper function that returns whether a change for a given key should be applied.
1899 (WebKit::StorageAreaMap::applyChange):
1900 Apply the change. Currently only adds and removes are handled.
1902 (WebKit::StorageAreaMap::dispatchStorageEvent):
1903 Apply the change locally as well if needed.
1905 * WebProcess/Storage/StorageAreaMap.h:
1907 2013-05-08 Anders Carlsson <andersca@apple.com>
1909 Assert at compile time that we don't pass Objective-C object pointers to adoptCF
1910 https://bugs.webkit.org/show_bug.cgi?id=115823
1912 Reviewed by Geoffrey Garen.
1914 Fix adoptNS/adoptCF mismatches. For the adopt(leakRef()) case we'd ideally want a static_pointer_cast overload for RetainPtr,
1915 but this will do for now.
1917 * Shared/mac/ArgumentCodersMac.mm:
1920 2013-05-08 Sam Weinig <sam@webkit.org>
1922 Add SPI to determine if a plugin is sandboxed
1923 https://bugs.webkit.org/show_bug.cgi?id=115810
1925 Reviewed by Anders Carlsson.
1927 * PluginProcess/mac/PluginProcessMac.mm:
1928 (WebKit::PluginProcess::initializeSandbox):
1929 * Shared/Plugins/mac/PluginSandboxProfile.h: Added.
1930 * Shared/Plugins/mac/PluginSandboxProfile.mm: Added.
1931 (WebKit::pluginSandboxProfileDefaultDirectory):
1932 (WebKit::pluginSandboxProfileDirectories):
1933 (WebKit::pluginSandboxProfileName):
1934 (WebKit::pluginSandboxCommonProfile):
1935 (WebKit::pluginSandboxProfileForDirectory):
1936 (WebKit::pluginSandboxProfile):
1937 (WebKit::pluginHasSandboxProfileForDirectory):
1938 (WebKit::pluginHasSandboxProfile):
1939 Move sandbox code to its own file and refactor to use cocoa. Also adds pluginHasSandboxProfile function
1940 which uses the newly refactored code.
1942 * UIProcess/API/C/mac/WKContextPrivateMac.h:
1943 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1944 (WKPlugInInfoIsSandboxedKey):
1945 (createInfoDictionary):
1946 Add WKPlugInInfoIsSandboxedKey.
1948 * WebKit2.xcodeproj/project.pbxproj:
1951 2013-05-08 Anders Carlsson <andersca@apple.com>
1953 Safari unexpectedly quits with invalid message from the web process with message ID 0x323002f (WebPageProxy.DecidePolicyForNavigationAction)
1954 https://bugs.webkit.org/show_bug.cgi?id=115814
1955 <rdar://problem/12331258>
1957 Reviewed by Andreas Kling.
1959 To ensure that any asynchronous messages are delivered to the UI process before
1960 synchronous messages (except when doing so would lead to a deadlock), Call
1961 setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the UI process connections.
1963 * WebProcess/WebProcess.cpp:
1964 (WebKit::WebProcess::initializeConnection):
1966 2013-05-08 Tim Horton <timothy_horton@apple.com>
1968 Coalesce WKView visibleRect changes
1969 https://bugs.webkit.org/show_bug.cgi?id=115792
1970 <rdar://problem/13776842>
1972 Reviewed by Simon Fraser.
1974 The system can call renewGState much more often than we actually want
1975 to update the WebProcess' notion of the exposed rect. Most importantly,
1976 within an autolayout pass it is called many times, and often sees
1977 [WKView visibleRect] be an intermediate value which will never be
1978 flushed to the screen. We only care about the final value, so we should
1979 wait until AppKit has finished - with a zero-delay timer - to inform the
1980 WebProcess of exposed rect changes.
1982 * UIProcess/WebPageProxy.cpp:
1983 (WebKit::WebPageProxy::WebPageProxy):
1984 Add exposedRectChangedTimer.
1985 (WebKit::WebPageProxy::close):
1986 Cancel exposedRectChangedTimer when tearing down the WebPageProxy.
1987 * UIProcess/WebPageProxy.h:
1989 Add exposedRectChangedTimerFired, the timer itself, and two rects:
1990 the most recent exposed rect from the WKView, and the last one we actually
1991 sent across to the WebProcess.
1992 * UIProcess/mac/WebPageProxyMac.mm:
1993 (WebKit::WebPageProxy::viewExposedRectChanged):
1994 Instead of immediately sending exposed rect changes to the WebProcess,
1995 start a zero-delay timer to do so.
1996 (WebKit::WebPageProxy::exposedRectChangedTimerFired):
1997 Once the zero-delay timer fires, send the new exposed rect to the WebProcess.
1999 2013-05-08 Alexey Proskuryakov <ap@apple.com>
2001 <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers
2002 <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices
2004 Reviewed by Anders Carlsson.
2006 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more
2007 TextServices and NSInputManager directories.
2009 2013-05-08 Anders Carlsson <andersca@apple.com>
2011 Remove BinarySemaphoreWin.cpp.
2013 Rubber-stamped by Beth Dakin.
2015 BinarySemaphoreWin has been moved to WTF, but the original was never removed.
2017 * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
2019 2013-05-08 Zan Dobersek <zdobersek@igalia.com>
2021 [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
2022 https://bugs.webkit.org/show_bug.cgi?id=115716
2024 Reviewed by Andreas Kling.
2026 WebNetworkInfoManager should inherit from WebProcessSupplement and should be used
2027 as such by the WebProcess. This removes the need for the m_networkInfoManager member
2028 variable in the WebProcess class and brings the WebNetworkInfoManager in line with
2029 other manager classes of which instances are controlled by the WebProcess class.
2031 * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
2032 (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
2034 * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
2035 (WebKit): Alphabetically reorder the two forwarding declarations.
2036 (WebNetworkInfoManager): Inherit from the WebProcessSupplement interface.
2037 * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
2038 (WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement.
2039 (WebKit::WebNetworkInfoClient::metered): Ditto.
2040 (WebKit::WebNetworkInfoClient::startUpdating): Ditto.
2041 (WebKit::WebNetworkInfoClient::stopUpdating): Ditto.
2042 (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto.
2043 * WebProcess/WebProcess.cpp:
2044 (WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement.
2045 * WebProcess/WebProcess.h:
2046 (WebProcess): Remove the m_networkInfoManager member variable and its getter method.
2048 2013-05-08 Zan Dobersek <zdobersek@igalia.com>
2050 [WK2] Make the WebBatteryManager a supplement to the WebProcess
2051 https://bugs.webkit.org/show_bug.cgi?id=115715
2053 Reviewed by Andreas Kling.
2055 WebBatteryManager should inherit from WebProcessSupplement and should be used as such
2056 by the WebProcess. This removes the need for the m_batteryManager member variable in
2057 the WebProcess class and brings the WebBatteryManager in line with other manager classes
2058 of which instances are controlled by the WebProcess class.
2060 * WebProcess/Battery/WebBatteryManager.cpp:
2061 (WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
2063 * WebProcess/Battery/WebBatteryManager.h:
2064 (WebBatteryManager): Inherit from the WebProcessSupplement interface.
2065 * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
2066 (WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement.
2067 (WebKit::WebBatteryClient::stopUpdating): Ditto.
2068 (WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto.
2069 * WebProcess/WebProcess.cpp:
2070 (WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement.
2071 * WebProcess/WebProcess.h:
2072 (WebProcess): Remove the m_batteryManager member variable and its getter method.
2074 2013-05-06 Darin Adler <darin@apple.com>
2076 Use adoptCF and adoptNS in more places
2077 https://bugs.webkit.org/show_bug.cgi?id=115657
2079 Reviewed by Sam Weinig.
2081 * Shared/Downloads/cfnet/DownloadCFNet.cpp:
2082 (WebKit::Download::useCredential):
2083 (WebKit::Download::start):
2084 (WebKit::Download::startWithHandle):
2085 (WebKit::Download::cancel):
2086 (WebKit::Download::didDecideDestination):
2087 Use adoptCF and adoptNS.
2089 2013-05-06 Sam Weinig <sam@webkit.org>
2091 Add SPI to get an array of all the installed plug-ins
2092 https://bugs.webkit.org/show_bug.cgi?id=115688
2094 Reviewed by Anders Carlsson.
2096 * UIProcess/API/C/mac/WKContextPrivateMac.h:
2097 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2098 (createInfoDictionary):
2099 Extract creation of info dictionary into helper.
2100 (WKContextCopyPlugInInfoForBundleIdentifier):
2101 Modified to use the new helper.
2102 (WKContextGetInfoForInstalledPlugIns):
2105 2013-05-07 Anders Carlsson <andersca@apple.com>
2107 Clean up KeyframeValueList and related classes
2108 https://bugs.webkit.org/show_bug.cgi?id=115738
2110 Reviewed by Simon Fraser.
2112 Update for WebCore changes.
2114 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2115 (CoreIPC::::decode):
2117 2013-05-07 Anders Carlsson <andersca@apple.com>
2119 Add and remove databases and origins from the database tracker
2120 https://bugs.webkit.org/show_bug.cgi?id=115752
2122 Reviewed by Andreas Kling.
2124 * UIProcess/Storage/LocalStorageDatabase.cpp:
2125 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2126 Rename m_databaseFilename to m_databasePath.
2128 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2129 Rename m_databaseFilename to m_databasePath.
2131 * UIProcess/Storage/LocalStorageDatabase.h:
2132 Rename m_databaseFilename to m_databasePath.
2134 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2135 (WebKit::LocalStorageDatabaseTracker::databasePath):
2136 Rename databaseFilename to databasePath.
2138 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
2139 Call addDatabaseWithOriginIdentifier.
2141 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
2142 Call removeDatabaseWithOriginIdentifier.
2144 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
2145 Call databasePath instead of databaseFile.
2147 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
2148 Bail if the database is already open.
2150 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
2151 Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.
2153 (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
2154 Add the database to the Origins table.
2156 (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
2157 remove the database from the Origins table and delete it.
2159 (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
2160 Helper function that looks up a database path given its identifier.
2162 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2163 Rename databaseFile to databasePath.
2165 2013-05-07 Anders Carlsson <andersca@apple.com>
2167 The storage database tracker should know when databases come and go
2168 https://bugs.webkit.org/show_bug.cgi?id=115748
2170 Reviewed by Andreas Kling.
2172 * UIProcess/Storage/LocalStorageDatabase.cpp:
2173 (WebKit::LocalStorageDatabase::openDatabase):
2174 If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.
2176 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2177 Remove a FIXME; we run all storage related things on the same thread.
2179 (WebKit::LocalStorageDatabase::close):
2180 Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.
2182 (WebKit::LocalStorageDatabase::databaseIsEmpty):
2183 Helper function for determining whether a database is empty.
2185 * UIProcess/Storage/LocalStorageDatabase.h:
2186 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2187 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
2188 Add ".localstorage" to the filename.
2190 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
2191 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
2194 2013-05-07 Brady Eidson <beidson@apple.com>
2196 Add JoinExistingSession to the Networking XPC.
2197 <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991
2199 Reviewed by Sam Weinig.
2201 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
2202 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
2204 2013-05-07 Anders Carlsson <andersca@apple.com>
2206 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
2207 https://bugs.webkit.org/show_bug.cgi?id=115711
2209 Reviewed by Andreas Kling.
2211 Handle setting the local storage directory more than once.
2213 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2214 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2215 Close the database (if necessary) and clear the origins map before importing the origin identifiers.
2217 2013-05-07 Antoine Quint <graouts@apple.com>
2219 Re-establish autostart timeout extension on user interaction
2220 https://bugs.webkit.org/show_bug.cgi?id=113232
2222 Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
2223 (pluginOrigin, pageOrigin, mimeType) arguments like the other similar
2224 WebProcess methods and gather these arguments from the PlugInView's
2227 Reviewed by Dean Jackson.
2229 * WebProcess/Plugins/PluginView.cpp:
2230 (WebKit::PluginView::pluginDidReceiveUserInteraction):
2231 Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
2232 tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().
2234 * WebProcess/WebProcess.cpp:
2235 (WebKit::WebProcess::plugInDidReceiveUserInteraction):
2236 * WebProcess/WebProcess.h:
2238 Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
2239 and obtain the plug-in origin hash from that.
2241 2013-05-07 Anders Carlsson <andersca@apple.com>
2243 Each local storage database should know its origin
2244 https://bugs.webkit.org/show_bug.cgi?id=115737
2246 Reviewed by Andreas Kling.
2248 Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.
2250 * UIProcess/Storage/LocalStorageDatabase.cpp:
2251 (WebKit::LocalStorageDatabase::create):
2252 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2253 * UIProcess/Storage/LocalStorageDatabase.h:
2254 (LocalStorageDatabase):
2256 2013-05-07 Brady Eidson <beidson@apple.com>
2258 Remove some unnecessary soft linking in NetworkProcess. (Take 2)
2259 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
2261 Reviewed by Dean Jackson and owned by Andreas Kling.
2263 As a followup to r149651, include the private headers conditionally.
2264 Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).
2266 * NetworkProcess/mac/DiskCacheMonitor.mm:
2267 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
2268 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
2270 2013-05-07 Jinwoo Song <jinwoo7.song@samsung.com>
2272 [EFL][WK2] Add ewk APIs for setting and getting user agent
2273 https://bugs.webkit.org/show_bug.cgi?id=114429
2275 Reviewed by Andreas Kling.
2277 Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.
2279 * UIProcess/API/efl/EwkView.cpp:
2281 (EwkView::setUserAgent):
2282 * UIProcess/API/efl/EwkView.h:
2283 (EwkView::userAgent):
2285 * UIProcess/API/efl/ewk_view.cpp:
2286 (ewk_view_user_agent_get):
2287 (ewk_view_user_agent_set):
2288 * UIProcess/API/efl/ewk_view.h:
2289 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2292 2013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2294 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
2295 https://bugs.webkit.org/show_bug.cgi?id=115646
2297 Reviewed by Darin Adler.
2299 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2300 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
2301 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2302 (WebKit::NetworkResourceLoadScheduler::hostForURL):
2303 * Shared/ImmutableDictionary.h:
2304 (WebKit::ImmutableDictionary::get):
2305 * UIProcess/Storage/StorageManager.cpp:
2306 (WebKit::StorageManager::createSessionStorageMap):
2307 (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
2308 (WebKit::StorageManager::findStorageArea):
2309 * UIProcess/WebContext.h:
2310 (WebKit::WebContext::supplement):
2311 * UIProcess/WebProcessProxy.cpp:
2312 (WebKit::WebProcessProxy::webBackForwardItem):
2313 (WebKit::WebProcessProxy::webFrame):
2314 * UIProcess/efl/DownloadManagerEfl.cpp:
2315 (WebKit::DownloadManagerEfl::ewkDownloadJob):
2316 * WebProcess/Network/WebResourceLoadScheduler.h:
2317 (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
2318 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2319 (WebKit::NetscapePlugin::streamFromID):
2320 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2321 (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2322 * WebProcess/Plugins/PluginView.cpp:
2323 (WebKit::PluginView::cancelStreamLoad):
2324 * WebProcess/WebPage/EventDispatcher.cpp:
2325 (WebKit::EventDispatcher::wheelEvent):
2326 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2327 (WebKit::WebBackForwardListProxy::itemForID):
2328 (WebKit::WebBackForwardListProxy::itemAtIndex):
2329 * WebProcess/WebPage/WebPage.cpp:
2330 (WebKit::WebPage::webUndoStep):
2331 (WebKit::WebPage::didFinishCheckingText):
2332 (WebKit::WebPage::didCancelCheckingText):
2333 * WebProcess/WebProcess.cpp:
2334 (WebKit::WebProcess::webPage):
2335 (WebKit::WebProcess::webPageGroup):
2336 Updated accordingly to new HashMap<.., RefPtr>::get() semantics.
2338 2013-05-06 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2340 [Qt] Unreviewed buildfix after r149637.
2344 2013-05-06 Ryosuke Niwa <rniwa@webkit.org>
2346 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
2347 https://bugs.webkit.org/show_bug.cgi?id=115711
2349 Rubber-stamped by Anders Carlsson.
2351 Temporarily removed the assertion. Andres is going to investigate it tomorrow.
2353 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2354 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2356 2013-05-06 Darin Adler <darin@apple.com>
2358 Use OwnPtr instead of deleteAllValues in KeyframeValueList
2359 https://bugs.webkit.org/show_bug.cgi?id=115652
2361 Reviewed by Simon Fraser.
2363 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2364 (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
2365 next to new when calling KeyframeValueList::insert.
2367 2013-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2369 Unreviewed, build fix on EFL port
2371 * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
2373 2013-05-06 Philippe Normand <pnormand@igalia.com>
2375 Unreviewed, GTK build fix after r149637.
2377 * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
2380 2013-05-06 Brady Eidson <beidson@apple.com>
2382 Remove some unnecessary soft linking in NetworkProcess.
2383 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
2385 Reviewed by Sam Weinig.
2387 Replace some unneeded soft linking with forward declarations.
2389 * NetworkProcess/mac/DiskCacheMonitor.mm:
2390 (WebKit::DiskCacheMonitor::DiskCacheMonitor):
2391 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
2392 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
2393 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
2395 2013-05-06 Anders Carlsson <andersca@apple.com>
2397 More work on LocalStorageDatabaseTracker
2398 https://bugs.webkit.org/show_bug.cgi?id=115680
2400 Reviewed by Andreas Kling.
2402 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2403 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
2404 Call the new databaseFilename that takes a string.
2406 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2407 Assert that we don't call this more than once. Dispatch a call to import origin identifiers.
2409 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
2410 New helper function that returns the tracker database path.
2412 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
2413 Open the database and create the Origins table if needed.
2415 (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
2416 Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.
2418 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
2419 Bring the tracker database up to date from the database files on disk.
2421 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2422 (LocalStorageDatabaseTracker):
2424 2013-05-06 Alexey Proskuryakov <ap@apple.com>
2426 <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
2427 https://bugs.webkit.org/show_bug.cgi?id=115665
2429 Reviewed by Darin Adler.
2431 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated
2432 check for frame->isMainFrame() to the top, matching oter similar functions.
2433 Call updateActivePages().
2435 * WebProcess/WebProcess.cpp:
2436 (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME.
2437 (WebKit::WebProcess::updateActivePages): Empty implementation for platforms
2438 that don't need to do anything here.
2440 * WebProcess/WebProcess.h: Added updateActivePages().
2442 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
2443 Collect user visible origins of pages in the process and pass them to LS.
2445 2013-05-06 Mark Rowe <mrowe@apple.com>
2447 <rdar://problem/13775921> Switch off a deprecated API.
2449 Reviewed by Oliver Hunt.
2451 * Shared/mac/ChildProcessMac.mm:
2452 (WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
2453 begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
2454 When enabling process suppression, end the activity.
2456 2013-05-06 Anders Carlsson <andersca@apple.com>
2458 Move local storage directory handling to LocalStorageDatabaseTracker
2459 https://bugs.webkit.org/show_bug.cgi?id=115676
2461 Reviewed by Andreas Kling.
2463 * UIProcess/Storage/LocalStorageDatabase.cpp:
2464 (WebKit::LocalStorageDatabase::create):
2465 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2466 * UIProcess/Storage/LocalStorageDatabase.h:
2468 (LocalStorageDatabase):
2469 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2470 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
2472 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
2473 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2474 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2476 (LocalStorageDatabaseTracker):
2477 * UIProcess/Storage/StorageManager.cpp:
2478 (WebKit::StorageManager::StorageArea::StorageArea):
2479 (WebKit::StorageManager::setLocalStorageDirectory):
2480 * UIProcess/Storage/StorageManager.h:
2483 2013-05-06 Manuel Rego Casasnovas <rego@igalia.com>
2485 [GTK] Add webkit_uri_scheme_request_finish_error
2486 https://bugs.webkit.org/show_bug.cgi?id=94316
2488 Reviewed by Anders Carlsson.
2490 This new method will allow to finish WebKitURISchemeRequest with a
2491 GError that will be passed to the WebKitWebView through the
2492 "load-failed" signal.
2494 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
2495 (webkit_uri_scheme_request_finish_error): Implement new method using
2496 WebSoupRequestManagerProxy::didFailURIRequest().
2497 * UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
2498 * UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new
2499 method in the code example at webkit_web_context_register_uri_scheme()
2501 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
2503 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
2504 (loadFailedCallback): Set m_error to monitor it from the tests.
2505 (LoadTrackingTest::loadURI): Clear m_error before each load.
2506 (LoadTrackingTest::loadHtml): Ditto.
2507 (LoadTrackingTest::loadPlainText): Ditto.
2508 (LoadTrackingTest::loadRequest): Ditto.
2509 (LoadTrackingTest::reload): Ditto.
2510 (LoadTrackingTest::goBack): Ditto.
2511 (LoadTrackingTest::goForward): Ditto.
2512 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
2513 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2514 (testWebContextURIScheme): Modify test to check the behavior of the new
2516 * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
2517 (WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
2518 (WebKit): Implement new method using
2519 WebSoupRequestManager::DidFailURIRequest().
2520 * UIProcess/soup/WebSoupRequestManagerProxy.h:
2521 (WebSoupRequestManagerProxy): Add new method header.
2522 * WebProcess/soup/WebSoupRequestManager.cpp:
2524 (WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
2525 setting the error and completing the request.
2526 * WebProcess/soup/WebSoupRequestManager.h:
2527 (WebSoupRequestManager): Add new method header.
2528 * WebProcess/soup/WebSoupRequestManager.messages.in: Add new method
2531 2013-05-06 Anders Carlsson <andersca@apple.com>
2533 Every LocalStorageDatabase should know about its tracker
2534 https://bugs.webkit.org/show_bug.cgi?id=115673
2536 Reviewed by Andreas Kling.
2538 * UIProcess/Storage/LocalStorageDatabase.cpp:
2539 (WebKit::LocalStorageDatabase::create):
2540 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2541 * UIProcess/Storage/LocalStorageDatabase.h:
2542 * UIProcess/Storage/StorageManager.cpp:
2543 (WebKit::StorageManager::StorageArea::StorageArea):
2545 2013-05-06 Anders Carlsson <andersca@apple.com>
2547 Add LocalStorageDatabaseTracker class
2548 https://bugs.webkit.org/show_bug.cgi?id=115671
2550 Reviewed by Andreas Kling.
2552 Somewhat unsurprisingly, this class will be used for tracking local storage databases.
2554 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.
2555 (WebKit::LocalStorageDatabaseTracker::create):
2556 (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
2557 (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
2558 * UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.
2559 (LocalStorageDatabaseTracker):
2561 * UIProcess/Storage/StorageManager.cpp:
2562 (WebKit::StorageManager::StorageManager):
2563 Create a local storage database tracker.
2565 * WebKit2.xcodeproj/project.pbxproj:
2568 2013-05-06 Anders Carlsson <andersca@apple.com>
2570 Handle closing the local storage database
2571 https://bugs.webkit.org/show_bug.cgi?id=115669
2573 Reviewed by Beth Dakin.
2575 * UIProcess/Storage/LocalStorageDatabase.cpp:
2576 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2577 Initialize m_isClosed.
2579 (WebKit::LocalStorageDatabase::~LocalStorageDatabase):
2580 Assert that m_isClosed is false.
2582 (WebKit::LocalStorageDatabase::close):
2583 Set m_isClosed to true and write any pending changes to disk.
2585 (WebKit::LocalStorageDatabase::updateDatabase):
2586 Compute the changed items and pass them to updateDatabaseWithChangedItems.
2588 (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
2589 Split out the code that actually writes to the database from updateDatabase and into this function.
2591 * UIProcess/Storage/LocalStorageDatabase.h:
2592 * UIProcess/Storage/StorageManager.cpp:
2593 (WebKit::StorageManager::StorageArea::~StorageArea):
2596 2013-05-06 Zan Dobersek <zdobersek@igalia.com>
2598 [WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
2599 https://bugs.webkit.org/show_bug.cgi?id=115654
2601 Reviewed by Andreas Kling.
2603 Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
2604 to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
2605 construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
2607 * UIProcess/API/C/WKContext.cpp:
2608 (WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.
2609 * UIProcess/WebContext.cpp:
2610 (WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
2611 the now-removed member variable.
2612 (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
2614 (WebKit::WebContext::disconnectProcess): Ditto.
2615 * UIProcess/WebContext.h:
2616 (WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.
2617 * UIProcess/WebNetworkInfoManagerProxy.cpp:
2618 (WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
2619 (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
2620 (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
2621 accessing the private m_context directly.
2622 (WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
2623 (WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
2624 (WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
2625 (WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.
2626 * UIProcess/WebNetworkInfoManagerProxy.h:
2627 (WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
2629 2013-05-06 Alexey Proskuryakov <ap@apple.com>
2631 <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
2632 https://bugs.webkit.org/show_bug.cgi?id=115483
2634 Reviewed by Darin Adler.
2636 * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it
2637 in multiple places, so it's easier to pre-compute it.
2639 * PluginProcess/mac/PluginProcessMac.mm:
2640 (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID.
2641 (WebKit::loadSandboxProfile): Ditto.
2642 (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID.
2643 (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices.
2644 (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of
2647 2013-05-06 Anders Carlsson <andersca@apple.com>
2649 Handle removeItem and clear in LocalStorageDatabase
2650 https://bugs.webkit.org/show_bug.cgi?id=115664
2652 Reviewed by Darin Adler.
2654 * UIProcess/Storage/LocalStorageDatabase.cpp:
2655 (WebKit::LocalStorageDatabase::removeItem):
2656 Call itemDidChange with a null value, indicating that we want to remove this item.
2658 (WebKit::LocalStorageDatabase::clear):
2659 Clear items, set m_shouldClearItems and schedule a database update.
2661 (WebKit::LocalStorageDatabase::updateDatabase):
2662 If m_shouldClearItems is true, clear all items.
2664 * UIProcess/Storage/StorageManager.cpp:
2665 (WebKit::StorageManager::StorageArea::removeItem):
2666 Call through to the local storage database.
2668 (WebKit::StorageManager::StorageArea::clear):
2671 2013-05-06 Anders Carlsson <andersca@apple.com>
2673 Write storage changes to disk
2674 https://bugs.webkit.org/show_bug.cgi?id=115660
2676 Reviewed by Andreas Kling.
2678 * UIProcess/Storage/LocalStorageDatabase.cpp:
2679 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2680 Initialize new member variables.
2682 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2683 Disable database threading checks.
2685 (WebKit::LocalStorageDatabase::importItems):
2686 Only import the items once.
2688 (WebKit::LocalStorageDatabase::setItem):
2691 (WebKit::LocalStorageDatabase::itemDidChange):
2692 Record the change and schedule a database update.
2694 (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
2695 Use WorkQueue::dispatchAfterDelay to schedule a datbase update.
2697 (WebKit::LocalStorageDatabase::updateDatabase):
2698 Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule
2699 another database update for the remaining items.
2701 * UIProcess/Storage/LocalStorageDatabase.h:
2702 Add new member variables.
2704 * UIProcess/Storage/StorageManager.cpp:
2705 (WebKit::StorageManager::StorageArea::setItem):
2706 Call LocalStorageDatabase::setItem.
2708 2013-05-06 Zan Dobersek <zdobersek@igalia.com>
2710 [WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
2711 https://bugs.webkit.org/show_bug.cgi?id=115625
2713 Reviewed by Andreas Kling.
2715 Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy
2716 to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
2717 construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
2719 * UIProcess/API/C/WKContext.cpp:
2720 (WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext.
2721 * UIProcess/WebBatteryManagerProxy.cpp:
2722 (WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name.
2723 (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable.
2724 (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing
2725 the private m_context directly.
2726 (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto.
2727 (WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked.
2728 (WebKit::WebBatteryManagerProxy::processDidClose): Ditto.
2729 (WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref.
2730 (WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref.
2731 (WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating.
2732 (WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating.
2733 * UIProcess/WebBatteryManagerProxy.h:
2734 (WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
2735 * UIProcess/WebContext.cpp:
2736 (WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to
2737 the now-removed member variable.
2738 (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
2740 (WebKit::WebContext::disconnectProcess): Ditto.
2741 * UIProcess/WebContext.h:
2742 (WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method.
2744 2013-05-06 Antoine Quint <graouts@apple.com>
2746 Manage the presentation of the snapshotted plug-in using JavaScript
2747 https://bugs.webkit.org/show_bug.cgi?id=115548
2749 Reviewed by Dean Jackson.
2751 Expose a new plugInExtraScript method to support the injection of
2752 a JS file from the chrome client to customize the rendering of a
2753 snapshotted plug-in's shadow tree. Additionally, it is expected
2754 the chrome client will want to provide localized strings taking
2755 into account the snapshotted plug-in's mime-type, so we're adding
2756 this as a parameter to both plugInStartLabelTitle and
2757 plugInStartLabelSubtitle methods.
2759 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2760 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2761 (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
2762 (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
2763 (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
2764 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2765 (InjectedBundlePageUIClient):
2766 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2767 (WebKit::WebChromeClient::plugInStartLabelTitle):
2768 (WebKit::WebChromeClient::plugInStartLabelSubtitle):
2769 (WebKit::WebChromeClient::plugInExtraScript):
2770 * WebProcess/WebCoreSupport/WebChromeClient.h:
2773 2013-05-05 Chris Fleizach <cfleizach@apple.com>
2775 WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
2776 https://bugs.webkit.org/show_bug.cgi?id=115621
2778 Reviewed by Alexey Proskuryakov.
2780 Allow access to the location where 3rd party speech synthesizers are stored.
2782 * WebProcess/com.apple.WebProcess.sb.in:
2784 2013-05-05 Tim Horton <timothy_horton@apple.com>
2786 [wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
2787 https://bugs.webkit.org/show_bug.cgi?id=115577
2788 <rdar://problem/13762583>
2790 Reviewed by Darin Adler.
2792 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2793 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2794 Invalidate the page overlay layers' device scale factor when
2795 TiledCoreAnimationDrawingArea is notified that it has changed.
2797 2013-05-05 Anders Carlsson <andersca@apple.com>
2799 Remove the Vector::append overload that takes a Vector
2800 https://bugs.webkit.org/show_bug.cgi?id=115535
2802 Reviewed by Andreas Kling.
2804 Use Vector::appendVector instead.
2806 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2807 (WebKit::NetworkBlobRegistry::registerBlobURL):
2808 * NetworkProcess/SchedulableLoader.cpp:
2809 (WebKit::SchedulableLoader::SchedulableLoader):
2810 * Platform/CoreIPC/Connection.cpp:
2811 (CoreIPC::Connection::SyncMessageState::dispatchMessages):
2812 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
2813 (WebKit::PluginInfoStore::pluginsDirectories):
2815 2013-05-04 Sam Weinig <sam@webkit.org>
2817 Fix * placement in a few functions as noticed by Mark Rowe.
2819 Rubber-stamped by Dan Bernstein.
2821 * WebProcess/WebPage/PageBanner.h:
2823 * WebProcess/WebPage/mac/PageBannerMac.mm:
2824 (WebKit::PageBanner::create):
2825 (WebKit::PageBanner::PageBanner):
2827 2013-05-04 Sam Weinig <sam@webkit.org>
2829 REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
2830 <rdar://problem/13702008>
2831 https://bugs.webkit.org/show_bug.cgi?id=115607
2833 Reviewed by Benjamin Poulain.
2835 API Test: WebKit2.CloseThenTerminate
2837 * UIProcess/WebPageProxy.cpp:
2838 (WebKit::WebPageProxy::resetStateAfterProcessExited):
2839 Don't try to reset the state if the page is closed, it won't work and its not worth it.
2841 2013-05-04 Beth Dakin <bdakin@apple.com>
2843 https://bugs.webkit.org/show_bug.cgi?id=115574
2844 Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null
2846 Reviewed by Darin Adler.
2848 Don't call addToPage() on a null banner.
2849 * WebProcess/WebPage/WebPage.cpp:
2850 (WebKit::WebPage::setHeaderPageBanner):
2851 (WebKit::WebPage::setFooterPageBanner):
2853 2013-05-03 Alexey Proskuryakov <ap@apple.com>
2855 <rdar://problem/13806836> Tweak sandbox profile.
2857 Reviewed by Dan Bernstein.
2859 * WebProcess/com.apple.WebProcess.sb.in:
2861 2013-05-03 Tim Horton <timothy_horton@apple.com>
2863 PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported
2864 https://bugs.webkit.org/show_bug.cgi?id=115544
2865 <rdar://problem/13801789>
2867 Reviewed by Alexey Proskuryakov.
2869 Commit changes to the active annotation (if there is one) before
2870 returning the live PDF data, so that said changes are represented
2871 in the exported or printed output.
2873 * WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData.
2874 * WebProcess/Plugins/PDF/PDFPlugin.mm:
2875 (WebKit::PDFPlugin::liveData): Commit the active annotation if there is one.
2876 * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
2877 (SimplePDFPlugin): Make liveData virtual.
2879 2013-05-03 Tim Horton <timothy_horton@apple.com>
2881 Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
2882 https://bugs.webkit.org/show_bug.cgi?id=115056
2883 <rdar://problem/13719543>
2885 Reviewed by Simon Fraser.
2887 Null-check m_page. In theory, we shouldn't get here, because we stop
2888 the timer at the only point where m_page is cleared, but crash logs say
2889 we're still crashing here.
2891 * WebProcess/WebPage/WebPage.cpp:
2892 (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
2894 2013-05-03 Tim Horton <timothy_horton@apple.com>
2896 Remove some "what" comments from FindController
2897 https://bugs.webkit.org/show_bug.cgi?id=115546
2899 Reviewed by Andreas Kling.
2901 * WebProcess/WebPage/FindController.cpp:
2902 (WebKit::FindController::countStringMatches):
2903 (WebKit::FindController::updateFindUIAfterPageScroll):
2904 (WebKit::FindController::willMoveToWebPage):
2905 (WebKit::FindController::mouseEvent):
2906 Remove or reword some comments.
2908 2013-05-02 Andy Estes <aestes@apple.com>
2910 [WK2][CustomProtocols] NSURLProtocolClient methods should be dispatched on NSURLConnection's resource loader run loop
2911 https://bugs.webkit.org/show_bug.cgi?id=115539
2913 Reviewed by Alexey Proskuryakov.
2915 It turns out that calling NSURLProtocolClient methods from a different
2916 thread than the one running the NSURLConnection run loop is unsafe.
2917 Although I can't capture it reliably in a test case, doing so can
2918 sometimes result in a load timing out because the call to
2919 -[NSURLProtocolClient URLProtocolDidFinishLoading:] was ignored by
2922 Fix this by dispatching these methods on the NSURLConnection resource
2923 load run loop. This matches where NSURLProtocolClient methods are
2924 dispatched by typical NSURLProtocol implementations, and in my testing
2925 this solves the timeout issue.
2927 * Shared/Network/CustomProtocols/CustomProtocolManager.h: Declare
2928 dispatchOnResourceLoaderRunLoop().
2929 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2930 Declare +[NSURLConnection resourceLoaderRunLoop] on a category of
2931 NSURLConnection. Also include the header that declares it if it's present.
2932 (WebKit::CustomProtocolManager::didFailWithError): Call the
2933 NSURLProtocolClient method via dispatchOnResourceLoaderRunLoop().
2934 (WebKit::CustomProtocolManager::didLoadData): Ditto.
2935 (WebKit::CustomProtocolManager::didReceiveResponse): Ditto.
2936 (WebKit::CustomProtocolManager::didFinishLoading): Ditto.
2937 (WebKit::CustomProtocolManager::dispatchOnResourceLoaderRunLoop):
2938 Dispatch a block on the NSURLConnection resource loader run loop and
2939 then wake up the run loop.
2941 2013-05-02 Brady Eidson <beidson@apple.com>
2943 REGRESSION (149389) Main resources converted to downloads are immediately cancelled.
2944 <rdar://problem/13795795> and https://bugs.webkit.org/show_bug.cgi?id=115530
2946 Reviewed by Alexey Proskuryakov.
2948 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2949 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): Call didConvertHandleToDownload
2950 on the NetworkResourceLoader.
2952 * NetworkProcess/NetworkResourceLoader.cpp:
2953 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
2954 (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Set m_handleConvertedToDownload to true.
2955 (WebKit::NetworkResourceLoader::abort): Only cancel the handle if m_handleConvertedToDownload is false.
2956 * NetworkProcess/NetworkResourceLoader.h:
2958 2013-05-02 Alexey Proskuryakov <ap@apple.com>
2960 <rdar://problem/13740375> Non-ASCII downloaded file names are garbled when using NetworkProcess
2961 https://bugs.webkit.org/show_bug.cgi?id=115520
2963 Reviewed by Darin Adler.
2965 * Shared/mac/WebCoreArgumentCodersMac.mm:
2966 (CoreIPC::::encodePlatformData):
2967 (CoreIPC::::decodePlatformData):
2968 Send the encoding fallback array over IPC, so that it's present when NetworkProcess does its loading.
2970 2013-05-01 Alexey Proskuryakov <ap@apple.com>
2972 REGRESSION (r149422): -[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]
2973 broken when second argument is nil
2974 https://bugs.webkit.org/show_bug.cgi?id=115505
2975 <rdar://problem/13787297>
2977 Reviewed by Darin Adler.
2979 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile): Pass a URL string
2980 to assumeReadAccessToBaseURL, as this is what it takes.
2982 2013-05-01 Ryosuke Niwa <rniwa@webkit.org>
2984 [Mac] WebKit doesn't enable or disable autocorrections when system preferences are changed
2985 https://bugs.webkit.org/show_bug.cgi?id=115463
2987 Reviewed by Darin Adler.
2989 Observe the default notification center and propagate the changes to TextCheckerState and
2990 to all WebProcesses when system preferences are updated.
2992 * UIProcess/TextChecker.h:
2993 * UIProcess/WebContext.h:
2994 * UIProcess/mac/TextCheckerMac.mm:
2995 (WebKit::shouldAutomaticTextReplacementBeEnabled):
2996 (WebKit::shouldAutomaticSpellingCorrectionBeEnabled):
2997 (WebKit::shouldAutomaticQuoteSubstitutionBeEnabled):
2998 (WebKit::shouldAutomaticDashSubstitutionBeEnabled):
2999 (WebKit::initializeState):
3000 (WebKit::TextChecker::didChangeAutomaticTextReplacementEnabled):
3001 (WebKit::TextChecker::didChangeAutomaticSpellingCorrectionEnabled):
3002 (WebKit::TextChecker::didChangeAutomaticQuoteSubstitutionEnabled):
3003 (WebKit::TextChecker::didChangeAutomaticDashSubstitutionEnabled):
3004 * UIProcess/mac/WebContextMac.mm:
3005 (WebKit::WebContext::registerNotificationObservers):
3006 (WebKit::WebContext::unregisterNotificationObservers):
3008 2013-05-01 Ryuan Choi <ryuan.choi@samsung.com>
3010 [GTK] Fix build break after r149449
3011 https://bugs.webkit.org/show_bug.cgi?id=115500
3013 Reviewed by Gustavo Noronha Silva.
3015 Unreviewed GTK build fix
3017 * GNUmakefile.list.am: Added LocalStorageDatabase.[cpp|h] to the list of
3020 2013-05-01 Martin Robinson <mrobinson@igalia.com>
3022 [GTK] [WebKit2] Documentation for webkit_web_view_run_javascript should indicate what happens when JavaScript is disabled
3023 https://bugs.webkit.org/show_bug.cgi?id=115492
3025 Reviewed by Xan Lopez.
3027 * UIProcess/API/gtk/WebKitWebView.cpp: Clarify the documentation.
3029 2013-05-01 Tim Horton <timothy_horton@apple.com>
3031 Move knowledge of PDF/PostScript MIME types into MIMETypeRegistry
3032 https://bugs.webkit.org/show_bug.cgi?id=115487
3034 Reviewed by Darin Adler.
3036 * UIProcess/WebContext.cpp:
3037 * UIProcess/WebContext.h:
3038 Remove pdfAndPostScriptMIMETypes.
3040 * UIProcess/WebFrameProxy.cpp:
3041 (WebKit::WebFrameProxy::canShowMIMEType): Move PDF bits to WebPageProxy.
3042 (WebKit::WebFrameProxy::isDisplayingPDFDocument):
3043 Make use of WebCore's newfound knowledge of PDF and PostScript MIME types,
3044 so we don't have to duplicate it unnecessarily in WebKit2.
3046 * UIProcess/WebPageProxy.cpp:
3047 (WebKit::WebPageProxy::canShowMIMEType):
3048 Add code which used to be in WebFrameProxy::canShowMIMEType, and adapt it
3049 to use WebCore's knowledge of PDF and PostScript MIME types.
3051 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
3052 (WebKit::SimplePDFPlugin::pluginInfo):
3053 We previously supported the "text/pdf" MIME type for PDFViewController,
3054 so SimplePDFPlugin and PDFPlugin should support it as well.
3056 * WebProcess/WebPage/WebPage.cpp:
3057 (WebKit::WebPage::createPlugin):
3058 Adopt MIMETypeRegistry::isPDFOrPostScriptMIMEType.
3060 * WebProcess/WebPage/WebPage.h:
3062 Remove pdfAndPostScriptMIMETypes.
3064 * WebProcess/WebPage/mac/WebPageMac.mm:
3065 (WebKit::WebPage::platformPreferencesDidChange):
3066 Adopt getPDFAndPostScriptMIMETypes instead of duplicating the list in WebKit2.
3068 2013-05-01 Anders Carlsson <andersca@apple.com>
3070 Implement LocalStorageDatabase::importItems
3071 https://bugs.webkit.org/show_bug.cgi?id=115493
3073 Reviewed by Andreas Kling.
3075 Fetch items and insert them in the storage map.
3076 * UIProcess/Storage/LocalStorageDatabase.cpp:
3077 (WebKit::LocalStorageDatabase::importItems):
3079 2013-05-01 Anders Carlsson <andersca@apple.com>
3081 Begin work on loading items from the local storage database
3082 https://bugs.webkit.org/show_bug.cgi?id=115489
3084 Reviewed by Andreas Kling.
3086 Some of the LocalStorageDatabase code is originally from WebCore,
3087 but has been simplified due to the fact that we don't need to load
3088 database data asynchronously since we're already running on a non-main thread.
3090 * UIProcess/Storage/LocalStorageDatabase.cpp:
3091 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3092 (WebKit::LocalStorageDatabase::openDatabase):
3093 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
3094 (WebKit::LocalStorageDatabase::migrateItemTableIfNeeded):
3095 (WebKit::LocalStorageDatabase::importItems):
3097 * UIProcess/Storage/LocalStorageDatabase.h:
3098 (WebKit::StorageManager::StorageArea::setItem):
3099 (WebKit::StorageManager::StorageArea::removeItem):
3100 (WebKit::StorageManager::StorageArea::clear):
3101 (WebKit::StorageManager::StorageArea::items):
3102 Call importItemsFromDatabase().
3104 (WebKit::StorageManager::StorageArea::importItemsFromDatabase):
3105 Ask the database to import the items.
3107 2013-05-01 Ryuan Choi <ryuan.choi@samsung.com>
3109 [EFL] Unreviewed buildfix after r149449.
3113 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3115 [Qt] Unreviewed buildfix after r149449.
3119 2013-05-01 Anders Carlsson <andersca@apple.com>
3121 Add LocalStorageDatabase class
3122 https://bugs.webkit.org/show_bug.cgi?id=115486
3124 Reviewed by Sam Weinig.
3126 The LocalStorageDatabase class will persist local storage data to disk.
3128 * UIProcess/Storage/LocalStorageDatabase.cpp:
3129 * UIProcess/Storage/LocalStorageDatabase.h: Added.
3131 * UIProcess/Storage/StorageManager.cpp:
3132 (StorageManager::StorageArea):
3133 (WebKit::StorageManager::LocalStorageNamespace::storageManager):
3136 (StorageManager::LocalStorageNamespace):
3137 (WebKit::StorageManager::StorageArea::StorageArea):
3138 If this is a local storage area, create a LocalStorageDatabase.
3140 (WebKit::StorageManager::LocalStorageNamespace::databaseFilename):
3141 Helper function for getting the name of the database for the given origin.
3143 * WebKit2.xcodeproj/project.pbxproj:
3146 2013-05-01 Alexey Proskuryakov <ap@apple.com>
3148 <rdar://problem/13781156> Launching NetworkProcess broken on some OS versions.
3150 Reviewed by Anders Carlsson.
3152 Adapt to LaunchServices changes.
3154 * Shared/mac/ChildProcessMac.mm:
3155 (WebKit::ChildProcess::setApplicationIsDaemon):
3157 2013-05-01 Martin Robinson <mrobinson@igalia.com>
3159 [GTK] [WebKit2] Add a setting to control whether or not accelerated 2D canvas is enabled
3160 https://bugs.webkit.org/show_bug.cgi?id=114394
3162 Reviewed by Anders Carlsson.
3164 Add a setting to control accelerated 2D canvas, which determines whether
3165 or not to consider rendering HTML canvas with hardware acceleration.
3167 * UIProcess/API/gtk/WebKitSettings.cpp:
3168 (webKitSettingsSetProperty): Added support for enable-accelerated-2d-canvas property.
3169 (webKitSettingsGetProperty): Added support for enable-accelerated-2d-canvas property.
3170 (webkit_settings_class_init): Added support for enable-accelerated-2d-canvas property.
3171 (webkit_settings_get_enable_accelerated_2d_canvas): Added.
3172 (webkit_settings_set_enable_accelerated_2d_canvas): Added.
3173 * UIProcess/API/gtk/WebKitSettings.h: New methods.
3174 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to the documentation.
3175 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3176 (testWebKitSettings): Added a simple test for the setting.
3178 2013-04-30 Jer Noble <jer.noble@apple.com>
3180 Entering full screen mode shows desktop linen instead of WKView the first time.
3181 https://bugs.webkit.org/show_bug.cgi?id=115433
3182 <rdar://problem/13774540>
3184 Reviewed by Eric Carlson.
3186 For certain types of windows created by subclasses of WKView, the window in question fails to paint
3187 when created with a zero-size rect. Create the window with an initial size of the active screen frame
3188 as that is the likely destination size.
3190 * UIProcess/API/mac/WKView.mm:
3191 (-[WKView createFullScreenWindow]):
3193 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3195 [Qt][Win] Fix build after r149416.
3196 https://bugs.webkit.org/show_bug.cgi?id=115474
3198 Reviewed by Anders Carlsson.
3200 * Platform/CoreIPC/Connection.h:
3202 * Platform/CoreIPC/win/ConnectionWin.cpp:
3203 (CoreIPC::Connection::dispatchSentMessagesUntil):
3205 2013-05-01 Sergio Villar Senin <svillar@igalia.com>
3207 Unreviewed GTK build fix after r149417.
3209 * GNUmakefile.list.am: Added PageBanner.[cpp|h] to the list of
3212 2013-05-01 Ryuan Choi <ryuan.choi@samsung.com>
3214 [EFL] Unreviewed buildfix after r149416 and r149417.
3216 Unreviewed build fix.
3220 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3222 [Qt] Unreviewed buildfix after r149416 and r149417.
3226 2013-04-30 Dongwoo Joshua Im <dw.im@samsung.com>
3228 [EFL] Unreviewed, EFL build fix after r149416
3229 https://bugs.webkit.org/show_bug.cgi?id=115467
3231 Unreviewed build fix.
3233 * CMakeLists.txt: Remove non-existing file, BinarySemaphore.cpp, from the list.
3235 2013-04-30 Simon Cooper <scooper@apple.com>
3237 ipc-posix-shm backwards compatibility
3238 https://bugs.webkit.org/show_bug.cgi?id=115448
3239 <rdar://problem/13743037>
3241 Reviewed by Alexey Proskuryakov.
3243 Add compatibility for older ipc-posix-shm operations, but prefer the
3244 newer names when writing profiles.
3246 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3248 2013-04-30 Philippe Normand <pnormand@igalia.com>
3250 Unreviewed, GTK build fix after r149416.
3252 * GNUmakefile.list.am: Remove references to non-existant
3253 BinarySemaphore module.
3255 2013-04-28 Alexey Proskuryakov <ap@apple.com>
3257 <rdar://problem/13574729> Implement file path restrictions in WebKit Objective C API
3258 https://bugs.webkit.org/show_bug.cgi?id=115321
3260 Reviewed by Darin Adler.
3262 * UIProcess/API/C/WKPage.cpp:
3263 * UIProcess/API/C/WKPage.h:
3264 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile):
3265 * UIProcess/WebPageProxy.h:
3266 Added and implemented a C API to load a file while only opening sandbox for
3267 a specific directory.
3269 * UIProcess/API/mac/WKBrowsingContextController.h: Fixed a typo in a comment.
3271 * UIProcess/API/mac/WKBrowsingContextController.mm:
3272 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
3273 Respect allowedDirectory argument. Updated the function to raise an exception for
3274 incorrect input, as decribed in header file.
3276 2013-04-29 Sam Weinig <sam@webkit.org>
3278 Add API to allow WebKit2 banners to get mouse events
3279 https://bugs.webkit.org/show_bug.cgi?id=115395
3281 Reviewed by Beth Dakin.
3283 * Shared/API/c/WKBase.h:
3284 * Shared/APIObject.h:
3287 * WebKit2.xcodeproj/project.pbxproj:
3290 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
3293 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3294 (WKBundlePageSetTopOverhangImage):
3295 (WKBundlePageSetBottomOverhangImage):
3296 Fix parameter names to be consistent.
3298 (WKBundlePageSetHeaderBanner):
3299 (WKBundlePageSetFooterBanner):
3300 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3301 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.cpp: Added.
3302 (WKBundlePageBannerGetTypeID):
3303 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Added.
3304 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h: Added.
3305 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Added.
3306 (PageBannerClientImpl):
3307 (PageBannerClientImpl::create):
3308 (PageBannerClientImpl::PageBannerClientImpl):
3309 (PageBannerClientImpl::pageBannerDestroyed):
3310 (PageBannerClientImpl::mouseEvent):
3311 (WKBundlePageBannerCreateBannerWithCALayer):
3312 (WKBundlePageBannerGetLayer):
3315 * WebProcess/WebPage/PageBanner.h: Added.
3316 * WebProcess/WebPage/PageBanner.cpp: Added.
3317 (WebKit::PageBanner::~PageBanner):
3318 (WebKit::PageBanner::addToPage):
3319 (WebKit::PageBanner::detachFromPage):
3320 (WebKit::PageBanner::didChangeDeviceScaleFactor):
3321 (WebKit::PageBanner::mouseEvent):
3322 Add non-mac implementations.
3324 * WebProcess/WebPage/WebPage.cpp:
3325 (WebKit::WebPage::~WebPage):
3326 (WebKit::WebPage::setHeaderPageBanner):
3327 (WebKit::WebPage::headerPageBanner):
3328 (WebKit::WebPage::setFooterPageBanner):
3329 (WebKit::WebPage::footerPageBanner):
3330 (WebKit::WebPage::mouseEvent):
3331 (WebKit::WebPage::mouseEventSyncForTesting):
3332 * WebProcess/WebPage/WebPage.h:
3333 Add banner setter/getters and give the banners a chance to handle mouse events.
3335 * WebProcess/WebPage/mac/PageBannerMac.mm: Added.
3336 (WebKit::PageBanner::create):
3337 (WebKit::PageBanner::PageBanner):
3338 (WebKit::PageBanner::addToPage):
3339 (WebKit::PageBanner::detachFromPage):
3340 (WebKit::PageBanner::didChangeDeviceScaleFactor):
3341 (WebKit::PageBanner::mouseEvent):
3342 (WebKit::PageBanner::layer):
3343 Add Mac implementation.
3345 * WebProcess/WebPage/mac/WebPageMac.mm:
3346 (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
3347 Notify banners when the device scale changes.
3349 2013-04-30 Anders Carlsson <andersca@apple.com>
3351 Remove the WebKit2 BinarySemaphore class
3352 https://bugs.webkit.org/show_bug.cgi?id=115458
3354 Reviewed by Benjamin Poulain.
3356 Remove the WK2 specific BinarySemaphore class and use the one from WTF.
3358 * Platform/CoreIPC/BinarySemaphore.cpp: Removed.
3359 * Platform/CoreIPC/BinarySemaphore.h: Removed.
3360 * Platform/CoreIPC/Connection.cpp:
3361 * Platform/CoreIPC/Connection.h:
3362 * WebKit2.xcodeproj/project.pbxproj:
3364 2013-04-30 Alexey Proskuryakov <ap@apple.com>
3366 <rdar://problem/13757475> WebProcess deny ipc-posix-shm-read-data CFPBS:A2:
3368 Reviewed by Anders Carlsson.
3370 * WebProcess/com.apple.WebProcess.sb.in: Allow pbs shared memory.
3372 2013-04-30 Alexey Proskuryakov <ap@apple.com>
3374 [Mac] Don't open window server connection in network process
3375 https://bugs.webkit.org/show_bug.cgi?id=115446
3377 Reviewed by Anders Carlsson.
3379 * NetworkProcess/NetworkProcess.cpp:
3380 (WebKit::NetworkProcess::initializeProcess):
3381 * NetworkProcess/NetworkProcess.h:
3382 * NetworkProcess/mac/NetworkProcessMac.mm:
3383 (WebKit::NetworkProcess::initializeProcess):
3384 (WebKit::NetworkProcess::initializeProcessName):
3385 Instead of shutting down a connection after setting process name, just prevent
3386 it from being created.
3388 * Shared/ChildProcess.h:
3389 * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::setApplicationIsDaemon):
3390 Expose a function for client processes to call if they don't run an NSApplication
3393 * OfflineStorageProcess/OfflineStorageProcess.cpp:
3394 (WebKit::OfflineStorageProcess::initializeProcess):
3395 * OfflineStorageProcess/OfflineStorageProcess.h:
3396 * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
3397 (WebKit::OfflineStorageProcess::initializeProcess):
3398 (WebKit::OfflineStorageProcess::initializeProcessName):
3399 * SharedWorkerProcess/SharedWorkerProcess.cpp:
3400 (WebKit::SharedWorkerProcess::initializeProcess):
3401 (WebKit::SharedWorkerProcess::initializeProcessName):
3402 * SharedWorkerProcess/SharedWorkerProcess.h:
3403 * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
3404 (WebKit::SharedWorkerProcess::initializeProcess):
3405 (WebKit::SharedWorkerProcess::initializeProcessName):
3406 Match NetworkProcess for consistency.
3408 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::initializeProcessName):
3409 Don't null check UI process name. First, it can't be null, and second, some other
3410 processes already don't have this check.
3412 2013-04-30 Tim Horton <timothy_horton@apple.com>
3414 Disable deprecation warnings around some NSProcessInfo API.
3416 Rubber-stamped by Brady Eidson.
3418 * Shared/mac/ChildProcessMac.mm:
3419 (WebKit::ChildProcess::setProcessSuppressionEnabled):
3421 2013-04-30 Brady Eidson <beidson@apple.com>
3423 [WK2] Threads get stuck in NetworkProcess when canceling loads in WebProcess.
3424 <rdar://problem/13757687> and https://bugs.webkit.org/show_bug.cgi?id=115319
3426 Written and reviewed by both Alexey Proskuryakov and Brady Eidson.
3428 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3429 (WebKit::NetworkConnectionToWebProcess::didClose): Call abort() on all loaders
3430 instead of connectionToWebProcessDidClose()
3431 (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Instead of removing
3432 the loader from the scheduler, call abort() which will also end up removing it.
3434 * NetworkProcess/SchedulableLoader.h: Add a virtual abort() call.
3436 * NetworkProcess/NetworkResourceLoader.cpp:
3437 (WebKit::NetworkResourceLoader::sendAbortingOnFailure): Added a messageFlags argument so
3438 callers can pass DispatchMessageEvenWhenWaitingForSyncReply.
3439 (WebKit::NetworkResourceLoader::abort): Combined "abortInProgressLoad" and "cleanup" to
3440 be a general purpose "cancel"
3441 (WebKit::NetworkResourceLoader::didReceiveBuffer):
3442 (WebKit::NetworkResourceLoader::willSendRequestAsync):
3443 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
3444 * NetworkProcess/NetworkResourceLoader.h:
3446 * NetworkProcess/SyncNetworkResourceLoader.cpp:
3447 (WebKit::SyncNetworkResourceLoader::abort):
3448 * NetworkProcess/SyncNetworkResourceLoader.h:
3450 * WebProcess/Network/WebResourceLoadScheduler.cpp:
3451 (WebKit::WebResourceLoadScheduler::remove): Remove an obsolete/incorrect comment.
3453 * WebProcess/Network/WebResourceLoader.cpp:
3454 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Add comment stressing
3455 the importance of this null check so it's not removed again.
3457 2013-04-30 Carlos Garcia Campos <cgarcia@igalia.com>
3459 [WK2][GTK] MiniBrowser won't play video in <embed> tag
3460 https://bugs.webkit.org/show_bug.cgi?id=113107
3462 Reviewed by Anders Carlsson.
3464 The wrong clip region is used for windowed plugins, because it's
3465 translated to window frame coords again.
3467 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3468 (WebKit::NetscapePlugin::platformGeometryDidChange): Do not move
3469 the current clip region.
3471 2013-04-30 Timothy Hatcher <timothy@apple.com>
3473 Make the Inspector dock to right button work in the WebKit nightlies on Safari 6.0.4.
3475 https://webkit.org/b/115428
3477 Reviewed by Joseph Pecoraro.
3479 * UIProcess/mac/WebInspectorProxyMac.mm:
3480 (WebKit::WebInspectorProxy::createInspectorWindow): Reduce the required Safari version.
3481 (WebKit::WebInspectorProxy::platformDetach): Simplify the frame restoring code so it
3482 works on Safari 6.0.4.
3484 2013-04-30 Artur Moryc <a.moryc@samsung.com>
3486 [WK2][EFL] Spelling marker disappears while selection is being changed
3487 https://bugs.webkit.org/show_bug.cgi?id=115165
3489 Reviewed by Anders Carlsson.
3491 The marker for a misspelled word disappears while the cursor is being navigated along the word.
3493 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3494 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
3496 2013-04-30 Zalan Bujtas <zalan@apple.com>
3498 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
3499 https://bugs.webkit.org/show_bug.cgi?id=111244
3501 Reviewed by David Kilzer.
3503 Enable performance.now() as a minimal subset of Web Timing API.
3504 It returns DOMHighResTimeStamp, a monotonically increasing value representing the
3505 number of milliseconds from the start of the navigation of the current document.
3506 JS libraries use this API to check against the requestAnimationFrame() timestamp.
3508 * Configurations/FeatureDefines.xcconfig:
3510 2013-04-29 Chris Fleizach <cfleizach@apple.com>
3512 WEB SPEECH: need to identify the default voice per language
3513 https://bugs.webkit.org/show_bug.cgi?id=115366
3515 Reviewed by Tim Horton.
3517 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3518 (InitWebCoreSystemInterface):
3520 2013-04-29 Benjamin Poulain <benjamin@webkit.org>