1 2014-12-26 Conrad Shultz <conrad_shultz@apple.com>
3 Safari build crashes when "zooming into"/choosing a tab from tab view
4 https://bugs.webkit.org/show_bug.cgi?id=139934
6 Reviewed by Dan Bernstein.
8 * UIProcess/API/mac/WKView.mm:
9 (-[WKView _setIgnoresNonWheelEvents:]):
10 Trying to add a nil gesture recognizer raises an exception. Stop assuming that a
11 gesture recognizer is non-nil.
13 2014-12-26 Anders Carlsson <andersca@apple.com>
15 Handle more types in the UserData encode/decode functions
16 https://bugs.webkit.org/show_bug.cgi?id=139959
18 Reviewed by Dan Bernstein.
20 * Shared/UserData.cpp:
21 (WebKit::UserData::encode):
22 (WebKit::UserData::decode):
24 2014-12-26 Anders Carlsson <andersca@apple.com>
26 Move handle encoding functions to their respective implementation files
27 https://bugs.webkit.org/show_bug.cgi?id=139957
29 Reviewed by Dan Bernstein.
31 * Shared/API/APIFrameHandle.cpp:
32 (API::FrameHandle::encode):
33 (API::FrameHandle::decode):
34 * Shared/API/APIFrameHandle.h:
35 * Shared/API/APIPageGroupHandle.cpp:
36 (API::PageGroupHandle::PageGroupHandle):
37 (API::PageGroupHandle::encode):
38 (API::PageGroupHandle::decode):
39 * Shared/API/APIPageGroupHandle.h:
40 * Shared/API/APIPageHandle.cpp:
41 (API::PageHandle::encode):
42 (API::PageHandle::decode):
43 * Shared/API/APIPageHandle.h:
44 * Shared/UserData.cpp:
45 (WebKit::UserData::encode):
46 (WebKit::UserData::decode):
48 2014-12-26 Anders Carlsson <andersca@apple.com>
50 Add the notion of auto-converting page and frame handles
51 https://bugs.webkit.org/show_bug.cgi?id=139954
53 Reviewed by Dan Bernstein.
55 This makes it possible to tell the difference between page and frame handles that
56 should be converted to their respective UI or web process object representations
57 and handles that should stay the same (for the modern API for example).
59 * Shared/API/APIFrameHandle.cpp:
60 (API::FrameHandle::create):
61 (API::FrameHandle::createAutoconverting):
62 (API::FrameHandle::FrameHandle):
63 * Shared/API/APIFrameHandle.h:
64 (API::FrameHandle::isAutoconverting):
65 * Shared/API/APIPageHandle.cpp:
66 (API::PageHandle::create):
67 (API::PageHandle::createAutoconverting):
68 (API::PageHandle::PageHandle):
69 * Shared/API/APIPageHandle.h:
70 (API::PageHandle::isAutoconverting):
71 * Shared/API/Cocoa/_WKFrameHandle.mm:
72 (-[_WKFrameHandle initWithCoder:]):
73 * Shared/UserData.cpp:
74 (WebKit::shouldTransform):
76 * UIProcess/Cocoa/UIDelegate.mm:
77 (WebKit::UIDelegate::UIClient::printFrame):
78 * UIProcess/WebProcessProxy.cpp:
79 (WebKit::WebProcessProxy::transformHandlesToObjects):
80 (WebKit::WebProcessProxy::transformObjectsToHandles):
81 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
82 (-[WKWebProcessPlugInFrame handle]):
83 * WebProcess/WebProcess.cpp:
84 (WebKit::WebProcess::transformHandlesToObjects):
85 (WebKit::WebProcess::transformObjectsToHandles):
87 2014-12-26 Dan Bernstein <mitz@apple.com>
89 [Cocoa] Some modern SPI changes have missing or incorrect availability annotations
90 https://bugs.webkit.org/show_bug.cgi?id=139940
92 Reviewed by Darin Adler.
94 * Shared/API/c/WKDeclarationSpecifiers.h: Renamed WK_DEPRECATED to WK_C_DEPRECATED.
96 * Shared/API/Cocoa/WKFoundation.h: Define WK_DEPRECATED when API availability is not enabled
97 to mean that the declaration is currently deprecated.
99 * Shared/API/c/WKConnectionRef.h: Updated for the renaming of the existing WK_DEPRECATED to
101 * UIProcess/API/C/WKContext.h: Ditto.
102 * UIProcess/API/C/WKContextConnectionClient.h: Ditto.
103 * UIProcess/API/C/WKContextDownloadClient.h: Ditto.
104 * UIProcess/API/C/WKContextHistoryClient.h: Ditto.
105 * UIProcess/API/C/WKContextInjectedBundleClient.h: Ditto.
106 * UIProcess/API/C/WKCookieManager.h: Ditto.
107 * UIProcess/API/C/WKDatabaseManager.h: Ditto.
108 * UIProcess/API/C/WKGeolocationManager.h: Ditto.
109 * UIProcess/API/C/WKIconDatabase.h: Ditto.
110 * UIProcess/API/C/WKNotificationProvider.h: Ditto.
111 * UIProcess/API/C/WKPageContextMenuClient.h: Ditto.
112 * UIProcess/API/C/WKPageFindClient.h: Ditto.
113 * UIProcess/API/C/WKPageFindMatchesClient.h: Ditto.
114 * UIProcess/API/C/WKPageFormClient.h: Ditto.
115 * UIProcess/API/C/WKPageUIClient.h: Ditto.
116 * WebProcess/InjectedBundle/API/c/WKBundle.h: Ditto.
117 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Ditto.
118 * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Ditto.
119 * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Ditto.
120 * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Ditto.
121 * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Ditto.
122 * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Ditto.
123 * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Ditto.
124 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: Ditto.
125 * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Ditto.
126 * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Ditto.
127 * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Ditto.
129 * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added missing availability annotation.
131 * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Changed to use WK_MAC_TBA and WK_IOS_TBA for
132 _WKDebugOverlayRegions enum. Added availability annotations to new properties.
134 * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Added availability annotation to new method.
136 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Annotated new method, changed Mac
137 availability of iOS-only method to NA.
139 * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added availability annotation to new enum value,
140 new property, and new method. Added deprecation annotation to one method.
142 * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: Annotated new method.
144 * mac/rewrite-availability-macros.sh: Rewrite WK_DEPRECATED to NS_DEPRECATED.
146 2014-12-26 Dan Bernstein <mitz@apple.com>
148 <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
149 https://bugs.webkit.org/show_bug.cgi?id=139950
151 Reviewed by David Kilzer.
153 * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
154 in a manner that works with Xcode 5.1.1.
156 2014-12-25 Hunseop Jeong <hs85.jeong@samsung.com>
158 Fix build warning after r177700
159 https://bugs.webkit.org/show_bug.cgi?id=139948
161 Reviewed by Alexey Proskuryakov.
163 * UIProcess/WebConnectionToWebProcess.cpp:
164 (WebKit::WebConnectionToWebProcess::transformHandlesToObjects):
165 (WebKit::WebConnectionToWebProcess::transformObjectsToHandles):
167 2014-12-25 Chris Dumez <cdumez@apple.com>
169 [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
170 https://bugs.webkit.org/show_bug.cgi?id=139921
172 Reviewed by Gavin Barraclough and Alexey Proskuryakov.
174 Call PageCache::pruneToCapacityNow() instead of multiple calls to
175 setCapacity() as it does exactly what we want. Also pass the new
176 PrunedReason argument so help us do better logging.
178 * WebProcess/WebProcess.cpp:
179 (WebKit::WebProcess::releasePageCache):
181 2014-12-25 Commit Queue <commit-queue@webkit.org>
183 Unreviewed, rolling out r177712 and r177717.
184 https://bugs.webkit.org/show_bug.cgi?id=139944
186 Caused flaky assertion failures (Requested by ap on #webkit).
190 "[iOS] Log better using FeatureCounter why PageCache is
191 failing due to pruned resources"
192 https://bugs.webkit.org/show_bug.cgi?id=139921
193 http://trac.webkit.org/changeset/177712
195 "Unreviewed, fix build warning after r177712"
196 http://trac.webkit.org/changeset/177717
198 2014-12-24 Dan Bernstein <mitz@apple.com>
200 [Cocoa] WebKit private headers shouldn’t contain “inappropriate” macros
201 https://bugs.webkit.org/show_bug.cgi?id=139942
203 Reviewed by Darin Adler.
205 * WebKit2.xcodeproj/project.pbxproj: In the Check For Inappropriate Macros in External
206 Headers script build phase, check the PrivateHeaders directory as well.
208 2014-12-24 Dan Bernstein <mitz@apple.com>
210 Addressed a linker warning about the definition of a method in a category overridng a method from the class.
212 * UIProcess/API/mac/WKView.mm:
213 (-[WKView(Private) _targetWindowForMovePreparation]): Deleted. This was identical to the
214 definition in the main WKView implementation above.
216 2014-12-23 ChangSeok Oh <changseok.oh@collabora.com>
218 [GTK] Build fix after r177692
219 https://bugs.webkit.org/show_bug.cgi?id=139919
221 Reviewed by Gyuyoung Kim.
223 This change addresses build failures introduced after r177692.
225 * PlatformEfl.cmake: Renamed WebContextSoup to WebProcessPoolSoup.cpp
226 * PlatformGTK.cmake: ditto.
227 * UIProcess/API/gtk/PageClientImpl.cpp:
228 * UIProcess/API/gtk/WebKitDownloadClient.cpp:
229 * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
230 (webkitFormSubmissionRequestCreate):
231 (webkit_form_submission_request_get_text_fields):
232 * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
233 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
234 (didReceiveWebViewMessageFromInjectedBundle):
235 (didReceiveMessageFromInjectedBundle):
236 * UIProcess/API/gtk/WebKitSecurityManager.cpp:
237 (registerSecurityPolicyForURIScheme):
238 * UIProcess/API/gtk/WebKitWebContext.cpp:
239 (webkitWebContextConstructed):
240 (webkit_web_context_prefetch_dns):
241 (webkitWebContextGetContext):
242 * UIProcess/API/gtk/WebKitWebContextPrivate.h:
243 * UIProcess/API/gtk/WebKitWebView.cpp:
244 (webkit_web_view_get_snapshot):
245 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
246 (webkitWebViewBaseCreate):
247 (webkitWebViewBaseCreateWebPage):
248 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
249 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
250 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
251 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
252 * UIProcess/gtk/WebProcessPoolGtk.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp.
253 (WebKit::initInspectorServer):
254 (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory):
255 (WebKit::WebProcessPool::platformInitializeWebProcess):
256 (WebKit::WebProcessPool::platformInvalidateContext):
257 (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory):
258 (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory):
259 (WebKit::WebProcessPool::platformDefaultIconDatabasePath):
260 (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory):
261 (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory):
262 (WebKit::WebProcessPool::platformDefaultDiskCacheDirectory):
263 (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory):
264 (WebKit::WebProcessPool::setIgnoreTLSErrors):
265 * UIProcess/soup/WebProcessPoolSoup.cpp: Renamed from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
266 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
267 * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
268 (webkitWebExtensionDidReceiveMessage):
269 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
270 (didInitiateLoadForResource):
271 (willSendRequestForFrame):
272 (didReceiveResponseForResource):
273 (didReceiveContentLengthForResource):
274 (didFinishLoadForResource):
275 (didFailLoadForResource):
276 (webkitWebPageDidReceiveMessage):
277 * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
279 2014-12-23 Dan Bernstein <mitz@apple.com>
283 * UIProcess/API/Cocoa/WKProcessGroup.mm:
284 (-[WKProcessGroup _geolocationProvider]):
286 2014-12-23 Gyuyoung Kim <gyuyoung.kim@samsung.com>
288 [EFL][WK2] Fix a lot of build break since r177692
289 https://bugs.webkit.org/show_bug.cgi?id=139932
291 Unreviewed EFL build fix.
293 Rename WebContext with WebProcessPool in EFL port files.
296 * UIProcess/API/efl/EwkView.cpp:
297 * UIProcess/API/efl/ewk_context.cpp:
298 * UIProcess/API/efl/tests/test_ewk2_context.cpp:
300 * UIProcess/CoordinatedGraphics/WebView.cpp:
301 (WebKit::WebView::WebView):
302 * UIProcess/CoordinatedGraphics/WebView.h:
303 * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
304 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
305 (WebKit::CustomProtocolManagerProxy::startLoading):
306 (WebKit::CustomProtocolManagerProxy::stopLoading):
307 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
308 (WebKit::WebSoupCustomProtocolRequestManager::create):
309 (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
310 (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
311 (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
312 (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
313 (WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
314 (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
315 (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
316 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
317 * UIProcess/WebBatteryManagerProxy.cpp:
318 (WebKit::WebBatteryManagerProxy::create):
319 (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
320 (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus):
321 (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus):
322 * UIProcess/WebBatteryManagerProxy.h:
323 * UIProcess/WebTextChecker.cpp:
324 (WebKit::updateStateForAllContexts):
325 * UIProcess/WebVibrationProxy.cpp:
326 (WebKit::WebVibrationProxy::WebVibrationProxy):
327 (WebKit::WebVibrationProxy::~WebVibrationProxy):
328 * UIProcess/efl/RequestManagerClientEfl.h:
329 * UIProcess/efl/WebContextEfl.cpp:
330 (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory):
331 (WebKit::WebProcessPool::platformInitializeWebProcess):
332 (WebKit::WebProcessPool::platformInvalidateContext):
333 (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory):
334 (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory):
335 (WebKit::WebProcessPool::platformDefaultIconDatabasePath):
336 (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory):
337 (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory):
338 (WebKit::WebProcessPool::platformDefaultDiskCacheDirectory):
339 (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory):
340 (WebKit::WebProcessPool::setIgnoreTLSErrors):
341 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): Deleted.
342 (WebKit::WebContext::platformInitializeWebProcess): Deleted.
343 (WebKit::WebContext::platformInvalidateContext): Deleted.
344 (WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Deleted.
345 (WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Deleted.
346 (WebKit::WebContext::platformDefaultIconDatabasePath): Deleted.
347 (WebKit::WebContext::platformDefaultLocalStorageDirectory): Deleted.
348 (WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Deleted.
349 (WebKit::WebContext::platformDefaultDiskCacheDirectory): Deleted.
350 (WebKit::WebContext::platformDefaultCookieStorageDirectory): Deleted.
351 (WebKit::WebContext::setIgnoreTLSErrors): Deleted.
352 * UIProcess/efl/WebInspectorProxyEfl.cpp:
353 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
354 * UIProcess/efl/WebViewEfl.cpp:
355 (WebKit::WebView::create):
356 (WebKit::WebViewEfl::WebViewEfl):
357 * UIProcess/efl/WebViewEfl.h:
358 * UIProcess/soup/WebContextSoup.cpp:
359 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
360 (WebKit::WebContext::platformInitializeNetworkProcess): Deleted.
361 * UIProcess/soup/WebCookieManagerProxySoup.cpp:
362 (WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
363 * UIProcess/soup/WebSoupRequestManagerProxy.h:
365 2014-12-23 Sam Weinig <sam@webkit.org>
367 Remove telephone number context support from ContextMenuContextData, it is unused
368 https://bugs.webkit.org/show_bug.cgi?id=139931
370 Reviewed by Alexey Proskuryakov.
372 m_isTelephoneNumberContext was only ever set to true in the ContextMenuContextData
373 constructor that took a TelephoneNumberContextTag, which never got called. Remove it
376 * Shared/ContextMenuContextData.cpp:
377 (WebKit::ContextMenuContextData::ContextMenuContextData):
378 (WebKit::ContextMenuContextData::encode):
379 (WebKit::ContextMenuContextData::decode):
380 * Shared/ContextMenuContextData.h:
381 (WebKit::ContextMenuContextData::ContextMenuContextData):
382 (WebKit::ContextMenuContextData::isTelephoneNumberContext): Deleted.
383 * UIProcess/mac/WebContextMenuProxyMac.mm:
384 (WebKit::WebContextMenuProxyMac::showContextMenu):
386 2014-12-23 Sam Weinig <sam@webkit.org>
388 Attempt to fix the Mountain Lion build.
390 * Shared/ContextMenuContextData.h:
391 (WebKit::ContextMenuContextData::isTelephoneNumberContext):
393 2014-12-23 Anders Carlsson <andersca@apple.com>
395 Handle WKTypeRefWrapper when converting object graphs
396 https://bugs.webkit.org/show_bug.cgi?id=139927
398 Reviewed by Tim Horton.
400 * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
401 (WebKit::WebProcessProxy::transformHandlesToObjects):
402 (WebKit::WebProcessProxy::transformObjectsToHandles):
403 * WebProcess/cocoa/WebProcessCocoa.mm:
404 (WebKit::WebProcess::transformHandlesToObjects):
405 (WebKit::WebProcess::transformObjectsToHandles):
407 2014-12-23 Chris Dumez <cdumez@apple.com>
409 [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
410 https://bugs.webkit.org/show_bug.cgi?id=139921
411 <rdar://problem/19255690>
413 Reviewed by Gavin Barraclough.
415 Call PageCache::pruneToCapacityNow() instead of multiple calls to
416 setCapacity() as it does exactly what we want. Also pass the new
417 PrunedReason argument so help us do better logging.
419 * WebProcess/WebProcess.cpp:
420 (WebKit::WebProcess::releasePageCache):
422 2014-12-23 Sam Weinig <sam@webkit.org>
424 Attempt to fix the iOS build.
426 * UIProcess/API/Cocoa/WKProcessGroup.mm:
427 (-[WKProcessGroup _geolocationProvider]):
428 * UIProcess/API/ios/WKViewIOS.mm:
429 (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
431 2014-12-23 Anders Carlsson <andersca@apple.com>
433 Handle coding object graphs in the UI process
434 https://bugs.webkit.org/show_bug.cgi?id=139925
436 Reviewed by Sam Weinig.
438 * UIProcess/Cocoa/WebProcessProxyCocoa.mm: Added.
439 (WebKit::WebProcessProxy::transformHandlesToObjects):
440 (WebKit::WebProcessProxy::transformObjectsToHandles):
441 * UIProcess/WebProcessProxy.cpp:
442 (WebKit::WebProcessProxy::transformHandlesToObjects):
443 (WebKit::WebProcessProxy::transformObjectsToHandles):
444 * UIProcess/WebProcessProxy.h:
445 * WebKit2.xcodeproj/project.pbxproj:
446 * WebProcess/WebProcess.cpp:
447 (WebKit::WebProcess::transformObjectsToHandles):
448 * WebProcess/WebProcess.h:
450 2014-12-23 Sam Weinig <sam@webkit.org>
452 ContextMenuContextData should store a ShareableBitmap not a ShareableBitmap::Handle
453 https://bugs.webkit.org/show_bug.cgi?id=139924
455 Reviewed by Anders Carlsson.
457 Replaces the ShareableBitmap::Handle in ContextMenuContextData with a RefPtr<ShareableBitmap>.
458 Removes the now unnecessary override copy-constructor and assignment-operator.
460 * Shared/ContextMenuContextData.cpp:
461 (WebKit::ContextMenuContextData::ContextMenuContextData):
462 (WebKit::ContextMenuContextData::encode):
463 (WebKit::ContextMenuContextData::decode):
464 (WebKit::ContextMenuContextData::controlledDataIsEditable):
465 (WebKit::ContextMenuContextData::operator=): Deleted.
466 * Shared/ContextMenuContextData.h:
467 (WebKit::ContextMenuContextData::ContextMenuContextData):
468 (WebKit::ContextMenuContextData::controlledImage):
469 (WebKit::ContextMenuContextData::needsServicesMenu):
470 (WebKit::ContextMenuContextData::controlledImageHandle): Deleted.
471 * UIProcess/WebPageProxy.cpp:
472 (WebKit::WebPageProxy::internalShowContextMenu):
473 * UIProcess/mac/WebContextMenuProxyMac.mm:
474 (WebKit::WebContextMenuProxyMac::setupServicesMenu):
476 2014-12-23 Chris Dumez <cdumez@apple.com>
478 Unreviewed iOS build fix after 177692.
480 Missing WebKit:: namespace.
482 * UIProcess/ios/WKContentView.h:
484 2014-12-23 Anders Carlsson <andersca@apple.com>
488 * WebProcess/cocoa/WebProcessCocoa.mm:
489 (WebKit::WebProcess::transformHandlesToObjects):
490 (WebKit::WebProcess::transformObjectsToHandles):
492 2014-12-23 Timothy Horton <timothy_horton@apple.com>
494 Install a TextIndicator for link immediate actions
495 https://bugs.webkit.org/show_bug.cgi?id=139897
496 <rdar://problem/19333076>
498 Reviewed by Anders Carlsson.
500 * UIProcess/mac/WKImmediateActionController.mm:
501 (-[WKImmediateActionController _defaultAnimationController]):
502 Install the link's TextIndicator.
504 (-[WKImmediateActionController menuItemDidClose:]):
505 Dismiss the TextIndicator and clean up when the item closes.
507 2014-12-23 Timothy Horton <timothy_horton@apple.com>
509 Expose ElementBoundingBox on WKHitTestResult
510 https://bugs.webkit.org/show_bug.cgi?id=139895
511 <rdar://problem/19333075>
513 Reviewed by Dan Bernstein.
515 * UIProcess/API/C/WKHitTestResult.cpp:
516 (WKHitTestResultGetElementBoundingBox):
517 * UIProcess/API/C/WKHitTestResult.h:
520 2014-12-23 Timothy Horton <timothy_horton@apple.com>
522 Remove the custom web page preview code
523 https://bugs.webkit.org/show_bug.cgi?id=139894
524 <rdar://problem/19333074>
526 Reviewed by Dan Bernstein.
528 * UIProcess/API/Cocoa/WKViewPrivate.h:
529 * UIProcess/API/mac/WKView.mm:
530 (-[WKView _dismissContentRelativeChildWindows]):
531 (-[WKView _viewForPreviewingURL:initialFrameSize:]): Deleted.
532 (-[WKView _titleForPreviewOfURL:]): Deleted.
533 (-[WKView _setPreviewTitle:]): Deleted.
534 (-[WKView _setPreviewLoading:]): Deleted.
535 (-[WKView _setPreviewOverrideImage:]): Deleted.
536 (-[WKView _finishPreviewingURL:withPreviewView:]): Deleted.
537 (-[WKView _handleClickInPreviewView:URL:]): Deleted.
538 (-[WKView _shouldUseStandardQuickLookPreview]): Deleted.
539 * UIProcess/mac/WKImmediateActionController.h:
540 * UIProcess/mac/WKImmediateActionController.mm:
541 (-[WKImmediateActionController willDestroyView:]):
542 (-[WKImmediateActionController _clearImmediateActionState]):
543 (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
544 (-[WKImmediateActionController _defaultAnimationController]):
545 (-[WKImmediateActionController hidePreview]): Deleted.
546 (-[WKImmediateActionController setPreviewTitle:]): Deleted.
547 (-[WKImmediateActionController setPreviewLoading:]): Deleted.
548 (-[WKImmediateActionController setPreviewOverrideImage:]): Deleted.
549 (-[WKImmediateActionController _animationControllerForCustomPreview]): Deleted.
550 * UIProcess/mac/WKPagePreviewViewController.h: Removed.
551 * UIProcess/mac/WKPagePreviewViewController.mm: Removed.
552 * UIProcess/mac/WKPreviewPopoverAnimationController.h: Removed.
553 * UIProcess/mac/WKPreviewPopoverAnimationController.mm: Removed.
554 * WebKit2.xcodeproj/project.pbxproj:
555 Remove all of the custom web page preview code. Clients that want the custom
556 preview can implement it by overriding the immediate action.
558 2014-12-23 Anders Carlsson <andersca@apple.com>
560 Add WebProcessProxy::transformHandlesToObjects
561 https://bugs.webkit.org/show_bug.cgi?id=139922
563 Reviewed by Tim Horton.
565 This will be used to convert between the handles and their respective UI side objects.
567 * UIProcess/WebProcessProxy.cpp:
568 (WebKit::WebProcessProxy::transformHandlesToObjects):
569 (WebKit::WebProcessProxy::transformObjectsToHandles):
570 (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): Deleted.
571 * UIProcess/WebProcessProxy.h:
573 2014-12-23 Anders Carlsson <andersca@apple.com>
575 Add handle transform functions to WebConnection
576 https://bugs.webkit.org/show_bug.cgi?id=139920
578 Reviewed by Sam Weinig.
580 This will be used by the web connection code to convert between objects and their respective handles.
582 * Shared/WebConnection.h:
583 * UIProcess/WebConnectionToWebProcess.cpp:
584 (WebKit::WebConnectionToWebProcess::transformHandlesToObjects):
585 (WebKit::WebConnectionToWebProcess::transformObjectsToHandles):
586 * UIProcess/WebConnectionToWebProcess.h:
587 * WebProcess/WebConnectionToUIProcess.cpp:
588 (WebKit::WebConnectionToUIProcess::transformHandlesToObjects):
589 (WebKit::WebConnectionToUIProcess::transformObjectsToHandles):
590 * WebProcess/WebConnectionToUIProcess.h:
592 2014-12-23 Sam Weinig <sam@webkit.org>
594 Rename ImmutableDictionary to API::Dictionary and merge MutableDictionary into it
595 https://bugs.webkit.org/show_bug.cgi?id=139917
597 Reviewed by Anders Carlsson.
599 - Renames ImmutableDictionary -> API::Dictionary
600 - Merges MutableDictionary into the new API::Dictionary
601 (as a result WKDictionaryIsMutable() now always returns true)
605 2014-12-23 Anders Carlsson <andersca@apple.com>
607 Add WebProcess::transformObjectsToHandles
608 https://bugs.webkit.org/show_bug.cgi?id=139918
610 Reviewed by Tim Horton.
612 This function will be used for transforming bundle objects to their respective handle types
613 when sending messages to the UI process.
615 * WebProcess/WebProcess.cpp:
616 (WebKit::WebProcess::transformHandlesToObjects):
617 (WebKit::WebProcess::transformObjectsToHandles):
618 * WebProcess/WebProcess.h:
619 * WebProcess/cocoa/WebProcessCocoa.mm:
620 (WebKit::WebProcess::transformHandlesToObjects):
621 (WebKit::WebProcess::transformObjectsToHandles):
623 2014-12-23 Anders Carlsson <andersca@apple.com>
625 Move dynamic_objc_cast to RetainPtr.h
626 https://bugs.webkit.org/show_bug.cgi?id=139915
628 Reviewed by Sam Weinig.
630 * Shared/mac/ObjCObjectGraph.mm:
631 (WebKit::dynamic_objc_cast): Deleted.
633 2014-12-23 Anders Carlsson <andersca@apple.com>
635 Add WebProcess::transformHandlesToObjects
636 https://bugs.webkit.org/show_bug.cgi?id=139913
638 Reviewed by Tim Horton.
640 Rename objectGraphByTransformingObjectsToHandles to transformObjectsToHandles and add
641 transformHandlesToObjects that will try to convert handles to the actual bundle type objects.
643 * WebProcess/WebProcess.h:
644 * WebProcess/cocoa/WebProcessCocoa.mm:
645 (WebKit::WebProcess::transformHandlesToObjects):
646 (WebKit::WebProcess::transformObjectsToHandles):
647 (WebKit::WebProcess::objectGraphByTransformingObjectsToHandles): Deleted.
649 2014-12-23 Anders Carlsson <andersca@apple.com>
651 Add WebProcess::objectGraphByTransformingObjectsToHandles
652 https://bugs.webkit.org/show_bug.cgi?id=139912
654 Reviewed by Tim Horton.
656 This will be used to convert Objective-C object graphs containing bundle types to their handle counterparts.
658 * WebProcess/WebProcess.cpp:
659 (WebKit::WebProcess::transformHandlesToObjects):
660 (WebKit::WebProcess::apiObjectByConvertingFromHandles): Deleted.
661 Rename apiObjectByConvertingFromHandles to transformHandlesToObjects.
663 * WebProcess/WebProcess.h:
664 * WebProcess/cocoa/WebProcessCocoa.mm:
665 (WebKit::WebProcess::objectGraphByTransformingObjectsToHandles):
667 2014-12-23 Anders Carlsson <andersca@apple.com>
669 Fix UserMessage::transform to only call shouldTransform once
670 https://bugs.webkit.org/show_bug.cgi?id=139911
672 Reviewed by Sam Weinig.
674 Also, make it possible for transformers to return null objects and change the transformers
675 to return the passed in object when there's no need to do a transform.
677 * Shared/UserData.cpp:
678 (WebKit::transformGraph):
679 (WebKit::UserData::transform):
680 (WebKit::UserData::encode): Deleted.
681 (WebKit::UserData::decode): Deleted.
682 * UIProcess/WebProcessProxy.cpp:
683 (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
684 * WebProcess/WebProcess.cpp:
685 (WebKit::WebProcess::apiObjectByConvertingFromHandles):
687 2014-12-23 Sam Weinig <sam@webkit.org>
689 Rename WebContext to WebProcessPool
690 https://bugs.webkit.org/show_bug.cgi?id=139909
692 Rubber-stamped by Anders Carlsson.
695 WebContext -> WebProcessPool
696 WebContextConfiguration -> WebProcessPoolConfiguration
697 API::ContextConfiguration -> API::ProcessPoolConfiguration
701 2014-12-23 Anders Carlsson <andersca@apple.com>
703 Only call shouldTransformGraph once per graph
704 https://bugs.webkit.org/show_bug.cgi?id=139910
706 Reviewed by Sam Weinig.
708 Don't call shouldTransformGraph for each node in the object graph. Instead, call it once
709 and then transform the entire graph if needed.
711 * Shared/mac/ObjCObjectGraph.h:
712 * Shared/mac/ObjCObjectGraph.mm:
713 (WebKit::shouldTransformGraph):
714 (WebKit::transformGraph):
715 (WebKit::ObjCObjectGraph::transform):
716 (WebKit::shouldTransform): Deleted.
718 2014-12-22 Anders Carlsson <andersca@apple.com>
720 Use a Transformer for UserData as well, to avoid always copying arrays and dictionaries
721 https://bugs.webkit.org/show_bug.cgi?id=139896
723 Reviewed by Darin Adler.
725 * Shared/UserData.cpp:
726 (WebKit::shouldTransform):
727 (WebKit::UserData::transform):
729 (WebKit::UserData::Transformer::~Transformer):
730 * UIProcess/WebProcessProxy.cpp:
731 (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
732 * WebProcess/WebProcess.cpp:
733 (WebKit::WebProcess::apiObjectByConvertingFromHandles):
735 2014-12-22 Anders Carlsson <andersca@apple.com>
737 Make it possible to transform Objective-C object graphs, replacing certain elements with others
738 https://bugs.webkit.org/show_bug.cgi?id=139893
740 Reviewed by Sam Weinig.
742 * Shared/mac/ObjCObjectGraph.h:
743 (WebKit::ObjCObjectGraph::Transformer::~Transformer):
744 * Shared/mac/ObjCObjectGraph.mm:
745 (WebKit::dynamic_objc_cast):
746 (WebKit::shouldTransform):
747 (WebKit::ObjCObjectGraph::transform):
749 2014-12-22 Jaehun Lim <ljaehun.lim@samsung.com>
751 Unreviewed build fix after r177661 and r177662
753 * CMakeLists.txt: Add APIPageGroupHandle.cpp to the source list.
755 2014-12-22 Anders Carlsson <andersca@apple.com>
757 Convert pages and page groups to their respective handle objects
758 https://bugs.webkit.org/show_bug.cgi?id=139891
760 Reviewed by Tim Horton.
762 * UIProcess/WebProcessProxy.cpp:
763 (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
764 * WebProcess/WebProcess.cpp:
765 (WebKit::WebProcess::apiObjectByConvertingFromHandles):
767 2014-12-22 Anders Carlsson <andersca@apple.com>
769 Add a bunch of missing header includes in preparation for making toImpl require the complete type
770 https://bugs.webkit.org/show_bug.cgi?id=139887
772 Reviewed by Andreas Kling.
774 * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
775 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
776 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
777 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
778 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
779 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
780 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
781 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
782 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
783 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
784 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
786 2014-12-22 Chris Dumez <cdumez@apple.com>
788 [iOS] Log using FeatureCounter user-triggered zooming
789 https://bugs.webkit.org/show_bug.cgi?id=139879
790 <rdar://problem/19329130>
792 Reviewed by Benjamin Poulain.
794 Log using FeatureCounter user-triggered zooming on iOS.
796 * WebProcess/WebPage/ios/WebPageIOS.mm:
797 (WebKit::WebPage::willStartUserTriggeredZooming):
799 2014-12-22 Anders Carlsson <andersca@apple.com>
801 Add an API::PageGroupHandle object
802 https://bugs.webkit.org/show_bug.cgi?id=139881
804 Reviewed by Sam Weinig.
806 API::PageGroupHandle won't be exposed to any API, it will only be used to facilitate passing page groups
807 between the UI and web process inside UserData objects.
809 * Shared/API/APIObject.h:
810 * Shared/API/APIPageGroupHandle.cpp: Added.
811 (API::PageGroupHandle::create):
812 (API::PageGroupHandle::~PageGroupHandle):
813 (API::PageGroupHandle::PageGroupHandle):
814 * Shared/API/APIPageGroupHandle.h: Added.
815 (API::PageGroupHandle::webPageGroupData):
816 * Shared/UserData.cpp:
817 (WebKit::UserData::UserData):
818 (WebKit::UserData::encode):
819 (WebKit::UserData::decode):
821 * UIProcess/WebPageGroup.h:
822 (WebKit::WebPageGroup::data):
823 * UIProcess/WebProcessProxy.cpp:
824 (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
825 * WebKit2.xcodeproj/project.pbxproj:
827 2014-12-22 Daniel Bates <dabates@apple.com>
829 Fix the iOS build after <https://trac.webkit.org/changeset/177639>
830 (https://bugs.webkit.org/show_bug.cgi?id=139866)
832 Substitute APISecurityOrigin.h for WebSecurityOrigin.h as the latter was renamed to the former.
834 * UIProcess/ios/WKGeolocationProviderIOS.mm:
836 2014-12-22 Csaba Osztrogonác <ossy@webkit.org>
842 2014-12-22 Csaba Osztrogonác <ossy@webkit.org>
844 Last URTBF after r177639, GTK builds now.
846 * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
847 * UIProcess/API/gtk/WebKitUIClient.cpp:
848 * UIProcess/API/gtk/WebKitUserContentManager.cpp:
849 * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
850 (webkitUserMediaPermissionRequestCreate):
851 * UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h:
852 * UIProcess/API/gtk/WebKitWebView.cpp:
853 (webkitWebViewRunJavaScriptCallback):
854 (webkit_web_view_run_javascript):
855 (resourcesStreamReadCallback):
857 2014-12-22 Anders Carlsson <andersca@apple.com>
859 Move more API classes from Shared to Shared/API.
861 Rubber-stamped by Sam Weinig.
863 * Shared/API/APIArray.cpp: Renamed from Source/WebKit2/Shared/APIArray.cpp.
864 * Shared/API/APIArray.h: Renamed from Source/WebKit2/Shared/APIArray.h.
865 * Shared/API/APIClient.h: Renamed from Source/WebKit2/Shared/APIClient.h.
866 * Shared/API/APIData.cpp: Renamed from Source/WebKit2/Shared/APIData.cpp.
867 * Shared/API/APIData.h: Renamed from Source/WebKit2/Shared/APIData.h.
868 * Shared/API/APIError.cpp: Renamed from Source/WebKit2/Shared/APIError.cpp.
869 * Shared/API/APIError.h: Renamed from Source/WebKit2/Shared/APIError.h.
870 * Shared/API/APIFrameHandle.cpp: Renamed from Source/WebKit2/Shared/APIFrameHandle.cpp.
871 * Shared/API/APIFrameHandle.h: Renamed from Source/WebKit2/Shared/APIFrameHandle.h.
872 * Shared/API/APIGeometry.cpp: Renamed from Source/WebKit2/Shared/APIGeometry.cpp.
873 * Shared/API/APIGeometry.h: Renamed from Source/WebKit2/Shared/APIGeometry.h.
874 * Shared/API/APINumber.h: Renamed from Source/WebKit2/Shared/APINumber.h.
875 * Shared/API/APIObject.cpp: Renamed from Source/WebKit2/Shared/APIObject.cpp.
876 * Shared/API/APIObject.h: Renamed from Source/WebKit2/Shared/APIObject.h.
877 * Shared/API/APIPageHandle.cpp: Renamed from Source/WebKit2/Shared/APIPageHandle.cpp.
878 * Shared/API/APIPageHandle.h: Renamed from Source/WebKit2/Shared/APIPageHandle.h.
879 * Shared/API/APIString.h: Renamed from Source/WebKit2/Shared/APIString.h.
880 * Shared/API/APIURL.h: Renamed from Source/WebKit2/Shared/APIURL.h.
881 * Shared/API/APIURLRequest.cpp: Renamed from Source/WebKit2/Shared/APIURLRequest.cpp.
882 * Shared/API/APIURLRequest.h: Renamed from Source/WebKit2/Shared/APIURLRequest.h.
883 * Shared/API/APIURLResponse.cpp: Renamed from Source/WebKit2/Shared/APIURLResponse.cpp.
884 * Shared/API/APIURLResponse.h: Renamed from Source/WebKit2/Shared/APIURLResponse.h.
886 2014-12-22 Csaba Osztrogonác <ossy@webkit.org>
888 One more URTBF after r177639 to try to make GTK happy.
890 * UIProcess/API/gtk/WebKitUserContentManager.cpp:
892 2014-12-22 Csaba Osztrogonác <ossy@webkit.org>
894 URTBF after r177639 to try to make GTK happy.
896 * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
898 2014-12-22 Anders Carlsson <andersca@apple.com>
900 Rename a bunch of API classes and move them to Shared/API
901 https://bugs.webkit.org/show_bug.cgi?id=139866
903 Reviewed by Sam Weinig.
905 * Shared/API/APISecurityOrigin.h: Renamed from Source/WebKit2/Shared/WebSecurityOrigin.h.
906 (API::SecurityOrigin::createFromString):
907 (API::SecurityOrigin::create):
908 (API::SecurityOrigin::securityOrigin):
909 (API::SecurityOrigin::SecurityOrigin):
910 * Shared/API/APISerializedScriptValue.h: Renamed from Source/WebKit2/Shared/WebSerializedScriptValue.h.
911 (API::SerializedScriptValue::create):
912 (API::SerializedScriptValue::adopt):
913 (API::SerializedScriptValue::deserialize):
914 (API::SerializedScriptValue::dataReference):
915 (API::SerializedScriptValue::internalRepresentation):
916 (API::SerializedScriptValue::SerializedScriptValue):
917 * Shared/API/APIUserContentURLPattern.h: Renamed from Source/WebKit2/Shared/WebUserContentURLPattern.h.
918 (API::UserContentURLPattern::create):
919 (API::UserContentURLPattern::host):
920 (API::UserContentURLPattern::scheme):
921 (API::UserContentURLPattern::isValid):
922 (API::UserContentURLPattern::matchesURL):
923 (API::UserContentURLPattern::matchesSubdomains):
924 (API::UserContentURLPattern::patternString):
925 (API::UserContentURLPattern::UserContentURLPattern):
926 * Shared/API/c/WKSecurityOrigin.cpp:
927 (WKSecurityOriginGetTypeID):
928 (WKSecurityOriginCreateFromString):
929 (WKSecurityOriginCreateFromDatabaseIdentifier):
930 (WKSecurityOriginCreate):
931 * Shared/API/c/WKSerializedScriptValue.cpp:
932 (WKSerializedScriptValueGetTypeID):
933 (WKSerializedScriptValueCreate):
934 (WKSerializedScriptValueCreateWithInternalRepresentation):
935 * Shared/API/c/WKSharedAPICast.h:
936 (WebKit::toCopiedAPI):
937 * Shared/API/c/WKUserContentURLPattern.cpp:
938 (WKUserContentURLPatternGetTypeID):
939 (WKUserContentURLPatternCreate):
940 * Shared/SecurityOriginData.cpp:
941 (WebKit::performAPICallbackWithSecurityOriginDataVector):
942 * Shared/UserData.cpp:
943 (WebKit::UserData::encode):
944 (WebKit::UserData::decode):
945 * Shared/UserMessageCoders.h:
946 (WebKit::UserMessageEncoder::baseEncode):
947 (WebKit::UserMessageDecoder::baseDecode):
948 * UIProcess/API/APIUIClient.h:
949 (API::UIClient::exceededDatabaseQuota):
950 (API::UIClient::decidePolicyForGeolocationPermissionRequest):
951 (API::UIClient::decidePolicyForUserMediaPermissionRequest):
952 (API::UIClient::decidePolicyForNotificationPermissionRequest):
953 * UIProcess/API/C/WKNotification.cpp:
954 * UIProcess/API/C/WKPage.cpp:
955 (WKPageSetPageUIClient):
956 * UIProcess/API/Cocoa/WKWebView.mm:
957 (-[WKWebView evaluateJavaScript:completionHandler:]):
958 * UIProcess/Cocoa/UIDelegate.h:
959 * UIProcess/Cocoa/UIDelegate.mm:
960 (WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
961 * UIProcess/GenericCallback.h:
962 * UIProcess/Notifications/WebNotification.cpp:
963 (WebKit::WebNotification::WebNotification):
964 * UIProcess/Notifications/WebNotification.h:
965 (WebKit::WebNotification::origin):
966 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
967 (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
968 (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
969 * UIProcess/Notifications/WebNotificationManagerProxy.h:
970 * UIProcess/Notifications/WebNotificationProvider.cpp:
971 * UIProcess/Notifications/WebNotificationProvider.h:
972 * UIProcess/PageClient.h:
973 (WebKit::PageClient::decidePolicyForGeolocationPermissionRequest):
974 * UIProcess/WebApplicationCacheManagerProxy.cpp:
975 (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
976 * UIProcess/WebApplicationCacheManagerProxy.h:
977 * UIProcess/WebCookieManagerProxy.cpp:
978 * UIProcess/WebDatabaseManagerProxy.cpp:
979 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
980 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
981 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
982 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
983 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
984 (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
985 (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
986 * UIProcess/WebDatabaseManagerProxy.h:
987 * UIProcess/WebDatabaseManagerProxyClient.cpp:
988 (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
989 (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
990 * UIProcess/WebDatabaseManagerProxyClient.h:
991 * UIProcess/WebKeyValueStorageManager.cpp:
992 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
993 (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
994 (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
995 * UIProcess/WebKeyValueStorageManager.h:
996 * UIProcess/WebMediaCacheManagerProxy.cpp:
997 * UIProcess/WebOriginDataManagerProxy.cpp:
998 (WebKit::WebOriginDataManagerProxy::didGetOrigins):
999 (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
1000 * UIProcess/WebOriginDataManagerProxy.h:
1001 * UIProcess/WebPageProxy.cpp:
1002 (WebKit::WebPageProxy::runJavaScriptInMainFrame):
1003 (WebKit::WebPageProxy::scriptValueCallback):
1004 (WebKit::WebPageProxy::exceededDatabaseQuota):
1005 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
1006 (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
1007 (WebKit::WebPageProxy::requestNotificationPermission):
1008 * UIProcess/WebPageProxy.h:
1009 * UIProcess/WebResourceCacheManagerProxy.cpp:
1010 (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
1011 * UIProcess/WebResourceCacheManagerProxy.h:
1012 * UIProcess/ios/PageClientImplIOS.h:
1013 * UIProcess/ios/PageClientImplIOS.mm:
1014 (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
1015 * UIProcess/ios/WKContentView.h:
1016 * WebKit2.xcodeproj/project.pbxproj:
1017 * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
1018 (API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota):
1019 (API::InjectedBundle::PageUIClient::didExceedDatabaseQuota):
1020 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1021 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1022 (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
1023 (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
1024 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1025 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1026 (WebKit::WebChromeClient::exceededDatabaseQuota):
1027 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
1029 2014-12-21 Sam Weinig <sam@webkit.org>
1031 Allow the WebContext's history client to coexist with WKWebView's history delegate
1032 https://bugs.webkit.org/show_bug.cgi?id=139857
1034 Reviewed by Anders Carlsson.
1036 - Renames API::HistoryClient to API::LegacyContextHistoryClient to make it clear what it is for.
1037 - Re-routes the history client functions from the WebProcessProxy to the WebPageProxy.
1038 - Add history client functions to API::LoaderClient and implement them for NavigationState's
1039 LoaderClient subclass. Removes the need for WKProcessPool to have to setup a history client and
1040 forward to the NavigationState.
1042 * UIProcess/API/APIHistoryClient.h: Removed.
1043 * UIProcess/API/APILegacyContextHistoryClient.h: Copied from Source/WebKit2/UIProcess/API/APIHistoryClient.h.
1044 (API::LegacyContextHistoryClient::~LegacyContextHistoryClient):
1045 (API::LegacyContextHistoryClient::didNavigateWithNavigationData):
1046 (API::LegacyContextHistoryClient::didPerformClientRedirect):
1047 (API::LegacyContextHistoryClient::didPerformServerRedirect):
1048 (API::LegacyContextHistoryClient::didUpdateHistoryTitle):
1049 (API::LegacyContextHistoryClient::populateVisitedLinks):
1050 (API::HistoryClient::~HistoryClient): Deleted.
1051 (API::HistoryClient::didNavigateWithNavigationData): Deleted.
1052 (API::HistoryClient::didPerformClientRedirect): Deleted.
1053 (API::HistoryClient::didPerformServerRedirect): Deleted.
1054 (API::HistoryClient::didUpdateHistoryTitle): Deleted.
1055 (API::HistoryClient::populateVisitedLinks): Deleted.
1056 * UIProcess/API/APILoaderClient.h:
1057 (API::LoaderClient::didNavigateWithNavigationData):
1058 (API::LoaderClient::didPerformClientRedirect):
1059 (API::LoaderClient::didPerformServerRedirect):
1060 (API::LoaderClient::didUpdateHistoryTitle):
1061 * UIProcess/API/C/WKContext.cpp:
1062 (WKContextSetHistoryClient):
1063 * UIProcess/API/Cocoa/WKProcessPool.mm:
1064 (-[WKProcessPool _initWithConfiguration:]):
1065 * UIProcess/API/mac/WKView.mm:
1066 * UIProcess/Cocoa/HistoryClient.h: Removed.
1067 * UIProcess/Cocoa/HistoryClient.mm: Removed.
1068 * UIProcess/Cocoa/NavigationState.h:
1069 * UIProcess/Cocoa/NavigationState.mm:
1070 (WebKit::NavigationState::LoaderClient::didNavigateWithNavigationData):
1071 (WebKit::NavigationState::LoaderClient::didPerformClientRedirect):
1072 (WebKit::NavigationState::LoaderClient::didPerformServerRedirect):
1073 (WebKit::NavigationState::LoaderClient::didUpdateHistoryTitle):
1074 (WebKit::NavigationState::didNavigateWithNavigationData): Deleted.
1075 (WebKit::NavigationState::didPerformClientRedirect): Deleted.
1076 (WebKit::NavigationState::didPerformServerRedirect): Deleted.
1077 (WebKit::NavigationState::didUpdateHistoryTitle): Deleted.
1078 * UIProcess/WebContext.cpp:
1079 (WebKit::WebContext::WebContext):
1080 (WebKit::WebContext::setHistoryClient):
1081 (WebKit::WebContext::populateVisitedLinks):
1082 * UIProcess/WebContext.h:
1083 (WebKit::WebContext::historyClient):
1084 * UIProcess/WebPageProxy.cpp:
1085 (WebKit::WebPageProxy::didNavigateWithNavigationData):
1086 (WebKit::WebPageProxy::didPerformClientRedirect):
1087 (WebKit::WebPageProxy::didPerformServerRedirect):
1088 (WebKit::WebPageProxy::didUpdateHistoryTitle):
1089 * UIProcess/WebPageProxy.h:
1090 * UIProcess/WebPageProxy.messages.in:
1091 * UIProcess/WebProcessProxy.cpp:
1092 (WebKit::WebProcessProxy::didNavigateWithNavigationData): Deleted.
1093 (WebKit::WebProcessProxy::didPerformClientRedirect): Deleted.
1094 (WebKit::WebProcessProxy::didPerformServerRedirect): Deleted.
1095 (WebKit::WebProcessProxy::didUpdateHistoryTitle): Deleted.
1096 * UIProcess/WebProcessProxy.h:
1097 * UIProcess/WebProcessProxy.messages.in:
1098 * WebKit2.xcodeproj/project.pbxproj:
1099 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1100 (WebKit::WebFrameLoaderClient::updateGlobalHistory):
1101 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
1102 (WebKit::WebFrameLoaderClient::setTitle):
1104 2014-12-22 Michael Catanzaro <mcatanzaro@igalia.com>
1106 [GTK] another outdated comment
1107 https://bugs.webkit.org/show_bug.cgi?id=139863
1109 Reviewed by Darin Adler.
1111 Remove outdated comment. We nowadays block untrusted connections by
1114 * WebProcess/gtk/WebProcessMainGtk.cpp:
1116 2014-12-21 Eric Carlson <eric.carlson@apple.com>
1118 [iOS] avoid WebVideoFullscreenManager crash
1119 https://bugs.webkit.org/show_bug.cgi?id=139852
1120 <rdar://problem/19319302>
1122 Reviewed by Darin Adler.
1124 * WebProcess/ios/WebVideoFullscreenManager.mm:
1125 (WebKit::WebVideoFullscreenManager::didExitFullscreen): NULL-check m_layerHostingContext and m_page.
1126 (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): NULL-check m_layerHostingContext.
1128 2014-12-21 David Kilzer <ddkilzer@apple.com>
1130 Fix WebKit2 build with newer clang compiler
1132 Fixes the following build error:
1134 In file included from DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:32:
1135 Source/WebKit2/Platform/IPC/HandleMessage.h:16:25: error: non-const lvalue reference to type 'Vector<[3 * ...]>' cannot bind to a temporary of type 'Vector<[3 * ...]>'
1136 (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))...);
1137 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1138 Source/WebKit2/Platform/IPC/HandleMessage.h:22:5: note: in instantiation of function template specialization 'IPC::callMemberFunctionImpl<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, 0>' requested here
1139 callMemberFunctionImpl(object, function, std::forward<ArgsTuple>(args), ArgsIndicies());
1141 Source/WebKit2/Platform/IPC/HandleMessage.h:120:5: note: in instantiation of function template specialization 'IPC::callMemberFunction<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, std::make_index_sequence<1> >' requested here
1142 callMemberFunction(WTF::move(arguments), object, function);
1144 DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:55:14: note: in instantiation of function template specialization 'IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector, WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &)>' requested here
1145 IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector>(decoder, this, &WebVideoFullscreenManagerProxy::setSeekableRangesVector);
1148 * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
1149 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1150 (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
1151 Make Vector<std::pair<double, double>>& argument const because a
1152 temporary is not allowed to bind to a non-const reference.
1154 2014-12-20 Eric Carlson <eric.carlson@apple.com>
1156 [iOS] add optimized fullscreen API
1157 https://bugs.webkit.org/show_bug.cgi?id=139833
1158 <rdar://problem/18844486>
1160 Reviewed by Simon Fraser.
1162 * Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.
1164 2014-12-20 David Kilzer <ddkilzer@apple.com>
1166 Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
1167 <http://webkit.org/b/139463>
1169 Reviewed by Mark Rowe.
1171 * Configurations/All.xcconfig:
1172 - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
1173 * Configurations/Base.xcconfig:
1174 - Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and
1176 * Configurations/BaseLegacyProcess.xcconfig:
1177 - Only set SKIP_INSTALL on iOS.
1178 * Configurations/BaseTarget.xcconfig:
1179 - Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
1180 SDK, and simply them.
1181 * Configurations/BaseXPCService.xcconfig:
1182 - Set INSTALL_PATH_ACTUAL_Normal based on SDK.
1183 * Configurations/DebugRelease.xcconfig:
1184 - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
1185 - Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
1186 * Configurations/NetworkProcess.xcconfig:
1187 - Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on
1189 * Configurations/NetworkService.Development.xcconfig:
1190 - Set INFOPLIST_FILE based on SDK.
1191 - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
1192 * Configurations/NetworkService.xcconfig:
1193 - Set INFOPLIST_FILE based on SDK.
1194 - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
1195 * Configurations/PluginProcess.xcconfig:
1196 - Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS.
1197 * Configurations/PluginProcessShim.xcconfig:
1198 - Set OTHER_LDFLAGS based on SDK.
1199 * Configurations/PluginService.32.xcconfig:
1200 - Only set VALID_ARCHS on OS X.
1201 - Set OTHER_LDFLAGS based on platform-specific values.
1202 - Only set SKIP_INSTALL on iOS.
1203 * Configurations/PluginService.64.xcconfig:
1204 - Set ARCHS based on SDK.
1205 - Set OTHER_LDFLAGS based on platform-specific values.
1206 - Only set SKIP_INSTALL on iOS.
1207 * Configurations/PluginService.Development.xcconfig:
1208 - Only set SKIP_INSTALL on iOS.
1209 - Set OTHER_LDFLAGS based on platform-specific values.
1210 * Configurations/SecItemShim.xcconfig:
1211 - Set OTHER_LDFLAGS based on platform-specific values.
1212 * Configurations/Version.xcconfig:
1213 - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
1214 * Configurations/WebContentProcess.xcconfig:
1215 - Only set EXCLUDED_SHIM_FILE_NAME on iOS.
1216 - Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator.
1217 * Configurations/WebContentService.Development.xcconfig:
1218 - Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK.
1219 - Only set CODE_SIGN_ENTITLEMENTS on iOS hardware.
1220 - Set OTHER_LDFLAGS based on platform-specific values.
1221 * Configurations/WebContentService.xcconfig: Ditto.
1222 * Configurations/WebKit.xcconfig:
1223 - Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and
1224 WK_API_AVAILABILITY_ENABLED based on SDK.
1225 - Set OTHER_LDFLAGS based on platform-specific values.
1226 - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
1227 * Configurations/WebKit2.xcconfig:
1228 - Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE,
1229 NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and
1230 NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK.
1231 - Set SKIP_INSTALL on iOS.
1232 * Configurations/WebProcessShim.xcconfig:
1233 - Set OTHER_LDFLAGS based on platform-specific values.
1235 2014-12-19 Jessie Berlin <jberlin@webkit.org>
1239 * UIProcess/mac/WebInspectorProxyMac.mm:
1241 2014-12-19 Jessie Berlin <jberlin@webkit.org>
1243 Simplify the build fixes from r177615 and r177617.
1245 Rubber-stamped by Dan Bernstein.
1247 * UIProcess/mac/WebInspectorProxyMac.mm:
1249 2014-12-19 Jessie Berlin <jberlin@webkit.org>
1251 Another attempt at a speculative build fix.
1253 * UIProcess/mac/WebInspectorProxyMac.mm:
1255 2014-12-19 Jessie Berlin <jberlin@webkit.org>
1257 Speculative build fix after r177610.
1259 * UIProcess/mac/WebInspectorProxyMac.mm:
1261 2014-12-19 Chris Dumez <cdumez@apple.com>
1263 [iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
1264 https://bugs.webkit.org/show_bug.cgi?id=139835
1265 <rdar://problem/19312042>
1267 Reviewed by Anders Carlsson.
1269 Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
1270 so that they can be implemented in MobileSafari.
1272 * UIProcess/API/APIUIClient.h:
1273 (API::UIClient::didEnterFullscreen):
1274 (API::UIClient::didExitFullscreen):
1275 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
1276 * UIProcess/Cocoa/UIDelegate.h:
1277 * UIProcess/Cocoa/UIDelegate.mm:
1278 (WebKit::UIDelegate::setDelegate):
1279 (WebKit::UIDelegate::UIClient::didEnterFullscreen):
1280 (WebKit::UIDelegate::UIClient::didExitFullscreen):
1281 * UIProcess/WebPageProxy.cpp:
1282 (WebKit::WebPageProxy::didEnterFullscreen):
1283 (WebKit::WebPageProxy::didExitFullscreen):
1284 * UIProcess/WebPageProxy.h:
1285 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1286 (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
1287 (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):
1289 2014-12-19 Joseph Pecoraro <pecoraro@apple.com>
1291 Web Inspector: Inspector does not reopen correctly after Inspector Process crashes
1292 https://bugs.webkit.org/show_bug.cgi?id=139838
1294 Reviewed by Timothy Hatcher.
1296 When the WebContentProcess holding the Inspector Frontend crashes, we
1297 would properly tear down the inspector objects. However, the next time
1298 the inspector is opened, when creating the new page in the Inspector
1299 Page Group, a WebPageProxy is created with a Terminated WebProcessProxy.
1301 That Terminated WebProcessProxy is automatically replaced with the next
1302 load request is given. The newly created process was missing the
1303 message listeners and assumed URL access settings that the
1304 WebInspectorProxy had set on the old process.
1306 So, WebInspectorProxy now listens for and resets the process properties
1307 when the inspector process is recreated.
1309 * UIProcess/WebInspectorProxy.h:
1310 * UIProcess/WebInspectorProxy.cpp:
1311 (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
1312 Reset process properties when the process is relaunched.
1314 (WebKit::WebInspectorProxy::createInspectorPage):
1315 (WebKit::WebInspectorProxy::didClose):
1316 Save connection identifier if we need to establish connections later.
1318 * UIProcess/mac/WebInspectorProxyMac.mm:
1319 (-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]):
1320 (-[WKWebInspectorWKView _didRelaunchProcess]):
1321 (WebKit::WebInspectorProxy::closeTimerFired):
1322 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1323 Send WebInspectorProxy a message when the process underlying the
1324 WKView is relaunched.
1326 2014-12-19 Anders Carlsson <andersca@apple.com>
1328 Get rid of the hardcoded set of structs in the message generation script
1329 https://bugs.webkit.org/show_bug.cgi?id=139844
1331 Reviewed by Tim Horton.
1333 Instead, make it possible to use 'struct' in front of the type name to declare that the type is a struct.
1335 * DatabaseProcess/DatabaseProcess.messages.in:
1336 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
1337 * NetworkProcess/NetworkProcess.messages.in:
1338 * PluginProcess/PluginProcess.messages.in:
1339 * PluginProcess/WebProcessConnection.messages.in:
1340 * Scripts/webkit/messages.py:
1342 (forward_declarations_for_namespace):
1343 (forward_declarations_and_headers):
1344 * Scripts/webkit/model.py:
1345 (Parameter.__init__):
1346 * Scripts/webkit/parser.py:
1347 (parse_parameters_string):
1348 * UIProcess/Storage/StorageManager.messages.in:
1349 * UIProcess/WebContext.messages.in:
1350 * UIProcess/WebPageProxy.messages.in:
1351 * UIProcess/WebProcessProxy.messages.in:
1352 * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
1353 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
1354 * WebProcess/OriginData/WebOriginDataManager.messages.in:
1355 * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
1356 * WebProcess/WebPage/DrawingArea.messages.in:
1357 * WebProcess/WebPage/WebPage.messages.in:
1358 * WebProcess/WebProcess.messages.in:
1360 2014-12-19 Timothy Horton <timothy_horton@apple.com>
1364 * UIProcess/API/mac/WKView.mm:
1365 (-[WKView _setIgnoresNonWheelEvents:]):
1367 2014-12-19 Beth Dakin <bdakin@apple.com>
1369 Preview popovers don't show an arrow for large links
1370 https://bugs.webkit.org/show_bug.cgi?id=139842
1372 <rdar://problem/19301470>
1374 Reviewed by Tim Horton.
1376 This patch addresses the case where the link is so large that there is no
1377 available space on any side once you factor in screen padding. In that case, we
1378 should give up early on not obscuring the link.
1379 * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
1380 (-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]):
1381 (-[WKPreviewPopoverAnimationController _effectivePaddingWithPreviewPadding:]):
1382 (-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnYEdgeForOriginRect:withScreenRect:previewPadding:]):
1383 (-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnXEdgeForOriginRect:withScreenRect:previewPadding:]):
1384 (-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]):
1386 2014-12-19 Timothy Horton <timothy_horton@apple.com>
1388 WKView's ignoresNonWheelEvents should ignore immediate actions
1389 https://bugs.webkit.org/show_bug.cgi?id=139839
1390 <rdar://problem/19312111>
1392 Reviewed by Anders Carlsson.
1394 * UIProcess/API/mac/WKView.mm:
1395 (-[WKView initWithFrame:context:configuration:webView:]):
1396 (-[WKView _setIgnoresNonWheelEvents:]):
1397 Install/uninstall the immediate action gesture recognizer when
1398 toggling ignoresNonWheelEvents.
1400 2014-12-19 Csaba Osztrogonác <ossy@webkit.org>
1402 URTBF after r177593.
1404 * PluginProcess/PluginProcess.h:
1405 * PluginProcess/unix/PluginProcessUnix.cpp:
1406 (WebKit::PluginProcess::platformInitializePluginProcess):
1407 * Shared/WebProcessCreationParameters.h:
1408 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1409 * WebProcess/WebProcess.h:
1410 * WebProcess/soup/WebProcessSoup.cpp:
1411 (WebKit::WebProcess::platformInitializeWebProcess):
1413 2014-12-19 Anders Carlsson <andersca@apple.com>
1415 Use WebCore::MachSendRights for the compositing render server port
1416 https://bugs.webkit.org/show_bug.cgi?id=139834
1418 Reviewed by Tim Horton.
1420 * Platform/IPC/HandleMessage.h:
1421 (IPC::callMemberFunctionImpl):
1422 * Platform/mac/LayerHostingContext.h:
1423 * Platform/mac/LayerHostingContext.mm:
1424 (WebKit::LayerHostingContext::createForPort):
1425 * PluginProcess/PluginControllerProxy.h:
1426 * PluginProcess/PluginProcess.cpp:
1427 (WebKit::PluginProcess::PluginProcess):
1428 (WebKit::PluginProcess::initializePluginProcess):
1429 * PluginProcess/PluginProcess.h:
1430 (WebKit::PluginProcess::compositingRenderServerPort):
1431 * PluginProcess/mac/PluginControllerProxyMac.mm:
1432 (WebKit::PluginControllerProxy::compositingRenderServerPort):
1433 * PluginProcess/mac/PluginProcessMac.mm:
1434 (WebKit::PluginProcess::platformInitializePluginProcess):
1435 * Shared/Plugins/PluginProcessCreationParameters.cpp:
1436 * Shared/Plugins/PluginProcessCreationParameters.h:
1437 * Shared/WebCoreArgumentCoders.h:
1438 * Shared/WebProcessCreationParameters.h:
1439 * Shared/mac/WebCoreArgumentCodersMac.mm:
1440 (IPC::ArgumentCoder<MachSendRight>::encode):
1441 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1442 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1443 * UIProcess/mac/WebContextMac.mm:
1444 (WebKit::WebContext::platformInitializeWebProcess):
1445 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1446 (WebKit::NPN_GetValue):
1447 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1448 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1449 (WebKit::NetscapePlugin::compositingRenderServerPort):
1450 (WebKit::NetscapePlugin::setLayerHostingMode):
1451 * WebProcess/Plugins/PluginController.h:
1452 * WebProcess/Plugins/PluginView.cpp:
1453 (WebKit::PluginView::compositingRenderServerPort):
1454 * WebProcess/Plugins/PluginView.h:
1455 * WebProcess/WebProcess.cpp:
1456 (WebKit::WebProcess::WebProcess):
1457 (WebKit::WebProcess::initializeWebProcess):
1458 * WebProcess/WebProcess.h:
1459 (WebKit::WebProcess::compositingRenderServerPort):
1460 * WebProcess/cocoa/WebProcessCocoa.mm:
1461 (WebKit::WebProcess::platformInitializeWebProcess):
1463 2014-12-19 Andreas Kling <akling@apple.com>
1465 Ref-ify TextIterator API.
1466 <https://webkit.org/b/139823>
1468 Reviewed by Antti Koivisto.
1470 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
1471 (-[WKDOMTextIterator currentRange]):
1473 2014-12-19 Commit Queue <commit-queue@webkit.org>
1475 Unreviewed, rolling out r177574.
1476 https://bugs.webkit.org/show_bug.cgi?id=139821
1478 "Broke Production builds by installing
1479 libWebCoreTestSupport.dylib in the wrong directory" (Requested
1480 by ddkilzer on #webkit).
1484 "Switch from using PLATFORM_NAME to SDK selectors in WebCore,
1485 WebInspectorUI, WebKit, WebKit2"
1486 https://bugs.webkit.org/show_bug.cgi?id=139463
1487 http://trac.webkit.org/changeset/177574
1489 2014-12-19 David Kilzer <ddkilzer@apple.com>
1491 Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
1492 <http://webkit.org/b/139463>
1494 Reviewed by Mark Rowe.
1496 * Configurations/All.xcconfig:
1497 - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
1498 * Configurations/Base.xcconfig:
1499 - Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and
1501 * Configurations/BaseLegacyProcess.xcconfig:
1502 - Only set SKIP_INSTALL on iOS.
1503 * Configurations/BaseTarget.xcconfig:
1504 - Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
1505 SDK, and simply them.
1506 * Configurations/BaseXPCService.xcconfig:
1507 - Set INSTALL_PATH_ACTUAL_Normal based on SDK.
1508 * Configurations/DebugRelease.xcconfig:
1509 - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
1510 - Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
1511 * Configurations/NetworkProcess.xcconfig:
1512 - Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on
1514 * Configurations/NetworkService.Development.xcconfig:
1515 - Set INFOPLIST_FILE based on SDK.
1516 - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
1517 * Configurations/NetworkService.xcconfig:
1518 - Set INFOPLIST_FILE based on SDK.
1519 - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
1520 * Configurations/PluginProcess.xcconfig:
1521 - Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS.
1522 * Configurations/PluginProcessShim.xcconfig:
1523 - Set OTHER_LDFLAGS based on SDK.
1524 * Configurations/PluginService.32.xcconfig:
1525 - Only set VALID_ARCHS on OS X.
1526 - Set OTHER_LDFLAGS based on platform-specific values.
1527 - Only set SKIP_INSTALL on iOS.
1528 * Configurations/PluginService.64.xcconfig:
1529 - Set ARCHS based on SDK.
1530 - Set OTHER_LDFLAGS based on platform-specific values.
1531 - Only set SKIP_INSTALL on iOS.
1532 * Configurations/PluginService.Development.xcconfig:
1533 - Only set SKIP_INSTALL on iOS.
1534 - Set OTHER_LDFLAGS based on platform-specific values.
1535 * Configurations/SecItemShim.xcconfig:
1536 - Set OTHER_LDFLAGS based on platform-specific values.
1537 * Configurations/Version.xcconfig:
1538 - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
1539 * Configurations/WebContentProcess.xcconfig:
1540 - Only set EXCLUDED_SHIM_FILE_NAME on iOS.
1541 - Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator.
1542 * Configurations/WebContentService.Development.xcconfig:
1543 - Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK.
1544 - Only set CODE_SIGN_ENTITLEMENTS on iOS hardware.
1545 - Set OTHER_LDFLAGS based on platform-specific values.
1546 * Configurations/WebContentService.xcconfig: Ditto.
1547 * Configurations/WebKit.xcconfig:
1548 - Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and
1549 WK_API_AVAILABILITY_ENABLED based on SDK.
1550 - Set OTHER_LDFLAGS based on platform-specific values.
1551 - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
1552 * Configurations/WebKit2.xcconfig:
1553 - Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE,
1554 NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and
1555 NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK.
1556 - Set SKIP_INSTALL on iOS.
1557 * Configurations/WebProcessShim.xcconfig:
1558 - Set OTHER_LDFLAGS based on platform-specific values.
1560 2014-12-18 Jon Honeycutt <jhoneycutt@apple.com>
1564 * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
1566 2014-12-18 Jessie Berlin <jberlin@webkit.org>
1568 Speculative build-fix after r177522.
1570 * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
1571 (-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]):
1573 2014-12-18 Andreas Kling <akling@apple.com>
1575 Ref-ify various Document-related things.
1576 <https://webkit.org/b/139796>
1578 Reviewed by Anders Carlsson.
1580 * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
1581 (-[WKDOMDocument createTextNode:]):
1583 2014-12-18 Beth Dakin <bdakin@apple.com>
1585 Speculative build fix.
1587 * UIProcess/ProcessThrottler.h:
1589 2014-12-18 Anders Carlsson <andersca@apple.com>
1591 Use MachSendRight in WebKit2
1592 https://bugs.webkit.org/show_bug.cgi?id=139800
1594 Reviewed by Tim Horton.
1596 * Platform/IPC/ArgumentEncoder.h:
1597 (IPC::ArgumentEncoder::encode):
1598 (IPC::ArgumentEncoder::operator<<):
1599 * Shared/WebCoreArgumentCoders.h:
1600 * Shared/mac/RemoteLayerBackingStore.mm:
1601 (WebKit::RemoteLayerBackingStore::encode):
1602 (WebKit::RemoteLayerBackingStore::decode):
1603 * Shared/mac/WebCoreArgumentCodersMac.mm:
1604 (IPC::ArgumentCoder<MachSendRight>::encode):
1605 (IPC::ArgumentCoder<MachSendRight>::decode):
1607 2014-12-18 Gavin Barraclough <barraclough@apple.com>
1609 Remove custom token mechanism from ProcessThrottler
1610 https://bugs.webkit.org/show_bug.cgi?id=139744
1612 Reviewed by Geoff Garen.
1614 ProcessThrottler implements its own token-based counter mechanism, but should
1615 just use RefCounter.
1617 * UIProcess/Cocoa/NavigationState.h:
1618 - remove std::unique_ptr.
1619 * UIProcess/Cocoa/NavigationState.mm:
1620 (WebKit::NavigationState::didChangeIsLoading):
1621 - remove std::make_unique.
1622 * UIProcess/GenericCallback.h:
1623 (WebKit::CallbackBase::CallbackBase):
1624 (WebKit::GenericCallback::create):
1625 (WebKit::GenericCallback::GenericCallback):
1626 (WebKit::CallbackMap::put):
1627 - remove std::unique_ptr.
1628 * UIProcess/ProcessThrottler.cpp:
1629 (WebKit::ProcessThrottler::ProcessThrottler):
1630 (WebKit::m_backgroundCounter):
1631 (WebKit::ProcessThrottler::assertionState):
1632 (WebKit::ProcessThrottler::updateAssertion):
1633 (WebKit::ProcessThrottler::ForegroundActivityToken::ForegroundActivityToken): Deleted.
1634 (WebKit::ProcessThrottler::ForegroundActivityToken::~ForegroundActivityToken): Deleted.
1635 (WebKit::ProcessThrottler::BackgroundActivityToken::BackgroundActivityToken): Deleted.
1636 (WebKit::ProcessThrottler::BackgroundActivityToken::~BackgroundActivityToken): Deleted.
1637 - removed old implementation of ForegroundActivityToken/BackgroundActivityToken.
1638 * UIProcess/ProcessThrottler.h:
1639 (WebKit::ProcessThrottler::foregroundActivityToken):
1640 (WebKit::ProcessThrottler::backgroundActivityToken):
1641 - added accessors to create activity tokens.
1642 (WebKit::ProcessThrottler::weakPtr): Deleted.
1643 - removed members replaced by RefCounter types.
1644 * UIProcess/WebPageProxy.cpp:
1645 (WebKit::WebPageProxy::updateActivityToken):
1646 (WebKit::WebPageProxy::validateCommand):
1647 (WebKit::WebPageProxy::runJavaScriptInMainFrame):
1648 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
1649 (WebKit::WebPageProxy::getSourceForFrame):
1650 (WebKit::WebPageProxy::getContentsAsString):
1651 (WebKit::WebPageProxy::getBytecodeProfile):
1652 (WebKit::WebPageProxy::getContentsAsMHTMLData):
1653 (WebKit::WebPageProxy::getSelectionOrContentsAsString):
1654 (WebKit::WebPageProxy::getSelectionAsWebArchiveData):
1655 (WebKit::WebPageProxy::getMainResourceDataOfFrame):
1656 (WebKit::WebPageProxy::getResourceDataFromFrame):
1657 (WebKit::WebPageProxy::getWebArchiveOfFrame):
1658 (WebKit::WebPageProxy::getMarkedRangeAsync):
1659 (WebKit::WebPageProxy::getSelectedRangeAsync):
1660 (WebKit::WebPageProxy::characterIndexForPointAsync):
1661 (WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
1662 (WebKit::WebPageProxy::takeSnapshot):
1663 (WebKit::WebPageProxy::installViewStateChangeCompletionHandler):
1664 - remove std::make_unique.
1665 * UIProcess/WebPageProxy.h:
1666 - remove std::unique_ptr.
1667 * UIProcess/WebProcessProxy.cpp:
1668 (WebKit::WebProcessProxy::setIsHoldingLockedFiles):
1669 - remove std::make_unique.
1670 * UIProcess/WebProcessProxy.h:
1671 - remove std::unique_ptr.
1672 * UIProcess/ios/WebPageProxyIOS.mm:
1673 (WebKit::WebPageProxy::selectWithGesture):
1674 (WebKit::WebPageProxy::updateSelectionWithTouches):
1675 (WebKit::WebPageProxy::requestAutocorrectionData):
1676 (WebKit::WebPageProxy::applyAutocorrection):
1677 (WebKit::WebPageProxy::executeEditCommand):
1678 (WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
1679 (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
1680 (WebKit::WebPageProxy::selectPositionAtPoint):
1681 (WebKit::WebPageProxy::beginSelectionInDirection):
1682 (WebKit::WebPageProxy::updateSelectionWithExtentPoint):
1683 (WebKit::WebPageProxy::requestDictationContext):
1684 (WebKit::WebPageProxy::requestAutocorrectionContext):
1685 (WebKit::WebPageProxy::selectWithTwoTouches):
1686 (WebKit::WebPageProxy::moveSelectionByOffset):
1687 (WebKit::WebPageProxy::focusNextAssistedNode):
1688 - remove std::make_unique.
1689 * UIProcess/mac/WebPageProxyMac.mm:
1690 (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
1691 - remove std::make_unique.
1693 2014-12-18 Gavin Barraclough <barraclough@apple.com>
1695 Add strong typing to RefCounter interface, return value as a bool.
1696 https://bugs.webkit.org/show_bug.cgi?id=139776
1698 Reviewed by Geoff Garen.
1700 Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>.
1701 This means there is no compile time type checking to prevent mistakes. Update the count()
1702 method to token<>(), templated on type used to identify the token being returned.
1703 Calls to token<T>() will return a result of type RefCounter::Token<T>.
1705 There are a few problems with the fact the counter will return you an exact count of the
1706 number of outstanding tokens:
1707 - It is desirable to only fire the callback on zero-edge changes; it is more consistent
1708 to do so if the value is only readable as a boolean.
1709 - It is desirable to provide the value as an argument to the callback, however to make
1710 this useful for integer values it is also necessary to indicate the direction of change
1711 (0->1 is often interesting where 2->1 is not).
1712 - There is a mismatch between the precision of returning a count, and the inherent
1713 imprecision of a token based mechanism, where it may be difficult to guarantee
1714 absolutely no unnecessary refcount churn, and thus unintentional counter values.
1716 Removed PluginProcessManager::m_processSuppressionEnabled. Now the callback only fires on
1717 zero-edge transitions we no longer need this to filter changes.
1719 * UIProcess/Plugins/PluginProcessManager.cpp:
1720 (WebKit::PluginProcessManager::PluginProcessManager):
1721 - updateProcessSuppressionState -> updateProcessSuppressionDisabled.
1722 * UIProcess/Plugins/PluginProcessManager.h:
1723 (WebKit::PluginProcessManager::processSuppressionDisabledForPageCount): Deleted.
1724 (WebKit::PluginProcessManager::processSuppressionDisabledToken):
1725 - processSuppressionDisabledForPageCount -> processSuppressionDisabledToken.
1726 (WebKit::PluginProcessManager::processSuppressionEnabled): Deleted.
1727 (WebKit::PluginProcessManager::processSuppressionDisabled):
1728 - processSuppressionEnabled -> processSuppressionDisabled.
1729 * UIProcess/Plugins/PluginProcessProxy.cpp:
1730 (WebKit::PluginProcessProxy::didFinishLaunching):
1731 - processSuppressionEnabled -> processSuppressionDisabled.
1732 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
1733 (WebKit::PluginProcessManager::updateProcessSuppressionState): Deleted.
1734 (WebKit::PluginProcessManager::updateProcessSuppressionDisabled):
1735 - updateProcessSuppressionState -> updateProcessSuppressionDisabled
1736 * UIProcess/ProcessThrottler.h:
1737 - added UserObservablePageToken, ProcessSuppressionDisabledToken types.
1738 * UIProcess/WebContext.cpp:
1739 (WebKit::WebContext::WebContext):
1740 (WebKit::m_processSuppressionDisabledForPageCounter):
1741 - lambda now has bool argument.
1742 * UIProcess/WebContext.h:
1743 (WebKit::WebContext::userObservablePageCount):
1744 (WebKit::WebContext::processSuppressionDisabledForPageCount):
1745 - count() -> token<>(), changed return type.
1746 * UIProcess/WebPageProxy.h:
1747 - changed types of token members.
1748 * UIProcess/mac/WebContextMac.mm:
1749 (WebKit::WebContext::updateProcessSuppressionState):
1750 renamed m_pluginProcessManagerProcessSuppressionDisabledCount -> m_pluginProcessManagerProcessSuppressionDisabledToken.
1752 2014-12-18 Timothy Horton <timothy_horton@apple.com>
1754 Try to fix some builds.
1756 * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
1758 2014-12-18 Anders Carlsson <andersca@apple.com>
1762 * UIProcess/API/mac/WKViewInternal.h:
1764 2014-12-18 Chris Dumez <cdumez@apple.com>
1766 Add missing availability annotation on @property _featureCounterEnabled
1767 https://bugs.webkit.org/show_bug.cgi?id=139794
1768 <rdar://problem/19266254>
1770 Rubber-stamped by Dan Bernstein.
1772 Follow-up to r177526 adding availability annotation on @property
1773 _featureCounterEnabled.
1775 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1777 2014-12-18 Beth Dakin <bdakin@apple.com>
1779 Need to re-enable action menus
1780 https://bugs.webkit.org/show_bug.cgi?id=139795
1782 rdar://problem/19299367
1784 Reviewed by Tim Horton.
1786 Re-enable the menus by un-commenting the code to create the menu and controller.
1787 * UIProcess/API/mac/WKView.mm:
1788 (-[WKView initWithFrame:context:configuration:webView:]):
1790 performActionMenuHitTest already takes a parameter indicating whether the hit test
1791 is for an immediate action or not. The callback didPerformActionMenuHitTest needs
1792 that information too so that it knows whether to call into the
1793 ActionMenuController or the ImmediateActionController.
1794 (-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]):
1795 (-[WKView _didPerformActionMenuHitTest:userData:]): Deleted.
1796 * UIProcess/API/mac/WKViewInternal.h:
1797 * UIProcess/PageClient.h:
1798 * UIProcess/WebPageProxy.cpp:
1799 (WebKit::WebPageProxy::didPerformActionMenuHitTest):
1800 * UIProcess/WebPageProxy.h:
1801 * UIProcess/WebPageProxy.messages.in:
1802 * UIProcess/mac/PageClientImpl.h:
1803 * UIProcess/mac/PageClientImpl.mm:
1804 (WebKit::PageClientImpl::didPerformActionMenuHitTest):
1805 * WebProcess/WebPage/mac/WebPageMac.mm:
1806 (WebKit::WebPage::performActionMenuHitTestAtLocation):
1808 2014-12-18 Chris Dumez <cdumez@apple.com>
1810 [WK2] Stop using WKPreferencesPrivate API to toggle FeatureCounter support
1811 https://bugs.webkit.org/show_bug.cgi?id=139794
1812 <rdar://problem/19266254>
1814 Reviewed by Anders Carlsson.
1816 Stop using WKPreferencesPrivate API to toggle FeatureCounter support
1817 and use WKWebViewConfigurationPrivate API instead. FeatureCounter is
1818 not meant to change state after the view has been created.
1820 * UIProcess/API/C/WKPreferences.cpp:
1821 (WKPreferencesSetFeatureCounterEnabled): Deleted.
1822 (WKPreferencesGetFeatureCounterEnabled): Deleted.
1823 * UIProcess/API/C/WKPreferencesRefPrivate.h:
1824 * UIProcess/API/Cocoa/WKPreferences.mm:
1825 (-[WKPreferences _featureCounterEnabled]): Deleted.
1826 (-[WKPreferences _setFeatureCounterEnabled:]): Deleted.
1827 * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
1828 * UIProcess/API/Cocoa/WKWebView.mm:
1829 (-[WKWebView initWithFrame:configuration:]):
1830 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1831 (-[WKWebViewConfiguration init]):
1832 (-[WKWebViewConfiguration copyWithZone:]):
1833 (-[WKWebViewConfiguration _featureCounterEnabled]):
1834 (-[WKWebViewConfiguration _setFeatureCounterEnabled:]):
1835 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1837 2014-12-18 Timothy Horton <timothy_horton@apple.com>
1841 * UIProcess/API/mac/WKView.mm:
1842 (-[WKView _setPreviewOverrideImage:]):
1844 2014-12-18 Timothy Horton <timothy_horton@apple.com>
1846 Change page preview loading order, and add a TextIndicator
1847 https://bugs.webkit.org/show_bug.cgi?id=139793
1848 <rdar://problem/19288547>
1850 Reviewed by Beth Dakin.
1852 * Shared/mac/ActionMenuHitTestResult.h:
1853 * Shared/mac/ActionMenuHitTestResult.mm:
1854 (WebKit::ActionMenuHitTestResult::encode):
1855 (WebKit::ActionMenuHitTestResult::decode):
1856 * WebProcess/WebPage/mac/WebPageMac.mm:
1857 (WebKit::WebPage::performActionMenuHitTestAtLocation):
1858 Build a TextIndicator for links.
1860 * UIProcess/API/Cocoa/WKViewPrivate.h:
1861 * UIProcess/API/mac/WKView.mm:
1862 (-[WKView _dismissContentRelativeChildWindows]):
1863 (-[WKView _setPreviewTitle:]):
1864 (-[WKView _setPreviewLoading:]):
1865 Remove unneeded WK_API_ENABLED #ifs.
1867 (-[WKView _setPreviewOverrideImage:]):
1868 Add; forward to WKImmediateActionController.
1870 * UIProcess/mac/WKImmediateActionController.h:
1871 * UIProcess/mac/WKImmediateActionController.mm:
1872 (-[WKImmediateActionController willDestroyView:]):
1873 Shut down the WKPreviewPopoverAnimationController.
1875 (-[WKImmediateActionController _clearImmediateActionState]):
1876 (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
1877 Don't build an immediate action item here; we'll always build it in
1878 willBeginAnimation, and the one we build here is likely to be wrong.
1880 (-[WKImmediateActionController _defaultAnimationController]):
1881 (-[WKImmediateActionController hidePreview]):
1882 (-[WKImmediateActionController setPreviewTitle:]):
1883 (-[WKImmediateActionController setPreviewLoading:]):
1884 (-[WKImmediateActionController setPreviewOverrideImage:]):
1885 (-[WKImmediateActionController _animationControllerForCustomPreview]):
1886 (-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]): Deleted.
1887 (-[WKImmediateActionController popoverWillClose:]): Deleted.
1888 (targetSizeFitsInAvailableSpace): Deleted.
1889 (-[WKImmediateActionController largestPopoverSize]): Deleted.
1890 (-[WKImmediateActionController _preferredPopoverSizeWithPreviewPadding:]): Deleted.
1891 (-[WKImmediateActionController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]): Deleted.
1892 (-[WKImmediateActionController pagePreviewViewController:titleForPreviewOfURL:]): Deleted.
1893 (-[WKImmediateActionController pagePreviewViewControllerWasClicked:]): Deleted.
1894 Move preview popover code to WKPreviewPopoverAnimationController.
1895 Install and uninstall the link text indicator when necessary.
1897 * UIProcess/mac/WKPagePreviewViewController.h:
1898 * UIProcess/mac/WKPagePreviewViewController.mm:
1899 (-[WKPagePreviewViewController setLoading:]):
1900 (-[WKPagePreviewViewController loadView]):
1901 (-[WKPagePreviewViewController replacePreviewWithImage:atSize:]):
1902 Allow overriding the preview with a full-view NSImage.
1903 Hide the preview view until the loading spinner goes away.
1905 * UIProcess/mac/WKPreviewPopoverAnimationController.h: Copied from Source/WebKit2/UIProcess/mac/WKImmediateActionController.h.
1906 * UIProcess/mac/WKPreviewPopoverAnimationController.mm: Added.
1907 (+[WKPreviewPopoverAnimationController _shouldImmediatelyShowPreview]):
1908 (-[WKPreviewPopoverAnimationController initWithURL:view:page:originRect:eventLocationInView:]):
1909 (-[WKPreviewPopoverAnimationController close]):
1910 (-[WKPreviewPopoverAnimationController setPreviewLoading:]):
1911 (-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]):
1912 If we have shown the popover, choose a size strictly smaller than
1915 (-[WKPreviewPopoverAnimationController _hidePreview]):
1916 (-[WKPreviewPopoverAnimationController setPreviewTitle:]):
1917 (-[WKPreviewPopoverAnimationController _createPreviewPopover]):
1918 (-[WKPreviewPopoverAnimationController _showPreview]):
1919 (targetSizeFitsInAvailableSpace):
1920 (-[WKPreviewPopoverAnimationController largestPopoverSize]):
1921 (-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]):
1922 (-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]):
1923 (-[WKPreviewPopoverAnimationController _previewWatchdogTimerFired:]):
1924 (-[WKPreviewPopoverAnimationController recognizerWillBeginAnimation:]):
1925 (-[WKPreviewPopoverAnimationController recognizerDidUpdateAnimation:]):
1926 (-[WKPreviewPopoverAnimationController recognizerDidCancelAnimation:]):
1927 (-[WKPreviewPopoverAnimationController recognizerDidCompleteAnimation:]):
1928 (-[WKPreviewPopoverAnimationController recognizerDidDismissAnimation:]):
1929 (-[WKPreviewPopoverAnimationController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]):
1930 (-[WKPreviewPopoverAnimationController pagePreviewViewController:titleForPreviewOfURL:]):
1931 (-[WKPreviewPopoverAnimationController pagePreviewViewControllerWasClicked:]):
1932 (-[WKPreviewPopoverAnimationController popoverWillClose:]):
1933 Move code in from WKImmediateActionController.
1934 Forward NSImmediateActionAnimationControllerDelegate methods
1935 to the popover's animation controller if we've popped it.
1936 Pop the popover if we've loaded or 1 second has passed, whichever
1939 * WebKit2.xcodeproj/project.pbxproj:
1941 2014-12-18 Anders Carlsson <andersca@apple.com>
1943 Add a MachSendRight class to WebCore and use it in IOSurface
1944 https://bugs.webkit.org/show_bug.cgi?id=139787
1946 Reviewed by Tim Horton.
1948 * Shared/mac/RemoteLayerBackingStore.mm:
1949 (WebKit::RemoteLayerBackingStore::encode):
1951 2014-12-18 Daniel Bates <dabates@apple.com>
1953 Attempt to fix the iOS build after <http://trac.webkit.org/changeset/177486>
1954 (https://bugs.webkit.org/show_bug.cgi?id=139755)
1956 * WebProcess/WebPage/ios/WebPageIOS.mm:
1957 (WebKit::WebPage::selectWithGesture): Wrap return value of Range::create() in RefPtr<Range>()
1958 to make the the compiler happy since it wants clauses of the ternary operator to have the same data type
1959 and Ref<Range> object does not support nullptr.
1960 (WebKit::WebPage::selectWordBackward): Substitute Ref::ptr() for PassRefPtr::get().
1961 (WebKit::WebPage::moveSelectionByOffset): Ditto.
1962 (WebKit::WebPage::selectPositionAtPoint): Ditto.
1963 (WebKit::WebPage::selectPositionAtBoundaryWithDirection): Ditto.
1964 (WebKit::WebPage::requestDictationContext): Ditto.
1965 (WebKit::computeAutocorrectionContext): Ditto.
1967 2014-12-18 Antti Koivisto <antti@apple.com>
1969 Remove alwaysUseBaselineOfPrimaryFont setting
1970 https://bugs.webkit.org/show_bug.cgi?id=139770
1972 Reviewed by Anders Carlsson.
1974 * Shared/WebPreferencesDefinitions.h:
1975 * WebProcess/WebPage/WebPage.cpp:
1976 (WebKit::WebPage::updatePreferences):
1978 2014-12-18 Adrian Perez de Castro <aperez@igalia.com>
1980 [GTK] Implement webkit_web_view_is_playing_audio()
1981 https://bugs.webkit.org/show_bug.cgi?id=138918
1983 Reviewed by Carlos Garcia Campos.
1985 Implements webkit_web_view_is_playing_audio(), and overrides
1986 UIClient::isPlayingAudioDidChange() to be able to emit change
1987 notification signals for the new WebKitWebView::is-playing-audio
1990 * UIProcess/API/gtk/WebKitUIClient.cpp:
1991 (isPlayingAudioDidChange): Added.
1992 * UIProcess/API/gtk/WebKitWebView.cpp:
1993 (webkitWebViewIsPlayingAudioChanged): Helper function to emit the
1994 emit the notify::is-playing-audio signal when needed.
1995 (webkitWebViewGetProperty): Handle the WebKitWebView::is-playing-audio
1997 (webkit_web_view_class_init): Install the
1998 WebKitWebView::is-playing-audio property.
1999 (webkit_web_view_is_playing_audio): Added.
2000 * UIProcess/API/gtk/WebKitWebView.h:
2001 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2002 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
2003 webkit_web_view_is_playing_audio() to the list of public API
2006 2014-12-18 Carlos Garcia Campos <cgarcia@igalia.com>
2008 [GTK] Allow to build with ENABLE_NETWORK_CACHE
2009 https://bugs.webkit.org/show_bug.cgi?id=139728
2011 Reviewed by Antti Koivisto.
2013 Just make it build for now.
2015 * CMakeLists.txt: Add new files to compilation.
2016 * NetworkProcess/NetworkResourceLoader.cpp:
2017 (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): Use
2018 ENABLE(SHAREABLE_RESOURCE) when ShareableResource is used.
2019 * NetworkProcess/cache/NetworkCache.cpp:
2020 (WebKit::decodeStorageEntry): Ditto.
2021 (WebKit::makeCacheKey): Use ENABLE(CACHE_PARTITIONING) for ResourceRequest::cachePartition().
2022 * NetworkProcess/cache/NetworkCache.h:
2023 * NetworkProcess/cache/NetworkCacheStorage.h:
2024 (WebKit::NetworkCacheStorage::Data::isNull): Move implementation
2025 to platform specific files.
2026 * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
2027 (WebKit::NetworkCacheStorage::Data::isNull): Moved from the header.
2028 * NetworkProcess/cache/NetworkCacheStorageSoup.cpp: Added.
2029 (WebKit::NetworkCacheStorage::Data::Data):
2030 (WebKit::NetworkCacheStorage::Data::data):
2031 (WebKit::NetworkCacheStorage::Data::isNull):
2032 (WebKit::NetworkCacheStorage::open):
2033 (WebKit::NetworkCacheStorage::NetworkCacheStorage):
2034 (WebKit::NetworkCacheStorage::initializeKeyFilter):
2035 (WebKit::NetworkCacheStorage::removeEntry):
2036 (WebKit::NetworkCacheStorage::dispatchRetrieveOperation):
2037 (WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations):
2038 (WebKit::NetworkCacheStorage::retrieve):
2039 (WebKit::NetworkCacheStorage::store):
2040 (WebKit::NetworkCacheStorage::setMaximumSize):
2041 (WebKit::NetworkCacheStorage::clear):
2042 * PlatformGTK.cmake: Add NetworkCacheStorageSoup.cpp.
2045 2014-12-17 Dan Bernstein <mitz@apple.com>
2047 <rdar://problem/19282508> WebKitLegacy is unusable due to bad dylib identifier
2048 https://bugs.webkit.org/show_bug.cgi?id=139760
2050 Reviewed by Anders Carlsson.
2052 * Configurations/WebKit2.xcconfig:
2054 2014-12-17 Beth Dakin <bdakin@apple.com>
2056 Page previews are sometimes sized much smaller than it seems they should be
2057 https://bugs.webkit.org/show_bug.cgi?id=139754
2059 rdar://problem/19286550
2061 Reviewed by Tim Horton.
2063 Increase the minimum size and add in a missing else!!
2064 * UIProcess/mac/WKImmediateActionController.mm:
2065 (-[WKImmediateActionController _preferredPopoverSizeWithPreviewPadding:]):
2067 2014-12-17 Anders Carlsson <andersca@apple.com>
2069 Ref-ify WebPageProxy and WebProcessProxy creation functions
2070 https://bugs.webkit.org/show_bug.cgi?id=139751
2072 Reviewed by Andreas Kling.
2074 * UIProcess/WebContext.cpp:
2075 (WebKit::WebContext::createNewWebProcess):
2076 * UIProcess/WebPageProxy.cpp:
2077 (WebKit::WebPageProxy::create):
2078 * UIProcess/WebPageProxy.h:
2079 * UIProcess/WebProcessProxy.cpp:
2080 (WebKit::WebProcessProxy::create):
2081 (WebKit::WebProcessProxy::createWebPage):
2082 * UIProcess/WebProcessProxy.h:
2084 2014-12-17 Joseph Pecoraro <pecoraro@apple.com>
2086 Unreviewed iOS Build Fix after r177459.
2088 * UIProcess/ios/WebInspectorProxyIOS.mm:
2089 (WebKit::WebInspectorProxy::platformInvalidate):
2090 (WebKit::WebInspectorProxy::platformHide):
2091 Add missing WebInspectorProxy platform methods.
2093 2014-12-17 Enrica Casucci <enrica@apple.com>
2095 [iOS] Define button and action should respect profile settings.
2096 https://bugs.webkit.org/show_bug.cgi?id=139739
2097 rdar://problem/15461887
2099 Reviewed by Joseph Pecoraro.
2101 * UIProcess/ios/WKContentViewInteraction.mm:
2102 (-[WKContentView canPerformAction:withSender:]):
2103 (-[WKContentView _define:]):
2105 2014-12-17 Joseph Pecoraro <pecoraro@apple.com>
2107 Web Inspector: [Mac] Occosional Crashes Closing Inspector
2108 https://bugs.webkit.org/show_bug.cgi?id=139740
2110 Reviewed by Timothy Hatcher.
2112 * UIProcess/WebPageProxy.cpp:
2113 (WebKit::WebPageProxy::didReceiveEvent):
2114 The WebPageProxy could have gotten destroyed in handling (e.g. keyboard shortcut
2115 to close the Inspector Window), so protect the object to avoid destruction
2118 * UIProcess/WebInspectorProxy.h:
2119 * UIProcess/WebPageProxy.cpp:
2120 Add platformInvalidate opportunity for the platform to do invalidation work.
2122 * UIProcess/efl/WebInspectorProxyEfl.cpp:
2123 (WebKit::WebInspectorProxy::platformInvalidate):
2124 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2125 (WebKit::WebInspectorProxy::platformInvalidate):
2126 Empty implementations, these ports do not need to do anything.
2128 * UIProcess/WebInspectorProxy.h:
2129 * UIProcess/mac/WebInspectorProxyMac.mm:
2130 (WebKit::WebInspectorProxy::closeTimerFired):
2131 (WebKit::WebInspectorProxy::platformDidClose):
2132 (WebKit::WebInspectorProxy::platformInvalidate):
2133 When closing / invalidating make sure we close the WKView to clear client
2134 for any delayed callbacks.
2136 2014-12-17 Chris Dumez <cdumez@apple.com>
2138 [iOS] Make it possible to toggle FeatureCounter support at runtime
2139 https://bugs.webkit.org/show_bug.cgi?id=139688
2140 <rdar://problem/19266254>
2142 Reviewed by Andreas Kling.
2144 Add private settings API to toggle FeatureCounter support on Safari and
2147 * Shared/WebPreferencesDefinitions.h:
2148 * UIProcess/API/C/WKPreferences.cpp:
2149 (WKPreferencesSetFeatureCounterEnabled):
2150 (WKPreferencesGetFeatureCounterEnabled):
2151 * UIProcess/API/C/WKPreferencesRefPrivate.h:
2152 * UIProcess/API/Cocoa/WKPreferences.mm:
2153 (-[WKPreferences _featureCounterEnabled]):
2154 (-[WKPreferences _setFeatureCounterEnabled:]):
2155 * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2156 * WebProcess/WebPage/WebPage.cpp:
2157 (WebKit::WebPage::updatePreferences):
2159 2014-12-17 Anders Carlsson <andersca@apple.com>
2161 Clean up SQL statement building in SQLiteIDBCursor
2162 https://bugs.webkit.org/show_bug.cgi?id=139741
2164 Reviewed by Andreas Kling.
2166 This vastly simplifies the code and gets rid of the last
2167 uses of DEPRECATED_DEFINE_STATIC_LOCAL in WebKit2.
2169 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2170 (WebKit::buildIndexStatement):
2171 (WebKit::buildObjectStoreStatement):
2172 (WebKit::SQLiteIDBCursor::establishStatement):
2173 (WebKit::getIndexStatement): Deleted.
2174 (WebKit::getObjectStoreStatement): Deleted.
2176 2014-12-17 Andreas Kling <akling@apple.com>
2178 Purge PassRefPtr from Frame.
2179 <https://webkit.org/b/139731>
2181 Reviewed by Anders Carlsson.
2183 * WebProcess/WebPage/WebFrame.cpp:
2184 (WebKit::WebFrame::createSubframe):
2186 2014-12-17 Dan Bernstein <mitz@apple.com>
2190 * UIProcess/ios/PageClientImplIOS.h:
2191 * UIProcess/ios/PageClientImplIOS.mm:
2192 (WebKit::PageClientImpl::PageClient::setTextIndicatorAnimationProgress):
2194 2014-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
2196 Unreviewed. Fix GTK+ build after r177427.
2198 * UIProcess/API/gtk/PageClientImpl.cpp:
2199 (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
2200 * UIProcess/API/gtk/PageClientImpl.h:
2202 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2204 Unreviewed, EFL build fix since r177427.
2206 * UIProcess/CoordinatedGraphics/WebView.cpp:
2207 (WebKit::WebView::setTextIndicatorAnimationProgress): Added.
2208 * UIProcess/CoordinatedGraphics/WebView.h:
2210 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2212 Move WebCore/platform/graphics/surfaces to std::unique_ptr
2213 https://bugs.webkit.org/show_bug.cgi?id=139641
2215 Reviewed by Andreas Kling.
2217 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2219 2014-12-16 Timothy Horton <timothy_horton@apple.com>
2221 Implement and adopt two new TextIndicator presentation animations
2222 https://bugs.webkit.org/show_bug.cgi?id=139715
2223 <rdar://problem/19237945>
2225 Reviewed by Anders Carlsson.
2227 * UIProcess/API/mac/WKView.mm:
2228 (-[WKView _setTextIndicator:fadeOut:]):
2229 (-[WKView _setTextIndicatorAnimationProgress:]):
2230 (-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]): Deleted.
2231 * UIProcess/API/mac/WKViewInternal.h:
2232 * UIProcess/PageClient.h:
2233 * UIProcess/WebPageProxy.cpp:
2234 (WebKit::WebPageProxy::WebPageProxy):
2235 (WebKit::WebPageProxy::setTextIndicatorAnimationProgress):
2236 (WebKit::WebPageProxy::performActionMenuHitTestAtLocation):
2237 * UIProcess/WebPageProxy.h:
2238 * UIProcess/mac/PageClientImpl.h:
2239 * UIProcess/mac/PageClientImpl.mm:
2240 (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
2241 (WebKit::PageClientImpl::didPerformDictionaryLookup):
2242 Remove the completion handler block argument from TextIndicator
2244 Plumb animation progress through PageClient to TextIndicatorWindow.
2246 * UIProcess/mac/WKActionMenuController.mm:
2247 (-[WKActionMenuController prepareForMenu:withEvent:]):
2248 (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
2249 * UIProcess/mac/WKImmediateActionController.mm:
2250 (-[WKImmediateActionController _clearImmediateActionState]):
2251 (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
2252 (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
2253 (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
2254 (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
2255 (-[WKImmediateActionController _menuItemForDataDetectedText]):
2256 (-[WKImmediateActionController _animationControllerForText]):
2257 Forward immediate action gesture recognizer animation progress
2258 to TextIndicator. Force us to keep the selection when immediate
2259 action popovers steal first responder status from the WebView.
2261 * WebProcess/WebPage/WebPage.h:
2262 * WebProcess/WebPage/WebPage.messages.in:
2263 * WebProcess/WebPage/mac/WebPageMac.mm:
2264 (WebKit::textIndicatorTransitionForActionMenu):
2265 (WebKit::WebPage::performActionMenuHitTestAtLocation):
2266 Factor out the presentation animation decision code.
2267 For immediate actions, of the Lookup range is equal to the
2268 selection range, use a Crossfade animation; otherwise, use a FadeIn
2270 Push whether the actionMenuHitTest is for an immediate action
2271 or a menu to the Web process, to make the presentation animation
2272 decision code live entirely in the Web process.
2273 Avoid extracting encoded image data if we know we're doing
2274 an immediate action and will never need it.
2276 2014-12-16 Anders Carlsson <andersca@apple.com>
2278 Fix lambda and std::function formatting
2279 https://bugs.webkit.org/show_bug.cgi?id=139719
2281 Reviewed by Sam Weinig.
2283 * DatabaseProcess/DatabaseProcess.cpp:
2284 (WebKit::DatabaseProcess::getOrigins):
2285 (WebKit::DatabaseProcess::deleteEntriesForOrigin):
2286 (WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates):
2287 (WebKit::DatabaseProcess::deleteAllEntries):
2288 * DatabaseProcess/DatabaseProcess.h:
2289 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2290 (WebKit::UniqueIDBDatabase::deleteDatabase):
2291 (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
2292 (WebKit::UniqueIDBDatabase::openTransaction):
2293 (WebKit::UniqueIDBDatabase::beginTransaction):
2294 (WebKit::UniqueIDBDatabase::commitTransaction):
2295 (WebKit::UniqueIDBDatabase::resetTransaction):
2296 (WebKit::UniqueIDBDatabase::rollbackTransaction):
2297 (WebKit::UniqueIDBDatabase::postTransactionOperation):
2298 (WebKit::UniqueIDBDatabase::changeDatabaseVersion):
2299 (WebKit::UniqueIDBDatabase::createObjectStore):
2300 (WebKit::UniqueIDBDatabase::deleteObjectStore):
2301 (WebKit::UniqueIDBDatabase::clearObjectStore):
2302 (WebKit::UniqueIDBDatabase::createIndex):
2303 (WebKit::UniqueIDBDatabase::deleteIndex):
2304 (WebKit::UniqueIDBDatabase::putRecord):
2305 (WebKit::UniqueIDBDatabase::getRecord):
2306 (WebKit::UniqueIDBDatabase::openCursor):
2307 (WebKit::UniqueIDBDatabase::cursorAdvance):
2308 (WebKit::UniqueIDBDatabase::cursorIterate):
2309 (WebKit::UniqueIDBDatabase::count):
2310 (WebKit::UniqueIDBDatabase::deleteRange):
2311 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2312 * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
2313 (WebKit::NetworkCacheStorage::store):
2314 * Shared/AsyncTask.h:
2315 (WebKit::AsyncTask::AsyncTask):
2316 * Shared/ChildProcess.cpp:
2317 (WebKit::didCloseOnConnectionWorkQueue):
2318 * Shared/WebContextMenuItemData.cpp:
2319 (WebKit::WebContextMenuItemData::WebContextMenuItemData):
2320 * Shared/WebContextMenuItemData.h:
2321 (WebKit::WebContextMenuItemData::selectionHandler):
2322 * Shared/mac/SecItemShim.cpp:
2323 (WebKit::responseMap):
2324 * UIProcess/Plugins/PluginProcessManager.cpp:
2325 (WebKit::PluginProcessManager::PluginProcessManager):
2326 * UIProcess/WebContext.cpp:
2327 (WebKit::WebContext::WebContext):
2328 (WebKit::m_processSuppressionDisabledForPageCounter):
2329 * UIProcess/WebOriginDataManagerProxy.cpp:
2330 (WebKit::CallbackSynchronizer::create):
2331 (WebKit::CallbackSynchronizer::CallbackSynchronizer):
2332 * UIProcess/WebPageProxy.cpp:
2333 (WebKit::WebPageProxy::WebPageProxy):
2334 * UIProcess/mac/WebContextMenuProxyMac.mm:
2335 (-[WKSelectionHandlerWrapper initWithSelectionHandler:]):
2336 (WebKit::nsMenuItemVector):
2337 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2338 (WebKit::WebIDBServerConnection::deleteDatabase):
2339 (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
2340 (WebKit::WebIDBServerConnection::openTransaction):
2341 (WebKit::WebIDBServerConnection::beginTransaction):
2342 (WebKit::WebIDBServerConnection::commitTransaction):
2343 (WebKit::WebIDBServerConnection::resetTransaction):
2344 (WebKit::WebIDBServerConnection::rollbackTransaction):
2345 (WebKit::WebIDBServerConnection::setIndexKeys):
2346 (WebKit::WebIDBServerConnection::createObjectStore):
2347 (WebKit::WebIDBServerConnection::createIndex):
2348 (WebKit::WebIDBServerConnection::deleteIndex):
2349 (WebKit::WebIDBServerConnection::get):
2350 (WebKit::WebIDBServerConnection::put):
2351 (WebKit::WebIDBServerConnection::count):
2352 (WebKit::WebIDBServerConnection::deleteRange):
2353 (WebKit::WebIDBServerConnection::clearObjectStore):
2354 (WebKit::WebIDBServerConnection::deleteObjectStore):
2355 (WebKit::WebIDBServerConnection::changeDatabaseVersion):
2356 (WebKit::WebIDBServerConnection::openCursor):
2357 (WebKit::WebIDBServerConnection::cursorAdvance):
2358 (WebKit::WebIDBServerConnection::cursorIterate):
2359 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2360 * WebProcess/OriginData/WebOriginDataManagerSupplement.h:
2361 * WebProcess/WebProcess.cpp:
2362 (WebKit::WebProcess::getOrigins):
2363 (WebKit::WebProcess::deleteEntriesForOrigin):
2364 (WebKit::WebProcess::deleteEntriesModifiedBetweenDates):
2365 (WebKit::WebProcess::deleteAllEntries):
2366 * WebProcess/WebProcess.h:
2368 2014-12-16 Anders Carlsson <andersca@apple.com>
2370 Get rid of a couple of binds in WebKit2
2371 https://bugs.webkit.org/show_bug.cgi?id=139717
2373 Reviewed by Sam Weinig.
2375 * DatabaseProcess/DatabaseProcess.cpp:
2376 (WebKit::DatabaseProcess::postDatabaseTask):
2377 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2378 (WebKit::UniqueIDBDatabase::didShutdownBackingStore):
2379 (WebKit::UniqueIDBDatabase::postMainThreadTask):
2380 (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
2381 (WebKit::UniqueIDBDatabase::postDatabaseTask):
2382 (WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Deleted.
2383 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2384 * Platform/IPC/mac/ConnectionMac.mm:
2385 (IPC::Connection::initializeDeadNameSource):
2386 * UIProcess/Launcher/ProcessLauncher.cpp:
2387 (WebKit::processLauncherWorkQueue):
2388 (WebKit::ProcessLauncher::ProcessLauncher):
2389 * WebProcess/Plugins/PluginView.cpp:
2390 (WebKit::PluginView::unprotectPluginFromDestruction):
2391 (WebKit::derefPluginView): Deleted.
2393 2014-12-16 Andreas Kling <akling@apple.com>
2395 Use Ref for SecurityOrigin.
2396 <https://webkit.org/b/139710>
2398 Reviewed by Anders Carlsson.
2400 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2401 (WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
2402 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
2403 (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
2404 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2405 (WebKit::WebIDBServerConnection::WebIDBServerConnection):
2406 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2407 (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
2408 (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
2410 2014-12-16 Anders Carlsson <andersca@apple.com>
2412 Remove deprecated StorageNamespaceImpl overloads
2413 https://bugs.webkit.org/show_bug.cgi?id=139713
2415 Reviewed by Andreas Kling.
2417 * WebProcess/Storage/StorageNamespaceImpl.cpp:
2418 (WebKit::StorageNamespaceImpl::storageArea):
2419 (WebKit::StorageNamespaceImpl::copy):
2420 (WebKit::StorageNamespaceImpl::createSessionStorageNamespace): Deleted.
2421 (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): Deleted.
2422 * WebProcess/Storage/StorageNamespaceImpl.h:
2424 2014-12-16 Beth Dakin <bdakin@apple.com>
2426 Speculative build fix.
2428 * UIProcess/mac/WKImmediateActionController.mm:
2429 (-[WKImmediateActionController _animationControllerForCustomPreview]):
2431 2014-12-16 Beth Dakin <bdakin@apple.com>
2433 REGRESSION: Preview popovers obscure the link, look wrong
2434 https://bugs.webkit.org/show_bug.cgi?id=139711
2436 rdar://problem/19271854
2438 Reviewed by Tim Horton.
2440 Switch to using NSPopoverAnimationController.
2441 * UIProcess/mac/WKImmediateActionController.mm:
2442 (-[WKImmediateActionController _defaultAnimationController]):
2443 (-[WKImmediateActionController _animationControllerForCustomPreview]):
2445 2014-12-16 Timothy Horton <timothy_horton@apple.com>
2447 Immediate action popovers can get stuck open
2448 https://bugs.webkit.org/show_bug.cgi?id=139709
2449 <rdar://problem/19270279>
2451 Reviewed by Beth Dakin.
2453 * UIProcess/mac/WKImmediateActionController.mm:
2454 (-[WKImmediateActionController _clearImmediateActionState]):
2455 Don't clear the animation controller; it breaks things and was unnecessary.
2457 2014-12-16 Conrad Shultz <conrad_shultz@apple.com>
2459 Add a progress indicator to the preview popover
2460 https://bugs.webkit.org/show_bug.cgi?id=139699
2462 Reviewed by Tim Horton.
2464 * UIProcess/API/Cocoa/WKViewPrivate.h:
2465 * UIProcess/API/mac/WKView.mm:
2466 (-[WKView _setPreviewLoading:]):
2467 Wrap -[WKImmediateActionController setPreviewLoading:].
2469 * UIProcess/mac/WKImmediateActionController.h:
2470 * UIProcess/mac/WKImmediateActionController.mm:
2471 (-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]):
2472 Flag the preview view controller as loading before beginning the load.
2473 (-[WKImmediateActionController setPreviewLoading:]):
2474 Wrap -[WKPagePreviewViewController setLoading:].
2476 * UIProcess/mac/WKPagePreviewViewController.h:
2477 * UIProcess/mac/WKPagePreviewViewController.mm:
2478 (-[WKPagePreviewViewController setLoading:]):
2479 Toggle the progress indicator animation state.
2480 (-[WKPagePreviewViewController isLoading]):
2482 (-[WKPagePreviewViewController loadView]):
2483 Create and center an indeterminate progress indicator that won't scale with the preview content.
2485 2014-12-16 Enrica Casucci <enrica@apple.com>
2487 Fix iOS builders for 8.0
2488 https://bugs.webkit.org/show_bug.cgi?id=139495
2490 Reviewed by Jer Noble
2492 * UIProcess/API/Cocoa/WKWebView.mm:
2493 (-[WKWebView _mayAutomaticallyShowVideoOptimized]):
2494 * UIProcess/WebPageProxy.cpp:
2495 (WebKit::WebPageProxy::WebPageProxy):
2496 (WebKit::WebPageProxy::reattachToWebProcess):
2497 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2499 2014-12-16 Gavin Barraclough <barraclough@apple.com>
2501 Move Mac process suppression from WebCore to WebKit2
2502 https://bugs.webkit.org/show_bug.cgi?id=139705
2504 Reviewed by Geoff Garen.
2506 Currently PageThrottler constructs the PageActivityState, holds a copy of the ViewState,
2507 and an optional UserActivity.
2509 Instead, still construct the PageActivityState but just pass this out via the Page to WebPage.
2510 Logic From PageThrottler::updateUserActivity merged into WebPage::updateUserActivity.
2512 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2513 (WebKit::WebChromeClient::setPageActivityState):
2514 - added to propagate PageActivityState to WebPage.
2515 * WebProcess/WebCoreSupport/WebChromeClient.h:
2516 - added setPageActivityState to propagate PageActivityState to WebPage.
2517 * WebProcess/WebPage/WebPage.cpp:
2518 (WebKit::WebPage::WebPage):
2519 - calls to updateUserActivity.
2520 (WebKit::WebPage::setPageActivityState):
2521 - calls to updateUserActivity.
2522 (WebKit::WebPage::updateUserActivity):
2523 - incorporate logic from PageThrottler::updateUserActivity.
2524 (WebKit::WebPage::setViewState):
2525 - calls to updateUserActivity.
2526 (WebKit::WebPage::updatePreferences):
2527 - calls to updateUserActivity.
2528 * WebProcess/WebPage/WebPage.h:
2529 - added setPageActivityState, m_activityState.
2531 2014-12-16 Anders Carlsson <andersca@apple.com>
2533 More StorageManager modernization
2534 https://bugs.webkit.org/show_bug.cgi?id=139704
2536 Reviewed by Andreas Kling.
2538 * UIProcess/Storage/StorageManager.cpp:
2539 (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
2540 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
2541 (WebKit::StorageManager::createSessionStorageMap):
2542 (WebKit::StorageManager::destroyStorageMap):
2543 (WebKit::StorageManager::findStorageArea):
2544 (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
2546 2014-12-16 Anders Carlsson <andersca@apple.com>
2548 Use Ref in another StorageManager function
2549 https://bugs.webkit.org/show_bug.cgi?id=139700
2551 Reviewed by Andreas Kling.
2553 * UIProcess/Storage/StorageManager.cpp:
2554 (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
2556 2014-12-16 Anders Carlsson <andersca@apple.com>
2558 Use Ref in StorageManager
2559 https://bugs.webkit.org/show_bug.cgi?id=139698
2561 Reviewed by Andreas Kling.
2563 * UIProcess/Storage/StorageManager.cpp:
2564 (WebKit::StorageManager::TransientLocalStorageNamespace::create):
2565 (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
2566 (WebKit::StorageManager::StorageArea::create):
2567 (WebKit::StorageManager::StorageArea::clone):
2568 (WebKit::StorageManager::LocalStorageNamespace::create):
2569 (WebKit::StorageManager::SessionStorageNamespace::create):
2570 (WebKit::StorageManager::create):
2571 * UIProcess/Storage/StorageManager.h:
2573 2014-12-16 Gavin Barraclough <barraclough@apple.com>
2575 Split UserActivity from disabled flag in WebPage
2576 https://bugs.webkit.org/show_bug.cgi?id=139696
2578 Reviewed by Geoffrey Garen.
2580 In preparation for other things driving the UserActivity.
2582 * WebProcess/WebPage/WebPage.cpp:
2583 (WebKit::WebPage::WebPage):
2584 - initialize new members.
2585 (WebKit::WebPage::updateUserActivity):
2586 - start/stop the m_userActivity, based on m_processSupressionEnabled
2587 (WebKit::WebPage::updatePreferences):
2588 - call updateUserActivity to account for m_processSupressionEnabled changes.
2589 * WebProcess/WebPage/WebPage.h:
2590 - split m_processSuppressionDisabledByWebPreference -> m_processSupressionEnabled, m_userActivity.
2592 2014-12-16 Anders Carlsson <andersca@apple.com>
2594 Get rid of PassRefPtr inside StorageManager
2595 https://bugs.webkit.org/show_bug.cgi?id=139693
2597 Reviewed by Andreas Kling.
2599 * UIProcess/Storage/StorageManager.cpp:
2600 (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
2601 (WebKit::StorageManager::StorageArea::create):
2602 (WebKit::StorageManager::StorageArea::StorageArea):
2603 (WebKit::StorageManager::StorageArea::clone):
2604 (WebKit::StorageManager::LocalStorageNamespace::create):
2605 (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
2606 (WebKit::StorageManager::SessionStorageNamespace::create):
2607 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
2608 (WebKit::StorageManager::create):
2609 * UIProcess/Storage/StorageManager.h:
2611 2014-12-16 Tim Horton <timothy_horton@apple.com>
2613 Disable TextIndication for Lookup immediate actions
2614 https://bugs.webkit.org/show_bug.cgi?id=139684
2616 Reviewed by Anders Carlsson.
2618 * UIProcess/mac/WKImmediateActionController.mm:
2619 (-[WKImmediateActionController _animationControllerForText]):
2621 2014-12-16 Dan Bernstein <mitz@apple.com>
2623 [Cocoa] WKWebProcessPlugInLoadDelegate can’t tell what type of same-document navigation has happened
2624 https://bugs.webkit.org/show_bug.cgi?id=139669
2626 Reviewed by Anders Carlsson.
2628 * Shared/API/Cocoa/_WKSameDocumentNavigationType.h: Added. Moved the
2629 _WKSameDocumentNavigationType type definition here from WKNavigationDelegatePrivate.h.
2630 * Shared/API/Cocoa/_WKSameDocumentNavigationTypeInternal.h: Added.
2631 (WebKit::toWKSameDocumentNavigationType): Moved from NavigationState.mm.
2633 * Shared/API/c/WKSharedAPICast.h:
2634 (WebKit::toSameDocumentNavigationType): Added this conversion helper.
2636 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Added #import.
2638 * UIProcess/Cocoa/NavigationState.mm:
2639 (WebKit::toWKSameDocumentNavigationType): Deleted.
2641 * WebKit2.xcodeproj/project.pbxproj: Updated for added headers.
2643 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new
2644 delegate method that take a navigation type parameter.
2646 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2647 (didSameDocumentNavigationForFrame): Changed to call the new delegate method, passing the
2650 2014-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
2652 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.3 release.
2654 * gtk/NEWS: Add release notes for 2.7.3.
2656 2014-12-16 Antti Koivisto <antti@apple.com>
2658 WebKit level persistent caching
2659 https://bugs.webkit.org/show_bug.cgi?id=30322
2661 Minor cleanups based on comments by Joseph Pecoraro.
2663 * NetworkProcess/cache/NetworkCache.cpp:
2664 (WebKit::decodeStorageEntry):
2665 * NetworkProcess/cache/NetworkCache.h:
2666 * NetworkProcess/cache/NetworkCacheStorage.h:
2667 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
2668 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
2670 2014-12-15 Bartlomiej Gajda <b.gajda@samsung.com>
2672 Build fix after r177301.
2673 https://bugs.webkit.org/show_bug.cgi?id=139666
2675 Reviewed by Gyuyoung Kim.
2677 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
2678 (WebKit::WebPage::findZoomableAreaForPoint):
2680 2014-12-15 Simon Fraser <simon.fraser@apple.com>
2682 [iOS WK2] Possible crash when setting the WKWebViews's scroll view delegate, if the scroll view outlives the web view
2683 https://bugs.webkit.org/show_bug.cgi?id=139662
2684 rdar://problem/18083882
2686 Reviewed by Benjamin Poulain.
2688 Null out the internal delegate on the WKScrollView when the WKWebView goes away, since
2689 it's possible for a client to set its own scroll view delegate, forcing the creation of
2690 a WKScrollViewDelegateForwarder, and then retain the UIScrollView past the lifetime of
2691 the WKWebView. In this situation, the WKScrollViewDelegateForwarder's internalDelegate
2692 would point to a deleted WKWebView.
2694 * UIProcess/API/Cocoa/WKWebView.mm:
2695 (-[WKWebView dealloc]):
2697 2014-12-15 Beth Dakin <bdakin@apple.com>
2699 Make lookup an immediate action instead of an action menu item
2700 https://bugs.webkit.org/show_bug.cgi?id=139661
2702 rdar://problem/19198414
2704 Reviewed by Tim Horton.
2707 * Shared/API/c/WKImmediateActionTypes.h:
2709 ActionMenuHitTestResult now includes a DictionaryPopupInfo.
2710 * Shared/mac/ActionMenuHitTestResult.h:
2711 * Shared/mac/ActionMenuHitTestResult.mm:
2712 (WebKit::ActionMenuHitTestResult::encode):
2713 (WebKit::ActionMenuHitTestResult::decode):
2715 Remove all lookup menu items.
2716 * UIProcess/mac/WKActionMenuController.mm:
2717 (-[WKActionMenuController _defaultMenuItemsForText]):
2718 (-[WKActionMenuController _defaultMenuItemsForEditableText]):
2719 (-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]):
2720 (-[WKActionMenuController _createActionMenuItemForTag:]):
2721 (-[WKActionMenuController _lookupText:]): Deleted.
2723 Set the defaultAnimationController to the lookup-provided animation controller
2725 * UIProcess/mac/WKImmediateActionController.mm:
2726 (-[WKImmediateActionController _defaultAnimationController]):
2727 (-[WKImmediateActionController _animationControllerForText]):
2729 Re-factor performDictionaryLookupForRange() so that most of the work is done in a
2730 new function called dictionaryPopupInfoForRange(). This was that code can be used
2731 for both performing a dictionary lookup and just getting the DictionaryPopupInfo
2732 for the ActionMenuHitTest.
2733 * WebProcess/WebPage/WebPage.h:
2734 * WebProcess/WebPage/mac/WebPageMac.mm:
2735 (WebKit::WebPage::dictionaryPopupInfoForRange):
2736 (WebKit::WebPage::performDictionaryLookupForRange):
2737 (WebKit::WebPage::performActionMenuHitTestAtLocation):
2738 (WebKit::WebPage::lookupTextAtLocation):
2740 2014-12-15 Matt Baker <mattbaker@apple.com>
2742 Web Inspector: Docked inspector repositioned incorrectly when dragging frame borders
2743 https://bugs.webkit.org/show_bug.cgi?id=139415
2745 Reviewed by Joseph Pecoraro.
2747 The _ignoreNextInspectedViewFrameDidChange flag wasn't set back to NO after
2748 being tested by inspectedViewFrameDidChange.
2750 * UIProcess/mac/WebInspectorProxyMac.mm:
2751 (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]):
2753 2014-12-15 Gavin Barraclough <barraclough@apple.com>
2755 Simplify tracking of process suppression disabled for PluginProcessManager
2756 https://bugs.webkit.org/show_bug.cgi?id=139611
2758 Unreviewed gtk/efl build fix.
2760 * UIProcess/Plugins/PluginProcessManager.h:
2763 2014-12-15 Timothy Horton <timothy_horton@apple.com>
2765 Implement Data Detectors immediate actions for WebKit2
2766 https://bugs.webkit.org/show_bug.cgi?id=139617
2767 <rdar://problem/19198539>
2769 Reviewed by Beth Dakin.
2771 * UIProcess/mac/WKImmediateActionController.mm:
2772 (-[WKImmediateActionController _menuItemForDataDetectedText]):
2773 Note that this action context is only for immediate actions.
2775 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com>
2777 Addressing post-review comments in r177035
2778 https://bugs.webkit.org/show_bug.cgi?id=139557
2780 Reviewed by Darin Adler.
2782 * Shared/WebHitTestResult.cpp:
2783 (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): Migrate off rendererBoundingBox().
2784 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
2785 (WebKit::WebPage::findZoomableAreaForPoint): Ditto.
2787 2014-12-15 Timothy Horton <timothy_horton@apple.com>
2789 Implement Data Detectors immediate actions for WebKit2
2790 https://bugs.webkit.org/show_bug.cgi?id=139617
2791 <rdar://problem/19198539>
2793 Reviewed by Beth Dakin.
2795 * Shared/API/c/WKImmediateActionTypes.h:
2798 * UIProcess/API/mac/WKView.mm:
2799 (-[WKView mouseDown:]):
2800 Send mouseDown along to the WKImmediateActionController too.
2802 (-[WKView initWithFrame:context:configuration:webView:]):
2803 Temporarily disable action menus.
2805 (-[WKView _dismissContentRelativeChildWindows]):
2806 Hide the immediate action preview when detaching child windows.
2808 * UIProcess/mac/WKImmediateActionController.h:
2809 * UIProcess/mac/WKImmediateActionController.mm:
2810 (-[WKImmediateActionController willDestroyView:]):
2811 Clear the DDActionContext when tearing down the view.
2813 (-[WKImmediateActionController wkView:willHandleMouseDown:]):
2814 (-[WKImmediateActionController _cancelImmediateAction]):
2815 (-[WKImmediateActionController _clearImmediateActionState]):
2816 (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
2817 (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
2818 (-[WKImmediateActionController _defaultAnimationController]):
2819 (-[WKImmediateActionController _updateImmediateActionItem]):
2820 (-[WKImmediateActionController hidePreview]):
2821 (-[WKImmediateActionController popoverWillClose:]):
2822 (-[WKImmediateActionController _menuItemForDataDetectedText]):
2823 Copy most of the DataDetectors implementation into WKImmediateActionController.
2825 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com>
2827 Delete Notation because we don't use it
2828 https://bugs.webkit.org/show_bug.cgi?id=139171
2830 Reviewed by Kent Tamura.
2832 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
2833 (WebKit::WKDOMNodeClass):
2834 * mac/MigrateHeadersFromWebKitLegacy.make:
2836 2014-12-15 David Kilzer <ddkilzer@apple.com>
2838 Remove last references to OfflineStorage process
2839 <http://webkit.org/b/139648>
2841 Reviewed by Anders Carlsson.
2843 * WebKit2.xcodeproj/project.pbxproj: Remove last references to
2844 the OfflineStorage process. See r154251 and r154256.
2846 2014-12-15 Gavin Barraclough <barraclough@apple.com>
2848 Change HysteresisActivity to use a lambda
2849 https://bugs.webkit.org/show_bug.cgi?id=139636
2851 Reviewed by Darin Adler.
2853 The current implementation provides notifications via callbacks to a delegate. Using a delegate
2854 with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks
2855 must either be on a separate object (more boilerplate), or the callback must be public for
2856 HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra
2857 delegate objects it's hard to scale use of these objects - a single object can't serve as a
2858 delegate for multiple HysteresisActivity members.
2860 Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed
2861 HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout).
2863 * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp:
2864 (WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
2865 - HysteresisActivity now takes a lambda, not a delegate.
2866 (WebKit::WebSQLiteDatabaseTracker::hysteresisUpdated):
2867 (WebKit::WebSQLiteDatabaseTracker::started): Deleted.
2868 (WebKit::WebSQLiteDatabaseTracker::stopped): Deleted.
2869 - started/stopped merged into hysteresisUpdated
2870 * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h:
2871 - HysteresisActivity is no longer templated on delegate type, changed function declarations.
2873 2014-12-15 Antti Koivisto <antti@apple.com>
2875 WebKit level persistent caching
2876 https://bugs.webkit.org/show_bug.cgi?id=30322
2878 Reviewed by Sam Weinig.
2880 We can improve performance and open new optimization possibilities by bringing network caching into WebKit.
2882 This patch implements an experimental HTTP cache living in the network process.
2884 The main classes are:
2887 - Implements HTTP cache validation logic including Vary header
2888 - Initially non-range GET only
2889 - Fast serialization using WebKit types (ResourcesResponse etc) instead of native network layer types
2892 - Unique identifier for cache entries
2893 - Keyed on method/partition/URL
2897 - dispatch-IO based implementation (generic posix implementation wouldn't be difficult)
2898 - File system only (no SQLite or similar)
2899 - One file per resource containing both header and body data
2900 - Zero persistent global metadata
2901 - Bloom filter for fast fail
2903 NetworkCacheEncoder/Decoder
2904 - Serializisation support with integrity verification.
2906 The code is behind the NETWORK_CACHE feature flag and requires network process to be enabled to use.
2908 This patch does not enable the feature yet by default.
2910 Test: http/tests/cache/disk-cache-validation.html
2912 * NetworkProcess/cache/NetworkCache.cpp: Added.
2913 * NetworkProcess/cache/NetworkCache.h: Added.
2914 * NetworkProcess/cache/NetworkCacheKey.cpp: Added.
2915 * NetworkProcess/cache/NetworkCacheKey.h: Added.
2916 * NetworkProcess/cache/NetworkCacheStorage.h: Added.
2917 * NetworkProcess/cache/NetworkCacheStorage.mm: Added.
2918 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
2919 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
2920 (WebKit::NetworkProcess::platformSetCacheModel):
2921 * NetworkProcess/ios/NetworkProcessIOS.mm:
2922 (WebKit::NetworkProcess::clearCacheForAllOrigins):
2923 * NetworkProcess/mac/NetworkProcessMac.mm:
2924 (WebKit::NetworkProcess::clearCacheForAllOrigins):
2925 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
2926 (WebKit::tryGetShareableHandleFromCFData):
2927 * Platform/Logging.h:
2928 * WebKit2.xcodeproj/project.pbxproj:
2931 2014-12-15 Gavin Barraclough <barraclough@apple.com>
2933 Simplify tracking of process suppression disabled for PluginProcessManager
2934 https://bugs.webkit.org/show_bug.cgi?id=139611
2936 Reviewed by Darin Adler.
2938 Previously if process suppression state changed for any context we would
2939 iterate over all contexts to recompute.
2941 There was also an inconsistency in the code. When plugin processes are
2942 created they called processSuppressionIsEnabledForAllContexts(), which
2943 checked WebContext::processSuppressionEnabled(), which in turn checks
2944 two things - whether any page is currently visible, and whether the
2945 suppression is currently disabled for any page. However when updating
2946 process supression state we would call
2947 processSuppressionPreferenceIsEnabledForAllContexts(), which would just
2948 check the value of the key from the context's default PageGroup.
2950 We shouldn't be taking visibility into account (this is handled from the
2951 content, where we know which pages have instances of which plugins), but
2952 we should be checking the current pref value of each page.
2954 We already track in each context whether any page has teh pref set to
2955 disable throttling; add a counter to the shared PluginProcessManager to
2956 coallesce across all contexts.
2958 * UIProcess/Plugins/PluginProcessManager.cpp:
2959 (WebKit::PluginProcessManager::PluginProcessManager):
2960 - added m_processSuppressionDisabledForPageCounter, m_processSuppressionEnabled.
2961 * UIProcess/Plugins/PluginProcessManager.h:
2962 (WebKit::PluginProcessManager::processSuppressionDisabledForPageCount):
2963 - accessor for WebContext to increment count.
2964 (WebKit::PluginProcessManager::processSuppressionEnabled):
2965 - accessor for PluginProcessProxy.
2966 * UIProcess/Plugins/PluginProcessProxy.cpp:
2967 (WebKit::PluginProcessProxy::didFinishLaunching):
2968 - get initial supression state from the PluginProcessManager, not WebContext.
2969 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
2970 (WebKit::PluginProcessManager::updateProcessSuppressionState):
2971 (WebKit::PluginProcessManager::setProcessSuppressionEnabled): Deleted.
2972 - setProcessSuppressionEnabled -> updateProcessSuppressionState
2973 rather than WebContext setting suppression state, PluginProcessManager detects
2974 when this may need to change & determines a new value for itself.
2975 * UIProcess/WebContext.h:
2976 - removed processSuppressionIsEnabledForAllContexts, processSuppressionPreferenceIsEnabledForAllContexts
2977 updateProcessSuppressionState is no longer const (updates m_pluginProcessManagerProcessSuppressionDisabledCount).
2978 * UIProcess/mac/WebContextMac.mm:
2979 (WebKit::WebContext::updateProcessSuppressionState):
2980 - instead of explicitly recomputing plugin throttling state from Within the WebContext, just update
2981 m_pluginProcessManagerProcessSuppressionDisabledCount to count a RefCounter on the shared PluginProcessManager.
2982 (WebKit::WebContext::processSuppressionIsEnabledForAllContexts): Deleted.
2983 (WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts): Deleted.
2986 2014-12-15 Carlos Garcia Campos <cgarcia@igalia.com>
2988 [GTK] Use API::LoaderClient instead of WKPageLoaderClient
2989 https://bugs.webkit.org/show_bug.cgi?id=139583
2991 Reviewed by Gustavo Noronha Silva.
2993 It simplifies the code and it will make easier to implement new
2994 loader client methods.
2996 * UIProcess/API/gtk/WebKitBackForwardList.cpp:
2997 (webkitBackForwardListChanged):
2998 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
2999 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3000 (LoaderClient::LoaderClient):
3001 (attachLoaderClientToView):
3002 (didStartProvisionalLoadForFrame): Deleted.
3003 (didReceiveServerRedirectForProvisionalLoadForFrame): Deleted.
3004 (didFailProvisionalLoadWithErrorForFrame): Deleted.
3005 (didCommitLoadForFrame): Deleted.
3006 (didFinishLoadForFrame): Deleted.
3007 (didFailLoadWithErrorForFrame): Deleted.
3008 (didDisplayInsecureContentForFrame): Deleted.
3009 (didRunInsecureContentForFrame): Deleted.
3010 (didChangeBackForwardList): Deleted.
3011 (didReceiveAuthenticationChallengeInFrame): Deleted.
3012 (processDidCrash): Deleted.
3014 2014-12-15 Gwang Yoon Hwang <yoon@igalia.com>
3016 Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController
3017 https://bugs.webkit.org/show_bug.cgi?id=118383
3019 Reviewed by Martin Robinson.
3021 Implements an initial version of the Threaded Compositor.
3023 Threaded Compositor is a variant of Coordinated Graphics implementation.
3024 Basic structure of the implementaion is simliar, thus, Threaded
3025 Compositor reuses lots of classes from Coordinated Graphics. However,
3026 instead of compositing on UI Process, Threaded Compositor performs
3027 compositing on a dedicate thread of Web Process.
3029 No new test, because it is in experimental stage.
3031 * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
3032 (WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
3033 Removed a assertion not to force its creation in the main thread. In
3034 the Threaded Compositor, it can be created in the dedicated thread.
3036 * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added.
3037 * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added.
3038 Implements a surface using ImageBuffer as a backend to use in the Web
3041 * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added.
3042 * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added.
3043 Implements a compositor which runs on the created thread. It owns
3044 SimpleViewportController and CoordinatedGraphicsScene to render scene on the
3047 * Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added.
3048 * Shared/CoordinatedGraphics/SimpleViewportController.h: Added.
3049 This class is responsible to handle scale factor and scrolling position
3050 with a simplifed logic in the compositing thread.
3052 2014-12-14 Andreas Kling <akling@apple.com>
3054 Replace PassRef with Ref/Ref&& across the board.
3055 <https://webkit.org/b/139587>
3057 Reviewed by Darin Adler.
3059 * UIProcess/WebBackForwardList.h:
3060 (WebKit::WebBackForwardList::create):
3061 * UIProcess/WebBatteryManagerProxy.cpp:
3062 (WebKit::WebBatteryManagerProxy::create):
3063 * UIProcess/WebBatteryManagerProxy.h:
3064 * UIProcess/WebPageGroup.cpp:
3065 (WebKit::WebPageGroup::createNonNull):
3066 * UIProcess/WebPageGroup.h:
3067 * UIProcess/efl/BatteryProvider.cpp:
3068 (BatteryProvider::create):
3069 * UIProcess/efl/BatteryProvider.h:
3070 * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
3071 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3072 (WebKit::WebEditorClient::shouldApplyStyle):
3073 * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
3074 (WebKit::WebUserMediaClient::requestPermission):
3075 * WebProcess/WebCoreSupport/WebUserMediaClient.h:
3076 * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
3077 (WebKit::ViewUpdateDispatcher::create):
3078 * WebProcess/WebPage/ViewUpdateDispatcher.h:
3080 2014-12-12 Gavin Barraclough <barraclough@apple.com>
3082 Split WebPageProxy::m_preventProcessSuppression to track pref/visibility separately
3083 https://bugs.webkit.org/show_bug.cgi?id=139600
3085 Reviewed by Geoff Garen.
3087 Previously WebPageProxy::m_preventProcessSuppression would be set if either the page was visible
3088 or its suppression was disabled by the pref. Instead track these separately. This will make the
3089 user observability state applicable on iOS, too.
3091 Add a new counter to WebContext, and split the counting in WebPageProxy.
3092 ::updateProccessSuppressionState continues to track the pref change (which matches its name),
3093 tracking of user observability changes moved to updateActivityToken (which we should further
3094 merge with; it already tracks observability to control process state for iOS).
3096 * UIProcess/WebContext.cpp:
3097 (WebKit::m_processSuppressionDisabledForPageCounter):
3098 - added new RefCounter.
3099 * UIProcess/WebContext.h:
3100 (WebKit::WebContext::processSuppressionDisabledForPageCount):
3101 - added new RefCounter.
3102 * UIProcess/WebPageProxy.cpp:
3103 (WebKit::WebPageProxy::reattachToWebProcess):
3104 - no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken).
3105 (WebKit::WebPageProxy::dispatchViewStateChange):
3106 - no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken).
3107 (WebKit::WebPageProxy::updateActivityToken):
3108 - this now also updated the user observability counter.
3109 (WebKit::WebPageProxy::updateProccessSuppressionState):
3110 - now only tracks whether this is disabled via the preference.
3111 (WebKit::WebPageProxy::resetStateAfterProcessExited):
3112 - clear the user observability counter; thsi will be reset on reattach.
3113 * UIProcess/WebPageProxy.h:
3114 - added new RefCounter::Count.
3115 * UIProcess/mac/WebContextMac.mm:
3116 (WebKit::WebContext::processSuppressionEnabled):
3117 - processSuppressionEnabled is disabled if *neither*:
3118 - there are user observable pages
3119 - disabled by pref for any page.
3121 2014-12-12 Beth Dakin <bdakin@apple.com>
3123 Need a fake mouse move after hiding data detectors UI
3124 https://bugs.webkit.org/show_bug.cgi?id=139608
3126 rdar://problem/19221935
3128 Reviewed by Tim Horton.
3130 * WebProcess/WebPage/mac/WebPageMac.mm:
3131 (WebKit::WebPage::dataDetectorsDidHideUI):
3133 2014-12-12 Anders Carlsson <andersca@apple.com>
3135 Handle caches in WebsiteDataStore
3136 https://bugs.webkit.org/show_bug.cgi?id=139607
3137 <rdar://problem/19107614>
3139 Reviewed by Sam Weinig.
3141 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
3142 (WebKit::computeNetworkProcessAccessType):
3144 2014-12-12 Enrica Casucci <enrica@apple.com>
3146 [iOS] Predictions are not updated when using navigation buttons.
3147 https://bugs.webkit.org/show_bug.cgi?id=139567
3148 rdar://problem/19132585
3150 Reviewed by Dan Bernstein.
3152 When moving focus programmatically, we need to notify the keyboard so that it
3153 can update the prediction bar.
3155 * UIProcess/WebPageProxy.h:
3156 * UIProcess/ios/WKContentViewInteraction.mm:
3157 (-[WKFormInputSession setAccessoryViewCustomButtonTitle:]):
3158 (-[WKContentView requiresAccessoryView]):
3159 (-[WKContentView inputAssistantButtonItems]):
3160 (-[WKContentView accessoryTab:]):
3161 (-[WKContentView _startAssistingKeyboard]):
3162 (-[WKContentView _stopAssistingNode]):
3163 * UIProcess/ios/WebPageProxyIOS.mm:
3164 (WebKit::WebPageProxy::focusNextAssistedNode):
3165 * WebProcess/WebPage/WebPage.h:
3166 * WebProcess/WebPage/WebPage.messages.in:
3167 * WebProcess/WebPage/ios/WebPageIOS.mm:
3168 (WebKit::WebPage::focusNextAssistedNode):
3170 2014-12-12 Timothy Horton <timothy_horton@apple.com>
3172 TextIndicator (and other view-relative subwindows) is not dismissed on zoom gesture
3173 https://bugs.webkit.org/show_bug.cgi?id=139580
3174 <rdar://problem/19226350>
3176 Reviewed by Anders Carlsson.
3178 * UIProcess/PageClient.h:
3179 * UIProcess/mac/PageClientImpl.h:
3180 * UIProcess/mac/PageClientImpl.mm:
3181 (WebKit::PageClientImpl::dismissContentRelativeChildWindows):
3182 (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Deleted.
3183 (WebKit::PageClientImpl::dismissActionMenuPopovers): Deleted.
3184 Merge dismissDictionaryLookupPanel and dismissActionMenuPopovers into
3185 _dismissContentRelativeChildWindows, which also dismisses TextIndicator and the
3186 text correction panel. Dismissal of any child windows which are anchored to
3187 the page content now bottlenecks through this function.
3189 (WebKit::PageClientImpl::navigationGestureDidBegin):
3190 Dismiss all anchored subwindows when starting a navigation gesture, not
3191 just TextIndicator and action menu popovers.
3193 * UIProcess/API/mac/WKView.mm:
3194 (-[WKView scrollWheel:]):
3195 No need to dismiss TextIndicator here; we've got this covered in the more-inclusive
3196 WebPageProxy::pageDidScroll, and will now dismiss more things.
3198 (-[WKView mouseDown:]):
3199 Dismiss more things.
3201 (-[WKView viewDidMoveToWindow]):
3202 Dismiss more things.
3204 (-[WKView _dismissContentRelativeChildWindows]):
3205 The aforementioned combined dismissal function.
3207 (-[WKView magnifyWithEvent:]):
3208 (-[WKView smartMagnifyWithEvent:]):
3209 (-[WKView setMagnification:centeredAtPoint:]):
3210 (-[WKView setMagnification:]):
3211 Any time the page magnification changes, dismiss all the things.
3213 * UIProcess/API/mac/WKViewPrivate.h:
3214 Expose _dismissContentRelativeChildWindows instead of _dismissActionMenuPopovers;
3215 for all existing clients, it makes more sense to dismiss all view-relative subwindows
3216 than just a subset of them.
3218 * UIProcess/WebPageProxy.cpp:
3219 (WebKit::WebPageProxy::didCommitLoadForFrame):
3220 (WebKit::WebPageProxy::pageDidScroll):
3221 (WebKit::WebPageProxy::resetStateAfterProcessExited):
3222 Make use of dismissAnchoredSubwindows.
3224 * UIProcess/mac/WKActionMenuController.h:
3225 * UIProcess/mac/WKActionMenuController.mm:
3226 (-[WKActionMenuController prepareForMenu:withEvent:]):
3227 Dismiss more things.
3229 (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
3230 (-[WKActionMenuController dismissActionMenuPopovers]): Deleted.
3231 dismissActionMenuPopovers is folded into WKView's _dismissContentRelativeChildWindows.
3233 (-[WKActionMenuController _showTextIndicator]): Deleted.
3234 (-[WKActionMenuController _hideTextIndicator]): Deleted.
3235 Fold _showTextIndicator and _hideTextIndicator into their only callers.
3236 _isShowingTextIndicator was never necessary, because it's OK to change
3237 the current TextIndicator at any time, and a newer one is always more relevant.
3239 2014-12-12 Gavin Barraclough <barraclough@apple.com>
3241 Keep single RefCounter to track whether any pages in a context are process suppressible
3242 https://bugs.webkit.org/show_bug.cgi?id=139576
3244 Reviewed by Sam Weinig.
3246 Currently we keep separate counters in each process, and coallesce these in the
3247 context. Instead we should have a counter in the WebContext.
3249 Also, changed the name to better describe the state we're tracking, rather than
3250 describing what it's currently used for. This counter will also be useful for
3251 iOS, to better manage background state of the networking process.
3253 * UIProcess/WebContext.cpp:
3254 (WebKit::WebContext::WebContext):
3255 - initialize m_userObservablePageCounter.
3256 * UIProcess/WebContext.h:
3257 (WebKit::WebContext::updateProcessSuppressionState):
3258 - Added no-op implementation for non-cocoa platforms.
3259 (WebKit::WebContext::userObservablePageCount):
3260 - Count the number of user visible (audible / visible) pages in Context.
3261 * UIProcess/WebPageProxy.cpp:
3262 (WebKit::WebPageProxy::updateProccessSuppressionState):
3263 - WebProcessProxy::processSuppressionCounter -> WebContext::userObservablePageCount
3264 * UIProcess/WebProcessProxy.cpp:
3265 (WebKit::WebProcessProxy::WebProcessProxy):
3266 (WebKit::WebProcessProxy::didFinishLaunching):
3267 - moved all processs supression state tracking to the WebContext.
3268 * UIProcess/WebProcessProxy.h:
3269 (WebKit::WebProcessProxy::processSuppressionCounter): Deleted.
3270 - moved all processs supression state tracking to the WebContext.
3271 * UIProcess/ios/WebProcessProxyIOS.mm:
3272 (WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted.
3273 (WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted.
3274 - moved all processs supression state tracking to the WebContext.
3275 * UIProcess/mac/WebContextMac.mm:
3276 (WebKit::WebContext::processSuppressionEnabled):
3277 - no need to interate all processes; just have a single counter.
3278 * UIProcess/mac/WebProcessProxyMac.mm:
3279 (WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted.
3280 (WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted.
3281 - moved all processs supression state tracking to the WebContext.
3283 2014-12-12 Alexey Proskuryakov <ap@apple.com>
3285 Layout Test http/tests/loading/307-after-303-after-post.html is flaky
3286 https://bugs.webkit.org/show_bug.cgi?id=73030
3288 Reviewed by Anders Carlsson.
3290 * UIProcess/WebContext.cpp:
3291 (WebKit::WebContext::createNewWebProcess): Added a FIXME comment.
3292 (WebKit::WebContext::setIconDatabasePath): Don't enable m_iconDatabase if the path
3293 is empty, meaning that the database is disabled (which is not a great way to say
3294 that, but WebKit2 icon database doesn't support enabling/disabling cleanly).
3295 (WebKit::WebContext::iconDatabasePath): Keep it empty if it was empty.
3297 2014-12-12 Mark Rowe <mrowe@apple.com>
3299 Fix the 32-bit build.
3301 * UIProcess/API/mac/WKView.mm:
3302 (-[WKView _setPreviewTitle:]):
3304 2014-12-12 Timothy Horton <timothy_horton@apple.com>
3306 Fix the 32-bit build.
3308 * UIProcess/mac/WKImmediateActionController.h:
3310 2014-12-12 Rohit Kumar <kumar.rohit@samsung.com>
3312 Fix Build Warning in WebKit2/UIProcess module for GTK build and WebKit2/NetworkProcess module in GTK and EFL build
3313 https://bugs.webkit.org/show_bug.cgi?id=139535
3315 Reviewed by Martin Robinson.
3317 * UIProcess/API/gtk/WebKitWebView.cpp: Use UNUSED_PARAM for conditional #if case
3318 (webkitWebViewShowNotification):
3319 (webkitWebViewCloseNotification):
3321 2014-12-12 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3323 [EFL] Disable all EWK2Accessibility unit tests
3324 https://bugs.webkit.org/show_bug.cgi?id=139577
3326 Reviewed by Csaba Osztrogonác.
3328 WebAccessibility functionality isn't supported by EFL WebKit2 though,
3329 EWK2Accessibility unit tests have been tested. That's why those tests have been failed
3332 * UIProcess/API/efl/tests/test_ewk2_accessibility.cpp:
3335 2014-12-12 Simon Fraser <simon.fraser@apple.com>
3337 Layer borders on contentsLayers don't correctly toggle with the rest of the borders
3338 https://bugs.webkit.org/show_bug.cgi?id=139570
3339 rdar://problem/18007746
3341 Reviewed by Tim Horton.
3343 Return nil if the color is invalid, to remove the color from the layer's
3344 border or background.
3346 * Shared/mac/RemoteLayerTreePropertyApplier.mm:
3347 (WebKit::cgColorFromColor):
3349 2014-12-11 Gavin Barraclough <barraclough@apple.com>
3351 Track pages preventing suppression in WebProcessProxy using RefCounter
3352 https://bugs.webkit.org/show_bug.cgi?id=139108
3354 Reviewed by Benjamin Poulain.
3356 The networking process is allowed to app nap if all web pages are also currently in app nap.
3357 In order to detect whether any page in any process currently requires the networking process
3359 - maintain hash sets in every WebProcessProxy of pages that are okay with suppression.
3360 - if anything changes, the WebContext iterates every WebProcessProxy to recompute state.
3362 This is all crazy - all we actually need is a simple count of the number of pages that need
3363 to prevent the networking process from entering app nap. This patch gets us half way there -
3364 replace the HashSet with a RefCounter. Next step will be to hoist the RefCounters from the
3365 process proxies up to the context to do away with the iteration.
3367 * UIProcess/WebPageProxy.cpp:
3368 (WebKit::WebPageProxy::WebPageProxy):
3369 (WebKit::WebPageProxy::reattachToWebProcess):
3370 - make sure we prevent process suppression, per current viewstate & preferences.
3371 (WebKit::WebPageProxy::dispatchViewStateChange):
3372 - make sure we prevent process suppression, per viewstate change.
3373 (WebKit::WebPageProxy::updateProccessSuppressionState):
3374 - recompute whether we need to prevent process suppression.
3375 (WebKit::WebPageProxy::preferencesDidChange):
3376 - when preferences change process supression may be disabled.
3377 (WebKit::WebPageProxy::resetStateAfterProcessExited):
3378 - we need to drop the old ref, to allow a new one to be taken when we reattach.
3379 (WebKit::WebPageProxy::isProcessSuppressible): Deleted.
3380 - moreged into updateProccessSuppressionState.
3381 * UIProcess/WebPageProxy.h:
3382 - added m_preventProcessSuppression.
3383 * UIProcess/WebProcessProxy.cpp:
3384 (WebKit::WebProcessProxy::WebProcessProxy):
3385 - initialize m_pagesPreventingSuppression
3386 (WebKit::WebProcessProxy::createWebPage):
3387 - moved to WebPageProxy::WebPageProxy
3388 (WebKit::WebProcessProxy::addExistingWebPage):
3389 - moved to WebPageProxy::reattachToWebProcess
3390 (WebKit::WebProcessProxy::removeWebPage):
3391 - now implicit; when the page is destroyed the RefPtr will release.
3392 (WebKit::WebProcessProxy::pageSuppressibilityChanged): Deleted.
3393 - moved to WebPageProxy::dispatchViewStateChange.
3394 (WebKit::WebProcessProxy::pagePreferencesChanged): Deleted.
3395 - moved to WebPageProxy::preferencesDidChange.
3396 * UIProcess/WebProcessProxy.h:
3397 (WebKit::WebProcessProxy::preventProcessSuppressionForPage):
3398 - reference count m_pagesPreventingSuppression
3399 * UIProcess/mac/WebProcessProxyMac.mm:
3400 (WebKit::WebProcessProxy::allPagesAreProcessSuppressible):
3401 - converted to use m_pagesPreventingSuppression.
3402 - removed guard that meant processes with no pages would keep the networking
3403 process from entering app nap, which made no sense.
3405 2014-12-11 Anders Carlsson <andersca@apple.com>
3407 Temporarily use WebCore session storage for transient local storage
3408 https://bugs.webkit.org/show_bug.cgi?id=139574
3410 Reviewed by Dan Bernstein.
3412 * WebProcess/Storage/StorageNamespaceImpl.h:
3413 Change the header guard so it won't conflict with StorageNamespaceImpl.h in WebCore.
3415 * WebProcess/Storage/WebStorageNamespaceProvider.cpp:
3416 (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
3417 Use the WebCore session storage for now, to avoid crashes.
3419 2014-12-11 Commit Queue <commit-queue@webkit.org>
3421 Unreviewed, rolling out r177081.
3422 https://bugs.webkit.org/show_bug.cgi?id=139569
3424 broke iOS video playback (Requested by eric_carlson on
3429 "Fix iOS builders for 8.0"
3430 https://bugs.webkit.org/show_bug.cgi?id=139495
3431 http://trac.webkit.org/changeset/177081
3433 2014-12-11 Beth Dakin <bdakin@apple.com>
3435 WK2: Need new SPI for Webkit clients to override default immediate action
3436 https://bugs.webkit.org/show_bug.cgi?id=139564
3438 rdar://problem/19225448
3440 Reviewed by Tim Horton.
3442 New SPI _immediateActionAnimationControllerForHitTestResult:withType:userData:
3443 * UIProcess/API/Cocoa/WKViewPrivate.h:
3444 * UIProcess/API/mac/WKView.mm:
3445 (-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
3447 Keep at ivar for the userData so that it can be passed to the new SPI.
3448 * UIProcess/mac/WKImmediateActionController.h:
3449 * UIProcess/mac/WKImmediateActionController.mm:
3450 (-[WKImmediateActionController _clearImmediateActionState]):
3451 (-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):
3453 Always give the SPI a ch