1 2014-06-11 Enrica Casucci <enrica@apple.com>
3 WebKit2 iOS: Unable to open UI menu for "open in new tab" for links on yahoo.com.
4 https://bugs.webkit.org/show_bug.cgi?id=133749
5 <rdar://problem/17165992>
7 Reviewed by Brady Eidson.
9 The URL returned to the UIProcess as string needs to be encoded.
11 * WebProcess/WebPage/ios/WebPageIOS.mm:
12 (WebKit::WebPage::getPositionInformation):
14 2014-06-10 Anders Carlsson <andersca@apple.com>
16 Move suppressesIncrementalRendering to WKWebViewConfiguration
17 https://bugs.webkit.org/show_bug.cgi?id=133707
18 <rdar://problem/17271468>
20 Reviewed by Sam Weinig.
22 * UIProcess/API/Cocoa/WKPreferences.h:
23 Get rid of suppressesIncrementalRendering.
25 * UIProcess/API/Cocoa/WKWebView.mm:
26 (-[WKWebView initWithFrame:configuration:]):
27 Set the suppressesIncrementalRenderingKey key in webPageConfiguration.preferenceValues.
29 * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
30 Add suppressesIncrementalRendering.
32 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
33 (-[WKWebViewConfiguration copyWithZone:]):
34 Assign suppressesIncrementalRendering.
36 * UIProcess/WebPageProxy.cpp:
37 (WebKit::WebPageProxy::WebPageProxy):
38 Copy webPageConfiguration.preferenceValues to m_configurationPreferenceValues.
40 (WebKit::WebPageProxy::preferencesStore):
41 If m_configurationPreferenceValues is empty, just return m_preferences->store(). Otherwise,
42 copy the store and apply the configuration preference values.
44 (WebKit::WebPageProxy::preferencesDidChange):
45 Call preferencesStore() so we'll get the configuration preference values as well.
47 (WebKit::WebPageProxy::creationParameters):
50 * UIProcess/WebPageProxy.h:
52 2014-06-11 Antti Koivisto <antti@apple.com>
54 Wrap NSURLRequest in bundle API
55 https://bugs.webkit.org/show_bug.cgi?id=133732
56 <rdar://problem/17267217>
58 Reviewed by Andreas Kling.
60 Patch by Dan Bernstein.
62 We don't want to construct actual NSURLRequests in the web process side unless really needed as it is slow.
64 * Shared/Cocoa/APIObject.mm:
65 (API::Object::newObject):
66 * Shared/Cocoa/WKNSURLRequest.h: Added.
68 * Shared/Cocoa/WKNSURLRequest.mm: Added.
70 Add a wrapper object that initializes the underlying NSURLRequest on-demand.
72 (-[WKNSURLRequest _web_createTarget]):
73 (-[WKNSURLRequest URL]):
74 (-[WKNSURLRequest copyWithZone:]):
75 * WebKit2.xcodeproj/project.pbxproj:
76 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
77 (willSendRequestForFrame):
78 (didInitiateLoadForResource):
80 2014-06-11 Dan Bernstein <mitz@apple.com>
82 <rdar://problem/17218629> [Cocoa] WKWebView’s canGoBack and canGoForward properties are not KVO-compliant
83 https://bugs.webkit.org/show_bug.cgi?id=133722
85 Reviewed by Anders Carlsson.
87 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Added no-op overrides of new
88 PageLoadStateObserver member functions.
90 * UIProcess/API/Cocoa/WKWebView.h: Documented the canGoBack and canGoForward properties as
92 * UIProcess/API/Cocoa/WKWebView.mm:
93 (-[WKWebView canGoBack]): Changed to get the return value from the page load state.
94 (-[WKWebView canGoForward]): Ditto.
96 * UIProcess/Cocoa/NavigationState.h:
97 * UIProcess/Cocoa/NavigationState.mm:
98 (WebKit::NavigationState::willChangeCanGoBack): Override this new PageLoadStateObserver
99 member function by sending the appropriate KVO change message to the WKWebView.
100 (WebKit::NavigationState::didChangeCanGoBack): Ditto.
101 (WebKit::NavigationState::willChangeCanGoForward): Ditto.
102 (WebKit::NavigationState::didChangeCanGoForward): Ditto.
104 * UIProcess/PageLoadState.cpp:
105 (WebKit::PageLoadState::commitChanges): Check for changes to canGoBack and canGoForward
106 and call the observers if needed.
107 (WebKit::PageLoadState::canGoBack): Added. Returns the value from the committed state.
108 (WebKit::PageLoadState::setCanGoBack): Added. Sets the value in the uncommitted state.
109 (WebKit::PageLoadState::canGoForward): Added. Returns the value from the committed state.
110 (WebKit::PageLoadState::setCanGoForward): Added. Sets the value in the uncommitted state.
111 * UIProcess/PageLoadState.h:
112 (WebKit::PageLoadState::Data::Data): Added canGoBack and canGoForward boolean members.
114 * UIProcess/WebPageProxy.cpp:
115 (WebKit::WebPageProxy::didChangeBackForwardList): Update the page load state with the new
116 state of canGoBack and canGoForward.
117 * UIProcess/WebPageProxy.h: Removed unused member variables m_canGoBack and m_canGoForward.
119 2014-06-11 Zan Dobersek <zdobersek@igalia.com>
121 Avoid Vector copies in WebNotificationManagerProxy::providerDidCloseNotifications(), FindController::findStringMatches()
122 https://bugs.webkit.org/show_bug.cgi?id=133676
124 Reviewed by Andreas Kling.
126 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
127 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Move the newly-created
128 Vector object into the HashMap<>::add() call.
129 * WebProcess/WebPage/FindController.cpp:
130 (WebKit::FindController::findStringMatches): Movethe newly-create Vector object into the
131 Vector<>::append() call.
133 2014-06-11 Shivakumar JM <shiva.jm@samsung.com>
135 [EFL][WK2] Add missing test cases for EWK2ViewTest.
136 https://bugs.webkit.org/show_bug.cgi?id=133715
138 Reviewed by Gyuyoung Kim.
140 Add missing test cases for ewk_view.h APIs, ewk_view_stop(), ewk_view_html_string_load(), ewk_view_theme_get(),
141 ewk_view_feed_touch_event(), ewk_view_text_find_highlight_clear(), ewk_view_text_find(), ewk_view_text_matches_count(),
142 ewk_view_page_contents_get(), ewk_view_script_execute().
145 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
148 2014-06-11 Carlos Garcia Campos <cgarcia@igalia.com>
150 [GTK] Use a different user agent string depending on the site
151 https://bugs.webkit.org/show_bug.cgi?id=132681
153 Reviewed by Anders Carlsson.
155 * UIProcess/API/gtk/WebKitSettings.cpp:
156 (webkit_settings_class_init): Enable site specific quirks setting
158 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
159 (WebKit::WebFrameLoaderClient::userAgent): Pass the given URL to WebPage.
160 * WebProcess/WebPage/WebPage.cpp:
161 (WebKit::WebPage::userAgent): Try to get the user agent for the
162 URL received falling back to the current one otherwise.
163 * WebProcess/WebPage/WebPage.h:
164 (WebKit::WebPage::platformUserAgent): Added.
165 * WebProcess/WebPage/efl/WebPageEfl.cpp:
166 (WebKit::WebPage::platformUserAgent): Return null String.
167 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
168 (WebKit::WebPage::platformUserAgent): Use WebCore::standardUserAgentForURL() when site specific quirks
170 * WebProcess/WebPage/ios/WebPageIOS.mm:
171 (WebKit::WebPage::platformUserAgent): Return null String.
172 * WebProcess/WebPage/mac/WebPageMac.mm:
173 (WebKit::WebPage::platformUserAgent): Return null String.
175 2014-06-10 Benjamin Poulain <benjamin@webkit.org>
177 [iOS][WK2] ScrollingTreeOverflowScrollingNode does not use asynchronous touch dispatch
178 https://bugs.webkit.org/show_bug.cgi?id=133702
179 <rdar://problem/17259261>
181 Reviewed by Simon Fraser.
183 Notify the WKWebView and the TouchGestureRecognizer when on of the internal UIScrollView
184 starts scrolling in response to a gesture.
186 * UIProcess/PageClient.h:
187 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
188 * UIProcess/Scrolling/RemoteScrollingTree.cpp:
189 (WebKit::RemoteScrollingTree::scrollingTreeNodeWillStartPanGesture):
190 * UIProcess/Scrolling/RemoteScrollingTree.h:
191 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
192 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
193 (-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
194 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewWillStartPanGesture):
195 * UIProcess/WebPageProxy.h:
196 * UIProcess/ios/PageClientImplIOS.h:
197 * UIProcess/ios/PageClientImplIOS.mm:
198 (WebKit::PageClientImpl::scrollViewWillStartPanGesture):
199 * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
200 (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture):
201 * UIProcess/ios/WebPageProxyIOS.mm:
202 (WebKit::WebPageProxy::scrollViewWillStartPanGesture):
204 2014-06-10 Dan Bernstein <mitz@apple.com>
206 WebKit2 part of [Cocoa] Handling authentication challenges should not require multiple delegate methods
207 https://bugs.webkit.org/show_bug.cgi?id=133697
209 Reviewed by Anders Carlsson.
211 * Shared/Authentication/AuthenticationManager.cpp:
212 (WebKit::AuthenticationManager::performDefaultHandling): Added. Calls the new
213 AuthenticationClient function receivedRequestToPerformDefaultHandling.
214 (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue): Added. Calls the new
215 AuthenticationClient function receivedChallengeRejection.
216 * Shared/Authentication/AuthenticationManager.h:
217 * Shared/Authentication/AuthenticationManager.messages.in: Added new messages
218 PerformDefaultHandling and RejectProtectionSpaceAndContinue.
220 * Shared/Downloads/DownloadAuthenticationClient.h: Override new AuthenticationClient member
223 * Shared/Downloads/ios/DownloadIOS.mm:
224 (WebKit::Download::receivedRequestToPerformDefaultHandling): Added empty implementation.
225 (WebKit::Download::receivedChallengeRejection): Ditto.
227 * Shared/Downloads/mac/DownloadMac.mm:
228 (WebKit::Download::receivedRequestToPerformDefaultHandling): Added. Forwards to the sender.
229 (WebKit::Download::receivedChallengeRejection): Ditto.
231 * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm:
232 (checkChallenge): Factored out a bit of code into this helper function.
233 (-[WKNSURLAuthenticationChallengeSender cancelAuthenticationChallenge:]): Use new helper.
234 (-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]):
236 (-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]): Ditto.
237 (-[WKNSURLAuthenticationChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
238 Implemented this optional NSURLAuthenticationChallengeSender protocol method by forwarding
239 to the decision listener.
240 (-[WKNSURLAuthenticationChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
243 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
245 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
246 (WebKit::AuthenticationChallengeProxy::performDefaultHandling): Added. Sends a message to
247 the authentication manager.
248 (WebKit::AuthenticationChallengeProxy::rejectProtectionSpaceAndContinue): Ditto.
249 * UIProcess/Authentication/AuthenticationChallengeProxy.h:
251 * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
252 (WebKit::AuthenticationDecisionListener::performDefaultHandling): Added. Forwards to the
253 authentication challenge proxy.
254 (WebKit::AuthenticationDecisionListener::rejectProtectionSpaceAndContinue): Ditto.
255 * UIProcess/Authentication/AuthenticationDecisionListener.h:
257 * UIProcess/Cocoa/NavigationState.h: Added flag in m_navigationDelegateMethods struct.
258 * UIProcess/Cocoa/NavigationState.mm:
259 (WebKit::NavigationState::setNavigationDelegate): Initialize
260 webViewWillSendRequestForAuthenticationChallenge flag in the delegate methods struct.
261 (WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): If
262 the delegate implements -_webView:willSendRequestForAuthenticationChallenge:, return true
263 here; the delegate will respond with -rejectProtectionSpaceAndContinueWithChallenge: if
264 it cannot authenticate.
265 (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): If the
266 delegate implements -_webView:willSendRequestForAuthenticationChallenge:, send that message.
268 2014-06-10 Timothy Horton <timothy_horton@apple.com>
270 Factor repeated CFRunLoopObserver code out
271 https://bugs.webkit.org/show_bug.cgi?id=133690
273 Reviewed by Simon Fraser.
275 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
276 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
277 (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
278 (WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
279 (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
280 (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
281 (WebKit::coreAnimationDidCommitLayersCallback): Deleted.
282 (WebKit::RemoteLayerTreeDrawingAreaProxy::scheduleCoreAnimationLayerCommitObserver): Deleted.
283 (WebKit::RemoteLayerTreeDrawingAreaProxy::coreAnimationDidCommitLayers): Deleted.
284 Make use of WebCore::RunLoopObserver.
286 2014-06-10 Anders Carlsson <andersca@apple.com>
288 Fix availability declaration.
290 * UIProcess/API/Cocoa/WKError.h:
292 2014-06-10 Anders Carlsson <andersca@apple.com>
294 Address a comment about a comment.
296 * UIProcess/API/Cocoa/WKWebView.mm:
297 (-[WKWebView evaluateJavaScript:completionHandler:]):
299 2014-06-10 Anders Carlsson <andersca@apple.com>
301 Add -[WKWebView evaluateJavaScript:completionHandler:]
302 https://bugs.webkit.org/show_bug.cgi?id=133689
303 <rdar://problem/17152685>
305 Reviewed by Geoffrey Garen.
307 * Shared/API/c/WKErrorRef.h:
308 Remove WKErrorCode typedef from here.
310 * UIProcess/API/C/WKPageLoaderClient.h:
311 Use uint32_t instead of WKErrorCode.
313 * UIProcess/API/Cocoa/WKError.h:
315 Add a WKErrorDomain and a WKErrorCode enum.
317 * UIProcess/API/Cocoa/WKError.mm:
318 (localizedDescriptionForErrorCode):
319 Helper that returns the localized description given an error code.
322 Helper that creates an NSError with the correct localized description given an error code.
324 * UIProcess/API/Cocoa/WKErrorInternal.h:
327 * UIProcess/API/Cocoa/WKWebView.h:
328 Add evaluateJavaScript:completionHandler: method.
330 * UIProcess/API/Cocoa/WKWebView.mm:
332 Helper that returns a WKErrorCode from a WebKit::CallbackBase::Error enum.
334 (-[WKWebView evaluateJavaScript:completionHandler:]):
335 Run the JavaScript code and handle all the error cases.
337 (-[WKWebView _runJavaScriptInMainFrame:]):
338 Reimplement this using the API method.
340 * WebKit2.xcodeproj/project.pbxproj:
343 2014-06-10 Anders Carlsson <andersca@apple.com>
345 Don't call Connection::terminateSoon if the connection is null
346 https://bugs.webkit.org/show_bug.cgi?id=133695
347 <rdar://problem/17069024>
349 Reviewed by Tim Horton.
351 * UIProcess/WebProcessProxy.cpp:
352 (WebKit::WebProcessProxy::removeWebPage):
354 2014-06-10 Oliver Hunt <oliver@apple.com>
356 Add process entitlements
357 https://bugs.webkit.org/show_bug.cgi?id=133693
359 Reviewed by Alexey Proskuryakov.
361 Add entitlements description for Database process, and
362 ensure that we reference the correct seatbelt profiles.
364 * Configurations/DatabaseService.Development.xcconfig:
365 * Configurations/DatabaseService.xcconfig:
366 * Configurations/Databases-iOS.entitlements:
367 * Configurations/Network-iOS.entitlements:
368 * Configurations/WebContent-iOS.entitlements:
369 * WebKit2.xcodeproj/project.pbxproj:
371 2014-06-10 Alexey Proskuryakov <ap@apple.com>
373 Fix crashes on some plug-in tests.
374 https://bugs.webkit.org/show_bug.cgi?id=133691
375 <rdar://problem/17255836>
377 Reviewed by Anders Carlsson.
379 * PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::initialize):
380 Cannot use TemporaryChange here, because the object may go away before stack unwinds.
382 2014-06-10 Antti Koivisto <antti@apple.com>
384 Serialize ResourceRequests without platform request
385 https://bugs.webkit.org/show_bug.cgi?id=133679
387 Reviewed by Alexey Proskuryakov.
389 * Shared/WebCoreArgumentCoders.cpp:
390 (IPC::ArgumentCoder<ResourceRequest>::encode):
391 (IPC::ArgumentCoder<ResourceRequest>::decode):
393 Encode ResourceRequest directly if possible.
395 2014-06-09 Anders Carlsson <andersca@apple.com>
399 * UIProcess/WebPageProxy.cpp:
400 (WebKit::WebPageProxy::resetState):
402 2014-06-09 Simon Fraser <simon.fraser@apple.com>
404 Work towards having frames in the scrolling tree
405 https://bugs.webkit.org/show_bug.cgi?id=133665
407 Reviewed by Tim Horton.
409 Override coordinatesScrollingForFrameView() to always return true for composited
410 frames, for iOS WK2 (eventually this class will have to be specialized for iOS and OS X).
412 * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
413 * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
414 (WebKit::RemoteScrollingCoordinator::coordinatesScrollingForFrameView):
416 2014-06-09 Anders Carlsson <andersca@apple.com>
418 Give callbacks real status codes
419 https://bugs.webkit.org/show_bug.cgi?id=133668
421 Reviewed by Dan Bernstein.
423 This makes it possible to know whether a callback was invalidated due to the webpage being closed,
424 or whether it was due the a web process crash.
426 * UIProcess/GenericCallback.h:
427 (WebKit::GenericCallback::create):
428 (WebKit::GenericCallback::performCallbackWithReturnValue):
429 (WebKit::GenericCallback::invalidate):
430 (WebKit::invalidateCallbackMap):
431 * UIProcess/WebPageProxy.cpp:
432 (WebKit::WebPageProxy::close):
433 (WebKit::WebPageProxy::resetState):
434 (WebKit::WebPageProxy::resetStateAfterProcessExited):
435 * UIProcess/WebPageProxy.h:
437 2014-06-09 Enrica Casucci <enrica@apple.com>
439 iOS WebKit: Crash in charactersAroundPosition.
440 https://bugs.webkit.org/show_bug.cgi?id=133659
441 <rdar://problem/17220870>
443 Reviewed by Benjamin Poulain.
445 We only need to compute charactersAroundPosition when we are in
448 * WebProcess/WebPage/WebPage.cpp:
449 (WebKit::WebPage::editorState):
451 2014-06-06 Andy Estes <aestes@apple.com>
453 [iOS] Expose _WKWebViewPrintFormatter and -_webView:printFrame: as SPI
454 https://bugs.webkit.org/show_bug.cgi?id=133600
456 Reviewed by David Kilzer.
458 Expose -_webView:printFrame: in WKUIDelegatePrivate so that clients can implement support for window.print().
459 Since window.print() can be called from a subframe, expose _WKWebViewPrintFormatter (renamed from
460 WKWebViewPrintFormatter to reflect its new SPI status) as SPI and add a frameToPrint property.
462 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Forward-declared _WKFrameHandle and declared -_webView:printFrame:.
463 * UIProcess/API/Cocoa/WKWebView.mm:
464 (-[WKWebView _webViewPrintFormatter]): Added to get a _WKWebViewPrintFormatter.
465 (-[WKWebView _printFormatterClass]): Updated the class name to _WKWebViewPrintFormatter.
466 (-[WKWebView _computePageCountAndStartDrawingToPDFForFrame:printInfo:WebKit::firstPage:computedTotalScaleFactor:]):
467 Added a frame argument. If frame is nil, print the main frame.
468 (-[WKWebView _computePageCountAndStartDrawingToPDFWithPrintInfo:WebKit::firstPage:computedTotalScaleFactor:]): Deleted.
469 * UIProcess/API/Cocoa/WKWebViewInternal.h: Forward-declared _WKFrameHandle; removed an unneccessary
470 forward-declaration of WKWebViewPrintFormatter.
471 * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added a _webViewPrintFormatter property.
472 * UIProcess/Cocoa/UIDelegate.h:
473 * UIProcess/Cocoa/UIDelegate.mm:
474 (WebKit::UIDelegate::setDelegate):
475 (WebKit::UIDelegate::UIClient::printFrame): Called -_webView:printFrame:.
476 * UIProcess/_WKWebViewPrintFormatter.h: Renamed from Source/WebKit2/UIProcess/WKWebViewPrintFormatter.h.
477 * UIProcess/_WKWebViewPrintFormatter.mm: Renamed from Source/WebKit2/UIProcess/WKWebViewPrintFormatter.mm.
478 * WebKit2.xcodeproj/project.pbxproj:
480 2014-06-09 Beth Dakin <bdakin@apple.com>
482 Flash video controls hit-test incorrectly after changing topContentInset
483 https://bugs.webkit.org/show_bug.cgi?id=133658
485 <rdar://problem/16978590>
487 Reviewed by Anders Carlsson.
489 When the topContent changes, the PluginView needs to be informed.
491 New function PluginView::topContentInsetDidChange() calls viewGeometryDidChange().
492 * WebProcess/Plugins/PluginView.cpp:
493 (WebKit::PluginView::topContentInsetDidChange):
494 * WebProcess/Plugins/PluginView.h:
496 Call topContentInsetDidChange() after setting an inset only if it is a new inset.
497 * WebProcess/WebPage/WebPage.cpp:
498 (WebKit::WebPage::setTopContentInset):
500 2014-06-09 Daniel Bates <dabates@apple.com>
502 Another attempt to fix the EFL and GTK builds after <http://trac.webkit.org/changeset/169711>
503 (https://bugs.webkit.org/show_bug.cgi?id=133657)
505 Substitute WKErrorRef.h for WKError.h.
507 * UIProcess/API/efl/ewk_error.cpp:
508 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
509 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
511 2014-06-09 Daniel Bates <dabates@apple.com>
513 Attempt to fix the EFL and GTK builds after <http://trac.webkit.org/changeset/169711>
514 (https://bugs.webkit.org/show_bug.cgi?id=133657)
516 Rename Shared/API/c/WKError.cpp to Shared/API/c/WKErrorRef.cpp.
520 2014-06-09 Anders Carlsson <andersca@apple.com>
522 Address review feedback.
524 * UIProcess/API/Cocoa/WKWebView.h:
526 2014-06-09 Anders Carlsson <andersca@apple.com>
528 Add a WKError.h header and rename the existing WKError.h to WKErrorRef.h
529 https://bugs.webkit.org/show_bug.cgi?id=133657
531 Reviewed by Dan Bernstein.
533 * Shared/API/Cocoa/WebKit.h:
534 * Shared/API/c/WKErrorRef.cpp: Renamed from Source/WebKit2/Shared/API/c/WKError.cpp.
536 (WKErrorCopyWKErrorDomain):
538 (WKErrorGetErrorCode):
539 (WKErrorCopyFailingURL):
540 (WKErrorCopyLocalizedDescription):
541 * Shared/API/c/WKErrorRef.h: Renamed from Source/WebKit2/Shared/API/c/WKError.h.
542 * UIProcess/API/C/WKPage.h:
543 * UIProcess/API/C/WKPageLoaderClient.h:
544 * UIProcess/API/C/WebKit2_C.h:
545 * UIProcess/API/Cocoa/WKError.h: Copied from Source/WebKit2/Shared/API/Cocoa/WebKit.h.
546 * UIProcess/API/Cocoa/WKError.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WebKit.h.
547 * WebKit2.xcodeproj/project.pbxproj:
548 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
550 2014-06-09 Brady Eidson <beidson@apple.com>
552 Use different AppKit API for all services menus
553 <rdar://problem/16874403> and https://bugs.webkit.org/show_bug.cgi?id=133649
555 Reviewed by Tim Horton.
557 * UIProcess/mac/WebContextMenuProxyMac.mm:
558 (WebKit::WebContextMenuProxyMac::showContextMenu):
560 2014-06-09 Anders Carlsson <andersca@apple.com>
562 Add WKWindowFeatures.h to the umbrella header.
564 Reviewed by Dan Bernstein.
566 * Shared/API/Cocoa/WebKit.h:
568 2014-06-09 Anders Carlsson <andersca@apple.com>
570 Add -[WKWebView loadHTMLString:baseURL:]
571 https://bugs.webkit.org/show_bug.cgi?id=133645
572 <rdar://problem/17170649>
574 Reviewed by Sam Weinig.
576 * UIProcess/API/Cocoa/WKWebView.h:
577 * UIProcess/API/Cocoa/WKWebView.mm:
578 (-[WKWebView loadHTMLString:baseURL:]):
579 * UIProcess/Cocoa/NavigationState.h:
580 * UIProcess/Cocoa/NavigationState.mm:
581 (WebKit::NavigationState::createLoadDataNavigation):
582 * UIProcess/WebPageProxy.cpp:
583 (WebKit::WebPageProxy::loadHTMLString):
584 * UIProcess/WebPageProxy.h:
585 * WebProcess/WebPage/WebPage.cpp:
586 (WebKit::WebPage::loadDataImpl):
587 (WebKit::WebPage::loadString):
588 (WebKit::WebPage::loadData):
589 (WebKit::WebPage::loadHTMLString):
590 (WebKit::WebPage::loadAlternateHTMLString):
591 (WebKit::WebPage::loadPlainTextString):
592 (WebKit::WebPage::loadWebArchiveData):
593 * WebProcess/WebPage/WebPage.h:
594 * WebProcess/WebPage/WebPage.messages.in:
596 2014-06-09 Simon Fraser <simon.fraser@apple.com>
598 Fix more latched scrolling test flakiness and slowness
599 https://bugs.webkit.org/show_bug.cgi?id=133601
601 Reviewed by Brent Fulgham.
603 Latched scrolling tests were flakey for two reasons. First, the EventSender
604 wheel events were async from the web to the UI process, and the resulting
605 synthetic events also async from the UI to the web process. Make them sync
608 Secondly, the timer-based scrolling tree commit could result in the scrolling
609 tree (specifically the frame node's notion of the scrollable area and content
610 size) not being updated before the scrolling thread starts getting wheel events.
611 Fix by having WebPage::wheelEventSyncForTesting() commit if necessary.
613 Finally remove all the now-unnecessary timeouts from the tests.
615 * WebProcess/WebPage/WebPage.cpp:
616 (WebKit::WebPage::wheelEventSyncForTesting):
618 2014-06-09 Andrzej Badowski <a.badowski@samsung.com>
620 [EFL] Add parameter to MiniBrowser to disable web security
621 https://bugs.webkit.org/show_bug.cgi?id=121095
623 Reviewed by Gyuyoung Kim.
625 -w (--web-security) commandline allows to disable/enable web security (enabled by default).
626 The reason for this is to test and debug (using, for example, MiniBrowser) scripts accessing
627 resources from other domains (cross-domain requests) such as access map location on another server.
628 Another possibility is to launch in a webkit browser local file tests that will refer to the links
629 in the http website loaded in an iframe. It will not be possible without deactivation of web security.
631 * UIProcess/API/efl/ewk_settings.cpp:
632 (ewk_settings_web_security_enabled_set):
633 (ewk_settings_web_security_enabled_get):
634 * UIProcess/API/efl/ewk_settings.h:
635 * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
638 2014-06-08 Sam Weinig <sam@webkit.org>
640 [Cocoa] WKScriptMessage should include the frame the message is from
641 <rdar://problem/17210226>
642 https://bugs.webkit.org/show_bug.cgi?id=133623
644 Reviewed by Dan Bernstein.
646 * UIProcess/API/Cocoa/WKScriptMessage.h:
647 Add WKFrameInfo property.
649 * UIProcess/API/Cocoa/WKScriptMessage.mm:
650 (-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):
651 Add WKFrameInfo to the initializer.
653 (-[WKScriptMessage frameInfo]):
654 Implement frameInfo accessor.
656 * UIProcess/API/Cocoa/WKScriptMessageInternal.h:
657 Add WKFrameInfo to the initializer.
659 * UIProcess/API/Cocoa/WKUserContentController.mm:
660 Pass the WKFrameInfo to the WKScriptMessage initializer.
662 2014-06-08 Dan Bernstein <mitz@apple.com>
664 [Cococa] WKWindowFeatures.h is missing from WebKit.framework
665 https://bugs.webkit.org/show_bug.cgi?id=133622
667 Reviewed by Sam Weinig.
669 * WebKit2.xcodeproj/project.pbxproj: Promoted WKWindowFeatures.h to Public.
671 2014-06-08 Dan Bernstein <mitz@apple.com>
673 <rdar://problem/17208234> [Mac] Client-certificate authentication isn’t working when using the modern API
674 https://bugs.webkit.org/show_bug.cgi?id=133617
676 Reviewed by Sam Weinig.
678 * Shared/WebCoreArgumentCoders.cpp:
679 (IPC::ArgumentCoder<Credential>::encode): Encode certificate credentials on Mac as well.
680 (IPC::ArgumentCoder<Credential>::decode): Decode certificate credentials on Mac as well.
682 * Shared/cf/ArgumentCodersCF.cpp:
683 (IPC::encode): Use OS X API for getting a persistent reference to a key.
684 (IPC::decode): Use OS X API for getting a key from a persistent reference.
686 * Shared/cf/ArgumentCodersCF.h: Make identity coding available on Mac as well.
688 2014-06-07 Anders Carlsson <andersca@apple.com>
690 Get rid of _WKScriptWorld
691 https://bugs.webkit.org/show_bug.cgi?id=133610
693 Reviewed by Dan Bernstein.
695 * Shared/API/Cocoa/WebKitPrivate.h:
696 * UIProcess/API/Cocoa/_WKScriptWorld.h: Removed.
697 * UIProcess/API/Cocoa/_WKScriptWorld.mm: Removed.
698 * WebKit2.xcodeproj/project.pbxproj:
700 2014-05-29 Anders Carlsson <andersca@apple.com>
702 HTTPHeaderMap should not derive from HashMap
703 https://bugs.webkit.org/show_bug.cgi?id=133392
705 Reviewed by Darin Adler.
707 * Shared/WebCoreArgumentCoders.cpp:
708 (IPC::ArgumentCoder<HTTPHeaderMap>::encode):
709 (IPC::ArgumentCoder<HTTPHeaderMap>::decode):
711 2014-06-07 Alexey Proskuryakov <ap@apple.com>
713 [iOS] Fix a path used for sandbox profiles
714 https://bugs.webkit.org/show_bug.cgi?id=133602
715 <rdar://problem/17212011>
717 Reviewed by David Kilzer.
719 * WebKit2.xcodeproj/project.pbxproj:
721 2014-06-06 Enrica Casucci <enrica@apple.com>
723 REGRESSION (iOS WebKit2): backspace key does not repeat beyond a single word.
724 https://bugs.webkit.org/show_bug.cgi?id=133593
725 <rdar://problem/16352228>
727 Reviewed by Benjamin Poulain.
729 We need to provide a way for the keyboard layer to select from
730 the current position to the beginning of the word moving backwards
731 and implement the method to know when we have reached the beginning of the document.
733 * UIProcess/WebPageProxy.h:
734 * UIProcess/ios/WKContentViewInteraction.mm:
735 (-[WKContentView selectWordBackward]):
736 (-[WKContentView _selectionAtDocumentStart]):
737 * UIProcess/ios/WebPageProxyIOS.mm:
738 (WebKit::WebPageProxy::selectWordBackward):
739 * WebProcess/WebPage/WebPage.h:
740 * WebProcess/WebPage/WebPage.messages.in:
741 * WebProcess/WebPage/ios/WebPageIOS.mm:
742 (WebKit::WebPage::selectWordBackward):
744 2014-06-06 Enrica Casucci <enrica@apple.com>
746 Adopt the new UIAlertController API to replace UIActionSheet.
747 https://bugs.webkit.org/show_bug.cgi?id=133582
748 <rdar://problem/16845223>
750 Reviewed by Joseph Pecoraro.
752 UIActionSheet is deprecated. We need to move out action sheets
753 implementation to UIAlertView.
755 * UIProcess/API/Cocoa/_WKElementAction.h:
756 * UIProcess/API/Cocoa/_WKElementAction.mm:
757 * UIProcess/ios/WKActionSheet.h:
758 * UIProcess/ios/WKActionSheet.mm:
759 (-[WKActionSheet presentSheetFromRect:]):
760 (-[WKActionSheet doneWithSheet]):
761 (-[WKActionSheet willRotate]):
762 (-[WKActionSheet updateSheetPosition]):
763 (-[WKActionSheet _didRotateAndLayout]):
764 (-[WKActionSheet didRotate]):
765 * UIProcess/ios/WKActionSheetAssistant.h:
766 * UIProcess/ios/WKActionSheetAssistant.mm:
767 (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
768 (-[WKActionSheetAssistant showImageSheet]):
769 (-[WKActionSheetAssistant showLinkSheet]):
770 (-[WKActionSheetAssistant showDataDetectorsSheet]):
771 (-[WKActionSheetAssistant cleanupSheet]):
772 (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]): Deleted.
773 * UIProcess/ios/WKContentViewInteraction.mm:
774 (-[WKContentView _longPressRecognized:]):
776 2014-06-06 Gavin Barraclough <baraclough@apple.com>
778 Should boost ChildProcesses on iOS
779 https://bugs.webkit.org/show_bug.cgi?id=133583
781 Reviewed by Sam Weinig.
783 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
784 (WebKit::connectToService):
785 - boost all child processes on iOS.
787 2014-06-06 Alexey Proskuryakov <ap@apple.com>
789 Build fix after <http://trac.webkit.org/changeset/169655>.
791 The SPIs used do not exist on Mac, limit the code to iOS.
793 * Shared/Authentication/mac/AuthenticationManager.mac.mm:
794 * Shared/WebCoreArgumentCoders.cpp:
795 (IPC::ArgumentCoder<Credential>::encode):
796 (IPC::ArgumentCoder<Credential>::decode):
797 * Shared/cf/ArgumentCodersCF.cpp:
798 (IPC::typeFromCFTypeRef):
801 * Shared/cf/ArgumentCodersCF.h:
803 2014-06-06 Dan Bernstein <mitz@apple.com>
805 <rdar://problem/17095692> [iOS] Client-certificate authentication isn’t working
806 https://bugs.webkit.org/show_bug.cgi?id=133527
808 Reviewed by Darin Adler.
810 * Configurations/Network-iOS.entitlements: Enabled the Network process to access the keys
811 needed to create identities to authenticate with.
813 * Shared/WebCoreArgumentCoders.cpp:
814 (IPC::ArgumentCoder<Credential>::encode): Encode the credential type, and if it is a client
815 certificate, encode the identity and the certificates.
816 (IPC::ArgumentCoder<Credential>::decode): Decode the credential type. If it is a client
817 certificate, decode the identity and the certificates and use the proper Credential
820 * Shared/cf/ArgumentCodersCF.cpp:
821 (IPC::typeFromCFTypeRef): Handle SecIdentityRef.
822 (IPC::encode): Encode an identity by encoding its certificate and a persistent reference to
824 (IPC::decode): Decode a certificate and a persistent reference to a key, find the key, and
826 * Shared/cf/ArgumentCodersCF.h:
828 2014-06-05 Benjamin Poulain <bpoulain@apple.com>
830 [iOS][WK2] WebPage sometimes forces two resize events on animated resize
831 https://bugs.webkit.org/show_bug.cgi?id=133534
833 Reviewed by Enrica Casucci.
835 When I updated the patch for resize events (r168556) to use the unobscured rect in scrollview coordinates,
836 I forgot to update a snippet of code in dynamicViewportSizeUpdate(). Since that code was still using
837 the scaled unobscured rect, there was sometimes a difference of 1 pixel between the size set by that
838 call site and the others.
840 This path nukes the bad code and use the unobscured rect in scrollview coordinates given by the UIProcess.
842 * WebProcess/WebPage/ios/WebPageIOS.mm:
843 (WebKit::WebPage::dynamicViewportSizeUpdate):
845 2014-06-05 Benjamin Poulain <bpoulain@apple.com>
847 [iOS][WK2] Add device orientation
848 https://bugs.webkit.org/show_bug.cgi?id=133530
849 <rdar://problem/16680041>
851 Reviewed by Tim Horton.
853 Add device orientation for WebKit2.
855 For the public API, WKWebView get the updates through the notification UIWindowDidRotateNotification.
856 We do not have any control over how the API is used, but we can expect the size will be updated before
857 the end of rotation in most cases and the events should be sent in the right order.
859 For Safari, we use an override to support animated resize (and some tabs corner cases).
861 On the WebProcess side, we just get the new orientation directly or on DynamicViewportSizeUpdate.
863 * UIProcess/API/Cocoa/WKWebView.mm:
864 (deviceOrientationForUIInterfaceOrientation):
866 (-[WKWebView initWithFrame:configuration:]):
867 (-[WKWebView _windowDidRotate:]):
868 (-[WKWebView _setInterfaceOrientationOverride:]):
869 (-[WKWebView _interfaceOrientationOverride]):
870 (-[WKWebView _beginAnimatedResizeWithUpdates:]):
871 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
872 * UIProcess/WebPageProxy.cpp:
873 (WebKit::WebPageProxy::WebPageProxy):
874 * UIProcess/WebPageProxy.h:
875 (WebKit::WebPageProxy::deviceOrientation):
876 * UIProcess/ios/WebPageProxyIOS.mm:
877 (WebKit::WebPageProxy::dynamicViewportSizeUpdate):
878 (WebKit::WebPageProxy::setDeviceOrientation):
879 * WebProcess/WebCoreSupport/WebChromeClient.h:
880 * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
881 (WebKit::WebChromeClient::deviceOrientation):
882 * WebProcess/WebPage/WebPage.cpp:
883 (WebKit::WebPage::WebPage):
884 * WebProcess/WebPage/WebPage.h:
885 (WebKit::WebPage::deviceOrientation):
886 * WebProcess/WebPage/WebPage.messages.in:
887 * WebProcess/WebPage/ios/WebPageIOS.mm:
888 (WebKit::WebPage::setDeviceOrientation):
889 (WebKit::WebPage::dynamicViewportSizeUpdate):
891 2014-06-05 Oliver Hunt <oliver@apple.com>
893 Enable SANDBOX_EXTENSIONS build flag universally on cocoa
894 https://bugs.webkit.org/show_bug.cgi?id=133556
896 Reviewed by Alexey Proskuryakov.
898 Remove unnecessary iOS exception.
902 2014-06-05 Alexey Proskuryakov <ap@apple.com>
904 [Mac] Tweak plug-in sandbox profiles
905 https://bugs.webkit.org/show_bug.cgi?id=133549
907 Fix <rdar://problem/17068055> and <rdar://problem/17148837>.
909 Reviewed by Sam Weinig and Simon Cooper.
911 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
912 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
914 2014-06-05 Tanay C <tanay.c@samsung.com>
916 Resolve compiler error (call of overloaded 'schedule' function is ambiguous)
917 https://bugs.webkit.org/show_bug.cgi?id=133467
919 Reviewed by Carlos Garcia Campos.
921 * Shared/Downloads/soup/DownloadSoup.cpp:
922 (WebKit::DownloadClient::handleResponseLater): Explicitly casting second parameter to std::function<void()>
924 2014-06-04 Benjamin Poulain <bpoulain@apple.com>
926 [iOS][WK2] Restore the visual scroll position instead of the dom scroll position when restoring states from the history
927 https://bugs.webkit.org/show_bug.cgi?id=133490
929 Reviewed by Tim Horton.
931 Instead of restoring the scroll position, restore the visual position. This makes pages appear at the same position
932 on screen ignoring changes in the obscured top inset.
934 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
935 * WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
936 (WebKit::WebFrameLoaderClient::saveViewStateToItem):
937 (WebKit::WebFrameLoaderClient::restoreViewState):
938 Save and restore userHasChangedPageScaleFactor to handle rescaling correctly.
939 Limit the scale into valid viewport limits in case the viewport meta tag has changed or the device has rotated.
941 * WebProcess/WebPage/WebPage.cpp:
942 (WebKit::WebPage::WebPage):
943 * WebProcess/WebPage/WebPage.h:
944 (WebKit::WebPage::userHasChangedPageScaleFactor):
945 * WebProcess/WebPage/ios/WebPageIOS.mm:
946 (WebKit::WebPage::restorePageState):
947 (WebKit::WebPage::updateVisibleContentRects):
948 In updateVisibleContentRects, we keep track or the current difference between the exposed rect and the unobscured rect.
949 When restoring the page position, we use the current top inset and the saved exposed rect to restore the visual
952 It is not very robust as it does not resolve races between the two processes, but that is not worse than what we is there now.
954 2014-06-03 Timothy Horton <timothy_horton@apple.com>
956 WebKit2 View Gestures (Zoom): Can show unpainted regions when zoom-pinching-out
957 https://bugs.webkit.org/show_bug.cgi?id=133472
958 <rdar://problem/15686848>
960 Reviewed by Simon Fraser.
962 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
963 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
964 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
965 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToLayers):
966 (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
967 Use prepopulateRect() when zooming out to ensure that we have tiles for the current exposed area.
969 Factor applyTransientZoomToLayers out of adjustTransientZoom, so that
970 flushLayers can call applyTransientZoomToLayers without ending up calling prepopulateRect()
971 during layer flushing, which causes trouble.
973 It is OK to populate layers at the current scale even when zooming out, because the overdraw
974 already covers most of the zoomed out area, and we're only adding a few more tiles at worst.
976 2014-06-03 Benjamin Poulain <bpoulain@apple.com>
978 [iOS][WK2] Align the highlight rects with device pixels
979 https://bugs.webkit.org/show_bug.cgi?id=133464
980 <rdar://problem/16708861>
982 Reviewed by Enrica Casucci.
984 * UIProcess/ios/WKContentViewInteraction.mm:
985 (-[WKContentView _showTapHighlightWithColor:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
987 2014-06-02 Enrica Casucci <enrica@apple.com>
989 REGRESSION (iOS WebKit2): Single tap in pages with focus on load will clear the selection after the keyboard appears.
990 https://bugs.webkit.org/show_bug.cgi?id=133465
991 <rdar://problem/17059189>
993 Reviewed by Benjamin Poulain.
995 If a page focuses an input field on load we don't bring the keyboard on screen
996 since the keyboard is only shown when the user interacts with the page with gestures.
997 Still the WebProcess sets the focus and the selection according to the rules.
998 We need to make sure the UI process doesn't accidentally clear this selection
999 when the user starts the interaction with the page.
1000 This patch also improves the function that retrieves the autocorrection data
1001 to be returned to the keyboard, making sure that we always send back a reply
1002 even when we don't have a valid selection.
1004 * UIProcess/ios/WKContentViewInteraction.mm:
1005 (-[WKContentView _singleTapCommited:]):
1006 * WebProcess/WebPage/ios/WebPageIOS.mm:
1007 (WebKit::WebPage::requestAutocorrectionData):
1009 2014-05-31 Anders Carlsson <andersca@apple.com>
1011 Change DeferrableOneShotTimer to use std::function instead of being a class template
1012 https://bugs.webkit.org/show_bug.cgi?id=133423
1014 Reviewed by Antti Koivisto.
1016 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1017 (WebKit::NetworkProcess::platformSetCacheModel):
1018 * Shared/CacheModel.cpp:
1019 (WebKit::calculateCacheSizes):
1020 * Shared/CacheModel.h:
1021 * WebProcess/Plugins/PluginView.cpp:
1022 (WebKit::PluginView::pluginSnapshotTimerFired):
1023 * WebProcess/Plugins/PluginView.h:
1024 * WebProcess/cocoa/WebProcessCocoa.mm:
1025 (WebKit::WebProcess::platformSetCacheModel):
1027 2014-06-02 Benjamin Poulain <bpoulain@apple.com>
1029 [iOS][WK2] Round the UIScrollView content size to device pixel
1030 https://bugs.webkit.org/show_bug.cgi?id=133417
1031 <rdar://problem/15922440>
1033 Reviewed by Simon Fraser.
1035 We should really have the scaled content size floored to device pixels, but that will be for another
1037 This patch ensure the content size as seen by the API is rounded to device pixels. The value is floored
1038 to avoid showing partial pixels when the content is stable.
1040 * UIProcess/API/Cocoa/WKWebView.mm:
1041 (floorFloatToPixels):
1042 (roundScrollViewCountentSize):
1043 (-[WKWebView _setHasCustomContentView:loadedMIMEType:WTF::]):
1044 (-[WKWebView _didCommitLayerTree:WebKit::]):
1045 (-[WKWebView scrollView:contentSizeForZoomScale:withProposedSize:]):
1046 (-[WKWebView _beginAnimatedResizeWithUpdates:]):
1047 (-[WKWebView _endAnimatedResize]):
1049 2014-06-02 Oliver Hunt <oliver@apple.com>
1051 Move ifdef to the right place.
1055 * WebProcess/cocoa/WebProcessCocoa.mm:
1056 (WebKit::WebProcess::initializeSandbox):
1058 2014-06-02 Gavin Barraclough <barraclough@apple.com>
1060 Set default voucher for XPC client processes
1061 https://bugs.webkit.org/show_bug.cgi?id=133458
1063 Reviewed by Geoff Garen.
1065 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
1066 (WebKit::XPCServiceInitializer):
1067 - add voucher_replace_default_voucher.
1069 - add HAVE_VOUCHERS.
1071 2014-06-02 Jeremy Jones <jeremyj@apple.com>
1073 Send external playback properties to fullscreen.
1074 https://bugs.webkit.org/show_bug.cgi?id=133366
1076 Reviewed by Simon Fraser.
1078 Forward setExternalPlayback.
1080 * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: add setExternalPlaybackProperties
1081 * WebProcess/ios/WebVideoFullscreenManager.h: add setExternalPlaybackProperties
1082 * WebProcess/ios/WebVideoFullscreenManager.mm: add setExternalPlaybackProperties
1083 (WebKit::WebVideoFullscreenManager::setExternalPlaybackProperties): added
1085 2014-06-02 Enrica Casucci <enrica@apple.com>
1087 Remove unintentional changes to WKContentViewInteraction.mm
1088 introduced in r169500.
1092 * UIProcess/ios/WKContentViewInteraction.mm:
1093 (+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
1095 2014-06-02 Geoffrey Garen <ggaren@apple.com>
1097 Address some review comments on bug 133408
1098 https://bugs.webkit.org/show_bug.cgi?id=133410
1100 Reviewed by Anders Carlsson.
1102 * UIProcess/API/Cocoa/WKBackForwardListItem.h:
1103 * UIProcess/API/Cocoa/WKUIDelegate.h:
1105 2014-06-02 Dan Bernstein <mitz@apple.com>
1107 [Cocoa] -[WKWebView activeURL] is unused
1108 https://bugs.webkit.org/show_bug.cgi?id=133440
1110 Reviewed by Mark Rowe.
1112 * UIProcess/API/Cocoa/WKWebView.mm:
1113 (-[WKWebView activeURL]): Deleted.
1114 * UIProcess/API/Cocoa/WKWebViewPrivate.h: Removed the property declaration.
1116 2014-05-31 Oliver Hunt <oliver@apple.com>
1118 Restructure initial distinct sandbox profiles
1119 https://bugs.webkit.org/show_bug.cgi?id=133415
1121 Reviewed by Alexey Proskuryakov.
1123 Add support for manually instantiating the network and
1124 content process sandboxes, and add initial profiles.
1125 These profiles are completely generic so we can make sure
1126 nothing is broken by enabling them.
1128 This also adds a target to the WebKit2 project to correctly
1129 process the profiles.
1131 * DatabaseProcess/ios/DatabaseProcessIOS.mm:
1132 (WebKit::DatabaseProcess::initializeSandbox):
1133 * DatabaseProcess/ios/com.apple.WebKit.DatabasesIOS.sb: Removed.
1134 * NetworkProcess/ios/NetworkProcessIOS.mm:
1135 (WebKit::NetworkProcess::initializeSandbox):
1136 * Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb: Added.
1137 * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Added.
1138 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Added.
1139 * WebKit2.xcodeproj/project.pbxproj:
1140 * WebProcess/cocoa/WebProcessCocoa.mm:
1141 (WebKit::WebProcess::initializeSandbox):
1143 2014-06-01 Sam Weinig <sam@webkit.org>
1145 [Cocoa] Add SPI to get a WebArchive of the WKWebView
1146 <rdar://problem/16748120>
1147 https://bugs.webkit.org/show_bug.cgi?id=133439
1149 Reviewed by Anders Carlsson.
1151 * UIProcess/API/Cocoa/WKWebView.mm:
1152 (-[WKWebView _getWebArchiveDataWithCompletionHandler:]):
1153 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1155 2014-05-31 Anders Carlsson <andersca@apple.com>
1157 Add a LazyNeverDestroyed class template and use it
1158 https://bugs.webkit.org/show_bug.cgi?id=133425
1160 Reviewed by Darin Adler.
1162 * Shared/mac/SecItemShim.cpp:
1163 (WebKit::responseMap):
1165 2014-05-31 Timothy Horton <timothy_horton@apple.com>
1167 View snapshots are sometimes taken at the wrong scale
1168 https://bugs.webkit.org/show_bug.cgi?id=133419
1169 <rdar://problem/17087497>
1171 Reviewed by Sam Weinig.
1173 * UIProcess/API/mac/WKView.mm:
1174 (-[WKView _takeViewSnapshot]):
1175 Work around <rdar://problem/17084993> by re-requesting the snapshot at
1176 kCGWindowImageNominalResolution if it was captured at the wrong scale.
1178 2014-05-31 Dan Bernstein <mitz@apple.com>
1180 [iOS] WebKit2.framework is unused
1181 https://bugs.webkit.org/show_bug.cgi?id=133424
1183 Reviewed by Anders Carlsson.
1185 * Configurations/WebKit2.xcconfig: Set SKIP_INSTALL to YES when targeting iOS.
1187 2014-05-30 Benjamin Poulain <bpoulain@apple.com>
1189 [iOS][WK2] When a page does not finish rotation before the end of the animation, synchronize explicitely
1190 https://bugs.webkit.org/show_bug.cgi?id=133364
1191 <rdar://problem/17026333>
1193 Reviewed by Sam Weinig.
1195 When a page that does layout on rotation does not respond before the end of the animation, we end up with
1196 a completely inconsistent state on the UIProcess (because it is unware of the new states).
1198 The perfect way to fix this would be to make animated resize transactional and have the WebProcess resolve
1199 conflicts. That is very complicated and the issue is uncommon, so this patch does not do that.
1201 This patch force the synchronization whenever we finish the animation before we heard back
1202 from the WebProcess.
1204 * UIProcess/API/Cocoa/WKWebView.mm:
1205 (-[WKWebView _endAnimatedResize]):
1206 * UIProcess/WebPageProxy.cpp:
1207 (WebKit::WebPageProxy::WebPageProxy):
1208 (WebKit::WebPageProxy::resetState):
1209 * UIProcess/WebPageProxy.h:
1210 * UIProcess/ios/WebPageProxyIOS.mm:
1211 (WebKit::WebPageProxy::dynamicViewportSizeUpdate):
1212 (WebKit::WebPageProxy::synchronizeDynamicViewportUpdate):
1213 (WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):
1214 * WebProcess/WebPage/WebPage.h:
1215 * WebProcess/WebPage/WebPage.messages.in:
1216 * WebProcess/WebPage/ios/WebPageIOS.mm:
1217 (WebKit::WebPage::dynamicViewportSizeUpdate):
1218 (WebKit::WebPage::synchronizeDynamicViewportUpdate):
1220 2014-05-30 Enrica Casucci <enrica@apple.com>
1222 REGRESSION (WebKit2): space space to insert period doesn't work in web forms.
1223 https://bugs.webkit.org/show_bug.cgi?id=133413
1224 <rdar://problem/16948333>
1226 Reviewed by Benjamin Poulain.
1228 iOS TextInput needs to know about content surrounding the
1229 current position while editing. Since we don't want to
1230 query this information synchronously when asked, we cache it
1231 as part of the EditorState. EditorState now contains a vector of
1232 three characters representing the content after, before and two
1233 position before the caret position.
1234 The patch also replaces all calls to plainText with plainTextReplacingNoBreakSpace
1235 to work well with iOS text input.
1237 * Shared/EditorState.cpp:
1238 (WebKit::EditorState::encode):
1239 (WebKit::EditorState::decode):
1240 * Shared/EditorState.h:
1241 (WebKit::EditorState::EditorState):
1242 * UIProcess/ios/WKContentViewInteraction.mm:
1243 (-[WKContentView _characterInRelationToCaretSelection:]):
1244 (+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
1245 * WebProcess/WebPage/WebPage.cpp:
1246 (WebKit::WebPage::editorState):
1247 * WebProcess/WebPage/ios/WebPageIOS.mm:
1248 (WebKit::WebPage::requestDictationContext):
1249 (WebKit::WebPage::replaceSelectedText):
1250 (WebKit::WebPage::replaceDictatedText):
1251 (WebKit::WebPage::requestAutocorrectionData):
1252 (WebKit::WebPage::syncApplyAutocorrection):
1253 (WebKit::computeAutocorrectionContext):
1255 2014-05-30 Geoffrey Garen <ggaren@apple.com>
1257 Fixed the build by adding back a declaration I deleted by accident :(.
1261 * UIProcess/API/Cocoa/WKWebView.h:
1263 2014-05-30 Geoffrey Garen <ggaren@apple.com>
1265 Unreviewed, rolling in r169490.
1267 I changed a non-ASCII apostrophe to ASCII.
1271 "Some more copy-editing of the Modern WebKit headerdoc"
1272 https://bugs.webkit.org/show_bug.cgi?id=133408
1273 http://trac.webkit.org/changeset/169490
1275 * UIProcess/API/Cocoa/WKBackForwardList.h:
1276 * UIProcess/API/Cocoa/WKBackForwardListItem.h:
1277 * UIProcess/API/Cocoa/WKFrameInfo.h:
1278 * UIProcess/API/Cocoa/WKNavigation.h:
1279 * UIProcess/API/Cocoa/WKNavigationAction.h:
1281 * UIProcess/API/Cocoa/WKNavigationDelegate.h:
1283 * UIProcess/API/Cocoa/WKNavigationResponse.h:
1284 * UIProcess/API/Cocoa/WKPreferences.h:
1285 * UIProcess/API/Cocoa/WKProcessPool.h:
1286 * UIProcess/API/Cocoa/WKScriptMessage.h:
1287 * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
1288 * UIProcess/API/Cocoa/WKUIDelegate.h:
1289 * UIProcess/API/Cocoa/WKUserContentController.h:
1290 * UIProcess/API/Cocoa/WKWebView.h:
1291 * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1293 2014-05-30 Geoffrey Garen <ggaren@apple.com>
1295 Unreviewed, rolling out r169490.
1297 It broke the build with a mysterious warning about ASCII.
1301 "Some more copy-editing of the Modern WebKit headerdoc"
1302 https://bugs.webkit.org/show_bug.cgi?id=133408
1303 http://trac.webkit.org/changeset/169490
1305 2014-05-30 Geoffrey Garen <ggaren@apple.com>
1307 Some more copy-editing of the Modern WebKit headerdoc
1308 https://bugs.webkit.org/show_bug.cgi?id=133408
1310 Reviewed by Beth Dakin.
1312 A copy-editor suggested some edits to the headerdoc for clarity,
1313 style, and formatting.
1315 I reviewed the edits and accepted about 80% of them.
1317 * UIProcess/API/Cocoa/WKBackForwardList.h:
1318 * UIProcess/API/Cocoa/WKBackForwardListItem.h:
1319 * UIProcess/API/Cocoa/WKFrameInfo.h:
1320 * UIProcess/API/Cocoa/WKNavigation.h:
1321 * UIProcess/API/Cocoa/WKNavigationAction.h:
1323 * UIProcess/API/Cocoa/WKNavigationDelegate.h:
1325 * UIProcess/API/Cocoa/WKNavigationResponse.h:
1326 * UIProcess/API/Cocoa/WKPreferences.h:
1327 * UIProcess/API/Cocoa/WKProcessPool.h:
1328 * UIProcess/API/Cocoa/WKScriptMessage.h:
1329 * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
1330 * UIProcess/API/Cocoa/WKUIDelegate.h:
1331 * UIProcess/API/Cocoa/WKUserContentController.h:
1332 * UIProcess/API/Cocoa/WKWebView.h:
1333 * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1335 2014-05-30 Timothy Horton <timothy_horton@apple.com>
1337 Crash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
1338 https://bugs.webkit.org/show_bug.cgi?id=133370
1339 <rdar://problem/17061361>
1341 Reviewed by Darin Adler.
1343 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1344 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1345 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
1346 (WebKit::RemoteLayerTreeDrawingArea::willDestroyDisplayRefreshMonitor):
1347 (WebKit::RemoteLayerTreeDrawingArea::didUpdate):
1348 Post-landing review comments from Darin noted that checking if the
1349 DrawingArea's m_displayRefreshMonitors contains the monitor in the
1350 list to notify is insufficient, because a new one could have been
1351 added with the same address. Instead, copy the HashSet, removing
1352 at random from it and firing didUpdateLayers, but *also* removing
1353 from it in the willDestroyDisplayRefreshMonitor callback.
1354 This is very similar to what DisplayRefreshMonitor itself does internally
1355 (we don't have to duplicate its code to avoid re-entry because it is
1356 already impossible to re-enter didUpdate).
1358 2014-05-29 Anders Carlsson <andersca@apple.com>
1360 -[WKProcessPoolConfiguration setCachePartitionedURLSchemes:] should do a deep copy
1361 https://bugs.webkit.org/show_bug.cgi?id=133393
1363 Reviewed by Dan Bernstein.
1365 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
1366 (-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
1368 2014-05-29 Mark Lam <mark.lam@apple.com>
1370 Restoring FloatingPointEnvironment initialization that was accidentally rolled out by r169176.
1371 <https://webkit.org/b/133389>
1373 Rubber stamped by Oliver Hunt.
1375 * Shared/ios/ChildProcessIOS.mm:
1376 (WebKit::ChildProcess::platformInitialize):
1378 2014-05-29 Enrica Casucci <enrica@apple.com>
1380 Need to notify the keyboard about every KeyDown event.
1381 https://bugs.webkit.org/show_bug.cgi?id=133383
1382 <rdar://problem/16633975>
1384 Reviewed by Benjamin Poulain.
1386 A key down will generate most of the time a call to the keyboard to add input or delete.
1387 But the event could be handled by JavaScript and its default prevented.
1388 We need to notify the keyboard in every case to allow updating its internal state about what has been typed.
1390 * UIProcess/ios/PageClientImplIOS.mm:
1391 (WebKit::PageClientImpl::doneWithKeyEvent):
1392 * UIProcess/ios/WKContentViewInteraction.h:
1393 * UIProcess/ios/WKContentViewInteraction.mm:
1394 (-[WKContentView _didHandleKeyEvent:]):
1396 2014-05-29 Matthew Hanson <matthew_hanson@apple.com>
1398 Roll out r169439. <rdar://problem/17069364>
1400 2014-05-28 Gavin Barraclough <baraclough@apple.com>
1402 viewStateDidChange should always fully update ViewState
1403 https://bugs.webkit.org/show_bug.cgi?id=133159
1405 Reviewed by Anders Carlson.
1407 Currently WebPageProxy::viewStateDidChange is passed a mask of bits to update.
1409 This has the following negative consequences:
1410 – WKWebView implicitly requires more detailed knowledge of the internal implementation of the PageClient.
1411 – Updates may unnecessarily be split over multiple IPC messages.
1412 – In order to support partial updates we make multiple virtual function calls to PageClient, which then makes duplicate objc calls.
1414 Better to just always update the entire ViewState.
1416 * UIProcess/API/Cocoa/WKWebView.mm:
1417 (-[WKWebView didMoveToWindow]):
1418 - removed argument to viewStateDidChange.
1419 * UIProcess/API/gtk/PageClientImpl.cpp:
1420 (WebKit::PageClientImpl::viewState):
1421 (WebKit::PageClientImpl::isViewWindowActive): Deleted.
1422 (WebKit::PageClientImpl::isViewFocused): Deleted.
1423 (WebKit::PageClientImpl::isViewVisible): Deleted.
1424 (WebKit::PageClientImpl::isViewInWindow): Deleted.
1425 * UIProcess/API/gtk/PageClientImpl.h:
1426 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1427 * UIProcess/API/mac/WKView.mm:
1428 (-[WKView becomeFirstResponder]):
1429 (-[WKView resignFirstResponder]):
1430 (-[WKView viewDidMoveToWindow]):
1431 (-[WKView _windowDidBecomeKey:]):
1432 (-[WKView _windowDidResignKey:]):
1433 (-[WKView _windowDidMiniaturize:]):
1434 (-[WKView _windowDidDeminiaturize:]):
1435 (-[WKView _windowDidOrderOffScreen:]):
1436 (-[WKView _windowDidOrderOnScreen:]):
1437 (-[WKView _windowDidChangeOcclusionState:]):
1438 (-[WKView viewDidHide]):
1439 (-[WKView viewDidUnhide]):
1440 (-[WKView _activeSpaceDidChange:]):
1441 (-[WKView _setThumbnailView:]):
1442 (-[WKView endDeferringViewInWindowChanges]):
1443 (-[WKView endDeferringViewInWindowChangesSync]):
1444 - removed argument to viewStateDidChange.
1445 * UIProcess/CoordinatedGraphics/WebView.cpp:
1446 (WebKit::WebView::viewState):
1447 (WebKit::WebView::isViewWindowActive): Deleted.
1448 (WebKit::WebView::isViewFocused): Deleted.
1449 (WebKit::WebView::isViewVisible): Deleted.
1450 (WebKit::WebView::isViewInWindow): Deleted.
1451 * UIProcess/CoordinatedGraphics/WebView.h:
1452 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1453 * UIProcess/PageClient.h:
1454 (WebKit::PageClient::isViewVisibleOrOccluded): Deleted.
1455 (WebKit::PageClient::isVisuallyIdle): Deleted.
1456 - merged isViewVisibleOrOccluded/isVisuallyIdle to subclass viewState methods.
1457 * UIProcess/WebPageProxy.cpp:
1458 (WebKit::WebPageProxy::WebPageProxy):
1459 (WebKit::WebPageProxy::reattachToWebProcess):
1460 - updateViewState -> PageClient::viewState
1461 (WebKit::WebPageProxy::viewStateDidChange):
1462 - argument removed; updateViewState -> PageClient::viewState.
1463 (WebKit::WebPageProxy::setCursor):
1464 - call isViewWindowActive on WebPageProxy, rather than PageClient.
1465 (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
1466 - call isViewWindowActive on WebPageProxy, rather than PageClient.
1467 (WebKit::WebPageProxy::updateViewState): Deleted.
1468 - removed - viewState method moved to PageClient.
1469 * UIProcess/WebPageProxy.h:
1470 (WebKit::WebPageProxy::isViewWindowActive):
1471 - added missing implementation.
1472 (WebKit::WebPageProxy::isViewVisible):
1473 - removed argument to viewStateDidChange.
1474 * UIProcess/WebProcessProxy.cpp:
1475 (WebKit::WebProcessProxy::windowServerConnectionStateChanged):
1476 - removed argument to viewStateDidChange.
1477 * UIProcess/ios/PageClientImplIOS.h:
1478 * UIProcess/ios/PageClientImplIOS.mm:
1479 (WebKit::PageClientImpl::viewState):
1480 (WebKit::PageClientImpl::isViewWindowActive): Deleted.
1481 (WebKit::PageClientImpl::isViewFocused): Deleted.
1482 (WebKit::PageClientImpl::isViewVisible): Deleted.
1483 (WebKit::PageClientImpl::isViewInWindow): Deleted.
1484 (WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
1485 (WebKit::PageClientImpl::isVisuallyIdle): Deleted.
1486 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1487 * UIProcess/ios/WKContentView.mm:
1488 (-[WKContentView didMoveToWindow]):
1489 (-[WKContentView _applicationDidEnterBackground:]):
1490 (-[WKContentView _applicationWillEnterForeground:]):
1491 - removed argument to viewStateDidChange.
1492 * UIProcess/mac/PageClientImpl.h:
1493 * UIProcess/mac/PageClientImpl.mm:
1494 (WebKit::PageClientImpl::viewState):
1495 (WebKit::PageClientImpl::showCorrectionPanel):
1496 (WebKit::PageClientImpl::showDictationAlternativeUI):
1497 (WebKit::PageClientImpl::isViewWindowActive): Deleted.
1498 (WebKit::PageClientImpl::isViewFocused): Deleted.
1499 (WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
1500 (WebKit::PageClientImpl::isVisuallyIdle): Deleted.
1501 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1503 2014-05-29 Dan Bernstein <mitz@apple.com>
1505 [Cocoa] Can’t recover from subframe load errors
1506 https://bugs.webkit.org/show_bug.cgi?id=133385
1508 Reviewed by Anders Carlsson.
1510 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method.
1511 * UIProcess/Cocoa/NavigationState.h: Added flag in m_navigationDelegateMethods struct.
1512 * UIProcess/Cocoa/NavigationState.mm:
1513 (WebKit::NavigationState::setNavigationDelegate): Initialize
1514 webViewNavigationDidFailProvisionalLoadInSubframeWithError flag in the delegate methods
1516 (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): If the
1517 error occurred in a subframe, invoke the new delegate method.
1519 2014-05-29 Geoffrey Garen <ggaren@apple.com>
1521 Added a missing @result to WKPreferences headerdoc
1522 https://bugs.webkit.org/show_bug.cgi?id=133381
1524 Reviewed by Dan Bernstein.
1526 * UIProcess/API/Cocoa/WKPreferences.h:
1528 2014-05-29 Alexey Proskuryakov <ap@apple.com>
1530 [Mac] Always use plug-in sandbox with sandboxed clients
1531 https://bugs.webkit.org/show_bug.cgi?id=133358
1532 <rdar://problem/15637695>
1534 Reviewed by Anders Carlsson.
1536 * PluginProcess/mac/PluginProcessMac.mm: (WebKit::PluginProcess::initializeSandbox):
1537 Refuse to start if parent process is sandboxed, and plug-in process is not going to be.
1538 None of this should run in normal case, because there are also checks on UI process side.
1540 * Shared/Plugins/PluginModuleInfo.h:
1541 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1542 (WebKit::NetscapePluginModule::getPluginInfo):
1543 Added a member to PluginModuleInfo, telling whether the plug-in has a sandbox profile.
1545 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
1546 (WebKit::getPlatformPluginModuleInformation): Use the new PluginModuleInfo member,
1547 we no longer need to check the file system here.
1549 * WebKit2.xcodeproj/project.pbxproj:
1550 * Shared/mac/SandboxUtilities.h: Added.
1551 * Shared/mac/SandboxUtilities.cpp: Added. (WebKit::processIsSandboxed):
1552 This code is simple, but include magic is not. Moved it to a separate file to
1555 * UIProcess/API/C/mac/WKContextPrivateMac.mm: Removed an unused include.
1557 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1558 (WebKit::PluginInfoStore::shouldUsePlugin): Don't use unsandboxed plug-ins in
1559 sandboxed applications.
1561 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1562 (WebKit::PluginProcessProxy::platformGetLaunchOptions): Don't ever pass disable-sandbox
1563 from sandboxed processes.
1565 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
1566 (WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
1567 Use the new shared code in SandboxUtilities.h.
1569 2014-05-29 Timothy Horton <timothy_horton@apple.com>
1571 Crash loading skydrive.com (assertion under RemoteLayerTreeDisplayRefreshMonitor)
1572 https://bugs.webkit.org/show_bug.cgi?id=133370
1573 <rdar://problem/17061361>
1575 Reviewed by Anders Carlsson.
1577 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1578 (WebKit::RemoteLayerTreeDrawingArea::didUpdate):
1579 Copy the set of refresh monitors so that we don't try to mutate the list we're iterating,
1580 and don't try to fire refresh monitors that were removed in a previous iteration of the loop.
1582 2014-05-29 Timothy Horton <timothy_horton@apple.com>
1584 REGRESSION (iOS WebKit2): Find-in-Page doesn't work in subframes
1585 https://bugs.webkit.org/show_bug.cgi?id=133372
1586 <rdar://problem/17045070>
1588 Reviewed by Simon Fraser.
1590 * WebProcess/WebPage/ios/FindControllerIOS.mm:
1591 (WebKit::FindController::willFindString):
1592 (WebKit::FindController::didFailToFindString):
1593 (WebKit::FindController::didHideFindIndicator):
1594 Flip ignoreCompositionSelectionChange and updateAppearanceEnabled on all
1595 frames, not just the main frame, because the found string can be in a subframe.
1596 Ideally we would flip it on/off for each frame as we move the selection between them,
1597 but would require a lot of work (and the overhead of touching each frame shouldn't be significant).
1599 2014-05-29 Dan Bernstein <mitz@apple.com>
1601 WKBundleActivateMacFontAscentHack is unused
1602 https://bugs.webkit.org/show_bug.cgi?id=133379
1604 Reviewed by Anders Carlsson.
1606 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1607 (WKBundleActivateMacFontAscentHack): Deleted.
1608 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1609 * WebProcess/InjectedBundle/InjectedBundle.h:
1610 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
1611 (WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.
1612 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
1613 (WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.
1614 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
1615 (WebKit::InjectedBundle::activateMacFontAscentHack): Deleted.
1617 2014-05-29 Alexey Proskuryakov <ap@apple.com>
1619 Add a sandbox profile for com.apple.appstore.CodeRedeemerNetscapePlugin
1620 https://bugs.webkit.org/show_bug.cgi?id=133360
1622 Reviewed by Sam Weinig.
1624 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Looks like
1625 anyone using camera would need access to CoreMedia preferences.
1627 * Resources/PlugInSandboxProfiles/com.apple.appstore.CodeRedeemerNetscapePlugin.sb: Added.
1629 * WebKit2.xcodeproj/project.pbxproj: Added the profile.
1631 2014-05-29 Carlos Garcia Campos <cgarcia@igalia.com>
1633 [GTK] Add support for HiDPI icons
1634 https://bugs.webkit.org/show_bug.cgi?id=133377
1636 Reviewed by Martin Robinson.
1638 * PlatformGTK.cmake: Compile also the @2x versions for the builtin icons.
1640 2014-05-29 Owen Taylor <otaylor@redhat.com>
1642 [GTK] Add HighDPI support for non-accelerated compositing contents
1643 https://bugs.webkit.org/show_bug.cgi?id=131562
1645 Reviewed by Anders Carlsson.
1647 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1648 (deviceScaleFactorChanged): Added this callback to pass scale changes to the page proxy.
1649 (webkitWebViewBaseCreateWebPage): Attach the callback to the notify signal.
1650 * UIProcess/WebPageProxy.cpp:
1651 * UIProcess/cairo/BackingStoreCairo.cpp:
1652 (WebKit::WebPageProxy::setCustomDeviceScaleFactor): Do not set a
1653 custom device scale factor for cairo when it's not supported.
1654 (WebKit::createBackingStoreForGTK): Pass the scale factor to the WebCore backing store.
1655 (WebKit::BackingStore::incorporateUpdate): Ditto.
1657 2014-05-28 Carlos Garcia Campos <cgarcia@igalia.com>
1659 [GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
1660 https://bugs.webkit.org/show_bug.cgi?id=130081
1662 Reviewed by Martin Robinson.
1664 * Platform/WorkQueue.h:
1665 * Platform/gtk/WorkQueueGtk.cpp:
1666 (WorkQueue::registerSocketEventHandler): Stop pretending it's
1667 possible to register a socket event handler for more than one
1669 (WorkQueue::unregisterSocketEventHandler):
1670 (WorkQueue::dispatch):
1671 (WorkQueue::dispatchAfter):
1672 * Shared/Downloads/soup/DownloadSoup.cpp:
1673 (WebKit::DownloadClient::DownloadClient):
1674 (WebKit::DownloadClient::~DownloadClient):
1675 (WebKit::DownloadClient::didReceiveData):
1676 (WebKit::DownloadClient::handleResponse):
1677 (WebKit::DownloadClient::handleResponseLater):
1678 * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
1679 (WebKit::PluginInfoCache::PluginInfoCache):
1680 (WebKit::PluginInfoCache::~PluginInfoCache):
1681 (WebKit::PluginInfoCache::saveToFile):
1682 (WebKit::PluginInfoCache::updatePluginInfo):
1683 * UIProcess/Plugins/gtk/PluginInfoCache.h:
1684 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1685 (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
1686 (WebKit::LayerTreeHostGtk::layerFlushTimerFired):
1687 (WebKit::LayerTreeHostGtk::scheduleLayerFlush):
1688 (WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
1689 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1691 2014-05-28 Gavin Barraclough <baraclough@apple.com>
1693 viewStateDidChange should always fully update ViewState
1694 https://bugs.webkit.org/show_bug.cgi?id=133159
1696 Reviewed by Anders Carlson.
1698 Currently WebPageProxy::viewStateDidChange is passed a mask of bits to update.
1700 This has the following negative consequences:
1701 – WKWebView implicitly requires more detailed knowledge of the internal implementation of the PageClient.
1702 – Updates may unnecessarily be split over multiple IPC messages.
1703 – In order to support partial updates we make multiple virtual function calls to PageClient, which then makes duplicate objc calls.
1705 Better to just always update the entire ViewState.
1707 * UIProcess/API/Cocoa/WKWebView.mm:
1708 (-[WKWebView didMoveToWindow]):
1709 - removed argument to viewStateDidChange.
1710 * UIProcess/API/gtk/PageClientImpl.cpp:
1711 (WebKit::PageClientImpl::viewState):
1712 (WebKit::PageClientImpl::isViewWindowActive): Deleted.
1713 (WebKit::PageClientImpl::isViewFocused): Deleted.
1714 (WebKit::PageClientImpl::isViewVisible): Deleted.
1715 (WebKit::PageClientImpl::isViewInWindow): Deleted.
1716 * UIProcess/API/gtk/PageClientImpl.h:
1717 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1718 * UIProcess/API/mac/WKView.mm:
1719 (-[WKView becomeFirstResponder]):
1720 (-[WKView resignFirstResponder]):
1721 (-[WKView viewDidMoveToWindow]):
1722 (-[WKView _windowDidBecomeKey:]):
1723 (-[WKView _windowDidResignKey:]):
1724 (-[WKView _windowDidMiniaturize:]):
1725 (-[WKView _windowDidDeminiaturize:]):
1726 (-[WKView _windowDidOrderOffScreen:]):
1727 (-[WKView _windowDidOrderOnScreen:]):
1728 (-[WKView _windowDidChangeOcclusionState:]):
1729 (-[WKView viewDidHide]):
1730 (-[WKView viewDidUnhide]):
1731 (-[WKView _activeSpaceDidChange:]):
1732 (-[WKView _setThumbnailView:]):
1733 (-[WKView endDeferringViewInWindowChanges]):
1734 (-[WKView endDeferringViewInWindowChangesSync]):
1735 - removed argument to viewStateDidChange.
1736 * UIProcess/CoordinatedGraphics/WebView.cpp:
1737 (WebKit::WebView::viewState):
1738 (WebKit::WebView::isViewWindowActive): Deleted.
1739 (WebKit::WebView::isViewFocused): Deleted.
1740 (WebKit::WebView::isViewVisible): Deleted.
1741 (WebKit::WebView::isViewInWindow): Deleted.
1742 * UIProcess/CoordinatedGraphics/WebView.h:
1743 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1744 * UIProcess/PageClient.h:
1745 (WebKit::PageClient::isViewVisibleOrOccluded): Deleted.
1746 (WebKit::PageClient::isVisuallyIdle): Deleted.
1747 - merged isViewVisibleOrOccluded/isVisuallyIdle to subclass viewState methods.
1748 * UIProcess/WebPageProxy.cpp:
1749 (WebKit::WebPageProxy::WebPageProxy):
1750 (WebKit::WebPageProxy::reattachToWebProcess):
1751 - updateViewState -> PageClient::viewState
1752 (WebKit::WebPageProxy::viewStateDidChange):
1753 - argument removed; updateViewState -> PageClient::viewState.
1754 (WebKit::WebPageProxy::setCursor):
1755 - call isViewWindowActive on WebPageProxy, rather than PageClient.
1756 (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
1757 - call isViewWindowActive on WebPageProxy, rather than PageClient.
1758 (WebKit::WebPageProxy::updateViewState): Deleted.
1759 - removed - viewState method moved to PageClient.
1760 * UIProcess/WebPageProxy.h:
1761 (WebKit::WebPageProxy::isViewWindowActive):
1762 - added missing implementation.
1763 (WebKit::WebPageProxy::isViewVisible):
1764 - removed argument to viewStateDidChange.
1765 * UIProcess/WebProcessProxy.cpp:
1766 (WebKit::WebProcessProxy::windowServerConnectionStateChanged):
1767 - removed argument to viewStateDidChange.
1768 * UIProcess/ios/PageClientImplIOS.h:
1769 * UIProcess/ios/PageClientImplIOS.mm:
1770 (WebKit::PageClientImpl::viewState):
1771 (WebKit::PageClientImpl::isViewWindowActive): Deleted.
1772 (WebKit::PageClientImpl::isViewFocused): Deleted.
1773 (WebKit::PageClientImpl::isViewVisible): Deleted.
1774 (WebKit::PageClientImpl::isViewInWindow): Deleted.
1775 (WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
1776 (WebKit::PageClientImpl::isVisuallyIdle): Deleted.
1777 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1778 * UIProcess/ios/WKContentView.mm:
1779 (-[WKContentView didMoveToWindow]):
1780 (-[WKContentView _applicationDidEnterBackground:]):
1781 (-[WKContentView _applicationWillEnterForeground:]):
1782 - removed argument to viewStateDidChange.
1783 * UIProcess/mac/PageClientImpl.h:
1784 * UIProcess/mac/PageClientImpl.mm:
1785 (WebKit::PageClientImpl::viewState):
1786 (WebKit::PageClientImpl::showCorrectionPanel):
1787 (WebKit::PageClientImpl::showDictationAlternativeUI):
1788 (WebKit::PageClientImpl::isViewWindowActive): Deleted.
1789 (WebKit::PageClientImpl::isViewFocused): Deleted.
1790 (WebKit::PageClientImpl::isViewVisibleOrOccluded): Deleted.
1791 (WebKit::PageClientImpl::isVisuallyIdle): Deleted.
1792 - merged isViewWindowActive/isViewFocused/isViewVisible/isViewInWindow to viewState.
1794 2014-05-28 Jeffrey Pfau <jpfau@apple.com>
1796 Add Obj-C API for cache partitioned URL schemes
1797 https://bugs.webkit.org/show_bug.cgi?id=133361
1798 <rdar://problem/17035415>
1800 Reviewed by Anders Carlsson.
1802 * UIProcess/API/Cocoa/WKProcessPool.mm:
1803 (-[WKProcessPool _initWithConfiguration:]):
1804 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
1805 * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
1806 (-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
1807 (-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
1808 (-[_WKProcessPoolConfiguration copyWithZone:]):
1810 2014-05-28 Sam Weinig <sam@webkit.org>
1812 [iOS WebKit2] Sometimes Safari gets into a limbo state after web process crash
1813 <rdar://problem/17029526>
1814 https://bugs.webkit.org/show_bug.cgi?id=133362
1816 Reviewed by Dan Bernstein.
1818 * UIProcess/WebPageProxy.cpp:
1819 (WebKit::WebPageProxy::WebPageProxy):
1820 Remove unnecessary initialization of a unique_ptr.
1822 (WebKit::WebPageProxy::reattachToWebProcess):
1823 Move calls to update the view state and activity tokens to after we have swapped in the new process.
1825 (WebKit::WebPageProxy::resetStateAfterProcessExited):
1826 Clear the activity token on process exit.
1828 2014-05-28 Timothy Horton <timothy_horton@apple.com>
1830 Add WKWebView SPI to forcefully kill the associated Web process
1831 https://bugs.webkit.org/show_bug.cgi?id=133357
1833 Reviewed by Anders Carlsson.
1835 * UIProcess/API/Cocoa/WKWebView.mm:
1836 (-[WKWebView _killWebContentProcess]):
1837 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1839 2014-05-28 Dan Bernstein <mitz@apple.com>
1841 [Cocoa] Crash when trying to decode an instance of a class inheriting from WKObject
1842 https://bugs.webkit.org/show_bug.cgi?id=133355
1844 Reviewed by Anders Carlsson.
1846 * Shared/Cocoa/WKObject.mm:
1847 (-[WKObject classForCoder]): Override this NSObject method to forward to the
1849 (-[WKObject classForKeyedArchiver]): Ditto.
1851 2014-05-28 Simon Fraser <simon.fraser@apple.com>
1853 [iOS WK2] Improve behavior of position:fixed inside accelerated overflow-scroll
1854 https://bugs.webkit.org/show_bug.cgi?id=133352
1856 Reviewed by Tim Horton.
1858 Pass the correct delta down to descendant nodes.
1860 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
1861 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):
1863 2014-05-28 Andy Estes <aestes@apple.com>
1865 [iOS] REGRESSION (r168388): DidNotHandleTapAsClick not sent when commitPotentialTap() fails
1866 https://bugs.webkit.org/show_bug.cgi?id=133349
1868 Reviewed by Benjamin Poulain.
1870 WebPage::commitPotentialTap() fails when a recognized single tap cannot be sent as a synthetic click event.
1871 We should send WebPageProxy::DidNotHandleTapAsClick in these cases.
1873 * WebProcess/WebPage/WebPage.h:
1874 * WebProcess/WebPage/ios/WebPageIOS.mm:
1875 (WebKit::WebPage::commitPotentialTap):
1876 (WebKit::WebPage::commitPotentialTapFailed):
1878 2014-05-28 Commit Queue <commit-queue@webkit.org>
1880 Unreviewed, rolling out r169423.
1881 https://bugs.webkit.org/show_bug.cgi?id=133348
1883 It makes a lot of tests crash in assert (Requested by KaL on
1888 "[GTK] Use GMainLoopSource for idle and timeout sources in
1890 https://bugs.webkit.org/show_bug.cgi?id=130081
1891 http://trac.webkit.org/changeset/169423
1893 2014-05-28 Carlos Garcia Campos <cgarcia@igalia.com>
1895 [GTK] Use GMainLoopSource for idle and timeout sources in WebKit2
1896 https://bugs.webkit.org/show_bug.cgi?id=130081
1898 Reviewed by Martin Robinson.
1900 * Platform/WorkQueue.h:
1901 * Platform/gtk/WorkQueueGtk.cpp:
1902 (WorkQueue::registerSocketEventHandler): Stop pretending it's
1903 possible to register a socket event handler for more than one
1905 (WorkQueue::unregisterSocketEventHandler):
1906 (WorkQueue::dispatch):
1907 (WorkQueue::dispatchAfter):
1908 * Shared/Downloads/soup/DownloadSoup.cpp:
1909 (WebKit::DownloadClient::DownloadClient):
1910 (WebKit::DownloadClient::~DownloadClient):
1911 (WebKit::DownloadClient::didReceiveData):
1912 (WebKit::DownloadClient::handleResponse):
1913 (WebKit::DownloadClient::handleResponseLater):
1914 * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
1915 (WebKit::PluginInfoCache::PluginInfoCache):
1916 (WebKit::PluginInfoCache::~PluginInfoCache):
1917 (WebKit::PluginInfoCache::saveToFile):
1918 (WebKit::PluginInfoCache::updatePluginInfo):
1919 * UIProcess/Plugins/gtk/PluginInfoCache.h:
1920 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1921 (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
1922 (WebKit::LayerTreeHostGtk::layerFlushTimerFired):
1923 (WebKit::LayerTreeHostGtk::scheduleLayerFlush):
1924 (WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
1925 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1927 2014-05-28 Dan Bernstein <mitz@apple.com>
1929 [Cocoa] Can't use bundle-defined classes for bundle parameters
1930 https://bugs.webkit.org/show_bug.cgi?id=133339
1932 Reviewed by Anders Carlsson.
1934 Ensure that bundle parameters are decoded only after the injected bundle is loaded.
1936 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1937 (WebKit::InjectedBundle::create): Moved the definition from the header to here, added the
1938 lagacy initializationUserData as a parameter, and made this function set the sandbox
1939 extension and load the bundle.
1940 (WebKit::InjectedBundle::InjectedBundle): Removed call to platformInitialize.
1941 * WebProcess/InjectedBundle/InjectedBundle.h:
1942 (WebKit::InjectedBundle::setSandboxExtension): Deleted.
1943 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
1944 (WebKit::InjectedBundle::initialize): Renamed the load function to this, and added the
1945 creation parameters as a parameter. Moved code to initialize the bundle paramters from
1946 platformInitialize to here. Changed the class passed to -decodeObjectOfClass:forKey: to
1947 NSObject, to allow arbitrary types in the values, and added an assertion that the
1948 top-level object is a dictionary.
1949 (WebKit::InjectedBundle::platformInitialize): Deleted.
1950 * WebProcess/WebProcess.cpp:
1951 (WebKit::WebProcess::initializeWebProcess): Changed to pass the legacy initialization user
1952 data to InjectedBundle::create() and removed code to separately set the sandbox extension
1953 and load the bundle, which is now done by create().
1955 2014-05-28 Alberto Garcia <berto@igalia.com>
1957 Unreviewed. Fix warning: unused parameter 'frame'
1959 * WebProcess/WebPage/WebPage.cpp:
1960 (WebKit::WebPage::didFinishDocumentLoad):
1962 2014-05-27 Simon Fraser <simon.fraser@apple.com>
1964 [iOS WK2] Fix behavior of position:sticky inside accelerated overflow-scroll
1965 https://bugs.webkit.org/show_bug.cgi?id=133334
1966 <rdar://problem/16462535>
1968 Reviewed by Tim Horton.
1970 When the scroll position changes in an accelerated overflow-scroll element, we have
1971 to update child nodes in the scrolling tree for position:sticky. That requires a
1972 more generic ability to update the scrolling tree after some arbitrary zoom or
1973 scroll. To do this, we need to know the current fixed position rect, rather than
1974 having it passed in.
1976 So make the fixed position rect available from ScrollingTree, and make it possible
1977 to get the current scrollPosition() from any ScrollingTreeScrollingNode.
1979 Also, implement updateLayersAfterDelegatedScroll() in ScrollingTreeOverflowScrollingNodeIOS,
1980 and have it update descendant layers.
1982 Finally, fix ScrollingTreeOverflowScrollingNode to use the correct rectangle for its
1983 constraints math, using the scroll position of the parent node if appropriate.
1985 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1986 * UIProcess/Scrolling/RemoteScrollingTree.cpp:
1987 (WebKit::RemoteScrollingTree::fixedPositionRect):
1988 * UIProcess/Scrolling/RemoteScrollingTree.h:
1989 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
1990 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
1991 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterDelegatedScroll):
1992 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):
1993 * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
1994 (WebKit::RemoteScrollingCoordinatorProxy::customFixedPositionRect):
1996 2014-05-27 Simon Fraser <simon.fraser@apple.com>
1998 Do some renaming in the scrolling tree
1999 https://bugs.webkit.org/show_bug.cgi?id=133333
2001 Reviewed by Tim Horton.
2003 Rename ScrollingTreeNode::parentScrollPositionDidChange() to updateLayersAfterAncestorChange()
2004 since this goes deep and to indicate that it's about layer updating.
2006 Also rename the "viewportRect" parameter to "fixedPositionRect", since on iOS
2007 this is the custom fixed-position rect that changes on zooming.
2009 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
2010 (WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):
2011 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
2012 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
2013 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange):
2015 2014-05-27 Geoffrey Garen <ggaren@apple.com>
2017 Some proof-reading of the WebKit2 API headerdoc
2018 https://bugs.webkit.org/show_bug.cgi?id=133328
2020 Reviewed by Anders Carlsson.
2022 Consistently say "item" to reference back-forward list items.
2024 Consistently say "webpage" instead of "page" or "web page".
2026 Consistently say "navigation" instead of "load".
2028 Plus a few fix-ups for run-on sentences, mismatched verb tense, and
2029 mismatched singular vs plural.
2031 * UIProcess/API/Cocoa/WKBackForwardList.h:
2032 * UIProcess/API/Cocoa/WKBackForwardListItem.h:
2033 * UIProcess/API/Cocoa/WKBrowsingContextController.h:
2034 * UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
2035 * UIProcess/API/Cocoa/WKFrameInfo.h:
2036 * UIProcess/API/Cocoa/WKNavigation.h:
2037 * UIProcess/API/Cocoa/WKNavigationAction.h:
2038 * UIProcess/API/Cocoa/WKNavigationDelegate.h:
2039 * UIProcess/API/Cocoa/WKProcessPool.h:
2040 * UIProcess/API/Cocoa/WKUIDelegate.h:
2041 * UIProcess/API/Cocoa/WKWebView.h:
2043 2014-05-27 Timothy Horton <timothy_horton@apple.com>
2045 [wk2] PDFPlugin snapshots are misplaced
2046 https://bugs.webkit.org/show_bug.cgi?id=133323
2048 Reviewed by Simon Fraser.
2050 * WebProcess/Plugins/PDF/PDFPlugin.mm:
2051 (WebKit::PDFPlugin::paintControlForLayerInContext):
2052 (WebKit::PDFPlugin::snapshot):
2053 Include the scroll offset in the snapshot translation,
2054 and use the whole document size instead of just the view size.
2056 2014-05-27 Sam Weinig <sam@webkit.org>
2058 [WebKit2] Move WebPreferences macro definitions and key names into their own files
2059 https://bugs.webkit.org/show_bug.cgi?id=133315
2061 Reviewed by Anders Carlsson.
2064 * Shared/WebPreferencesDefinitions.h: Copied from Source/WebKit2/Shared/WebPreferencesStore.h.
2065 * Shared/WebPreferencesKeys.cpp: Copied from Source/WebKit2/Shared/WebPreferencesStore.cpp.
2066 * Shared/WebPreferencesKeys.h: Copied from Source/WebKit2/Shared/WebPreferencesStore.h.
2067 * Shared/WebPreferencesStore.cpp:
2068 * Shared/WebPreferencesStore.h:
2069 * UIProcess/WebPreferences.cpp:
2070 * UIProcess/WebPreferences.h:
2071 * UIProcess/mac/WebContextMac.mm:
2072 * UIProcess/mac/WebPreferencesMac.mm:
2073 * UIProcess/mac/WebProcessProxyMac.mm:
2074 * WebKit2.xcodeproj/project.pbxproj:
2075 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2076 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2077 * WebProcess/WebPage/WebPage.cpp:
2078 * WebProcess/WebProcess.cpp:
2080 2014-05-27 Gavin Barraclough <baraclough@apple.com>
2082 Add UI process watchdog on iOS to ensure WebProcess connections close
2083 https://bugs.webkit.org/show_bug.cgi?id=133200
2084 <rdar://problem/16997983>
2086 Mountain Lion build fix
2088 * Platform/IPC/mac/ConnectionMac.mm:
2089 (IPC::ConnectionTerminationWatchdog::watchdogTimerFired):
2091 2014-05-27 Gavin Barraclough <baraclough@apple.com>
2093 importance_assertion -> denap_assertion
2094 https://bugs.webkit.org/show_bug.cgi?id=133294
2098 * Platform/IPC/mac/ConnectionMac.mm:
2099 (IPC::Connection::open):
2101 2014-05-27 Gavin Barraclough <baraclough@apple.com>
2103 Add UI process watchdog on iOS to ensure WebProcess connections close
2104 https://bugs.webkit.org/show_bug.cgi?id=133200
2105 <rdar://problem/16997983>
2107 Reviewed by Darin Adler.
2109 When the WebProcessProxy wants to disconnect from a WebContent process it just drops the connection,
2110 and hopes the connection closes. There is a watchdog thread in the ChildProcess to try to ensure this
2113 On iOS the process may not be runnable at the time, preventing termination. Instead add a watchdog in
2114 the UI process to make the process runnable, and to terminate if it doesn't quit in a timely fashion.
2116 * Platform/IPC/Connection.h:
2117 - added terminateSoon.
2118 * Platform/IPC/mac/ConnectionMac.mm:
2119 (IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
2120 - take an assertion to make the process runnable, and start a watchdog timer.
2121 (IPC::ConnectionTerminationWatchdog::watchdogTimerFired):
2122 - if the process hasn't quit by the timer the watchdog fires, kill it.
2123 (IPC::Connection::terminateSoon):
2124 - create a ConnectionTerminationWatchdog.
2125 * UIProcess/WebProcessProxy.cpp:
2126 (WebKit::WebProcessProxy::removeWebPage):
2127 - when disconnecting from a process, first tell it to terminateSoon.
2129 2014-05-26 Gavin Barraclough <barraclough@apple.com>
2131 importance_assertion -> denap_assertion
2132 https://bugs.webkit.org/show_bug.cgi?id=133294
2134 Reviewed by Sam Weinig.
2136 Update in accordance with API change. The importance assertion is used on
2137 Mavericks & newer to ensure the WebContent process wakes from AppNap.
2139 * Platform/IPC/mac/ConnectionMac.mm:
2140 (IPC::Connection::open):
2141 - MACH_PORT_IMPORTANCE_RECEIVER -> MACH_PORT_DENAP_RECEIVER
2142 * Platform/IPC/mac/ImportanceAssertion.h:
2143 (IPC::ImportanceAssertion::ImportanceAssertion):
2144 (IPC::ImportanceAssertion::~ImportanceAssertion):
2145 - proc_importance_assertion -> proc_denap_assertion
2147 2014-05-27 Jessie Berlin <jberlin@apple.com>
2149 Revert r169362 since it broke the ML build.
2151 * Platform/IPC/Connection.h:
2152 * Platform/IPC/mac/ConnectionMac.mm:
2153 (IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog): Deleted.
2154 (IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog): Deleted.
2155 (IPC::ConnectionTerminationWatchdog::watchdogTimerFired): Deleted.
2156 (IPC::Connection::terminateSoon): Deleted.
2157 * UIProcess/WebProcessProxy.cpp:
2158 (WebKit::WebProcessProxy::removeWebPage):
2160 2014-05-27 Jon Lee <jonlee@apple.com>
2162 Update ENABLE(MEDIA_SOURCE) on Mac
2163 https://bugs.webkit.org/show_bug.cgi?id=133141
2165 Reviewed by Darin Adler.
2167 * Configurations/FeatureDefines.xcconfig:
2169 2014-05-27 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
2172 https://bugs.webkit.org/show_bug.cgi?id=132863
2174 Reviewed by Csaba Osztrogonác.
2176 * Configurations/FeatureDefines.xcconfig:
2177 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2178 * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
2179 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2180 (WebKit::NetworkConnectionToWebProcess::didClose):
2181 (WebKit::NetworkConnectionToWebProcess::blobSize):
2182 * NetworkProcess/NetworkConnectionToWebProcess.h:
2183 * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2184 * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
2185 * NetworkProcess/NetworkProcessPlatformStrategies.h:
2186 * NetworkProcess/NetworkResourceLoader.cpp:
2187 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
2188 * WebProcess/FileAPI/BlobRegistryProxy.cpp:
2189 * WebProcess/FileAPI/BlobRegistryProxy.h:
2190 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2191 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2192 * WebProcess/WebPage/WebPage.cpp:
2193 (WebKit::WebPage::canHandleRequest):
2195 2014-05-26 Tim Horton <timothy_horton@apple.com>
2197 [wk2] RemoteLayerBackingStore front buffers should be purgeable when unparented
2198 https://bugs.webkit.org/show_bug.cgi?id=133020
2199 <rdar://problem/16521736>
2201 Reviewed by Simon Fraser.
2203 * Shared/mac/RemoteLayerBackingStore.mm:
2204 (WebKit::RemoteLayerBackingStore::display):
2205 Let the context know whenever a RemoteLayerBackingStore is displayed, so that
2206 RemoteLayerBackingStoreCollection can (if needed) note that the backing store
2207 is active once again (because we only display parented backing store).
2209 (WebKit::RemoteLayerBackingStore::setBufferVolatility):
2210 Ensure that we never have live contexts attached to any buffers when
2211 marking them volatile, because checking isInUse() with live contexts is futile.
2213 * Shared/mac/RemoteLayerBackingStoreCollection.h:
2214 * Shared/mac/RemoteLayerBackingStoreCollection.mm:
2215 (WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
2216 (WebKit::RemoteLayerBackingStoreCollection::willFlushLayers):
2217 (WebKit::RemoteLayerBackingStoreCollection::willCommitLayerTree):
2218 (WebKit::RemoteLayerBackingStoreCollection::didFlushLayers):
2219 (WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDestroyed):
2220 (WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed):
2221 (WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately):
2222 (WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
2223 (WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable):
2224 (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
2225 (WebKit::RemoteLayerBackingStoreCollection::scheduleVolatilityTimer):
2226 (WebKit::RemoteLayerBackingStoreCollection::purgeabilityTimerFired): Deleted.
2227 (WebKit::RemoteLayerBackingStoreCollection::schedulePurgeabilityTimer): Deleted.
2228 Rename purgeable->volatile for accuracy.
2229 Keep track of two sets of backing store: those which are active/parented, and
2230 those which are not. Backing store is moved to the inactive set after building
2231 the transaction in which its owning layer is unparented.
2232 When backing store is unparented, try to mark it volatile immediately. Also,
2233 mark the backing store property as dirty on the owning layer so that when
2234 said layer is reparented, we encode the backing store in the commit that reparents it,
2235 as the UI process will throw away its reference to the backing store when
2236 the layer is unparented. Mark the front buffers of unparented layers as volatile,
2237 in addition to the others.
2239 * Shared/mac/RemoteLayerTreeTransaction.h:
2240 (WebKit::RemoteLayerTreeTransaction::layerIDsWithNewlyUnreachableBackingStore):
2241 * Shared/mac/RemoteLayerTreeTransaction.mm:
2242 (WebKit::RemoteLayerTreeTransaction::encode):
2243 (WebKit::RemoteLayerTreeTransaction::decode):
2244 (WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
2245 Include the list of layers (by ID) with backing store which just became unreachable in the transaction.
2247 * UIProcess/mac/RemoteLayerTreeHost.mm:
2248 (WebKit::RemoteLayerTreeHost::updateLayerTree):
2249 Clear the contents of layers which now have unreachable backing store.
2250 Otherwise, the UI process would hold a 'use' on the IOSurface, and prevent
2251 the Web process from marking it volatile.
2253 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
2254 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
2255 (WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed):
2256 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2257 (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
2258 Give RemoteLayerBackingStoreCollection a shot at the RemoteLayerTreeTransaction,
2259 so that it can fill in layerIDsWithNewlyUnreachableBackingStore.
2260 Also, let it know when the flush begins and ends, so that it can keep track
2261 of which layers were reached in the flush.
2263 2014-05-26 Shivakumar JM <shiva.jm@samsung.com>
2265 [EFL][WK2] Fix EWK2BackForwardListTest test fails.
2266 https://bugs.webkit.org/show_bug.cgi?id=133171
2268 Reviewed by Gyuyoung Kim.
2270 Use local test html pages instead of EWK2UnitTestServer, call ewk_view_url_set() to load test html pages.
2271 Since even after setting no_proxy="localhost,127.0.0.1", still test server was unable to load the test
2272 html pages for ewk2_back_forward_list tests, so changed to use local html pages.
2274 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
2277 2014-05-26 Shivakumar JM <shiva.jm@samsung.com>
2279 [EFL][WK2] Fix code style check errors in EFL API tests.
2280 https://bugs.webkit.org/show_bug.cgi?id=133170
2282 Reviewed by Gyuyoung Kim.
2284 Omit int when using unsigned modifier, as per coding style rules.
2286 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2287 (EWK2UnitTest::EWK2UnitTestBase::SetUp):
2288 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
2289 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultWidth):
2290 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultHeight):
2292 2014-05-22 Gavin Barraclough <baraclough@apple.com>
2294 Add UI process watchdog on iOS to ensure WebProcess connections close
2295 https://bugs.webkit.org/show_bug.cgi?id=133200
2296 <rdar://problem/16997983>
2298 Reviewed by Darin Adler.
2300 When the WebProcessProxy wants to disconnect from a WebContent process it just drops the connection,
2301 and hopes the connection closes. There is a watchdog thread in the ChildProcess to try to ensure this
2304 On iOS the process may not be runnable at the time, preventing termination. Instead add a watchdog in
2305 the UI process to make the process runnable, and to terminate if it doesn't quit in a timely fashion.
2307 * Platform/IPC/Connection.h:
2308 - added terminateSoon.
2309 * Platform/IPC/mac/ConnectionMac.mm:
2310 (IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
2311 - take an assertion to make the process runnable, and start a watchdog timer.
2312 (IPC::ConnectionTerminationWatchdog::watchdogTimerFired):
2313 - if the process hasn't quit by the timer the watchdog fires, kill it.
2314 (IPC::Connection::terminateSoon):
2315 - create a ConnectionTerminationWatchdog.
2316 * UIProcess/WebProcessProxy.cpp:
2317 (WebKit::WebProcessProxy::removeWebPage):
2318 - when disconnecting from a process, first tell it to terminateSoon.
2320 2014-05-26 Sam Weinig <sam@webkit.org>
2322 [WebKit2] Add better default preferences while keeping backward compatibility for the C-SPI
2323 https://bugs.webkit.org/show_bug.cgi?id=133289
2325 Reviewed by Anders Carlsson.
2327 * Shared/WebPreferencesStore.h:
2328 Change a few defaults:
2329 - PluginsEnabled -> false
2330 - JavaEnabled -> false
2331 - JavaEnabledForLocalFiles -> false
2332 - StorageBlockingPolicy -> BlockThirdPartyStorage
2334 * UIProcess/API/C/WKPreferences.cpp:
2335 (WKPreferencesCreate):
2336 (WKPreferencesCreateWithIdentifier):
2337 * UIProcess/WebPageGroup.cpp:
2338 (WebKit::WebPageGroup::WebPageGroup):
2339 Switch to using WebPreferences::createWithLegacyDefaults().
2341 * UIProcess/WebPreferences.cpp:
2342 (WebKit::WebPreferences::create):
2343 (WebKit::WebPreferences::createWithLegacyDefaults):
2344 * UIProcess/WebPreferences.h:
2345 Move create functions to the cpp file and add createWithLegacyDefaults() which keeps
2348 * UIProcess/API/C/WKPreferencesRef.h:
2351 * UIProcess/API/Cocoa/WKPreferences.h:
2352 Update the comment to reflect the new defaults.
2354 * WebProcess/WebPage/WebPage.cpp:
2355 (WebKit::WebPage::updatePreferences):
2356 Unconditionally set setShouldDispatchJavaScriptWindowOnErrorEvents() to true. This setting only
2357 exists for legacy WebKit.
2359 2014-05-26 Dan Bernstein <mitz@apple.com>
2361 [Cocoa] Rewrite WK_DESIGNATED_INITIALIZER in installed headers
2362 https://bugs.webkit.org/show_bug.cgi?id=133290
2364 Reviewed by Anders Carlsson.
2366 * Shared/API/Cocoa/WKFoundation.h: When WK_API_AVAILABILITY_ENABLED is defined, don’t
2367 provide definitions of WK_DESIGNATED_INITIALIZER and WK_UNAVAILABLE, since those macros will
2368 be rewritten out of the headers. When WK_API_AVAILABILITY_ENABLED isn’t defined, provide
2369 definitions of the other two macros as appropriate for the target OS.
2370 * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Removed WK_DESIGNATED_INITIALIZER from a
2371 category method declaration.
2372 * UIProcess/API/Cocoa/WKWebView.h: Mark the superclass designated initializer
2373 -initWithCoder: as unavailable.
2374 * UIProcess/API/Cocoa/WKWebView.mm:
2375 (-[WKWebView initWithCoder:]): Override this designated initializer of the superclass by
2377 * mac/rewrite-availability-macros.sh: Rewrite WK_DESIGNATED_INITIALIZER to
2378 NS_DESIGNATED_INITIALIZER and WK_UNAVAILABLE to NS_UNAVAILABLE. Also make sure to process
2379 all headers if the script has changed since the last time it was run.
2381 2014-05-26 Commit Queue <commit-queue@webkit.org>
2383 Unreviewed, rolling out r169122.
2384 https://bugs.webkit.org/show_bug.cgi?id=133288
2386 Broke CJK font fallback (Requested by ap on #webkit).
2390 "[Mac] WebProcess doesn't follow localization of UI process
2391 when run as a service"
2392 https://bugs.webkit.org/show_bug.cgi?id=133126
2393 http://trac.webkit.org/changeset/169122
2395 2014-05-26 Anders Carlsson <andersca@apple.com>
2397 Convert a couple of loops over to range-based for
2398 https://bugs.webkit.org/show_bug.cgi?id=133287
2400 Reviewed by Simon Fraser.
2402 * UIProcess/Plugins/PluginInfoStore.cpp:
2403 (WebKit::PluginInfoStore::findPluginForMIMEType):
2404 (WebKit::PluginInfoStore::findPluginForExtension):
2405 (WebKit::PluginInfoStore::infoForPluginWithPath):
2406 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
2407 (WebKit::PluginProcessManager::setProcessSuppressionEnabled):
2409 2014-05-26 Carlos Garcia Campos <cgarcia@igalia.com>
2411 [GTK] WebProcess leaked when closing pages with network process enabled
2412 https://bugs.webkit.org/show_bug.cgi?id=129684
2414 Reviewed by Anders Carlsson.
2416 The problem is that the web process is not notified when the UI
2417 process closes the connection, because when close() is called on
2418 the socket by the UI process, the socket is shared by another web
2419 process launched later, preventing the connection from being
2420 shut down. We need to set the CLOEXEC flag on the sockets file
2421 descriptor to make sure they are not exposed to other processes.
2423 * Platform/IPC/Connection.h: Add ConnectionOptions parameter to
2424 createPlatformConnection() with a default value compatible with
2426 * Platform/IPC/unix/ConnectionUnix.cpp:
2427 (IPC::Connection::createPlatformConnection): Set the CLOEXEC flag
2428 on the client and server socket file descriptors depending on the
2430 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2431 (WebKit::ProcessLauncher::launchProcess): Use
2432 IPC::Connection::createPlatformConnection() instead of
2433 socketpair() directly, setting the CLOEXEC flag on the server
2434 before spawning the new process and on the client right after
2435 spawning the new process.
2437 2014-05-25 Anders Carlsson <andersca@apple.com>
2439 Initialize WKWebViewConfiguration ivars lazily
2440 https://bugs.webkit.org/show_bug.cgi?id=133270
2441 <rdar://problem/17027606>
2443 Reviewed by Sam Weinig.
2445 Create a LazyInitialized class template and use it to lazily initialize WKWebViewConfiguration properties.
2447 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2448 (LazyInitialized::get):
2449 Initialize m_value with the given function if it hasn't been initialized already.
2451 (LazyInitialized::set):
2452 Update m_value and set m_isInitialized to true.
2454 (LazyInitialized::peek):
2455 Return m_value without initializing it.
2457 (-[WKWebViewConfiguration description]):
2458 Use getters so we'll initialize variables if needed.
2460 (-[WKWebViewConfiguration copyWithZone:]):
2463 (-[WKWebViewConfiguration processPool]):
2464 (-[WKWebViewConfiguration setProcessPool:]):
2465 (-[WKWebViewConfiguration preferences]):
2466 (-[WKWebViewConfiguration setPreferences:]):
2467 (-[WKWebViewConfiguration userContentController]):
2468 (-[WKWebViewConfiguration setUserContentController:]):
2469 (-[WKWebViewConfiguration _visitedLinkProvider]):
2470 (-[WKWebViewConfiguration _setVisitedLinkProvider:]):
2471 (-[WKWebViewConfiguration _websiteDataStore]):
2472 (-[WKWebViewConfiguration _setWebsiteDataStore:]):
2473 (-[WKWebViewConfiguration _contentProviderRegistry]):
2474 (-[WKWebViewConfiguration _setContentProviderRegistry:]):
2475 Pass initialization code to all getters.
2477 (-[WKWebViewConfiguration _validate]):
2480 (-[WKWebViewConfiguration init]): Deleted.
2482 2014-05-26 Martin Hodovan <mhodovan.u-szeged@partner.samsung.com>
2484 Remove WebKit2 framework from generate-forwarding-headers.pl
2485 https://bugs.webkit.org/show_bug.cgi?id=133214
2487 Since renaming WebKit2.framework to WebKit.framework is done and all WebKit2/*.h includes
2488 were renamed to WebKit/*.h, generating forwarding headers for WebKit2/*.h framework style
2489 headers is not necessary anymore.
2491 Reviewed by Darin Adler.
2493 * Scripts/generate-forwarding-headers.pl:
2495 2014-05-26 Zan Dobersek <zdobersek@igalia.com>
2497 WebPage::setComposition(), WebPageProxy::didFindStringMatches() should take Vector parameters by const reference
2498 https://bugs.webkit.org/show_bug.cgi?id=133264
2500 Reviewed by Darin Adler.
2502 Taking the Vector parameters in the two methods (invoked through the IPC message handling)
2503 by value causes unnecessary copies. The methods don't modify the objects and don't want
2504 or need fresh copies, hence they should take in const references to Vector objects.
2506 * UIProcess/WebPageProxy.cpp:
2507 (WebKit::WebPageProxy::didFindStringMatches):
2508 * UIProcess/WebPageProxy.h:
2509 * WebProcess/WebPage/WebPage.cpp:
2510 (WebKit::WebPage::setComposition):
2511 * WebProcess/WebPage/WebPage.h:
2513 2014-05-25 Benjamin Poulain <benjamin@webkit.org>
2515 [iOS][WK2] Fix some state reset on crash on the WKWebView
2516 https://bugs.webkit.org/show_bug.cgi?id=133039
2518 Reviewed by Sam Weinig.
2520 This is in no way complete, but this should reduce the undefined states on crash.
2522 * UIProcess/API/Cocoa/WKWebView.mm:
2523 (-[WKWebView _processDidExit]):
2524 If the view is animating, nuke the resize animation. That should be invisible to the user
2525 because the background color is reset to white below.
2527 Reset the contentView frame and scrollview state.
2529 Reset the runtime states. We do not strictly need to reset _needsResetViewStateAfterCommitLoadForMainFrame,
2530 _delayUpdateVisibleContentRects and _hadDelayedUpdateVisibleContentRects but it seems better to have
2533 (-[WKWebView _beginAnimatedResizeWithUpdates:]):
2534 (-[WKWebView _endAnimatedResize]):
2535 We could have crashes during rotation. To simplify the reset code, the animated resize code
2536 no longer change any state when WKWebView is using a custom content view.
2538 * UIProcess/API/Cocoa/WKWebViewInternal.h:
2539 * UIProcess/ios/PageClientImplIOS.mm:
2540 (WebKit::PageClientImpl::processDidExit):
2541 Send a _processDidExit on the WKWebView too.
2543 2014-05-25 Anders Carlsson <andersca@apple.com>
2545 Use the right paths for website data
2546 https://bugs.webkit.org/show_bug.cgi?id=133267
2547 <rdar://problem/17027698>
2549 Reviewed by Sam Weinig.
2551 * UIProcess/API/Cocoa/WKProcessPool.mm:
2552 (-[WKProcessPool _initWithConfiguration:]):
2553 Get the path of the absolute URL.
2555 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2556 (WebKit::LocalStorageDatabaseTracker::databasePath):
2559 * WebProcess/Network/NetworkProcessConnection.cpp:
2560 (WebKit::NetworkProcessConnection::didCacheResource):
2563 2014-05-25 Benjamin Poulain <bpoulain@apple.com>
2565 [iOS][WK2] Use ScrollView's scrollOffset as the unobscuredContentRect
2566 https://bugs.webkit.org/show_bug.cgi?id=133262
2568 Reviewed by Simon Fraser.
2570 * WebProcess/WebPage/ios/WebPageIOS.mm:
2571 (WebKit::WebPage::dynamicViewportSizeUpdate):
2572 (WebKit::WebPage::viewportConfigurationChanged):
2573 (WebKit::WebPage::updateVisibleContentRects):
2575 2014-05-25 Sam Weinig <sam@webkit.org>
2579 * UIProcess/API/Cocoa/WKPreferences.h:
2581 2014-05-25 Sam Weinig <sam@webkit.org>
2585 * UIProcess/API/Cocoa/WKPreferences.h:
2587 2014-05-24 Sam Weinig <sam@webkit.org>
2589 [WebKit2] Rework WebPreferencesStore to allow easier overriding of defaults
2590 https://bugs.webkit.org/show_bug.cgi?id=133258
2592 Reviewed by Anders Carlsson.
2594 To support changing default values of preferences based on which API you are using (either
2595 the legacy C-SPI or the Objective-C API), overhaul the WebPreferencesStore to use a single
2596 HashMap of String -> Value (where Value is new type that can be a String, bool, uint32_t or double)
2597 instead of four HashMaps. This allows us to use two of these new HashMaps, one for the actual
2598 set values, and one for overridden defaults. This new Value class will also allow easier incremental
2599 updating of preferences in the future.
2601 Other notable changes:
2602 - Removed Float kind of preferences. There were none.
2603 - Move StorageBlockingPolicy preference to the correct group, it's a uint32_t, not bool.
2605 * Shared/WebPreferencesStore.cpp:
2606 * Shared/WebPreferencesStore.h:
2608 2014-05-25 David Kilzer <ddkilzer@apple.com>
2610 Add type-checked casts for TransformOperations
2611 <http://webkit.org/b/133217>
2613 Reviewed by Simon Fraser.
2615 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2616 (IPC::ArgumentCoder<TransformOperations>::encode):
2617 - Switch to type-checked casts.
2619 2014-05-25 David Kilzer <ddkilzer@apple.com>
2621 Use type-checking FilterOperation casts in CoordinatedGraphicsArgumentCoders.cpp
2622 <http://webkit.org/b/133203>
2624 Reviewed by Simon Fraser.
2626 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2627 (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
2628 - Replace static_cast<>() operators with type-checking
2629 FilterOperation casts.
2630 - Replace 'default' statement with 'case' statements so new
2631 filters added later require an explicit decision to be made.
2632 (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
2633 - Replace 'default' statement with 'case' statements so new
2634 filters added later require an explicit decision to be made.
2636 2014-05-24 Jon Honeycutt <jhoneycutt@apple.com>
2638 Potential null dereference in
2639 WebFrameLoaderClient::dispatchDidFailProvisionalLoad()
2640 <https://bugs.webkit.org/show_bug.cgi?id=133193>
2642 WebFrameLoaderClient::dispatchDidFailProvisionalLoad() calls the
2643 InjectedBundleLoaderClient's didFailProvisionalLoadWithErrorForFrame()
2644 before sending a message to the UI process that a provisional load has
2645 failed. It's possible for the provisional document loader to become
2646 null while calling into the InjectedBundleLoaderClient (as is the case
2647 with the WebKitTestRunner's injected bundle), leading to a null
2648 dereference when trying to send the DidFailProvisionalLoadForFrame
2651 Reviewed by Darin Adler.
2653 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2654 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
2655 Get the navigation ID before calling into the injected bundle.
2657 2014-05-23 Simon Fraser <simon.fraser@apple.com>
2659 Rename ScrollingTreeScrollingNode's m_scrollPosition to make it clear that it's the value committed from the state tree
2660 https://bugs.webkit.org/show_bug.cgi?id=133254
2662 Reviewed by Tim Horton.
2664 Override scrollPosition() on ScrollingTreeOverflowScrollingNodeIOS.
2666 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
2667 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2668 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollPosition):
2670 2014-05-24 Chris Fleizach <cfleizach@apple.com>
2672 AX: fix coordinate mapping for iOS accessibility
2673 https://bugs.webkit.org/show_bug.cgi?id=133188
2675 Reviewed by Sam Weinig.
2677 Add in accessibility conversion methods that will check if the methods are present
2678 (if accessibility is not on, they won't be)
2679 and use those to convert points into the right coordinate space that VoiceOver is expecting.
2681 * UIProcess/PageClient.h:
2682 * UIProcess/WebPageProxy.cpp:
2683 (WebKit::WebPageProxy::accessibilityScreenToRootView):
2684 (WebKit::WebPageProxy::rootViewToAccessibilityScreen):
2685 * UIProcess/WebPageProxy.h:
2686 * UIProcess/WebPageProxy.messages.in:
2687 * UIProcess/ios/PageClientImplIOS.h:
2688 * UIProcess/ios/PageClientImplIOS.mm:
2689 (WebKit::PageClientImpl::accessibilityScreenToRootView):
2690 (WebKit::PageClientImpl::rootViewToAccessibilityScreen):
2691 * UIProcess/mac/PageClientImpl.h:
2692 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2693 (WebKit::WebChromeClient::accessibilityScreenToRootView):
2694 (WebKit::WebChromeClient::rootViewToAccessibilityScreen):
2695 * WebProcess/WebCoreSupport/WebChromeClient.h:
2696 * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
2697 (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
2698 * WebProcess/WebPage/WebPage.cpp:
2699 (WebKit::WebPage::accessibilityScreenToRootView):
2700 (WebKit::WebPage::rootViewToAccessibilityScreen):
2701 * WebProcess/WebPage/WebPage.h:
2703 2014-05-24 Carlos Garcia Campos <cgarcia@igalia.com>
2705 REGRESSION(r165841): Messages sent before the child process is launched are never sent after r165841
2706 https://bugs.webkit.org/show_bug.cgi?id=131675
2708 Reviewed by Anders Carlsson.
2710 Since r165841 the connection is opened after the pending messages
2711 are sent, because connectionWillOpen might send messages that we
2712 want to happen after the ones already pending. The problem is that
2713 Connection::canSendOutgoingMessages() returns false when
2714 connection hasn't been opened. We should ensure no messages are
2715 sent by connectionWillOpen.
2717 * Shared/ChildProcessProxy.cpp:
2718 (WebKit::ChildProcessProxy::didFinishLaunching): Open the
2719 connection before sending pending messages.
2720 * UIProcess/WebPageProxy.cpp:
2721 (WebKit::WebPageProxy::connectionWillOpen): Do not call
2722 VisitedLinkProvider::addProcess() here because it tries to send a
2723 message to the web process, but the connection hasn't be opened yet.
2724 (WebKit::WebPageProxy::processDidFinishLaunching): Call
2725 VisitedLinkProvider::addProcess() here instead.
2726 * UIProcess/WebPageProxy.h:
2727 * UIProcess/WebProcessProxy.cpp:
2728 (WebKit::WebProcessProxy::didFinishLaunching): Call
2729 WebPageProxy::processDidFinishLaunching() for every web page.
2731 2014-05-23 Ian Henderson <ianh@apple.com>
2733 REGRESSION: Rubberbanding out jumps to top left corner on google.com
2734 https://bugs.webkit.org/show_bug.cgi?id=133253
2735 <rdar://problem/17025664>
2737 Reviewed by Benjamin Poulain.
2739 * UIProcess/API/Cocoa/WKWebView.mm:
2740 (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
2741 Avoid deceleration during zooming to work around a UIKit bug.
2743 2014-05-23 Benjamin Poulain <bpoulain@apple.com>
2745 [iOS][WK2] Avoid updating the view from the viewport configuration unnecessarily
2746 https://bugs.webkit.org/show_bug.cgi?id=133255
2747 <rdar://problem/16890926>
2749 Reviewed by Simon Fraser.
2751 All the updates were mostly harmless since they are pretty cheap, but they can be
2752 very annoying for debugging.
2754 This patch skips viewportUpdates in the trivial cases.
2756 * UIProcess/API/Cocoa/WKWebView.mm:
2757 (-[WKWebView _setMinimumLayoutSizeOverride:]):
2758 (-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
2759 * WebProcess/WebPage/WebPage.cpp:
2760 (WebKit::WebPage::mainFrameDidLayout):
2761 * WebProcess/WebPage/ios/WebPageIOS.mm:
2762 (WebKit::WebPage::viewportPropertiesDidChange):
2764 2014-05-23 Benjamin Poulain <bpoulain@apple.com>
2766 [iOS][WK2] The page scale factor randomly resets to initial scale when editing
2767 https://bugs.webkit.org/show_bug.cgi?id=133244
2769 Reviewed by Enrica Casucci.
2771 We were never telling the WebProcess that zoom is used triggered. As a result, the ViewportConfiguration was free
2772 to reset the scale whenever it felt like it. The fix is to call willStartUserTriggeredZoom before changing the scale.
2774 This patch also split _willStartUserTriggeredScrollingOrZooming from willStartUserTriggeredZoom
2775 and rename it to willStartPanOrPinchGesture. This is just a tiny cleanup since the only thing left in _willStartUserTriggeredScrollingOrZooming
2776 was gesture related.
2778 * UIProcess/API/Cocoa/WKWebView.mm:
2779 (-[WKWebView _zoomToFocusRect:WebCore::selectionRect:WebCore::fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
2780 (-[WKWebView scrollViewWillBeginZooming:withView:]):
2781 (-[WKWebView scrollViewWillBeginDragging:]):
2782 * UIProcess/API/Cocoa/WKWebViewInternal.h:
2783 * UIProcess/API/ios/WKViewIOS.mm:
2784 (-[WKView scrollViewWillBeginDragging:]):
2785 * UIProcess/ios/WKContentView.h:
2786 * UIProcess/ios/WKContentView.mm:
2787 (-[WKContentView willStartUserTriggeredZoom]):
2788 (-[WKContentView willStartUserTriggeredScroll]): Deleted.
2789 * UIProcess/ios/WKContentViewInteraction.h:
2790 * UIProcess/ios/WKContentViewInteraction.mm:
2791 (-[WKContentView willStartPanOrPinchGesture]):
2792 (-[WKContentView _willStartUserTriggeredScrollingOrZooming]): Deleted.
2794 2014-05-23 Tim Horton <timothy_horton@apple.com>
2796 REGRESSION (iOS WebKit2): requestAnimationFrame fires more than once between layer tree commits
2797 https://bugs.webkit.org/show_bug.cgi?id=132794
2798 <rdar://problem/16877909>
2800 Reviewed by Simon Fraser.
2802 * WebKit2.xcodeproj/project.pbxproj:
2803 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2804 (WebKit::WebChromeClient::createDisplayRefreshMonitor):
2805 * WebProcess/WebCoreSupport/WebChromeClient.h:
2806 * WebProcess/WebPage/DrawingArea.h:
2807 (WebKit::DrawingArea::graphicsLayerFactory):
2808 (WebKit::DrawingArea::createDisplayRefreshMonitor):
2809 Plumb the DisplayRefreshMonitor request through to the DrawingArea.
2810 RemoteLayerTreeDrawingArea will implement and return a RemoteLayerTreeDisplayRefreshMonitor.
2812 * WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h: Added.
2813 (WebKit::RemoteLayerTreeDisplayRefreshMonitor::create):
2814 * WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.mm: Added.
2815 (WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):
2816 (WebKit::RemoteLayerTreeDisplayRefreshMonitor::~RemoteLayerTreeDisplayRefreshMonitor):
2817 (WebKit::RemoteLayerTreeDisplayRefreshMonitor::requestRefreshCallback):
2818 When requesting a display refresh callback, schedule a layer commit.
2819 It may end up being empty, but will still call us back with a didUpdate,
2820 upon which we'll fire the callback.
2822 (WebKit::RemoteLayerTreeDisplayRefreshMonitor::didUpdateLayers):
2824 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2825 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2826 (WebKit::RemoteLayerTreeDrawingArea::createDisplayRefreshMonitor):
2827 (WebKit::RemoteLayerTreeDrawingArea::willDestroyDisplayRefreshMonitor):
2828 Keep track of the set of DisplayRefreshMonitors.
2830 (WebKit::RemoteLayerTreeDrawingArea::didUpdate):
2831 Fire requestAnimationFrame callbacks once the UI process commits the new layer tree.
2833 2014-05-23 Jeremy Jones <jeremyj@apple.com>
2835 Hide fullscreen immediately when switching tabs.
2836 https://bugs.webkit.org/show_bug.cgi?id=133239
2838 Reviewed by Eric Carlson.
2840 Renamed a function to better describe it's new functionality.
2842 * UIProcess/WebPageProxy.cpp:
2843 (WebKit::WebPageProxy::viewStateDidChange):
2844 now calls: requestHideAndExitFullscreen
2846 2014-05-23 Enrica Casucci <enrica@apple.com>
2848 REGRESSION (WebKit2): Keyboard disappears/appears automatically between text boxes.
2849 https://bugs.webkit.org/show_bug.cgi?id=133243
2850 <rdar://problem/16761913>
2852 Reviewed by Benjamin Poulain.
2854 We need to ensure that when an element loses focus and another one gets it,
2855 this is handled in one single message in the UI process to avoid seeing
2856 the keyboard animating in and out.
2857 This is accomplished by always postponing the blur notification until all events
2858 have been processed.
2859 If a new node is focused before the delayed blur notification is sent to the UI
2860 process, the message we send includes both blur and focus notification. In this case,
2861 the postponed blur notification is not sent.
2863 * UIProcess/PageClient.h:
2864 * UIProcess/WebPageProxy.h:
2865 * UIProcess/WebPageProxy.messages.in:
2866 * UIProcess/ios/PageClientImplIOS.h:
2867 * UIProcess/ios/PageClientImplIOS.mm:
2868 (WebKit::PageClientImpl::startAssistingNode):
2869 * UIProcess/ios/WKContentViewInteraction.h:
2870 * UIProcess/ios/WKContentViewInteraction.mm:
2871 (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
2872 (-[WKContentView _startAssistingNode:userIsInteracting:userObject:]): Deleted.
2873 * UIProcess/ios/WebPageProxyIOS.mm:
2874 (WebKit::WebPageProxy::startAssistingNode):
2875 * WebProcess/WebPage/WebPage.cpp:
2876 (WebKit::WebPage::WebPage):
2877 * WebProcess/WebPage/WebPage.h:
2878 * WebProcess/WebPage/ios/WebPageIOS.mm:
2879 (WebKit::WebPage::elementDidFocus):
2880 (WebKit::WebPage::elementDidBlur):
2882 2014-05-23 Anders Carlsson <andersca@apple.com>
2884 Remove an assertion.
2886 * WebProcess/WebPage/WebPage.cpp:
2887 (WebKit::WebPage::loadRequest):
2889 2014-05-23 Tim Horton <timothy_horton@apple.com>
2891 [iOS] WKPDFView should have a page indicator
2892 https://bugs.webkit.org/show_bug.cgi?id=133109
2893 <rdar://problem/16383003>
2895 Reviewed by Anders Carlsson.
2897 * UIProcess/API/Cocoa/WKWebView.mm:
2898 (-[WKWebView _setHasCustomContentView:loadedMIMEType:WTF::]):
2899 (-[WKWebView _setObscuredInsets:]):
2900 Forward obscured insets changes to the custom content view.
2902 (-[WKWebView _updateScrollViewBackground]):
2903 If we have a custom content view, use its background instead of the
2904 (likely nonexistent) page's when updaing the scroll view's background color.
2906 * UIProcess/API/Cocoa/WKWebViewInternal.h:
2907 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2908 * UIProcess/Cocoa/WKWebViewContentProvider.h:
2909 * UIProcess/Cocoa/WKWebViewContentProviderDelegate.h: Added.
2910 * UIProcess/API/Cocoa/WKWebView.mm:
2911 (-[WKWebView _setInsetForOverlaidAccessoryViews:]):
2912 Add SPI for clients to inform us about potential overlaid accessory views
2913 which should be taken into account e.g. for positioning the page indicator.
2915 Add a view that sits fixed on top of the WKWebView, ignores interaction,
2916 but provides the WKWebViewContentProvider a place to install views
2917 that don't scroll along with the content.
2919 * UIProcess/ios/WKPDFPageNumberIndicator.h: Added.
2920 * UIProcess/ios/WKPDFPageNumberIndicator.mm: Added.
2921 (-[WKPDFPageNumberIndicator initWithFrame:]):
2922 (-[WKPDFPageNumberIndicator dealloc]):
2923 (-[WKPDFPageNumberIndicator setCurrentPageNumber:]):
2924 (-[WKPDFPageNumberIndicator setPageCount:]):
2925 (-[WKPDFPageNumberIndicator show]):
2926 (-[WKPDFPageNumberIndicator hide:]):
2927 (-[WKPDFPageNumberIndicator moveToPoint:animated:]):
2928 (-[WKPDFPageNumberIndicator sizeThatFits:]):
2929 (-[WKPDFPageNumberIndicator _updateLabel]):
2930 (-[WKPDFPageNumberIndicator _makeRoundedCorners]):
2931 Add a page number indicator.
2933 * UIProcess/ios/WKPDFView.mm:
2934 (-[WKPDFView dealloc]):
2935 (-[WKPDFView web_setScrollView:]):
2936 (-[WKPDFView _revalidateViews]):
2937 (-[WKPDFView _offsetForPageNumberIndicator]):
2938 (-[WKPDFView _updatePageNumberIndicator]):
2939 (-[WKPDFView web_setObscuredInsets:]):
2940 (-[WKPDFView web_setInsetForOverlaidAccessoryViews:]):
2941 (-[WKPDFView web_setFixedOverlayView:]):
2942 (-[WKPDFView _computePageAndDocumentFrames]):
2943 Update the page number indicator when the topmost visible page changes.
2944 Move the page number indicator around when the obscured insets change.
2946 * WebKit2.xcodeproj/project.pbxproj:
2948 2014-05-23 Anders Carlsson <andersca@apple.com>
2950 Fix test failures on the bot.
2952 * UIProcess/API/Cocoa/WKProcessPool.mm:
2953 (websiteDataDirectoryURL):
2954 If we have no bundle identifier, use the process name.
2956 2014-05-23 Enrica Casucci <enrica@apple.com>
2958 REGRESSION (iOS WebKit2): Autocorrection is not accurate when changing selection.
2959 https://bugs.webkit.org/show_bug.cgi?id=133237
2960 <rdar://problem/16655776>
2962 Reviewed by Ryosuke Niwa.
2964 * UIProcess/ios/WKContentViewInteraction.mm:
2965 (-[WKContentView beginSelectionChange]):
2966 (-[WKContentView endSelectionChange]):
2968 When the selection is changed with a gesture in an editable element,
2969 we must notify the keyboard to make sure the autocorrection engine
2970 updates its typing context. WKContentView must implement
2971 beginSelectionChange and endSelectionChange to call into
2974 2014-05-22 Brent Fulgham <bfulgham@apple.com>
2976 [iOS] WK2: Provide implementation for windowFrame
2977 https://bugs.webkit.org/show_bug.cgi?id=133205
2978 <rdar://problem/16894890>
2980 Reviewed by Benjamin Poulain.
2982 * UIProcess/Cocoa/UIDelegate.h:
2983 * UIProcess/Cocoa/UIDelegate.mm:
2984 (WebKit::UIDelegate::UIClient::windowFrame): Added.
2985 * UIProcess/ios/PageClientImplIOS.mm:
2986 (WebKit::PageClientImpl::convertToUserSpace): Added.
2988 2014-05-20 Anders Carlsson <andersca@apple.com>
2990 Use a per app directory structure for website data
2991 https://bugs.webkit.org/show_bug.cgi?id=133125
2992 <rdar://problem/16830143>
2994 Reviewed by Dan Bernstein, Sam Weinig and Tim Horton.
2996 Put website data in subdirectories of ~/Library/WebKit/<bundle ID>/WebsiteData.
2997 We use "LocalStorage", "WebSQL", and "IndexedDB" subdirectories.
2999 * UIProcess/API/Cocoa/WKProcessPool.mm:
3000 (websiteDataDirectoryURL):
3001 (-[WKProcessPool _initWithConfiguration:]):
3003 2014-05-23 Dan Bernstein <mitz@apple.com>
3005 [Cocoa] WKNavigationResponsePrivate.h is internal
3006 https://bugs.webkit.org/show_bug.cgi?id=133218
3008 Reviewed by Dean Jackson.
3010 * WebKit2.xcodeproj/project.pbxproj: Promote WKNavigationResponsePrivate.h to private.
3012 2014-05-23 Carlos Garcia Campos <cgarcia@igalia.com>
3014 [UNIX] Reorganize and cleanup main functions of GTK and EFL ports
3015 https://bugs.webkit.org/show_bug.cgi?id=131024
3017 Reviewed by Gustavo Noronha Silva.
3019 Move main function implementation files to <process-dir>/EntryPoint/unix/<ProcessName>Main.cpp
3020 files that are now shared by GTK and EFL ports. These files call a
3021 main method that wraps a new method ChildProcessMain that contains
3022 the common code and uses a helper class for the platform specific
3023 code. GTK+ and EFL ports implement that helper class for every process type.
3025 * NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp: Renamed from Source/WebKit2/efl/MainEfl.cpp.
3027 * NetworkProcess/efl/NetworkProcessMainEfl.cpp: Renamed from Source/WebKit2/unix/NetworkMainUnix.cpp.
3028 (WebKit::NetworkProcessMainUnix):
3029 * NetworkProcess/gtk/NetworkProcessMainGtk.cpp: Renamed from Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp.
3030 (WebKit::NetworkProcessMainUnix):
3031 * NetworkProcess/unix/NetworkProcessMainUnix.h:
3032 * PlatformEfl.cmake:
3033 * PlatformGTK.cmake:
3034 * PluginProcess/EntryPoint/unix/PluginProcessMain.cpp: Renamed from Source/WebKit2/unix/PluginMainUnix.cpp.
3036 * PluginProcess/unix/PluginProcessMainUnix.cpp:
3037 (WebKit::webkitXError):
3038 (WebKit::PluginProcessMainUnix):
3039 * PluginProcess/unix/PluginProcessMainUnix.h:
3040 * Shared/unix/ChildProcessMain.cpp: Copied from Source/WebKit2/WebProcess/efl/WebProcessMainEfl.h.
3041 (WebKit::ChildProcessMainBase::parseCommandLine):
3042 * Shared/unix/ChildProcessMain.h: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.h.
3043 (WebKit::ChildProcessMainBase::platformInitialize):
3044 (WebKit::ChildProcessMainBase::platformFinalize):
3045 (WebKit::ChildProcessMainBase::initializationParameters):
3046 (WebKit::ChildProcessMain):
3047 * WebProcess/EntryPoint/unix/WebProcessMain.cpp: Renamed from Source/WebKit2/gtk/MainGtk.cpp.
3049 * WebProcess/efl/WebProcessMainEfl.cpp:
3050 (WebKit::WebProcessMainUnix):
3051 (dummyExtensionErrorHandler): Deleted.
3052 * WebProcess/gtk/WebProcessMainGtk.cpp:
3053 (WebKit::WebProcessMainUnix):
3054 * WebProcess/unix/WebProcessMainUnix.h: Renamed from Source/WebKit2/WebProcess/efl/WebProcessMainEfl.h.
3056 2014-05-22 Zan Dobersek <zdobersek@igalia.com>
3058 Have the decoded element in VectorArgumentCoder::decode() moved into Vector::append()
3059 https://bugs.webkit.org/show_bug.cgi?id=133082
3061 Reviewed by Andreas Kling.
3063 * Platform/IPC/ArgumentCoders.h: Move the decoded element into the Vector::append() call.
3064 This enforces a move instead of a copy if the decoded element's type is move-constructible.
3066 2014-05-22 Zan Dobersek <zdobersek@igalia.com>
3068 Move the passed-in Vector<Attachment> in MessageDecoder constructor down into ArgumentDecoder
3069 https://bugs.webkit.org/show_bug.cgi?id=133080
3071 Reviewed by Andreas Kling.
3073 * Platform/IPC/MessageDecoder.cpp:
3074 (IPC::MessageDecoder::MessageDecoder): The Vector<Attachment> object was passed in by value.
3075 Move it into the ArgumentDecoder constructor as it is not used elsewhere in this constructor
3076 and produces a copy otherwise.
3078 2014-05-22 Benjamin Poulain <bpoulain@apple.com>
3080 [iOS][WK2] Add support for minimal-ui viewports
3081 https://bugs.webkit.org/show_bug.cgi?id=133162
3083 Reviewed by Simon Fraser.
3085 In the WebKit2 layers, we have two parts to minimal-ui.
3086 -In WebPage, we need to get the values from the UIProcess and setup the ViewportConfiguration.
3087 Another part is freezing the state on page load.
3088 -In the UIProcess, we need to get the right information for layout and styling, and we need to tell
3089 the UI clients about minimal-ui changes.
3091 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
3092 * UIProcess/API/Cocoa/WKWebView.mm:
3093 (-[WKWebView _setUsesMinimalUI:]):
3094 (-[WKWebView _usesMinimalUI]):
3095 (-[WKWebView _didCommitLayerTree:WebKit::]):
3096 (-[WKWebView _frameOrBoundsChanged]):
3097 (-[WKWebView _minimumLayoutSizeOverride]):
3098 (-[WKWebView _setMinimumLayoutSizeOverride:]):
3099 (-[WKWebView _minimumLayoutSizeOverrideForMinimalUI]):
3100 (-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
3101 (-[WKWebView _largestUnobscuredSizeOverride]):
3102 (-[WKWebView _setMaximumUnobscuredSizeOverride:]):
3103 (-[WKWebView _beginAnimatedResizeWithUpdates:]):
3104 (setViewportConfigurationMinimumLayoutSize): Deleted.
3105 * UIProcess/API/Cocoa/WKWebViewInternal.h:
3106 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3107 * UIProcess/PageClient.h:
3108 * UIProcess/WebPageProxy.h:
3109 * UIProcess/WebPageProxy.messages.in:
3110 * UIProcess/ios/PageClientImplIOS.h:
3111 * UIProcess/ios/PageClientImplIOS.mm:
3112 (WebKit::PageClientImpl::setUsesMinimalUI):
3113 * UIProcess/ios/WebPageProxyIOS.mm:
3114 (WebKit::WebPageProxy::dynamicViewportSizeUpdate):
3115 (WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSizeForMinimalUI):
3116 (WebKit::WebPageProxy::setMaximumUnobscuredSize):
3117 (WebKit::WebPageProxy::setUsesMinimalUI):
3118 (WebKit::WebPageProxy::setMinimumLayoutSizeForMinimalUI): Deleted.
3119 * WebProcess/WebPage/WebPage.cpp:
3120 (WebKit::WebPage::WebPage):
3121 (WebKit::WebPage::didCommitLoad):
3122 * WebProcess/WebPage/WebPage.h:
3123 * WebProcess/WebPage/WebPage.messages.in:
3124 * WebProcess/WebPage/ios/WebPageIOS.mm:
3125 (WebKit::WebPage::setViewportConfigurationMinimumLayoutSizeForMinimalUI):
3126 (WebKit::WebPage::setMaximumUnobscuredSize):
3127 (WebKit::WebPage::willFlushLayers):
3128 (WebKit::WebPage::dynamicViewportSizeUpdate):
3129 (WebKit::WebPage::viewportConfigurationChanged):
3130 (WebKit::WebPage::updateViewportSizeForCSSViewportUnits):
3131 (WebKit::WebPage::setMinimumLayoutSizeForMinimalUI): Deleted.
3132 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3133 (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
3135 2014-05-22 Benjamin Poulain <bpoulain@apple.com>
3137 [iOS][WK2] Reset the special action-target of WKSyntheticClickTapGestureRecognizer on destruction
3138 https://bugs.webkit.org/show_bug.cgi?id=133165
3139 <rdar://problem/16283914>
3141 Reviewed by Andy Estes.
3143 It is unclear why, but the WKSyntheticClickTapGestureRecognizer sometimes survives its own view
3144 and is reset after WKContentView was destructed.
3145 This patch cleans up the target-action on destruction to avoid accessing a destructed object.
3147 * UIProcess/ios/WKContentViewInteraction.mm:
3148 (-[WKContentView cleanupInteraction]):
3150 2014-05-22 Benjamin Poulain <bpoulain@apple.com>
3152 Do not force a layout when changing the FixedLayoutSize in WebPage
3153 https://bugs.webkit.org/show_bug.cgi?id=133167
3155 Reviewed by Andreas Kling.
3157 WebPage::setFixedLayoutSize was forcing a layout immediately after changing the layout size on FrameView.
3158 This is forcing plenty of extra layouts since the fixed layout size is one of many properties updated on the FrameView.
3160 FrameView marks that layout is needed. It is not clear why a layout was performed immediately.
3162 * WebProcess/WebPage/WebPage.cpp:
3163 (WebKit::WebPage::setFixedLayoutSize):
3165 2014-05-22 Andreas Kling <akling@apple.com>
3167 [iOS WebKit2] Web process should try to shrink its memory footprint when going into background.
3168 <https://webkit.org/b/133197>
3169 <rdar://problem/17011561>
3171 Try to free up as much memory as possible before going into background.
3173 Reviewed by Gavin Barraclough.
3175 * WebProcess/WebProcess.cpp:
3176 (WebKit::WebProcess::processWillSuspend):
3178 2014-05-22 Andreas Kling <akling@apple.com>
3180 Hook up a setting for showing detailed logging during memory pressure relief.
3181 <https://webkit.org/b/133194>
3183 Plumb through the same setting that we used for detailed logging in WK1.
3185 Reviewed by Gavin Barraclough.
3187 * Shared/WebProcessCreationParameters.cpp:
3188 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
3189 (WebKit::WebProcessCreationParameters::encode):
3190 (WebKit::WebProcessCreationParameters::decode):
3191 * Shared/WebProcessCreationParameters.h:
3192 * UIProcess/mac/WebContextMac.mm:
3193 (WebKit::WebContext::platformInitializeWebProcess):
3194 * WebProcess/cocoa/WebProcessCocoa.mm:
3195 (WebKit::WebProcess::platformInitializeWebProcess):
3197 2014-05-22 Andy Estes <aestes@apple.com>
3199 [iOS] Send shareable resources to QuickLook if enabled
3200 https://bugs.webkit.org/show_bug.cgi?id=133189
3201 <rdar://problem/17003995>
3203 Reviewed by Brady Eidson.
3205 Like we do for didReceiveData(), we need to pass an incoming ShareableResource to QuickLook if a QuickLook
3208 * Shared/ShareableResource.cpp:
3209 (WebKit::ShareableResource::Handle::tryWrapInCFData): Return the shared resource in a CFDataRef.
3210 (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer): Implemented in terms of tryWrapInCFData().
3211 * Shared/ShareableResource.h:
3212 * WebProcess/Network/WebResourceLoader.cpp:
3213 (WebKit::WebResourceLoader::didReceiveResource): If a QuickLook handle exists, send the shareable resource to
3216 2014-05-22 Martin Hock <mhock@apple.com>
3218 [iOS] Enable -apple-system- styled elements to respond to system font size changes.
3219 https://bugs.webkit.org/show_bug.cgi?id=133186
3220 <rdar://problem/16583782>
3222 Reviewed by Enrica Casucci.
3224 * UIProcess/API/Cocoa/WKWebView.mm:
3225 (-[WKWebView initWithFrame:configuration:]):
3226 (-[WKWebView _contentSizeCategoryDidChange:]):
3227 (-[WKWebView _contentSizeCategory]):
3228 * UIProcess/WebPageProxy.h:
3229 * UIProcess/ios/WebPageProxyIOS.mm:
3230 (WebKit::WebPageProxy::contentSizeCategoryDidChange):
3231 * WebProcess/WebPage/WebPage.h:
3232 * WebProcess/WebPage/WebPage.messages.in:
3233 * WebProcess/WebPage/ios/WebPageIOS.mm:
3234 (WebKit::WebPage::contentSizeCategoryDidChange):
3236 2014-05-22 Alexey Proskuryakov <ap@apple.com>
3238 [iOS] Add CFBundleAllowMixedLocalizations to WebContentService
3239 https://bugs.webkit.org/show_bug.cgi?id=133187
3240 <rdar://problem/16561084>
3242 Reviewed by Tim Horton.
3244 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
3245 We already had it in WebContentService.Development, just not here.
3247 2014-05-22 Alexey Proskuryakov <ap@apple.com>
3249 [iOS][WK2] Application cache is broken
3250 https://bugs.webkit.org/show_bug.cgi?id=133172
3251 <rdar://problem/16994593>
3253 Reviewed by Andy Estes.
3255 * UIProcess/mac/WebContextMac.mm:
3256 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): Use a proper
3257 path for application cache database (same as WebKit1).
3259 2014-05-22 Enrica Casucci <enrica@apple.com>
3261 REGRESSION (WebKit2): Keyboard should have Search button in duckduckgo.com.
3262 https://bugs.webkit.org/show_bug.cgi?id=133183
3263 <rdar://problem/17004207>
3265 Reviewed by Geoff Garen.
3267 The keyboard type should be search if the input type is search
3268 or if it is text and it is inside a form with an action and either
3269 name, id or title contain the word search. This matches the
3270 heuristics we have in WK1 for iOS.
3272 * WebProcess/WebPage/ios/WebPageIOS.mm:
3273 (WebKit::WebPage::getAssistedNodeInformation):
3275 2014-05-21 Oliver Hunt <oliver@apple.com>
3277 Only enable sandbox extensions on mac.
3283 2014-05-21 Oliver Hunt <oliver@apple.com>
3285 [iOS] Enable sandboxing for the database process
3286 https://bugs.webkit.org/show_bug.cgi?id=132963
3288 Reviewed by Alexey Proskuryakov.
3290 Simply ensure that the database process is running in a tight
3291 sandbox. As part of this i've separated out ChildProcessIOS
3292 and ensures that the database process loads a custom sandbox.
3294 * Configurations/WebKit.xcconfig:
3295 * DatabaseProcess/ios/DatabaseProcessIOS.mm:
3296 (WebKit::DatabaseProcess::initializeSandbox):
3297 * DatabaseProcess/ios/com.apple.WebKit.DatabasesIOS.sb: Added.
3298 * Shared/ios/ChildProcessIOS.mm: Added.
3299 Essentially cloned from the Mac version, only all the OSX
3300 specific logic has been stripped.
3301 (WebKit::ChildProcess::setApplicationIsDaemon):
3302 (WebKit::ChildProcess::platformInitialize):
3303 (WebKit::ChildProcess::initializeSandbox):
3304 (WebKit::ChildProcess::setQOS):
3305 * Shared/mac/ChildProcessMac.mm:
3306 Remove all the IOS ifdefs.
3307 (WebKit::ChildProcess::setApplicationIsDaemon):
3308 (WebKit::ChildProcess::platformInitialize):
3309 (WebKit::ChildProcess::initializeSandbox):
3310 (WebKit::ChildProcess::setQOS):
3311 * WebKit2.xcodeproj/project.pbxproj:
3313 2014-05-21 Andy Estes <aestes@apple.com>
3315 [iOS] Create a UIPrintFormatter for WKWebView
3316 https://bugs.webkit.org/show_bug.cgi?id=133005
3318 Reviewed by Tim Horton.
3320 Implemented a UIPrintFormatter subclass to support printing WKWebViews using UIPrintInteractionController.
3321 Overrode -_recalcPageCount: to synchronously ask the web process to lay out for printing and return the number
3322 of page rects. The web process returns the page rects immediately and then starts rendering the page to a PDF,
3323 returning the PDF data to the UI process asynchronously. When UIPrintInteractionController later calls our
3324 overridden -drawInRect:forPageAtIndex:, we block and wait for the PDF data to be returned. Since
3325 UIPrintInteractionController draws each page after a delay, it's possible that the web process has already
3326 returned the PDF data to us by the time we print the first page.
3328 * Shared/WebPreferencesStore.h: Correctly initialized shouldPrintBackgrounds for iOS.
3329 * UIProcess/API/Cocoa/WKWebView.mm:
3330 (-[WKWebView _dataForDisplayedPDF]): Now that WKPDFView vends its CGPDFDocument directly, extract its data here.
3331 (-[WKWebView _printFormatterClass]): Tell UIView which UIPrintFormatter to alloc.
3332 (-[WKWebView _computePageCountAndStartDrawingToPDFWithPrintInfo:WebKit::firstPage:computedTotalScaleFactor:]):
3333 If we're displaying a PDF, return its page count directly. Otherwise, synchronously ask the web process to
3334 compute page rects for printing and then return the number of rects.
3335 (-[WKWebView _endPrinting]): Cleared state and sent the WebPage::EndPrinting message to the web process.
3336 (-[WKWebView _printedDocument]): If we're displaying a PDF, return its data directly. Otherwise, if we haven't
3337 received PDF data from the web process yet, wait for it indefinitely (there's no sensible timeout to use here
3338 since failing to receive the data results in printing some number of blank pages).
3339 (-[WKWebView _setPrintedDocument:]): Set the CGPDFDocument received from the web process.
3340 * UIProcess/API/Cocoa/WKWebViewInternal.h: Declared methods called by WKWebViewPrintFormatter.
3341 * UIProcess/PageClient.h: Declared didFinishDrawingPagesToPDF.
3342 * UIProcess/WKWebViewPrintFormatter.h: Added.
3343 * UIProcess/WKWebViewPrintFormatter.mm: Added.
3344 (-[WKWebViewPrintFormatter dealloc]): Cleared state and called -[WKWebView _endPrinting].
3345 (-[WKWebViewPrintFormatter webView]): Returned the WKWebView for this print formatter.
3346 (-[WKWebViewPrintFormatter _recalcPageCount]): Set up a PrintInfo object given the formatter's content rect
3347 and called -_computePageCountAndStartDrawingToPDFWithPrintInfo:...
3348 (-[WKWebViewPrintFormatter rectForPageAtIndex:]): Called -_recalcIfNecessary and then returned the rect from
3350 (-[WKWebViewPrintFormatter drawInRect:forPageAtIndex:]): Taught to draw the given page of the printed PDF
3351 document into the given rect and context provided to us.
3352 * UIProcess/WebPageProxy.h: Declared didFinishDrawingPagesToPDF.
3353 * UIProcess/WebPageProxy.messages.in: Added DidFinishDrawingPagesToPDF. Made this a delayed syncrhonous message
3354 so that additoinal work could be performed after sending the response.
3355 * UIProcess/ios/PageClientImplIOS.h:
3356 * UIProcess/ios/PageClientImplIOS.mm:
3357 (WebKit::PageClientImpl::didFinishDrawingPagesToPDF): Created a CGPDFDocument from the data sent to us by the
3358 web process and called -[WKWebView _setPrintedDocument:].
3359 * UIProcess/ios/WKPDFView.h:
3360 * UIProcess/ios/WKPDFView.mm:
3361 (-[WKPDFView pdfDocument]): Returned the underlying CGPDFDocument.
3362 (-[WKPDFView documentData]): Deleted.
3363 * UIProcess/ios/WebPageProxyIOS.mm:
3364 (WebKit::WebPageProxy::didFinishDrawingPagesToPDF):
3365 * WebKit2.xcodeproj/project.pbxproj:
3366 * WebProcess/WebPage/WebPage.cpp:
3367 (WebKit::WebPage::computePagesForPrinting): Changed to call computePagesForPrintingImpl.
3368 (WebKit::WebPage::computePagesForPrintingImpl): Moved the common logic of computePagesForPrinting to here so it
3369 could be called by computePagesForPrintingAndStartDrawingToPDF.
3370 (WebKit::WebPage::drawPagesToPDF): Changed to call drawPagesToPDFImpl
3371 (WebKit::WebPage::drawPagesToPDFImpl): Moved the common logic of drawPagesToPDF to here so it could be called
3372 by computePagesForPrintingAndStartDrawingToPDF.
3373 * WebProcess/WebPage/WebPage.h:
3374 * WebProcess/WebPage/WebPage.messages.in:
3375 * WebProcess/WebPage/ios/WebPageIOS.mm:
3376 (WebKit::WebPage::computePagesForPrintingAndStartDrawingToPDF): Computed page rects and returned them as a
3377 synchronous response. Afterwards called drawPagesToPDFImpl() and returned the PDF data by sending
3378 WebPageProxy::DidFinishDrawingPagesToPDF.
3380 2014-05-21 Michał Pakuła vel Rutka <m.pakula@samsung.com>
3382 [EFL] Turn on ENABLE_CSS_FILTERS
3383 https://bugs.webkit.org/show_bug.cgi?id=133153
3385 Reviewed by Gyuyoung Kim.
3387 Make WebKit2 compile after r166741 when CSS_FILTERS are enabled.
3389 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3390 (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
3392 2014-05-21 Brady Eidson <beidson@apple.com>
3394 Special handling of telephone number detection menu.
3395 <rdar://problem/16967971> and https://bugs.webkit.org/show_bug.cgi?id=133143
3397 Reviewed by Geoff Garen.
3399 Add a bool to ContextMenuContextData to represent telephone number menus:
3400 * Shared/ContextMenuContextData.cpp:
3401 (WebKit::ContextMenuContextData::ContextMenuContextData):
3402 (WebKit::ContextMenuContextData::operator=):
3403 (WebKit::ContextMenuContextData::encode):
3404 (WebKit::ContextMenuContextData::decode):
3405 * Shared/ContextMenuContextData.h:
3406 (WebKit::ContextMenuContextData::ContextMenuContextData):
3407 (WebKit::ContextMenuContextData::isTelephoneNumberContext):
3409 * UIProcess/mac/WebContextMenuProxyMac.mm:
3410 (WebKit::WebContextMenuProxyMac::showContextMenu): If the menu is a telephone
3411 number menu then display it using a specific AppKit API.
3413 * UIProcess/mac/WebPageProxyMac.mm:
3414 (WebKit::WebPageProxy::showTelephoneNumberMenu): Filter the array of menu items
3415 through a new WKSI call, and then show it using a telephone number context.
3417 2014-05-21 Alexey Proskuryakov <ap@apple.com>
3419 [Mac] REGRESSION (Async text input): Asian text input doesn't work in Flash
3420 https://bugs.webkit.org/show_bug.cgi?id=133128
3421 <rdar://problem/16890920>
3423 Reviewed by Anders Carlsson.
3425 * UIProcess/API/mac/WKView.mm:
3426 (-[WKView _interpretKeyEvent:completionHandler:]): Added a separate code path for
3427 plug-in input. Before async text input, we used to provide a nil input context due
3428 to having _data->_interpretKeyEventsParameters while this function was executing,
3429 and thus took a shortcut. The new behavior is different from pre-async in that
3430 we don't collect commands at all, but I couldn't find any case where that mattered.
3431 (-[WKView inputContext]): The _collectedKeypressCommands check was not a correct
3432 replacement for _interpretKeyEventsParameters one, because this variable is not
3433 always set within -_interpretKeyEvent:completionHandler:.
3435 * UIProcess/mac/WKTextInputWindowController.mm:
3436 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
3437 While at it, fixed a separate issue with Cangjie predictive input. We shouldn't
3438 keep prediction pop-up on screen after hiding the bottom input window.
3440 2014-05-16 Martin Robinson <mrobinson@igalia.com>
3442 [CMake] Improve handling of LIB_INSTALL_DIR, EXEC_INSTALL_DIR, and LIBEXEC_INSTALL_DIR
3443 https://bugs.webkit.org/show_bug.cgi?id=132819
3445 Reviewed by Carlos Garcia Campos.
3447 * PlatformEfl.cmake: No need to prefix EXEC_INSTALL_DIR with the prefix any longer.
3448 * PlatformGtk.cmake: No longer use CMAKE_INSTALL_FULL_FOO variables, instead using the WebKit-specific ones.
3449 * efl/EWebKit2Config.cmake.in: Ditto.
3450 * efl/ewebkit2.pc.in: Instead of hard-coding the path to the library installation directory use LIB_INSTALL_DIR.
3451 * webkit2gtk-web-extension.pc.in: No longer use the pkg-config only variables. Instead use
3452 the common CMake ones.
3453 * webkit2gtk.pc.in: Ditto.
3455 2014-05-21 Carlos Garcia Campos <cgarcia@igalia.com>
3457 REGRESSION(r168625): [GTK] Assertion failure in LocalStorageDatabaseTracker
3458 https://bugs.webkit.org/show_bug.cgi?id=133118
3460 Reviewed by Philippe Normand.
3462 Call WebContext::applyPlatformSpecificConfigurationDefaults() to
3463 initialize the WebContextConfiguration before creating the default WebContext.
3465 * UIProcess/API/gtk/WebKitWebContext.cpp:
3466 (createDefaultWebContext):
3468 2014-05-21 Shivakumar JM <shiva.jm@samsung.com>
3470 [WebKit2] Cleanup the build from unused variable in WebProcess module
3471 https://bugs.webkit.org/show_bug.cgi?id=133062
3473 Reviewed by Csaba Osztrogonác.
3475 Fix unused parameter by using UNUSED_PARAM macro
3477 * WebProcess/UserContent/WebUserContentController.cpp:
3478 (WebKit::WebUserContentController::addUserScriptMessageHandlers):
3479 (WebKit::WebUserContentController::removeUserScriptMessageHandler):
3481 2014-05-20 Enrica Casucci <enrica@apple.com>
3483 REGRESSION (WK2): Tapping on the input field in duckduckgo.com shows the keyboard but not the caret.
3484 https://bugs.webkit.org/show_bug.cgi?id=133140
3485 <rdar://problem/16980898>
3487 Reviewed by Benjamin Poulain.
3489 When a page focuses a field on load, we receive the call to startAssistingNode
3490 but we don't create a text interaction assistant if the focus is not originated
3491 by a user action. Upon receiving the selection change notification we don't
3492 call the text interaction assistant, since we don't have one, but we do call
3493 the web selection assistant. We don't have any valid rects for web selection
3494 and we clear the selection on the page, causing the caret not to appear and
3495 the typing to have no effect.
3497 * UIProcess/ios/WKContentViewInteraction.mm:
3498 (-[WKContentView _updateChangedSelection]):
3500 2014-05-20 Dean Jackson <dino@apple.com>
3502 [Mac] Allow popup menus to override default appearance
3503 https://bugs.webkit.org/show_bug.cgi?id=133129
3505 Reviewed by Tim Horton.
3507 Add an extra "hideArrows" flag to PlatformPopupMenuData
3508 and replace the call to WKPopupMenuWithSize with WKPopupMenu.
3510 * Shared/PlatformPopupMenuData.cpp: Encode and decode the new data value.
3511 (WebKit::PlatformPopupMenuData::encode):
3512 (WebKit::PlatformPopupMenuData::decode):
3513 * Shared/PlatformPopupMenuData.h: Add hideArrows boolean.
3514 * UIProcess/mac/WebPopupMenuProxyMac.mm:
3515 (WebKit::WebPopupMenuProxyMac::showPopupMenu):
3516 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
3517 (WebKit::WebPopupMenu::setUpPlatformData): The hideArrows flag is
3518 true if we don't have the default appearance.
3520 2014-05-20 Eric Carlson <eric.carlson@apple.com>
3522 [Mac] do not deactivate an audio session that has running I/O
3523 https://bugs.webkit.org/show_bug.cgi?id=133127
3525 Reviewed by Jer Noble.
3527 * WebProcess/WebPage/WebPage.cpp:
3528 (WebKit::WebPage::WebPage): Settings::setShouldManageAudioSession renamed to
3529 setShouldManageAudioSessionCategory, deal with it.
3531 2014-05-19 Simon Fraser <simon.fraser@apple.com>
3533 REGRESSION (r169063) Fixed and sticky nodes misplaced on scrolling sometimes
3534 https://bugs.webkit.org/show_bug.cgi?id=133106
3535 <rdar://problem/16967648>
3537 Reviewed by Sam Weinig.
3539 Fix regression from r169063. That commit removed scrolledContentsLayers from
3540 frame scrolling nodes, but they do actually use them.
3542 So put them back; not in the base class, because they have a somewhat different
3543 meaning for overflow scrolling and frame scrolling.
3545 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
3546 (ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
3547 (ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
3548 (WebKit::RemoteScrollingTreeTextStream::dump):
3549 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3550 (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
3552 2014-05-20 Alexey Proskuryakov <ap@apple.com>
3554 [Mac] WebProcess doesn't follow localization of UI process when run as a service
3555 https://bugs.webkit.org/show_bug.cgi?id=133126
3556 <rdar://problem/13396515>
3557 <rdar://problem/16561084>
3559 Reviewed by Sam Weinig and Tim Horton.
3561 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
3562 (WebKit::handleXPCBootstrap):
3564 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
3565 (WebKit::handleXPCBootstrap):
3567 Set localization very early in process lifetime (in development builds, that's
3568 even before WebKit framework is loaded).
3570 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::connectToService):
3571 Pass UI process localization to the service, computing it in the same way we do
3572 for child processes.
3574 2014-05-20 Anders Carlsson <andersca@apple.com>
3576 Fix a header comment
3577 https://bugs.webkit.org/show_bug.cgi?id=133123
3578 <rdar://problem/16973783>
3580 Reviewed by Geoffrey Garen.
3582 * UIProcess/API/Cocoa/WKUserContentController.h:
3584 2014-05-20 Carlos Garcia Campos <cgarcia@igalia.com>
3586 [GTK] WebKitWebPage::send-request always pass a valid pointer for redirected response
3587 https://bugs.webkit.org/show_bug.cgi?id=133119
3589 Reviewed by Sergio Villar Senin.
3591 The problem is that we were checking whether the passed in
3592 WKURLResponseRef is NULL or not, but it's always a valid object
3593 that can contain a NULL WebCore::ResourceResponse.
3595 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
3596 (willSendRequestForFrame): Pass NULL as redirect-response
3597 parameter of WebKitWebPage::send-request signal when the
3598 WebCore::ResourceResponse of the passed in WKURLResponseRef is NULL.
3600 2014-05-20 Antti Koivisto <antti@apple.com>
3602 Double-tap zoom does not take obscuring insets into account
3603 https://bugs.webkit.org/show_bug.cgi?id=133116
3604 <rdar://problem/16765604>
3606 Reviewed by Anders Carlsson.
3608 * UIProcess/API/Cocoa/WKWebView.mm:
3609 (-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):
3611 Compute the zoom target taking insets into account.
3613 2014-05-19 Gavin Barraclough <baraclough@apple.com>
3615 WebKit2/iOS: parented view should be considered hidden if app is backgrounded
3616 https://bugs.webkit.org/show_bug.cgi?id=133099
3619 Reviewed by Simon Fraser.
3621 * UIProcess/ios/PageClientImplIOS.mm:
3622 (WebKit::PageClientImpl::isViewWindowActive):
3623 - implemented in terms of isViewVisible.
3624 - FIXME: https://bugs.webkit.org/show_bug.cgi?id=133098
3625 (WebKit::PageClientImpl::isViewFocused):
3626 - implemented in terms of isViewWindowActive.
3627 - FIXME: https://bugs.webkit.org/show_bug.cgi?id=133098
3628 (WebKit::PageClientImpl::isViewVisible):
3629 - take UIApplication applicationState into account in determining visibility.
3630 (WebKit::PageClientImpl::isViewVisibleOrOccluded):
3631 - implemented in terms of isViewVisible.
3632 (WebKit::PageClientImpl::isVisuallyIdle):
3633 - implemented in terms of isViewVisible.
3634 * UIProcess/ios/WKContentView.mm:
3635 (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
3636 - register for UIApplicationDidEnterBackgroundNotification.
3637 (-[WKContentView _applicationDidEnterBackground:]):
3638 (-[WKContentView _applicationWillEnterForeground:]):
3639 - when the application state changes all flags except IsInWindow may be affected.
3641 2014-05-19 Enrica Casucci <enrica@apple.com>
3643 WK2 iOS: Pressing the form navigation button causes the keyboard to be dismissed.
3644 https://bugs.webkit.org/show_bug.cgi?id=133100
3645 <rdar://problem/16808673>
3647 Reviewed by Benjamin Poulain.
3649 The call to focusNextAssistedNode is the result of a user action, since
3650 it is called when the user pressed the form navigation buttons.
3651 Therefore we must set m_userIsInteracting to true before changing the focus
3652 to make sure the focus change is honored.
3654 * WebProcess/WebPage/ios/WebPageIOS.mm:
3655 (WebKit::WebPage::focusNextAssistedNode):
3657 2014-05-19 Beth Dakin <bdakin@apple.com>
3659 TelephoneNumberOverlayController should use a modern loop for text quad bounding
3661 https://bugs.webkit.org/show_bug.cgi?id=133096
3663 Reviewed by Anders Carlsson.
3665 * WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
3666 (WebKit::textQuadsToBoundingRectForRange):
3668 2014-05-19 Jeremy Jones <jeremyj@apple.com>
3670 PlatformCALayerRemoteCustom properties aren't initialized to match the PlatformLayer
3671 https://bugs.webkit.org/show_bug.cgi?id=133025
3673 Reviewed by Simon Fraser.
3675 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
3676 (WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
3677 Initialize PlatformCALayerRemote properties from the PlatformLayer.
3679 2014-05-19 Benjamin Poulain <bpoulain@apple.com>
3681 [iOS][WK2] When a page relayout on dynamic resize, keep the same relative width in view
3682 https://bugs.webkit.org/show_bug.cgi?id=133026
3683 <rdar://problem/16833971>
3685 Reviewed by Simon Fraser.
3687 When a page does not relayout, we keep the same width in view.
3688 When a page relayout, we should keep the same relative width in view.
3690 * WebProcess/WebPage/ios/WebPageIOS.mm:
3691 (WebKit::isResponsiveDesignWithContentLargerThanLayout):
3692 (WebKit::WebPage::dynamicViewportSizeUpdate):
3694 2014-05-19 Benjamin Poulain <benjamin@webkit.org>
3696 [WK2] Add some missing state reset on crash
3697 https://bugs.webkit.org/show_bug.cgi?id=133036
3699 Reviewed by Sam Weinig.
3701 * UIProcess/WebPageProxy.cpp:
3702 (WebKit::WebPageProxy::resetState):
3703 The missing reset for m_isTrackingTouchEvents would cause the WebPageProxy to send
3704 touch events when it shouldn't. That would only be for an active touch sequence.
3706 The missing reset m_lastVisibleContentRectUpdate would prevent pushing the new UI state
3707 to the new page on reload, that is very bad.
3709 Also moved m_videoFullscreenManager to be in the same order as initialization, and invalidate
3710 the callbacks for dictation.
3712 2014-05-19 Benjamin Poulain <bpoulain@apple.com>
3714 [iOS][WK2] Move scale noise filtering to the WebProcess
3715 https://bugs.webkit.org/show_bug.cgi?id=133021
3717 Reviewed by Darin Adler.
3719 Filtering in the UIProcess was stupid. It forces to handle a third kind of scale just for updates.
3721 The WebProcess already adjusts the input scale based on the viewport. Changing the input scale at that level
3722 is already supported. It is a better place to have the filtering.
3724 * UIProcess/ios/WKContentView.mm:
3725 (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
3726 * WebProcess/WebPage/ios/WebPageIOS.mm:
3727 (WebKit::WebPage::updateVisibleContentRects):
3729 2014-05-19 Simon Fraser <simon.fraser@apple.com>
3731 Split scrolling tree ScrollingNodes into FrameScrollingNodes and OverflowScrollingNodes
3732 https://bugs.webkit.org/show_bug.cgi?id=133022
3734 Reviewed by Sam Weinig.
3736 In both the scrolling state tree and the scrolling tree, split the "scrolling nodes"
3737 into FrameScrolling and OverflowScrolling nodes.
3739 Move what was the "viewportSize" property onto the base class for the scrolling
3740 nodes, calling it "scrollableAreaSize".
3742 Make minimum/maximumScrollPosition() virtual so we can share more code (and there
3743 is more code sharing to be done in future).
3745 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
3746 (ArgumentCoder<ScrollingStateScrollingNode>::encode):
3747 (ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
3748 (ArgumentCoder<ScrollingStateOverflowScrollingNode>::encode):
3749 (ArgumentCoder<ScrollingStateScrollingNode>::decode):
3750 (ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
3751 (ArgumentCoder<ScrollingStateOverflowScrollingNode>::decode):
3752 (WebKit::encodeNodeAndDescendants):
3753 (WebKit::RemoteScrollingCoordinatorTransaction::decode):
3754 (WebKit::RemoteScrollingTreeTextStream::dump):
3755 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3756 (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
3757 * UIProcess/Scrolling/RemoteScrollingTree.cpp:
3758 (WebKit::RemoteScrollingTree::createNode):
3759 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
3760 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollLayer):
3761 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange):
3762 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
3763 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS):
3764 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
3765 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
3766 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::setScrollLayerPosition):
3767 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):
3768 * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
3769 (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
3771 2014-05-19 Alexey Proskuryakov <ap@apple.com>
3773 [Mac] Fix a typo in plug-in sandbox
3774 https://bugs.webkit.org/show_bug.cgi?id=133074
3776 Reviewed by Anders Carlsson.
3778 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
3780 2014-05-16 Andy Estes <aestes@apple.com>
3782 [WebKit2] Wake up threads blocked in waitForAndDispatchImmediately() if we lose our connection
3783 https://bugs.webkit.org/show_bug.cgi?id=133010
3785 Reviewed by Geoffrey Garen.
3787 If a thread is blocked on m_waitForMessageCondition and we lose our connection, treat that like we do a timeout.
3789 * Platform/IPC/Connection.cpp:
3790 (IPC::Connection::Connection):
3791 (IPC::Connection::waitForMessage):
3792 (IPC::Connection::connectionDidClose):
3793 * Platform/IPC/Connection.h:
3795 2014-05-19 Mark Rowe <mrowe@apple.com>
3797 Build fix after r169023.
3799 * Shared/API/Cocoa/WebKitPrivate.h: Stop including headers that no longer exist.
3800 I hope for weinig's sake that no-one was relying on them.
3802 2014-05-18 Anders Carlsson <andersca@apple.com>
3804 Relax an assertion when creating document loaders
3805 https://bugs.webkit.org/show_bug.cgi?id=133058
3807 Reviewed by Sam Weinig.
3809 When navigating back/forward items recursively, createDocumentLoader will be called
3810 for subframes before main frames so only associate the navigation with main frames.
3812 * WebProcess/WebPage/WebPage.cpp:
3813 (WebKit::WebPage::createDocumentLoader):
3815 2014-05-18 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com>
3817 CMake Buildfix after r169023.
3819 Reviewed by Csaba Osztrogonác.
3821 * CMakeLists.txt: Add new files after r168994.
3823 2014-05-18 Sam Weinig <sam@webkit.org>
3825 [WebKit2] Implement ScriptMessageHandlers
3826 https://bugs.webkit.org/show_bug.cgi?id=133053
3828 Reviewed by Anders Carlsson.
3830 * DerivedSources.make:
3831 * Scripts/webkit2/messages.py:
3833 (argument_coder_headers_for_type):
3835 * UIProcess/API/Cocoa/WKScriptMessage.mm:
3836 (-[WKScriptMessage _initWithBody:webView:name:]):
3837 (-[WKScriptMessage body]):
3838 (-[WKScriptMessage webView]):
3839 (-[WKScriptMessage name]):
3840 (-[WKScriptMessage _scriptWorld]): Deleted.
3841 * UIProcess/API/Cocoa/WKScriptMessageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKScriptMessagePrivate.h.
3842 * UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Removed.
3843 * UIProcess/API/Cocoa/WKUserContentController.mm:
3844 (-[WKUserContentController addScriptMessageHandler:name:]):
3845 (-[WKUserContentController removeScriptMessageHandlerForName:]):
3846 (-[WKUserContentController _addScriptMessageHandler:name:world:]): Deleted.
3847 (-[WKUserContentController _removeScriptMessageHandlerForName:world:]): Deleted.
3848 * UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
3849 * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Removed.
3850 * UIProcess/API/Cocoa/WKWebView.mm:
3853 (-[WKWebView initWithFrame:configuration:]):
3854 (-[WKWebView dealloc]):
3855 * UIProcess/API/Cocoa/WKWebViewInternal.h:
3856 * UIProcess/UserContent/WebScriptMessageHandler.cpp: Added.
3857 (WebKit::WebScriptMessageHandlerHandle::encode):
3858 (WebKit::WebScriptMessageHandlerHandle::decode):
3859 (WebKit::generateIdentifier):
3860 (WebKit::WebScriptMessageHandler::create):
3861 (WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
3862 (WebKit::WebScriptMessageHandler::~WebScriptMessageHandler):
3863 * UIProcess/UserContent/WebScriptMessageHandler.h: Added.
3864 (WebKit::WebScriptMessageHandler::Client::~Client):
3865 (WebKit::WebScriptMessageHandler::handle):
3866 (WebKit::WebScriptMessageHandler::identifier):
3867 (WebKit::WebScriptMessageHandler::name):
3868 (WebKit::WebScriptMessageHandler::client):
3869 * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
3870 (WebKit::WebUserContentControllerProxy::addProcess):
3871 (WebKit::WebUserContentControllerProxy::removeProcess):
3872 (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
3873 (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
3874 (WebKit::WebUserContentControllerProxy::didPostMessage):
3875 * UIProcess/UserContent/WebUserContentControllerProxy.h:
3876 * UIProcess/UserContent/WebUserContentControllerProxy.messages.in: Added.
3877 * WebKit2.xcodeproj/project.pbxproj:
3878 * WebProcess/UserContent/WebUserContentController.cpp:
3879 (WebKit::WebUserMessageHandlerDescriptorProxy::create):
3880 (WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy):
3881 (WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):
3882 (WebKit::WebUserMessageHandlerDescriptorProxy::descriptor):
3883 (WebKit::WebUserMessageHandlerDescriptorProxy::identifier):
3884 (WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy):
3885 (WebKit::WebUserContentController::addUserScriptMessageHandlers):
3886 (WebKit::WebUserContentController::removeUserScriptMessageHandler):
3887 * WebProcess/UserContent/WebUserContentController.h:
3888 * WebProcess/UserContent/WebUserContentController.messages.in:
3890 2014-05-18 Rik Cabanier <cabanier@adobe.com>
3892 support for navigator.hardwareConcurrency
3893 https://bugs.webkit.org/show_bug.cgi?id=132588
3895 Reviewed by Filip Pizlo.
3897 * Configurations/FeatureDefines.xcconfig:
3899 2014-05-18 Anders Carlsson <andersca@apple.com>
3901 Implement Navigations for all methods declared returning one
3902 https://bugs.webkit.org/show_bug.cgi?id=133048
3903 <rdar://problem/16830064>
3905 Reviewed by Sam Weinig.
3907 * UIProcess/API/Cocoa/WKWebView.mm:
3908 (-[WKWebView goToBackForwardListItem:]):
3909 (-[WKWebView goBack]):
3910 (-[WKWebView goForward]):
3911 (-[WKWebView reload]):
3912 (-[WKWebView reloadFromOrigin]):
3913 Create and return navigations.
3915 (-[WKWebView _reload]):
3916 Call -[WKWebView reload].
3918 * UIProcess/Cocoa/NavigationState.h:
3919 * UIProcess/Cocoa/NavigationState.mm:
3920 (WebKit::NavigationState::createBackForwardNavigation):
3921 Create a back/forward navigation.
3923 (WebKit::NavigationState::createReloadNavigation):
3924 Create a reload navigation.
3926 * UIProcess/WebPageProxy.cpp:
3927 (WebKit::WebPageProxy::reattachToWebProcessWithItem):
3928 Generate a navigation ID and send it with the GoToBackForwardItem message.
3930 (WebKit::WebPageProxy::reload):
3931 Return a navigation ID.
3933 (WebKit::WebPageProxy::goForward):
3934 Generate a navigation ID and send it with the GoForward message.
3936 (WebKit::WebPageProxy::goBack):
3937 Generate a navigation ID and send it with the GoBack message.
3939 (WebKit::WebPageProxy::goToBackForwardItem):
3940 Generate a navigation ID and send it with the GoToBackForwardItem message.
3942 * UIProcess/WebPageProxy.h:
3943 Return navigation IDs where appropriate.
3945 * UIProcess/cf/WebPageProxyCF.cpp:
3946 (WebKit::WebPageProxy::restoreFromSessionStateData):
3947 Generate a navigation ID and send it with the RestoreSessionAndNavigateToCurrentItem message.
3949 * WebProcess/WebPage/WebPage.cpp:
3950 (WebKit::WebPage::goForward):
3951 (WebKit::WebPage::goBack):
3952 (WebKit::WebPage::goToBackForwardItem):
3953 Set up the pending navigation ID.
3955 (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
3956 Call goToBackForwardItem with a navigation ID.
3958 * WebProcess/WebPage/WebPage.h:
3961 * WebProcess/WebPage/WebPage.messages.in:
3964 2014-05-18 Commit Queue <commit-queue@webkit.org>
3966 Unreviewed, rolling out r169001.
3967 https://bugs.webkit.org/show_bug.cgi?id=133050
3969 We can't expose the C SPI from WKWebView (Requested by
3970 andersca on #webkit).
3974 "Need a way to get a WKPageRef from a WKWebView"
3975 https://bugs.webkit.org/show_bug.cgi?id=133015
3976 http://trac.webkit.org/changeset/169001
3978 2014-05-18 Martin Hodovan <mhodovan.u-szeged@partner.samsung.com>
3980 [WK2][GTK] Buildfix after r168999.
3982 Reviewed by Csaba Osztrogonác.
3984 * UIProcess/gtk/WebContextGtk.cpp:
3985 (WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
3986 (WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.
3988 2014-05-18 Martin Hodovan <mhodovan.u-szeged@partner.samsung.com>
3990 [WK2][EFL] Buildfix after r168999.
3992 Reviewed by Csaba Osztrogonác.
3994 * UIProcess/efl/WebContextEfl.cpp:
3995 (WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
3996 (WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.
3998 2014-05-18 Martin Hodovan <mhodovan.u-szeged@partner.samsung.com>
4000 [WK2][cmake] Buildfix after r168994.
4002 Reviewed by Csaba Osztrogonác.
4004 * CMakeLists.txt: Added new files to the build system introduced in r168994.
4006 2014-05-17 Alexey Proskuryakov <ap@apple.com>
4008 REGRESSION (NetworkProcess): Trying to use appcache fallback crashes in ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
4009 https://bugs.webkit.org/show_bug.cgi?id=133007
4010 <rdar://problem/13702706>
4012 appcache tests often fail on the Mac WebKit2 bot
4013 https://bugs.webkit.org/show_bug.cgi?id=82061
4015 Reviewed by Maciej Stachowiak.
4017 * WebProcess/Network/WebResourceLoader.cpp:
4018 (WebKit::WebResourceLoader::willSendRequest):
4019 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
4020 (WebKit::WebResourceLoader::didFailResourceLoad):
4021 Perform the same appcache checks that ResourceHandleClient implementation in ResourceLoader
4022 does. We should eventually come up with a way to share the code. Perhaps add a class that
4023 isolates ResourceLoader from networking details? But ResourceLoader was itself supposed
4024 to be the class that isolates DocumentLoader from networking details. So, unsure.
4026 2014-05-17 Jae Hyun Park <jaepark@webkit.org>
4028 [EFL] Remove m_contentPosition from PageViewportControllerClientEfl
4029 https://bugs.webkit.org/show_bug.cgi?id=132774
4031 Reviewed by Anders Carlsson.
4033 m_contentPosition is not used anywhere. So, this patch removes
4034 m_contentPosition and reduces one unnecessary assignment in
4035 setViewportPosition. Also, it renames contentsPoint to contentsPosition.
4037 * UIProcess/PageViewportControllerClient.h:
4038 * UIProcess/efl/PageViewportControllerClientEfl.cpp:
4039 (WebKit::PageViewportControllerClientEfl::setViewportPosition):
4040 * UIProcess/efl/PageViewportControllerClientEfl.h:
4042 2014-05-17 David Kilzer <ddkilzer@apple.com>
4044 Need a way to get a WKPageRef from a WKWebView
4045 <http://webkit.org/b/133015>
4047 Reviewed by Benjamin Poulain.
4049 * UIProcess/API/Cocoa/WKWebView.mm: