1 2013-05-16 Tim Horton <timothy_horton@apple.com>
3 PDFPlugins don't load when plugins are disabled, but they should
4 https://bugs.webkit.org/show_bug.cgi?id=75790
5 <rdar://problem/11650197>
7 Reviewed by Anders Carlsson.
9 Support loading "application" plug-ins even if plug-ins are explicitly disabled.
11 Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
12 be loaded even if plug-ins are disabled.
14 * Platform/CoreIPC/HandleMessage.h:
15 (CoreIPC::callMemberFunction):
16 Add a 5-argument, 3-reply version of callMemberFunction.
18 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
19 (WebKit::NetscapePluginModule::getPluginInfo):
20 NPAPI plug-ins are not application plug-ins.
22 * Shared/WebCoreArgumentCoders.cpp:
25 Encode/decode the new isApplicationPlugin field on PluginInfo.
27 * UIProcess/Plugins/PluginInfoStore.cpp:
28 (WebKit::PluginInfoStore::findPluginForMIMEType):
29 (WebKit::PluginInfoStore::findPluginForExtension):
30 (WebKit::PluginInfoStore::findPlugin):
31 * UIProcess/Plugins/PluginInfoStore.h:
33 Give PluginInfoStore's findPlugin method and its private helper
34 methods an argument allowing them to only match application plug-ins.
36 (WebKit::WebPageProxy::findPlugin):
37 * UIProcess/WebPageProxy.h:
39 * UIProcess/WebPageProxy.messages.in:
40 Add an argument allowing findPlugin to restrict its search to only application plug-ins.
42 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43 (WebKit::WebFrameLoaderClient::objectContentType):
44 Previously, this caller depended on pluginData() returning null if
45 plug-ins were disabled. Since that is no longer the case, we have to
46 check if we can use plug-ins, and otherwise ignore non-application-plug-ins.
48 * WebProcess/WebPage/WebPage.cpp:
49 (WebKit::WebPage::createPlugin):
50 When going to search for a plug-in, ask subframeLoader whether or not
51 it's OK to use ordinary non-application plug-ins, and pass that information
52 on to the UIProcess when performing the search.
54 (WebKit::WebPage::canPluginHandleResponse): Ditto.
55 (WebKit::WebPage::canShowMIMEType):
56 Ensure that canShowMIMEType returns true if we have an application plug-in
57 that can display a particular MIME type, even if we're not allowed to load plug-ins.
59 2013-05-16 Michał Pakuła vel Rutka <m.pakula@samsung.com>
61 [EFL][WK2] Make Ewk_Context_Menu Ewk_Object
62 https://bugs.webkit.org/show_bug.cgi?id=116097
64 Reviewed by Gyuyoung Kim.
66 Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
67 object can be shared between different modules.
69 * UIProcess/API/efl/EwkView.cpp:
70 (EwkView::showContextMenu):
71 * UIProcess/API/efl/EwkView.h:
73 * UIProcess/API/efl/ewk_context_menu.cpp:
74 (EwkContextMenu::appendItem):
75 (EwkContextMenu::removeItem):
76 (ewk_context_menu_new):
77 (ewk_context_menu_new_with_items):
78 (ewk_context_menu_item_append):
79 (ewk_context_menu_item_remove):
80 (ewk_context_menu_hide):
81 (ewk_context_menu_items_get):
82 (ewk_context_menu_item_select):
83 * UIProcess/API/efl/ewk_context_menu_item.cpp:
84 (EwkContextMenuItem::EwkContextMenuItem):
85 (ewk_context_menu_item_new_with_submenu):
86 * UIProcess/API/efl/ewk_context_menu_item_private.h:
88 * UIProcess/API/efl/ewk_context_menu_private.h:
90 (EwkContextMenu::create):
91 * UIProcess/API/efl/ewk_defines.h:
93 2013-05-16 Andreas Kling <akling@apple.com>
95 Page::chrome() should return a reference.
96 <http://webkit.org/b/116185>
98 Reviewed by Anders Carlsson.
100 2013-05-16 Brady Eidson <beidson@apple.com>
102 svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
103 <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917
105 Reviewed by Sam Weinig.
107 * NetworkProcess/SchedulableLoader.cpp:
108 (WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or
109 that the client cannot be asked for credentials.
111 * WebProcess/Network/WebResourceLoadScheduler.cpp:
112 (WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage
113 if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
114 available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
115 a frame and page ID or that the client won’t be asked for credentials.
117 2013-05-16 Timothy Hatcher <timothy@apple.com>
119 Make the Find Banner in Safari work again with the docked Web Inspector.
121 https://webkit.org/b/116182
122 rdar://problem/13857423
124 Reviewed by Benjamin Poulain.
126 * UIProcess/mac/WebInspectorProxyMac.mm:
127 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
128 (WebKit::WebInspectorProxy::platformDetach):
129 Preserve the top position of the inspected view so banners in Safari still work.
131 2013-05-16 Tim Horton <timothy_horton@apple.com>
133 [wk2] didGetImageForFindMatch can return a null image
134 https://bugs.webkit.org/show_bug.cgi?id=116251
135 <rdar://problem/13277246>
137 Reviewed by Simon Fraser.
139 Don't send didGetImageForFindMatch if we didn't get an image for
140 the find match, which can happen if the selection is not visible.
142 * WebProcess/WebPage/FindController.cpp:
143 (WebKit::FindController::getImageForFindMatch):
145 2013-05-16 Tim Horton <timothy_horton@apple.com>
147 [wk2] Minimum layout width is lost if the WebProcess crashes
148 https://bugs.webkit.org/show_bug.cgi?id=116202
149 <rdar://problem/13202320>
151 Reviewed by Darin Adler.
153 Send the minimum layout width to the WebProcess upon initialization,
154 so that crashed-and-restarted WebProcesses have the correct width.
156 * Shared/WebPageCreationParameters.cpp:
157 (WebKit::WebPageCreationParameters::encode):
158 (WebKit::WebPageCreationParameters::decode):
159 * Shared/WebPageCreationParameters.h:
160 (WebPageCreationParameters):
161 Add minimumLayoutWidth WebPage creation parameter.
163 * UIProcess/WebPageProxy.cpp:
164 (WebKit::WebPageProxy::creationParameters):
165 Send the current minimumLayoutWidth to the WebPage when it's created.
167 (WebKit::WebPageProxy::setMinimumLayoutWidth):
168 Store minimumLayoutWidth changes that come in while the WebProcess is
169 not valid, so that the correct width is sent once it is restarted.
171 * WebProcess/WebPage/WebPage.cpp:
172 (WebKit::WebPage::WebPage):
173 Set minimumLayoutWidth to the value provided by our creation parameters.
175 2013-05-16 Zoltan Arvai <zarvai@inf.u-szeged.hu>
177 [Win] Unreviewed buildfix after r150161.
179 'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
180 because it is also defined in MS SDK 7.1 winioctl.h.
182 * UIProcess/InspectorServer/HTTPRequest.cpp:
183 (WebKit::HTTPRequest::HTTPRequest):
185 2013-05-16 Andras Becsi <andras.becsi@digia.com>
187 [WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard
188 https://bugs.webkit.org/show_bug.cgi?id=116018
190 Rubber-stamped by Jocelyn Turcotte.
192 * Shared/Plugins/Netscape/PluginInformation.cpp:
193 (WebKit::getPluginModuleInformation):
195 2013-05-15 Simon Cooper <scooper@apple.com>
197 Enable printing in plugins
198 https://bugs.webkit.org/show_bug.cgi?id=116201
199 <rdar://problem/12347902>
201 Reviewed by Alexey Proskuryakov.
203 Add the printing entitlement so that legacy printing drivers can
204 customize the print panel. Update the printing rules and enable them
207 * Configurations/PluginService.entitlements:
208 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
209 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
210 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
211 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
213 2013-05-15 Anders Carlsson <andersca@apple.com>
215 Move HTTPRequest class to WebKit2
216 https://bugs.webkit.org/show_bug.cgi?id=116192
218 Reviewed by Darin Adler.
220 Move HTTPRequest to WebKit2 and put it in the WebKit namespace.
223 * GNUmakefile.list.am:
225 * UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp.
226 * UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h.
227 * UIProcess/InspectorServer/WebInspectorServer.cpp:
228 * UIProcess/InspectorServer/WebInspectorServer.h:
229 (WebInspectorServer):
230 * UIProcess/InspectorServer/WebSocketServerClient.h:
231 (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
232 (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
233 (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
234 * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
235 * UIProcess/InspectorServer/WebSocketServerConnection.h:
237 (WebSocketServerConnection):
239 2013-05-15 Arnaud Renevier <a.renevier@sisa.samsung.com>
241 [GTK] [WebKit2] enable displaying console.log messages to system console
242 https://bugs.webkit.org/show_bug.cgi?id=115578
244 Reviewed by Martin Robinson.
246 Add a setting to enable/disable displaying of page messages to system
247 console. Property is called enable-write-console-messages-to-stdout.
248 Getter API function is
249 webkit_settings_get_enable_write_console_messages_to_stdout
250 Setter API function is
251 webkit_settings_set_enable_write_console_messages_to_stdout
253 * UIProcess/API/gtk/WebKitSettings.cpp:
254 (webKitSettingsSetProperty):
255 (webKitSettingsGetProperty):
256 (webkit_settings_class_init):
257 (webkit_settings_get_enable_write_console_messages_to_stdout):
258 (webkit_settings_set_enable_write_console_messages_to_stdout):
259 * UIProcess/API/gtk/WebKitSettings.h:
260 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
261 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
262 (testWebKitSettings):
264 2013-05-08 Gavin Barraclough <barraclough@apple.com>
266 Process suppression should throttle scripted animations
267 https://bugs.webkit.org/show_bug.cgi?id=115812
269 Reviewed by Simon Fraser.
271 <rdar://problem/13799726>
273 * WebProcess/WebPage/WebPage.cpp:
274 (WebKit::WebPage::setThrottled):
276 * WebProcess/WebPage/WebPage.h:
278 - Added setThrottled, forwards to WebCore::Page.
279 * WebProcess/WebProcess.cpp:
281 (WebKit::WebProcess::setProcessSuppressionEnabled):
282 * WebProcess/WebProcess.h:
284 - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
286 2013-05-15 Anders Carlsson <andersca@apple.com>
288 WKPageGetPluginInformationDisplayNameKey doesn't return the right key
289 https://bugs.webkit.org/show_bug.cgi?id=116188
291 Reviewed by Andreas Kling.
293 * UIProcess/API/C/WKPage.cpp:
294 (WKPageGetPluginInformationDisplayNameKey):
296 2013-05-15 Alexey Proskuryakov <ap@apple.com>
298 More fixing after WebProcessShim renaming in r149074.
300 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
301 (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
303 2013-05-15 Alexey Proskuryakov <ap@apple.com>
305 <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
308 Reviewed by Anders Carlsson.
310 * WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
312 2013-05-13 Anders Carlsson <andersca@apple.com>
314 Frame::editor() should return a reference
315 https://bugs.webkit.org/show_bug.cgi?id=116037
317 Reviewed by Darin Adler.
319 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
320 (WebKit::WebContextMenuClient::searchWithGoogle):
321 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
322 (WebKit::WebEditorClient::updateGlobalSelection):
323 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
324 (WebKit::WebEditorClient::handleInputMethodKeydown):
325 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
326 (WebKit::WebEditorClient::executePendingEditorCommands):
327 (WebKit::WebEditorClient::handleKeyboardEvent):
328 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
329 (WebKit::WebContextMenuClient::searchWithGoogle):
330 (WebKit::WebContextMenuClient::searchWithSpotlight):
331 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
332 (WebKit::changeWordCase):
333 * WebProcess/WebPage/WebFrame.cpp:
334 (WebKit::WebFrame::selectionAsString):
335 (WebKit::WebFrame::setTextDirection):
336 * WebProcess/WebPage/WebPage.cpp:
337 (WebKit::WebPage::editorState):
338 (WebKit::WebPage::executeEditingCommand):
339 (WebKit::WebPage::isEditingCommandEnabled):
340 (WebKit::WebPage::validateCommand):
341 (WebKit::WebPage::handleEditingKeyboardEvent):
342 (WebKit::WebPage::advanceToNextMisspelling):
343 (WebKit::WebPage::uppercaseWord):
344 (WebKit::WebPage::lowercaseWord):
345 (WebKit::WebPage::capitalizeWord):
346 (WebKit::WebPage::replaceSelectionWithText):
347 (WebKit::WebPage::handleAlternativeTextUIResult):
348 (WebKit::WebPage::setCompositionForTesting):
349 (WebKit::WebPage::hasCompositionForTesting):
350 (WebKit::WebPage::confirmCompositionForTesting):
351 (WebKit::WebPage::setComposition):
352 (WebKit::WebPage::cancelComposition):
353 * WebProcess/WebPage/efl/WebPageEfl.cpp:
354 (WebKit::WebPage::confirmComposition):
355 (WebKit::WebPage::setComposition):
356 (WebKit::WebPage::cancelComposition):
357 * WebProcess/WebPage/mac/WebPageMac.mm:
358 (WebKit::WebPage::executeKeypressCommandsInternal):
359 (WebKit::WebPage::handleEditingKeyboardEvent):
360 (WebKit::WebPage::setComposition):
361 (WebKit::WebPage::confirmComposition):
362 (WebKit::WebPage::cancelComposition):
363 (WebKit::WebPage::insertText):
364 (WebKit::WebPage::insertDictatedText):
365 (WebKit::WebPage::getMarkedRange):
366 (WebKit::WebPage::firstRectForCharacterRange):
367 (WebKit::WebPage::readSelectionFromPasteboard):
368 (WebKit::WebPage::getStringSelectionForPasteboard):
369 (WebKit::WebPage::getDataSelectionForPasteboard):
371 2013-05-15 Anders Carlsson <andersca@apple.com>
373 Need a way for NPAPI plug-ins to open preference panes
374 https://bugs.webkit.org/show_bug.cgi?id=116173
375 <rdar://problem/13503848>
377 Reviewed by Sam Weinig.
379 * PluginProcess/PluginControllerProxy.h:
380 Add openPluginPreferencePane().
382 * PluginProcess/mac/PluginControllerProxyMac.mm:
383 (WebKit::PluginControllerProxy::openPluginPreferencePane):
384 Send OpenPluginPreferencePane to the UI process.
386 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
387 (WebKit::NetscapePluginModule::getPluginInfo):
388 Get the preference pane path.
390 * Shared/Plugins/PluginModuleInfo.h:
391 Add preferencePanePath member variable.
393 * UIProcess/Plugins/PluginProcessProxy.h:
394 Add openPluginPreferencePane message handler.
396 * UIProcess/Plugins/PluginProcessProxy.messages.in:
397 ADd OpenPluginPreferencePane message.
399 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
400 (WebKit::PluginProcessProxy::openPluginPreferencePane):
401 Get the path to the preference pane and use LS to open it.
403 * WebKit2.xcodeproj/project.pbxproj:
406 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
407 (WebKit::NPN_GetValue):
408 Handle WKNVPlugInContainer.
410 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
411 Add WKNVPlugInContainer member variable.
413 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
414 (WebKit::NetscapePlugin::openPluginPreferencePane):
415 Call through to the plug-in controller.
417 (WebKit::NetscapePlugin::plugInContainer):
418 Create a WKNPAPIPlugInContainer object if necessary.
420 (WebKit::NetscapePlugin::platformDestroy):
421 Invalidate the WKNPAPIPlugInContainer object.
423 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:
424 New file with the protocol definition.
426 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
427 (-[WKNPAPIPlugInContainer dealloc]):
428 Assert that the plug-in is null (that we've been invalidated).
430 (-[WKNPAPIPlugInContainer _invalidate]):
431 Set the plug-in to null.
433 (-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
434 Call through to the plug-in.
436 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:
437 New file with the interface declaration for the object that implements the protocol.
439 * WebProcess/Plugins/PluginController.h:
440 Add openPluginPreferencePane member function.
442 * WebProcess/Plugins/PluginView.cpp:
443 (WebKit::PluginView::openPluginPreferencePane):
444 Add stub; this should never be called since we always go through the UI process.
446 2013-05-15 Alexey Proskuryakov <ap@apple.com>
448 [WK2][Mac] Split resetTextInputState into two functions
449 https://bugs.webkit.org/show_bug.cgi?id=116174
451 Reviewed by Anders Carlsson.
453 Splitting resetTextInputState into resetSecureInputState and
454 notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
455 won't be happening simultaneously.
457 * UIProcess/API/mac/PageClientImpl.h:
458 * UIProcess/API/mac/PageClientImpl.mm:
459 (WebKit::PageClientImpl::resetSecureInputState):
460 (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
461 * UIProcess/API/mac/WKView.mm:
462 (-[WKView resignFirstResponder]):
463 (-[WKView _resetSecureInputState]):
464 (-[WKView _notifyInputContextAboutDiscardedComposition]):
465 * UIProcess/API/mac/WKViewInternal.h:
466 * UIProcess/PageClient.h:
467 * UIProcess/WebPageProxy.cpp:
468 (WebKit::WebPageProxy::didCommitLoadForFrame):
470 2013-05-15 Carlos Garcia Campos <cgarcia@igalia.com>
472 [GTK] Add padding to all public class structs for future expansion without breaking ABI
473 https://bugs.webkit.org/show_bug.cgi?id=112565
475 Reviewed by Anders Carlsson.
477 Use 4 pointers for most of the classes that are unlikely to grow
478 and 8 for WebKitWebView and WebKitWebContext.
480 * UIProcess/API/gtk/WebKitBackForwardList.h:
481 (_WebKitBackForwardListClass):
482 * UIProcess/API/gtk/WebKitBackForwardListItem.h:
483 (_WebKitBackForwardListItemClass):
484 * UIProcess/API/gtk/WebKitContextMenu.h:
485 (_WebKitContextMenuClass):
486 * UIProcess/API/gtk/WebKitContextMenuItem.h:
487 (_WebKitContextMenuItemClass):
488 * UIProcess/API/gtk/WebKitCookieManager.h:
489 (_WebKitCookieManagerClass):
490 * UIProcess/API/gtk/WebKitDownload.h:
491 (_WebKitDownloadClass):
492 * UIProcess/API/gtk/WebKitFaviconDatabase.h:
493 (_WebKitFaviconDatabaseClass):
494 * UIProcess/API/gtk/WebKitFileChooserRequest.h:
495 (_WebKitFileChooserRequestClass):
496 * UIProcess/API/gtk/WebKitFindController.h:
497 (_WebKitFindControllerClass):
498 * UIProcess/API/gtk/WebKitFormSubmissionRequest.h:
499 (_WebKitFormSubmissionRequestClass):
500 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h:
501 (_WebKitGeolocationPermissionRequestClass):
502 * UIProcess/API/gtk/WebKitHitTestResult.h:
503 (_WebKitHitTestResultClass):
504 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
505 (_WebKitNavigationPolicyDecisionClass):
506 * UIProcess/API/gtk/WebKitPlugin.h:
507 (_WebKitPluginClass):
508 * UIProcess/API/gtk/WebKitPolicyDecision.h:
509 (_WebKitPolicyDecisionClass):
510 * UIProcess/API/gtk/WebKitPrintOperation.h:
511 (_WebKitPrintOperationClass):
512 * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
513 (_WebKitResponsePolicyDecisionClass):
514 * UIProcess/API/gtk/WebKitSecurityManager.h:
515 (_WebKitSecurityManagerClass):
516 * UIProcess/API/gtk/WebKitSettings.h:
517 (_WebKitSettingsClass):
518 * UIProcess/API/gtk/WebKitURIRequest.h:
519 (_WebKitURIRequestClass):
520 * UIProcess/API/gtk/WebKitURIResponse.h:
521 (_WebKitURIResponseClass):
522 * UIProcess/API/gtk/WebKitURISchemeRequest.h:
523 (_WebKitURISchemeRequestClass):
524 * UIProcess/API/gtk/WebKitWebContext.h:
525 (_WebKitWebContextClass):
526 * UIProcess/API/gtk/WebKitWebInspector.h:
527 (_WebKitWebInspectorClass):
528 * UIProcess/API/gtk/WebKitWebResource.h:
529 (_WebKitWebResourceClass):
530 * UIProcess/API/gtk/WebKitWebView.h:
531 (_WebKitWebViewClass):
532 * UIProcess/API/gtk/WebKitWebViewBase.h:
533 (_WebKitWebViewBaseClass):
534 * UIProcess/API/gtk/WebKitWebViewGroup.h:
535 (_WebKitWebViewGroupClass):
536 * UIProcess/API/gtk/WebKitWindowProperties.h:
537 (_WebKitWindowPropertiesClass):
539 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
541 Remove WTF_USE_PLATFORM_STRATEGIES
542 https://bugs.webkit.org/show_bug.cgi?id=114431
544 Reviewed by Darin Adler.
546 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
547 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
548 * WebProcess/WebProcess.cpp:
549 (WebKit::WebProcess::WebProcess):
551 2013-05-14 Simon Cooper <scooper@apple.com>
553 Add a preference that can disable the fake SYSV SHM shim
554 https://bugs.webkit.org/show_bug.cgi?id=116127
555 <rdar://problem/13810524>
557 Reviewed by Alexey Proskuryakov.
559 * PluginProcess/mac/PluginProcessShim.mm:
560 (WebKit::shim_disabled):
561 (WebKit::shim_shmdt):
562 (WebKit::shim_shmat):
563 (WebKit::shim_shmget):
564 (WebKit::shim_shmctl):
566 2013-05-14 Tim Horton <timothy_horton@apple.com>
568 [wk2] Not updating tiled backing coverage when main frame scrollability changes
569 https://bugs.webkit.org/show_bug.cgi?id=116123
570 <rdar://problem/13836559>
572 Reviewed by Simon Fraser.
574 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
575 (TiledCoreAnimationDrawingArea):
576 Add updateMainFrameClipsToExposedRect.
578 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
579 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
580 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
581 Remove m_clipsToExposedRect. We don't actually need it.
583 (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
584 Call updateMainFrameClipsToExposedRect so that we can always update
585 tiled backing coverage and can factor out our calls to setClipsToExposedRect.
587 (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
588 Factor out setClipsToExposedRect calls to here, and also call
589 FrameView::adjustTiledBackingCoverage so that the FrameView's tiled
590 backing is informed to allow overdraw in the UI-process-scrolling case.
592 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
593 Use updateMainFrameClipsToExposedRect.
595 2013-05-14 Alexey Proskuryakov <ap@apple.com>
597 [Mac] Add a testing shim for secure event input functions
598 https://bugs.webkit.org/show_bug.cgi?id=116122
600 Reviewed by Mark Rowe.
602 Moved DyldInterpose.h to WebCore, as we now use it there too.
604 * PluginProcess/mac/PluginProcessShim.mm:
605 * Shared/mac/CookieStorageShimLibrary.cpp:
606 * Shared/mac/DyldInterpose.h: Removed.
607 * WebKit2.xcodeproj/project.pbxproj:
608 * WebProcess/mac/SecItemShimLibrary.mm:
610 2013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
612 [Win] REGRESSION(r149944): mmap is not available on Windows
613 https://bugs.webkit.org/show_bug.cgi?id=116015
615 Reviewed by Anders Carlsson.
617 Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
618 using mmap is not necessary and maybe not available.
620 * Platform/CoreIPC/ArgumentEncoder.cpp:
621 (CoreIPC::allocBuffer):
622 (CoreIPC::freeBuffer):
623 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
624 (CoreIPC::ArgumentEncoder::grow):
626 2013-05-14 Zan Dobersek <zdobersek@igalia.com>
628 [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
629 https://bugs.webkit.org/show_bug.cgi?id=115921
631 Reviewed by Gustavo Noronha Silva.
633 * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.
635 2013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
637 [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
638 https://bugs.webkit.org/show_bug.cgi?id=116039
640 Reviewed by Benjamin Poulain.
642 According to the documentation, DeleteTimerQueueTimer can be expected to return
643 false with an ERROR_IO_PENDING error when called from the timer's callback.
645 * Platform/win/WorkQueueWin.cpp:
646 (WorkQueue::timerCallback):
648 2013-05-14 Alexey Proskuryakov <ap@apple.com>
650 Remove unused "type" field from DictionaryPopupInfo
651 https://bugs.webkit.org/show_bug.cgi?id=116011
653 Reviewed by Darin Adler.
655 It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.
657 * Shared/DictionaryPopupInfo.cpp:
658 (WebKit::DictionaryPopupInfo::encode):
659 (WebKit::DictionaryPopupInfo::decode):
660 * Shared/DictionaryPopupInfo.h:
661 * WebProcess/Plugins/PDF/PDFPlugin.mm:
662 (WebKit::PDFPlugin::showDefinitionForAttributedString):
663 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
664 (WebKit::WebContextMenuClient::lookUpInDictionary):
665 * WebProcess/WebPage/WebPage.h:
666 * WebProcess/WebPage/mac/WebPageMac.mm:
667 (WebKit::WebPage::performDictionaryLookupAtLocation):
668 (WebKit::WebPage::performDictionaryLookupForSelection):
669 (WebKit::WebPage::performDictionaryLookupForRange):
671 2013-05-14 Michael Brüning <michael.bruning@digia.com>
673 [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
674 https://bugs.webkit.org/show_bug.cgi?id=110218
676 Reviewed by Darin Adler.
678 Make the WebPageProxy::creationParameters use the accessor
679 deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor
680 directly. This will restore the custom device scale factor when
681 reattaching to the WebProcess after a crash.
683 Moreover, it will enable the Qt and ELF ports to use the
684 existing C API for overriding the device scale factor instead
685 of using the WebPageProxy directly or adding new C API to set
686 the intrinsic device scale factor.
688 * UIProcess/API/efl/EwkView.cpp:
689 (EwkView::setDeviceScaleFactor):
690 * UIProcess/API/qt/qquickwebpage.cpp:
691 (QQuickWebPage::updatePaintNode):
692 * UIProcess/WebPageProxy.cpp:
693 (WebKit::WebPageProxy::creationParameters):
695 2013-05-13 Alex Christensen <achristensen@apple.com>
697 Added testRunner.setPrinting.
698 https://bugs.webkit.org/show_bug.cgi?id=42693
699 rdar://problem/8213845
701 Reviewed by Darin Adler.
703 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
704 (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.
705 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
706 Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.
707 * WebProcess/WebPage/WebPage.cpp:
708 (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.
709 * WebProcess/WebPage/WebPage.h:
710 Added renderTreeExternalRepresentationForPrinting declaration.
712 2013-05-13 Timothy Hatcher <timothy@apple.com>
714 Add support for updating the Web Inspector toolbar height.
716 https://bugs.webkit.org/show_bug.cgi?id=115996
718 Reviewed by Joseph Pecoraro and Benjamin Poulain.
720 * UIProcess/WebInspectorProxy.h:
721 (WebKit::WebInspectorProxy::setToolbarHeight):
723 * UIProcess/WebInspectorProxy.messages.in:
724 * UIProcess/efl/WebInspectorProxyEfl.cpp:
725 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
726 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
727 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
729 * UIProcess/mac/WebInspectorProxyMac.mm:
730 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
731 * UIProcess/qt/WebInspectorProxyQt.cpp:
732 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
733 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
734 (WebKit::WebInspectorFrontendClient::setToolbarHeight):
735 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
736 (WebInspectorFrontendClient):
737 * WebProcess/WebPage/WebInspector.cpp:
738 (WebKit::WebInspector::setToolbarHeight):
739 * WebProcess/WebPage/WebInspector.h:
741 2013-05-13 Ryosuke Niwa <rniwa@webkit.org>
743 Sometimes NSUndoManager can get into an inconsistent state
744 https://bugs.webkit.org/show_bug.cgi?id=116050
746 Reviewed by Enrica Casucci.
748 Always group undo items to work around a bug in NSUndoManager that manifests
749 when we call removeAllActionsWithTarget.
751 * UIProcess/API/mac/PageClientImpl.mm:
752 (WebKit::PageClientImpl::registerEditCommand):
754 2013-05-13 Anders Carlsson <andersca@apple.com>
756 [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
757 https://bugs.webkit.org/show_bug.cgi?id=116026
759 Reviewed by Andreas Kling.
761 Make sure that we ignore any leftover messages from the UI process after we've reset
762 the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
763 everytime the map is reset. Associate every storage area change with the seed and ignore any incoming
764 notification messages from the UI process if the seeds are different.
766 * Platform/CoreIPC/HandleMessage.h:
768 (CoreIPC::callMemberFunction):
769 * UIProcess/Storage/StorageManager.cpp:
770 (WebKit::StorageManager::getValues):
771 (WebKit::StorageManager::setItem):
772 (WebKit::StorageManager::removeItem):
773 (WebKit::StorageManager::clear):
774 * UIProcess/Storage/StorageManager.h:
776 * UIProcess/Storage/StorageManager.messages.in:
777 * WebProcess/Storage/StorageAreaMap.cpp:
778 (WebKit::StorageAreaMap::StorageAreaMap):
779 (WebKit::StorageAreaMap::setItem):
780 (WebKit::StorageAreaMap::removeItem):
781 (WebKit::StorageAreaMap::clear):
782 (WebKit::StorageAreaMap::resetValues):
783 (WebKit::StorageAreaMap::loadValuesIfNeeded):
784 (WebKit::StorageAreaMap::didGetValues):
785 (WebKit::StorageAreaMap::didSetItem):
786 (WebKit::StorageAreaMap::didRemoveItem):
787 (WebKit::StorageAreaMap::didClear):
788 (WebKit::StorageAreaMap::applyChange):
789 * WebProcess/Storage/StorageAreaMap.h:
791 * WebProcess/Storage/StorageAreaMap.messages.in:
793 2013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
795 [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
796 https://bugs.webkit.org/show_bug.cgi?id=116045
798 Reviewed by Darin Adler.
800 * UIProcess/CoordinatedGraphics/WebView.cpp:
801 (WebKit::WebView::setSize):
803 2013-05-13 Jon Lee <jonlee@apple.com>
805 [WK2] Notification manager removal should not be tied to termination of web processes
806 https://bugs.webkit.org/show_bug.cgi?id=116038
807 <rdar://problem/10968680>
809 Reviewed by Ryosuke Niwa.
811 WebNotificationManagerProxy incorrectly removes the manager when web processes close.
812 Since it is a supplemental on the web context, the manager should only be removed
813 when the context is destroyed.
815 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
816 * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
819 2013-05-13 Martin Robinson <mrobinson@igalia.com>
821 [GTK] [WebKit2] Use a template file for generated GObject enum files
822 https://bugs.webkit.org/show_bug.cgi?id=115867
824 Reviewed by Carlos Garcia Campos.
826 * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
827 * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
828 * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
829 * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
831 2013-05-13 Noam Rosenthal <noam@webkit.org>
833 [CoordGfx] requestAnimationFrame performance issues
834 https://bugs.webkit.org/show_bug.cgi?id=112345
836 Reviewed by Jocelyn Turcotte.
838 Changed the logic of requestAnimationFrame in Coordinated Graphics.
839 We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:
840 - If there is already a frame pending in the UI process, do nothing, as the animations would
841 be serviced when the frame is returned to the web process.
842 - If there is no frame pending, we schedule a flush, making sure that that flush occurs at
843 least 1/60 seconds after the last animation service, so that we don't get an infinite loop
846 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
847 (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
848 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
849 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
850 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
851 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
852 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
853 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
854 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
856 2013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
858 [WK2][CoordinatedGraphics] WKView needs API for handling opacity
859 https://bugs.webkit.org/show_bug.cgi?id=116032
861 Reviewed by Kenneth Rohde Christiansen.
863 Add WKViewSetOpacity and WKViewOpacity APIs and use them in
866 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
869 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
870 * UIProcess/CoordinatedGraphics/WebView.cpp:
871 (WebKit::WebView::WebView):
872 (WebKit::WebView::paintToCurrentGLContext):
873 * UIProcess/CoordinatedGraphics/WebView.h:
874 (WebKit::WebView::setOpacity):
875 (WebKit::WebView::opacity):
878 2013-05-13 Zan Dobersek <zdobersek@igalia.com>
880 [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
881 https://bugs.webkit.org/show_bug.cgi?id=115918
883 Reviewed by Gustavo Noronha Silva.
885 Due to layer violations and circular dependencies the WebKitPluginProcess requires for the
886 libraries containing the built code of the intertwining Platform and WebCore layers to be
887 specified multiple times when linking. This can be avoided by packing the two layers' archives
888 into one big archive, named after the WebCore layer due to no clear boundary between it and the
889 Platform layer. The big archive can then be specified only once when linking, simplifying the code
890 and suppressing all the layering violations so they do not cause build problems.
892 First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on
893 are specified. These are then used as dependencies for the archive creation rule as well as the list
894 from which the archive file paths are constructed and then used to dump the member files from these archives.
895 The member files are then added to the big archive. The latter is added to the list of libraries the
896 WebKitPluginProcess requires to successfully link.
900 2013-05-13 Zalan Bujtas <zalan@apple.com>
902 WebProcess consuming very high CPU on linkedin.com
903 https://bugs.webkit.org/show_bug.cgi?id=115601
905 Reviewed by Andreas Kling.
907 Disable WEB_TIMING_MINIMAL.
908 Turn off window.performance and performance.now(). Some JS frameworks expect
909 additional Web Timing APIs, when performance.now() is available.
911 * Configurations/FeatureDefines.xcconfig:
913 2013-05-12 Anders Carlsson <andersca@apple.com>
915 Stop including UnusedParam.h
916 https://bugs.webkit.org/show_bug.cgi?id=116003
918 Reviewed by Sam Weinig.
920 UnusedParam.h is empty now so there's no need to include it anymore.
922 * UIProcess/API/C/WKContext.cpp:
923 * UIProcess/API/C/WKInspector.cpp:
924 * UIProcess/API/C/WKPage.cpp:
925 * UIProcess/API/efl/ewk_text_checker.cpp:
926 * UIProcess/API/efl/ewk_view.cpp:
927 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
928 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
929 * UIProcess/mac/WKFullScreenWindowController.mm:
930 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
931 * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
933 2013-05-12 Andreas Kling <akling@apple.com>
935 Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
936 <http://webkit.org/b/115988>
937 <rdar://problem/13870943>
939 Reviewed by Anders Carlsson.
941 Let WebCore control the UI process's suppression of the sudden termination mechanism.
942 This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
943 over to the UI process where the appropriate NSProcessInfo calls are made.
945 We also use this information when deciding whether to insta-kill a web process when its last
946 page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
949 * UIProcess/WebProcessProxy.cpp:
950 (WebKit::WebProcessProxy::WebProcessProxy):
951 (WebKit::WebProcessProxy::removeWebPage):
952 (WebKit::WebProcessProxy::enableSuddenTermination):
953 (WebKit::WebProcessProxy::disableSuddenTermination):
954 * UIProcess/WebProcessProxy.h:
956 * UIProcess/WebProcessProxy.messages.in:
957 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
958 (WebKit::WebChromeClient::enableSuddenTermination):
959 (WebKit::WebChromeClient::disableSuddenTermination):
960 * WebProcess/WebCoreSupport/WebChromeClient.h:
963 2013-05-12 Alexey Proskuryakov <ap@apple.com>
965 <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.
967 Reviewed by Dan Bernstein.
969 * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
971 2013-05-12 Carlos Garcia Campos <cgarcia@igalia.com>
973 [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
974 https://bugs.webkit.org/show_bug.cgi?id=115914
976 Reviewed by Martin Robinson.
978 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
979 (webkitWebViewBaseRealize):
981 2013-05-12 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
983 Unreviewed build fix after r149944.
985 * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
987 2013-05-11 Anders Carlsson <andersca@apple.com>
989 Don't pass malloced pointers as out-of-line data when sending Mach messages
990 https://bugs.webkit.org/show_bug.cgi?id=115970
991 <rdar://problem/13144680>
993 Reviewed by Sam Weinig.
995 Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
996 since that gives us fresh zero-filled memory that we can safely share.
998 * Platform/CoreIPC/ArgumentEncoder.cpp:
999 (CoreIPC::ArgumentEncoder::ArgumentEncoder):
1000 Set up the buffer pointers to point to the inline buffer.
1002 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1003 Unmap the buffer if necessary.
1005 (CoreIPC::ArgumentEncoder::grow):
1006 Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
1007 current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
1008 or big in which case we'll end up doing less allocations + memory copying.
1010 * Platform/CoreIPC/ArgumentEncoder.h:
1013 2013-05-11 Zan Dobersek <zdobersek@igalia.com>
1015 Unreviewed GTK build fix after r149904.
1017 * GNUmakefile.list.am: Adding missing build targets.
1019 2013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
1021 Unreviewed, Fix WK2 EFL build after r149904.
1023 Add new PluginInformation.cpp file to CMake.
1027 2013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
1029 Unreviewed, fix WK2 EFL build after r149904.
1031 Add new WKPluginInformation.cpp file to CMake.
1035 2013-05-11 Andreas Kling <akling@apple.com>
1037 When possible, terminate web processes immediately when closing their last page.
1038 <http://webkit.org/b/115964>
1039 <rdar://problem/13869266>
1041 Reviewed by Geoffrey Garen.
1043 When we're using a network process, there's no need for the UI process to wait for web processes
1044 to clear resource caches and terminate nicely.
1046 We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.
1048 * UIProcess/WebProcessProxy.cpp:
1049 (WebKit::WebProcessProxy::removeWebPage):
1051 Terminate the child process immediately if possible.
1053 * UIProcess/WebProcessProxy.h:
1054 (WebKit::WebProcessProxy::canTerminateChildProcess):
1055 (WebKit::WebProcessProxy::shouldTerminate):
1057 Broke out the logic from the shouldTerminate() IPC message handler into a separate function
1058 so we can call it from removeWebPage().
1060 2013-05-11 Anders Carlsson <andersca@apple.com>
1062 Crash when terminating a process that has not been fully launched
1063 https://bugs.webkit.org/show_bug.cgi?id=115962
1064 <rdar://problem/13660916>
1066 Reviewed by Andreas Kling.
1068 Handle terminating a process that has not been fully launched.
1070 * UIProcess/Launcher/ProcessLauncher.cpp:
1071 (WebKit::ProcessLauncher::didFinishLaunchingProcess):
1072 If we have been invalidated, dispose the connection identifier.
1074 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1075 (WebKit::ProcessLauncher::terminateProcess):
1076 If we're still launching the process, invalidate so the client won't get an unexpected
1077 didFinishLaunching callback.
1079 * UIProcess/WebProcessProxy.cpp:
1080 (WebKit::WebProcessProxy::requestTermination):
1081 Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).
1083 2013-05-10 Brian J. Burg <burg@cs.washington.edu>
1085 Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
1086 https://bugs.webkit.org/show_bug.cgi?id=115564
1088 Reviewed by Benjamin Poulain.
1090 Implement InspectorFrontendHost's save() and append() methods for
1091 Mac WebKit2. Add canSave() for all ports.
1093 * UIProcess/WebInspectorProxy.cpp:
1094 (WebKit::WebInspectorProxy::save):
1096 (WebKit::WebInspectorProxy::append):
1097 * UIProcess/WebInspectorProxy.h:
1098 (WebInspectorProxy):
1099 * UIProcess/WebInspectorProxy.messages.in:
1100 * UIProcess/efl/WebInspectorProxyEfl.cpp:
1101 (WebKit::WebInspectorProxy::platformSave):
1103 (WebKit::WebInspectorProxy::platformAppend):
1104 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1105 (WebKit::WebInspectorProxy::platformSave):
1107 (WebKit::WebInspectorProxy::platformAppend):
1108 * UIProcess/mac/WebInspectorProxyMac.mm:
1109 (WebKit::WebInspectorProxy::platformSave):
1111 (WebKit::WebInspectorProxy::platformAppend):
1112 * UIProcess/qt/WebInspectorProxyQt.cpp:
1113 (WebKit::WebInspectorProxy::platformSave):
1115 (WebKit::WebInspectorProxy::platformAppend):
1116 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1117 (WebKit::WebInspectorFrontendClient::canSave):
1119 (WebKit::WebInspectorFrontendClient::save):
1120 (WebKit::WebInspectorFrontendClient::append):
1121 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1122 (WebInspectorFrontendClient):
1123 * WebProcess/WebPage/WebInspector.cpp:
1124 (WebKit::WebInspector::save):
1126 (WebKit::WebInspector::append):
1127 (WebKit::WebInspector::didSave):
1128 (WebKit::WebInspector::didAppend):
1129 * WebProcess/WebPage/WebInspector.h:
1131 * WebProcess/WebPage/WebInspector.messages.in:
1132 * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
1133 (WebKit::WebInspector::canSave):
1135 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
1136 (WebKit::WebInspector::canSave):
1138 * WebProcess/WebPage/mac/WebInspectorMac.mm:
1139 (WebKit::WebInspector::canSave):
1141 * WebProcess/WebPage/qt/WebInspectorQt.cpp:
1142 (WebKit::WebInspector::canSave):
1145 2013-05-10 Remy Demarest <rdemarest@apple.com>
1147 Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
1148 https://bugs.webkit.org/show_bug.cgi?id=115940
1150 Reviewed by Darin Adler.
1152 * WebKit2.xcodeproj/project.pbxproj:
1153 Move WKPluginInformation.h file from the framework's Project Headers to
1156 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1158 [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
1162 2013-05-10 Simon Cooper <scooper@apple.com>
1164 Fix AppleConnect issues for WiFi interfaces
1165 <rdar://problem/13776227&13776240&13776281>
1166 https://bugs.webkit.org/show_bug.cgi?id=115932
1168 Reviewed by Alexey Proskuryakov.
1170 Add support for WiFi interfaces for the AppleConnect plugin.
1173 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
1175 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1177 [Qt][Mac] Unreviewed speculative build fix after r149904.
1181 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1183 [Qt] Unreviewed buildfix after r149904.
1187 2013-05-09 Sam Weinig <sam@webkit.org>
1189 Unify plug-in information dictionaries
1190 <rdar://problem/13852080>
1191 https://bugs.webkit.org/show_bug.cgi?id=115891
1193 Reviewed by Anders Carlsson.
1195 This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
1196 and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
1198 All the old keys will continue to work, but have been deprecated in favor of new keys defined in
1199 WKPluginInformation.h
1201 * Shared/API/c/WKPluginInformation.cpp: Added.
1202 * Shared/API/c/WKPluginInformation.h: Added.
1203 Export new keys as SPI.
1205 * Shared/Plugins/Netscape/PluginInformation.h: Added.
1206 * Shared/Plugins/Netscape/PluginInformation.cpp: Added.
1207 (WebKit::pluginInformationBundleIdentifierKey):
1208 (WebKit::pluginInformationBundleVersionKey):
1209 (WebKit::pluginInformationPathKey):
1210 (WebKit::pluginInformationDisplayNameKey):
1211 (WebKit::pluginInformationDefaultLoadPolicyKey):
1212 (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
1213 (WebKit::pluginInformationHasSandboxProfileKey):
1214 (WebKit::pluginInformationFrameURLKey):
1215 (WebKit::pluginInformationMIMETypeKey):
1216 (WebKit::pluginInformationPageURLKey):
1217 (WebKit::pluginInformationPluginspageAttributeURLKey):
1218 (WebKit::pluginInformationPluginURLKey):
1221 (WebKit::pluginModuleInformation):
1222 (WebKit::createPluginInformationDictionary):
1223 Add creation functions to simplify multiple sites.
1225 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
1226 (WebKit::platformPluginModuleInformation):
1227 Add platform specific data to the dictionary.
1229 * UIProcess/API/C/WKPage.cpp:
1230 (WKPageGetPluginInformationBundleIdentifierKey):
1231 (WKPageGetPluginInformationBundleVersionKey):
1232 (WKPageGetPluginInformationDisplayNameKey):
1233 (WKPageGetPluginInformationFrameURLKey):
1234 (WKPageGetPluginInformationMIMETypeKey):
1235 (WKPageGetPluginInformationPageURLKey):
1236 (WKPageGetPluginInformationPluginspageAttributeURLKey):
1237 (WKPageGetPluginInformationPluginURLKey):
1238 * UIProcess/API/C/WKPage.h:
1239 Deprecate the old keys.
1241 * UIProcess/API/C/mac/WKContextPrivateMac.h:
1242 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1243 (WKContextCopyPlugInInfoForBundleIdentifier):
1244 (WKContextGetInfoForInstalledPlugIns):
1245 Simplify by using the new createPluginInformationDictionary functions.
1247 (WKPlugInInfoPathKey):
1248 (WKPlugInInfoBundleIdentifierKey):
1249 (WKPlugInInfoVersionKey):
1250 (WKPlugInInfoLoadPolicyKey):
1251 (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
1252 (WKPlugInInfoIsSandboxedKey):
1253 Deprecate the old keys.
1255 * UIProcess/WebLoaderClient.cpp:
1256 (WebKit::WebLoaderClient::didFailToInitializePlugin):
1257 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1258 (WebKit::WebLoaderClient::pluginLoadPolicy):
1259 * UIProcess/WebLoaderClient.h:
1260 * UIProcess/WebUIClient.cpp:
1261 (WebKit::WebUIClient::unavailablePluginButtonClicked):
1262 * UIProcess/WebUIClient.h:
1263 Optimize for the most recent callback type which takes a dictionary,
1264 and pull out the necessary bits from it for deprecated callbacks as necessary.
1266 * UIProcess/WebPageProxy.h:
1267 * UIProcess/WebPageProxy.cpp:
1268 (WebKit::WebPageProxy::findPlugin):
1269 (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1270 (WebKit::WebPageProxy::didFailToInitializePlugin):
1271 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1272 Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.
1274 * WebKit2.xcodeproj/project.pbxproj:
1277 2013-05-10 Brian J. Burg <burg@cs.washington.edu>
1279 Web Inspector: implement runOpenPanel callback for WebKit2 inspector
1280 https://bugs.webkit.org/show_bug.cgi?id=115865
1282 Reviewed by Sam Weinig.
1284 * UIProcess/WebInspectorProxy.h:
1285 (WebKit::WebInspectorProxy::inspectorWindow):
1286 Add an accessor for m_inspectorWindow.
1288 * UIProcess/mac/WebInspectorProxyMac.mm:
1289 (WebKit::runOpenPanel):
1290 Show the open panel dialog when requested.
1292 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1293 Register the callback when the inspector page is created.
1295 2013-05-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1297 [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
1298 https://bugs.webkit.org/show_bug.cgi?id=115928
1300 Reviewed by Kenneth Rohde Christiansen.
1302 WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.
1304 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1305 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1306 * UIProcess/API/C/efl/WKViewEfl.cpp:
1307 (WKViewSetThemePath):
1308 * UIProcess/API/C/efl/WKViewEfl.h:
1309 * UIProcess/CoordinatedGraphics/WebView.cpp:
1310 * UIProcess/CoordinatedGraphics/WebView.h:
1312 * UIProcess/efl/ViewClientEfl.cpp:
1313 * UIProcess/efl/WebInspectorProxyEfl.cpp:
1314 * UIProcess/efl/WebViewEfl.cpp:
1315 (WebKit::WebViewEfl::setThemePath):
1316 * UIProcess/efl/WebViewEfl.h:
1319 2013-05-10 Jer Noble <jer.noble@apple.com>
1321 REGRESSION (r149439): Video turns blank upon entering full screen for the first time
1322 https://bugs.webkit.org/show_bug.cgi?id=115617
1324 Reviewed by Eric Carlson.
1326 Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these
1327 platforms, create a window with a NSZeroSize initial frame, which fixes the "blank"
1328 first-full screen behavior.
1330 * UIProcess/API/mac/WKView.mm:
1331 (-[WKView createFullScreenWindow]):
1333 2013-05-10 Zan Dobersek <zdobersek@igalia.com>
1335 [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
1336 https://bugs.webkit.org/show_bug.cgi?id=115717
1338 Reviewed by Andreas Kling.
1340 WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
1341 by the WebProcess. This removes the need for the m_soupRequestManager member variable in
1342 the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
1343 of which instances are controlled by the WebProcess class.
1345 * WebProcess/WebProcess.cpp:
1346 (WebKit::WebProcess::WebProcess): Add the WebSoupRequestManager as a supplement.
1347 * WebProcess/WebProcess.h:
1348 (WebProcess): Remove the m_soupRequestManager member variable and its getter method.
1349 * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
1350 (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
1351 (webkitSoupRequestGenericSendFinish): Ditto.
1352 * WebProcess/soup/WebProcessSoup.cpp:
1353 (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
1354 * WebProcess/soup/WebSoupRequestManager.cpp:
1355 (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
1356 * WebProcess/soup/WebSoupRequestManager.h:
1357 (WebSoupRequestManager): Inherit from the WebProcessSupplement interface.
1359 2013-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
1361 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
1362 https://bugs.webkit.org/show_bug.cgi?id=115904
1364 Reviewed by Martin Robinson.
1366 * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
1367 (startTestServerMonitor):
1368 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
1369 (startTestServerMonitor):
1371 2013-05-09 Anders Carlsson <andersca@apple.com>
1375 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
1377 2013-05-09 Anders Carlsson <andersca@apple.com>
1379 Enable UI process storage
1380 https://bugs.webkit.org/show_bug.cgi?id=115879
1381 <rdar://problem/12239765>
1383 Reviewed by Beth Dakin.
1385 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1388 2013-05-09 Anders Carlsson <andersca@apple.com>
1390 Remove extra spaces between right angle brackets in template declarations
1391 https://bugs.webkit.org/show_bug.cgi?id=115877
1393 Reviewed by Beth Dakin.
1395 C++11 doesn't require spaces between right angle brackets so remove all of them.
1397 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
1398 (WebKit::NetworkBlobRegistry::registerBlobURL):
1399 (WebKit::NetworkBlobRegistry::sandboxExtensions):
1400 * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
1401 (NetworkBlobRegistry):
1402 * NetworkProcess/HostRecord.h:
1404 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1405 (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
1406 (WebKit::NetworkConnectionToWebProcess::didClose):
1407 (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
1408 * NetworkProcess/NetworkConnectionToWebProcess.h:
1409 (NetworkConnectionToWebProcess):
1410 * NetworkProcess/NetworkProcess.h:
1412 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1413 (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
1414 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
1415 * NetworkProcess/NetworkResourceLoadScheduler.h:
1416 * NetworkProcess/SchedulableLoader.cpp:
1417 (WebKit::SchedulableLoader::SchedulableLoader):
1418 * NetworkProcess/SchedulableLoader.h:
1419 (SchedulableLoader):
1420 * Platform/CoreIPC/ArgumentCoders.h:
1421 * Platform/CoreIPC/Connection.cpp:
1422 (Connection::SyncMessageState):
1423 (CoreIPC::Connection::waitForMessage):
1424 (CoreIPC::Connection::processIncomingMessage):
1425 * Platform/CoreIPC/Connection.h:
1427 * Platform/WorkQueue.h:
1429 * PluginProcess/PluginProcess.h:
1431 * Scripts/webkit2/messages_unittest.py:
1433 * Shared/BlockingResponseMap.h:
1434 (BlockingResponseMap):
1435 * Shared/ChildProcessProxy.h:
1436 (ChildProcessProxy):
1437 * Shared/ImmutableArray.cpp:
1438 (WebKit::ImmutableArray::ImmutableArray):
1439 * Shared/ImmutableArray.h:
1440 (WebKit::ImmutableArray::adopt):
1442 * Shared/ImmutableDictionary.cpp:
1443 (WebKit::ImmutableDictionary::keys):
1444 * Shared/ImmutableDictionary.h:
1445 (ImmutableDictionary):
1446 * Shared/Network/CustomProtocols/CustomProtocolManager.h:
1447 (CustomProtocolManager):
1448 * Shared/SecurityOriginData.cpp:
1449 (WebKit::performAPICallbackWithSecurityOriginDataVector):
1450 * Shared/SessionState.cpp:
1451 * Shared/StatisticsData.h:
1453 * Shared/UserMessageCoders.h:
1454 (WebKit::UserMessageDecoder::baseDecode):
1455 * Shared/WebArchive.cpp:
1456 (WebKit::WebArchive::WebArchive):
1457 (WebKit::WebArchive::subresources):
1458 (WebKit::WebArchive::subframeArchives):
1459 * Shared/WebContextMenuItem.cpp:
1460 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
1461 * Shared/WebOpenPanelParameters.cpp:
1462 (WebKit::WebOpenPanelParameters::acceptMIMETypes):
1463 (WebKit::WebOpenPanelParameters::selectedFileNames):
1464 * Shared/mac/ArgumentCodersMac.mm:
1466 * SharedWorkerProcess/SharedWorkerProcess.h:
1467 (SharedWorkerProcess):
1468 * UIProcess/API/mac/WKPrintingView.h:
1470 * UIProcess/API/mac/WKPrintingView.mm:
1471 (-[WKPrintingView _drawPreview:]):
1472 * UIProcess/API/mac/WKView.mm:
1474 * UIProcess/Downloads/DownloadProxyMap.cpp:
1475 (WebKit::DownloadProxyMap::processDidClose):
1476 * UIProcess/Downloads/DownloadProxyMap.h:
1478 * UIProcess/GeolocationPermissionRequestManagerProxy.h:
1479 (GeolocationPermissionRequestManagerProxy):
1480 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
1481 (DynamicLinkerEnvironmentExtractor):
1482 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
1483 (CustomProtocolManagerProxy):
1484 * UIProcess/Network/NetworkProcessProxy.h:
1485 (NetworkProcessProxy):
1486 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
1487 (NotificationPermissionRequestManagerProxy):
1488 * UIProcess/Notifications/WebNotificationManagerProxy.h:
1489 (WebNotificationManagerProxy):
1490 * UIProcess/Plugins/PluginProcessManager.h:
1491 (PluginProcessManager):
1492 * UIProcess/Plugins/PluginProcessProxy.h:
1493 (PluginProcessProxy):
1494 * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
1495 (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
1496 * UIProcess/Plugins/WebPluginSiteDataManager.h:
1497 (WebPluginSiteDataManager):
1498 * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
1499 (SharedWorkerProcessManager):
1500 * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
1501 (SharedWorkerProcessProxy):
1502 * UIProcess/StatisticsRequest.cpp:
1503 (WebKit::StatisticsRequest::completedRequest):
1504 * UIProcess/Storage/StorageManager.cpp:
1505 (StorageManager::StorageArea):
1506 (WebKit::StorageManager::StorageArea::dispatchEvents):
1507 (StorageManager::SessionStorageNamespace):
1508 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
1509 (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
1510 (WebKit::StorageManager::createLocalStorageMap):
1511 (WebKit::StorageManager::createSessionStorageMap):
1512 (WebKit::StorageManager::destroyStorageMap):
1513 (WebKit::StorageManager::invalidateConnectionInternal):
1514 (WebKit::StorageManager::findStorageArea):
1515 (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
1516 * UIProcess/Storage/StorageManager.h:
1518 * UIProcess/WebApplicationCacheManagerProxy.h:
1519 (WebApplicationCacheManagerProxy):
1520 * UIProcess/WebBackForwardList.cpp:
1521 (WebKit::WebBackForwardList::addItem):
1522 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
1523 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
1524 (WebKit::WebBackForwardList::clear):
1525 * UIProcess/WebBackForwardList.h:
1527 * UIProcess/WebContext.cpp:
1528 (WebKit::WebContext::createNewWebProcess):
1529 (WebKit::WebContext::enableProcessTermination):
1530 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
1531 * UIProcess/WebContext.h:
1533 * UIProcess/WebCookieManagerProxy.cpp:
1534 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
1535 * UIProcess/WebCookieManagerProxy.h:
1536 (WebCookieManagerProxy):
1537 * UIProcess/WebDatabaseManagerProxy.cpp:
1538 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
1539 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
1540 * UIProcess/WebDatabaseManagerProxy.h:
1541 (WebDatabaseManagerProxy):
1542 * UIProcess/WebFormClient.cpp:
1543 (WebKit::WebFormClient::willSubmitForm):
1544 * UIProcess/WebFormClient.h:
1546 * UIProcess/WebKeyValueStorageManagerProxy.h:
1547 (WebKeyValueStorageManagerProxy):
1548 * UIProcess/WebLoaderClient.cpp:
1549 (WebKit::WebLoaderClient::didChangeBackForwardList):
1550 * UIProcess/WebLoaderClient.h:
1552 * UIProcess/WebMediaCacheManagerProxy.cpp:
1553 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
1554 * UIProcess/WebMediaCacheManagerProxy.h:
1555 (WebMediaCacheManagerProxy):
1556 * UIProcess/WebPageContextMenuClient.cpp:
1557 (WebKit::WebPageContextMenuClient::showContextMenu):
1558 * UIProcess/WebPageProxy.cpp:
1559 (ExceededDatabaseQuotaRecords):
1560 (WebKit::WebPageProxy::relatedPages):
1561 (WebKit::WebPageProxy::didChangeBackForwardList):
1562 (WebKit::WebPageProxy::handleWheelEvent):
1563 (WebKit::WebPageProxy::processNextQueuedWheelEvent):
1564 (WebKit::WebPageProxy::findStringMatches):
1565 (WebKit::WebPageProxy::willSubmitForm):
1566 (WebKit::WebPageProxy::pluginInformationDictionary):
1567 (WebKit::WebPageProxy::didFindStringMatches):
1568 (WebKit::WebPageProxy::didReceiveEvent):
1569 * UIProcess/WebPageProxy.h:
1571 * UIProcess/WebPageProxy.messages.in:
1572 * UIProcess/WebProcessProxy.cpp:
1573 (WebKit::WebProcessProxy::disconnect):
1574 (WebKit::WebProcessProxy::didClose):
1575 (WebKit::WebProcessProxy::didBecomeUnresponsive):
1576 (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
1577 (WebKit::WebProcessProxy::didBecomeResponsive):
1578 (WebKit::WebProcessProxy::disconnectFramesFromPage):
1579 (WebKit::WebProcessProxy::frameCountInPage):
1580 * UIProcess/WebProcessProxy.h:
1582 * UIProcess/WebResourceCacheManagerProxy.h:
1583 (WebResourceCacheManagerProxy):
1584 * UIProcess/mac/WebContextMenuProxyMac.mm:
1585 (WebKit::populateNSMenu):
1586 (WebKit::nsMenuItemVector):
1587 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
1588 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
1589 * WebProcess/Geolocation/WebGeolocationManager.cpp:
1590 (WebKit::WebGeolocationManager::didChangePosition):
1591 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
1592 * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
1593 (WebIconDatabaseProxy):
1594 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
1595 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1596 (WebKit::InjectedBundle::originsWithApplicationCache):
1597 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
1598 (WebKit::InjectedBundleBackForwardListItem::children):
1599 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
1600 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
1601 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
1602 (InjectedBundlePageEditorClient):
1603 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1604 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
1605 (WebKit::InjectedBundlePageFormClient::willSubmitForm):
1606 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
1607 (InjectedBundlePageFormClient):
1608 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1609 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
1610 * WebProcess/Network/WebResourceLoadScheduler.cpp:
1611 (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
1612 (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
1613 * WebProcess/Network/WebResourceLoadScheduler.h:
1614 (WebResourceLoadScheduler):
1615 * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1616 (NotificationPermissionRequestManager):
1617 * WebProcess/Notifications/WebNotificationManager.h:
1618 (WebNotificationManager):
1619 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1620 (WebKit::NPRuntimeObjectMap::invalidate):
1621 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1622 (NPRuntimeObjectMap):
1623 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1624 (WebKit::NetscapePlugin::stopAllStreams):
1625 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1627 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1628 (NetscapePluginStream):
1629 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
1630 (getAllScriptsInPDFDocument):
1631 (WebKit::SimplePDFPlugin::runScriptsInPDFDocument):
1632 * WebProcess/Plugins/PluginProcessConnectionManager.h:
1633 (PluginProcessConnectionManager):
1634 * WebProcess/Plugins/PluginView.cpp:
1635 (WebKit::PluginView::cancelAllStreams):
1636 * WebProcess/Plugins/PluginView.h:
1638 * WebProcess/Storage/StorageAreaMap.cpp:
1639 (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
1640 (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
1641 * WebProcess/Storage/StorageNamespaceImpl.cpp:
1642 (WebKit::StorageNamespaceImpl::storageArea):
1643 * WebProcess/Storage/StorageNamespaceImpl.h:
1644 (StorageNamespaceImpl):
1645 * WebProcess/Storage/WebKeyValueStorageManager.cpp:
1646 (WebKit::keyValueStorageOriginIdentifiers):
1647 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
1648 (WebKit::WebDatabaseManager::getDatabasesByOrigin):
1649 (WebKit::WebDatabaseManager::getDatabaseOrigins):
1650 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1651 (WebKit::WebEditorClient::getClientPasteboardDataForRange):
1652 * WebProcess/WebCoreSupport/WebEditorClient.h:
1653 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1654 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
1655 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1656 (WebKit::WebEditorClient::documentFragmentFromAttributedString):
1657 * WebProcess/WebPage/EventDispatcher.h:
1659 * WebProcess/WebPage/FindController.cpp:
1660 (WebKit::FindController::findStringMatches):
1661 * WebProcess/WebPage/FindController.h:
1663 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
1665 * WebProcess/WebPage/WebFrame.cpp:
1666 (WebKit::WebFrame::childFrames):
1667 * WebProcess/WebPage/WebPage.cpp:
1668 (WebKit::WebPage::trackedRepaintRects):
1669 * WebProcess/WebPage/WebPage.h:
1672 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1673 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1674 (TiledCoreAnimationDrawingArea):
1675 * WebProcess/WebProcess.cpp:
1676 (WebKit::WebProcess::visitedLinkStateChanged):
1677 (WebKit::WebProcess::allVisitedLinkStateChanged):
1678 (WebKit::WebProcess::focusedWebPage):
1679 (WebKit::WebProcess::createWebPage):
1680 (WebKit::WebProcess::didClose):
1681 (WebKit::WebProcess::webPageGroup):
1682 (WebKit::addCaseFoldedCharacters):
1683 (WebKit::getWebCoreMemoryCacheStatistics):
1684 (WebKit::WebProcess::setTextCheckerState):
1685 * WebProcess/WebProcess.h:
1688 2013-05-09 Anders Carlsson <andersca@apple.com>
1690 Implement WebPlatformStrategies::transientLocalStorageNamespace
1691 https://bugs.webkit.org/show_bug.cgi?id=115876
1692 <rdar://problem/13852871>
1694 Reviewed by Beth Dakin.
1696 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1697 (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
1698 Return a session storage namespace for a random page when UI process storage is enabled,
1699 otherwise call the base class implementation.
1701 2013-05-09 Anders Carlsson <andersca@apple.com>
1703 Use explicit qualifiers for names in the std:: namespace
1704 https://bugs.webkit.org/show_bug.cgi?id=115868
1706 Reviewed by Andreas Kling.
1708 * Shared/mac/ArgumentCodersMac.mm:
1710 * UIProcess/API/C/WKPluginSiteDataManager.cpp:
1711 (WKPluginSiteDataManagerClearAllSiteData):
1712 * UIProcess/Plugins/PluginInfoStore.cpp:
1713 (WebKit::PluginInfoStore::findPluginForExtension):
1714 * UIProcess/WebFrameProxy.cpp:
1715 * UIProcess/WebProcessProxy.cpp:
1716 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1717 (WebKit::parsePostBuffer):
1718 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1719 (WebKit::NetscapePlugin::loadURL):
1720 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
1721 (WebKit::NetscapePluginStream::deliverDataToPlugin):
1722 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
1723 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1724 * WebProcess/WebPage/FindController.cpp:
1725 (WebKit::FindController::countStringMatches):
1726 (WebKit::FindController::updateFindUIAfterPageScroll):
1727 * WebProcess/WebPage/WebPage.cpp:
1728 * WebProcess/WebPage/mac/WebPageMac.mm:
1729 (WebKit::drawPDFPage):
1730 * WebProcess/mac/WebProcessMac.mm:
1732 2013-05-09 Max Feil <mfeil@rim.com>
1734 shouldUsePluginDocument() needs to be respected when a document is created
1735 https://bugs.webkit.org/show_bug.cgi?id=110308
1737 Reviewed by Rob Buis.
1739 Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
1742 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1743 (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
1744 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1745 (WebFrameLoaderClient):
1747 2013-05-09 Timothy Hatcher <timothy@apple.com>
1749 Make dragging off a tab in Safari with a docked Inspector reattach the Inspector.
1751 https://webkit.org/b/115832
1752 rdar://problem/13605661
1754 Reviewed by Benjamin Poulain.
1756 * UIProcess/mac/WebInspectorProxyMac.mm:
1757 (WebKit::WebInspectorProxy::platformBringToFront):
1758 If the Web Inspector is no longer in the same window as the inspected view,
1759 then we need to reopen the Inspector to get it attached to the right window.
1761 2013-05-08 Anders Carlsson <andersca@apple.com>
1763 Fix a typo in a comment.
1765 Rubber-stamped by Darin Adler.
1767 * WebProcess/WebProcess.cpp:
1768 (WebKit::WebProcess::initializeConnection):
1770 2013-05-08 Anders Carlsson <andersca@apple.com>
1772 Remove bogus StorageAreaMap assertions
1773 https://bugs.webkit.org/show_bug.cgi?id=115838
1775 Reviewed by Sam Weinig.
1777 It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions.
1779 * WebProcess/Storage/StorageAreaMap.cpp:
1780 (WebKit::StorageAreaMap::didGetValues):
1781 (WebKit::StorageAreaMap::didClear):
1783 2013-05-08 Anders Carlsson <andersca@apple.com>
1785 Handle incoming clear operations
1786 https://bugs.webkit.org/show_bug.cgi?id=115829
1788 Reviewed by Sam Weinig.
1790 Handle clear by building up a new storage map with our pending changes.
1792 * WebProcess/Storage/StorageAreaMap.cpp:
1793 (WebKit::StorageAreaMap::applyChange):
1795 2013-05-08 Anders Carlsson <andersca@apple.com>
1797 Don't apply changes while we're clearing the database
1798 https://bugs.webkit.org/show_bug.cgi?id=115826
1800 Reviewed by Darin Adler.
1802 * UIProcess/Storage/LocalStorageDatabase.cpp:
1803 (WebKit::LocalStorageDatabase::openDatabase):
1804 Only call didOpenDatabaseWithOrigin if we actually did open the database.
1806 (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
1807 Create the database if needed.
1809 * UIProcess/Storage/StorageManager.cpp:
1810 (WebKit::StorageManager::getValues):
1811 Send back a DidGetValues message.
1813 * WebProcess/Storage/StorageAreaMap.cpp:
1814 (WebKit::StorageAreaMap::StorageAreaMap):
1815 Initialize m_hasPendingClear.
1817 (WebKit::StorageAreaMap::clear):
1818 Set m_hasPendingClear to true.
1820 (WebKit::StorageAreaMap::resetValues):
1821 Set m_hasPendingClear back to false.
1823 (WebKit::StorageAreaMap::loadValuesIfNeeded):
1824 Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items.
1826 (WebKit::StorageAreaMap::didGetValues):
1827 Set m_hasPendingClear back to false.
1829 (WebKit::StorageAreaMap::didClear):
1830 Set m_hasPendingClear back to false.
1832 (WebKit::StorageAreaMap::applyChange):
1833 Don't apply the change if m_hasPendingClear is true.
1835 * WebProcess/Storage/StorageAreaMap.messages.in:
1836 Add DidGetValues message.
1838 2013-05-08 Andy Estes <aestes@apple.com>
1840 [WebKit2] REGRESSION (Custom Protocols): Reproducible crash when navigating to URL with an invalid scheme
1841 https://bugs.webkit.org/show_bug.cgi?id=115790
1843 Reviewed by Alexey Proskuryakov.
1845 NSMutableSet does not support adding or removing nil objects, and
1846 WTF::HashSet does not support adding, removing, or checking for null
1849 For the NSMutableSet case, make sure that we don't try to add or remove
1852 For the WTF::HashSet case, NSURL will return a nil NSString if we ask
1853 it for its scheme when it is invalid, which we will convert to a null
1854 WTF::String. Don't try to check if our HashSet of registered schemes
1855 contains a null String.
1857 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
1858 (WebKit::CustomProtocolManager::registerScheme): Assert that the scheme
1859 isn't null. We reject null schemes at the WKBrowsingContextController level.
1860 (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
1861 (WebKit::CustomProtocolManager::supportsScheme): If scheme is null, return false.
1862 * UIProcess/API/mac/WKBrowsingContextController.mm:
1863 (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): Do not register a nil scheme.
1864 (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): Ditto.
1866 2013-05-08 Anders Carlsson <andersca@apple.com>
1868 Apply remote changes to storage maps locally
1869 https://bugs.webkit.org/show_bug.cgi?id=115825
1871 Reviewed by Beth Dakin.
1873 * WebProcess/Storage/StorageAreaMap.cpp:
1874 (WebKit::StorageAreaMap::resetValues):
1875 Clear the pending values map.
1877 (WebKit::StorageAreaMap::didSetItem):
1878 If we failed to set the item, forget everything we know about this storage map.
1879 Otherwise, remove the pending item.
1881 (WebKit::StorageAreaMap::didRemoveItem):
1882 Remove the pending item.
1884 (WebKit::StorageAreaMap::shouldApplyChangeForKey):
1885 Helper function that returns whether a change for a given key should be applied.
1887 (WebKit::StorageAreaMap::applyChange):
1888 Apply the change. Currently only adds and removes are handled.
1890 (WebKit::StorageAreaMap::dispatchStorageEvent):
1891 Apply the change locally as well if needed.
1893 * WebProcess/Storage/StorageAreaMap.h:
1895 2013-05-08 Anders Carlsson <andersca@apple.com>
1897 Assert at compile time that we don't pass Objective-C object pointers to adoptCF
1898 https://bugs.webkit.org/show_bug.cgi?id=115823
1900 Reviewed by Geoffrey Garen.
1902 Fix adoptNS/adoptCF mismatches. For the adopt(leakRef()) case we'd ideally want a static_pointer_cast overload for RetainPtr,
1903 but this will do for now.
1905 * Shared/mac/ArgumentCodersMac.mm:
1908 2013-05-08 Sam Weinig <sam@webkit.org>
1910 Add SPI to determine if a plugin is sandboxed
1911 https://bugs.webkit.org/show_bug.cgi?id=115810
1913 Reviewed by Anders Carlsson.
1915 * PluginProcess/mac/PluginProcessMac.mm:
1916 (WebKit::PluginProcess::initializeSandbox):
1917 * Shared/Plugins/mac/PluginSandboxProfile.h: Added.
1918 * Shared/Plugins/mac/PluginSandboxProfile.mm: Added.
1919 (WebKit::pluginSandboxProfileDefaultDirectory):
1920 (WebKit::pluginSandboxProfileDirectories):
1921 (WebKit::pluginSandboxProfileName):
1922 (WebKit::pluginSandboxCommonProfile):
1923 (WebKit::pluginSandboxProfileForDirectory):
1924 (WebKit::pluginSandboxProfile):
1925 (WebKit::pluginHasSandboxProfileForDirectory):
1926 (WebKit::pluginHasSandboxProfile):
1927 Move sandbox code to its own file and refactor to use cocoa. Also adds pluginHasSandboxProfile function
1928 which uses the newly refactored code.
1930 * UIProcess/API/C/mac/WKContextPrivateMac.h:
1931 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
1932 (WKPlugInInfoIsSandboxedKey):
1933 (createInfoDictionary):
1934 Add WKPlugInInfoIsSandboxedKey.
1936 * WebKit2.xcodeproj/project.pbxproj:
1939 2013-05-08 Anders Carlsson <andersca@apple.com>
1941 Safari unexpectedly quits with invalid message from the web process with message ID 0x323002f (WebPageProxy.DecidePolicyForNavigationAction)
1942 https://bugs.webkit.org/show_bug.cgi?id=115814
1943 <rdar://problem/12331258>
1945 Reviewed by Andreas Kling.
1947 To ensure that any asynchronous messages are delivered to the UI process before
1948 synchronous messages (except when doing so would lead to a deadlock), Call
1949 setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the UI process connections.
1951 * WebProcess/WebProcess.cpp:
1952 (WebKit::WebProcess::initializeConnection):
1954 2013-05-08 Tim Horton <timothy_horton@apple.com>
1956 Coalesce WKView visibleRect changes
1957 https://bugs.webkit.org/show_bug.cgi?id=115792
1958 <rdar://problem/13776842>
1960 Reviewed by Simon Fraser.
1962 The system can call renewGState much more often than we actually want
1963 to update the WebProcess' notion of the exposed rect. Most importantly,
1964 within an autolayout pass it is called many times, and often sees
1965 [WKView visibleRect] be an intermediate value which will never be
1966 flushed to the screen. We only care about the final value, so we should
1967 wait until AppKit has finished - with a zero-delay timer - to inform the
1968 WebProcess of exposed rect changes.
1970 * UIProcess/WebPageProxy.cpp:
1971 (WebKit::WebPageProxy::WebPageProxy):
1972 Add exposedRectChangedTimer.
1973 (WebKit::WebPageProxy::close):
1974 Cancel exposedRectChangedTimer when tearing down the WebPageProxy.
1975 * UIProcess/WebPageProxy.h:
1977 Add exposedRectChangedTimerFired, the timer itself, and two rects:
1978 the most recent exposed rect from the WKView, and the last one we actually
1979 sent across to the WebProcess.
1980 * UIProcess/mac/WebPageProxyMac.mm:
1981 (WebKit::WebPageProxy::viewExposedRectChanged):
1982 Instead of immediately sending exposed rect changes to the WebProcess,
1983 start a zero-delay timer to do so.
1984 (WebKit::WebPageProxy::exposedRectChangedTimerFired):
1985 Once the zero-delay timer fires, send the new exposed rect to the WebProcess.
1987 2013-05-08 Alexey Proskuryakov <ap@apple.com>
1989 <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers
1990 <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices
1992 Reviewed by Anders Carlsson.
1994 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more
1995 TextServices and NSInputManager directories.
1997 2013-05-08 Anders Carlsson <andersca@apple.com>
1999 Remove BinarySemaphoreWin.cpp.
2001 Rubber-stamped by Beth Dakin.
2003 BinarySemaphoreWin has been moved to WTF, but the original was never removed.
2005 * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
2007 2013-05-08 Zan Dobersek <zdobersek@igalia.com>
2009 [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
2010 https://bugs.webkit.org/show_bug.cgi?id=115716
2012 Reviewed by Andreas Kling.
2014 WebNetworkInfoManager should inherit from WebProcessSupplement and should be used
2015 as such by the WebProcess. This removes the need for the m_networkInfoManager member
2016 variable in the WebProcess class and brings the WebNetworkInfoManager in line with
2017 other manager classes of which instances are controlled by the WebProcess class.
2019 * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
2020 (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
2022 * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
2023 (WebKit): Alphabetically reorder the two forwarding declarations.
2024 (WebNetworkInfoManager): Inherit from the WebProcessSupplement interface.
2025 * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
2026 (WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement.
2027 (WebKit::WebNetworkInfoClient::metered): Ditto.
2028 (WebKit::WebNetworkInfoClient::startUpdating): Ditto.
2029 (WebKit::WebNetworkInfoClient::stopUpdating): Ditto.
2030 (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto.
2031 * WebProcess/WebProcess.cpp:
2032 (WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement.
2033 * WebProcess/WebProcess.h:
2034 (WebProcess): Remove the m_networkInfoManager member variable and its getter method.
2036 2013-05-08 Zan Dobersek <zdobersek@igalia.com>
2038 [WK2] Make the WebBatteryManager a supplement to the WebProcess
2039 https://bugs.webkit.org/show_bug.cgi?id=115715
2041 Reviewed by Andreas Kling.
2043 WebBatteryManager should inherit from WebProcessSupplement and should be used as such
2044 by the WebProcess. This removes the need for the m_batteryManager member variable in
2045 the WebProcess class and brings the WebBatteryManager in line with other manager classes
2046 of which instances are controlled by the WebProcess class.
2048 * WebProcess/Battery/WebBatteryManager.cpp:
2049 (WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
2051 * WebProcess/Battery/WebBatteryManager.h:
2052 (WebBatteryManager): Inherit from the WebProcessSupplement interface.
2053 * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
2054 (WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement.
2055 (WebKit::WebBatteryClient::stopUpdating): Ditto.
2056 (WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto.
2057 * WebProcess/WebProcess.cpp:
2058 (WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement.
2059 * WebProcess/WebProcess.h:
2060 (WebProcess): Remove the m_batteryManager member variable and its getter method.
2062 2013-05-06 Darin Adler <darin@apple.com>
2064 Use adoptCF and adoptNS in more places
2065 https://bugs.webkit.org/show_bug.cgi?id=115657
2067 Reviewed by Sam Weinig.
2069 * Shared/Downloads/cfnet/DownloadCFNet.cpp:
2070 (WebKit::Download::useCredential):
2071 (WebKit::Download::start):
2072 (WebKit::Download::startWithHandle):
2073 (WebKit::Download::cancel):
2074 (WebKit::Download::didDecideDestination):
2075 Use adoptCF and adoptNS.
2077 2013-05-06 Sam Weinig <sam@webkit.org>
2079 Add SPI to get an array of all the installed plug-ins
2080 https://bugs.webkit.org/show_bug.cgi?id=115688
2082 Reviewed by Anders Carlsson.
2084 * UIProcess/API/C/mac/WKContextPrivateMac.h:
2085 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2086 (createInfoDictionary):
2087 Extract creation of info dictionary into helper.
2088 (WKContextCopyPlugInInfoForBundleIdentifier):
2089 Modified to use the new helper.
2090 (WKContextGetInfoForInstalledPlugIns):
2093 2013-05-07 Anders Carlsson <andersca@apple.com>
2095 Clean up KeyframeValueList and related classes
2096 https://bugs.webkit.org/show_bug.cgi?id=115738
2098 Reviewed by Simon Fraser.
2100 Update for WebCore changes.
2102 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2103 (CoreIPC::::decode):
2105 2013-05-07 Anders Carlsson <andersca@apple.com>
2107 Add and remove databases and origins from the database tracker
2108 https://bugs.webkit.org/show_bug.cgi?id=115752
2110 Reviewed by Andreas Kling.
2112 * UIProcess/Storage/LocalStorageDatabase.cpp:
2113 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2114 Rename m_databaseFilename to m_databasePath.
2116 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2117 Rename m_databaseFilename to m_databasePath.
2119 * UIProcess/Storage/LocalStorageDatabase.h:
2120 Rename m_databaseFilename to m_databasePath.
2122 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2123 (WebKit::LocalStorageDatabaseTracker::databasePath):
2124 Rename databaseFilename to databasePath.
2126 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
2127 Call addDatabaseWithOriginIdentifier.
2129 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
2130 Call removeDatabaseWithOriginIdentifier.
2132 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
2133 Call databasePath instead of databaseFile.
2135 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
2136 Bail if the database is already open.
2138 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
2139 Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.
2141 (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
2142 Add the database to the Origins table.
2144 (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
2145 remove the database from the Origins table and delete it.
2147 (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
2148 Helper function that looks up a database path given its identifier.
2150 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2151 Rename databaseFile to databasePath.
2153 2013-05-07 Anders Carlsson <andersca@apple.com>
2155 The storage database tracker should know when databases come and go
2156 https://bugs.webkit.org/show_bug.cgi?id=115748
2158 Reviewed by Andreas Kling.
2160 * UIProcess/Storage/LocalStorageDatabase.cpp:
2161 (WebKit::LocalStorageDatabase::openDatabase):
2162 If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.
2164 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2165 Remove a FIXME; we run all storage related things on the same thread.
2167 (WebKit::LocalStorageDatabase::close):
2168 Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.
2170 (WebKit::LocalStorageDatabase::databaseIsEmpty):
2171 Helper function for determining whether a database is empty.
2173 * UIProcess/Storage/LocalStorageDatabase.h:
2174 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2175 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
2176 Add ".localstorage" to the filename.
2178 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
2179 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
2182 2013-05-07 Brady Eidson <beidson@apple.com>
2184 Add JoinExistingSession to the Networking XPC.
2185 <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991
2187 Reviewed by Sam Weinig.
2189 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
2190 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
2192 2013-05-07 Anders Carlsson <andersca@apple.com>
2194 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
2195 https://bugs.webkit.org/show_bug.cgi?id=115711
2197 Reviewed by Andreas Kling.
2199 Handle setting the local storage directory more than once.
2201 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2202 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2203 Close the database (if necessary) and clear the origins map before importing the origin identifiers.
2205 2013-05-07 Antoine Quint <graouts@apple.com>
2207 Re-establish autostart timeout extension on user interaction
2208 https://bugs.webkit.org/show_bug.cgi?id=113232
2210 Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
2211 (pluginOrigin, pageOrigin, mimeType) arguments like the other similar
2212 WebProcess methods and gather these arguments from the PlugInView's
2215 Reviewed by Dean Jackson.
2217 * WebProcess/Plugins/PluginView.cpp:
2218 (WebKit::PluginView::pluginDidReceiveUserInteraction):
2219 Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
2220 tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().
2222 * WebProcess/WebProcess.cpp:
2223 (WebKit::WebProcess::plugInDidReceiveUserInteraction):
2224 * WebProcess/WebProcess.h:
2226 Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
2227 and obtain the plug-in origin hash from that.
2229 2013-05-07 Anders Carlsson <andersca@apple.com>
2231 Each local storage database should know its origin
2232 https://bugs.webkit.org/show_bug.cgi?id=115737
2234 Reviewed by Andreas Kling.
2236 Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.
2238 * UIProcess/Storage/LocalStorageDatabase.cpp:
2239 (WebKit::LocalStorageDatabase::create):
2240 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2241 * UIProcess/Storage/LocalStorageDatabase.h:
2242 (LocalStorageDatabase):
2244 2013-05-07 Brady Eidson <beidson@apple.com>
2246 Remove some unnecessary soft linking in NetworkProcess. (Take 2)
2247 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
2249 Reviewed by Dean Jackson and owned by Andreas Kling.
2251 As a followup to r149651, include the private headers conditionally.
2252 Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).
2254 * NetworkProcess/mac/DiskCacheMonitor.mm:
2255 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
2256 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
2258 2013-05-07 Jinwoo Song <jinwoo7.song@samsung.com>
2260 [EFL][WK2] Add ewk APIs for setting and getting user agent
2261 https://bugs.webkit.org/show_bug.cgi?id=114429
2263 Reviewed by Andreas Kling.
2265 Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.
2267 * UIProcess/API/efl/EwkView.cpp:
2269 (EwkView::setUserAgent):
2270 * UIProcess/API/efl/EwkView.h:
2271 (EwkView::userAgent):
2273 * UIProcess/API/efl/ewk_view.cpp:
2274 (ewk_view_user_agent_get):
2275 (ewk_view_user_agent_set):
2276 * UIProcess/API/efl/ewk_view.h:
2277 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2280 2013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
2282 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
2283 https://bugs.webkit.org/show_bug.cgi?id=115646
2285 Reviewed by Darin Adler.
2287 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2288 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
2289 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2290 (WebKit::NetworkResourceLoadScheduler::hostForURL):
2291 * Shared/ImmutableDictionary.h:
2292 (WebKit::ImmutableDictionary::get):
2293 * UIProcess/Storage/StorageManager.cpp:
2294 (WebKit::StorageManager::createSessionStorageMap):
2295 (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
2296 (WebKit::StorageManager::findStorageArea):
2297 * UIProcess/WebContext.h:
2298 (WebKit::WebContext::supplement):
2299 * UIProcess/WebProcessProxy.cpp:
2300 (WebKit::WebProcessProxy::webBackForwardItem):
2301 (WebKit::WebProcessProxy::webFrame):
2302 * UIProcess/efl/DownloadManagerEfl.cpp:
2303 (WebKit::DownloadManagerEfl::ewkDownloadJob):
2304 * WebProcess/Network/WebResourceLoadScheduler.h:
2305 (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
2306 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2307 (WebKit::NetscapePlugin::streamFromID):
2308 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2309 (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2310 * WebProcess/Plugins/PluginView.cpp:
2311 (WebKit::PluginView::cancelStreamLoad):
2312 * WebProcess/WebPage/EventDispatcher.cpp:
2313 (WebKit::EventDispatcher::wheelEvent):
2314 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2315 (WebKit::WebBackForwardListProxy::itemForID):
2316 (WebKit::WebBackForwardListProxy::itemAtIndex):
2317 * WebProcess/WebPage/WebPage.cpp:
2318 (WebKit::WebPage::webUndoStep):
2319 (WebKit::WebPage::didFinishCheckingText):
2320 (WebKit::WebPage::didCancelCheckingText):
2321 * WebProcess/WebProcess.cpp:
2322 (WebKit::WebProcess::webPage):
2323 (WebKit::WebProcess::webPageGroup):
2324 Updated accordingly to new HashMap<.., RefPtr>::get() semantics.
2326 2013-05-06 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2328 [Qt] Unreviewed buildfix after r149637.
2332 2013-05-06 Ryosuke Niwa <rniwa@webkit.org>
2334 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
2335 https://bugs.webkit.org/show_bug.cgi?id=115711
2337 Rubber-stamped by Anders Carlsson.
2339 Temporarily removed the assertion. Andres is going to investigate it tomorrow.
2341 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2342 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2344 2013-05-06 Darin Adler <darin@apple.com>
2346 Use OwnPtr instead of deleteAllValues in KeyframeValueList
2347 https://bugs.webkit.org/show_bug.cgi?id=115652
2349 Reviewed by Simon Fraser.
2351 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2352 (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
2353 next to new when calling KeyframeValueList::insert.
2355 2013-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2357 Unreviewed, build fix on EFL port
2359 * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
2361 2013-05-06 Philippe Normand <pnormand@igalia.com>
2363 Unreviewed, GTK build fix after r149637.
2365 * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
2368 2013-05-06 Brady Eidson <beidson@apple.com>
2370 Remove some unnecessary soft linking in NetworkProcess.
2371 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
2373 Reviewed by Sam Weinig.
2375 Replace some unneeded soft linking with forward declarations.
2377 * NetworkProcess/mac/DiskCacheMonitor.mm:
2378 (WebKit::DiskCacheMonitor::DiskCacheMonitor):
2379 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
2380 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
2381 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
2383 2013-05-06 Anders Carlsson <andersca@apple.com>
2385 More work on LocalStorageDatabaseTracker
2386 https://bugs.webkit.org/show_bug.cgi?id=115680
2388 Reviewed by Andreas Kling.
2390 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2391 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
2392 Call the new databaseFilename that takes a string.
2394 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2395 Assert that we don't call this more than once. Dispatch a call to import origin identifiers.
2397 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
2398 New helper function that returns the tracker database path.
2400 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
2401 Open the database and create the Origins table if needed.
2403 (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
2404 Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.
2406 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
2407 Bring the tracker database up to date from the database files on disk.
2409 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2410 (LocalStorageDatabaseTracker):
2412 2013-05-06 Alexey Proskuryakov <ap@apple.com>
2414 <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
2415 https://bugs.webkit.org/show_bug.cgi?id=115665
2417 Reviewed by Darin Adler.
2419 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated
2420 check for frame->isMainFrame() to the top, matching oter similar functions.
2421 Call updateActivePages().
2423 * WebProcess/WebProcess.cpp:
2424 (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME.
2425 (WebKit::WebProcess::updateActivePages): Empty implementation for platforms
2426 that don't need to do anything here.
2428 * WebProcess/WebProcess.h: Added updateActivePages().
2430 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
2431 Collect user visible origins of pages in the process and pass them to LS.
2433 2013-05-06 Mark Rowe <mrowe@apple.com>
2435 <rdar://problem/13775921> Switch off a deprecated API.
2437 Reviewed by Oliver Hunt.
2439 * Shared/mac/ChildProcessMac.mm:
2440 (WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
2441 begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
2442 When enabling process suppression, end the activity.
2444 2013-05-06 Anders Carlsson <andersca@apple.com>
2446 Move local storage directory handling to LocalStorageDatabaseTracker
2447 https://bugs.webkit.org/show_bug.cgi?id=115676
2449 Reviewed by Andreas Kling.
2451 * UIProcess/Storage/LocalStorageDatabase.cpp:
2452 (WebKit::LocalStorageDatabase::create):
2453 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2454 * UIProcess/Storage/LocalStorageDatabase.h:
2456 (LocalStorageDatabase):
2457 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2458 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
2460 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
2461 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
2462 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2464 (LocalStorageDatabaseTracker):
2465 * UIProcess/Storage/StorageManager.cpp:
2466 (WebKit::StorageManager::StorageArea::StorageArea):
2467 (WebKit::StorageManager::setLocalStorageDirectory):
2468 * UIProcess/Storage/StorageManager.h:
2471 2013-05-06 Manuel Rego Casasnovas <rego@igalia.com>
2473 [GTK] Add webkit_uri_scheme_request_finish_error
2474 https://bugs.webkit.org/show_bug.cgi?id=94316
2476 Reviewed by Anders Carlsson.
2478 This new method will allow to finish WebKitURISchemeRequest with a
2479 GError that will be passed to the WebKitWebView through the
2480 "load-failed" signal.
2482 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
2483 (webkit_uri_scheme_request_finish_error): Implement new method using
2484 WebSoupRequestManagerProxy::didFailURIRequest().
2485 * UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
2486 * UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new
2487 method in the code example at webkit_web_context_register_uri_scheme()
2489 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
2491 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
2492 (loadFailedCallback): Set m_error to monitor it from the tests.
2493 (LoadTrackingTest::loadURI): Clear m_error before each load.
2494 (LoadTrackingTest::loadHtml): Ditto.
2495 (LoadTrackingTest::loadPlainText): Ditto.
2496 (LoadTrackingTest::loadRequest): Ditto.
2497 (LoadTrackingTest::reload): Ditto.
2498 (LoadTrackingTest::goBack): Ditto.
2499 (LoadTrackingTest::goForward): Ditto.
2500 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
2501 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2502 (testWebContextURIScheme): Modify test to check the behavior of the new
2504 * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
2505 (WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
2506 (WebKit): Implement new method using
2507 WebSoupRequestManager::DidFailURIRequest().
2508 * UIProcess/soup/WebSoupRequestManagerProxy.h:
2509 (WebSoupRequestManagerProxy): Add new method header.
2510 * WebProcess/soup/WebSoupRequestManager.cpp:
2512 (WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
2513 setting the error and completing the request.
2514 * WebProcess/soup/WebSoupRequestManager.h:
2515 (WebSoupRequestManager): Add new method header.
2516 * WebProcess/soup/WebSoupRequestManager.messages.in: Add new method
2519 2013-05-06 Anders Carlsson <andersca@apple.com>
2521 Every LocalStorageDatabase should know about its tracker
2522 https://bugs.webkit.org/show_bug.cgi?id=115673
2524 Reviewed by Andreas Kling.
2526 * UIProcess/Storage/LocalStorageDatabase.cpp:
2527 (WebKit::LocalStorageDatabase::create):
2528 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2529 * UIProcess/Storage/LocalStorageDatabase.h:
2530 * UIProcess/Storage/StorageManager.cpp:
2531 (WebKit::StorageManager::StorageArea::StorageArea):
2533 2013-05-06 Anders Carlsson <andersca@apple.com>
2535 Add LocalStorageDatabaseTracker class
2536 https://bugs.webkit.org/show_bug.cgi?id=115671
2538 Reviewed by Andreas Kling.
2540 Somewhat unsurprisingly, this class will be used for tracking local storage databases.
2542 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.
2543 (WebKit::LocalStorageDatabaseTracker::create):
2544 (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
2545 (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
2546 * UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.
2547 (LocalStorageDatabaseTracker):
2549 * UIProcess/Storage/StorageManager.cpp:
2550 (WebKit::StorageManager::StorageManager):
2551 Create a local storage database tracker.
2553 * WebKit2.xcodeproj/project.pbxproj:
2556 2013-05-06 Anders Carlsson <andersca@apple.com>
2558 Handle closing the local storage database
2559 https://bugs.webkit.org/show_bug.cgi?id=115669
2561 Reviewed by Beth Dakin.
2563 * UIProcess/Storage/LocalStorageDatabase.cpp:
2564 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2565 Initialize m_isClosed.
2567 (WebKit::LocalStorageDatabase::~LocalStorageDatabase):
2568 Assert that m_isClosed is false.
2570 (WebKit::LocalStorageDatabase::close):
2571 Set m_isClosed to true and write any pending changes to disk.
2573 (WebKit::LocalStorageDatabase::updateDatabase):
2574 Compute the changed items and pass them to updateDatabaseWithChangedItems.
2576 (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
2577 Split out the code that actually writes to the database from updateDatabase and into this function.
2579 * UIProcess/Storage/LocalStorageDatabase.h:
2580 * UIProcess/Storage/StorageManager.cpp:
2581 (WebKit::StorageManager::StorageArea::~StorageArea):
2584 2013-05-06 Zan Dobersek <zdobersek@igalia.com>
2586 [WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
2587 https://bugs.webkit.org/show_bug.cgi?id=115654
2589 Reviewed by Andreas Kling.
2591 Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
2592 to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
2593 construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
2595 * UIProcess/API/C/WKContext.cpp:
2596 (WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.
2597 * UIProcess/WebContext.cpp:
2598 (WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
2599 the now-removed member variable.
2600 (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
2602 (WebKit::WebContext::disconnectProcess): Ditto.
2603 * UIProcess/WebContext.h:
2604 (WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.
2605 * UIProcess/WebNetworkInfoManagerProxy.cpp:
2606 (WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
2607 (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
2608 (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
2609 accessing the private m_context directly.
2610 (WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
2611 (WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
2612 (WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
2613 (WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.
2614 * UIProcess/WebNetworkInfoManagerProxy.h:
2615 (WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
2617 2013-05-06 Alexey Proskuryakov <ap@apple.com>
2619 <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
2620 https://bugs.webkit.org/show_bug.cgi?id=115483
2622 Reviewed by Darin Adler.
2624 * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it
2625 in multiple places, so it's easier to pre-compute it.
2627 * PluginProcess/mac/PluginProcessMac.mm:
2628 (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID.
2629 (WebKit::loadSandboxProfile): Ditto.
2630 (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID.
2631 (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices.
2632 (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of
2635 2013-05-06 Anders Carlsson <andersca@apple.com>
2637 Handle removeItem and clear in LocalStorageDatabase
2638 https://bugs.webkit.org/show_bug.cgi?id=115664
2640 Reviewed by Darin Adler.
2642 * UIProcess/Storage/LocalStorageDatabase.cpp:
2643 (WebKit::LocalStorageDatabase::removeItem):
2644 Call itemDidChange with a null value, indicating that we want to remove this item.
2646 (WebKit::LocalStorageDatabase::clear):
2647 Clear items, set m_shouldClearItems and schedule a database update.
2649 (WebKit::LocalStorageDatabase::updateDatabase):
2650 If m_shouldClearItems is true, clear all items.
2652 * UIProcess/Storage/StorageManager.cpp:
2653 (WebKit::StorageManager::StorageArea::removeItem):
2654 Call through to the local storage database.
2656 (WebKit::StorageManager::StorageArea::clear):
2659 2013-05-06 Anders Carlsson <andersca@apple.com>
2661 Write storage changes to disk
2662 https://bugs.webkit.org/show_bug.cgi?id=115660
2664 Reviewed by Andreas Kling.
2666 * UIProcess/Storage/LocalStorageDatabase.cpp:
2667 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
2668 Initialize new member variables.
2670 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
2671 Disable database threading checks.
2673 (WebKit::LocalStorageDatabase::importItems):
2674 Only import the items once.
2676 (WebKit::LocalStorageDatabase::setItem):
2679 (WebKit::LocalStorageDatabase::itemDidChange):
2680 Record the change and schedule a database update.
2682 (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
2683 Use WorkQueue::dispatchAfterDelay to schedule a datbase update.
2685 (WebKit::LocalStorageDatabase::updateDatabase):
2686 Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule
2687 another database update for the remaining items.
2689 * UIProcess/Storage/LocalStorageDatabase.h:
2690 Add new member variables.
2692 * UIProcess/Storage/StorageManager.cpp:
2693 (WebKit::StorageManager::StorageArea::setItem):
2694 Call LocalStorageDatabase::setItem.
2696 2013-05-06 Zan Dobersek <zdobersek@igalia.com>
2698 [WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
2699 https://bugs.webkit.org/show_bug.cgi?id=115625
2701 Reviewed by Andreas Kling.
2703 Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy
2704 to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
2705 construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.
2707 * UIProcess/API/C/WKContext.cpp:
2708 (WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext.
2709 * UIProcess/WebBatteryManagerProxy.cpp:
2710 (WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name.
2711 (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable.
2712 (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing
2713 the private m_context directly.
2714 (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto.
2715 (WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked.
2716 (WebKit::WebBatteryManagerProxy::processDidClose): Ditto.
2717 (WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref.
2718 (WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref.
2719 (WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating.
2720 (WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating.
2721 * UIProcess/WebBatteryManagerProxy.h:
2722 (WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.
2723 * UIProcess/WebContext.cpp:
2724 (WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to
2725 the now-removed member variable.
2726 (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
2728 (WebKit::WebContext::disconnectProcess): Ditto.
2729 * UIProcess/WebContext.h:
2730 (WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method.
2732 2013-05-06 Antoine Quint <graouts@apple.com>
2734 Manage the presentation of the snapshotted plug-in using JavaScript
2735 https://bugs.webkit.org/show_bug.cgi?id=115548
2737 Reviewed by Dean Jackson.
2739 Expose a new plugInExtraScript method to support the injection of
2740 a JS file from the chrome client to customize the rendering of a
2741 snapshotted plug-in's shadow tree. Additionally, it is expected
2742 the chrome client will want to provide localized strings taking
2743 into account the snapshotted plug-in's mime-type, so we're adding
2744 this as a parameter to both plugInStartLabelTitle and
2745 plugInStartLabelSubtitle methods.
2747 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2748 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2749 (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
2750 (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
2751 (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
2752 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2753 (InjectedBundlePageUIClient):
2754 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2755 (WebKit::WebChromeClient::plugInStartLabelTitle):
2756 (WebKit::WebChromeClient::plugInStartLabelSubtitle):
2757 (WebKit::WebChromeClient::plugInExtraScript):
2758 * WebProcess/WebCoreSupport/WebChromeClient.h:
2761 2013-05-05 Chris Fleizach <cfleizach@apple.com>
2763 WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
2764 https://bugs.webkit.org/show_bug.cgi?id=115621
2766 Reviewed by Alexey Proskuryakov.
2768 Allow access to the location where 3rd party speech synthesizers are stored.
2770 * WebProcess/com.apple.WebProcess.sb.in:
2772 2013-05-05 Tim Horton <timothy_horton@apple.com>
2774 [wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
2775 https://bugs.webkit.org/show_bug.cgi?id=115577
2776 <rdar://problem/13762583>
2778 Reviewed by Darin Adler.
2780 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2781 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2782 Invalidate the page overlay layers' device scale factor when
2783 TiledCoreAnimationDrawingArea is notified that it has changed.
2785 2013-05-05 Anders Carlsson <andersca@apple.com>
2787 Remove the Vector::append overload that takes a Vector
2788 https://bugs.webkit.org/show_bug.cgi?id=115535
2790 Reviewed by Andreas Kling.
2792 Use Vector::appendVector instead.
2794 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2795 (WebKit::NetworkBlobRegistry::registerBlobURL):
2796 * NetworkProcess/SchedulableLoader.cpp:
2797 (WebKit::SchedulableLoader::SchedulableLoader):
2798 * Platform/CoreIPC/Connection.cpp:
2799 (CoreIPC::Connection::SyncMessageState::dispatchMessages):
2800 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
2801 (WebKit::PluginInfoStore::pluginsDirectories):
2803 2013-05-04 Sam Weinig <sam@webkit.org>
2805 Fix * placement in a few functions as noticed by Mark Rowe.
2807 Rubber-stamped by Dan Bernstein.
2809 * WebProcess/WebPage/PageBanner.h:
2811 * WebProcess/WebPage/mac/PageBannerMac.mm:
2812 (WebKit::PageBanner::create):
2813 (WebKit::PageBanner::PageBanner):
2815 2013-05-04 Sam Weinig <sam@webkit.org>
2817 REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
2818 <rdar://problem/13702008>
2819 https://bugs.webkit.org/show_bug.cgi?id=115607
2821 Reviewed by Benjamin Poulain.
2823 API Test: WebKit2.CloseThenTerminate
2825 * UIProcess/WebPageProxy.cpp:
2826 (WebKit::WebPageProxy::resetStateAfterProcessExited):
2827 Don't try to reset the state if the page is closed, it won't work and its not worth it.
2829 2013-05-04 Beth Dakin <bdakin@apple.com>
2831 https://bugs.webkit.org/show_bug.cgi?id=115574
2832 Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null
2834 Reviewed by Darin Adler.
2836 Don't call addToPage() on a null banner.
2837 * WebProcess/WebPage/WebPage.cpp:
2838 (WebKit::WebPage::setHeaderPageBanner):
2839 (WebKit::WebPage::setFooterPageBanner):
2841 2013-05-03 Alexey Proskuryakov <ap@apple.com>
2843 <rdar://problem/13806836> Tweak sandbox profile.
2845 Reviewed by Dan Bernstein.
2847 * WebProcess/com.apple.WebProcess.sb.in:
2849 2013-05-03 Tim Horton <timothy_horton@apple.com>
2851 PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported
2852 https://bugs.webkit.org/show_bug.cgi?id=115544
2853 <rdar://problem/13801789>
2855 Reviewed by Alexey Proskuryakov.
2857 Commit changes to the active annotation (if there is one) before
2858 returning the live PDF data, so that said changes are represented
2859 in the exported or printed output.
2861 * WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData.
2862 * WebProcess/Plugins/PDF/PDFPlugin.mm:
2863 (WebKit::PDFPlugin::liveData): Commit the active annotation if there is one.
2864 * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
2865 (SimplePDFPlugin): Make liveData virtual.
2867 2013-05-03 Tim Horton <timothy_horton@apple.com>
2869 Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
2870 https://bugs.webkit.org/show_bug.cgi?id=115056
2871 <rdar://problem/13719543>
2873 Reviewed by Simon Fraser.
2875 Null-check m_page. In theory, we shouldn't get here, because we stop
2876 the timer at the only point where m_page is cleared, but crash logs say
2877 we're still crashing here.
2879 * WebProcess/WebPage/WebPage.cpp:
2880 (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
2882 2013-05-03 Tim Horton <timothy_horton@apple.com>
2884 Remove some "what" comments from FindController
2885 https://bugs.webkit.org/show_bug.cgi?id=115546
2887 Reviewed by Andreas Kling.
2889 * WebProcess/WebPage/FindController.cpp:
2890 (WebKit::FindController::countStringMatches):
2891 (WebKit::FindController::updateFindUIAfterPageScroll):
2892 (WebKit::FindController::willMoveToWebPage):
2893 (WebKit::FindController::mouseEvent):
2894 Remove or reword some comments.
2896 2013-05-02 Andy Estes <aestes@apple.com>
2898 [WK2][CustomProtocols] NSURLProtocolClient methods should be dispatched on NSURLConnection's resource loader run loop
2899 https://bugs.webkit.org/show_bug.cgi?id=115539
2901 Reviewed by Alexey Proskuryakov.
2903 It turns out that calling NSURLProtocolClient methods from a different
2904 thread than the one running the NSURLConnection run loop is unsafe.
2905 Although I can't capture it reliably in a test case, doing so can
2906 sometimes result in a load timing out because the call to
2907 -[NSURLProtocolClient URLProtocolDidFinishLoading:] was ignored by
2910 Fix this by dispatching these methods on the NSURLConnection resource
2911 load run loop. This matches where NSURLProtocolClient methods are
2912 dispatched by typical NSURLProtocol implementations, and in my testing
2913 this solves the timeout issue.
2915 * Shared/Network/CustomProtocols/CustomProtocolManager.h: Declare
2916 dispatchOnResourceLoaderRunLoop().
2917 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2918 Declare +[NSURLConnection resourceLoaderRunLoop] on a category of
2919 NSURLConnection. Also include the header that declares it if it's present.
2920 (WebKit::CustomProtocolManager::didFailWithError): Call the
2921 NSURLProtocolClient method via dispatchOnResourceLoaderRunLoop().
2922 (WebKit::CustomProtocolManager::didLoadData): Ditto.
2923 (WebKit::CustomProtocolManager::didReceiveResponse): Ditto.
2924 (WebKit::CustomProtocolManager::didFinishLoading): Ditto.
2925 (WebKit::CustomProtocolManager::dispatchOnResourceLoaderRunLoop):
2926 Dispatch a block on the NSURLConnection resource loader run loop and
2927 then wake up the run loop.
2929 2013-05-02 Brady Eidson <beidson@apple.com>
2931 REGRESSION (149389) Main resources converted to downloads are immediately cancelled.
2932 <rdar://problem/13795795> and https://bugs.webkit.org/show_bug.cgi?id=115530
2934 Reviewed by Alexey Proskuryakov.
2936 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2937 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): Call didConvertHandleToDownload
2938 on the NetworkResourceLoader.
2940 * NetworkProcess/NetworkResourceLoader.cpp:
2941 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
2942 (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Set m_handleConvertedToDownload to true.
2943 (WebKit::NetworkResourceLoader::abort): Only cancel the handle if m_handleConvertedToDownload is false.
2944 * NetworkProcess/NetworkResourceLoader.h:
2946 2013-05-02 Alexey Proskuryakov <ap@apple.com>
2948 <rdar://problem/13740375> Non-ASCII downloaded file names are garbled when using NetworkProcess
2949 https://bugs.webkit.org/show_bug.cgi?id=115520
2951 Reviewed by Darin Adler.
2953 * Shared/mac/WebCoreArgumentCodersMac.mm:
2954 (CoreIPC::::encodePlatformData):
2955 (CoreIPC::::decodePlatformData):
2956 Send the encoding fallback array over IPC, so that it's present when NetworkProcess does its loading.
2958 2013-05-01 Alexey Proskuryakov <ap@apple.com>
2960 REGRESSION (r149422): -[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]
2961 broken when second argument is nil
2962 https://bugs.webkit.org/show_bug.cgi?id=115505
2963 <rdar://problem/13787297>
2965 Reviewed by Darin Adler.
2967 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile): Pass a URL string
2968 to assumeReadAccessToBaseURL, as this is what it takes.
2970 2013-05-01 Ryosuke Niwa <rniwa@webkit.org>
2972 [Mac] WebKit doesn't enable or disable autocorrections when system preferences are changed
2973 https://bugs.webkit.org/show_bug.cgi?id=115463
2975 Reviewed by Darin Adler.
2977 Observe the default notification center and propagate the changes to TextCheckerState and
2978 to all WebProcesses when system preferences are updated.
2980 * UIProcess/TextChecker.h:
2981 * UIProcess/WebContext.h:
2982 * UIProcess/mac/TextCheckerMac.mm:
2983 (WebKit::shouldAutomaticTextReplacementBeEnabled):
2984 (WebKit::shouldAutomaticSpellingCorrectionBeEnabled):
2985 (WebKit::shouldAutomaticQuoteSubstitutionBeEnabled):
2986 (WebKit::shouldAutomaticDashSubstitutionBeEnabled):
2987 (WebKit::initializeState):
2988 (WebKit::TextChecker::didChangeAutomaticTextReplacementEnabled):
2989 (WebKit::TextChecker::didChangeAutomaticSpellingCorrectionEnabled):
2990 (WebKit::TextChecker::didChangeAutomaticQuoteSubstitutionEnabled):
2991 (WebKit::TextChecker::didChangeAutomaticDashSubstitutionEnabled):
2992 * UIProcess/mac/WebContextMac.mm:
2993 (WebKit::WebContext::registerNotificationObservers):
2994 (WebKit::WebContext::unregisterNotificationObservers):
2996 2013-05-01 Ryuan Choi <ryuan.choi@samsung.com>
2998 [GTK] Fix build break after r149449
2999 https://bugs.webkit.org/show_bug.cgi?id=115500
3001 Reviewed by Gustavo Noronha Silva.
3003 Unreviewed GTK build fix
3005 * GNUmakefile.list.am: Added LocalStorageDatabase.[cpp|h] to the list of
3008 2013-05-01 Martin Robinson <mrobinson@igalia.com>
3010 [GTK] [WebKit2] Documentation for webkit_web_view_run_javascript should indicate what happens when JavaScript is disabled
3011 https://bugs.webkit.org/show_bug.cgi?id=115492
3013 Reviewed by Xan Lopez.
3015 * UIProcess/API/gtk/WebKitWebView.cpp: Clarify the documentation.
3017 2013-05-01 Tim Horton <timothy_horton@apple.com>
3019 Move knowledge of PDF/PostScript MIME types into MIMETypeRegistry
3020 https://bugs.webkit.org/show_bug.cgi?id=115487
3022 Reviewed by Darin Adler.
3024 * UIProcess/WebContext.cpp:
3025 * UIProcess/WebContext.h:
3026 Remove pdfAndPostScriptMIMETypes.
3028 * UIProcess/WebFrameProxy.cpp:
3029 (WebKit::WebFrameProxy::canShowMIMEType): Move PDF bits to WebPageProxy.
3030 (WebKit::WebFrameProxy::isDisplayingPDFDocument):
3031 Make use of WebCore's newfound knowledge of PDF and PostScript MIME types,
3032 so we don't have to duplicate it unnecessarily in WebKit2.
3034 * UIProcess/WebPageProxy.cpp:
3035 (WebKit::WebPageProxy::canShowMIMEType):
3036 Add code which used to be in WebFrameProxy::canShowMIMEType, and adapt it
3037 to use WebCore's knowledge of PDF and PostScript MIME types.
3039 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
3040 (WebKit::SimplePDFPlugin::pluginInfo):
3041 We previously supported the "text/pdf" MIME type for PDFViewController,
3042 so SimplePDFPlugin and PDFPlugin should support it as well.
3044 * WebProcess/WebPage/WebPage.cpp:
3045 (WebKit::WebPage::createPlugin):
3046 Adopt MIMETypeRegistry::isPDFOrPostScriptMIMEType.
3048 * WebProcess/WebPage/WebPage.h:
3050 Remove pdfAndPostScriptMIMETypes.
3052 * WebProcess/WebPage/mac/WebPageMac.mm:
3053 (WebKit::WebPage::platformPreferencesDidChange):
3054 Adopt getPDFAndPostScriptMIMETypes instead of duplicating the list in WebKit2.
3056 2013-05-01 Anders Carlsson <andersca@apple.com>
3058 Implement LocalStorageDatabase::importItems
3059 https://bugs.webkit.org/show_bug.cgi?id=115493
3061 Reviewed by Andreas Kling.
3063 Fetch items and insert them in the storage map.
3064 * UIProcess/Storage/LocalStorageDatabase.cpp:
3065 (WebKit::LocalStorageDatabase::importItems):
3067 2013-05-01 Anders Carlsson <andersca@apple.com>
3069 Begin work on loading items from the local storage database
3070 https://bugs.webkit.org/show_bug.cgi?id=115489
3072 Reviewed by Andreas Kling.
3074 Some of the LocalStorageDatabase code is originally from WebCore,
3075 but has been simplified due to the fact that we don't need to load
3076 database data asynchronously since we're already running on a non-main thread.
3078 * UIProcess/Storage/LocalStorageDatabase.cpp:
3079 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3080 (WebKit::LocalStorageDatabase::openDatabase):
3081 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
3082 (WebKit::LocalStorageDatabase::migrateItemTableIfNeeded):
3083 (WebKit::LocalStorageDatabase::importItems):
3085 * UIProcess/Storage/LocalStorageDatabase.h:
3086 (WebKit::StorageManager::StorageArea::setItem):
3087 (WebKit::StorageManager::StorageArea::removeItem):
3088 (WebKit::StorageManager::StorageArea::clear):
3089 (WebKit::StorageManager::StorageArea::items):
3090 Call importItemsFromDatabase().
3092 (WebKit::StorageManager::StorageArea::importItemsFromDatabase):
3093 Ask the database to import the items.
3095 2013-05-01 Ryuan Choi <ryuan.choi@samsung.com>
3097 [EFL] Unreviewed buildfix after r149449.
3101 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3103 [Qt] Unreviewed buildfix after r149449.
3107 2013-05-01 Anders Carlsson <andersca@apple.com>
3109 Add LocalStorageDatabase class
3110 https://bugs.webkit.org/show_bug.cgi?id=115486
3112 Reviewed by Sam Weinig.
3114 The LocalStorageDatabase class will persist local storage data to disk.
3116 * UIProcess/Storage/LocalStorageDatabase.cpp:
3117 * UIProcess/Storage/LocalStorageDatabase.h: Added.
3119 * UIProcess/Storage/StorageManager.cpp:
3120 (StorageManager::StorageArea):
3121 (WebKit::StorageManager::LocalStorageNamespace::storageManager):
3124 (StorageManager::LocalStorageNamespace):
3125 (WebKit::StorageManager::StorageArea::StorageArea):
3126 If this is a local storage area, create a LocalStorageDatabase.
3128 (WebKit::StorageManager::LocalStorageNamespace::databaseFilename):
3129 Helper function for getting the name of the database for the given origin.
3131 * WebKit2.xcodeproj/project.pbxproj:
3134 2013-05-01 Alexey Proskuryakov <ap@apple.com>
3136 <rdar://problem/13781156> Launching NetworkProcess broken on some OS versions.
3138 Reviewed by Anders Carlsson.
3140 Adapt to LaunchServices changes.
3142 * Shared/mac/ChildProcessMac.mm:
3143 (WebKit::ChildProcess::setApplicationIsDaemon):
3145 2013-05-01 Martin Robinson <mrobinson@igalia.com>
3147 [GTK] [WebKit2] Add a setting to control whether or not accelerated 2D canvas is enabled
3148 https://bugs.webkit.org/show_bug.cgi?id=114394
3150 Reviewed by Anders Carlsson.
3152 Add a setting to control accelerated 2D canvas, which determines whether
3153 or not to consider rendering HTML canvas with hardware acceleration.
3155 * UIProcess/API/gtk/WebKitSettings.cpp:
3156 (webKitSettingsSetProperty): Added support for enable-accelerated-2d-canvas property.
3157 (webKitSettingsGetProperty): Added support for enable-accelerated-2d-canvas property.
3158 (webkit_settings_class_init): Added support for enable-accelerated-2d-canvas property.
3159 (webkit_settings_get_enable_accelerated_2d_canvas): Added.
3160 (webkit_settings_set_enable_accelerated_2d_canvas): Added.
3161 * UIProcess/API/gtk/WebKitSettings.h: New methods.
3162 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to the documentation.
3163 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3164 (testWebKitSettings): Added a simple test for the setting.
3166 2013-04-30 Jer Noble <jer.noble@apple.com>
3168 Entering full screen mode shows desktop linen instead of WKView the first time.
3169 https://bugs.webkit.org/show_bug.cgi?id=115433
3170 <rdar://problem/13774540>
3172 Reviewed by Eric Carlson.
3174 For certain types of windows created by subclasses of WKView, the window in question fails to paint
3175 when created with a zero-size rect. Create the window with an initial size of the active screen frame
3176 as that is the likely destination size.
3178 * UIProcess/API/mac/WKView.mm:
3179 (-[WKView createFullScreenWindow]):
3181 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3183 [Qt][Win] Fix build after r149416.
3184 https://bugs.webkit.org/show_bug.cgi?id=115474
3186 Reviewed by Anders Carlsson.
3188 * Platform/CoreIPC/Connection.h:
3190 * Platform/CoreIPC/win/ConnectionWin.cpp:
3191 (CoreIPC::Connection::dispatchSentMessagesUntil):
3193 2013-05-01 Sergio Villar Senin <svillar@igalia.com>
3195 Unreviewed GTK build fix after r149417.
3197 * GNUmakefile.list.am: Added PageBanner.[cpp|h] to the list of
3200 2013-05-01 Ryuan Choi <ryuan.choi@samsung.com>
3202 [EFL] Unreviewed buildfix after r149416 and r149417.
3204 Unreviewed build fix.
3208 2013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3210 [Qt] Unreviewed buildfix after r149416 and r149417.
3214 2013-04-30 Dongwoo Joshua Im <dw.im@samsung.com>
3216 [EFL] Unreviewed, EFL build fix after r149416
3217 https://bugs.webkit.org/show_bug.cgi?id=115467
3219 Unreviewed build fix.
3221 * CMakeLists.txt: Remove non-existing file, BinarySemaphore.cpp, from the list.
3223 2013-04-30 Simon Cooper <scooper@apple.com>
3225 ipc-posix-shm backwards compatibility
3226 https://bugs.webkit.org/show_bug.cgi?id=115448
3227 <rdar://problem/13743037>
3229 Reviewed by Alexey Proskuryakov.
3231 Add compatibility for older ipc-posix-shm operations, but prefer the
3232 newer names when writing profiles.
3234 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3236 2013-04-30 Philippe Normand <pnormand@igalia.com>
3238 Unreviewed, GTK build fix after r149416.
3240 * GNUmakefile.list.am: Remove references to non-existant
3241 BinarySemaphore module.
3243 2013-04-28 Alexey Proskuryakov <ap@apple.com>
3245 <rdar://problem/13574729> Implement file path restrictions in WebKit Objective C API
3246 https://bugs.webkit.org/show_bug.cgi?id=115321
3248 Reviewed by Darin Adler.
3250 * UIProcess/API/C/WKPage.cpp:
3251 * UIProcess/API/C/WKPage.h:
3252 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile):
3253 * UIProcess/WebPageProxy.h:
3254 Added and implemented a C API to load a file while only opening sandbox for
3255 a specific directory.
3257 * UIProcess/API/mac/WKBrowsingContextController.h: Fixed a typo in a comment.
3259 * UIProcess/API/mac/WKBrowsingContextController.mm:
3260 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
3261 Respect allowedDirectory argument. Updated the function to raise an exception for
3262 incorrect input, as decribed in header file.
3264 2013-04-29 Sam Weinig <sam@webkit.org>
3266 Add API to allow WebKit2 banners to get mouse events
3267 https://bugs.webkit.org/show_bug.cgi?id=115395
3269 Reviewed by Beth Dakin.
3271 * Shared/API/c/WKBase.h:
3272 * Shared/APIObject.h:
3275 * WebKit2.xcodeproj/project.pbxproj:
3278 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
3281 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3282 (WKBundlePageSetTopOverhangImage):
3283 (WKBundlePageSetBottomOverhangImage):
3284 Fix parameter names to be consistent.
3286 (WKBundlePageSetHeaderBanner):
3287 (WKBundlePageSetFooterBanner):
3288 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3289 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.cpp: Added.
3290 (WKBundlePageBannerGetTypeID):
3291 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Added.
3292 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h: Added.
3293 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Added.
3294 (PageBannerClientImpl):
3295 (PageBannerClientImpl::create):
3296 (PageBannerClientImpl::PageBannerClientImpl):
3297 (PageBannerClientImpl::pageBannerDestroyed):
3298 (PageBannerClientImpl::mouseEvent):
3299 (WKBundlePageBannerCreateBannerWithCALayer):
3300 (WKBundlePageBannerGetLayer):
3303 * WebProcess/WebPage/PageBanner.h: Added.
3304 * WebProcess/WebPage/PageBanner.cpp: Added.
3305 (WebKit::PageBanner::~PageBanner):
3306 (WebKit::PageBanner::addToPage):
3307 (WebKit::PageBanner::detachFromPage):
3308 (WebKit::PageBanner::didChangeDeviceScaleFactor):
3309 (WebKit::PageBanner::mouseEvent):
3310 Add non-mac implementations.
3312 * WebProcess/WebPage/WebPage.cpp:
3313 (WebKit::WebPage::~WebPage):
3314 (WebKit::WebPage::setHeaderPageBanner):
3315 (WebKit::WebPage::headerPageBanner):
3316 (WebKit::WebPage::setFooterPageBanner):
3317 (WebKit::WebPage::footerPageBanner):
3318 (WebKit::WebPage::mouseEvent):
3319 (WebKit::WebPage::mouseEventSyncForTesting):
3320 * WebProcess/WebPage/WebPage.h:
3321 Add banner setter/getters and give the banners a chance to handle mouse events.
3323 * WebProcess/WebPage/mac/PageBannerMac.mm: Added.
3324 (WebKit::PageBanner::create):
3325 (WebKit::PageBanner::PageBanner):
3326 (WebKit::PageBanner::addToPage):
3327 (WebKit::PageBanner::detachFromPage):
3328 (WebKit::PageBanner::didChangeDeviceScaleFactor):
3329 (WebKit::PageBanner::mouseEvent):
3330 (WebKit::PageBanner::layer):
3331 Add Mac implementation.
3333 * WebProcess/WebPage/mac/WebPageMac.mm:
3334 (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
3335 Notify banners when the device scale changes.
3337 2013-04-30 Anders Carlsson <andersca@apple.com>
3339 Remove the WebKit2 BinarySemaphore class
3340 https://bugs.webkit.org/show_bug.cgi?id=115458
3342 Reviewed by Benjamin Poulain.
3344 Remove the WK2 specific BinarySemaphore class and use the one from WTF.
3346 * Platform/CoreIPC/BinarySemaphore.cpp: Removed.
3347 * Platform/CoreIPC/BinarySemaphore.h: Removed.
3348 * Platform/CoreIPC/Connection.cpp:
3349 * Platform/CoreIPC/Connection.h:
3350 * WebKit2.xcodeproj/project.pbxproj:
3352 2013-04-30 Alexey Proskuryakov <ap@apple.com>
3354 <rdar://problem/13757475> WebProcess deny ipc-posix-shm-read-data CFPBS:A2:
3356 Reviewed by Anders Carlsson.
3358 * WebProcess/com.apple.WebProcess.sb.in: Allow pbs shared memory.
3360 2013-04-30 Alexey Proskuryakov <ap@apple.com>
3362 [Mac] Don't open window server connection in network process
3363 https://bugs.webkit.org/show_bug.cgi?id=115446
3365 Reviewed by Anders Carlsson.
3367 * NetworkProcess/NetworkProcess.cpp:
3368 (WebKit::NetworkProcess::initializeProcess):
3369 * NetworkProcess/NetworkProcess.h:
3370 * NetworkProcess/mac/NetworkProcessMac.mm:
3371 (WebKit::NetworkProcess::initializeProcess):
3372 (WebKit::NetworkProcess::initializeProcessName):
3373 Instead of shutting down a connection after setting process name, just prevent
3374 it from being created.
3376 * Shared/ChildProcess.h:
3377 * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::setApplicationIsDaemon):
3378 Expose a function for client processes to call if they don't run an NSApplication
3381 * OfflineStorageProcess/OfflineStorageProcess.cpp:
3382 (WebKit::OfflineStorageProcess::initializeProcess):
3383 * OfflineStorageProcess/OfflineStorageProcess.h:
3384 * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
3385 (WebKit::OfflineStorageProcess::initializeProcess):
3386 (WebKit::OfflineStorageProcess::initializeProcessName):
3387 * SharedWorkerProcess/SharedWorkerProcess.cpp:
3388 (WebKit::SharedWorkerProcess::initializeProcess):
3389 (WebKit::SharedWorkerProcess::initializeProcessName):
3390 * SharedWorkerProcess/SharedWorkerProcess.h:
3391 * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
3392 (WebKit::SharedWorkerProcess::initializeProcess):
3393 (WebKit::SharedWorkerProcess::initializeProcessName):
3394 Match NetworkProcess for consistency.
3396 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::initializeProcessName):
3397 Don't null check UI process name. First, it can't be null, and second, some other
3398 processes already don't have this check.
3400 2013-04-30 Tim Horton <timothy_horton@apple.com>
3402 Disable deprecation warnings around some NSProcessInfo API.
3404 Rubber-stamped by Brady Eidson.
3406 * Shared/mac/ChildProcessMac.mm:
3407 (WebKit::ChildProcess::setProcessSuppressionEnabled):
3409 2013-04-30 Brady Eidson <beidson@apple.com>
3411 [WK2] Threads get stuck in NetworkProcess when canceling loads in WebProcess.
3412 <rdar://problem/13757687> and https://bugs.webkit.org/show_bug.cgi?id=115319
3414 Written and reviewed by both Alexey Proskuryakov and Brady Eidson.
3416 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3417 (WebKit::NetworkConnectionToWebProcess::didClose): Call abort() on all loaders
3418 instead of connectionToWebProcessDidClose()
3419 (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Instead of removing
3420 the loader from the scheduler, call abort() which will also end up removing it.
3422 * NetworkProcess/SchedulableLoader.h: Add a virtual abort() call.
3424 * NetworkProcess/NetworkResourceLoader.cpp:
3425 (WebKit::NetworkResourceLoader::sendAbortingOnFailure): Added a messageFlags argument so
3426 callers can pass DispatchMessageEvenWhenWaitingForSyncReply.
3427 (WebKit::NetworkResourceLoader::abort): Combined "abortInProgressLoad" and "cleanup" to
3428 be a general purpose "cancel"
3429 (WebKit::NetworkResourceLoader::didReceiveBuffer):
3430 (WebKit::NetworkResourceLoader::willSendRequestAsync):
3431 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
3432 * NetworkProcess/NetworkResourceLoader.h:
3434 * NetworkProcess/SyncNetworkResourceLoader.cpp:
3435 (WebKit::SyncNetworkResourceLoader::abort):
3436 * NetworkProcess/SyncNetworkResourceLoader.h:
3438 * WebProcess/Network/WebResourceLoadScheduler.cpp:
3439 (WebKit::WebResourceLoadScheduler::remove): Remove an obsolete/incorrect comment.
3441 * WebProcess/Network/WebResourceLoader.cpp:
3442 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Add comment stressing
3443 the importance of this null check so it's not removed again.
3445 2013-04-30 Carlos Garcia Campos <cgarcia@igalia.com>
3447 [WK2][GTK] MiniBrowser won't play video in <embed> tag
3448 https://bugs.webkit.org/show_bug.cgi?id=113107
3450 Reviewed by Anders Carlsson.
3452 The wrong clip region is used for windowed plugins, because it's
3453 translated to window frame coords again.
3455 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3456 (WebKit::NetscapePlugin::platformGeometryDidChange): Do not move
3457 the current clip region.
3459 2013-04-30 Timothy Hatcher <timothy@apple.com>
3461 Make the Inspector dock to right button work in the WebKit nightlies on Safari 6.0.4.
3463 https://webkit.org/b/115428
3465 Reviewed by Joseph Pecoraro.
3467 * UIProcess/mac/WebInspectorProxyMac.mm:
3468 (WebKit::WebInspectorProxy::createInspectorWindow): Reduce the required Safari version.
3469 (WebKit::WebInspectorProxy::platformDetach): Simplify the frame restoring code so it
3470 works on Safari 6.0.4.
3472 2013-04-30 Artur Moryc <a.moryc@samsung.com>
3474 [WK2][EFL] Spelling marker disappears while selection is being changed
3475 https://bugs.webkit.org/show_bug.cgi?id=115165
3477 Reviewed by Anders Carlsson.
3479 The marker for a misspelled word disappears while the cursor is being navigated along the word.
3481 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3482 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
3484 2013-04-30 Zalan Bujtas <zalan@apple.com>
3486 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
3487 https://bugs.webkit.org/show_bug.cgi?id=111244
3489 Reviewed by David Kilzer.
3491 Enable performance.now() as a minimal subset of Web Timing API.
3492 It returns DOMHighResTimeStamp, a monotonically increasing value representing the
3493 number of milliseconds from the start of the navigation of the current document.
3494 JS libraries use this API to check against the requestAnimationFrame() timestamp.
3496 * Configurations/FeatureDefines.xcconfig:
3498 2013-04-29 Chris Fleizach <cfleizach@apple.com>
3500 WEB SPEECH: need to identify the default voice per language
3501 https://bugs.webkit.org/show_bug.cgi?id=115366
3503 Reviewed by Tim Horton.
3505 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3506 (InitWebCoreSystemInterface):
3508 2013-04-29 Benjamin Poulain <benjamin@webkit.org>
3510 [WK2] Streamline the use of strings in WebProcess::getWebCoreStatistics
3511 https://bugs.webkit.org/show_bug.cgi?id=115315
3513 Reviewed by Geoffrey Garen.
3515 Remove a couple of unjustified DEFINE_STATIC_LOCAL.
3516 Use ASCIILiteral when allocating new String.
3518 * WebProcess/WebProcess.cpp:
3519 (WebKit::getWebCoreMemoryCacheStatistics):
3520 (WebKit::WebProcess::getWebCoreStatistics):
3522 2013-04-29 Anders Carlsson <andersca@apple.com>
3524 Remove StorageTracker::originsLoaded
3525 https://bugs.webkit.org/show_bug.cgi?id=115382
3527 Reviewed by Sam Weinig.
3529 Add m_didFinishLoadingOrigins.
3531 * WebProcess/Storage/WebKeyValueStorageManager.cpp:
3532 (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
3533 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
3534 (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
3535 * WebProcess/Storage/WebKeyValueStorageManager.h:
3536 (WebKeyValueStorageManager):
3538 2013-04-29 Chris Fleizach <cfleizach@apple.com>
3540 WEB SPEECH Update seatbelt profile to work with speech synthesis
3541 https://bugs.webkit.org/show_bug.cgi?id=115368
3543 Reviewed by Alexey Proskuryakov.
3545 * WebProcess/com.apple.WebProcess.sb.in:
3547 2013-04-28 Beth Dakin <bdakin@apple.com>
3549 Need a LayoutMilestone to fire when we have done our first paint after suppressing
3551 https://bugs.webkit.org/show_bug.cgi?id=115330
3553 <rdar://problem/12722365>
3555 Reviewed by Simon Fraser.
3558 * Shared/API/c/WKPageLoadTypes.h:
3559 * Shared/API/c/WKSharedAPICast.h:
3560 (WebKit::toWKLayoutMilestones):
3561 (WebKit::toLayoutMilestones):
3563 This null-check is necessary now since this code ends up running at
3564 WebFrame::init() time while we're setting up the Document.
3565 setVisualUpdatesAllowed(true) has always been called as a part of that process,
3566 and now the updateLayout(), ends up calling this code too, but we don't actually
3567 have a mainFrame yet since it's still being created.
3568 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3569 (WebKit::findLargestFrameInFrameSet):
3571 2013-04-29 Brady Eidson <beidson@apple.com>
3573 REGRESSION: We see authentication challenge sheets for favicon requests.
3574 <rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288
3576 Reviewed by Alexey Proskuryakov.
3578 Have NetworkResourceLoadParameters remember the ClientCredentialPolicy:
3579 * Shared/Network/NetworkResourceLoadParameters.cpp:
3580 (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
3581 (WebKit::NetworkResourceLoadParameters::encode):
3582 (WebKit::NetworkResourceLoadParameters::decode):
3583 * Shared/Network/NetworkResourceLoadParameters.h:
3585 Pass along the ClientCredentialPolicy to the NetworkProcess:
3586 * WebProcess/Network/WebResourceLoadScheduler.cpp:
3587 (WebKit::WebResourceLoadScheduler::scheduleLoad):
3588 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3589 (WebKit::WebPlatformStrategies::loadResourceSynchronously):
3590 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3592 Have the SchedulableLoader remember the ClientCredentialPolicy:
3593 * NetworkProcess/SchedulableLoader.cpp:
3594 (WebKit::SchedulableLoader::SchedulableLoader):
3595 * NetworkProcess/SchedulableLoader.h:
3596 (WebKit::SchedulableLoader::clientCredentialPolicy):
3598 Don’t message for credentials if the ClientCredentialPolicy forbids it:
3599 * NetworkProcess/NetworkResourceLoader.cpp:
3600 (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
3601 * NetworkProcess/NetworkResourceLoader.h:
3603 Update for the new loadResourceSynchronously signature (which is still a no-op on the NetworkProcess side):
3604 * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
3605 (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
3606 * NetworkProcess/NetworkProcessPlatformStrategies.h:
3608 2013-04-29 Jer Noble <jer.noble@apple.com>
3610 Unreviewed build fix. Point the Network process towards its own version of SecItemShim.dyld.
3612 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
3614 2013-04-29 Alexey Proskuryakov <ap@apple.com>
3616 Threads get stuck in NetworkProcess when canceling loads
3617 https://bugs.webkit.org/show_bug.cgi?id=115319
3619 Backing out part of the fix, as it's causing crashes.
3621 * WebProcess/Network/WebResourceLoader.cpp:
3622 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
3624 2013-04-29 Noam Rosenthal <noam@webkit.org>
3626 Get rid of "non-composited contents" in CoordinatedLayerTreeHost
3627 https://bugs.webkit.org/show_bug.cgi?id=110355
3629 Reviewed by Jocelyn Turcotte.
3631 Instead of using a special non-composited contents layer, we let RenderLayerCompositor create
3632 a proper GraphicsLayer for that content.
3633 CoordinatedLayerTreeHost now needs to find the main contents layer for the purpose of setting
3634 the trajectory vector and applying the cover rect.
3636 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3637 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
3638 (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
3639 Don't create the non-composited layer, instead keep a raw pointer to the root
3640 compositing layer created by the WebCore compositor.
3642 (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
3643 (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
3644 (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
3645 (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
3646 (WebKit::CoordinatedLayerTreeHost::paintContents):
3647 (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
3648 (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
3649 Remove non-composited layer specialization.
3651 2013-04-29 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3653 [Qt] Build fix. Enabling c++11 for Qt WK2 after r149259.
3654 https://bugs.webkit.org/show_bug.cgi?id=115345
3656 Reviewed by Anders Carlsson.
3660 2013-04-29 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
3662 [WK2][EFL] Skip cancel fullscreen request if not made from FullScreen API
3663 https://bugs.webkit.org/show_bug.cgi?id=108201
3665 Reviewed by Andreas Kling.
3667 Adds a check on WebFullScreenManagerProxyEfl whether fullscreen mode was
3668 set from FullScreen API or not, so it can skip cancelling fullscreen
3669 request if fullscreen mode was set by application, preventing
3670 WebProcess' FullScreenManager from crashing.
3672 EFL unit test available: ewk_view_cancel_full_screen_request.
3674 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
3675 (WKViewExitFullScreen):
3676 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
3677 WKViewExitFullScreen now returns a bool, indicating whether the
3678 operation has succeeded or not.
3680 * UIProcess/API/efl/ewk_view.cpp:
3681 (ewk_view_fullscreen_exit):
3682 Skip request if not in fullscreen mode.
3684 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3686 Added ewk_view_cancel_full_screen_request unit test.
3688 * UIProcess/CoordinatedGraphics/WebView.cpp:
3689 (WebKit::WebView::exitFullScreen):
3690 * UIProcess/CoordinatedGraphics/WebView.h:
3692 exitFullScreen now returns a bool, indicating whether the operation has
3695 * UIProcess/WebFullScreenManagerProxy.cpp:
3696 (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
3697 * UIProcess/WebFullScreenManagerProxy.h:
3698 (WebFullScreenManagerProxy):
3699 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
3700 (WebKit::WebFullScreenManagerProxy::isFullScreen):
3701 (WebKit::WebFullScreenManagerProxy::enterFullScreen):
3702 (WebKit::WebFullScreenManagerProxy::exitFullScreen):
3703 Added m_hasRequestedFullScreen boolean flag to EFL port. Used to
3704 indicate if fullscreen mode is enabled, as well as sanity checks on both
3705 {enter,exit}FullScreen functions.
3707 2013-04-29 Anders Carlsson <andersca@apple.com>
3709 Stop using range-based for syntax
3710 https://bugs.webkit.org/show_bug.cgi?id=115356
3712 Reviewed by Andreas Kling.
3714 * PluginProcess/WebProcessConnection.cpp:
3715 (WebKit::WebProcessConnection::didClose):
3717 2013-04-29 Sergio Correia <sergio.correia@openbossa.org>
3719 [EFL][WK2]: WebProcessMain: hide call to ecore_x_shutdown() under guard
3720 https://bugs.webkit.org/show_bug.cgi?id=115295
3722 Reviewed by Andreas Kling.
3724 Since the mentioned function is declared in a header that is included
3725 conditionally depending on HAVE_ECORE_X being defined.
3727 * WebProcess/efl/WebProcessMainEfl.cpp:
3728 (WebKit::WebProcessMainEfl):
3730 2013-04-29 Jinwoo Song <jinwoo7.song@samsung.com>
3732 [WK2] Remove build warnings by -Wunused-parameter
3733 https://bugs.webkit.org/show_bug.cgi?id=115344
3735 Reviewed by Noam Rosenthal.
3737 Fix build warnigs -Wunused-parameter.
3739 * UIProcess/CoordinatedGraphics/WebView.cpp:
3740 (WebKit::WebView::createContextMenuProxy):
3741 * UIProcess/DrawingAreaProxy.h:
3742 (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
3743 * UIProcess/WebPageProxy.cpp:
3744 (WebKit::WebPageProxy::connectionWillClose):
3746 2013-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
3748 Unreviewed. Fix make distcheck.
3750 * GNUmakefile.list.am: Add missing header files to compilation.
3752 2013-04-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3754 Unreviewed fix build break on EFL port since r149259.
3756 In EFL port, there is a non-compatible code when compiling based on C++11. This is a trivial build fix.
3758 I got a confirm from Sam about landing a trivial build fix patch without sign-off from
3761 * UIProcess/API/efl/EwkViewCallbacks.h:
3763 2013-04-28 Dean Jackson <dino@apple.com>
3765 [Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS)
3766 https://bugs.webkit.org/show_bug.cgi?id=115310
3768 Reviewed by Simon Fraser.
3770 Remove ENABLE_HIGH_DPI_CANVAS_macosx.
3772 * Configurations/FeatureDefines.xcconfig:
3774 2013-04-28 Sam Weinig <sam@webkit.org>
3776 [WebKit2] Adopt new API for detecting window occlusion
3777 https://bugs.webkit.org/show_bug.cgi?id=115334
3779 Reviewed by Simon Fraser.
3781 Switch off of WKSI for window occlusion and use the new NSWindowDidChangeOcclusionState notification
3784 * UIProcess/API/mac/WKView.mm:
3785 (-[WKView dealloc]):
3786 (-[WKView addWindowObserversForWindow:]):
3787 (-[WKView removeWindowObservers]):
3788 (-[WKView viewWillMoveToWindow:]):
3789 (-[WKView viewDidMoveToWindow]):
3790 (-[WKView _windowDidOrderOnScreen:]):
3791 (-[WKView _windowDidChangeOcclusionState:]):
3792 (-[WKView _setIsWindowOccluded:]):
3793 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3794 (-[WKView windowOcclusionDetectionEnabled]):
3795 (-[WKView setWindowOcclusionDetectionEnabled:]):
3796 Only compile occlusion detection code where supported and remove calls to register/deregister
3797 for detection callbacks, now that NSWindow will handle that for us. We also no longer need to
3798 track all the WKViews, as that was only required to lookup the view that matched the window number
3799 returned from the occlusion callback.
3801 2013-04-26 Anders Carlsson <andersca@apple.com>
3803 Use OwnPtr<PluginControllerProxy> for storing plug-in controllers in WebProcessConnection
3804 https://bugs.webkit.org/show_bug.cgi?id=115259
3806 Reviewed by Andreas Kling.
3808 * PluginProcess/WebProcessConnection.cpp:
3809 (WebKit::WebProcessConnection::addPluginControllerProxy):
3810 (WebKit::WebProcessConnection::removePluginControllerProxy):
3811 (WebKit::WebProcessConnection::didClose):
3812 * PluginProcess/WebProcessConnection.h:
3813 (WebProcessConnection):
3815 2013-04-27 Jessie Berlin <jberlin@apple.com>
3819 * NetworkProcess/NetworkResourceLoader.cpp:
3820 (WebKit::NetworkResourceLoader::didReceiveBuffer):
3821 Do not declare another variable with the same name.
3823 2013-04-27 Darin Adler <darin@apple.com>
3825 Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
3826 https://bugs.webkit.org/show_bug.cgi?id=115307
3828 Reviewed by Geoffrey Garen.
3830 This change was done by a global replace followed by compiling and inspecting for
3831 cases that needed to be tweaked by hand.
3833 * Platform/cg/CGUtilities.cpp:
3834 (WebKit::paintBitmapContext):
3835 * Platform/mac/ModuleMac.mm:
3836 (WebKit::Module::load):
3837 (WebKit::Module::platformFunctionPointer):
3838 * PluginProcess/mac/PluginProcessMac.mm:
3839 (WebKit::PluginProcess::initializeSandbox):
3840 * Shared/API/c/mac/WKURLRequestNS.mm:
3841 (WKURLRequestCreateWithNSURLRequest):
3842 * Shared/API/c/mac/WKURLResponseNS.mm:
3843 (WKURLResponseCreateWithNSURLResponse):
3844 * Shared/Downloads/mac/DownloadMac.mm:
3845 (WebKit::Download::start):
3846 (WebKit::Download::startWithHandle):
3847 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
3848 (WebKit::ChildProcessMain):
3849 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
3850 (WebKit::getPluginArchitecture):
3851 (WebKit::contentsOfPropertyListAtURL):
3852 (WebKit::getMIMETypesFromPluginBundle):
3853 (WebKit::getStringListResource):
3854 (WebKit::NetscapePluginModule::getPluginInfo):
3855 * Shared/ShareableResource.cpp:
3856 (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
3857 * Shared/cf/ArgumentCodersCF.cpp:
3860 * Shared/cg/ShareableBitmapCG.cpp:
3861 (WebKit::ShareableBitmap::createGraphicsContext):
3862 (WebKit::ShareableBitmap::makeCGImageCopy):
3863 (WebKit::ShareableBitmap::makeCGImage):
3864 (WebKit::ShareableBitmap::createCGImage):
3865 * Shared/mac/ArgumentCodersMac.mm:
3867 * Shared/mac/PlatformCertificateInfo.mm:
3868 (WebKit::PlatformCertificateInfo::dump):
3869 * Shared/mac/WebCoreArgumentCodersMac.mm:
3870 (CoreIPC::::encodePlatformData):
3871 (CoreIPC::::decodePlatformData):
3872 * UIProcess/API/mac/FindIndicatorWindow.mm:
3873 (WebKit::FindIndicatorWindow::setFindIndicator):
3874 (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
3875 * UIProcess/API/mac/PDFViewController.mm:
3876 (-[WKPDFView initWithFrame:PDFViewController:]):
3877 (WebKit::PDFViewController::PDFViewController):
3878 (WebKit::convertPostScriptDataSourceToPDF):
3879 (WebKit::PDFViewController::setPDFDocumentData):
3880 * UIProcess/API/mac/PageClientImpl.mm:
3881 (WebKit::PageClientImpl::PageClientImpl):
3882 (WebKit::PageClientImpl::registerEditCommand):
3883 (WebKit::PageClientImpl::setDragImage):
3884 * UIProcess/API/mac/WKBrowsingContextController.mm:
3885 (didFailProvisionalLoadWithErrorForFrame):
3886 (didFailLoadWithErrorForFrame):
3887 * UIProcess/API/mac/WKConnection.mm:
3888 (didReceiveMessage):
3889 * UIProcess/API/mac/WKPrintingView.mm:
3890 (-[WKPrintingView drawRect:]):
3891 * UIProcess/API/mac/WKView.mm:
3892 (-[WKView browsingContextController]):
3893 (-[WKView _setAcceleratedCompositingModeRootLayer:]):
3894 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
3895 (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
3896 (-[WKView fullScreenWindowController]):
3897 (-[WKView _executeSavedCommandBySelector:]):
3898 (-[WKView printOperationWithPrintInfo:forFrame:]):
3899 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3900 (WebKit::createProcess):
3901 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3902 (WebKit::PluginInfoStore::pluginPathsInDirectory):
3903 (WebKit::PluginInfoStore::getMIMETypeForExtension):
3904 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3905 (WebKit::PluginProcessProxy::beginModal):
3906 * UIProcess/cf/WebBackForwardListCF.cpp:
3907 (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
3908 * UIProcess/cf/WebPageProxyCF.cpp:
3909 (WebKit::WebPageProxy::sessionStateData):
3910 (WebKit::WebPageProxy::restoreFromSessionStateData):
3911 (WebKit::WebPageProxy::saveRecentSearches):
3912 (WebKit::WebPageProxy::loadRecentSearches):
3913 * UIProcess/cf/WebPreferencesCF.cpp:
3914 (WebKit::cfStringFromWebCoreString):
3915 (WebKit::setStringValueIfInUserDefaults):
3916 (WebKit::setBoolValueIfInUserDefaults):
3917 (WebKit::setUInt32ValueIfInUserDefaults):
3918 (WebKit::setDoubleValueIfInUserDefaults):
3919 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
3920 (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
3921 (WebKit::WebPreferences::platformUpdateFloatValueForKey):
3922 * UIProcess/mac/BackingStoreMac.mm:
3923 (WebKit::BackingStore::resetScrolledRect):
3924 (WebKit::BackingStore::backingStoreContext):
3925 * UIProcess/mac/CorrectionPanel.mm:
3926 (WebKit::CorrectionPanel::handleAcceptedReplacement):
3927 * UIProcess/mac/TextCheckerMac.mm:
3928 (WebKit::TextChecker::checkTextOfParagraph):
3929 (WebKit::TextChecker::updateSpellingUIWithGrammarString):
3930 * UIProcess/mac/WKFullScreenWindowController.mm:
3931 (-[WKFullScreenWindowController enterFullScreen:]):
3932 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
3933 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
3934 * UIProcess/mac/WebContextMac.mm:
3935 (WebKit::WebContext::platformDefaultDiskCacheDirectory):
3936 * UIProcess/mac/WebContextMenuProxyMac.mm:
3937 (WebKit::nsMenuItemVector):
3938 (WebKit::WebContextMenuProxyMac::populate):
3939 * UIProcess/mac/WebInspectorProxyMac.mm:
3940 (WebKit::WebInspectorProxy::createInspectorWindow):
3941 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3942 * UIProcess/mac/WebPopupMenuProxyMac.mm:
3943 (WebKit::WebPopupMenuProxyMac::populate):
3944 (WebKit::WebPopupMenuProxyMac::showPopupMenu):
3945 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
3946 (WebKit::InjectedBundle::load):
3947 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3948 (WebKit::NetscapePlugin::updatePluginLayer):
3949 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
3950 (WebKit::PluginProxy::pluginLayer):
3951 * WebProcess/Plugins/PDF/PDFPlugin.mm:
3952 (WebKit::PDFPlugin::PDFPlugin):
3953 (WebKit::PDFPlugin::createScrollbar):
3954 (WebKit::PDFPlugin::pdfDocumentDidLoad):
3955 (WebKit::PDFPlugin::writeItemsToPasteboard):
3956 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
3957 (getAllScriptsInPDFDocument):
3958 (WebKit::SimplePDFPlugin::pdfDocumentDidLoad):
3959 (WebKit::SimplePDFPlugin::streamDidReceiveData):
3960 (WebKit::SimplePDFPlugin::manualStreamDidReceiveData):
3961 * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
3962 (WebKit::WebResourceCacheManager::clearCacheForOrigin):
3963 * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
3964 (WebKit::WebResourceCacheManager::cfURLCacheHostNames):
3965 (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
3966 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
3967 (WebKit::createNSError):
3968 * WebProcess/WebPage/WebPage.cpp:
3969 (WebKit::WebPage::drawPagesToPDF):
3970 * WebProcess/WebPage/mac/WebPageMac.mm:
3971 (WebKit::WebPage::performDictionaryLookupForRange):
3972 (WebKit::cachedResponseForURL):
3973 (WebKit::WebPage::drawPagesToPDFFromPDFDocument):
3974 * WebProcess/mac/WebProcessMac.mm:
3975 (WebKit::WebProcess::platformSetCacheModel):
3976 Use adoptCF and adoptNS free functions.
3978 2013-04-27 Alexey Proskuryakov <ap@apple.com>
3980 <rdar://problem/13757007> Crashes in NetworkResourceLoader::didReceiveResponseAsync
3981 https://bugs.webkit.org/show_bug.cgi?id=115318
3983 Reviewed by Darin Adler.
3985 sendAbortingOnFailure may actually fail, and abort the request, making m_handle null.
3987 * NetworkProcess/NetworkResourceLoader.cpp:
3988 (WebKit::NetworkResourceLoader::didReceiveResponseAsync): Null check m_handle after
3989 sending a message, because the request will cancelled when connection is invalid.
3990 (WebKit::NetworkResourceLoader::didReceiveBuffer): Assert that m_handle matches
3991 the handle that we are called with.
3992 (WebKit::NetworkResourceLoader::didFinishLoading): Ditto.
3993 (WebKit::NetworkResourceLoader::didFail): Ditto.
3994 (WebKit::NetworkResourceLoader::willSendRequestAsync): Ditto.
3995 (WebKit::NetworkResourceLoader::didSendData): Ditto.
3996 (WebKit::NetworkResourceLoader::shouldUseCredentialStorage): Ditto.
3997 (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): Ditto.
3998 (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Ditto.
3999 (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge): Ditto.
4000 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): Ditto.
4002 2013-04-27 Alexey Proskuryakov <ap@apple.com>
4004 <rdar://problem/13757687> Threads get stuck in NetworkProcess when canceling loads
4005 https://bugs.webkit.org/show_bug.cgi?id=115319
4007 Reviewed by Darin Adler.
4009 WebResourceLoader was second-guessing NetworkProcess as to whether it needs a response
4010 to DidReceiveResponseWithCertificateInfo, and it was guessing wrong if the load was
4011 alrady canceled on WebProcess side.
4013 * NetworkProcess/NetworkResourceLoader.cpp:
4014 (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
4015 * WebProcess/Network/WebResourceLoader.cpp:
4016 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
4017 * WebProcess/Network/WebResourceLoader.h:
4018 * WebProcess/Network/WebResourceLoader.messages.in:
4020 2013-04-27 Alexey Proskuryakov <ap@apple.com>
4022 Regression tests that reference a non-local resource crash with NetworkProcess enabled
4023 https://bugs.webkit.org/show_bug.cgi?id=115290
4025 Reviewed by Sam Weinig.
4027 Covered by fast/dom/icon-url-change.html and many other existing tests.
4029 * WebProcess/Network/WebResourceLoadScheduler.cpp:
4030 (WebKit::WebResourceLoadScheduler::remove): Handle this case. Architecturally, it
4031 would be better if SubresourceLoad::create just created an object an didn't do
4032 further checks before returning a pointer, but changing that is beyond the scope
4035 2013-04-26 Yael Aharon <yael.aharon@intel.com>
4037 [WK2][EFL] Build break after r149212
4038 https://bugs.webkit.org/show_bug.cgi?id=115294
4040 Reviewed by Simon Fraser.
4041 r144672 bumped up the revision of WKContextClient API, and introduced a version array
4042 APIClientTraits<WKContextClient>::interfaceSizesByVersion .
4043 In r149212, the version was bumped back down and the version array was emptied but not removed.
4044 This causes a warning "array subscript is below array bounds", and in EFL the warning is
4047 * Shared/APIClientTraits.cpp:
4049 * Shared/APIClientTraits.h:
4051 2013-04-26 Martin Robinson <mrobinson@igalia.com>
4053 [GTK] Add methods to add a user style sheet to the WebKit2 GTK+ API
4054 https://bugs.webkit.org/show_bug.cgi?id=99081
4056 Reviewed by Carlos Garcia Campos, Gustavo Noronha Silva, and Benjamin Poulain.
4058 Add methods to WebKitWebViewGroup to add and remove user style sheets.
4059 This allows clients to inject style sheets into pages with a set of
4060 rules for when those style sheets apply.
4062 * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
4063 (toImmutableArray): Added this helper which converts the GList* parameters into
4064 ImmutableArrays for use with the WebKit2 internal API.
4065 (webkit_web_view_group_add_user_style_sheet): Added new API for adding a style sheet.
4066 (webkit_web_view_group_remove_all_user_style_sheets): Add new API for clearing out all style sheets.
4067 * UIProcess/API/gtk/WebKitWebViewGroup.h: Added new method declarations.
4068 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API to the documentation.
4069 * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added a test for the new API.
4070 (isStyleSheetInjectedForURLAtPath): Function to check whether the style sheet has been injected for a given URL.
4071 (fillURLListFromPaths): Helper which converts paths passed via varargs into a whitelist or blacklist.
4072 (removeOldInjectedStyleSheetsAndResetLists): Function to start afresh.
4073 (testWebViewGroupInjectedStyleSheet): The actual test.
4074 (serverCallback): Server callback for use with the test. We cannot use loadHTML or
4075 loadAlternateHTML, because that checks the whitelist and blacklist against about:blank.
4076 (beforeAll): Initialize the server and new test.
4077 (afterAll): Clean up the server.
4079 2013-04-26 Simon Cooper <scooper@apple.com>
4081 Permit ~/Library or ~/Library/Preferences to be symlinks
4082 https://bugs.webkit.org/show_bug.cgi?id=115142
4083 <rdar://problem/12953603>
4085 Reviewed by Alexey Proskuryakov.
4087 Pass in two new parameters which are the resolved paths to ~/Library
4088 and ~/Library/Preferences. Added new expansion functions and
4089 substituted the new functions for home-regex, home-subpath and
4090 home-literal for places referencing resources in "~/Library" or
4091 "~/Library/Preferences".
4093 * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
4094 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
4095 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
4096 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
4097 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
4098 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
4099 * Shared/mac/ChildProcessMac.mm:
4100 (WebKit::ChildProcess::initializeSandbox):
4102 2013-04-26 Alexey Proskuryakov <ap@apple.com>
4104 [WK2] WKContextClient doesn't need to be versioned yet
4105 https://bugs.webkit.org/show_bug.cgi?id=115279
4107 Reviewed by Anders Carlsson.
4109 * Shared/APIClientTraits.cpp:
4110 * Shared/APIClientTraits.h:
4111 * UIProcess/API/C/WKContext.h:
4113 2013-04-26 Anders Carlsson <andersca@apple.com>
4115 Downloads need to be converted from the NSURLConnection, not canceled and restarted, when using the NetworkProcess
4116 https://bugs.webkit.org/show_bug.cgi?id=115277
4117 <rdar://problem/12890184>
4119 Reviewed by Sam Weinig.
4121 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
4122 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
4123 Ask the download manager to convert the main resource load to a download.
4125 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: