1 2015-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
3 [SOUP] Network Cache: Handle the case when we fail to create the IO stream
4 https://bugs.webkit.org/show_bug.cgi?id=145406
6 Reviewed by Sergio Villar Senin.
8 We were asserting in that case, but it can happen that we
9 fail to create the stream. It happened to me after r184690, that
10 changed the NetworkCache::Key hash. Since this was not expected to
11 happen, the async operation never finished and the completion
12 handler never called, leaving resources loading forever. We
13 should make sure we call the completion handler with an error
14 code, so that the load finishes and the entry is silently removed
17 * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
18 (WebKit::NetworkCache::IOChannel::read):
19 (WebKit::NetworkCache::IOChannel::readSync):
20 (WebKit::NetworkCache::IOChannel::write):
22 2015-05-26 Carlos Garcia Campos <cgarcia@igalia.com>
24 Network Cache: Add cache capacity to the totals of JSON file
25 https://bugs.webkit.org/show_bug.cgi?id=145246
27 Reviewed by Antti Koivisto.
29 * NetworkProcess/cache/NetworkCache.cpp:
30 (WebKit::NetworkCache::Cache::dumpContentsToFile):
31 * NetworkProcess/cache/NetworkCacheStorage.h:
32 (WebKit::NetworkCache::Storage::capacity):
34 2015-05-26 Anders Carlsson <andersca@apple.com>
36 Add a symlink for every file inside /S/L/F/WebKit.framework to the PrivateFrameworks mirror.
38 rdar://problem/21111232.
40 Reviewed by Dan Bernstein.
42 * WebKit2.xcodeproj/project.pbxproj:
44 2015-05-26 Hunseop Jeong <hs85.jeong@samsung.com>
46 [EFL] webview should be updated from (0,0) when using the evasGL.
47 https://bugs.webkit.org/show_bug.cgi?id=137948
49 Reviewed by Gyuyoung Kim.
51 Changed the point of the start position to update the evasObject
52 correctly when using the evasGL for graphics backend.
54 * UIProcess/API/efl/EwkView.cpp:
55 (EwkView::displayTimerFired):
57 2015-05-26 Dan Bernstein <mitz@apple.com>
59 <rdar://problem/21104551> Update build settings
61 Reviewed by Anders Carlsson.
63 * Configurations/DebugRelease.xcconfig:
64 * Configurations/FeatureDefines.xcconfig:
65 * Configurations/Version.xcconfig:
66 * Configurations/WebContentService.Development.xcconfig:
67 * Configurations/WebContentService.xcconfig:
69 2015-05-26 Milan Crha <mcrha@redhat.com>
71 [GTK] Expand wildcards inside generate-inspector-gresource-manifest.py
72 https://bugs.webkit.org/show_bug.cgi?id=138134
74 Reviewed by Žan Doberšek.
76 * PlatformGTK.cmake: Command line with expanded resources exceeds 32KB, which
77 is a limit on Windows. It's better to expand wildcards inside the python script.
79 2015-05-25 Dan Bernstein <mitz@apple.com>
81 ASSERT_MAIN_THREAD and DOM_ASSERT_MAIN_THREAD are unnecessary no-ops
82 https://bugs.webkit.org/show_bug.cgi?id=145372
84 Reviewed by Sam Weinig.
86 * Configurations/Base.xcconfig: Removed DISABLE_THREAD_CHECK from DEBUG_DEFINES.
88 2015-05-25 Carlos Garcia Campos <cgarcia@igalia.com>
90 [GTK] Add construct property to WebKitWebContext to set the IndexedDB database directory
91 https://bugs.webkit.org/show_bug.cgi?id=140882
93 Reviewed by Gustavo Noronha Silva.
95 Add WebKitWebContext:indexed-db-database-directory construct only property.
97 * UIProcess/API/gtk/WebKitWebContext.cpp:
98 (webkitWebContextGetProperty):
99 (webkitWebContextSetProperty):
100 (webkitWebContextConstructed):
101 (webkit_web_context_class_init):
103 2015-05-24 Sam Weinig <sam@webkit.org>
105 Crash when using a removed ScriptMessageHandler
106 <rdar://problem/20888499>
107 https://bugs.webkit.org/show_bug.cgi?id=145359
109 Reviewed by Dan Bernstein.
111 * WebProcess/UserContent/WebUserContentController.cpp:
112 (WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy):
113 Invalidate the descriptor when the message handler client (as implemented by WebUserMessageHandlerDescriptorProxy)
114 goes away. This will happen if a script message handler is removed at the API level or the WebUserContentController
115 is destroyed (which will happen if all the pages get destroyed).
117 2015-05-23 Dan Bernstein <mitz@apple.com>
119 <rdar://problem/21090327> /S/L/PrivateFrameworks/WebKit.framework is missing Headers and PrivateHeaders symlinks
120 https://bugs.webkit.org/show_bug.cgi?id=145354
122 Reviewed by David Kilzer.
124 * WebKit2.xcodeproj/project.pbxproj: Create Headers and PrivateHeaders symlinks alongside
127 2015-05-23 Sungmann Cho <sungmann.cho@navercorp.com>
129 Rename ShareableResource::create(Handle&) to map(Handle&) to match SharedMemory.
130 https://bugs.webkit.org/show_bug.cgi?id=145288
132 Reviewed by Sam Weinig.
134 * Shared/ShareableResource.cpp:
135 (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
136 (WebKit::ShareableResource::map):
137 (WebKit::ShareableResource::create): Deleted.
138 * Shared/ShareableResource.h:
140 2015-05-22 Jon Lee <jonlee@apple.com>
142 Rename MediaPlaybackAllowsInline
143 https://bugs.webkit.org/show_bug.cgi?id=145315
145 Reviewed by Eric Carlson.
147 Our API uses allowsInlineMediaPlayback. Our symbols should reflect the same.
149 * Shared/WebPreferencesDefinitions.h:
150 * UIProcess/API/C/WKPreferences.cpp:
151 (WKPreferencesSetMediaPlaybackAllowsInline): Update the call to preferences.
152 The C API will not change in a future patch.
153 (WKPreferencesGetMediaPlaybackAllowsInline): Ditto.
154 * UIProcess/API/Cocoa/WKWebView.mm:
155 (-[WKWebView initWithFrame:configuration:]): Update the name of the key.
156 * WebProcess/WebPage/WebPage.cpp:
157 (WebKit::WebPage::updatePreferences): Ditto.
159 * UIProcess/API/gtk/WebKitSettings.cpp: Update the call.
160 (webkit_settings_get_media_playback_allows_inline):
161 (webkit_settings_set_media_playback_allows_inline):
163 2015-05-22 Jon Lee <jonlee@apple.com>
165 Rename MediaPlaybackAllowsAirPlay
166 https://bugs.webkit.org/show_bug.cgi?id=145316
168 Reviewed by Eric Carlson.
170 In preparation for an API rename, update internal symbols from mediaPlaybackAllowsAirPlay
171 to allowsAirPlayForMediaPlayback.
173 * Shared/WebPreferencesDefinitions.h: Update the name.
174 * UIProcess/API/Cocoa/WKWebView.mm:
175 (-[WKWebView initWithFrame:configuration:]): Ditto.
176 * WebProcess/WebPage/WebPage.cpp:
177 (WebKit::WebPage::updatePreferences): Update the call to settings.
179 2015-05-22 Jon Lee <jonlee@apple.com>
181 Unreviewed GTK fix after r184802.
183 * UIProcess/API/gtk/WebKitSettings.cpp:
184 (webkit_settings_get_media_playback_requires_user_gesture):
185 (webkit_settings_set_media_playback_requires_user_gesture):
187 2015-05-22 Jon Lee <jonlee@apple.com>
189 Rename MediaPlaybackRequiresUserGesture
190 https://bugs.webkit.org/show_bug.cgi?id=145314
192 Reviewed by Anders Carlsson.
194 In preparation for an API rename, update internal symbols from mediaPlaybackRequiresUserGesture
195 to requiresUserGestureForMediaPlayback.
197 No changes are being made to the API in this patch.
199 * Shared/WebPreferencesDefinitions.h: Update the name of the macro and the setting.
200 * UIProcess/API/C/WKPreferences.cpp: The C API will not change in a future patch.
201 (WKPreferencesSetMediaPlaybackRequiresUserGesture): Update the call to preferences.
202 (WKPreferencesGetMediaPlaybackRequiresUserGesture): Ditto.
203 * UIProcess/API/Cocoa/WKWebView.mm:
204 (-[WKWebView initWithFrame:configuration:]): Update the name of the key.
205 * WebProcess/WebPage/WebPage.cpp:
206 (WebKit::WebPage::updatePreferences): Ditto.
208 2015-05-22 Commit Queue <commit-queue@webkit.org>
210 Unreviewed, rolling out r183647.
211 https://bugs.webkit.org/show_bug.cgi?id=145326
213 broke some toolbar blurring behavior (Requested by thorton on
218 "Asynchronous (or timed-out synchronous) resize flashes white
219 instead of page background color"
220 https://bugs.webkit.org/show_bug.cgi?id=144468
221 http://trac.webkit.org/changeset/183647
223 2015-05-22 Yongjun Zhang <yongjun_zhang@apple.com>
225 Image link doesn't create a preview view controller.
226 https://bugs.webkit.org/show_bug.cgi?id=145320
228 Also try to create the preview view controller if the hit-tested node
231 Reviewed by Beth Dakin.
233 * UIProcess/ios/WKContentViewInteraction.mm:
234 (-[WKContentView gestureRecognizerShouldBegin:]):
235 (-[WKContentView previewViewControllerForPosition:inSourceView:]):
237 2015-05-22 Tim Horton <timothy_horton@apple.com>
239 Avoid doing an extra layout in some cases while doing scale-to-fit
240 https://bugs.webkit.org/show_bug.cgi?id=145321
241 <rdar://problem/21051165>
243 Reviewed by Beth Dakin.
245 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
246 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
247 (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
248 If we make it to scaleViewToFitDocumentIfNeeded with valid layout,
249 the view width is still less than the last-known minimum document size,
250 and the document size hasn't changed, update the view scale without
251 doing an extra layout, keeping the fixed layout size at the previously
252 computed minimum document size.
254 2015-05-22 Beth Dakin <bdakin@apple.com>
256 Yellow highlight and DD popover don't go away when scrolling an iframe
257 https://bugs.webkit.org/show_bug.cgi?id=145312
259 rdar://problem/19692334
261 Reviewed by Tim Horton.
263 Match what Lookup already does for their popover and dismiss our popovers on
265 * UIProcess/API/mac/WKView.mm:
266 (-[WKView scrollWheel:]):
268 This should not be needed anymore.
269 * UIProcess/WebPageProxy.cpp:
270 (WebKit::WebPageProxy::pageDidScroll):
272 2015-05-22 Tim Horton <timothy_horton@apple.com>
274 Remove action menu support
275 https://bugs.webkit.org/show_bug.cgi?id=145305
276 <rdar://problem/21070771>
278 Reviewed by Anders Carlsson.
280 * Configurations/WebKit.xcconfig:
281 * Shared/API/c/WKActionMenuItemTypes.h:
282 * Shared/API/c/WKActionMenuTypes.h:
283 * UIProcess/API/Cocoa/WKViewPrivate.h:
284 * UIProcess/API/mac/WKView.mm:
285 (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
286 (-[WKView dealloc]): Deleted.
287 (-[WKView mouseDown:]): Deleted.
288 (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
289 (-[WKView prepareForMenu:withEvent:]): Deleted.
290 (-[WKView willOpenMenu:withEvent:]): Deleted.
291 (-[WKView didCloseMenu:withEvent:]): Deleted.
292 (-[WKView _didPerformActionMenuHitTest:forImmediateAction:contentPreventsDefault:userData:]): Deleted.
293 (-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:]): Deleted.
294 (-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:userData:]): Deleted.
295 * UIProcess/API/mac/WKViewInternal.h:
296 * UIProcess/PageClient.h:
297 * UIProcess/WebPageProxy.cpp:
298 (WebKit::WebPageProxy::performImmediateActionHitTestAtLocation):
299 (WebKit::WebPageProxy::didPerformImmediateActionHitTest):
300 (WebKit::WebPageProxy::performActionMenuHitTestAtLocation): Deleted.
301 (WebKit::WebPageProxy::selectLastActionMenuRange): Deleted.
302 (WebKit::WebPageProxy::focusAndSelectLastActionMenuHitTestResult): Deleted.
303 (WebKit::WebPageProxy::didPerformActionMenuHitTest): Deleted.
304 * UIProcess/WebPageProxy.h:
305 * UIProcess/WebPageProxy.messages.in:
306 * UIProcess/mac/PageClientImpl.h:
307 * UIProcess/mac/PageClientImpl.mm:
308 (WebKit::PageClientImpl::didPerformImmediateActionHitTest):
309 (WebKit::PageClientImpl::didPerformActionMenuHitTest): Deleted.
310 * UIProcess/mac/WKActionMenuController.h: Removed.
311 * UIProcess/mac/WKActionMenuController.mm: Removed.
312 * UIProcess/mac/WKImmediateActionController.h:
313 * UIProcess/mac/WKImmediateActionController.mm:
314 (-[WKImmediateActionController didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
315 (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
316 (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
317 (-[WKImmediateActionController didPerformActionMenuHitTest:contentPreventsDefault:userData:]): Deleted.
318 * WebKit2.xcodeproj/project.pbxproj:
319 * WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h:
320 (API::InjectedBundle::PageContextMenuClient::prepareForImmediateAction):
321 (API::InjectedBundle::PageContextMenuClient::prepareForActionMenu): Deleted.
322 * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
323 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
324 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
325 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
326 (WebKit::InjectedBundlePageContextMenuClient::prepareForImmediateAction):
327 (WebKit::InjectedBundlePageContextMenuClient::prepareForActionMenu): Deleted.
328 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
329 * WebProcess/WebPage/WebPage.h:
330 * WebProcess/WebPage/WebPage.messages.in:
331 * WebProcess/WebPage/WebPageOverlay.cpp:
332 (WebKit::WebPageOverlay::actionContextForResultAtPoint):
333 * WebProcess/WebPage/WebPageOverlay.h:
334 (WebKit::WebPageOverlay::Client::actionContextForResultAtPoint):
335 * WebProcess/WebPage/mac/WebPageMac.mm:
336 (WebKit::textIndicatorTransitionForImmediateAction):
337 (WebKit::WebPage::performImmediateActionHitTestAtLocation):
338 (WebKit::textIndicatorTransitionForActionMenu): Deleted.
339 (WebKit::WebPage::performActionMenuHitTestAtLocation): Deleted.
340 (WebKit::WebPage::selectLastActionMenuRange): Deleted.
341 (WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult): Deleted.
342 Remove everything, except some enums that clients still refer to.
343 Also, leave SPI that used to be shared between immediate actions and
344 action menus intact, even if it had "action menu" in the name. We can
345 deprecate and rename in another patch... except for the very recently-added
346 support from r184106, which we'll revert entirely, removing WKBundlePageOverlayV2,
347 which was not adopted by any clients.
349 2015-05-22 Brady Eidson <beidson@apple.com>
351 Rework how the ResourceRequest user initiated property key is used.
352 Followup to https://bugs.webkit.org/show_bug.cgi?id=145281
354 Reviewed by Dan Bernstein.
356 * Shared/API/Cocoa/_WKNSURLRequestExtras.mm:
357 (-[NSURLRequest _web_isUserInitiated]):
358 (-[NSMutableURLRequest _web_setIsUserInitiated:]):
360 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
361 (WKResourceRequestIsUserInitiatedKey): Deleted.
362 (InitWebCoreSystemInterface): Deleted.
364 2015-05-21 Gavin Barraclough <barraclough@apple.com>
366 Networking process sometimes suspended while WebContent runnable
367 https://bugs.webkit.org/show_bug.cgi?id=145291
368 <rdar://problem/21033029>
370 Reviewed by Andreas Kling.
372 There is an asymmetry in how the Networking process suspension is managed.
373 We drop the assertion (& suspend the process) whenever the WebProcess says
374 it is ready to suspend, but we only take the assertion (& resume execution)
375 when the WebContent process is actually resumed. This leaves a race – where
376 the WebContent process was willing to be suspended, but the UI app changed
377 its mind suspending it. Since the WebContent process never actually suspended
378 (we only prepared it to), we never send a resume, and since we never resume,
379 we never wake the Networking process.
381 The fix is pretty clean. A web process should take a token on the networking
382 process precisely whenever it holds an assertion on the web content process.
383 This also enables a nice refinement, that when holding a BG assertion on the
384 WebContent process we only need to hold a BG assertion on the networking
387 * UIProcess/Network/NetworkProcessProxy.cpp:
388 (WebKit::NetworkProcessProxy::didSetAssertionState):
390 * UIProcess/Network/NetworkProcessProxy.h:
391 - added didSetAssertionState.
392 * UIProcess/ProcessThrottler.cpp:
393 (WebKit::ProcessThrottler::updateAssertionNow):
394 (WebKit::ProcessThrottler::updateAssertion):
395 (WebKit::ProcessThrottler::didConnectToProcess):
396 - whenever taking/updating the assertion, inform the client via didSetAssertionState.
397 * UIProcess/ProcessThrottlerClient.h:
398 - added didSetAssertionState.
399 * UIProcess/WebProcessProxy.cpp:
400 (WebKit::WebProcessProxy::didFinishLaunching):
401 removed initializeNetworkProcessActivityToken - this is taken via ProcessThrottler::didConnectToProcess.
402 (WebKit::WebProcessProxy::sendProcessDidResume):
403 - removed call to initializeNetworkProcessActivityToken - updated via didSetAssertionState.
404 (WebKit::WebProcessProxy::processReadyToSuspend):
405 - removed update of m_tokenForNetworkProcess - updated via didSetAssertionState.
406 (WebKit::WebProcessProxy::didSetAssertionState):
407 - update m_backgroundTokenForNetworkProcess/m_foregroundTokenForNetworkProcess.
408 (WebKit::WebProcessProxy::initializeNetworkProcessActivityToken): Deleted.
409 - updated via didSetAssertionState.
410 * UIProcess/WebProcessProxy.h:
411 - added didSetAssertionState, added separate FG/BG activity tokens for Networking process.
413 2015-05-22 Dan Bernstein <mitz@apple.com>
415 Fixed the fix for <rdar://problem/20830673> Symlink the WebKit dylib instead of just the framework directory
416 https://bugs.webkit.org/show_bug.cgi?id=145287
418 Reviewed by Anders Carlsson.
420 * WebKit2.xcodeproj/project.pbxproj: Give the symlink the correct destination.
422 2015-05-21 Brady Eidson <beidson@apple.com>
424 Add an "initiated by user gesture" flag to ResourceRequest.
425 https://bugs.webkit.org/show_bug.cgi?id=145281
427 Reviewed by Alex Christensen.
429 Expose a new category on NSURLRequest to allow SPI clients to easily set/get the flag:
430 * Shared/API/Cocoa/_WKNSURLRequestExtras.h: Added.
431 * Shared/API/Cocoa/_WKNSURLRequestExtras.mm: Added.
432 (-[NSURLRequest _web_isUserInitiated]):
433 (-[NSMutableURLRequest _web_setIsUserInitiated:]):
435 * WebKit2.xcodeproj/project.pbxproj:
437 Expose the new property key to WebCore:
438 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
439 (WKResourceRequestIsUserInitiatedKey):
440 (InitWebCoreSystemInterface):
442 2015-05-21 Daniel Bates <dabates@apple.com>
444 Rollout <http://trac.webkit.org/changeset/183909>
445 (https://bugs.webkit.org/show_bug.cgi?id=144657)
447 Revert <http://trac.webkit.org/changeset/183909> since pausing the database
448 thread prevents in-progress transactions from completing. We need to think
449 about this change some more.
451 * UIProcess/WebPageProxy.h:
452 * UIProcess/ios/WKContentView.mm:
453 (-[WKContentView _applicationDidEnterBackground:]): Deleted.
454 * UIProcess/ios/WebPageProxyIOS.mm:
455 (WebKit::WebPageProxy::applicationDidEnterBackground): Deleted.
456 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
457 (WebKit::WebDatabaseManager::setPauseAllDatabases): Deleted.
458 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
459 * WebProcess/WebPage/WebPage.h:
460 * WebProcess/WebPage/WebPage.messages.in:
461 * WebProcess/WebPage/ios/WebPageIOS.mm:
462 (WebKit::WebPage::applicationWillEnterForeground): Deleted.
463 (WebKit::WebPage::applicationDidEnterBackground): Deleted.
465 2015-05-21 Enrica Casucci <enrica@apple.com>
467 [iOS] Crash when taking a snapshot of a large PDF.
468 https://bugs.webkit.org/show_bug.cgi?id=145286
469 rdar://problem/20892362
471 Reviewed by Tim Horton.
473 The code for the PDF case was incorrectly computing the snapshot rect.
474 On top of that drawViewHierarchyInRect was ignoring the rect and
475 always creating an image using the view bounds causing the crash.
476 We are now always using the IOSurface if we are parented or
477 an image context when we are not.
479 * UIProcess/API/Cocoa/WKWebView.mm:
480 (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
482 2015-05-21 Anders Carlsson <andersca@apple.com>
484 Symlink the WebKit dylib instead of just the framework directory
485 https://bugs.webkit.org/show_bug.cgi?id=145287
486 rdar://problem/20830673
488 Reviewed by Dan Bernstein.
490 * WebKit2.xcodeproj/project.pbxproj:
492 2015-05-21 Anders Carlsson <andersca@apple.com>
494 WKWebsiteDataStore doesn't track and remove iOS Safari's offline application cache entries
495 https://bugs.webkit.org/show_bug.cgi?id=145279
496 rdar://problem/20657912
498 Reviewed by Dan Bernstein.
500 Special-case iOS Safari and WebApp when computing the default application cache directory.
502 * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
503 (API::applicationCacheDirectory):
504 (API::WebsiteDataStore::defaultDataStoreConfiguration):
506 2015-05-21 Brian Weinstein <bweinstein@apple.com>
508 Add a _WKWebKitContentExtensionStore initializer that takes a path.
509 https://bugs.webkit.org/show_bug.cgi?id=145269 and work towards <rdar://problem/21031414>
511 Reviewed by Anders Carlsson.
513 * UIProcess/API/APIUserContentExtensionStore.cpp:
514 (API::UserContentExtensionStore::storeWithPath):
515 * UIProcess/API/APIUserContentExtensionStore.h:
516 * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
517 * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
518 (+[_WKUserContentExtensionStore storeWithURL:]):
520 2015-05-21 Alexey Proskuryakov <ap@apple.com>
522 Build fix. Silence some deprecation warnings.
524 * UIProcess/ios/forms/WKFileUploadPanel.mm:
525 (-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
526 * UIProcess/ios/forms/WKFormInputControl.mm:
527 (-[WKDateTimePopover initWithView:datePickerMode:]):
528 * UIProcess/ios/forms/WKFormPopover.h:
529 * UIProcess/ios/forms/WKFormPopover.mm:
530 * UIProcess/ios/forms/WKFormSelectPopover.mm:
531 (-[WKSelectPopover initWithView:hasGroups:]):
533 2015-05-21 Csaba Osztrogonác <ossy@webkit.org>
535 [EFL] Remove an unused private field from EwkPopupMenuItem class
536 https://bugs.webkit.org/show_bug.cgi?id=145249
538 Reviewed by Gyuyoung Kim.
540 * UIProcess/API/efl/ewk_popup_menu.cpp:
541 (EwkPopupMenu::EwkPopupMenu):
542 * UIProcess/API/efl/ewk_popup_menu_private.h:
544 2015-05-21 Csaba Osztrogonác <ossy@webkit.org>
546 [EFL] Fix mismatched-tags warnings in UIProcess/API/efl
547 https://bugs.webkit.org/show_bug.cgi?id=145129
549 Reviewed by Gyuyoung Kim.
551 * UIProcess/API/efl/EwkViewCallbacks.h:
552 * UIProcess/API/efl/ewk_application_cache_manager.h:
553 * UIProcess/API/efl/ewk_auth_request.h:
554 * UIProcess/API/efl/ewk_back_forward_list.h:
555 * UIProcess/API/efl/ewk_back_forward_list_item.h:
556 * UIProcess/API/efl/ewk_color_picker.h:
557 * UIProcess/API/efl/ewk_context.h:
558 * UIProcess/API/efl/ewk_context_menu_item.h:
559 * UIProcess/API/efl/ewk_cookie_manager.h:
560 * UIProcess/API/efl/ewk_database_manager.h:
561 * UIProcess/API/efl/ewk_download_job.h:
562 * UIProcess/API/efl/ewk_error.h:
563 * UIProcess/API/efl/ewk_favicon_database.h:
564 * UIProcess/API/efl/ewk_file_chooser_request.h:
565 * UIProcess/API/efl/ewk_form_submission_request.h:
566 * UIProcess/API/efl/ewk_navigation_data.h:
567 * UIProcess/API/efl/ewk_navigation_policy_decision.h:
568 * UIProcess/API/efl/ewk_object.h:
569 * UIProcess/API/efl/ewk_page_group.h:
570 * UIProcess/API/efl/ewk_popup_menu.h:
571 * UIProcess/API/efl/ewk_popup_menu_item.h:
572 * UIProcess/API/efl/ewk_security_origin.h:
573 * UIProcess/API/efl/ewk_settings.h:
574 * UIProcess/API/efl/ewk_storage_manager.h:
575 * UIProcess/API/efl/ewk_url_request.h:
576 * UIProcess/API/efl/ewk_url_response.h:
577 * UIProcess/API/efl/ewk_url_scheme_request.h:
578 * UIProcess/API/efl/ewk_view.h:
579 * UIProcess/API/efl/ewk_window_features.h:
580 * WebProcess/InjectedBundle/API/efl/ewk_extension.h:
581 * WebProcess/InjectedBundle/API/efl/ewk_page.h:
583 2015-05-21 Csaba Osztrogonác <ossy@webkit.org>
585 Fix mismatched-tags warnings related to CoordinatedGraphics
586 https://bugs.webkit.org/show_bug.cgi?id=145130
588 Reviewed by Darin Adler.
590 * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
591 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
592 * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
594 2015-05-20 Gyuyoung Kim <gyuyoung.kim@webkit.org>
596 Unreviewed GTK build fix since r184686.
598 * UIProcess/gtk/WebProcessPoolGtk.cpp:
599 (WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): Add *legacy* prefix.
600 (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): Deleted.
602 2015-05-20 Gyuyoung Kim <gyuyoung.kim@webkit.org>
604 Unreviewed EFL build fix since r184686.
606 * UIProcess/efl/WebProcessPoolEfl.cpp:
607 (WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): Add *legacy* prefix.
608 (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): Deleted.
610 2015-05-20 Chris Dumez <cdumez@apple.com>
612 [WK2][iOS] Update WebContent process sandbox profile for AWD logging
613 https://bugs.webkit.org/show_bug.cgi?id=145229
614 <rdar://problem/20543269>
616 Reviewed by Alexey Proskuryakov.
618 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
620 2015-05-20 Gavin Barraclough <barraclough@apple.com>
622 dispatchViewStateChange should not wait for sync reply if the page isn't visible
623 https://bugs.webkit.org/show_bug.cgi?id=145242
624 <rdar://problem/20967937>
626 Reviewed by Ben Poulain.
628 This is particularly problematic on iOS, since if the page isn't visible the process is likely suspended.
631 * UIProcess/WebPageProxy.cpp:
632 (WebKit::WebPageProxy::dispatchViewStateChange):
633 (WebKit::WebPageProxy::waitForDidUpdateViewState):
635 2015-05-20 Marcos Chavarría Teijeiro <mchavarria@igalia.com>
637 Enable disk cache for range requests
638 https://bugs.webkit.org/show_bug.cgi?id=144682
640 Reviewed by Antti Koivisto.
642 Add Range header value to the network cache key constructor so we take
643 into account this value. The 206 response code is also marked to be cached.
645 * NetworkProcess/cache/NetworkCache.cpp:
646 (WebKit::NetworkCache::makeCacheKey):
647 (WebKit::NetworkCache::isStatusCodeCacheableByDefault):
648 * NetworkProcess/cache/NetworkCacheKey.cpp:
649 (WebKit::NetworkCache::Key::Key):
650 (WebKit::NetworkCache::Key::operator=):
651 (WebKit::NetworkCache::Key::computeHash):
652 (WebKit::NetworkCache::Key::operator==):
653 (WebKit::NetworkCache::Key::encode):
654 (WebKit::NetworkCache::Key::decode):
655 (WebKit::NetworkCache::Key::stringToHash): Deleted.
656 * NetworkProcess/cache/NetworkCacheKey.h:
658 2015-05-20 Anders Carlsson <andersca@apple.com>
660 WKWebsiteDataStore API doesn't report webkit.org as using Databases or App Cache after visiting http://www.webkit.org/demos/sticky-notes/
661 https://bugs.webkit.org/show_bug.cgi?id=145238
662 rdar://problem/20581175
664 Reviewed by Tim Horton.
666 Make sure to set the application cache and WebSQL directories when using the legacy data store.
668 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
669 (WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory):
670 (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory):
671 Rename this and move it to the right place.
673 * UIProcess/WebProcessPool.cpp:
674 (WebKit::legacyWebsiteDataStoreConfiguration):
675 Rename this and add the application cache and WebSQL directories.
677 (WebKit::WebProcessPool::WebProcessPool):
678 Call legacyWebsiteDataStoreConfiguration.
680 (WebKit::WebProcessPool::applicationCacheDirectory):
681 Call legacyPlatformDefaultApplicationCacheDirectory.
683 * UIProcess/WebProcessPool.h:
685 2015-05-20 Enrica Casucci <enrica@apple.com>
687 [iOS] Using CSS viewport units causes incorrect layout.
688 https://bugs.webkit.org/show_bug.cgi?id=145225
689 rdar://problem/20924495
691 Reviewed by Benjamin Poulain.
693 * WebProcess/WebPage/ios/WebPageIOS.mm:
694 (WebKit::WebPage::updateViewportSizeForCSSViewportUnits):
696 2015-05-20 Tim Horton <timothy_horton@apple.com>
698 Allow overriding the waitForDidUpdateViewState timeout
699 https://bugs.webkit.org/show_bug.cgi?id=145230
700 <rdar://problem/20990162>
702 Reviewed by Darin Adler.
704 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
705 (WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
706 Use the value from NSUserDefaults, if it exists.
707 We'll only check once, so changing the default requires a restart of the UI process.
709 2015-05-20 Anders Carlsson <andersca@apple.com>
711 Make sure we always have a process pool to perform data store operations with
712 https://bugs.webkit.org/show_bug.cgi?id=145231
713 rdar://problem/20618248
715 Reviewed by Tim Horton.
717 Make sure that we always return a process pool. If we're a legacy C SPI per-context data store,
718 find the process pool we're a part of and use that. Otherwise, create a new one.
720 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
721 (WebKit::WebsiteDataStore::processPools):
723 2015-05-19 Jer Noble <jer.noble@apple.com>
725 Touching HTMLMediaElement.h or MediaPlayer.h causes a world rebuild.
726 https://bugs.webkit.org/show_bug.cgi?id=145193
728 Reviewed by Eric Carlson.
730 Use HTMLMediaElementEnums instead of HTMLMediaElement.
732 * UIProcess/API/Cocoa/WKWebView.mm:
733 (-[WKWebView _isShowingVideoOptimized]): HTMLMediaElement -> HTMLMediaElementEnums.
734 * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
735 * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
736 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
737 (WebKit::WebVideoFullscreenManagerProxy::hasMode): Ditto.
738 (WebKit::WebVideoFullscreenModelContext::fullscreenModeChanged): Ditto.
739 (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Ditto.
740 (WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): Ditto.
741 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
742 (WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): Ditto.
743 * WebProcess/WebCoreSupport/WebChromeClient.h:
744 * WebProcess/ios/WebVideoFullscreenManager.h:
745 (WebKit::WebVideoFullscreenInterfaceContext::fullscreenMode): Ditto.
746 (WebKit::WebVideoFullscreenInterfaceContext::setFullscreenMode): Ditto.
747 * WebProcess/ios/WebVideoFullscreenManager.messages.in:
748 * WebProcess/ios/WebVideoFullscreenManager.mm:
749 (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Ditto.
750 (WebKit::WebVideoFullscreenManager::fullscreenModeChanged): Ditto.
751 (WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Ditto.
753 2015-05-20 Anders Carlsson <andersca@apple.com>
755 Refactor process pool enumeration code in WebsiteDataStore
756 https://bugs.webkit.org/show_bug.cgi?id=145218
758 Reviewed by Tim Horton.
760 Also make sure to keep the WebProcessPool objects alive for the duration of the various data store
761 operations. This is the first step towards having the data store create a single process pool lazily if
762 there are no web views associated with the data store.
764 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
765 (WebKit::WebsiteDataStore::fetchData):
766 (WebKit::WebsiteDataStore::removeData):
767 (WebKit::WebsiteDataStore::processPools):
768 * UIProcess/WebsiteData/WebsiteDataStore.h:
770 2015-05-20 Alex Christensen <achristensen@webkit.org>
772 [Content Extensions] Relax restrictions on triggers that match everything.
773 https://bugs.webkit.org/show_bug.cgi?id=145069
775 Reviewed by Benjamin Poulain.
777 * UIProcess/API/APIUserContentExtensionStore.h:
778 Increment version number to reflect changes in DFABytecode.
780 2015-05-20 Sungmann Cho <sungmann.cho@navercorp.com>
782 Minor cleanups to PluginProcessProxy.
783 https://bugs.webkit.org/show_bug.cgi?id=145199
785 Reviewed by Anders Carlsson.
787 1. Remove unnecessary forward declaration.
788 2. Remove unnecessary #include.
790 * UIProcess/Plugins/PluginProcessProxy.cpp:
791 * UIProcess/Plugins/PluginProcessProxy.h:
793 2015-05-20 Marcos Chavarría Teijeiro <mchavarria@igalia.com>
795 [GTK] Add some documentation to WebKitWebExtension
796 https://bugs.webkit.org/show_bug.cgi?id=142786
798 Reviewed by Carlos Garcia Campos.
800 WebKitWebExtension API documentation lacks of some details and the information
801 available is in some contributors blog posts. I add the section
802 documentation with a small guide about how to use WebExtensions.
804 The code examples were taken from Carlos García and Adrián Pérez blog
807 * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
809 2015-05-20 Sungmann Cho <sungmann.cho@navercorp.com>
811 Rename WebsiteDataStore::isNonPersistent() to WebsiteDataStore::isPersistent().
812 https://bugs.webkit.org/show_bug.cgi?id=145111
814 Reviewed by Darin Adler.
816 This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=144158.
818 * UIProcess/API/APIWebsiteDataStore.cpp:
819 (API::WebsiteDataStore::isPersistent):
820 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
821 (WebKit::WebsiteDataStore::fetchData):
822 (WebKit::WebsiteDataStore::removeData):
823 * UIProcess/WebsiteData/WebsiteDataStore.h:
824 (WebKit::WebsiteDataStore::isPersistent):
825 (WebKit::WebsiteDataStore::isNonPersistent): Deleted.
827 2015-05-20 Hyungwook Lee <hyungwook.lee@navercorp.com>
829 [EFL] Fix build failure, linker does not find libXext.
830 https://bugs.webkit.org/show_bug.cgi?id=144100
832 Reviewed by Gyuyoung Kim.
834 Move Xext library from WebProcess_LIBRARIES to WebKit2_LIBRARIES.
838 2015-05-19 Carlos Garcia Campos <cgarcia@igalia.com>
840 [SOUP] Network Cache: Implement ShareableResource for Soup and enable it for GTK platform
841 https://bugs.webkit.org/show_bug.cgi?id=144380
843 Reviewed by Antti Koivisto.
845 It improves the network cache performance, by mmaping big
846 resources and sending only the file descriptor to the web process
847 instead of the actual file data. It needs some changes in
848 cross-platform code, because we can't use the same approach as
849 mac (it uses a platform specific implementation not available in
852 * NetworkProcess/cache/NetworkCache.cpp:
853 (WebKit::NetworkCache::Cache::store): Use
854 Data::tryCreateSharedMemory() to create the shared memory used by
855 the ShareableResource. Also add an ASSERT instead of checking the
856 shareable resource created is not nullptr, because the
857 ShareableResource::create() that receives a shared memory should
858 never return nullptr.
859 * NetworkProcess/cache/NetworkCacheData.h:
860 * NetworkProcess/cache/NetworkCacheDataCocoa.mm:
861 (WebKit::NetworkCache::Data::tryCreateSharedMemory):
862 * NetworkProcess/cache/NetworkCacheDataSoup.cpp:
863 (WebKit::NetworkCache::Data::tryCreateSharedMemory): Create a
864 SharedMemory object to wrap the mapped file, but keeping the ownership.
865 * NetworkProcess/cache/NetworkCacheEntry.cpp:
866 (WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):
867 Use Data::tryCreateSharedMemory() to create the shared memory used
868 bythe ShareableResource. Also add an ASSERT instead of checking
869 the shareable resource created is not nullptr, because the
870 ShareableResource::create() that receives a shared memory should
871 never return nullptr.
872 * Platform/SharedMemory.h:
873 * Platform/unix/SharedMemoryUnix.cpp:
874 (WebKit::SharedMemory::map): Use wrapMap() and initialize
875 m_isWrappingMap to false.
876 (WebKit::SharedMemory::wrapMap): Create a SharedMemory object for
877 the given map, without taking its ownership.
878 (WebKit::SharedMemory::~SharedMemory): Do not unmap and close the
879 file descriptor if m_isWrappingMap is true.
880 * Shared/ShareableResource.cpp:
881 (WebKit::createShareableResourceDeallocator):
882 (WebKit::ShareableResource::wrapInSharedBuffer): Create a SharedBuffer
883 wrapping the ShareableResource data.
884 (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer): Create
885 a ShareableResource for the handle and create a SharedBuffer
887 * Shared/ShareableResource.h:
888 * WebKit2Prefix.h: Enable ENABLE_SHAREABLE_RESOURCE for GTK.
889 * WebProcess/Network/WebResourceLoader.cpp:
890 (WebKit::WebResourceLoader::didReceiveResource): Get the CFData
891 from the SharedBuffer for QuickLook instead of wrapping the handle again.
893 2015-05-19 Carlos Garcia Campos <cgarcia@igalia.com>
895 [SOUP] Network Cache: Disable network cache efficacy logging
896 https://bugs.webkit.org/show_bug.cgi?id=145172
898 Reviewed by Martin Robinson.
900 Disable network cache efficacy logging by default, since we are
901 not currently using the collected data.
903 * UIProcess/soup/WebProcessPoolSoup.cpp:
904 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
906 2015-05-19 Michael Saboff <msaboff@apple.com>
908 REGRESSION(183787): JIT is enabled for all builds
909 https://bugs.webkit.org/show_bug.cgi?id=145179
911 Reviewed by Geoffrey Garen.
913 Eliminated the setting of ENABLE_JIT, as wtf/Platform.h has appropriate logic to
914 set it depending on OS and CPU type.
916 * Configurations/FeatureDefines.xcconfig:
918 2015-05-19 Brady Eidson <beidson@apple.com>
920 X-Frame-Options headers not respected when loading from application cache.
921 <rdar://problem/14877623> and https://bugs.webkit.org/show_bug.cgi?id=131800
923 Reviewed by Alexey Proskuryakov.
925 * WebProcess/WebPage/WebPage.cpp:
926 (WebKit::WebPage::loadDataImpl):
928 2015-05-19 Sungmann Cho <sungmann.cho@navercorp.com>
930 Add PLUGIN_ARCHITECTURE(MAC) around WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h.
931 https://bugs.webkit.org/show_bug.cgi?id=145173
933 Reviewed by Anders Carlsson.
935 WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h is meaningful only for Mac.
936 So we need to add PLUGIN_ARCHITECTURE(MAC) around it.
938 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
940 2015-05-19 Brent Fulgham <bfulgham@apple.com>
942 REGRESSION(142590): Part 2: Scroll-snap points are improperly snapping to earlier index values (Scrolling Thread)
943 https://bugs.webkit.org/show_bug.cgi?id=145175
944 <rdar://problem/21023785>
946 Reviewed by Beth Dakin.
948 Add a stub implementation of isScrollSnapInProgress to match ScrollingCoordinator signature.
950 * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
951 * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
952 (WebKit::RemoteScrollingCoordinator::isScrollSnapInProgress): Added stub.
954 2015-05-19 Jeremy Jones <jeremyj@apple.com>
956 WebVideoFullscreenManagerProxy has incorrect OS_VERSION_MIN_REQUIRED conditionals.
957 https://bugs.webkit.org/show_bug.cgi?id=145158
959 Reviewed by Eric Carlson.
961 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
962 (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
964 2015-05-19 Ting-Wei Lan <lantw44@gmail.com>
966 [SOUP] Use st_birthtime to get creation time of files on systems support it
967 https://bugs.webkit.org/show_bug.cgi?id=144989
969 Reviewed by Carlos Garcia Campos.
971 FreeBSD and NetBSD have either st_birthtime field or compatiblity macro
972 with the same name in stat. It is better to use it instead of manually
973 setting xattr, which is unreliable because both operating systems and
974 file systems support are required.
976 * NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
977 (WebKit::NetworkCache::fileTimes):
978 * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
979 (WebKit::NetworkCache::IOChannel::IOChannel):
981 2015-05-19 Chris Dumez <cdumez@apple.com>
983 Mark static variables as const when possible
984 https://bugs.webkit.org/show_bug.cgi?id=145161
986 Reviewed by Andreas Kling.
988 * Platform/IPC/MessageEncoder.cpp:
989 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
990 (WebKit::networkProcessLatencyQOS):
991 (WebKit::networkProcessThroughputQOS):
992 (WebKit::webProcessLatencyQOS):
993 (WebKit::webProcessThroughputQOS):
994 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
995 (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
996 (WebKit::pluginProcessLatencyQOS):
997 (WebKit::pluginProcessThroughputQOS):
998 * WebProcess/WebPage/WebPage.cpp:
1000 2015-05-18 Michael Catanzaro <mcatanzaro@igalia.com>
1002 [CMake] Ignore warnings in system headers
1003 https://bugs.webkit.org/show_bug.cgi?id=144747
1005 Reviewed by Darin Adler.
1007 Separate include directories into WebKit project includes and system includes. Suppress all
1008 warnings from headers in system include directories using the SYSTEM argument to
1009 the include_directories command.
1012 * PlatformEfl.cmake:
1013 * PlatformGTK.cmake:
1015 2015-05-18 Csaba Osztrogonác <ossy@webkit.org>
1017 Fix return-type warnings in test_ewk2_color_picker.cpp
1018 https://bugs.webkit.org/show_bug.cgi?id=145122
1020 Reviewed by Gyuyoung Kim.
1022 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
1023 (EWK2ColorPickerTest::hideColorPicker):
1024 (EWK2ColorPickerTest::hideColorPickerByRemovingElement):
1026 2015-05-18 Skachkov Alexandr <gskachkov@gmail.com>
1028 [ES6] Arrow function syntax. Feature flag for arrow function
1029 https://bugs.webkit.org/show_bug.cgi?id=145108
1031 Reviewed by Ryosuke Niwa.
1033 Added feature flag ENABLE_ES6_ARROWFUNCTION_SYNTAX for arrow function
1035 * Configurations/FeatureDefines.xcconfig:
1037 2015-05-18 Anders Carlsson <andersca@apple.com>
1039 WKWebsiteDataStore should fully support session storage
1040 https://bugs.webkit.org/show_bug.cgi?id=145145
1041 rdar://problem/10690447
1043 Reviewed by Sam Weinig.
1045 Add a session store data type and handle it when clearing and fetching data.
1047 * Shared/WebsiteData/WebsiteDataTypes.h:
1048 * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
1049 * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
1050 (dataTypesToString):
1051 * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
1052 (WebKit::toWebsiteDataTypes):
1053 (WebKit::toWKWebsiteDataTypes):
1054 * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
1055 (+[WKWebsiteDataStore allWebsiteDataTypes]):
1056 * UIProcess/Storage/StorageManager.cpp:
1057 (WebKit::StorageManager::SessionStorageNamespace::origins):
1058 (WebKit::StorageManager::SessionStorageNamespace::clearStorageAreasMatchingOrigin):
1059 (WebKit::StorageManager::SessionStorageNamespace::clearAllStorageAreas):
1060 (WebKit::StorageManager::getSessionStorageOrigins):
1061 (WebKit::StorageManager::deleteSessionStorageOrigins):
1062 (WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):
1063 * UIProcess/Storage/StorageManager.h:
1064 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1065 (WebKit::WebsiteDataStore::fetchData):
1066 (WebKit::WebsiteDataStore::removeData):
1068 2015-05-18 Brady Eidson <beidson@apple.com>
1070 Followup to: Networking process on iOS can be suspended and never exit
1071 https://bugs.webkit.org/show_bug.cgi?id=144971.
1073 Unreviewed. Fixing API tests that revealed the unintentional change in behavior.
1075 * Shared/ChildProcessProxy.cpp:
1076 (WebKit::ChildProcessProxy::shutDownProcess): The on WebProcessProxy code path that this
1077 was adopted from had an m_connection null check, and that null check needs to remain.
1079 2015-05-18 Csaba Osztrogonác <ossy@webkit.org>
1081 [GTK] URTBF after r184503.
1083 * PlatformGTK.cmake:
1085 2015-05-18 Brady Eidson <beidson@apple.com>
1087 Networking process on iOS can be suspended and never exit.
1088 <rdar://problem/20368630> and https://bugs.webkit.org/show_bug.cgi?id=144971
1090 Reviewed by Darin Adler.
1092 There's a few issues here.
1094 1 - When the NetworkProcessProxy goes away, it takes its process assertion with it. This causes
1095 the Network process to suspend indefinitely, unable to ever respond to IPC::Connection callbacks.
1096 We already solved this with WebProcess with a watchdog timer keeping both the process assertion
1097 and xpc_connection alive while the process shuts down. This patch expands that to the network
1098 process, and it will be easy to expand that to database and plugin processes doing forward.
1100 2 - All of our child processes either decide to self-terminate or listen for their connection to
1101 close at which point they terminate. This leads to various races. We should
1102 move to a model where the UI process explicitly tells them to shutdown, and this patch starts us
1106 * DerivedSources.make:
1107 * WebKit2.xcodeproj/project.pbxproj:
1109 * NetworkProcess/NetworkProcess.cpp:
1110 (WebKit::NetworkProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess.
1112 * Shared/ChildProcess.cpp:
1113 (WebKit::ChildProcess::shutDown): For now, just terminate the process. In the future have the
1114 process do cleanup work before it is terminated.
1115 * Shared/ChildProcess.h:
1116 * Shared/ChildProcess.messages.in: Added.
1118 * Shared/ChildProcessProxy.cpp:
1119 (WebKit::ChildProcessProxy::shutDownProcess): Set a watchdog and - if possible - explicitly message
1120 the process to ShutDown.
1121 (WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded): Deleted.
1122 * Shared/ChildProcessProxy.h:
1124 * UIProcess/WebProcessPool.cpp:
1125 (WebKit::WebProcessPool::~WebProcessPool): Explicitly tell the network process to shut down.
1127 * UIProcess/WebProcessProxy.cpp:
1128 (WebKit::WebProcessProxy::removeWebPage): Move abortProcessLaunchIfNeeded() and the watchdog timer
1129 code to ChildProcessProxy::shutDownProcess.
1131 * WebProcess/WebProcess.cpp:
1132 (WebKit::WebProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess::didReceiveMessage.
1134 2015-05-17 Carlos Garcia Campos <cgarcia@igalia.com>
1136 Network Cache: Make Data::adoptMap take the ownership of the file descriptor
1137 https://bugs.webkit.org/show_bug.cgi?id=144950
1139 Reviewed by Antti Koivisto.
1141 It will be required to implement ShareableResource for soup
1142 network backend. Also move the common code of Data to a common
1143 file and add mapToFile(). The mapFile version that receives a file
1144 descriptor has been renamed to adoptAndMapFile().
1146 * CMakeLists.txt: Add new file to compilation.
1147 * NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
1148 (WebKit::NetworkCache::BlobStorage::add): Use mapToFile().
1149 * NetworkProcess/cache/NetworkCacheData.cpp: Added.
1150 (WebKit::NetworkCache::Data::mapToFile): Write the data to the
1151 given file and map it.
1152 (WebKit::NetworkCache::mapFile):
1153 (WebKit::NetworkCache::adoptAndMapFile):
1154 (WebKit::NetworkCache::computeSHA1):
1155 (WebKit::NetworkCache::bytesEqual):
1156 * NetworkProcess/cache/NetworkCacheData.h:
1157 * NetworkProcess/cache/NetworkCacheDataCocoa.mm:
1158 (WebKit::NetworkCache::Data::adoptMap): Close the file descriptor.
1159 * NetworkProcess/cache/NetworkCacheDataSoup.cpp:
1160 (WebKit::NetworkCache::Data::Data): Use a constructor that
1161 receives a file descriptor instead of the one receiving
1162 Backing. If the file descriptor is not -1 then the Data is a map.
1163 (WebKit::NetworkCache::MapWrapper::~MapWrapper): Also close the
1165 (WebKit::NetworkCache::Data::adoptMap): Pass the file descriptor
1166 to the MapWrapper and create the Data passing the file descriptor.
1167 * UIProcess/API/APIUserContentExtensionStore.cpp:
1168 (API::openAndMapContentExtension): Use mapFile that receives a
1170 (API::compiledToFile): Use adoptAndMapFile() and don't close the
1173 2015-05-16 Andy Estes <aestes@apple.com>
1175 [iOS] WKPDFView should not follow javascript: links
1176 https://bugs.webkit.org/show_bug.cgi?id=145101
1178 Reviewed by Dan Bernstein.
1180 * UIProcess/WebPageProxy.cpp:
1181 (WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick): Returned early if url's protocol is javascript:.
1182 (WebKit::WebPageProxy::navigateToURLWithSimulatedClick): Renamed to navigateToPDFLinkWithSimulatedClick to
1183 reflect that this function is exclusively for following PDF links.
1184 * UIProcess/WebPageProxy.h:
1185 * UIProcess/ios/WKPDFView.mm:
1186 (-[WKPDFView annotation:wasTouchedAtPoint:controller:]):
1187 (-[WKPDFView actionSheetAssistant:openElementAtLocation:]):
1188 * WebProcess/WebPage/WebPage.cpp:
1189 (WebKit::WebPage::navigateToPDFLinkWithSimulatedClick): Renamed from navigateToURLWithSimulatedClick.
1190 (WebKit::WebPage::navigateToURLWithSimulatedClick): Renamed to navigateToPDFLinkWithSimulatedClick.
1191 * WebProcess/WebPage/WebPage.h:
1192 * WebProcess/WebPage/WebPage.messages.in:
1194 2015-05-16 Brent Fulgham <bfulgham@apple.com>
1196 [iOS] Remote scrolling tree needs to coordinate scroll snap state during resize/rotations
1197 https://bugs.webkit.org/show_bug.cgi?id=145059
1198 <rdar://problem/20975978>
1200 Reviewed by Simon Fraser.
1202 The web view needs to update its scroll snap point offsets to take into account any
1203 adjustments to the view size caused by content insets. We also need to update the
1204 offstes after device rotation.
1206 * UIProcess/API/Cocoa/WKWebView.mm:
1207 (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Retrieve the proper
1208 computed content inset for the view and incorporate into any scroll snap point adjustments.
1209 (-[WKWebView _updateVisibleContentRects]): If we have active scroll snap points,
1210 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1211 * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
1212 (WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Update to account
1214 (WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling): Also validate that the
1215 active index is valid.
1216 (WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Update to track
1217 current active snap offset index.
1218 (WebKit::RemoteScrollingCoordinatorProxy::hasActiveSnapPoint): Added.
1219 (WebKit::RemoteScrollingCoordinatorProxy::nearestActiveSnapPoint): Added. It calculates the proper
1220 scroll position incorporating any snap point and content insets.
1222 2015-05-15 Yongjun Zhang <yongjun_zhang@apple.com>
1224 Don't reset the preview recognizer in [WKContentViewInteraction cleanupInteraction]
1225 https://bugs.webkit.org/show_bug.cgi?id=145081
1227 We shouldn't reset the recognizer in [WKContentViewInteraction cleanupInteraction] since we don't re-add it
1228 back to WKContentView when the process relaunched. Since we already add/remove it when the view is move into/
1229 removed from the window, we don't need reset it in cleanupInteraction.
1231 Reviewed by Dan Bernstein.
1233 * UIProcess/ios/WKContentViewInteraction.mm:
1234 (-[WKContentView cleanupInteraction]):
1236 2015-05-15 James Savage <james.savage@apple.com>
1238 REGRESSION (r181910): WKWebView incorrectly scales snapshot
1239 https://bugs.webkit.org/show_bug.cgi?id=145076
1241 Reviewed by Tim Horton.
1243 We added a fast path to snapshotting using IOSurfaces with
1244 http://trac.webkit.org/changeset/181910 which incorrectly determined
1245 scale and transform and resulted in bad snapshots in some situations.
1247 * UIProcess/API/Cocoa/WKWebView.mm:
1248 (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
1249 When snapshotting an IOSurface we need to compute our scale based off of
1250 the rect in the WKWebView coordinates, we also failed to account for
1251 non-zero origins in the snapshot rect. Remove an unused varible while
1254 2015-05-15 Alex Christensen <achristensen@webkit.org>
1256 [Content Extensions] Fail to load old content extension files
1257 https://bugs.webkit.org/show_bug.cgi?id=145027
1259 Reviewed by Eric Carlson.
1261 * UIProcess/API/APIUserContentExtensionStore.cpp:
1262 (API::openAndMapContentExtension):
1263 * UIProcess/API/APIUserContentExtensionStore.h:
1265 2015-05-15 Jeremy Jones <jeremyj@apple.com>
1267 Limit alternate fullscreen with linked on or after.
1268 https://bugs.webkit.org/show_bug.cgi?id=144894
1270 Reviewed by Dean Jackson.
1272 * UIProcess/API/Cocoa/WKWebView.mm:
1273 (shouldAllowAlternateFullscreen): Added.
1274 (-[WKWebView initWithFrame:configuration:]):
1276 2015-05-15 Chris Dumez <cdumez@apple.com>
1278 [WK2][Cocoa] Back swipe tab snapshot takes a long time to be removed on bing.com
1279 https://bugs.webkit.org/show_bug.cgi?id=145061
1280 <rdar://problem/20939743>
1282 Reviewed by Tim Horton.
1284 When swiping back from a video search result to the list of video
1285 search results on bing.com, the back swipe gesture tab snapshot takes
1286 ~3 seconds to be removed, even though the page gets loaded almost
1287 instantly from PageCache. The tab snapshot should be removed as soon as
1290 The issue is that we only cleared the back swipe gesture tab snapshot
1291 after PageClient::didFinishLoadForMainFrame() has been called. However,
1292 PageClient::didFinishLoadForMainFrame() was only being called by
1293 WebPageProxy if the main frame loaded *without* error. In case the main
1294 frame loaded with an error, only WebPageProxy::didFailLoadForFrame() is
1295 called, not WebPageProxy::didFinishLoadForFrame() and we would fail to
1296 remove the gesture snapshot until the 3 seconds timeout.
1298 This patch calls PageClient::didFinishLoadForMainFrame() from
1299 WebPageProxy::didFailLoadForFrame() so we remove the snapshot in the
1302 The reason didFailLoadForFrame() is being called on bing.com video
1303 search results is because a "ping" load is aborted when the page is
1304 entering PageCache. Aborting any kind of resource load sets a
1305 "cancellation" error on the main document.
1307 * UIProcess/WebPageProxy.cpp:
1308 (WebKit::WebPageProxy::didFailLoadForFrame):
1310 2015-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1312 REGRESSION(r183861): [SOUP] Downloads are broken when using the Network Process
1313 https://bugs.webkit.org/show_bug.cgi?id=144738
1315 Reviewed by Alexey Proskuryakov.
1317 When converting the main resource handle to a download, the
1318 NetworkResourceLoader is aborted, and the ResourceHandle is
1319 cleaned up aborting the download operation. We need to use a
1320 different ResourceHandle for the download operation.
1322 * Shared/Downloads/soup/DownloadSoup.cpp:
1323 (WebKit::Download::startWithHandle): Use ResourceHandle::releaseForDownload()
1324 instead of reusing the given handle.
1326 2015-05-14 Brady Eidson <beidson@apple.com>
1328 Rename connectionDidClose and related methods to be more clear.
1329 https://bugs.webkit.org/show_bug.cgi?id=145030
1331 Reviewed by Darin Adler.
1333 These methods were easy to confuse with "Connection::Client::didClose()", yet they
1334 were about something much more explicit: A child process being shut down by the UI Process.
1336 Let's call them as such.
1338 * Shared/ChildProcessProxy.cpp:
1339 (WebKit::ChildProcessProxy::shutDownProcess):
1340 (WebKit::ChildProcessProxy::clearConnection): Deleted.
1341 (WebKit::ChildProcessProxy::connectionDidClose): Deleted.
1342 * Shared/ChildProcessProxy.h:
1344 * UIProcess/Databases/DatabaseProcessProxy.cpp:
1345 (WebKit::DatabaseProcessProxy::processWillShutDown):
1346 * UIProcess/Databases/DatabaseProcessProxy.h:
1348 * UIProcess/Network/NetworkProcessProxy.cpp:
1349 (WebKit::NetworkProcessProxy::processWillShutDown):
1350 * UIProcess/Network/NetworkProcessProxy.h:
1352 * UIProcess/Plugins/PluginProcessProxy.cpp:
1353 (WebKit::PluginProcessProxy::processWillShutDown):
1354 * UIProcess/Plugins/PluginProcessProxy.h:
1356 * UIProcess/WebFrameProxy.cpp:
1357 (WebKit::WebFrameProxy::webProcessWillShutDown):
1358 (WebKit::WebFrameProxy::disconnect): Deleted.
1359 * UIProcess/WebFrameProxy.h:
1361 * UIProcess/WebPageProxy.cpp:
1362 (WebKit::WebPageProxy::webProcessWillShutDown):
1363 (WebKit::WebPageProxy::connectionDidClose): Deleted.
1364 * UIProcess/WebPageProxy.h:
1366 * UIProcess/WebProcessLifetimeTracker.cpp:
1367 (WebKit::WebProcessLifetimeTracker::webProcessWillShutDown):
1368 (WebKit::WebProcessLifetimeTracker::connectionDidClose): Deleted.
1369 * UIProcess/WebProcessLifetimeTracker.h:
1371 * UIProcess/WebProcessProxy.cpp:
1372 (WebKit::WebProcessProxy::processWillShutDown):
1373 (WebKit::WebProcessProxy::shutDown):
1374 (WebKit::WebProcessProxy::removeWebPage):
1375 (WebKit::WebProcessProxy::didClose):
1376 (WebKit::WebProcessProxy::disconnectFramesFromPage):
1377 (WebKit::WebProcessProxy::shouldTerminate):
1378 (WebKit::WebProcessProxy::requestTermination):
1379 (WebKit::WebProcessProxy::connectionDidClose): Deleted.
1380 (WebKit::WebProcessProxy::disconnect): Deleted.
1381 * UIProcess/WebProcessProxy.h:
1383 2015-05-14 Zhuo Li <zachli@apple.com>
1385 Some CFNetwork SPI to reset HSTS hosts added since a date should not be used on Yosemite.
1386 https://bugs.webkit.org/show_bug.cgi?id=145025.
1388 rdar://problem/20646308.
1390 Reviewed by Alexey Proskuryakov.
1392 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
1393 (WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate):
1395 2015-05-14 Timothy Horton <timothy_horton@apple.com>
1397 Add a layout mode that scales down the view to try to fit the document
1398 https://bugs.webkit.org/show_bug.cgi?id=145022
1399 <rdar://problem/19790341>
1401 Reviewed by Dean Jackson.
1403 * Shared/WebPageCreationParameters.cpp:
1404 (WebKit::WebPageCreationParameters::encode):
1405 (WebKit::WebPageCreationParameters::decode):
1406 * Shared/WebPageCreationParameters.h:
1407 * UIProcess/WebPageProxy.cpp:
1408 (WebKit::WebPageProxy::creationParameters):
1409 (WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
1410 * UIProcess/WebPageProxy.h:
1411 * WebProcess/WebPage/DrawingArea.h:
1412 (WebKit::DrawingArea::setShouldScaleViewToFitDocument):
1413 * WebProcess/WebPage/WebPage.cpp:
1414 (WebKit::WebPage::WebPage):
1415 (WebKit::WebPage::setShouldScaleViewToFitDocument):
1416 * WebProcess/WebPage/WebPage.h:
1417 * WebProcess/WebPage/WebPage.messages.in:
1418 Plumb shouldScaleViewToFitDocument through to the DrawingArea.
1420 * UIProcess/mac/WKViewLayoutStrategy.mm:
1421 (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
1422 (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]):
1423 (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy updateLayout]):
1424 (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy willChangeLayoutStrategy]):
1425 * UIProcess/API/C/WKLayoutMode.h:
1426 * UIProcess/API/Cocoa/_WKLayoutMode.h:
1427 Add a new layout mode, which just turns on shouldScaleViewToFitDocument,
1428 and otherwise behaves as normal.
1430 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1431 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1432 (WebKit::TiledCoreAnimationDrawingArea::setShouldScaleViewToFitDocument):
1433 (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
1434 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1435 On every flush where either the document size or view size has changed,
1436 or layout is outstanding, do a layout with fixed layout off to determine
1437 whether the document fits inside the view. If it doesn't, scale it down
1438 to fit. This will require an extra layout for every resize while in the
1439 scaled-down state, but there is potential for future optimization.
1441 2015-05-14 Anders Carlsson <andersca@apple.com>
1443 Local storage origins should include origins with transient local storage
1444 https://bugs.webkit.org/show_bug.cgi?id=145017
1445 rdar://problem/10690447
1447 Reviewed by Sam Weinig.
1449 The transient local storage namespaces are used for third party data blocking and will stay
1450 around until the UI process exits so we need to be able to include website data from transient storage
1451 in the website data store APIs.
1453 * UIProcess/Storage/StorageManager.cpp:
1454 (WebKit::StorageManager::TransientLocalStorageNamespace::origins):
1455 (WebKit::StorageManager::getLocalStorageOrigins):
1456 * UIProcess/Storage/StorageManager.h:
1457 * UIProcess/WebKeyValueStorageManager.cpp:
1458 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
1459 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1460 (WebKit::WebsiteDataStore::fetchData):
1462 2015-05-14 Beth Dakin <bdakin@apple.com>
1464 Change range of possible forces for mouseforcechanged DOM event
1465 https://bugs.webkit.org/show_bug.cgi?id=144987
1467 rdar://problem/20472802
1469 Reviewed by Tim Horton.
1471 Change to a 0-3 range.
1472 * Shared/mac/WebEventFactory.mm:
1473 (WebKit::WebEventFactory::createWebMouseEvent):
1475 2015-05-14 Zan Dobersek <zdobersek@igalia.com>
1477 [GTK] Add missing ENABLE(NETSCAPE_PLUGIN_API) build guards
1478 https://bugs.webkit.org/show_bug.cgi?id=144994
1480 Reviewed by Carlos Garcia Campos.
1482 This fixes the build when configured with Netscape plugin API
1485 * UIProcess/API/gtk/WebKitWebContext.cpp:
1486 (webkit_web_context_set_additional_plugins_directory):
1487 (webkitWebContextGetPluginThread):
1488 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1489 (WebKit::ProcessLauncher::launchProcess):
1491 2015-05-13 Carlos Garcia Campos <cgarcia@igalia.com>
1493 [SOUP] Network Cache: NetworkProcess segfault when file system doesn't support xattrs
1494 https://bugs.webkit.org/show_bug.cgi?id=144953
1496 Reviewed by Martin Robinson.
1498 Return early if we fail to get the birthtime xattr.
1500 * NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
1501 (WebKit::NetworkCache::fileTimes):
1503 2015-05-13 Daniel Bates <dabates@apple.com>
1505 Rename ProcessThrottlerClient::{send, cancel}ProcessWillSuspend() to {send, cancel}PrepareToSuspend()
1506 https://bugs.webkit.org/show_bug.cgi?id=144619
1507 <rdar://problem/20812779>
1509 Reviewed by Andy Estes.
1511 The names of the functions ProcessThrottlerClient::{send, cancel}ProcessWillSuspend() are misnomers. These
1512 functions are called when the ProcessThrottler wants to prepare the process that it manages for suspension
1513 and changes its mind, respectively. That is, these functions do not actually correspond to the OS decision
1514 to suspend a process or cancel the suspension of a process, respectively. So, rename these functions and
1515 associated {Network, Web}ProcessProxy message names to better describe their purpose.
1517 * NetworkProcess/NetworkProcess.cpp:
1518 (WebKit::NetworkProcess::prepareToSuspend):
1519 (WebKit::NetworkProcess::cancelPrepareToSuspend):
1520 (WebKit::NetworkProcess::processWillSuspend): Deleted.
1521 (WebKit::NetworkProcess::cancelProcessWillSuspend): Deleted.
1522 * NetworkProcess/NetworkProcess.h:
1523 * NetworkProcess/NetworkProcess.messages.in:
1524 * UIProcess/Network/NetworkProcessProxy.cpp:
1525 (WebKit::NetworkProcessProxy::sendPrepareToSuspend):
1526 (WebKit::NetworkProcessProxy::sendCancelPrepareToSuspend):
1527 (WebKit::NetworkProcessProxy::sendProcessWillSuspend): Deleted.
1528 (WebKit::NetworkProcessProxy::sendCancelProcessWillSuspend): Deleted.
1529 * UIProcess/Network/NetworkProcessProxy.h:
1530 * UIProcess/ProcessThrottler.cpp:
1531 (WebKit::ProcessThrottler::updateAssertion):
1532 * UIProcess/ProcessThrottlerClient.h:
1533 * UIProcess/WebProcessProxy.cpp:
1534 (WebKit::WebProcess::actualPrepareToSuspend): Formerly named prepareToSuspend.
1535 (WebKit::WebProcessProxy::sendPrepareToSuspend):
1536 (WebKit::WebProcessProxy::sendCancelPrepareToSuspend):
1537 (WebKit::WebProcessProxy::sendProcessWillSuspend): Deleted.
1538 (WebKit::WebProcessProxy::sendCancelProcessWillSuspend): Deleted.
1539 * UIProcess/WebProcessProxy.h:
1540 * WebProcess/WebProcess.cpp:
1541 (WebKit::WebProcess::prepareToSuspend):
1542 (WebKit::WebProcess::cancelPrepareToSuspend):
1543 (WebKit::WebProcess::processWillSuspend): Deleted.
1544 (WebKit::WebProcess::cancelProcessWillSuspend): Deleted.
1545 * WebProcess/WebProcess.h:
1546 * WebProcess/WebProcess.messages.in:
1548 2015-05-13 Anders Carlsson <andersca@apple.com>
1550 Don't create a per-pool data store when using the modern API
1551 https://bugs.webkit.org/show_bug.cgi?id=144963
1552 rdar://problem/20331756
1554 Reviewed by Tim Horton.
1556 * UIProcess/API/APIProcessPoolConfiguration.cpp:
1557 (API::ProcessPoolConfiguration::createWithLegacyOptions):
1558 (API::ProcessPoolConfiguration::copy):
1559 * UIProcess/API/APIProcessPoolConfiguration.h:
1560 Keep track of whether the process pool should have a data store.
1562 * UIProcess/API/C/WKContext.cpp:
1563 (WKContextGetWebsiteDataStore):
1564 * UIProcess/WebKeyValueStorageManager.cpp:
1565 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
1566 (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
1567 (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
1568 (WebKit::WebKeyValueStorageManager::deleteAllEntries):
1569 Update now that WebProcessPool::dataStore() no longer returns a reference.
1571 * UIProcess/WebProcessPool.cpp:
1572 (WebKit::WebProcessPool::WebProcessPool):
1573 Only create a data store if the configuration states that we should.
1575 * UIProcess/WebProcessPool.h:
1576 Change dataStore() to return a pointer instead of a reference.
1578 2015-05-13 Alexey Proskuryakov <ap@apple.com>
1580 [Mac] Sandbox violation reading SubmitDiagInfo.domains
1581 https://bugs.webkit.org/show_bug.cgi?id=144962
1582 rdar://problem/20719330
1584 Reviewed by Darin Adler.
1586 * WebProcess/com.apple.WebProcess.sb.in:
1588 2015-05-13 Beth Dakin <bdakin@apple.com>
1590 Speculative build fix.
1592 * UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h:
1594 2015-05-13 Michael Catanzaro <mcatanzaro@igalia.com>
1596 [GTK][CMake] Extra include directory when libnotify is present but disabled
1597 https://bugs.webkit.org/show_bug.cgi?id=144941
1599 Reviewed by Martin Robinson.
1601 Add LIBNOTIFY_INCLUDE_DIRS to WebKit2_INCLUDE_DIRECTORIES only if USE_LIBNOTIFY is true,
1602 rather than checking LIBNOTIFY_FOUND.
1604 * PlatformGTK.cmake:
1606 2015-05-13 Beth Dakin <bdakin@apple.com>
1608 Need SPI to set the overlay scroll bar style
1609 https://bugs.webkit.org/show_bug.cgi?id=144928
1611 rdar://problem/20143614
1613 Reviewed by Anders Carlsson.
1615 Make scrollbarOverlayStyle a part of the creation parameters.
1616 * Shared/WebPageCreationParameters.cpp:
1617 (WebKit::WebPageCreationParameters::encode):
1618 (WebKit::WebPageCreationParameters::decode):
1619 * Shared/WebPageCreationParameters.h:
1622 * UIProcess/API/Cocoa/WKViewPrivate.h:
1623 * UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h: Added.
1624 * UIProcess/API/mac/WKView.mm:
1625 (-[WKView _setOverlayScrollbarStyle:]):
1626 (-[WKView _overlayScrollbarStyle]):
1628 Store m_scrollbarOverlayStyle on WebPageProxy, and set it to the WebProcess.
1629 * UIProcess/WebPageProxy.cpp:
1630 (WebKit::WebPageProxy::WebPageProxy):
1631 (WebKit::WebPageProxy::creationParameters):
1632 (WebKit::WebPageProxy::setOverlayScrollbarStyle):
1633 * UIProcess/WebPageProxy.h:
1634 (WebKit::WebPageProxy::overlayScrollbarStyle):
1635 * WebKit2.xcodeproj/project.pbxproj:
1637 Return WebPage’s scrollbarOverlayStyle().
1638 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1639 (WebKit::WebChromeClient::preferredScrollbarOverlayStyle):
1640 * WebProcess/WebCoreSupport/WebChromeClient.h:
1642 Cache the scrollbarOverlayStyle() here for the WebProcess.
1643 * WebProcess/WebPage/WebPage.cpp:
1644 (WebKit::WebPage::WebPage):
1645 (WebKit::WebPage::setScrollbarOverlayStyle):
1646 * WebProcess/WebPage/WebPage.h:
1647 (WebKit::WebPage::scrollbarOverlayStyle):
1648 * WebProcess/WebPage/WebPage.messages.in:
1650 2015-05-13 Anders Carlsson <andersca@apple.com>
1652 Rename some StorageManager functions to indicate that they work on local storage entries
1653 https://bugs.webkit.org/show_bug.cgi?id=144958
1654 First part of rdar://problem/10690447.
1656 Reviewed by Beth Dakin.
1658 * UIProcess/Storage/StorageManager.cpp:
1659 (WebKit::StorageManager::getLocalStorageOrigins):
1660 (WebKit::StorageManager::getLocalStorageDetailsByOrigin):
1661 (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin):
1662 (WebKit::StorageManager::deleteAllLocalStorageEntries):
1663 (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins):
1664 (WebKit::StorageManager::getOrigins): Deleted.
1665 (WebKit::StorageManager::getStorageDetailsByOrigin): Deleted.
1666 (WebKit::StorageManager::deleteEntriesForOrigin): Deleted.
1667 (WebKit::StorageManager::deleteAllEntries): Deleted.
1668 (WebKit::StorageManager::deleteEntriesForOrigins): Deleted.
1669 * UIProcess/Storage/StorageManager.h:
1670 * UIProcess/WebKeyValueStorageManager.cpp:
1671 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
1672 (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
1673 (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
1674 (WebKit::WebKeyValueStorageManager::deleteAllEntries):
1675 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1676 (WebKit::WebsiteDataStore::fetchData):
1677 (WebKit::WebsiteDataStore::removeData):
1679 2015-05-13 Joseph Pecoraro <pecoraro@apple.com>
1681 Crash under WebKit::WebInspectorProxy::attachAvailabilityChanged sometimes opening new page
1682 https://bugs.webkit.org/show_bug.cgi?id=144957
1684 Reviewed by Simon Fraser.
1686 * UIProcess/WebInspectorProxy.cpp:
1687 (WebKit::WebInspectorProxy::attachAvailabilityChanged):
1689 2015-05-13 Joseph Pecoraro <pecoraro@apple.com>
1691 Pass String as reference in more places
1692 https://bugs.webkit.org/show_bug.cgi?id=144769
1694 Reviewed by Daniel Bates.
1696 * WebProcess/WebPage/WebInspectorUI.cpp:
1697 (WebKit::WebInspectorUI::showMainResourceForFrame):
1698 * WebProcess/WebPage/WebInspectorUI.h:
1700 2015-05-13 Timothy Horton <timothy_horton@apple.com>
1702 View scale changes are temporarily lost after restoring a page from the page cache
1703 https://bugs.webkit.org/show_bug.cgi?id=144934
1705 Reviewed by Brady Eidson.
1707 * WebProcess/WebPage/WebPage.cpp:
1708 (WebKit::WebPage::WebPage):
1709 (WebKit::WebPage::scalePage):
1710 (WebKit::WebPage::scalePageInViewCoordinates):
1711 (WebKit::WebPage::pageScaleFactor):
1712 (WebKit::WebPage::viewScaleFactor):
1713 (WebKit::WebPage::scaleView):
1714 * WebProcess/WebPage/WebPage.h:
1715 (WebKit::WebPage::viewScaleFactor): Deleted.
1716 Get rid of m_viewScaleFactor, instead using Page::viewScaleFactor.
1718 2015-05-13 Sungmann Cho <sungmann.cho@navercorp.com>
1720 Minor cleanups to PluginProxy.cpp.
1721 https://bugs.webkit.org/show_bug.cgi?id=144948
1723 Reviewed by Gyuyoung Kim.
1725 1. Remove unnecessary #include.
1726 2. Remove unnecessary return statement from PluginProxy::paint().
1728 No new tests, no behavior change.
1730 * WebProcess/Plugins/PluginProxy.cpp:
1731 (WebKit::PluginProxy::paint):
1733 2015-05-13 Daegyu Lee <daegyu.lee@navercorp.com>
1735 REGRESSION(r176631): [EFL] Fullscreen feature doesn't work correctly on MiniBrowser
1736 https://bugs.webkit.org/show_bug.cgi?id=144906
1738 Reviewed by Gyuyoung Kim.
1740 * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
1741 (WebKit::PageViewportController::updateMinimumScaleToFit): Recover the r176631 condition to
1742 call applyScaleAfterRenderingContents function to apply correct scale.
1744 2015-05-12 Dan Bernstein <mitz@apple.com>
1746 In Safari, Debug > Get Bytecode Profile crashes the Web Content process
1747 https://bugs.webkit.org/show_bug.cgi?id=144944
1749 Reviewed by Darin Adler.
1751 * WebProcess/WebPage/WebPage.cpp:
1752 (WebKit::WebPage::getBytecodeProfile): Don’t assert that m_perBytecodeProfiler isn’t null,
1753 because it is when the profiler is disabled, which is the default. In that case, return
1754 after sending back the empty string, rather than continuing to dereference a null pointer.
1756 2015-05-12 Jon Honeycutt <jhoneycutt@apple.com>
1758 Crash when using <input type=file>
1760 <https://bugs.webkit.org/show_bug.cgi?id=144939>
1761 <rdar://problem/20172315>
1763 Reviewed by Andy Estes.
1765 * UIProcess/ios/forms/WKFileUploadPanel.mm:
1766 Use a RefPtr to hold the WebOpenPanelResultListenerProxy, because the
1767 WKFileUploadPanel can outlive it.
1769 2015-05-12 Simon Fraser <simon.fraser@apple.com>
1771 Turn antialiased font dilation off by default
1772 https://bugs.webkit.org/show_bug.cgi?id=144940
1773 rdar://problem/20923031
1775 Reviewed by Sam Weinig.
1777 Turn antialised font dilation off by default.
1779 * Shared/WebPreferencesDefinitions.h:
1780 * UIProcess/API/C/WKPreferencesRefPrivate.h:
1782 2015-05-12 Daniel Bates <dabates@apple.com>
1784 Make {Network, Web}ProcessProxy inherit from ProcessThrottleClient privately
1785 https://bugs.webkit.org/show_bug.cgi?id=144886
1787 Reviewed by Darin Adler.
1789 {Network, Web}ProcessProxy are implemented in terms of ProcessThrottleClient, an
1790 interface that defines the callbacks that ProcessThrottler makes to a client. We
1791 do not want to allow arbitrary callers to make use of the interface ProcessThrottleClient.
1792 So, we should use private inheritance to represent the relationship between
1793 {Network, Web}ProcessProxy and ProcessThrottleClient instead of public inheritance.
1795 Additionally make ProcessThrottler a instance variable of {Network, Web}ProcessProxy instead
1796 of holding a smart pointer to a ProcessThrottler instance because we always want to
1797 have a ProcessThrottler for each instance of {Network, Web}ProcessProxy.
1799 * UIProcess/Network/NetworkProcessProxy.cpp:
1800 (WebKit::NetworkProcessProxy::NetworkProcessProxy): Update code to work now that m_throttler
1801 is an instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
1802 (WebKit::NetworkProcessProxy::didFinishLaunching): Update code to access functions of
1803 m_throttler by reference instead of by pointer.
1804 (WebKit::NetworkProcessProxy::didCancelProcessSuspension): Ditto.
1805 (WebKit::NetworkProcessProxy::processReadyToSuspend): Ditto.
1806 (WebKit::NetworkProcessProxy::setIsHoldingLockedFiles): Ditto.
1807 * UIProcess/Network/NetworkProcessProxy.h: Inherit from ProcessThrottleClient privately.
1808 (WebKit::NetworkProcessProxy::throttler): Update code to work now that m_throttler is an
1809 instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
1810 * UIProcess/ProcessThrottler.cpp:
1811 (WebKit::ProcessThrottler::ProcessThrottler): Update code to work now that m_process is
1812 a lvalue reference instead of a pointer.
1813 (WebKit::ProcessThrottler::updateAssertion): Ditto.
1814 (WebKit::ProcessThrottler::assertionWillExpireImminently): Ditto.
1815 * UIProcess/ProcessThrottler.h: Ditto.
1816 * UIProcess/WebProcessProxy.cpp:
1817 (WebKit::WebProcessProxy::WebProcessProxy): Update code to work now that m_throttler is an
1818 instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
1819 (WebKit::WebProcessProxy::didFinishLaunching): Update code to access functions of
1820 m_throttler by reference instead of by pointer.
1821 (WebKit::WebProcessProxy::processReadyToSuspend): Ditto.
1822 (WebKit::WebProcessProxy::didCancelProcessSuspension): Ditto.
1823 (WebKit::WebProcessProxy::setIsHoldingLockedFiles): Ditto.
1824 * UIProcess/WebProcessProxy.h: Inherit from ProcessThrottleClient privately.
1825 (WebKit::WebProcessProxy::throttler): Update code to work now that m_throttler is an
1826 instance of ProcessThrottler instead of a smart pointer to a ProcessThrottler instance.
1828 2015-05-12 Anders Carlsson <andersca@apple.com>
1830 Production builds should link against the shims directly
1831 https://bugs.webkit.org/show_bug.cgi?id=144922
1832 rdar://problem/19708579
1834 Reviewed by Dan Bernstein.
1836 * Configurations/NetworkService.xcconfig:
1837 Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
1838 Link directly against SecItemShim.dylib where possible.
1840 * Configurations/PluginProcessShim.xcconfig:
1841 Set the install name and install path.
1843 * Configurations/PluginService.32.xcconfig:
1844 Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
1845 Link directly against PluginProcessShim.dylib where possible.
1847 * Configurations/PluginService.64.xcconfig:
1848 Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
1849 Link directly against PluginProcessShim.dylib where possible.
1851 * Configurations/SecItemShim.xcconfig:
1852 Set the install name and install path.
1854 * Configurations/WebContentService.xcconfig:
1855 Point to an Info.plist that has DYLD_INSERT_LIBRARIES set on 10.10 and earlier.
1856 Link directly against WebProcessShim.dylib where possible.
1858 * Configurations/WebProcessShim.xcconfig:
1859 Set the install name and install path.
1861 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist.
1862 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
1863 Add an Info.plist for 10.9 and 10.10 and remove DYLD_INSERT_LIBRARIES from the non-legacy plist.
1865 * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Copied from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist.
1866 * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
1867 Add an Info.plist for 10.9 and 10.10 and remove DYLD_INSERT_LIBRARIES from the non-legacy plist.
1869 * WebKit2.xcodeproj/project.pbxproj:
1872 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist.
1873 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
1874 Add an Info.plist for 10.9 and 10.10 and remove DYLD_INSERT_LIBRARIES from the non-legacy plist.
1876 2015-05-12 Alexey Proskuryakov <ap@apple.com>
1878 Undo a mistaken part of r184211.
1880 * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::cookieStorageDirectory):
1881 * UIProcess/WebProcessPool.h:
1882 cookieStorageDirectory() is used on iOS, so bring it back.
1884 2015-05-08 Alexey Proskuryakov <ap@apple.com>
1886 [Mac] Share cookie storage between UI process and secondary processes
1887 https://bugs.webkit.org/show_bug.cgi?id=144820
1888 rdar://problem/20572830
1890 Reviewed by Darin Adler.
1892 Pass a cookie storage descriptor that includes file path as well as other data that
1893 CFNetwork needs to use the same cookies storage as in another process (session cookies
1894 are still separate).
1896 While at it, started to clean up code that passes cookie storage path. It was mostly
1897 dead and unimplemented, only used in child processes when USE(SECCOMP_FILTERS) was enabled.
1899 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1900 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
1901 * Shared/Network/NetworkProcessCreationParameters.cpp:
1902 (WebKit::NetworkProcessCreationParameters::encode):
1903 (WebKit::NetworkProcessCreationParameters::decode):
1904 * Shared/Network/NetworkProcessCreationParameters.h:
1905 * Shared/WebProcessCreationParameters.cpp:
1906 (WebKit::WebProcessCreationParameters::encode):
1907 (WebKit::WebProcessCreationParameters::decode):
1908 * Shared/WebProcessCreationParameters.h:
1909 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
1910 (WebKit::WebProcessPool::platformInitializeWebProcess):
1911 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
1912 (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
1913 * UIProcess/WebProcessPool.cpp:
1914 (WebKit::WebProcessPool::ensureNetworkProcess):
1915 (WebKit::WebProcessPool::createNewWebProcess):
1916 (WebKit::WebProcessPool::cookieStorageDirectory):
1917 * UIProcess/WebProcessPool.h:
1918 * UIProcess/efl/WebProcessPoolEfl.cpp:
1919 (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
1920 * UIProcess/gtk/WebProcessPoolGtk.cpp:
1921 (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
1922 * WebProcess/cocoa/WebProcessCocoa.mm:
1923 (WebKit::WebProcess::platformInitializeWebProcess):
1925 2015-05-12 Chris Dumez <cdumez@apple.com>
1927 [WK2] Log using diagnostic logging how far back in history we navigate
1928 https://bugs.webkit.org/show_bug.cgi?id=144919
1929 <rdar://problem/20920043>
1931 Reviewed by Gavin Barraclough.
1933 Log using diagnostic logging how far back in history we navigate.
1934 When a back navigation or a backward indexed navigation occurs, we
1935 log the delta: (HistoryListSize - 1) - NewHistoryItemIndex.
1937 * UIProcess/WebBackForwardList.cpp:
1938 (WebKit::WebBackForwardList::goToItem):
1940 2015-05-11 Sam Weinig <sam@webkit.org>
1942 ChildProcess should take an os_activity
1943 https://bugs.webkit.org/show_bug.cgi?id=141781
1945 Reviewed by Ryosuke Niwa.
1947 * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
1948 (DatabaseServiceInitializer):
1949 * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
1950 (NetworkServiceInitializer):
1951 * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
1952 (PluginServiceInitializer):
1953 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
1954 (WebContentServiceInitializer):
1955 Start an os_activity in the initializer for each XPC service.
1958 Add HAVE_OS_ACTIVITY where available.
1960 2015-05-12 Carlos Garcia Campos <cgarcia@igalia.com>
1962 Unreviewed. Fix GTK+ debug build after r184197.
1964 * UIProcess/gtk/RedirectedXCompositeWindow.cpp: Add missing include.
1966 2015-05-08 Carlos Garcia Campos <cgarcia@igalia.com>
1968 [X11] Add XUniquePtr and XUniqueResource to automatically free X resources
1969 https://bugs.webkit.org/show_bug.cgi?id=144521
1971 Reviewed by Darin Adler.
1973 Use XUniquePtr and XUniqueResource to free X resources.
1975 * PlatformEfl.cmake: Add Source/WebCore/platform/graphics/x11 dir
1976 to the include dir list.
1977 * PlatformGTK.cmake: Ditto.
1978 * UIProcess/cairo/BackingStoreCairo.cpp:
1979 (WebKit::BackingStore::createBackend): Do not pass the display to
1980 the BackingStoreBackendCairoX11 constructor.
1981 * UIProcess/gtk/RedirectedXCompositeWindow.cpp:
1982 (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
1983 (WebKit::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
1984 (WebKit::RedirectedXCompositeWindow::resize):
1985 (WebKit::RedirectedXCompositeWindow::cleanupPixmapAndPixmapSurface):
1986 (WebKit::RedirectedXCompositeWindow::surface):
1987 * UIProcess/gtk/RedirectedXCompositeWindow.h:
1988 (WebKit::RedirectedXCompositeWindow::windowID):
1989 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1990 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1991 (WebKit::NetscapePlugin::platformPostInitializeWindowless):
1992 (WebKit::NetscapePlugin::platformDestroy):
1993 (WebKit::NetscapePlugin::platformGeometryDidChange):
1994 (WebKit::NetscapePlugin::platformPaint):
1996 2015-05-11 Dan Bernstein <mitz@apple.com>
1998 WebKit2 part of <rdar://problem/20878075> Trying to navigate to an invalid URL loads about:blank, but -[WKWebView URL] returns the invalid URL
2000 Reviewed by Alexey Proskuryakov.
2002 * UIProcess/WebPageProxy.cpp:
2003 (WebKit::WebPageProxy::didChangeProvisionalURLForFrame): Added. Update internal state the
2004 same way we update it for server redirects, but don’t make client callbacks. Clients
2005 observing the URL property will see it change.
2006 * UIProcess/WebPageProxy.h:
2008 * UIProcess/WebPageProxy.messages.in: Added DidChangeProvisionalURLForFrame.
2010 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2011 (WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL): Override this new
2012 FrameLoaderClient function to send a DidChangeProvisionalURLForFrame message to the UI
2014 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2016 2015-05-11 Dan Bernstein <mitz@apple.com>
2018 <rdar://problem/19773721> [iOS] Find on page feels like it zooms in too much
2019 https://bugs.webkit.org/show_bug.cgi?id=144891
2021 Reviewed by Darin Adler.
2023 Sometimes, Find on Page’s constant 1.6 scale factor is too much. Smart magnification is
2024 designed to choose a scale factor that is just right.
2026 * UIProcess/ios/SmartMagnificationController.h:
2027 * UIProcess/ios/SmartMagnificationController.messages.in: Added Magnify message.
2028 * UIProcess/ios/SmartMagnificationController.mm:
2029 (WebKit::SmartMagnificationController::magnify): Added. Handle the new message using
2030 -[WKContentView _soomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:].
2031 * WebProcess/WebPage/ios/FindControllerIOS.mm:
2032 (WebKit::FindController::updateFindIndicator): Instead of zooming to the selection rect,
2033 get the surrounding render rect (the area we would target for a double-tap at the beginning
2034 of the selection), and tell the magnification controller to target it. Use the center of the
2035 start of the selection as the origin.
2037 2015-05-11 Brent Fulgham <bfulgham@apple.com>
2039 Scroll snap logic should be triggered when resizing the WebView
2040 https://bugs.webkit.org/show_bug.cgi?id=142590
2041 <rdar://problem/20125088>
2043 Reviewed by Simon Fraser.
2045 * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
2046 (RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Modify use of 'closestSnapOffset' to satisfy the additional
2047 argument I added. This is currently not used for anything on iOS.
2048 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: Ditto.
2050 2015-05-11 Andreas Kling <akling@apple.com>
2052 Force a rebuild of JSNPObject.cpp on bots.
2054 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2055 (WebKit::JSNPObject::callMethod):
2057 2015-05-11 Anders Carlsson <andersca@apple.com>
2059 Simplify shim path computation
2060 https://bugs.webkit.org/show_bug.cgi?id=144884
2061 Part of rdar://problem/19708579.
2063 Reviewed by Sam Weinig.
2065 Factor the code that computes the shim path out into a separate function. Also make this mac only
2066 since we don't have any shims on iOS.
2068 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2069 (WebKit::computeProcessShimPath):
2070 (WebKit::addDYLDEnvironmentAdditions):
2072 2015-05-11 Myles C. Maxfield <mmaxfield@apple.com>
2074 Unreviewed build fix
2078 * UIProcess/API/APIUserContentExtensionStore.cpp:
2079 (API::compiledToFile):
2081 2015-05-11 Alex Christensen <achristensen@webkit.org>
2083 [Content Extensions] Support domain-specific rules and exceptions.
2084 https://bugs.webkit.org/show_bug.cgi?id=144833
2086 Reviewed by Darin Adler.
2088 * Shared/WebCompiledContentExtension.cpp:
2089 (WebKit::WebCompiledContentExtension::filtersWithoutDomainsBytecode):
2090 (WebKit::WebCompiledContentExtension::filtersWithoutDomainsBytecodeLength):
2091 (WebKit::WebCompiledContentExtension::filtersWithDomainsBytecode):
2092 (WebKit::WebCompiledContentExtension::filtersWithDomainsBytecodeLength):
2093 (WebKit::WebCompiledContentExtension::domainFiltersBytecode):
2094 (WebKit::WebCompiledContentExtension::domainFiltersBytecodeLength):
2095 (WebKit::WebCompiledContentExtension::bytecode): Deleted.
2096 (WebKit::WebCompiledContentExtension::bytecodeLength): Deleted.
2097 * Shared/WebCompiledContentExtension.h:
2098 * Shared/WebCompiledContentExtensionData.cpp:
2099 (WebKit::WebCompiledContentExtensionData::encode):
2100 (WebKit::WebCompiledContentExtensionData::decode):
2101 * Shared/WebCompiledContentExtensionData.h:
2102 (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData):
2103 * UIProcess/API/APIUserContentExtensionStore.cpp:
2104 (API::ContentExtensionMetaData::fileSize):
2105 (API::encodeContentExtensionMetaData):
2106 (API::decodeContentExtensionMetaData):
2107 (API::compiledToFile):
2108 (API::createExtension):
2109 Keep track of 3 different types of bytecode to be able to handle domain-specific rules.
2111 2015-05-11 Tim Horton <timothy_horton@apple.com>
2113 Page overlay action context override should indicate the source of the request
2114 https://bugs.webkit.org/show_bug.cgi?id=144832
2115 <rdar://problem/20562594>
2117 Reviewed by Darin Adler.
2119 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
2120 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
2121 * WebProcess/WebPage/WebPageOverlay.cpp:
2122 (WebKit::WebPageOverlay::actionContextForResultAtPoint):
2123 * WebProcess/WebPage/WebPageOverlay.h:
2124 (WebKit::WebPageOverlay::Client::actionContextForResultAtPoint):
2125 * WebProcess/WebPage/mac/WebPageMac.mm:
2126 (WebKit::WebPage::performActionMenuHitTestAtLocation):
2127 Add a parameter to WKBundlePageOverlayActionContextForResultAtPoint so that
2128 clients can tell whether the requested action context should be targetted
2129 at an action menu or immediate action.
2131 2015-05-11 Daniel Bates <dabates@apple.com>
2133 [iOS] Close all open databases in expiration handler of process assertion
2134 https://bugs.webkit.org/show_bug.cgi?id=144661
2135 <rdar://problem/20845052>
2137 Reviewed by Darin Adler.
2139 For WebKit2, close all open databases when the process assertion expiration
2142 When the process assertion expiration handler is called we dispatch a synchronous
2143 message called ProcessWillSuspendImminently to the {Web, Network} processes to inform
2144 them that they will be suspended imminently. The {Web, Network} process will always
2145 service this message regardless if they were waiting for another message. In the
2146 WebProcess, we will close all open databases among other tasks upon receiving this
2147 message. In the NetworkProcess, we will purge some data from memory.
2149 * NetworkProcess/NetworkProcess.cpp:
2150 (WebKit::NetworkProcess::didReceiveSyncMessage): Modified to call NetworkProcess::didReceiveSyncNetworkProcessMessage()
2151 to process the synchronous ProcessWillSuspendImminently message.
2152 (WebKit::NetworkProcess::processWillSuspendImminently): Added; free some memory.
2153 * NetworkProcess/NetworkProcess.h:
2154 * NetworkProcess/NetworkProcess.messages.in: Added synchronous message ProcessWillSuspendImminently.
2155 * Shared/ChildProcessProxy.h:
2156 (WebKit::ChildProcessProxy::sendSync): Added parameter sendSyncFlags so that we can send
2157 a sync message with flag IPC::InterruptWaitingIfSyncMessageArrives to cause the {Web, Network}Process
2158 to process the message regardless of whether it is waiting for another message.
2159 * UIProcess/Network/NetworkProcessProxy.cpp:
2160 (WebKit::NetworkProcessProxy::sendProcessWillSuspendImminently): Added. Sends the message
2161 ProcessWillSuspendImminently to the NetworkProcess.
2162 * UIProcess/Network/NetworkProcessProxy.h:
2163 * UIProcess/ProcessAssertion.cpp:
2164 (WebKit::ProcessAndUIAssertion::setClient): Added.
2165 * UIProcess/ProcessAssertion.h: Added abstract class ProcessAssertionClient.
2166 (WebKit::ProcessAssertionClient::~ProcessAssertionClient): Added.
2167 (WebKit::ProcessAssertion::setClient): Added.
2168 (WebKit::ProcessAssertion::client): Added.
2169 * UIProcess/ProcessThrottler.cpp:
2170 (WebKit::ProcessThrottler::didConnectToProcess):
2171 (WebKit::ProcessThrottler::assertionWillExpireImminently): Added; implements the ProcessAssertionClient
2172 interface. Notify the process throttler clients that the assertion is near expiration.
2173 * UIProcess/ProcessThrottler.h:
2174 * UIProcess/ProcessThrottlerClient.h: Added
2175 * UIProcess/WebProcessProxy.cpp:
2176 (WebKit::WebProcessProxy::sendProcessWillSuspendImminently): Added. Sends the message
2177 ProcessWillSuspendImminently to the WebProcess.
2178 * UIProcess/WebProcessProxy.h:
2179 * UIProcess/ios/ProcessAssertionIOS.mm:
2180 (-[WKProcessAssertionBackgroundTaskManager addClient:]): Added.
2181 (-[WKProcessAssertionBackgroundTaskManager removeClient:]): Added.
2182 (-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]): Modified expiration handler
2183 to notify ProcessAssertionClient clients that the assertion is near expiration.
2184 (WebKit::ProcessAssertion::~ProcessAssertion): Remove the client on destruction.
2185 (WebKit::ProcessAndUIAssertion::setClient): Added.
2186 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
2187 (WebKit::WebDatabaseManager::closeAllDatabases): Added; turns around and calls DatabaseManager::closeAllDatabases().
2188 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
2189 * WebProcess/WebProcess.cpp:
2190 (WebKit::WebProcess::didReceiveSyncMessage): Call WebProcess::didReceiveSyncWebProcessMessage() to process
2191 the synchronous ProcessWillSuspendImminently message. Removed logging for an unhandled synchronous message
2192 since WebProcess::didReceiveSyncWebProcessMessage() will ASSERT_NOT_REACHED() for such a message.
2193 (WebKit::WebProcess::prepareToSuspend): Extracted code from WebProcess::processWillSuspend() so that it can
2194 be used from both WebProcess::processWillSuspend() and WebProcess::processWillSuspendImminently(). And modified
2195 it to conditionally dispatch a ProcessReadyToSuspend message to the WebProcessProxy. We only want to dispatch
2196 such a message as part of a coordinated suspension by the ProcessThrottler. That is, we do not want to dispatch
2197 the ProcessReadyToSuspend message when the background assertion is near expiration (i.e. WebProcess::processWillSuspendImminently()
2199 (WebKit::WebProcess::processWillSuspendImminently): Added. Suspend all open databases among other tasks.
2200 (WebKit::WebProcess::processWillSuspend): Implemented in terms of WebProcess::prepareToSuspend().
2201 (WebKit::WebProcess::processSuspensionCleanupTimerFired): Modified to conditionally dispatch a ProcessReadyToSuspend
2202 message to the WebProcessProxy.
2203 (WebKit::WebProcess::processDidResume): Stop the suspension cleanup timer, which may be active if the WebProcess
2204 did not mark all its graphics layers as volatile before process suspension.
2205 * WebProcess/WebProcess.h:
2206 * WebProcess/WebProcess.messages.in: Added synchronous message ProcessWillSuspendImminently.
2208 2015-05-10 Gyuyoung Kim <gyuyoung.kim@webkit.org>
2210 Use Ref instead of PassRefPtr in WebCore/page
2211 https://bugs.webkit.org/show_bug.cgi?id=144841
2213 Reviewed by Darin Adler.
2215 To kill PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr
2218 (WebKit::WebUserContentController::WebUserContentController):
2219 * UIProcess/WebPageProxy.cpp:
2220 (WebKit::WebPageProxy::setTextIndicator):
2221 * UIProcess/mac/PageClientImpl.mm:
2222 (WebKit::PageClientImpl::didPerformDictionaryLookup):
2223 * WebProcess/UserContent/WebUserContentController.cpp:
2224 (WebKit::WebUserContentController::WebUserContentController):
2226 2015-05-10 Philip Chimento <philip.chimento@gmail.com>
2228 [GTK][SOUP] Web and Network processes don't know how to get memory size on OSX
2229 https://bugs.webkit.org/show_bug.cgi?id=144554
2231 Reviewed by Darin Adler.
2233 * NetworkProcess/soup/NetworkProcessSoup.cpp:
2234 (WebKit::NetworkProcess::platformSetCacheModel): Use WTF::ramSize()
2235 instead of local function. Also use WTF::MB instead of dividing by
2237 (WebKit::getMemorySize): Deleted.
2238 * WebProcess/soup/WebProcessSoup.cpp:
2239 (WebKit::WebProcess::platformSetCacheModel): Ditto.
2240 (WebKit::getMemorySize): Deleted.
2242 2015-05-10 Yongjun Zhang <yongjun_zhang@apple.com>
2244 Use preview view controller from WebKitSystemInterface.
2245 https://bugs.webkit.org/show_bug.cgi?id=144836
2247 Add a property _allowsLinkPreview to WKWebView so that we can turn on/off preview at runtime. Also,
2248 for client that doesn't provide preview view controller, use the default view controller prepared
2249 by WebKitSystemInterface.
2251 Reviewed by Dan Bernstein.
2253 * UIProcess/API/Cocoa/WKWebView.mm:
2254 (-[WKWebView initWithFrame:configuration:]):
2255 (-[WKWebView _allowsLinkPreview]):
2256 (-[WKWebView _setAllowsLinkPreview:]):
2257 * UIProcess/API/Cocoa/WKWebViewPrivate.h: Add _allowsLinkPreview property
2258 * UIProcess/ios/WKContentView.mm:
2259 (-[WKContentView willMoveToWindow:]):
2260 * UIProcess/ios/WKContentViewInteraction.h:
2261 * UIProcess/ios/WKContentViewInteraction.mm:
2262 (-[WKContentView _registerPreviewInWindow:]):
2263 (-[WKContentView _unregisterPreviewInWindow:]):
2264 (-[WKContentView previewViewControllerForPosition:inSourceView:]): : For client that doesn't provide
2265 preview delegate, use preview view controller in WebKitSystemInterface.
2266 (-[WKContentView commitPreviewViewController:]):
2268 2015-05-10 Darin Adler <darin@apple.com>
2270 Fix internal Apple builds on Mavericks.
2272 * UIProcess/API/mac/WKView.mm:
2273 (-[WKView _dismissContentRelativeChildWindows]): Added missing conditionals around
2274 some code that is for OS X 10.10 or newer only. There were similar conditionals around
2275 other nearby code in this file, and around other uses of the same method in other files,
2276 so matched the style.
2278 2015-05-10 Dan Bernstein <mitz@apple.com>
2280 iOS internal build fix.
2282 * Platform/mac/MenuUtilities.mm:
2284 2015-05-10 Sungmann Cho <sungmann.cho@navercorp.com>
2286 Remove unnecessary semicolons.
2287 https://bugs.webkit.org/show_bug.cgi?id=144844
2289 Reviewed by Darin Adler.
2291 No new tests, no behavior change.
2293 * Shared/Downloads/mac/DownloadMac.mm:
2294 (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
2295 * UIProcess/WebProcessProxy.cpp:
2296 (WebKit::WebProcessProxy::transformHandlesToObjects):
2297 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
2298 (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
2299 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2300 (WebKit::idToHistoryItemMap):
2302 2015-05-10 Darin Adler <darin@apple.com>
2306 * Platform/mac/MenuUtilities.mm: Added includes that were somehow omitted in what
2309 2015-05-10 Darin Adler <darin@apple.com>
2311 [Cocoa] Don't soft link DataDetectorsCore
2312 https://bugs.webkit.org/show_bug.cgi?id=144837
2314 Reviewed by Dan Bernstein.
2316 * Platform/mac/MenuUtilities.mm: Use DataDetectorsSPI.h instead of doing it here.
2318 * WebProcess/WebPage/mac/WebPageMac.mm: Removed unneeded include of unused header,
2321 2015-05-09 Dan Bernstein <mitz@apple.com>
2323 Deployment-target __NSi_ and __NSd_ definitions in WKFoundation.h are redundant
2324 https://bugs.webkit.org/show_bug.cgi?id=144831
2326 Reviewed by Sam Weinig.
2328 Reverted r182846 and r182904.
2330 * Shared/API/Cocoa/WKFoundation.h:
2331 * WebKit2.xcodeproj/project.pbxproj:
2333 2015-05-09 Yoav Weiss <yoav@yoav.ws>
2335 Remove the PICTURE_SIZES build flag
2336 https://bugs.webkit.org/show_bug.cgi?id=144679
2338 Reviewed by Benjamin Poulain.
2340 Removed the PICTURE_SIZES build time flag.
2342 * Configurations/FeatureDefines.xcconfig:
2344 2015-05-08 Beth Dakin <bdakin@apple.com>
2346 Shuffle touch-related code to keep the internal builds working
2347 https://bugs.webkit.org/show_bug.cgi?id=144812
2349 Reviewed by Benjamin Poulain.
2351 * Shared/NativeWebTouchEvent.h:
2352 * Shared/WebEvent.h:
2353 * Shared/WebEventConversion.cpp:
2354 * Shared/ios/NativeWebTouchEventIOS.mm:
2355 (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
2356 (WebKit::extractWebTouchPoint): Deleted.
2357 * Shared/ios/WebPlatformTouchPointIOS.cpp:
2359 2015-05-08 Dan Bernstein <mitz@apple.com>
2361 <rdar://problem/20757196> NSInternalInconsistencyException raised in -[NSString encodeWithCoder:] beneath createEncodedObject when using WKRemoteObjectEncoder for Safari AutoFill
2362 https://bugs.webkit.org/show_bug.cgi?id=144818
2364 Reviewed by Anders Carlsson.
2366 Allow NSString instances that contain unpaired surrogates to be encoded by
2367 WKRemoteObjectCoder by encoding them directly rather than using
2368 -[NSString encodeWithCoder:].
2370 * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2371 (encodeString): Added. Sets an API::String as the object to encode.
2372 (encodeObject): Changed to use encodeString for NSString instances.
2373 (decodeString): Added. Gets an API::String from the dictionary and returns it as an
2375 (decodeObject): Changed to use decodeString for NSString instances.
2377 2015-05-08 Timothy Horton <timothy_horton@apple.com>
2381 * Platform/mac/LayerHostingContext.mm:
2382 (WebKit::LayerHostingContext::createFencePort):
2384 2015-05-08 Timothy Horton <timothy_horton@apple.com>
2386 Periodically repaint during resize while using the DynamicSizeWithMinimumViewSize layout strategy
2387 https://bugs.webkit.org/show_bug.cgi?id=144816
2389 Reviewed by Simon Fraser.
2391 * UIProcess/mac/WKViewLayoutStrategy.mm:
2392 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]):
2393 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy _updateTransientScale:]):
2394 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
2395 Factor out _updateTransientScale from updateLayout.
2396 Keep track of the last viewScaleFactor that we know is being displayed
2397 (_lastCommittedViewScale) and use that for computing the transient scale,
2398 so that we can recompute the transient scale while the UI process's notion
2399 of the actual view scale might have moved ahead of what the Web process has
2402 2015-05-08 Timothy Horton <timothy_horton@apple.com>
2406 * UIProcess/WebPageProxy.cpp:
2408 2015-05-08 Timothy Horton <timothy_horton@apple.com>
2412 * Platform/mac/LayerHostingContext.mm:
2413 (WebKit::LayerHostingContext::createFencePort):
2415 2015-05-08 Timothy Horton <timothy_horton@apple.com>
2419 * Platform/mac/LayerHostingContext.mm:
2420 (WebKit::LayerHostingContext::createFencePort):
2422 2015-05-08 Timothy Horton <timothy_horton@apple.com>
2424 Flip the direction of the fence in scaleViewAndUpdateGeometryFenced
2425 https://bugs.webkit.org/show_bug.cgi?id=144810
2427 Reviewed by Simon Fraser.
2429 Send the fence from the Web process to the UI process, instead of vice versa.
2430 This means that we won't keep the UI process CAContext blocked for the whole
2431 time that the Web process is doing layout/painting/etc. Instead, we'll start
2432 blocking the Web process CAContext immediately after flushing and before committing,
2433 and send the fence to the UI process to be applied immediately. This minimizes
2434 the amount of time in both processes spent blocked on the fence.
2436 * Platform/mac/LayerHostingContext.h:
2437 * Platform/mac/LayerHostingContext.mm:
2438 (WebKit::LayerHostingContext::createFencePort):
2439 Add createFencePort, which creates a MachSendRight wrapping a CA fence port.
2440 Note that you must setFencePort() with this port if you want the LayerHostingContext's
2441 CAContext to block on it!
2443 * UIProcess/WebPageProxy.cpp:
2444 (WebKit::WebPageProxy::scaleViewAndUpdateGeometryFenced):
2445 (WebKit::WebPageProxy::machSendRightCallback):
2446 * UIProcess/WebPageProxy.h:
2447 * UIProcess/WebPageProxy.messages.in:
2448 Create a callback and send it to the Web process along with scaleViewAndUpdateGeometryFenced.
2450 * UIProcess/mac/WKViewLayoutStrategy.mm:
2451 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
2452 When called back, install the fence port in our CAContext; when the commit goes through,
2453 remove the transient scale as we did previously.
2455 * WebProcess/WebPage/DrawingArea.h:
2456 (WebKit::DrawingArea::replyWithFenceAfterNextFlush):
2457 (WebKit::DrawingArea::updateGeometry): Deleted.
2458 * WebProcess/WebPage/WebPage.cpp:
2459 (WebKit::WebPage::scaleViewAndUpdateGeometryFenced):
2460 * WebProcess/WebPage/WebPage.h:
2461 * WebProcess/WebPage/WebPage.messages.in:
2462 Instead of installing a fence created in the UI process, tell the DrawingArea
2463 to create one and reply to the UI process with it after the next flush.
2465 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2466 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2467 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2468 (WebKit::TiledCoreAnimationDrawingArea::replyWithFenceAfterNextFlush):
2469 After flushing, before committing, create a fence and reply to any
2470 callbacks that requested fences, and install it in our context.
2472 2015-05-08 Michael Catanzaro <mcatanzaro@igalia.com>, Martin Robinson <mrobinson@igalia.com>
2474 [GTK] Checks for DEVELOPMENT_BUILD are all wrong
2475 https://bugs.webkit.org/show_bug.cgi?id=144746
2477 Reviewed by Carlos Garcia Campos.
2479 Use ENABLE(DEVELOPER_MODE) rather than DEVELOPMENT_BUILD.
2481 * Shared/gtk/ProcessExecutablePathGtk.cpp:
2482 (WebKit::findWebKitProcess):
2483 * UIProcess/API/gtk/WebKitWebContext.cpp:
2484 (injectedBundleDirectory):
2485 * UIProcess/gtk/TextCheckerGtk.cpp:
2486 (WebKit::enchantTextChecker):
2488 2015-05-08 Anders Carlsson <andersca@apple.com>
2490 Fix ProcessLauncher port leak
2491 https://bugs.webkit.org/show_bug.cgi?id=144807
2492 rdar://problem/20593291
2494 Reviewed by Sam Weinig.
2496 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2497 (WebKit::connectToService):
2498 xpc_dictionary_set_mach_send increments the send right count so make sure to
2499 balance it with a call to mach_port_deallocate.
2501 2015-05-08 Beth Dakin <bdakin@apple.com>
2503 Fix performance tests after r183954
2504 https://bugs.webkit.org/show_bug.cgi?id=144805
2506 Reviewed by Alexey Proskuryakov.
2508 Web* is traditionally a WK1 prefix, so use the WK2 prefix instead in WK2 so that
2509 we don’t have two classes with the same name in the two projects.
2510 * UIProcess/mac/WKImmediateActionController.mm:
2511 (-[WKImmediateActionController _defaultAnimationController]):
2513 2015-05-08 Carlos Garcia Campos <cgarcia@igalia.com>
2515 [GTK] Expose allowFileAccessFromFileURLs setting to WebKit2 GTK+ API
2516 https://bugs.webkit.org/show_bug.cgi?id=144748
2518 Reviewed by Sergio Villar Senin.
2520 This is needed by local applications loaded as a file URI that do XMLHttpRequests.
2522 * UIProcess/API/gtk/WebKitSettings.cpp:
2523 (webKitSettingsSetProperty):
2524 (webKitSettingsGetProperty):
2525 (webkit_settings_class_init):
2526 (webkit_settings_get_allow_file_access_from_file_urls):
2527 (webkit_settings_set_allow_file_access_from_file_urls):
2528 * UIProcess/API/gtk/WebKitSettings.h:
2529 * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
2530 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
2532 2015-05-08 Andreas Kling <akling@apple.com>
2534 Optimize serialization of quoted JSON strings.
2535 <https://webkit.org/b/144754>
2537 Reviewed by Darin Adler.
2539 * NetworkProcess/cache/NetworkCacheEntry.cpp:
2540 (WebKit::NetworkCache::Entry::asJSON): Use the new StringBuilder API.
2542 2015-05-08 Commit Queue <commit-queue@webkit.org>
2544 Unreviewed, rolling out r183945.
2545 https://bugs.webkit.org/show_bug.cgi?id=144789
2547 "It broke all the GTK+ tests" (Requested by KaL on #webkit).
2551 "[GTK] Checks for DEVELOPMENT_BUILD are all wrong"
2552 https://bugs.webkit.org/show_bug.cgi?id=144746
2553 http://trac.webkit.org/changeset/183945
2555 2015-05-07 Conrad Shultz <conrad_shultz@apple.com>
2557 Don't register for Lookup notifications until needed
2558 https://bugs.webkit.org/show_bug.cgi?id=144783
2560 Reviewed by Tim Horton.
2562 * UIProcess/API/mac/WKView.mm:
2563 Add a WKViewData ivar to track whether we've already registered for popover notifications.
2564 (-[WKView _prepareForDictionaryLookup]):
2565 Added; moved notification registration from -[WKView initWithFrame:processPool:configuration:webView:.
2566 (-[WKView initWithFrame:processPool:configuration:webView:]):
2567 Move notification registration to -_prepareForDictionaryLookup.
2569 * UIProcess/API/mac/WKViewInternal.h:
2570 Expose -_prepareForDictionaryLookup.
2572 * UIProcess/mac/PageClientImpl.mm:
2573 (WebKit::PageClientImpl::didPerformDictionaryLookup):
2574 Send -[WKView _prepareForDictionaryLookup].
2576 * UIProcess/mac/WKImmediateActionController.mm:
2577 (-[WKImmediateActionController _animationControllerForText]):
2580 2015-05-07 Commit Queue <commit-queue@webkit.org>
2582 Unreviewed, rolling out r183961.
2583 https://bugs.webkit.org/show_bug.cgi?id=144784
2585 Broke js/dom/JSON-stringify.html (Requested by kling on
2590 "Optimize serialization of quoted JSON strings."
2591 https://bugs.webkit.org/show_bug.cgi?id=144754
2592 http://trac.webkit.org/changeset/183961
2594 2015-05-07 Anders Carlsson <andersca@apple.com>
2598 * UIProcess/API/mac/WKView.mm:
2599 (-[WKView initWithFrame:processPool:configuration:webView:]):
2600 Use the regular init method.
2602 * UIProcess/mac/WKSharingServicePickerDelegate.mm:
2603 (-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
2604 * WebProcess/WebPage/mac/WebPageMac.mm:
2605 (WebKit::WebPage::handleSelectionServiceClick):
2606 Pass empty dictionaries instead of nil.
2608 2015-05-07 Chris Dumez <cdumez@apple.com>
2610 ASSERTION when pasting text into the WebInspector console
2611 https://bugs.webkit.org/show_bug.cgi?id=144774
2613 Reviewed by Ryosuke Niwa.
2615 Fix assertion in didChangeSelection() meant to check that calling
2616 editorState() does not cause a synchronous layout. The assertion
2617 was not correct as it was relying on FrameView::needsLayout() and
2618 we would hit it if calling editorState() would schedule a layout.
2619 Instead, the new assertion relies on FrameView::layoutCount(),
2620 which is more accurate.
2622 * WebProcess/WebPage/WebPage.cpp:
2623 (WebKit::WebPage::didChangeSelection):
2625 2015-05-07 Andreas Kling <akling@apple.com>
2627 Optimize serialization of quoted JSON strings.
2628 <https://webkit.org/b/144754>
2630 Reviewed by Darin Adler.
2632 * NetworkProcess/cache/NetworkCacheEntry.cpp:
2633 (WebKit::NetworkCache::Entry::asJSON): Use the new StringBuilder API.
2635 2015-05-07 Martin Robinson <mrobinson@igalia.com>
2637 Followup fixes to r183936
2639 I neglected to include a few review comments when I landed the patch.
2641 * UIProcess/gtk/TextCheckerGtk.cpp:
2642 (WebKit::checkerState): Remove double semicolons.
2643 (WebKit::updateStateForAllProcessPools): Use range-based-for loop here and
2644 give the function a better name.
2645 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): Use new function name
2646 (WebKit::TextChecker::setGrammarCheckingEnabled):Use new function name
2647 (WebKit::TextChecker::ignoreWord): Fix unused parameter warning.
2648 (WebKit::updateStateForAllContexts): Deleted.
2650 2015-05-07 Michael Catanzaro <mcatanzaro@igalia.com>
2652 [GTK] Checks for DEVELOPMENT_BUILD are all wrong
2653 https://bugs.webkit.org/show_bug.cgi?id=144746
2655 Reviewed by Martin Robinson.
2657 Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.
2659 * Shared/gtk/ProcessExecutablePathGtk.cpp:
2660 (WebKit::findWebKitProcess):
2661 * UIProcess/API/gtk/WebKitWebContext.cpp:
2662 (injectedBundleDirectory):
2663 * UIProcess/gtk/TextCheckerGtk.cpp:
2664 (WebKit::enchantTextChecker):
2666 2015-05-06 Dean Jackson <dino@apple.com>
2668 Handle backdrop views that have to tile
2669 https://bugs.webkit.org/show_bug.cgi?id=142317
2670 <rdar://problem/20049088>
2672 Reviewed by Simon Fraser.
2674 Take 2 - this was rolled out because Mavericks was crashing.
2676 Add some better logging for custom appearance.
2678 * Shared/mac/RemoteLayerTreeTransaction.mm:
2679 (WebKit::RemoteLayerTreeTextStream::operator<<):
2681 2015-05-07 Sungmann Cho <sungmann.cho@navercorp.com>
2683 Add PLUGIN_ARCHITECTURE(X11) around m_frameRectInWindowCoordinates in NetscapePlugin.
2684 https://bugs.webkit.org/show_bug.cgi?id=144490
2686 Reviewed by Darin Adler.
2688 m_frameRectInWindowCoordinates in NetscapePlugin is currently being used only for
2689 the windowed plugins, and the windowed plugins are only supported on X11. So we can
2690 guard it with PLUGIN_ARCHITECTURE(X11).
2692 No new tests, no behavior change.
2694 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2695 (WebKit::NetscapePlugin::geometryDidChange):
2696 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2698 2015-05-05 Myles C. Maxfield <mmaxfield@apple.com>
2700 Revert "Introducing the Platform Abstraction Layer (PAL)"
2701 https://bugs.webkit.org/show_bug.cgi?id=144751
2705 PAL should be a new target inside WebCore, rather than a top-level folder.
2707 * Configurations/FeatureDefines.xcconfig: Updated
2709 2015-05-07 Jer Noble <jer.noble@apple.com>
2711 [WK2][Fullscreen] Fullscreen video does not enter low-power mode.
2712 https://bugs.webkit.org/show_bug.cgi?id=144744
2714 Reviewed by Darin Adler.
2716 One of the requirements of entering low-power compositing mode is that no masking layers
2717 are present in any of the ancestors of the fullscreen video layer. So once our fullscreen
2718 transition animation completes, remove the mask layer entirely from our clipping layer.
2719 This means it needs to be re-created and added when entering fullscreen, rather than just
2720 at initialization time.
2722 * UIProcess/mac/WKFullScreenWindowController.mm:
2723 (-[WKFullScreenWindowController initWithWindow:webView:]):
2724 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2725 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2727 2015-05-07 Martin Robinson <mrobinson@igalia.com>
2729 [GTK] All spell checking layout tests fail
2730 https://bugs.webkit.org/show_bug.cgi?id=144648
2732 Reviewed by Carlos Garcia Campos.
2734 Simplify and complete the GTK+ spell-checking implementation. Instead of using
2735 the EFL/GTK+ only WKTextChecker interface, directly implement Enchant spell-checking
2736 in TextCheckerGtk. The per-context spell checking API is an illusion, since all
2737 WKTextChecker implementations will adjust the same singleton. This can be a first step
2738 toward removing it entirely.
2740 Also complete the implementation of the TextChecker interface by duplicating the EFL code,
2741 which reuses other methods in the same class. Eventually this duplication will collapse,
2742 once GTK+ and EFL can share an Enchant implementation.
2744 * PlatformGTK.cmake:
2745 * UIProcess/API/gtk/WebKitPrivate.h:
2746 * UIProcess/API/gtk/WebKitTextChecker.cpp: Removed.
2747 * UIProcess/API/gtk/WebKitTextChecker.h: Removed.
2748 * UIProcess/API/gtk/WebKitWebContext.cpp: Remove WebTextChecker usage and
2749 replace it with calls directly to the TextChecker singleton via static methods.
2750 * UIProcess/TextChecker.h:
2751 * UIProcess/gtk/TextCheckerGtk.cpp: Move the WebTextChecker enchant implementation
2752 here and reuse the EFL version of WebKit::TextChecker::requestCheckingOfString.
2753 Also initialize languages properly when building for developer builds. This
2754 allows WebKitTestRunner to work even when it doesn't explicitly set the languages.
2756 2015-05-07 Ada Chan <adachan@apple.com>
2758 Fix a couple of cases where the backForwardListState's currentIndex is not set correctly in WebBackForwardList::backForwardListState().
2759 https://bugs.webkit.org/show_bug.cgi?id=144666
2761 Reviewed by Darin Adler.
2763 * UIProcess/WebBackForwardList.cpp:
2764 (WebKit::WebBackForwardList::backForwardListState):
2765 If the first item is filtered out and the currentIndex is 0, don't decrement currentIndex.
2766 If all the items are filtered out, set currentIndex to the uninitialized value.
2768 2015-05-07 Csaba Osztrogonác <ossy@webkit.org>
2770 [WK2] Remove Windows cruft
2771 https://bugs.webkit.org/show_bug.cgi?id=144745
2773 Reviewed by Darin Adler.
2775 * NetworkProcess/soup/NetworkProcessSoup.cpp:
2776 (WebKit::getMemorySize):
2777 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2778 (IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::encode):
2779 (IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::decode):
2780 * WebProcess/soup/WebProcessSoup.cpp:
2781 (WebKit::getMemorySize):
2783 2015-05-07 Carlos Garcia Campos <cgarcia@igalia.com>
2785 REGRESSION(r182032): [GTK] Production build is broken after r182032
2786 https://bugs.webkit.org/show_bug.cgi?id=144736
2788 Reviewed by Martin Robinson.
2790 The problem is that r182032 moved the NetworkProcess sources from
2791 WebKit2 sources to NetworkProcess sources. That's not a problem
2792 for developer builds where all internal symbols are exported, but
2793 doesn't work for production builds because all those internal
2794 symbols are private.
2796 * CMakeLists.txt: Use a different name for common network process
2798 * PlatformMac.cmake: Append common network process sources to the
2799 network process source list for Mac.
2801 2015-05-07 Dan Bernstein <mitz@apple.com>
2803 <rdar://problem/19317140> [Xcode] Remove usage of AspenFamily.xcconfig in Source/
2804 https://bugs.webkit.org/show_bug.cgi?id=144727
2806 Reviewed by Darin Adler.
2808 * Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig, and define
2809 INSTALL_PATH_PREFIX and LD_DYLIB_INSTALL_NAME for the iOS 8.x Simulator.
2810 * Configurations/WebKit2.xcconfig: Define INSTALL_PATH_ACTUAL and let INSTALL_PATH be
2811 derived from it and INSTALL_PATH_PREFIX. Don’t override DYLIB_INSTALL_NAME_BASE for iOS,
2812 because we define LD_DYLIB_INSTALL_NAME directly where needed.
2814 2015-05-07 Carlos Garcia Campos <cgarcia@igalia.com>
2816 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.1 release.
2818 * gtk/NEWS: Add release notes for 2.9.1.
2820 2015-05-07 Carlos Garcia Campos <cgarcia@igalia.com>
2822 [GTK] Remove dock button from Web Inspector window
2823 https://bugs.webkit.org/show_bug.cgi?id=144728
2825 Reviewed by Sergio Villar Senin.
2827 We added the dock buttons to the headerbar, because they were
2828 removed from the inspector toolbar, but with the new tabbed
2829 design, the dock buttons are back in the toolbar and look redundant.
2831 * UIProcess/WebInspectorProxy.h:
2832 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2833 (WebKit::WebInspectorProxy::createInspectorWindow):
2834 (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged):
2835 (WebKit::WebInspectorProxy::dockButtonClicked): Deleted.
2837 2015-05-06 Jer Noble <jer.noble@apple.com>
2839 [WK2][Fullscreen] Elements whose children extend beyond their bounds are clipped in fullscreen mode.
2840 https://bugs.webkit.org/show_bug.cgi?id=144716
2842 Reviewed by Darin Adler.
2844 We create a mask animation for the transition between windowed and fullscreen modes, on the
2845 assumption that the element being taken into fullscreen mode does not have visible children
2846 who extend beyond that elements bounds. This assumption breaks down in the case where div
2847 with absolutely positioned children is taken fullscreen. While we can't necessarily make the
2848 transition look correct in this case, we can remove the mask after the transition completes.
2850 * UIProcess/mac/WKFullScreenWindowController.mm:
2851 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2852 * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
2853 (WebKit::removeAllMediaKeyStorageForOriginPath):
2855 2015-05-06 Jinwoo Jeong <jw00.jeong@samsung.com>
2857 Fix a build break on EFL debug build
2858 https://bugs.webkit.org/show_bug.cgi?id=144654
2860 Reviewed by Gyuyoung Kim.
2862 No new tests, just build fix.
2864 * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
2865 (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
2866 (WebKit::CoordinatedGraphicsScene::paintToGraphicsContext):
2868 2015-05-06 Daniel Bates <dabates@apple.com>
2870 [iOS][WK2] Pause/resume database thread when UIProcess enters/leaves the background
2871 https://bugs.webkit.org/show_bug.cgi?id=144657
2872 <rdar://problem/18894598>
2874 Reviewed by Andy Estes.
2876 Pause and resume the database thread when the UIProcess enters and leaves the background,
2877 respectively, so that we avoid WebProcess termination due to holding a locked SQLite
2878 database file when the WebProcess is suspended. This behavior matches the analagous
2879 behavior in Legacy WebKit.
2881 * UIProcess/WebPageProxy.h:
2882 * UIProcess/ios/WKContentView.mm:
2883 (-[WKContentView _applicationDidEnterBackground:]): Call WebPageProxy::applicationDidEnterBackground()
2884 when the UIProcess enters the background.
2885 * UIProcess/ios/WebPageProxyIOS.mm:
2886 (WebKit::WebPageProxy::applicationDidEnterBackground): Added; notify the WebProcess to pause the database thread.
2887 We temporarily take out background assertion on the WebProcess before sending this notification to ensure that the
2888 WebProcess is running to receive it. We'll release this assertion when the WebProcess replies that it received the
2890 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
2891 (WebKit::WebDatabaseManager::setPauseAllDatabases): Added; turns around and calls DatabaseManager::setPauseAllDatabases().
2892 * WebProcess/WebCoreSupport/WebDatabaseManager.h:
2893 * WebProcess/WebPage/WebPage.h:
2894 * WebProcess/WebPage/WebPage.messages.in: Add message ApplicationDidEnterBackground(). Also,
2895 add empty lines to help demarcate this message and the other UIKit application lifecycle-related
2896 messages from the rest of the list of messages.
2897 * WebProcess/WebPage/ios/WebPageIOS.mm:
2898 (WebKit::WebPage::applicationWillEnterForeground): Resume the database thread.
2899 (WebKit::WebPage::applicationDidEnterBackground): Pause the database thread.
2901 2015-05-06 Ryuan Choi <ryuan.choi@navercorp.com>
2903 [EFL] ewk_view_page_contents_get() API test is flaky
2904 https://bugs.webkit.org/show_bug.cgi?id=144683
2906 Reviewed by Gyuyoung Kim.
2908 Callback of WKPageGetContentsAsMHTMLData contains WKData which does not contain null terminated character.
2910 * UIProcess/API/efl/ewk_view.cpp: Pass the data of string instead of WKData directly.
2911 (ewkViewPageContentsAsMHTMLCallback):
2913 2015-05-06 Joseph Pecoraro <pecoraro@apple.com>
2915 Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
2916 https://bugs.webkit.org/show_bug.cgi?id=144714
2918 Reviewed by Timothy Hatcher.
2920 * UIProcess/WebInspectorProxy.cpp:
2921 (WebKit::WebInspectorProxy::createInspectorPage):
2922 (WebKit::WebInspectorProxy::attachAvailabilityChanged):
2923 * WebProcess/WebPage/WebInspectorUI.cpp:
2924 (WebKit::WebInspectorUI::setDockingUnavailable):
2925 * WebProcess/WebPage/WebInspectorUI.h:
2926 * WebProcess/WebPage/WebInspectorUI.messages.in:
2927 When docking availability changes, inform the inspector page
2928 so it can respond by updating its UI.
2930 2015-05-06 Joonghun Park <jh718.park@samsung.com>
2932 [WK2] Simplify AsyncRequestImpl::ArgumentType parameters
2933 https://bugs.webkit.org/show_bug.cgi?id=144689
2935 Reviewed by Darin Adler.
2937 Remove duplicated typename and ::type from AsyncRequestImpl related
2938 function parameters.
2940 * Shared/AsyncRequest.h:
2942 2015-05-06 Commit Queue <commit-queue@webkit.org>
2944 Unreviewed, rolling out r183894.
2945 https://bugs.webkit.org/show_bug.cgi?id=144719
2947 crashes on mavericks (Requested by dino on #webkit).
2951 "Handle backdrop views that have to tile"
2952 https://bugs.webkit.org/show_bug.cgi?id=142317
2953 http://trac.webkit.org/changeset/183894
2955 2015-05-06 Brady Eidson <beidson@apple.com>
2957 Addition review followup for:
2958 Crash executing null AsyncRequest in IDB code.
2959 <rdar://problem/18854856> and https://bugs.webkit.org/show_bug.cgi?id=144715
2961 Reviewed by Darin Adler.
2963 This patch adds a layer on top of the UniqueIDBDatabase request map to catch this coding mistake in the future.
2965 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2966 (WebKit::UniqueIDBDatabase::didCompleteBoolRequest): Get rid of the ASSERT and the temporary variable,
2967 make it a single line which reads better.
2968 (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore): Ditto.
2969 (WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore): Ditto.
2970 (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): Ditto.
2971 (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore): Ditto.
2972 (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore): Ditto.
2973 (WebKit::UniqueIDBDatabase::didCountInBackingStore): Ditto.
2974 (WebKit::UniqueIDBDatabase::didDeleteRangeInBackingStore): Ditto.
2975 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: Ditto.
2977 Add the class AsyncRequestMap which shadows a HashMap but does aggressive runtime checks
2978 in ::take() to make sure the same request was not dispatched twice in a row, and makes sure we
2979 never try to execute a null AsyncRequest by way of a RELEASE_ASSERT.
2980 * Shared/AsyncRequest.h:
2981 (WebKit::AsyncRequestMap::AsyncRequestMap):
2982 (WebKit::AsyncRequestMap::take):
2983 (WebKit::AsyncRequestMap::add):
2984 (WebKit::AsyncRequestMap::clear):
2985 (WebKit::AsyncRequestMap::values):
2987 2015-05-06 Brady Eidson <beidson@apple.com>
2989 Crash executing null AsyncRequest in IDB code.
2990 <rdar://problem/18854856> and https://bugs.webkit.org/show_bug.cgi?id=144715
2992 Reviewed by Darin Adler.
2994 When UniqueIDBDatabase fails to execute an operation on the database work queue it usually
2995 dispatches an AsyncRequest ID back to the main thread with an error callback.
2997 For two of its operations it would then also dispatch the success callback.
2999 In those cases the main thread would first take the AsyncRequest for the error callback out
3000 of a map and then execute it.
3002 It would then try to take the same AsyncRequest out of the map again, fail to do so, then
3003 execute a null AsyncRequest.
3005 This patch fixes the two functions to not dispatch both an error and success callback.
3007 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3008 (WebKit::UniqueIDBDatabase::countInBackingStore): Return after dispatching the error callback.
3009 (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Ditto.
3011 2015-05-06 Dean Jackson <dino@apple.com>
3013 Handle backdrop views that have to tile
3014 https://bugs.webkit.org/show_bug.cgi?id=142317
3015 <rdar://problem/20049088>
3017 Reviewed by Simon Fraser.
3019 Add some better logging for custom appearance.
3021 * Shared/mac/RemoteLayerTreeTransaction.mm:
3022 (WebKit::RemoteLayerTreeTextStream::operator<<):
3024 2015-05-06 Chris Dumez <cdumez@apple.com>
3026 Disable network cache efficacy logging
3027 https://bugs.webkit.org/show_bug.cgi?id=144703
3028 <rdar://problem/20439143>
3030 Reviewed by Andreas Kling.
3032 Disable network cache efficacy logging by default as we have sufficient
3035 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3036 (WebKit::registerUserDefaultsIfNeeded):
3038 2015-05-06 Timothy Horton <timothy_horton@apple.com>
3042 * UIProcess/mac/WKViewLayoutStrategy.mm:
3043 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
3045 2015-05-06 Dan Bernstein <mitz@apple.com>
3047 No way to get a WKWebProcessPlugInFrame’s parent frame
3048 https://bugs.webkit.org/show_bug.cgi?id=144705
3050 Reviewed by Sam Weinig.
3052 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
3053 (-[WKWebProcessPlugInFrame _parentFrame]): Added this getter.
3054 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared new
3055 _parentFrame property.
3057 2015-05-06 Timothy Horton <timothy_horton@apple.com>
3061 * UIProcess/mac/WKViewLayoutStrategy.mm:
3062 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
3064 2015-04-02 Myles C. Maxfield <mmaxfield@apple.com>
3066 Introducing the Platform Abstraction Layer (PAL)
3067 https://bugs.webkit.org/show_bug.cgi?id=143358
3069 Reviewed by Simon Fraser.
3071 * Configurations/FeatureDefines.xcconfig: Updated
3073 2015-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
3075 [GTK][WK2] The WebKit network disk cache is not enabled
3076 https://bugs.webkit.org/show_bug.cgi?id=142821
3078 Reviewed by Martin Robinson.
3080 Enable NetworkCache for the GTK+ port.
3084 2015-05-06 Ryuan Choi <ryuan.choi@navercorp.com>
3086 [EFL] Remove redudant condition in ViewClientEfl::didChangeViewportAttributes
3087 https://bugs.webkit.org/show_bug.cgi?id=144672
3089 Reviewed by Gyuyoung Kim.
3091 ViewClientEfl::didChangeViewportAttributes is always called when fixed layout is disabled.
3093 * UIProcess/efl/ViewClientEfl.cpp:
3094 (WebKit::ViewClientEfl::didChangeViewportAttributes):
3095 Removes condition that checks whether fixed layout is enabled.
3097 2015-05-05 Alexey Proskuryakov <ap@apple.com>
3099 NetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
3100 https://bugs.webkit.org/show_bug.cgi?id=144641
3101 rdar://problem/20250960
3103 Reviewed by David Kilzer.
3105 * NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::cleanup):
3106 Clear the client pointer.
3108 * Shared/Authentication/AuthenticationManager.cpp:
3109 (WebKit::AuthenticationManager::useCredentialForChallenge):
3110 (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
3111 (WebKit::AuthenticationManager::cancelChallenge):
3112 (WebKit::AuthenticationManager::performDefaultHandling):
3113 (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
3114 Updated comments, which were not accurate, at least on Mac.
3116 2015-05-05 Tim Horton <timothy_horton@apple.com>
3118 Views get stuck with viewScale < 1 after switching from DynamicSizeWithMinimumViewSize to ViewSize
3119 https://bugs.webkit.org/show_bug.cgi?id=144656
3121 Reviewed by Dan Bernstein.
3123 * UIProcess/mac/WKViewLayoutStrategy.mm:
3124 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]):
3125 Reset the viewScale when we leave the DynamicSizeWithMinimumViewSize strategy.
3127 2015-05-05 Tim Horton <timothy_horton@apple.com>
3131 * Platform/mac/LayerHostingContext.mm:
3132 (WebKit::LayerHostingContext::setFencePort):
3134 2015-05-05 Tim Horton <timothy_horton@apple.com>
3138 * UIProcess/mac/WKViewLayoutStrategy.mm:
3139 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
3141 2015-05-05 Timothy Horton <timothy_horton@apple.com>
3143 Add a layout mode for computing fixed layout size from a minimum size
3144 https://bugs.webkit.org/show_bug.cgi?id=144610
3145 <rdar://problem/19790341>
3147 Reviewed by Simon Fraser.
3149 Add a layout mode where WebKit determines the layout size with a set of
3150 (still in flux) heuristics, trying hard to keep the page usable below a
3151 particular client-defined threshold view size.
3153 This can mean that WebKit will start scaling down the page inside the view
3154 to make the whole page fit, using the viewScale mechanism.
3156 * UIProcess/API/C/WKLayoutMode.h:
3157 * UIProcess/API/Cocoa/_WKLayoutMode.h:
3158 Add the new layout mode, and documentation for the two complicated ones.
3160 * UIProcess/API/Cocoa/WKWebView.mm:
3161 (-[WKWebView _layoutMode]):
3162 (-[WKWebView _setLayoutMode:]):
3163 (-[WKWebView _setViewScale:]):
3164 (-[WKWebView _setMinimumViewSize:]):
3165 (-[WKWebView _minimumViewSize]):
3166 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3167 Forward the layoutMode and viewScale parameters to WKView if we have one.
3169 * UIProcess/API/Cocoa/WKViewPrivate.h:
3170 * UIProcess/API/mac/WKView.mm:
3171 (-[WKView dealloc]):
3172 (-[WKView viewWillStartLiveResize]):
3173 (-[WKView viewDidEndLiveResize]):
3174 (-[WKView setFrameSize:]):
3175 (-[WKView initWithFrame:processPool:configuration:webView:]):
3176 (-[WKView disableFrameSizeUpdates]):
3177 (-[WKView enableFrameSizeUpdates]):
3178 (-[WKView frameSizeUpdatesDisabled]):
3179 (-[WKView _layoutMode]):
3180 (-[WKView _setLayoutMode:]):
3181 (-[WKView _setViewScale:]):
3182 (-[WKView _setMinimumViewSize:]):
3183 (-[WKView _minimumViewSize]):
3184 Store the minimum view size, and update the fixed layout size if needed.
3186 (-[WKView _updateAutomaticallyComputedFixedLayoutSize]): Deleted.
3187 (-[WKView _setAutomaticallyComputesFixedLayoutSizeFromViewScale:]): Deleted.
3188 (-[WKView _automaticallyComputesFixedLayoutSizeFromViewScale]): Deleted.
3189 Store the WKLayoutMode on the WKViewLayoutStrategy instead of having a
3190 bunch of things like _automaticallyComputesFixedLayoutSizeFromViewScale.
3192 * UIProcess/API/mac/WKViewInternal.h:
3194 * UIProcess/mac/WKViewLayoutStrategy.h: Added.
3195 * UIProcess/mac/WKViewLayoutStrategy.mm: Added.
3196 (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
3197 (-[WKViewLayoutStrategy initWithPage:view:mode:]):
3198 (-[WKViewLayoutStrategy willDestroyView:]):
3199 (-[WKViewLayoutStrategy layoutMode]):
3200 (-[WKViewLayoutStrategy updateLayout]):
3201 (-[WKViewLayoutStrategy disableFrameSizeUpdates]):
3202 (-[WKViewLayoutStrategy enableFrameSizeUpdates]):
3203 (-[WKViewLayoutStrategy frameSizeUpdatesDisabled]):
3204 (-[WKViewLayoutStrategy didChangeViewScale]):
3205 (-[WKViewLayoutStrategy didChangeMinimumViewSize]):
3206 (-[WKViewLayoutStrategy willStartLiveResize]):
3207 (-[WKViewLayoutStrategy didEndLiveResize]):
3208 (-[WKViewLayoutStrategy didChangeFrameSize]):
3209 (-[WKViewLayoutStrategy willChangeLayoutStrategy]):
3210 (-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]):
3211 (-[WKViewViewSizeLayoutStrategy updateLayout]):
3212 (-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]):
3213 (-[WKViewFixedSizeLayoutStrategy updateLayout]):
3214 (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]):
3215 (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
3216 (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeViewScale]):
3217 (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
3218 Move the existing layout strategies from WKView into WKViewLayoutStrategy subclasses.
3220 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]):
3221 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
3222 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeMinimumViewSize]):
3223 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willStartLiveResize]):
3224 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didEndLiveResize]):
3225 While in live resize with the new layout mode, disable frame size updates.
3226 The new layout mode will do a live scale during part of the resize, and
3227 we don't always want to send the new view size to the Web process.
3229 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeFrameSize]):
3230 (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]):
3231 While in the new layout mode, maintain the viewScale as the minimum of the
3232 scale required to fit the current view frame size inside the minimumViewSize.
3233 If no scaling is required, carry on as usual, pushing the new view frame size
3234 to the DrawingArea and on to the Web process.
3235 If scaling is required, apply a transform to the view in the UI process,
3236 until the live resize completes, in which case we send a fenced viewScale
3237 adjustment to the Web process (so that the tiles paint at the new viewScale
3238 synchronized with the removal of the transform in the UI process).
3240 * UIProcess/WebPageProxy.cpp:
3241 (WebKit::WebPageProxy::scaleViewFenced):
3242 * UIProcess/WebPageProxy.h:
3243 * WebProcess/WebPage/DrawingArea.h:
3244 (WebKit::DrawingArea::addFence):
3245 (WebKit::DrawingArea::acceleratedAnimationDidEnd): Deleted.
3246 * WebProcess/WebPage/WebPage.cpp:
3247 (WebKit::WebPage::scaleViewAndUpdateGeometryFenced):
3248 * WebProcess/WebPage/WebPage.h:
3249 * WebProcess/WebPage/WebPage.messages.in:
3250 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3251 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3252 (WebKit::TiledCoreAnimationDrawingArea::addFence):
3253 Add scaleViewAndUpdateGeometryFenced and the ability to install CoreAnimation fences on
3254 TiledCoreAnimationDrawingArea's CAContext.
3256 Add the ability to send updateGeometry out-of-band, so that
3257 we can send it synchronously inside the message along with the CA fence.
3258 We have to both change the viewScale and updateGeometry simultaneously
3259 in the same CA commit that we install the fence into, in order to ensure
3260 that there is no flash.
3262 2015-05-05 Alex Christensen <achristensen@webkit.org>
3264 [Content Extensions] Release input NSString when finished copying it.
3265 https://bugs.webkit.org/show_bug.cgi?id=144642
3267 Reviewed by Brian Weinstein.
3269 * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
3270 * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
3271 (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
3273 2015-05-05 Alex Christensen <achristensen@webkit.org>
3275 [Content Extensions] Use less memory to store the json input.
3276 https://bugs.webkit.org/show_bug.cgi?id=144604
3278 Reviewed by Benjamin Poulain.
3280 * UIProcess/API/APIUserContentExtensionStore.cpp:
3281 (API::compiledToFile):
3282 (API::UserContentExtensionStore::compileContentExtension):
3283 * UIProcess/API/APIUserContentExtensionStore.h:
3284 Don't copy strings as much or keep them alive after done using them.
3286 2015-05-04 Alex Christensen <achristensen@webkit.org>
3288 [Content Extensions] Use less memory when writing byte code to file
3289 https://bugs.webkit.org/show_bug.cgi?id=144602
3291 Reviewed by Darin Adler.
3293 * UIProcess/API/APIUserContentExtensionStore.cpp:
3294 (API::decodeContentExtensionMetaData):
3295 (API::writeDataToFile):
3296 (API::compiledToFile):
3297 (API::createExtension):
3298 Compile and write each DFA to file, then come back and write the header when finalizing.
3299 Also don't copy the DFA bytecode. This way, we don't need to keep more than one DFA's
3300 bytecode in memory at a time.
3302 2015-05-05 Sungmann Cho <sungmann.cho@navercorp.com>
3304 Make all FrameLoadState data members private.
3305 https://bugs.webkit.org/show_bug.cgi?id=144562
3307 Reviewed by Darin Adler.
3309 Previously, all of the data members in FrameLoadState were public and accessed directly
3310 from outside the class. But these should all be private as noted in FrameLoadState.h
3311 for better encapsulation.
3313 No new tests, no behavior change.
3315 * UIProcess/API/C/WKFrame.cpp:
3316 (WKFrameGetFrameLoadState):
3317 * UIProcess/FrameLoadState.h:
3318 (WebKit::FrameLoadState::state):
3319 (WebKit::FrameLoadState::url):
3320 (WebKit::FrameLoadState::provisionalURL):
3321 (WebKit::FrameLoadState::unreachableURL):
3322 * UIProcess/WebFrameProxy.h:
3323 (WebKit::WebFrameProxy::url):
3324 (WebKit::WebFrameProxy::provisionalURL):
3325 (WebKit::WebFrameProxy::unreachableURL):
3327 2015-05-05 Alexey Proskuryakov <ap@apple.com>
3329 Crashes in SandboxExtension::consumePermanently when uploading
3330 https://bugs.webkit.org/show_bug.cgi?id=144611
3331 rdar://problem/10156710
3333 Reviewed by Darin Adler.
3335 This only fixes the crashes, uploading still won't work.
3336 Added null checks and some logging that may help us get to the root cause eventually.
3338 * Shared/SandboxExtension.h:
3339 (WebKit::SandboxExtension::createHandle):
3340 (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
3341 * Shared/mac/SandboxExtensionMac.mm:
3342 (WebKit::SandboxExtension::createHandle):
3343 (WebKit::SandboxExtension::createHandleForReadWriteDirectory):
3344 * UIProcess/WebPageProxy.cpp:
3345 (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
3346 * WebProcess/WebPage/WebPage.cpp:
3347 (WebKit::WebPage::extendSandboxForFileFromOpenPanel):
3349 2015-05-05 Csaba Osztrogonác <ossy@webkit.org>
3351 Remove TextureMapperImageBuffer
3352 https://bugs.webkit.org/show_bug.cgi?id=143561
3354 Reviewed by Žan Doberšek.
3356 * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
3357 (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
3358 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
3359 (WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
3361 2015-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
3363 [SOUP] Network Cache: IOChannel operations are not sent to the right thread
3364 https://bugs.webkit.org/show_bug.cgi?id=144542
3366 Reviewed by Darin Adler.
3368 We are ignoring the given WorkQueue and running the async
3369 operations in the current thread. Check the given WorkQueue
3370 instead and schedule the operation to the given queue. If the
3371 given queue is nullptr, which means the operation should be run in
3372 the main context, the operation is run directly if the current
3373 context is the main one or sent to the main context using a
3376 Fixes crashes due to asserts when running disk-cache layout tests
3379 * NetworkProcess/cache/NetworkCacheIOChannel.h:
3380 * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
3381 (WebKit::NetworkCache::runTaskInQueue):
3382 (WebKit::NetworkCache::IOChannel::read):
3383 (WebKit::NetworkCache::IOChannel::readSync):
3384 (WebKit::NetworkCache::IOChannel::write):
3386 2015-05-04 Dan Bernstein <mitz@apple.com>
3388 WebKit always goes through LaunchServices for main frame navigation actions
3389 https://bugs.webkit.org/show_bug.cgi?id=144608
3391 Reviewed by Tim Horton.
3393 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Defined
3394 _WKNavigationActionPolicyAllowWithoutTryingAppLink.
3395 * UIProcess/Cocoa/NavigationState.mm:
3396 (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): If the policy
3397 is _WKNavigationActionPolicyAllowWithoutTryingAppLink, don’t go through tryAppLink.
3399 2015-05-04 Enrica Casucci <enrica@apple.com>
3401 [iOS WK2] editorState should include information about selection clipping rectangle.
3402 https://bugs.webkit.org/show_bug.cgi?id=144603
3403 rdar://problem/20521252
3405 Reviewed by Chris Dumez.
3407 Adding selectionClipRect to the post-layout portion of EditorState.
3408 This way we can compute the selection clipping rectangle based on
3409 up-to-date information instead of using the rectangle provided when
3410 then element was first focused.
3412 * Shared/EditorState.cpp:
3413 (WebKit::EditorState::PostLayoutData::encode):
3414 (WebKit::EditorState::PostLayoutData::decode):
3415 * Shared/EditorState.h:
3416 * UIProcess/ios/WKContentViewInteraction.mm:
3417 (-[WKContentView _selectionClipRect]):
3418 * WebProcess/WebPage/ios/WebPageIOS.mm:
3419 (WebKit::WebPage::platformEditorState):
3421 2015-05-04 Antti Koivisto <antti@apple.com>
3423 Network Cache: Support time based cache clearing
3424 https://bugs.webkit.org/show_bug.cgi?id=144568
3425 <rdar://problem/19769820>
3427 Reviewed by Andreas Kling.
3429 Support clearing cache entries newer than given time only.
3431 * NetworkProcess/cache/NetworkCache.cpp:
3432 (WebKit::NetworkCache::Cache::deleteDumpFile):
3433 (WebKit::NetworkCache::Storage::traverse):
3435 Also fix thread safety of traverse handler function.
3437 (WebKit::NetworkCache::Cache::clear):
3439 Also add completion handler to support the API properly.
3441 * NetworkProcess/cache/NetworkCache.h:
3442 * NetworkProcess/cache/NetworkCacheStorage.cpp:
3443 (WebKit::NetworkCache::Storage::clear):
3444 * NetworkProcess/cache/NetworkCacheStorage.h:
3445 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3446 (WebKit::clearNSURLCache):
3448 Factor to a function.
3450 (WebKit::NetworkProcess::clearDiskCache):
3452 2015-05-04 Zan Dobersek <zdobersek@igalia.com>
3454 [WTF] Remove Functional.h inclusions
3455 https://bugs.webkit.org/show_bug.cgi?id=144400
3457 Reviewed by Darin Adler.
3459 Remove unnecessary inclusions of the <wtf/Functional.h> header in WebKit2.
3461 * Platform/IPC/unix/ConnectionUnix.cpp:
3462 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Import the <objc/runtime.h>
3463 header that was previously indirectly included through the Functional.h header.
3464 * WebProcess/WebPage/DrawingArea.cpp:
3466 2015-05-04 Csaba Osztrogonác <ossy@webkit.org>
3468 [ARM] Don't compare unsigned chars to EOF (-1)
3469 https://bugs.webkit.org/show_bug.cgi?id=144439
3471 Reviewed by Geoffrey Garen.
3473 * Shared/linux/WebMemorySamplerLinux.cpp:
3474 (WebKit::nextToken): Don't cast return value of fgetc() to char.
3476 2015-05-04 Antti Koivisto <antti@apple.com>
3478 Remove NetworkResourceLoadScheduler
3479 https://bugs.webkit.org/show_bug.cgi?id=144550
3481 Reviewed by Sam Weinig.
3483 It doesn't really do anything.
3485 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3486 (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
3487 (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
3488 * NetworkProcess/NetworkProcess.cpp:
3489 (WebKit::NetworkProcess::getNetworkProcessStatistics):
3490 * NetworkProcess/NetworkProcess.h:
3491 (WebKit::NetworkProcess::networkResourceLoadScheduler): Deleted.
3492 * NetworkProcess/NetworkResourceLoadScheduler.cpp: Removed.
3493 * NetworkProcess/NetworkResourceLoadScheduler.h: Removed.
3494 * NetworkProcess/NetworkResourceLoader.cpp:
3495 (WebKit::NetworkResourceLoader::cleanup):
3496 * NetworkProcess/NetworkResourceLoader.h:
3497 (WebKit::NetworkResourceLoader::create):
3498 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3499 (WebKit::initializeNetworkSettings):
3501 Moved from NetworkResourceLoadSchedulerMac.mm.
3503 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
3504 * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: Removed.
3505 * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: Removed.
3506 * WebKit2.xcodeproj/project.pbxproj:
3508 2015-05-03 Alexey Proskuryakov <ap@apple.com>
3510 Crash in SandboxExtension::consume when uploading iWork -tef documents to iCloud
3511 https://bugs.webkit.org/show_bug.cgi?id=144509
3512 rdar://problem/18731910
3514 Reviewed by Daniel Bates.
3516 No test, because testRunner.beginDragWithFiles doesn't work in WKTR, and making
3519 * Shared/BlobDataFileReferenceWithSandboxExtension.cpp:
3520 (WebKit::BlobDataFileReferenceWithSandboxExtension::prepareForFileAccess):
3521 (WebKit::BlobDataFileReferenceWithSandboxExtension::revokeFileAccess):
3523 2015-05-03 Carlos Garcia Campos <cgarcia@igalia.com>
3525 [GTK][EFL] Unify platform display handling
3526 https://bugs.webkit.org/show_bug.cgi?id=144517
3528 Reviewed by Martin Robinson.
3530 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3531 (webkitWebViewBaseRealize): Use PlatformDisplay::sharedDisplay()
3532 to checkt the display type.
3533 (webkitWebViewBaseCreateWebPage): Ditto.
3534 * UIProcess/cairo/BackingStoreCairo.cpp:
3535 (WebKit::BackingStore::createBackend): Pass the native X11 shared
3536 display to BackingStoreBackendCairoX11.
3537 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3538 (WebKit::NetscapePlugin::x11HostDisplay): Return the native X11
3541 2015-05-03 Carlos Garcia Campos <cgarcia@igalia.com>
3543 Unreviewed. Fix Debug build with NETWORK_CACHE enabled and CACHE_PARTITIONING disabled.
3545 * NetworkProcess/cache/NetworkCache.cpp:
3546 (WebKit::NetworkCache::Cache::store):
3548 2015-05-01 Dan Bernstein <mitz@apple.com>
3550 WebKit2 part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
3551 https://bugs.webkit.org/show_bug.cgi?id=144501
3553 Reviewed by Darin Adler.
3555 * UIProcess/WebPageProxy.cpp:
3556 (WebKit::WebPageProxy::loadAlternateHTMLString): If this is called during
3557 didFailProvisionalLoadForFrame, send back the provisional URL captured at the time of
3559 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Get the provisioinal URL and keep
3560 it in new member variable m_failingProvisionalLoadURL for the duration of the client’s
3561 handling of this message.
3562 * UIProcess/WebPageProxy.h:
3564 * UIProcess/WebPageProxy.messages.in: Added provisionalURL parameter to
3565 DidFailProvisionalLoadForFrame.
3567 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3568 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Send the URL for this error
3571 * WebProcess/WebPage/WebPage.cpp:
3572 (WebKit::WebPage::loadAlternateHTMLString): Temporarily restore the loader’s state to
3573 reflect the provisional load error being handled.
3575 * WebProcess/WebPage/WebPage.h:
3576 * WebProcess/WebPage/WebPage.messages.in: Added provisionalLoadErrorURL parameter to
3577 LoadAlternateHTMLString.
3579 2015-05-01 Martin Robinson <mrobinson@igalia.com>
3581 USE(...) macro should expect unprefixed variables
3582 https://bugs.webkit.org/show_bug.cgi?id=144454
3584 Reviewed by Daniel Bates.
3586 * Shared/API/c/WKBase.h: Replace all occurrences WTF_USE with USE.
3587 * WebKit2.xcodeproj/project.pbxproj: Ditto.
3589 2015-05-01 Brady Eidson <beidson@apple.com>
3591 Add API to disable meta refreshes.
3592 <rdar://problem/20333198> and https://bugs.webkit.org/show_bug.cgi?id=144269
3594 Reviewed by Alexey Proskuryakov.
3596 Add a preference to enable/disable meta refreshes, enabled by default.
3598 * Shared/WebPreferencesDefinitions.h:
3599 * UIProcess/API/C/WKPreferences.cpp:
3600 (WKPreferencesSetMetaRefreshEnabled):
3601 (WKPreferencesGetMetaRefreshEnabled):
3602 (WKPreferencesGetIgnoreViewportScalingConstraints): Deleted.
3603 * UIProcess/API/C/WKPreferencesRefPrivate.h:
3604 * WebProcess/InjectedBundle/InjectedBundle.cpp:
3605 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3606 * WebProcess/WebPage/WebPage.cpp:
3607 (WebKit::WebPage::updatePreferences):
3609 2015-05-01 Antti Koivisto <antti@apple.com>
3611 Remove network process load serialization code
3612 https://bugs.webkit.org/show_bug.cgi?id=144448
3614 Reviewed by Alexey Proskuryakov.
3616 TestRunner.setSerializeHTTPLoads is used by a few tests but it is unnecessary
3617 with network process. We don't reorder loads anyway so test results are consistent.
3618 There or no other clients for this code.
3620 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3621 (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
3622 (WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled): Deleted.
3623 * NetworkProcess/NetworkConnectionToWebProcess.h:
3624 (WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled): Deleted.
3625 * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
3626 * NetworkProcess/NetworkProcess.cpp:
3627 (WebKit::NetworkProcess::getNetworkProcessStatistics):
3628 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
3629 (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
3630 (WebKit::NetworkResourceLoadScheduler::removeLoader):
3631 (WebKit::NetworkResourceLoadScheduler::loadsPendingCount): Deleted.
3632 * NetworkProcess/NetworkResourceLoadScheduler.h:
3633 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3634 (WKBundleSetTabKeyCyclesThroughElements):
3635 (WKBundleSetSerialLoadingEnabled): Deleted.
3636 (WKBundleDispatchPendingLoadRequests): Deleted.
3637 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3638 * WebProcess/InjectedBundle/InjectedBundle.cpp:
3639 (WebKit::InjectedBundle::setSerialLoadingEnabled): Deleted.
3640 (WebKit::InjectedBundle::dispatchPendingLoadRequests): Deleted.
3642 Remove also this as it does nothing.
3644 * WebProcess/Network/WebResourceLoadScheduler.cpp:
3645 (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
3646 (WebKit::WebResourceLoadScheduler::suspendPendingRequests):
3647 (WebKit::WebResourceLoadScheduler::resumePendingRequests):
3649 Remove implementation, it does nothing.
3651 (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
3652 * WebProcess/Network/WebResourceLoadScheduler.h:
3654 2015-04-30 Timothy Horton <timothy_horton@apple.com>
3656 Remove long-deprecated unused WKView minimumLayoutWidth properties
3657 https://bugs.webkit.org/show_bug.cgi?id=144480
3659 Reviewed by Alexey Proskuryakov.
3661 * UIProcess/API/Cocoa/WKViewPrivate.h:
3662 * UIProcess/API/mac/WKView.mm:
3663 (-[WKView minimumLayoutWidth]): Deleted.
3664 (-[WKView setMinimumLayoutWidth:]): Deleted.
3665 (-[WKView minimumWidthForAutoLayout]): Deleted.
3666 (-[WKView setMinimumWidthForAutoLayout:]): Deleted.
3667 These were replaced with minimumSizeForAutoLayout long ago.
3669 2015-04-30 Simon Fraser <simon.fraser@apple.com>
3671 Fixed elements end up in the middle of the view with pageScale < 1
3672 https://bugs.webkit.org/show_bug.cgi?id=144428
3673 rdar://problem/20404982
3675 Reviewed by Tim Horton.
3677 Encode/decode fixedElementsLayoutRelativeToFrame.
3679 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
3680 (ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
3681 (ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
3683 2015-04-30 Tim Horton <timothy_horton@apple.com>
3685 Asynchronous (or timed-out synchronous) resize flashes white instead of page background color
3686 https://bugs.webkit.org/show_bug.cgi?id=144468
3688 Reviewed by Simon Fraser and Dan Bernstein.
3690 * UIProcess/API/mac/WKView.mm:
3691 (-[WKView _viewBackgroundColor]):
3692 (-[WKView updateLayer]):
3693 Use the pageExtendedBackgroundColor for the background color of the WKView,
3694 if we have one (and aren't using a transparent background). This means
3695 during asynchronous resize or other cases where the Web process isn't keeping
3696 up with the UI process during a resize, we'll see background color instead of white.
3698 2015-04-30 Beth Dakin <bdakin@apple.com>
3700 Should choose UIScrollView indicatorStyle based on the document background color
3701 https://bugs.webkit.org/show_bug.cgi?id=144473
3703 rdar://problem/19897699
3705 Reviewed by Simon Fraser.
3707 Update the indicator style whenever the background color changes.
3708 * UIProcess/API/Cocoa/WKWebView.mm:
3709 (-[WKWebView _updateScrollViewBackground]):
3711 2015-04-30 Enrica Casucci <enrica@apple.com>
3713 [iOS] tapping in the middle of a word in editable content should not select the word.
3714 https://bugs.webkit.org/show_bug.cgi?id=144421
3715 rdar://problem/20710948
3717 Reviewed by Tim Horton.
3719 Reverting to the original behavior.
3721 * WebProcess/WebPage/ios/WebPageIOS.mm:
3722 (WebKit::WebPage::selectWithGesture):
3724 2015-04-29 Hunseop Jeong <hs85.jeong@samsung.com>
3726 Fix the EFL build after r183595
3727 https://bugs.webkit.org/show_bug.cgi?id=144427
3729 Reviewed by Gyuyoung Kim.
3731 updateWheelEventTestTriggersIfNeeded() is guarded by #if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING).
3733 * WebProcess/WebPage/EventDispatcher.cpp:
3734 (WebKit::updateWheelEventTestTriggersIfNeeded):
3736 2015-04-29 Brent Fulgham <bfulgham@apple.com>
3738 Expand test infrastructure to support scrolling tests
3739 https://bugs.webkit.org/show_bug.cgi?id=143684
3740 <rdar://problem/20375516>
3742 Reviewed by Simon Fraser.
3744 Update test programs to activate (and deactivate) the new WheelEventTestTrigger logic.
3746 * UIProcess/API/C/WKPage.cpp:
3747 (WKPageClearWheelEventTestTriggers): Added.
3748 * UIProcess/API/C/WKPage.h:
3749 * UIProcess/WebPageProxy.cpp:
3750 (WebKit::WebPageProxy::clearWheelEventTestTrigger): Added.
3751 * UIProcess/WebPageProxy.h:
3752 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3753 (WKBundlePageStartMonitoringScrollOperations): Interact with WheelEventTestTrigger through
3754 the Page, rather than MainFrame.
3755 (WKBundlePageRegisterScrollOperationCompletionCallback): Ditto.
3756 * WebProcess/Plugins/PDF/PDFPlugin.mm:
3757 (WebKit::PDFPlugin::createScrollbar): Make sure scroll animator knows about any
3758 active test triggers.
3759 * WebPage/EventDispatcher.mm:
3760 (WebKit::EventDispatcher::wheelEvent): If the wheel event was passed to the scrolling thread,
3761 defer tests until a Scrolling Thread Sync has occurred.
3762 * WebPage/WebPage.cpp:
3763 (WebKit::WebPage::clearWheelEventTestTrigger): Added.
3764 * WebPage/WebPage.h:
3765 * WebPage/WebPage.message.in: Added ClearWheelEventTestTrigger message.
3767 2015-04-29 Enrica Casucci <enrica@apple.com>
3769 Adding the ability to move selection by granularity on iOS.
3770 https://bugs.webkit.org/show_bug.cgi?id=144410
3771 rdar://problem/19213337
3773 Reviewed by Benjamin Poulain.
3775 This patch also correctly sets _usingGestureForSelection for all
3776 the functions that change the selection with a gesture.
3777 This way we make sure that the selection drawing is not delayed
3778 until the next time we paint.
3780 * UIProcess/WebPageProxy.h:
3781 * UIProcess/ios/WKContentViewInteraction.mm:
3782 (-[WKContentView moveSelectionAtBoundary:inDirection:completionHandler:]):
3783 * UIProcess/ios/WebPageProxyIOS.mm:
3784 (WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
3785 * WebProcess/WebPage/WebPage.h:
3786 * WebProcess/WebPage/WebPage.messages.in:
3787 * WebProcess/WebPage/ios/WebPageIOS.mm:
3788 (WebKit::WebPage::moveSelectionAtBoundaryWithDirection):
3790 2015-04-29 Tim Horton <timothy_horton@apple.com>
3792 UI process sometimes crashes under _takeViewSnapshot when the window is off-screen
3793 https://bugs.webkit.org/show_bug.cgi?id=144418
3794 <rdar://problem/20740278>
3796 Reviewed by Alexey Proskuryakov.
3798 * UIProcess/API/mac/WKView.mm:
3799 (-[WKView _takeViewSnapshot]):
3800 Null-check the array before checking if it has any items.
3801 If the window is off-screen, we can't snapshot it.
3803 2015-04-29 Simon Fraser <simon.fraser@apple.com>
3805 Allow testing of plug-ins that handle wheel events.
3806 https://bugs.webkit.org/show_bug.cgi?id=144413
3808 Reviewed by Tim Horton.
3810 Allow the Test Netscape Plug-in to pretend to handle wheel events,
3811 so layout tests can use it.
3813 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
3814 (WebKit::NetscapePluginModule::determineQuirks):
3816 2015-04-29 Filip Pizlo <fpizlo@apple.com>
3818 JSTypeInfo should have an inline type flag to indicate if getCallData() has been overridden
3819 https://bugs.webkit.org/show_bug.cgi?id=144397
3821 Reviewed by Andreas Kling.
3823 If you override getCallData() and you want to be called a "function", then you need to use the
3824 new TypeOfShouldCallGetCallData flag.
3826 * WebProcess/Plugins/Netscape/JSNPObject.h:
3828 2015-04-29 Antti Koivisto <antti@apple.com>
3830 ResourceLoadPriority should be enum class
3831 https://bugs.webkit.org/show_bug.cgi?id=144326
3833 Reviewed by Darin Adler.
3835 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3836 (WebKit::NetworkConnectionToWebProcess::servePendingRequests): Deleted.
3838 Remove this unused message.
3840 * NetworkProcess/NetworkConnectionToWebProcess.h:
3841 * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
3842 * NetworkProcess/cache/NetworkCache.cpp:
3843 (WebKit::NetworkCache::makeStoreDecision):
3844 (WebKit::NetworkCache::Cache::retrieve):
3845 * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
3846 (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
3847 * WebProcess/Network/WebResourceLoadScheduler.cpp:
3848 (WebKit::WebResourceLoadScheduler::servePendingRequests):
3849 * WebProcess/Network/WebResourceLoadScheduler.h:
3851 2015-04-29 Myles C. Maxfield <mmaxfield@apple.com>
3853 [OS X] Use CTFontCreateForCSS instead of doing font search ourselves
3854 https://bugs.webkit.org/show_bug.cgi?id=132159
3856 Reviewed by Darin Adler.
3858 Add SPI to set the font whitelist.
3860 * Shared/WebProcessCreationParameters.cpp:
3861 (WebKit::WebProcessCreationParameters::encode):
3862 (WebKit::WebProcessCreationParameters::decode):
3863 * Shared/WebProcessCreationParameters.h:
3864 * UIProcess/API/C/WKContext.cpp:
3865 (WKContextSetFontWhitelist):
3866 * UIProcess/API/C/WKContextPrivate.h:
3867 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3868 (WebKit::WebProcessPool::platformInitializeWebProcess):
3869 * UIProcess/WebProcessPool.cpp:
3870 (WebKit::WebProcessPool::setFontWhitelist):
3871 * UIProcess/WebProcessPool.h:
3872 * WebProcess/cocoa/WebProcessCocoa.mm:
3873 (WebKit::WebProcess::platformInitializeWebProcess):
3875 2015-04-29 Martin Robinson <mrobinson@igalia.com>
3877 [CMake] [GTK] Organize and clean up unused CMake variables
3878 https://bugs.webkit.org/show_bug.cgi?id=144364
3880 Reviewed by Gyuyoung Kim.
3882 * PlatformGTK.cmake: Add variables specific to this project.
3883 * webkit2gtk-web-extension.pc.in: Hardcode the GTK+ API version. It rarely changes.
3884 * webkit2gtk.pc.in: Ditto.
3886 2015-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
3888 REGRESSION(r182573): [GTK] The default context menu contains an empty item since r182573
3889 https://bugs.webkit.org/show_bug.cgi?id=144388
3891 Reviewed by Brady Eidson.
3893 Move the WebContextMenuClient::shareMenuItem() implementation to
3894 platform files, since platforms not supporting share menu item
3895 should return a null ContextMenuIem instead.
3897 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3898 (WebKit::WebContextMenuClient::shareMenuItem): Deleted.
3899 * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
3900 (WebKit::WebContextMenuClient::shareMenuItem):
3901 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
3902 (WebKit::WebContextMenuClient::shareMenuItem):
3903 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
3904 (WebKit::WebContextMenuClient::shareMenuItem):
3906 2015-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
3908 REGRESSION(r183467): [SOUP] isMainResource is no longer passed as resource load parameters to the network process
3909 https://bugs.webkit.org/show_bug.cgi?id=144381
3911 Reviewed by Darin Adler.
3913 A requester enum value is passed now as part of the
3914 ResourceRequest, but it's not encoded/decoded for soup.
3916 * Shared/soup/WebCoreArgumentCodersSoup.cpp:
3917 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode requester.
3918 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode requester.
3920 2015-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
3922 [SOUP] Use xattrs to get/set the creation time of disk cache files
3923 https://bugs.webkit.org/show_bug.cgi?id=144251
3925 Reviewed by Martin Robinson.
3927 The network process disk cache uses the creation time to compute a
3928 worth value used to determine the order in which cached resources
3929 are deleted when the cache is shrunk. In some operating systems
3930 like Linux there's no st_birthtime in struct stat, but since cache
3931 files are always created and deleted by us, we could use a custom
3932 xattr to store and retrieve the creation time of cached resources.
3934 * NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
3935 (WebKit::NetworkCache::fileTimes):
3936 * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
3937 (WebKit::NetworkCache::IOChannel::IOChannel):
3939 2015-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
3941 Network Cache: Do not create a SharedBuffer for mapped resources unless explicitly requested
3942 https://bugs.webkit.org/show_bug.cgi?id=144337
3944 Reviewed by Antti Koivisto.
3946 We send a buffer or a memory mapped handler to the web process
3947 depending on whether the resource body is mapped or not, but we
3948 are always creating a shared buffer even for mapped resources.
3949 Split initializeBufferFromStorageRecord() moving the mapped memory
3950 handler initialization to its own method.
3952 * NetworkProcess/cache/NetworkCacheEntry.cpp:
3953 (WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):
3954 Initialize the mapped memory handler if the body data is mapped.
3955 (WebKit::NetworkCache::Entry::initializeBufferFromStorageRecord):
3956 Initialize the buffer by wrapping the mapped memory if the body
3957 data is mapped, or using the body data directly otherwise.
3958 (WebKit::NetworkCache::Entry::shareableResourceHandle): Call
3959 initializeShareableResourceHandleFromStorageRecord() if the
3961 * NetworkProcess/cache/NetworkCacheEntry.h:
3963 2015-04-28 Simon Fraser <simon.fraser@apple.com>
3965 Make a non-static version of FrameView::yPositionForRootContentLayer()
3966 https://bugs.webkit.org/show_bug.cgi?id=144375
3968 Reviewed by Andy Estes.
3970 There were two calls to the static FrameView::yPositionForRootContentLayer()
3971 which passed in all the arguments for the same FrameView. Make a member
3972 function for convenience.
3974 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3975 (WebKit::shadowLayerPositionForFrame):
3977 2015-04-28 Ryuan Choi <ryuan.choi@navercorp.com>
3979 [CoordinatedGraphics] Merge TILED_BACKING_STORE guard with COORDINATED_GRAPHICS
3980 https://bugs.webkit.org/show_bug.cgi?id=143001
3982 Reviewed by Gyuyoung Kim.
3984 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
3985 (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
3986 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3987 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
3988 * WebProcess/WebCoreSupport/WebChromeClient.h:
3989 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3990 (WebKit::WebFrameLoaderClient::dispatchDidLayout):
3991 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
3992 * WebProcess/WebPage/WebPage.cpp:
3993 (WebKit::WebPage::setSize):
3994 (WebKit::WebPage::setUseFixedLayout):
3995 (WebKit::WebPage::canHandleUserEvents):
3996 * WebProcess/WebPage/WebPage.h:
3998 2015-04-28 Timothy Horton <timothy_horton@apple.com>
4000 [TextIndicator] Yellow highlight takes too long to fade out on scroll
4001 https://bugs.webkit.org/show_bug.cgi?id=144358
4002 <rdar://problem/19451011>
4004 Reviewed by Beth Dakin.
4006 * UIProcess/API/Cocoa/WKViewPrivate.h:
4007 * UIProcess/API/mac/WKView.mm:
4008 (-[WKView renewGState]):
4009 (-[WKView viewDidMoveToWindow]):
4010 (-[WKView _dictionaryLookupPopoverWillClose:]):
4011 (-[WKView _setTextIndicator:]):
4012 (-[WKView _setTextIndicator:withLifetime:]):
4013 (-[WKView _clearTextIndicatorWithAnimation:]):
4014 (-[WKView magnifyWithEvent:]):
4015 (-[WKView smartMagnifyWithEvent:]):
4016 (-[WKView setMagnification:centeredAtPoint:]):
4017 (-[WKView setMagnification:]):
4018 (-[WKView _dismissContentRelativeChildWindows]):
4019 (-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
4020 (-[WKView _setTextIndicator:fadeOut:]): Deleted.
4021 * UIProcess/API/mac/WKViewInternal.h:
4022 * UIProcess/PageClient.h:
4023 * UIProcess/WebPageProxy.cpp:
4024 (WebKit::WebPageProxy::pageDidScroll):
4025 (WebKit::WebPageProxy::setTextIndicator):
4026 (WebKit::WebPageProxy::clearTextIndicator):
4027 * UIProcess/WebPageProxy.h:
4028 * UIProcess/WebPageProxy.messages.in:
4029 * UIProcess/ios/PageClientImplIOS.h:
4030 * UIProcess/ios/PageClientImplIOS.mm:
4031 (WebKit::PageClientImpl::setTextIndicator):
4032 (WebKit::PageClientImpl::clearTextIndicator):
4033 * UIProcess/mac/PageClientImpl.h:
4034 * UIProcess/mac/PageClientImpl.mm:
4035 (WebKit::PageClientImpl::setTextIndicator):
4036 (WebKit::PageClientImpl::clearTextIndicator):
4037 (WebKit::PageClientImpl::didPerformDictionaryLookup):
4038 (WebKit::PageClientImpl::dismissContentRelativeChildWindows):
4039 * UIProcess/mac/WKActionMenuController.mm:
4040 (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
4041 * UIProcess/mac/WKImmediateActionController.mm:
4042 (-[WKImmediateActionController _defaultAnimationController]):
4043 (-[WKImmediateActionController _animationControllerForDataDetectedText]):
4044 (-[WKImmediateActionController _animationControllerForDataDetectedLink]):
4045 (-[WKImmediateActionController _animationControllerForText]):
4046 * WebProcess/WebPage/FindController.cpp:
4047 (WebKit::FindController::updateFindIndicator):
4048 Make _setTextIndicator take a reference.
4049 Add a variant of _setTextIndicator that takes a Lifetime.
4050 Make _clearTextIndicatorWithAnimation take a DismissalAnimation.
4051 Make dismissContentRelativeChildWindows take a parameter indicating
4052 whether the dismissal should include animation or not (currently
4053 only applies to TextIndicator).
4054 Don't animate when dismissal occurs because of scrolling, zooming,
4055 or other things in which the content will have changed significantly
4056 underneath the indicator and shouldn't have a slowly-fading-out yellow highlight.
4058 2015-04-28 Michael Catanzaro <mcatanzaro@igalia.com>
4060 Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT
4061 https://bugs.webkit.org/show_bug.cgi?id=144304
4063 Reviewed by Geoffrey Garen.
4065 Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default.
4067 * Configurations/FeatureDefines.xcconfig:
4069 2015-04-28 Commit Queue <commit-queue@webkit.org>
4071 Unreviewed, rolling out r183514.
4072 https://bugs.webkit.org/show_bug.cgi?id=144359
4074 It broke cloop test bots (Requested by mcatanzaro on #webkit).
4078 "Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT"
4079 https://bugs.webkit.org/show_bug.cgi?id=144304
4080 http://trac.webkit.org/changeset/183514
4082 2015-04-28 Michael Catanzaro <mcatanzaro@igalia.com>