| 2015-05-04 Dan Bernstein <mitz@apple.com> |
| |
| WebKit always goes through LaunchServices for main frame navigation actions |
| https://bugs.webkit.org/show_bug.cgi?id=144608 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Defined |
| _WKNavigationActionPolicyAllowWithoutTryingAppLink. |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): If the policy |
| is _WKNavigationActionPolicyAllowWithoutTryingAppLink, don’t go through tryAppLink. |
| |
| 2015-05-04 Enrica Casucci <enrica@apple.com> |
| |
| [iOS WK2] editorState should include information about selection clipping rectangle. |
| https://bugs.webkit.org/show_bug.cgi?id=144603 |
| rdar://problem/20521252 |
| |
| Reviewed by Chris Dumez. |
| |
| Adding selectionClipRect to the post-layout portion of EditorState. |
| This way we can compute the selection clipping rectangle based on |
| up-to-date information instead of using the rectangle provided when |
| then element was first focused. |
| |
| * Shared/EditorState.cpp: |
| (WebKit::EditorState::PostLayoutData::encode): |
| (WebKit::EditorState::PostLayoutData::decode): |
| * Shared/EditorState.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _selectionClipRect]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::platformEditorState): |
| |
| 2015-05-04 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Support time based cache clearing |
| https://bugs.webkit.org/show_bug.cgi?id=144568 |
| <rdar://problem/19769820> |
| |
| Reviewed by Andreas Kling. |
| |
| Support clearing cache entries newer than given time only. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::deleteDumpFile): |
| (WebKit::NetworkCache::Storage::traverse): |
| |
| Also fix thread safety of traverse handler function. |
| |
| (WebKit::NetworkCache::Cache::clear): |
| |
| Also add completion handler to support the API properly. |
| |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::clear): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::clearNSURLCache): |
| |
| Factor to a function. |
| |
| (WebKit::NetworkProcess::clearDiskCache): |
| |
| 2015-05-04 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WTF] Remove Functional.h inclusions |
| https://bugs.webkit.org/show_bug.cgi?id=144400 |
| |
| Reviewed by Darin Adler. |
| |
| Remove unnecessary inclusions of the <wtf/Functional.h> header in WebKit2. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Import the <objc/runtime.h> |
| header that was previously indirectly included through the Functional.h header. |
| * WebProcess/WebPage/DrawingArea.cpp: |
| |
| 2015-05-04 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [ARM] Don't compare unsigned chars to EOF (-1) |
| https://bugs.webkit.org/show_bug.cgi?id=144439 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Shared/linux/WebMemorySamplerLinux.cpp: |
| (WebKit::nextToken): Don't cast return value of fgetc() to char. |
| |
| 2015-05-04 Antti Koivisto <antti@apple.com> |
| |
| Remove NetworkResourceLoadScheduler |
| https://bugs.webkit.org/show_bug.cgi?id=144550 |
| |
| Reviewed by Sam Weinig. |
| |
| It doesn't really do anything. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): |
| (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::getNetworkProcessStatistics): |
| * NetworkProcess/NetworkProcess.h: |
| (WebKit::NetworkProcess::networkResourceLoadScheduler): Deleted. |
| * NetworkProcess/NetworkResourceLoadScheduler.cpp: Removed. |
| * NetworkProcess/NetworkResourceLoadScheduler.h: Removed. |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::cleanup): |
| * NetworkProcess/NetworkResourceLoader.h: |
| (WebKit::NetworkResourceLoader::create): |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::initializeNetworkSettings): |
| |
| Moved from NetworkResourceLoadSchedulerMac.mm. |
| |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: Removed. |
| * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-05-03 Alexey Proskuryakov <ap@apple.com> |
| |
| Crash in SandboxExtension::consume when uploading iWork -tef documents to iCloud |
| https://bugs.webkit.org/show_bug.cgi?id=144509 |
| rdar://problem/18731910 |
| |
| Reviewed by Daniel Bates. |
| |
| No test, because testRunner.beginDragWithFiles doesn't work in WKTR, and making |
| it work is hard. |
| |
| * Shared/BlobDataFileReferenceWithSandboxExtension.cpp: |
| (WebKit::BlobDataFileReferenceWithSandboxExtension::prepareForFileAccess): |
| (WebKit::BlobDataFileReferenceWithSandboxExtension::revokeFileAccess): |
| |
| 2015-05-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][EFL] Unify platform display handling |
| https://bugs.webkit.org/show_bug.cgi?id=144517 |
| |
| Reviewed by Martin Robinson. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): Use PlatformDisplay::sharedDisplay() |
| to checkt the display type. |
| (webkitWebViewBaseCreateWebPage): Ditto. |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::BackingStore::createBackend): Pass the native X11 shared |
| display to BackingStoreBackendCairoX11. |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| (WebKit::NetscapePlugin::x11HostDisplay): Return the native X11 |
| shared display. |
| |
| 2015-05-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix Debug build with NETWORK_CACHE enabled and CACHE_PARTITIONING disabled. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::store): |
| |
| 2015-05-01 Dan Bernstein <mitz@apple.com> |
| |
| WebKit2 part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list |
| https://bugs.webkit.org/show_bug.cgi?id=144501 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::loadAlternateHTMLString): If this is called during |
| didFailProvisionalLoadForFrame, send back the provisional URL captured at the time of |
| failure. |
| (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Get the provisioinal URL and keep |
| it in new member variable m_failingProvisionalLoadURL for the duration of the client’s |
| handling of this message. |
| * UIProcess/WebPageProxy.h: |
| |
| * UIProcess/WebPageProxy.messages.in: Added provisionalURL parameter to |
| DidFailProvisionalLoadForFrame. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Send the URL for this error |
| to the UI process. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::loadAlternateHTMLString): Temporarily restore the loader’s state to |
| reflect the provisional load error being handled. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: Added provisionalLoadErrorURL parameter to |
| LoadAlternateHTMLString. |
| |
| 2015-05-01 Martin Robinson <mrobinson@igalia.com> |
| |
| USE(...) macro should expect unprefixed variables |
| https://bugs.webkit.org/show_bug.cgi?id=144454 |
| |
| Reviewed by Daniel Bates. |
| |
| * Shared/API/c/WKBase.h: Replace all occurrences WTF_USE with USE. |
| * WebKit2.xcodeproj/project.pbxproj: Ditto. |
| |
| 2015-05-01 Brady Eidson <beidson@apple.com> |
| |
| Add API to disable meta refreshes. |
| <rdar://problem/20333198> and https://bugs.webkit.org/show_bug.cgi?id=144269 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Add a preference to enable/disable meta refreshes, enabled by default. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetMetaRefreshEnabled): |
| (WKPreferencesGetMetaRefreshEnabled): |
| (WKPreferencesGetIgnoreViewportScalingConstraints): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-05-01 Antti Koivisto <antti@apple.com> |
| |
| Remove network process load serialization code |
| https://bugs.webkit.org/show_bug.cgi?id=144448 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| TestRunner.setSerializeHTTPLoads is used by a few tests but it is unnecessary |
| with network process. We don't reorder loads anyway so test results are consistent. |
| There or no other clients for this code. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess): |
| (WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled): Deleted. |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| (WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled): Deleted. |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::getNetworkProcessStatistics): |
| * NetworkProcess/NetworkResourceLoadScheduler.cpp: |
| (WebKit::NetworkResourceLoadScheduler::scheduleLoader): |
| (WebKit::NetworkResourceLoadScheduler::removeLoader): |
| (WebKit::NetworkResourceLoadScheduler::loadsPendingCount): Deleted. |
| * NetworkProcess/NetworkResourceLoadScheduler.h: |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| (WKBundleSetTabKeyCyclesThroughElements): |
| (WKBundleSetSerialLoadingEnabled): Deleted. |
| (WKBundleDispatchPendingLoadRequests): Deleted. |
| * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::setSerialLoadingEnabled): Deleted. |
| (WebKit::InjectedBundle::dispatchPendingLoadRequests): Deleted. |
| |
| Remove also this as it does nothing. |
| |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler): |
| (WebKit::WebResourceLoadScheduler::suspendPendingRequests): |
| (WebKit::WebResourceLoadScheduler::resumePendingRequests): |
| |
| Remove implementation, it does nothing. |
| |
| (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled): |
| * WebProcess/Network/WebResourceLoadScheduler.h: |
| |
| 2015-04-30 Timothy Horton <timothy_horton@apple.com> |
| |
| Remove long-deprecated unused WKView minimumLayoutWidth properties |
| https://bugs.webkit.org/show_bug.cgi?id=144480 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView minimumLayoutWidth]): Deleted. |
| (-[WKView setMinimumLayoutWidth:]): Deleted. |
| (-[WKView minimumWidthForAutoLayout]): Deleted. |
| (-[WKView setMinimumWidthForAutoLayout:]): Deleted. |
| These were replaced with minimumSizeForAutoLayout long ago. |
| |
| 2015-04-30 Simon Fraser <simon.fraser@apple.com> |
| |
| Fixed elements end up in the middle of the view with pageScale < 1 |
| https://bugs.webkit.org/show_bug.cgi?id=144428 |
| rdar://problem/20404982 |
| |
| Reviewed by Tim Horton. |
| |
| Encode/decode fixedElementsLayoutRelativeToFrame. |
| |
| * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: |
| (ArgumentCoder<ScrollingStateFrameScrollingNode>::encode): |
| (ArgumentCoder<ScrollingStateFrameScrollingNode>::decode): |
| |
| 2015-04-30 Tim Horton <timothy_horton@apple.com> |
| |
| Asynchronous (or timed-out synchronous) resize flashes white instead of page background color |
| https://bugs.webkit.org/show_bug.cgi?id=144468 |
| |
| Reviewed by Simon Fraser and Dan Bernstein. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _viewBackgroundColor]): |
| (-[WKView updateLayer]): |
| Use the pageExtendedBackgroundColor for the background color of the WKView, |
| if we have one (and aren't using a transparent background). This means |
| during asynchronous resize or other cases where the Web process isn't keeping |
| up with the UI process during a resize, we'll see background color instead of white. |
| |
| 2015-04-30 Beth Dakin <bdakin@apple.com> |
| |
| Should choose UIScrollView indicatorStyle based on the document background color |
| https://bugs.webkit.org/show_bug.cgi?id=144473 |
| -and corresponding- |
| rdar://problem/19897699 |
| |
| Reviewed by Simon Fraser. |
| |
| Update the indicator style whenever the background color changes. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _updateScrollViewBackground]): |
| |
| 2015-04-30 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] tapping in the middle of a word in editable content should not select the word. |
| https://bugs.webkit.org/show_bug.cgi?id=144421 |
| rdar://problem/20710948 |
| |
| Reviewed by Tim Horton. |
| |
| Reverting to the original behavior. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::selectWithGesture): |
| |
| 2015-04-29 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| Fix the EFL build after r183595 |
| https://bugs.webkit.org/show_bug.cgi?id=144427 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| updateWheelEventTestTriggersIfNeeded() is guarded by #if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING). |
| |
| * WebProcess/WebPage/EventDispatcher.cpp: |
| (WebKit::updateWheelEventTestTriggersIfNeeded): |
| |
| 2015-04-29 Brent Fulgham <bfulgham@apple.com> |
| |
| Expand test infrastructure to support scrolling tests |
| https://bugs.webkit.org/show_bug.cgi?id=143684 |
| <rdar://problem/20375516> |
| |
| Reviewed by Simon Fraser. |
| |
| Update test programs to activate (and deactivate) the new WheelEventTestTrigger logic. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageClearWheelEventTestTriggers): Added. |
| * UIProcess/API/C/WKPage.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::clearWheelEventTestTrigger): Added. |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageStartMonitoringScrollOperations): Interact with WheelEventTestTrigger through |
| the Page, rather than MainFrame. |
| (WKBundlePageRegisterScrollOperationCompletionCallback): Ditto. |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::createScrollbar): Make sure scroll animator knows about any |
| active test triggers. |
| * WebPage/EventDispatcher.mm: |
| (WebKit::EventDispatcher::wheelEvent): If the wheel event was passed to the scrolling thread, |
| defer tests until a Scrolling Thread Sync has occurred. |
| * WebPage/WebPage.cpp: |
| (WebKit::WebPage::clearWheelEventTestTrigger): Added. |
| * WebPage/WebPage.h: |
| * WebPage/WebPage.message.in: Added ClearWheelEventTestTrigger message. |
| |
| 2015-04-29 Enrica Casucci <enrica@apple.com> |
| |
| Adding the ability to move selection by granularity on iOS. |
| https://bugs.webkit.org/show_bug.cgi?id=144410 |
| rdar://problem/19213337 |
| |
| Reviewed by Benjamin Poulain. |
| |
| This patch also correctly sets _usingGestureForSelection for all |
| the functions that change the selection with a gesture. |
| This way we make sure that the selection drawing is not delayed |
| until the next time we paint. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView moveSelectionAtBoundary:inDirection:completionHandler:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::moveSelectionAtBoundaryWithDirection): |
| |
| 2015-04-29 Tim Horton <timothy_horton@apple.com> |
| |
| UI process sometimes crashes under _takeViewSnapshot when the window is off-screen |
| https://bugs.webkit.org/show_bug.cgi?id=144418 |
| <rdar://problem/20740278> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _takeViewSnapshot]): |
| Null-check the array before checking if it has any items. |
| If the window is off-screen, we can't snapshot it. |
| |
| 2015-04-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Allow testing of plug-ins that handle wheel events. |
| https://bugs.webkit.org/show_bug.cgi?id=144413 |
| |
| Reviewed by Tim Horton. |
| |
| Allow the Test Netscape Plug-in to pretend to handle wheel events, |
| so layout tests can use it. |
| |
| * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: |
| (WebKit::NetscapePluginModule::determineQuirks): |
| |
| 2015-04-29 Filip Pizlo <fpizlo@apple.com> |
| |
| JSTypeInfo should have an inline type flag to indicate if getCallData() has been overridden |
| https://bugs.webkit.org/show_bug.cgi?id=144397 |
| |
| Reviewed by Andreas Kling. |
| |
| If you override getCallData() and you want to be called a "function", then you need to use the |
| new TypeOfShouldCallGetCallData flag. |
| |
| * WebProcess/Plugins/Netscape/JSNPObject.h: |
| |
| 2015-04-29 Antti Koivisto <antti@apple.com> |
| |
| ResourceLoadPriority should be enum class |
| https://bugs.webkit.org/show_bug.cgi?id=144326 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::servePendingRequests): Deleted. |
| |
| Remove this unused message. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::makeStoreDecision): |
| (WebKit::NetworkCache::Cache::retrieve): |
| * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: |
| (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings): |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::WebResourceLoadScheduler::servePendingRequests): |
| * WebProcess/Network/WebResourceLoadScheduler.h: |
| |
| 2015-04-29 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [OS X] Use CTFontCreateForCSS instead of doing font search ourselves |
| https://bugs.webkit.org/show_bug.cgi?id=132159 |
| |
| Reviewed by Darin Adler. |
| |
| Add SPI to set the font whitelist. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetFontWhitelist): |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::setFontWhitelist): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2015-04-29 Martin Robinson <mrobinson@igalia.com> |
| |
| [CMake] [GTK] Organize and clean up unused CMake variables |
| https://bugs.webkit.org/show_bug.cgi?id=144364 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformGTK.cmake: Add variables specific to this project. |
| * webkit2gtk-web-extension.pc.in: Hardcode the GTK+ API version. It rarely changes. |
| * webkit2gtk.pc.in: Ditto. |
| |
| 2015-04-29 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r182573): [GTK] The default context menu contains an empty item since r182573 |
| https://bugs.webkit.org/show_bug.cgi?id=144388 |
| |
| Reviewed by Brady Eidson. |
| |
| Move the WebContextMenuClient::shareMenuItem() implementation to |
| platform files, since platforms not supporting share menu item |
| should return a null ContextMenuIem instead. |
| |
| * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: |
| (WebKit::WebContextMenuClient::shareMenuItem): Deleted. |
| * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: |
| (WebKit::WebContextMenuClient::shareMenuItem): |
| * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: |
| (WebKit::WebContextMenuClient::shareMenuItem): |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| (WebKit::WebContextMenuClient::shareMenuItem): |
| |
| 2015-04-29 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r183467): [SOUP] isMainResource is no longer passed as resource load parameters to the network process |
| https://bugs.webkit.org/show_bug.cgi?id=144381 |
| |
| Reviewed by Darin Adler. |
| |
| A requester enum value is passed now as part of the |
| ResourceRequest, but it's not encoded/decoded for soup. |
| |
| * Shared/soup/WebCoreArgumentCodersSoup.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode requester. |
| (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode requester. |
| |
| 2015-04-28 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Use xattrs to get/set the creation time of disk cache files |
| https://bugs.webkit.org/show_bug.cgi?id=144251 |
| |
| Reviewed by Martin Robinson. |
| |
| The network process disk cache uses the creation time to compute a |
| worth value used to determine the order in which cached resources |
| are deleted when the cache is shrunk. In some operating systems |
| like Linux there's no st_birthtime in struct stat, but since cache |
| files are always created and deleted by us, we could use a custom |
| xattr to store and retrieve the creation time of cached resources. |
| |
| * NetworkProcess/cache/NetworkCacheFileSystemPosix.h: |
| (WebKit::NetworkCache::fileTimes): |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: |
| (WebKit::NetworkCache::IOChannel::IOChannel): |
| |
| 2015-04-28 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Network Cache: Do not create a SharedBuffer for mapped resources unless explicitly requested |
| https://bugs.webkit.org/show_bug.cgi?id=144337 |
| |
| Reviewed by Antti Koivisto. |
| |
| We send a buffer or a memory mapped handler to the web process |
| depending on whether the resource body is mapped or not, but we |
| are always creating a shared buffer even for mapped resources. |
| Split initializeBufferFromStorageRecord() moving the mapped memory |
| handler initialization to its own method. |
| |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord): |
| Initialize the mapped memory handler if the body data is mapped. |
| (WebKit::NetworkCache::Entry::initializeBufferFromStorageRecord): |
| Initialize the buffer by wrapping the mapped memory if the body |
| data is mapped, or using the body data directly otherwise. |
| (WebKit::NetworkCache::Entry::shareableResourceHandle): Call |
| initializeShareableResourceHandleFromStorageRecord() if the |
| handler is null. |
| * NetworkProcess/cache/NetworkCacheEntry.h: |
| |
| 2015-04-28 Simon Fraser <simon.fraser@apple.com> |
| |
| Make a non-static version of FrameView::yPositionForRootContentLayer() |
| https://bugs.webkit.org/show_bug.cgi?id=144375 |
| |
| Reviewed by Andy Estes. |
| |
| There were two calls to the static FrameView::yPositionForRootContentLayer() |
| which passed in all the arguments for the same FrameView. Make a member |
| function for convenience. |
| |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::shadowLayerPositionForFrame): |
| |
| 2015-04-28 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [CoordinatedGraphics] Merge TILED_BACKING_STORE guard with COORDINATED_GRAPHICS |
| https://bugs.webkit.org/show_bug.cgi?id=143001 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: |
| (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidLayout): |
| (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setSize): |
| (WebKit::WebPage::setUseFixedLayout): |
| (WebKit::WebPage::canHandleUserEvents): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2015-04-28 Timothy Horton <timothy_horton@apple.com> |
| |
| [TextIndicator] Yellow highlight takes too long to fade out on scroll |
| https://bugs.webkit.org/show_bug.cgi?id=144358 |
| <rdar://problem/19451011> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView renewGState]): |
| (-[WKView viewDidMoveToWindow]): |
| (-[WKView _dictionaryLookupPopoverWillClose:]): |
| (-[WKView _setTextIndicator:]): |
| (-[WKView _setTextIndicator:withLifetime:]): |
| (-[WKView _clearTextIndicatorWithAnimation:]): |
| (-[WKView magnifyWithEvent:]): |
| (-[WKView smartMagnifyWithEvent:]): |
| (-[WKView setMagnification:centeredAtPoint:]): |
| (-[WKView setMagnification:]): |
| (-[WKView _dismissContentRelativeChildWindows]): |
| (-[WKView _dismissContentRelativeChildWindowsWithAnimation:]): |
| (-[WKView _setTextIndicator:fadeOut:]): Deleted. |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::pageDidScroll): |
| (WebKit::WebPageProxy::setTextIndicator): |
| (WebKit::WebPageProxy::clearTextIndicator): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::setTextIndicator): |
| (WebKit::PageClientImpl::clearTextIndicator): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::setTextIndicator): |
| (WebKit::PageClientImpl::clearTextIndicator): |
| (WebKit::PageClientImpl::didPerformDictionaryLookup): |
| (WebKit::PageClientImpl::dismissContentRelativeChildWindows): |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController _animationControllerForDataDetectedText]): |
| (-[WKImmediateActionController _animationControllerForDataDetectedLink]): |
| (-[WKImmediateActionController _animationControllerForText]): |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::updateFindIndicator): |
| Make _setTextIndicator take a reference. |
| Add a variant of _setTextIndicator that takes a Lifetime. |
| Make _clearTextIndicatorWithAnimation take a DismissalAnimation. |
| Make dismissContentRelativeChildWindows take a parameter indicating |
| whether the dismissal should include animation or not (currently |
| only applies to TextIndicator). |
| Don't animate when dismissal occurs because of scrolling, zooming, |
| or other things in which the content will have changed significantly |
| underneath the indicator and shouldn't have a slowly-fading-out yellow highlight. |
| |
| 2015-04-28 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT |
| https://bugs.webkit.org/show_bug.cgi?id=144304 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-04-28 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r183514. |
| https://bugs.webkit.org/show_bug.cgi?id=144359 |
| |
| It broke cloop test bots (Requested by mcatanzaro on #webkit). |
| |
| Reverted changeset: |
| |
| "Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT" |
| https://bugs.webkit.org/show_bug.cgi?id=144304 |
| http://trac.webkit.org/changeset/183514 |
| |
| 2015-04-28 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Fully replace ENABLE_LLINT_C_LOOP with ENABLE_JIT |
| https://bugs.webkit.org/show_bug.cgi?id=144304 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Define ENABLE_JIT, enabled by default, instead of ENABLE_LLINT_C_LOOP, disabled by default. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-04-28 Enrica Casucci <enrica@apple.com> |
| |
| Add support for lookup on iOS. |
| https://bugs.webkit.org/show_bug.cgi?id=144342 |
| rdar://problem/19994090 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _lookup:]): |
| (-[WKContentView canPerformAction:withSender:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::getLookupContextAtPoint): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getLookupContextAtPoint): |
| |
| 2015-04-28 Brady Eidson <beidson@apple.com> |
| |
| Consolidate most "frame load" arguments into FrameLoadRequest. |
| https://bugs.webkit.org/show_bug.cgi?id=144276 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::loadURL): |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchCreatePage): |
| |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::openInNewTab): |
| |
| 2015-04-28 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Mac] Update WebContent process' sandbox profile for AWD |
| https://bugs.webkit.org/show_bug.cgi?id=144315 |
| <rdar://problem/20719293> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Update sandbox profile for AWD similarly to what was done for iOS in |
| r182278. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2015-04-28 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Disk cache getting filled by YouTube video data |
| https://bugs.webkit.org/show_bug.cgi?id=144259 |
| |
| Reviewed by Darin Adler. |
| |
| MSE media is loaded via XHR and tends to eventually fill the cache. |
| |
| YouTube serves the media chunks cacheable, however they are rarely (if ever) reused. |
| We can reduce disk writes and keep more useful resources around by not caching them |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didReceiveResponseAsync): |
| (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::makeStoreDecision): |
| |
| Don't store if the requester is XHR and response has video or audio content type. |
| |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::storeDecisionToDiagnosticKey): |
| * Shared/Network/NetworkResourceLoadParameters.cpp: |
| (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters): |
| (WebKit::NetworkResourceLoadParameters::encode): |
| (WebKit::NetworkResourceLoadParameters::decode): |
| * Shared/Network/NetworkResourceLoadParameters.h: |
| |
| The requester type is now part of the ResourceRequest, no need for separate parameter. |
| |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): |
| (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::WebResourceLoadScheduler::scheduleLoad): |
| |
| 2015-04-28 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::UserContentURLPattern creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144225 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::UserContentURLPattern creation functions return Ref<>. |
| Call-sites are also updated, using and operating on the returned Ref<> |
| object where possible. |
| |
| * Shared/API/APIUserContentURLPattern.h: |
| (API::UserContentURLPattern::create): |
| * Shared/API/c/WKUserContentURLPattern.cpp: |
| (WKUserContentURLPatternCreate): |
| |
| 2015-04-28 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::URLRequest, API::URLResponse creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144224 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::URLRequest and API::URLResponse creation functions return Ref<>. |
| The call-sites are also updated, using and operating on the returned Ref<> object |
| where possible. |
| |
| * Shared/API/APIURLRequest.h: |
| (API::URLRequest::create): |
| * Shared/API/APIURLResponse.h: |
| (API::URLResponse::create): |
| * Shared/API/c/WKURLRequest.cpp: |
| (WKURLRequestCreateWithWKURL): |
| * Shared/API/c/mac/WKURLRequestNS.mm: |
| (WKURLRequestCreateWithNSURLRequest): |
| * Shared/API/c/mac/WKURLResponseNS.mm: |
| (WKURLResponseCreateWithNSURLResponse): |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetDownloadClient): |
| * UIProcess/API/C/WKDownload.cpp: |
| (WKDownloadCopyRequest): |
| * UIProcess/API/C/WKNavigationDataRef.cpp: |
| (WKNavigationDataCopyOriginalRequest): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPagePolicyClient): |
| (WKPageSetPageUIClient): |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: |
| (WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (willSendRequestForFrame): |
| * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: |
| (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction): |
| (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction): |
| (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse): |
| |
| 2015-04-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::Point, API::Size, API::Rect creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144223 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::Point, API::Size and API::Rect creation functions return Ref<>. |
| Call-sites are also updated, using and operating on the returned Ref<> object |
| where possible. |
| |
| * Shared/API/APIGeometry.h: |
| (API::Size::create): |
| (API::Point::create): |
| (API::Rect::create): |
| * Shared/API/c/WKGeometry.cpp: |
| (WKPointCreate): |
| (WKSizeCreate): |
| (WKRectCreate): |
| |
| 2015-04-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::Error creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144222 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::Error creation functions return Ref<>. |
| The call-sites are also updated, using and operating |
| on the returned Ref<> object where possible. |
| |
| * Shared/API/APIError.h: |
| (API::Error::create): |
| * Shared/API/c/cf/WKErrorCF.cpp: |
| (WKErrorCreateWithCFError): |
| * UIProcess/API/C/WKOriginDataManager.cpp: |
| (WKOriginDataManagerDeleteEntriesForOrigin): |
| (WKOriginDataManagerDeleteEntriesModifiedBetweenDates): |
| (WKOriginDataManagerDeleteAllEntries): |
| * UIProcess/API/C/WKPage.cpp: |
| (toGenericCallbackFunction): |
| (WKPageForceRepaint): |
| (WKPageValidateCommand): |
| (WKPageComputePagesForPrinting): |
| * UIProcess/API/C/WKPluginSiteDataManager.cpp: |
| (WKPluginSiteDataManagerClearSiteData): |
| (WKPluginSiteDataManagerClearAllSiteData): |
| * UIProcess/GenericCallback.h: |
| (WebKit::toGenericCallbackFunction): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::printFinishedCallback): |
| |
| 2015-04-27 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| [GTK] Remove unnecessary semicolon from WebKitNotificationProvider.h. |
| https://bugs.webkit.org/show_bug.cgi?id=144312 |
| |
| Reviewed by Martin Robinson. |
| |
| No new tests, no behavior change. |
| |
| * UIProcess/API/gtk/WebKitNotificationProvider.h: |
| |
| 2015-04-27 Brent Fulgham <bfulgham@apple.com> |
| |
| PDF action menu fixes |
| https://bugs.webkit.org/show_bug.cgi?id=144299 |
| <rdar://problem/20702215> |
| |
| Reviewed by Tim Horton. |
| |
| Make two corrections to how PDFs are handled: |
| 1. When calculating the view rect for the user's selection, make sure |
| that we get coordinates for the correct PDF page. The existing code assumed |
| that the current PDFLayerControler's current page was correct, but this will |
| not be true if you zoom the PDF out so that several pages are displayed at |
| once. Each selection keeps track of the page it is referenced against. |
| |
| 2. Revise the offsets calculated for the TextIndicator to take into account |
| the font descender (as well as the ascender), and to adjust by the scaled |
| amount of margin around the selected text. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::viewRectForSelection): Use correct page for calculating |
| the coordinates. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin): Include font 'descendant' |
| and (scaled) margin when adjusting the hit target for the TextIndicator to draw. |
| |
| 2015-04-27 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Rename WTF_USE_3D_GRAPHICS to ENABLE_GRAPHICS_CONTEXT_3D |
| https://bugs.webkit.org/show_bug.cgi?id=144193 |
| |
| Reviewed by Darin Adler. |
| |
| * CMakeLists.txt: |
| |
| 2015-04-24 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| Context menus are not reshown after an orientation change |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=144143> |
| <rdar://problem/20679931> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/ios/WKActionSheet.mm: |
| (-[WKActionSheet updateSheetPosition]): |
| Return early if we're still in a rotation, not if the rotation is |
| complete. |
| |
| 2015-04-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::Dictionary creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144221 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::Dictionary creation functions return Ref<>. |
| The call-sites are also updated, using and operating |
| on the returned Ref<> object where possible. |
| |
| * Shared/API/APIDictionary.cpp: |
| (API::Dictionary::create): |
| * Shared/API/APIDictionary.h: |
| * Shared/API/Cocoa/WKRemoteObjectCoder.mm: |
| (createEncodedObject): |
| * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm: |
| (-[_WKRemoteObjectRegistry _sendInvocation:interface:]): |
| * Shared/API/c/WKDictionary.cpp: |
| (WKDictionaryCreate): |
| * Shared/API/c/WKMutableDictionary.cpp: |
| (WKMutableDictionaryCreate): |
| * Shared/Plugins/Netscape/PluginInformation.cpp: |
| (WebKit::createPluginInformationDictionary): |
| * Shared/Plugins/Netscape/PluginInformation.h: |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkit_web_context_prefetch_dns): |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_get_snapshot): |
| * UIProcess/Plugins/PlugInAutoStartProvider.cpp: |
| (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): |
| * UIProcess/Plugins/PlugInAutoStartProvider.h: |
| * UIProcess/StatisticsRequest.cpp: |
| (WebKit::createDictionaryFromHashMap): |
| (WebKit::StatisticsRequest::completedRequest): |
| * UIProcess/WebFormClient.cpp: |
| (WebKit::WebFormClient::willSubmitForm): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didFailToInitializePlugin): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (didInitiateLoadForResource): |
| (willSendRequestForFrame): |
| (didReceiveResponseForResource): |
| (didReceiveContentLengthForResource): |
| (didFinishLoadForResource): |
| (didFailLoadForResource): |
| (webkitWebPageDidReceiveMessage): |
| * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: |
| (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent): |
| (WebKit::InjectedBundlePageFormClient::willSubmitForm): |
| |
| 2015-04-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::Data creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144220 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::Data creation functions return Ref<>. |
| The call-sites are also updated, using and operating |
| on the returned Ref<> object where possible. |
| |
| * Shared/API/APIData.h: |
| (API::Data::createWithoutCopying): |
| (API::Data::create): |
| * Shared/API/c/WKData.cpp: |
| (WKDataCreate): |
| * Shared/API/c/mac/WKWebArchive.cpp: |
| (WKWebArchiveCopyData): |
| * Shared/API/c/mac/WKWebArchiveResource.cpp: |
| (WKWebArchiveResourceCopyData): |
| * Shared/APIWebArchive.h: |
| * Shared/APIWebArchive.mm: |
| (API::WebArchive::data): |
| * Shared/APIWebArchiveResource.h: |
| * Shared/APIWebArchiveResource.mm: |
| (API::WebArchiveResource::data): |
| * Shared/Cocoa/APIDataCocoa.mm: |
| (API::Data::createWithoutCopying): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): |
| * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: |
| (webkitURISchemeRequestReadCallback): |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_load_bytes): |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::createData): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::dataCallback): |
| (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): |
| |
| 2015-04-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::URL creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144219 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::URL creation functions return Ref<>. |
| The call-sites are also updated, using and operating in the |
| returned Ref<> object, where possible. |
| |
| * Shared/API/APIURL.h: |
| (API::URL::create): |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toCopiedURLAPI): |
| * Shared/API/c/WKURL.cpp: |
| (WKURLCreateWithUTF8CString): |
| (WKURLCreateWithBaseURL): |
| * UIProcess/API/gtk/WebKitWebResource.cpp: |
| (webkit_web_resource_get_data): |
| * UIProcess/WebIconDatabase.cpp: |
| (WebKit::WebIconDatabase::didChangeIconForPageURL): |
| (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::userAgent): |
| |
| 2015-04-27 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] API::String creation functions should return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=144218 |
| |
| Reviewed by Darin Adler. |
| |
| Have API::String creation functions return Ref<>. |
| The call-sites are also updated, using and operating on the returned |
| Ref<> object, where possible. |
| |
| * Shared/API/APIString.h: |
| * Shared/API/c/WKPluginInformation.cpp: |
| (WKPluginInformationBundleIdentifierKey): |
| (WKPluginInformationBundleVersionKey): |
| (WKPluginInformationBundleShortVersionKey): |
| (WKPluginInformationPathKey): |
| (WKPluginInformationDisplayNameKey): |
| (WKPluginInformationDefaultLoadPolicyKey): |
| (WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey): |
| (WKPluginInformationHasSandboxProfileKey): |
| (WKPluginInformationFrameURLKey): |
| (WKPluginInformationMIMETypeKey): |
| (WKPluginInformationPageURLKey): |
| (WKPluginInformationPluginspageAttributeURLKey): |
| (WKPluginInformationPluginURLKey): |
| (WKPlugInInformationReplacementObscuredKey): |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::ProxyingRefPtr::ProxyingRefPtr): |
| (WebKit::toCopiedAPI): |
| * Shared/API/c/WKString.cpp: |
| (WKStringCreateWithUTF8CString): |
| (WKStringCreateWithJSString): |
| * UIProcess/API/C/WKDatabaseManager.cpp: |
| (WKDatabaseManagerGetOriginKey): |
| (WKDatabaseManagerGetOriginQuotaKey): |
| (WKDatabaseManagerGetOriginUsageKey): |
| (WKDatabaseManagerGetDatabaseDetailsKey): |
| (WKDatabaseManagerGetDatabaseDetailsNameKey): |
| (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): |
| (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): |
| (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): |
| (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey): |
| (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey): |
| * UIProcess/API/C/WKKeyValueStorageManager.cpp: |
| (WKKeyValueStorageManagerGetOriginKey): |
| (WKKeyValueStorageManagerGetCreationTimeKey): |
| (WKKeyValueStorageManagerGetModificationTimeKey): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetSessionHistoryURLValueType): |
| (WKPageGetSessionBackForwardListItemValueType): |
| (toGenericCallbackFunction): |
| (WKPageValidateCommand): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::didReceiveInvalidMessage): |
| |
| 2015-04-27 Brady Eidson <beidson@apple.com> |
| |
| Make 'enum NavigationType' be an enum class |
| https://bugs.webkit.org/show_bug.cgi?id=144270 |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toAPI): |
| |
| * Shared/NavigationActionData.cpp: |
| (WebKit::NavigationActionData::NavigationActionData): |
| |
| * UIProcess/API/Cocoa/WKNavigationAction.mm: |
| (toWKNavigationType): |
| |
| * UIProcess/API/gtk/WebKitPrivate.cpp: |
| (toWebKitNavigationType): |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::openInNewTab): |
| |
| 2015-04-27 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r182879): Images and video can no longer be downloaded |
| https://bugs.webkit.org/show_bug.cgi?id=144267 |
| <rdar://problem/20702844> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createActionMenuItemForTag:]): Check for |
| "!WebCore::protocolIs(..., "file")" for image and media downloads. |
| |
| 2015-04-27 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL] TestWebKitAPI's forwarding header generator should depend on WebKit2's generator |
| https://bugs.webkit.org/show_bug.cgi?id=143874 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformEfl.cmake: Rename the generator to have consistent name with other generators. |
| * Scripts/generate-forwarding-headers.pl: Removed the unnecessary multiple include-path support. |
| |
| 2015-04-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Add initial implementation of NetworkProcess disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=143872 |
| |
| Reviewed by Martin Robinson. |
| |
| Implement the platform specific parts of the disk cache |
| implementation for Soup. It's mainly NetworkCache::Data and |
| NetworkCache::IOChannel. |
| |
| * CMakeLists.txt: |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::dumpFileChanged): |
| (WebKit::NetworkCache::Cache::initialize): |
| * NetworkProcess/cache/NetworkCacheBlobStorage.cpp: |
| * NetworkProcess/cache/NetworkCacheData.h: |
| (WebKit::NetworkCache::Data::soupBuffer): |
| * NetworkProcess/cache/NetworkCacheDataSoup.cpp: Added. |
| (WebKit::NetworkCache::Data::Data): |
| (WebKit::NetworkCache::Data::empty): |
| (WebKit::NetworkCache::Data::data): |
| (WebKit::NetworkCache::Data::isNull): |
| (WebKit::NetworkCache::Data::apply): |
| (WebKit::NetworkCache::Data::subrange): |
| (WebKit::NetworkCache::concatenate): |
| (WebKit::NetworkCache::MapWrapper::~MapWrapper): |
| (WebKit::NetworkCache::deleteMapWrapper): |
| (WebKit::NetworkCache::mapFile): |
| (WebKit::NetworkCache::Data::adoptMap): |
| (WebKit::NetworkCache::computeSHA1): |
| (WebKit::NetworkCache::bytesEqual): |
| * NetworkProcess/cache/NetworkCacheIOChannel.h: |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: Added. |
| (WebKit::NetworkCache::IOChannel::IOChannel): |
| (WebKit::NetworkCache::IOChannel::open): |
| (WebKit::NetworkCache::fillDataFromReadBuffer): |
| (WebKit::NetworkCache::inputStreamReadReadyCallback): |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::IOChannel::readSync): |
| (WebKit::NetworkCache::outputStreamWriteReadyCallback): |
| (WebKit::NetworkCache::IOChannel::write): |
| * NetworkProcess/cache/NetworkCacheStorageSoup.cpp: Removed. |
| * NetworkProcess/gtk/NetworkProcessMainGtk.cpp: |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcess): |
| (WebKit::NetworkProcess::platformSetCacheModel): |
| (WebKit::NetworkProcess::clearDiskCache): |
| * PlatformGTK.cmake: |
| |
| 2015-04-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Implement ES6 template literals |
| https://bugs.webkit.org/show_bug.cgi?id=142691 |
| |
| Reviewed by Darin Adler. |
| |
| Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-04-26 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Remove PluginView::renderer(). |
| https://bugs.webkit.org/show_bug.cgi?id=144216 |
| |
| Reviewed by Darin Adler. |
| |
| Nobody should have to know about the plug-in view's renderer except the plug-in view itself. |
| |
| No new tests, no behavior change. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::convertFromScrollbarToContainingView): |
| (WebKit::PDFPlugin::convertFromContainingViewToScrollbar): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::renderer): Deleted. |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2015-04-26 Doug Russell <d_russell@apple.com> |
| |
| AX: richer text change notifications (142719) |
| https://bugs.webkit.org/show_bug.cgi?id=142719 |
| |
| Reviewed by Darin Adler. |
| |
| Richer accessibility value change notifications. Introduce AXTextEditType, |
| postTextStateChangeNotification and postTextReplacementNotification to give assistive |
| tech apps more reliable context for responding to changes in web content. Also implement |
| a mechanism to post value changes in password form fields in coalesced ticks to thwart |
| analyzing the cadence of changes. |
| |
| Richer accessibility selection change notifications. Introduce AXTextStateChangeIntent, |
| and an overload of postTextReplacementNotification to give assistive tech apps more |
| reliable context for responding to changes in web content selection. Also block posting |
| selection changes on password fields. |
| |
| * UIProcess/WebEditCommandProxy.cpp: |
| (WebKit::WebEditCommandProxy::nameForEditAction): |
| |
| 2015-04-26 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/20702337> REGRESSION (r182952): Plug-in service fails to load because it links against WebKit2.framework |
| https://bugs.webkit.org/show_bug.cgi?id=144233 |
| |
| Reviewed by Simon Fraser. |
| |
| Have the plug-in service link against WebKit.framework rather than WebKit2.framework. |
| |
| * Configurations/PluginService.32.xcconfig: Removed linker flags for linking against WebKit2 |
| and Foundation from the definition of OTHER_LDFLAGS. Since linking is no longer conditional, |
| we can just do it in the target’s Link Binary With Libraries build phase. |
| |
| * Configurations/PluginService.64.xcconfig: Ditto. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Have Foundation and WebKit listed in the services’ Link |
| Binariy With Libraries build phases (one service already had WebKit). |
| |
| 2015-04-26 Dan Bernstein <mitz@apple.com> |
| |
| Fixed the build. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _showDocumentPickerMenu]): Suppressed deprecation warnings around use |
| of -[UIDocumentMenuViewController _setIgnoreApplicationEntitlementForImport:]. |
| |
| 2015-04-25 Tim Horton <timothy_horton@apple.com> |
| |
| Further update gesture swipe shadow style |
| https://bugs.webkit.org/show_bug.cgi?id=144215 |
| <rdar://problem/19295843> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Resources/mac/SwipeShadow.png: Removed. |
| * Resources/mac/SwipeShadow@2x.png: Removed. |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| * WebKit2.xcodeproj/project.pbxproj: |
| Use a CAGradientLayer instead of PNGs for the swipe shadow. |
| |
| 2015-04-25 Dan Bernstein <mitz@apple.com> |
| |
| WebKit2 part of <rdar://problem/20697966> Avoid using TBD as an argument to NS_AVAILABLE |
| https://bugs.webkit.org/show_bug.cgi?id=144201 |
| |
| Reviewed by Darin Adler. |
| |
| Instead of TBD, we use the high version number to which it corresponds in CFAvailability.h, |
| 9876.5. |
| |
| * mac/MigrateHeadersFromWebKitLegacy.make: To detect not-yet-available declarations in |
| headers, look for "9876_5" rather than "TBA". |
| |
| 2015-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Remove native window dock controls |
| https://bugs.webkit.org/show_bug.cgi?id=144184 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Resources/DockBottom.pdf: Removed. |
| * Resources/DockBottomLegacy.pdf: Removed. |
| * Resources/DockRight.pdf: Removed. |
| * Resources/DockRightLegacy.pdf: Removed. |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::createInspectorWindow): |
| (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-25 Martin Robinson <mrobinson@igalia.com> |
| |
| Rename ENABLE_3D_RENDERING to ENABLE_3D_TRANSFORMS |
| https://bugs.webkit.org/show_bug.cgi?id=144182 |
| |
| Reviewed by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: Replace all instances of 3D_RENDERING with 3D_TRANSFORMS. |
| |
| 2015-04-24 Simon Fraser <simon.fraser@apple.com> |
| |
| Have the web inspector report accurate memory use for layers with detached backing store |
| https://bugs.webkit.org/show_bug.cgi?id=144179 |
| |
| Reviewed by Dean Jackson. |
| |
| Remote layers can make their backing store volatile, so the backing only contributes |
| to reported memory use when attached. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| |
| 2015-04-24 Andreas Kling <akling@apple.com> |
| |
| theverge.com burning 100% CPU on iPad (due to window.screenX/Y) |
| <https://webkit.org/b/144175> |
| <rdar://problem/20694585> |
| |
| Reviewed by Anders Carlsson. |
| |
| Return an empty window rect on iOS WK2 builds. This avoids sending a synchronous |
| IPC request to the UI process that would give the same result, but spend way |
| more time and CPU cycles to do so. |
| |
| With this change, theverge.com CPU usage goes from 100% to ~20% when idle. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::windowRect): |
| |
| 2015-04-24 Brent Fulgham <bfulgham@apple.com> |
| |
| TextIndicator for embedded PDFs is slightly offset |
| https://bugs.webkit.org/show_bug.cgi?id=144172 |
| <rdar://problem/20691304> |
| |
| Reviewed by Tim Horton. |
| |
| When I converted the existing DOM Range logic to work with PDFSelections, I omitted the |
| step where the font ascent was used to adjust the origin used for the TextIndicator. This |
| patch determines the correct ascent for the range of characters in the selection, and |
| adjusts the offset by the difference between the ascent and the height of the selection rect. |
| |
| Also, since the PDFSelection only supplies the bounding rect for the selection, I calculate |
| an equivalent text bounding box by insetting the rect by half the size of the ascent. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::scaleFactor): Add accessor for PDF scale factor. |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::dictionaryPopupInfoForPDFSelectionInPluginView): Adjusted to take the |
| font ascent and scale factor into account. |
| |
| 2015-04-24 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r183293): Fix iOS EWS build by adding SPI declaration for +[UIPeripheralHost visiblePeripheralFrame] |
| |
| Fixes the following build failures: |
| |
| WebKit2/UIProcess/ios/WKPDFView.mm:740:45: error: class method '+visiblePeripheralFrame' not found (return type defaults to 'id') [-Werror,-Wobjc-method-access] |
| CGRect keyboardRect = [UIPeripheralHost visiblePeripheralFrame]; |
| ^~~~~~~~~~~~~~~~~~~~~~ |
| WebKit2/UIProcess/ios/WKPDFView.mm:740:12: error: no viable conversion from 'id' to 'CGRect' |
| CGRect keyboardRect = [UIPeripheralHost visiblePeripheralFrame]; |
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| (+[UIPeripheralHost visiblePeripheralFrame]): Add declaration. |
| |
| 2015-04-24 Anders Carlsson <andersca@apple.com> |
| |
| Change _WKWebsiteDataStore to hold on to an internal WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=144171 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _websiteDataStore]): |
| (-[WKWebViewConfiguration _setWebsiteDataStore:]): |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (-[_WKWebsiteDataStore initWithDataStore:]): |
| (+[_WKWebsiteDataStore defaultDataStore]): |
| (+[_WKWebsiteDataStore nonPersistentDataStore]): |
| (-[_WKWebsiteDataStore isNonPersistent]): |
| (-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| (-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.h. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-24 Tim Horton <timothy_horton@apple.com> |
| |
| WKPDFView does not support password-protected PDFs |
| https://bugs.webkit.org/show_bug.cgi?id=144162 |
| <rdar://problem/18411512> |
| |
| Reviewed by Andy Estes. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| Add some SPI. |
| |
| * UIProcess/ios/WKPDFView.h: |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView _didLoadPDFDocument]): |
| (-[WKPDFView web_setContentProviderData:suggestedFilename:]): |
| Move creation of the UIPDFDocument (only possible if the CGPDFDocument is unlocked) |
| and initial setup of the page views out into _didLoadPDFDocument. |
| |
| If the CGPDFDocument is locked, we'll show some UI to unlock it; otherwise |
| we'll continue on to _didLoadPDFDocument as previously. |
| |
| (-[WKPDFView web_setMinimumSize:]): |
| Resize the password UI instead of the PDF pages if we have it. |
| |
| (-[WKPDFView _computePageAndDocumentFrames]): |
| Don't bother doing any work revalidating PDF pages if the document is locked. |
| |
| (-[WKPDFView _updatePasswordEntryField]): |
| Make sure that the UIDocumentPassword view is always the size of the scrollview. |
| This takes care of rotation. |
| |
| (-[WKPDFView _keyboardDidShow:]): |
| Make sure that we scroll the password field around, if necessary, to keep it |
| on screen when editing begins. |
| |
| (-[WKPDFView _showPasswordEntryField]): |
| (-[WKPDFView _hidePasswordEntryField]): |
| Adjust the background color (to match the UIDocumentPasswordView) and disable zooming |
| while it's up. The UIDocumentPassword view is installed into the scroll view |
| to match UIWebView behavior. |
| |
| (-[WKPDFView userDidEnterPassword:forPasswordView:]): |
| (-[WKPDFView didBeginEditingPassword:inView:]): |
| (-[WKPDFView didEndEditingPassword:inView:]): |
| (-[WKPDFView _didFailToUnlock]): |
| Pop up a dialog informing the user that they entered the wrong password. |
| |
| (-[WKPDFView _tryToUnlockWithPassword:]): |
| Try to unlock the document. If it succeeds, hide the unlock UI and go back to |
| _didLoadPDFDocument. |
| |
| 2015-04-24 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r183266. |
| https://bugs.webkit.org/show_bug.cgi?id=144164 |
| |
| Broke 32-bit build and a test. (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "AX: richer text change notifications (142719)" |
| https://bugs.webkit.org/show_bug.cgi?id=142719 |
| http://trac.webkit.org/changeset/183266 |
| |
| 2015-04-24 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION: WebKit2.ActionMenusTest API test fails |
| https://bugs.webkit.org/show_bug.cgi?id=144149 |
| <rdar://problem/20677770> |
| |
| Reviewed by Tim Horton. |
| |
| Tested by TestWebKitAPI |
| |
| The 'lookupTextAtLocation' method was not converting the NSEvent coordinates it |
| was receiving from root view to the plugin view. Consequently, full page PDFs |
| did hit testing correctly, but an <embed> PDF would not. |
| |
| Since 'existingSelectionContainsPoint' is exposed as API, I also modified it to |
| expect 'root view' coordinates and perform the requisite conversions, rather |
| than expecting 'plugin view' coordinates. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::existingSelectionContainsPoint): Expect 'root view' coordinates |
| for the input. |
| (WebKit::PDFPlugin::lookupTextAtLocation): Properly convert the passed 'root view' |
| coordinates to the PDF's view coordinate space. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): Pass hit point using view coordinates, |
| not content coordinates. |
| |
| 2015-04-24 Anders Carlsson <andersca@apple.com> |
| |
| Address a review comment from Joe Pecoraro. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| |
| 2015-04-24 Anders Carlsson <andersca@apple.com> |
| |
| Rename -[WKWebsiteDataStore isNonPersistent] to -[WKWebsiteDataStore isPersistent] |
| https://bugs.webkit.org/show_bug.cgi?id=144158 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::isPersistent): |
| (API::WebsiteDataStore::isNonPersistent): Deleted. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore isPersistent]): |
| (-[WKWebsiteDataStore isNonPersistent]): Deleted. |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (-[_WKWebsiteDataStore isNonPersistent]): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2015-04-24 Brent Fulgham <bfulgham@apple.com> |
| |
| Immediate action not functional for embedded PDFs |
| https://bugs.webkit.org/show_bug.cgi?id=143952 |
| <rdar://problem/19842365> |
| |
| Reviewed by Tim Horton. |
| |
| Add a new method to retrieve appropriate dictionary lookup content and update the |
| hit test result with relevant dictionary content and the bounding rect of the |
| selection. |
| |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add stub. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Initialize plugin type. |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::rectInWindowSpaceForRectInLayoutSpace): New helper function to |
| convert PDF 'in page' units to the equivalent view units. |
| (WebKit::PDFPlugin::PDFPlugin): Initialize plugin type. |
| (WebKit::PDFPlugin::viewRectForSelection): Query a provided PDFSelection for |
| its bounding rect and return the result in view units. |
| * WebProcess/Plugins/Plugin.h: |
| * WebProcess/Plugins/PluginProxy.cpp: Initialize plugin type. |
| * WebProcess/Plugins/PluginProxy.h: Add stub. |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::viewRectForSelection): Added. |
| * WebProcess/Plugins/PluginView.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::dictionaryPopupInfoForPDFSelectionInPluginView): Added. |
| (WebKit::textIndicatorTransitionForActionMenu): Added helper function. |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): Update the hit test information |
| with relevant dictionary lookup content, and mark the result as a text node (if |
| appropriate). |
| |
| 2015-04-24 Jer Noble <jer.noble@apple.com> |
| |
| [WK2] Only issue a isPlayingAudioDidChange() notification if the audio playing state actually changed. |
| https://bugs.webkit.org/show_bug.cgi?id=144153 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Check the old state vs. the new state and only issue the change notification if the IsPlayingAudio state changed. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): |
| |
| 2015-04-24 Antti Koivisto <antti@apple.com> |
| |
| CrashTracer: [USER] com.apple.WebKit.Networking at com.apple.WebKit: WebKit::NetworkResourceLoader::~NetworkResourceLoader + 14 |
| https://bugs.webkit.org/show_bug.cgi?id=144147 |
| |
| Reviewed by Chris Dumez. |
| |
| Storage::storeBodyAsBlob copies the std::function callback for handling mapped bodies in a thread. |
| This is thread safe only if the function copy is thread safe. It is currently not as we are capturing |
| RefPtr<NetworkResourceLoader> and NetworkResourceLoader doesn't use thread safe refcounting. |
| |
| Fix by avoiding copying of the callback. Use same apporach for WriteOperation as we already use for |
| ReadOperation: count the active operations in progress and delete WriteOperation when everything is |
| finished. This way we don't need to copy the function out from WriteOperation. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::ReadOperation::ReadOperation): |
| (WebKit::NetworkCache::Storage::WriteOperation::WriteOperation): |
| |
| Move definition here from the header. |
| |
| (WebKit::NetworkCache::Storage::~Storage): |
| (WebKit::NetworkCache::Storage::storeBodyAsBlob): |
| |
| Increment the operation count when storing a blob, call finishWriteOperation when done. |
| |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::Storage::finishReadOperation): |
| |
| Count active operations instead of finished operations. This makes the code clearer. |
| |
| (WebKit::NetworkCache::Storage::dispatchWriteOperation): |
| (WebKit::NetworkCache::Storage::finishWriteOperation): |
| |
| Mirror the way ReadOperations work. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::ReadOperation::ReadOperation): Deleted. |
| |
| 2015-04-24 Timothy Hatcher <timothy@apple.com> |
| |
| REGRESSION: Web Inspector: Start Timeline Recording in Develop menu broken |
| https://bugs.webkit.org/show_bug.cgi?id=144150 |
| |
| Reviewed by Brian Burg. |
| |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::evaluateCommandOnLoad): Properly treat bools as literals |
| instead of strings by not using the string version of evaluateCommandOnLoad. |
| |
| 2015-04-23 Anders Carlsson <andersca@apple.com> |
| |
| Add headerdocs for WKWebsiteDataRecord and WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=144138 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| |
| 2015-04-24 Doug Russell <d_russell@apple.com> |
| |
| AX: richer text change notifications (142719) |
| https://bugs.webkit.org/show_bug.cgi?id=142719 |
| |
| Reviewed by Darin Adler. |
| |
| Richer accessibility value change notifications. Introduce AXTextEditType, postTextStateChangeNotification and postTextReplacementNotification to give assistive tech apps more reliable context for responding to changes in web content. Also implement a mechanism to post value changes in password form fields in coalesced ticks to thwart analyzing the cadence of changes. |
| |
| Richer accessibility selection change notifications. Introduce AXTextStateChangeIntent, and an overload of postTextReplacementNotification to give assistive tech apps more reliable context for responding to changes in web content selection. Also block posting selection changes on password fields. |
| |
| * UIProcess/WebEditCommandProxy.cpp: |
| (WebKit::WebEditCommandProxy::nameForEditAction): |
| |
| 2015-04-24 Darin Adler <darin@apple.com> |
| |
| Convert OwnPtr and PassOwnPtr uses to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=128007 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/cache/NetworkCacheEncoder.h: Added an include now |
| needed that was inherited from OwnPtr.h before. |
| |
| 2015-04-24 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Make path functions members |
| https://bugs.webkit.org/show_bug.cgi?id=144146 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| This simplifies the code. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::partitionPathForKey): |
| (WebKit::NetworkCache::Storage::recordPathForKey): |
| (WebKit::NetworkCache::Storage::bodyPathForKey): |
| (WebKit::NetworkCache::Storage::storeBodyAsBlob): |
| (WebKit::NetworkCache::Storage::remove): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::Storage::finishReadOperation): |
| (WebKit::NetworkCache::Storage::dispatchWriteOperation): |
| (WebKit::NetworkCache::partitionPathForKey): Deleted. |
| (WebKit::NetworkCache::recordPathForKey): Deleted. |
| (WebKit::NetworkCache::bodyPathForKey): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2015-04-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Remove incorrect assert after r183189. |
| |
| In this case the assert was already there, but it's incorrect |
| because we are handling uninitialized attachments below in the |
| same function, and also when sending messages. So, if it's ok to |
| send uninitialized attachments, it's ok to receive them. This |
| didn't fail before r183189, because we were only invaliding the |
| attachments by setting the file descriptor to -1, and they were |
| handled as null attachments. After r183189, the move operator |
| resets the moved attachment leaving it uninitialized again. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): |
| |
| 2015-04-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Use a webkit subdirectory for the disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=144048 |
| |
| Reviewed by Martin Robinson. |
| |
| Recent versions of libsoup remove any file in cache dir not |
| referenced by the index when the cache is loaded to workaround |
| leaked resources when load/dump is unbalanced for whatever reason, |
| like a crash. We currently use $XDG_CACHE_HOME/app-name as default |
| disk cache directory, but that directory could be used by apps to |
| cache other things, and the soup cache might end up deleting other |
| stuff. The soup cache assumes the given directory is only for the |
| disk cache, so we should ensure that. |
| |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcess): Append |
| webkit to the given disk cache and clear the previous soup cache if it exists. |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformInitializeWebProcess): Ditto. |
| |
| 2015-04-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Remove incorrect ASSERT added in r183176. |
| |
| We allow to encode null attachments. |
| |
| * Platform/unix/SharedMemoryUnix.cpp: |
| (WebKit::SharedMemory::Handle::releaseAttachment): |
| |
| 2015-04-23 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/20680694> Framework header postprocessing isn’t removing WK_DEPRECATED macros when it should. |
| |
| Reviewed by Andy Estes. |
| |
| * mac/postprocess-framework-headers.sh: |
| |
| 2015-04-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Make it possible to detach GraphicsLayerCA backing store |
| https://bugs.webkit.org/show_bug.cgi?id=144140 |
| |
| Reviewed by Tim Horton. |
| |
| This changes makes it possible to denote a GraphicsLayerCA's backing store |
| as "attached" or not. When not attached, the backing store is made volatile |
| and can be purged. This will be used in a future patch. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore): Whitespace. |
| (WebKit::RemoteLayerBackingStore::display): If backingStoreWillBeDisplayed() |
| returns true, this indicates that the backing store was brought out of the |
| "unreachable" list, so return true even if the backing store doesn't require |
| painting. |
| * Shared/mac/RemoteLayerBackingStoreCollection.h: C++11 initializer, and comments. |
| * Shared/mac/RemoteLayerBackingStoreCollection.mm: |
| (WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection): |
| (WebKit::RemoteLayerBackingStoreCollection::backingStoreWillBeDisplayed): Return true |
| if the caller will need to submit the backing store in the current transaction. |
| (WebKit::RemoteLayerBackingStoreCollection::backingStoreBecameUnreachable): This |
| explicit dirtying is no longer necessary given the backingStoreWillBeDisplayed() change. |
| * Shared/mac/RemoteLayerTreePropertyApplier.mm: |
| (WebKit::applyPropertiesToLayer): Only set the layer's backing if we both have backing |
| store, and it's attached. |
| * Shared/mac/RemoteLayerTreeTransaction.h: New bit, and data member. |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): |
| (WebKit::dumpChangedLayers): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::recursiveBuildTransaction): Only call display() |
| on the backing store if it's attached. |
| (WebKit::PlatformCALayerRemote::setBackingStoreAttached): |
| (WebKit::PlatformCALayerRemote::backingStoreAttached): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: |
| (WebKit::RemoteLayerTreeContext::backingStoreWillBeDisplayed): |
| |
| 2015-04-23 Tim Horton <timothy_horton@apple.com> |
| |
| Quick Look preview popover is not dismissed on scroll in Mail |
| https://bugs.webkit.org/show_bug.cgi?id=144119 |
| <rdar://problem/19752045> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView renewGState]): |
| If we have a TextIndicator, dismiss all content relative child windows |
| on renewGState, not just the TextIndicator itself. |
| |
| This will fix cases like Mail, where WebKit isn't driving the scrolling, |
| and we have no way (except renewGState) to know that scrolling is happening. |
| |
| 2015-04-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Changing TiledBacking velocity should schedule a tile revalidation |
| https://bugs.webkit.org/show_bug.cgi?id=144123 |
| |
| Reviewed by Tim Horton. |
| |
| Drive-by fix: use the FrameView& that we have already. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): |
| |
| 2015-04-23 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Disable QTKit by default on future OS X. |
| https://bugs.webkit.org/show_bug.cgi?id=144082 |
| |
| Reviewed by Darin Adler. |
| |
| QTKitEnabled defaults to false. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2015-04-23 Jer Noble <jer.noble@apple.com> |
| |
| [WK2][Mac] Tweak the timing curve of the WebKit Fullscreen animation |
| https://bugs.webkit.org/show_bug.cgi?id=144120 |
| |
| Reviewed by Eric Carlson. |
| |
| Tweak the curve to ease-in faster when the fullscreen animation duration is short. |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (timingFunctionForDuration): |
| (zoomAnimation): |
| (maskAnimation): |
| (fadeAnimation): |
| |
| 2015-04-23 Enrica Casucci <enrica@apple.com> |
| |
| iOS build fix after r183208. |
| |
| Unreviewed. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| |
| 2015-04-22 Alexey Proskuryakov <ap@apple.com> |
| |
| [iOS] WebKit services should inherit environment variables for home |
| https://bugs.webkit.org/show_bug.cgi?id=144078 |
| rdar://problem/20571678 |
| |
| Reviewed by Dan Bernstein. |
| |
| Pass current environment variables as XPC bootstrap. Also while at it, made |
| _CFBundleSetupXPCBootstrap not soft linked. |
| |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm: |
| (main): |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::connectToService): |
| |
| 2015-04-23 Enrica Casucci <enrica@apple.com> |
| |
| Support share button. |
| https://bugs.webkit.org/show_bug.cgi?id=144077 |
| rdar://problem/19772892 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _share:]): |
| (-[WKContentView canPerformAction:withSender:]): |
| (-[WKContentView _define:]): |
| (-[WKContentView accessibilityRetrieveSpeakSelectionContent]): |
| (-[WKContentView moveByOffset:]): |
| (-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]): |
| (-[WKContentView applyAutocorrection:toString:withCompletionHandler:]): |
| (-[WKContentView requestAutocorrectionContextWithCompletionHandler:]): |
| (-[WKContentView accessoryTab:]): |
| (-[WKContentView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]): |
| (-[WKContentView executeEditCommandWithCallback:]): |
| |
| 2015-04-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [UNIX] Do not allow copies of IPC::Attachment |
| https://bugs.webkit.org/show_bug.cgi?id=144096 |
| |
| Reviewed by Darin Adler. |
| |
| It ensures that the file descriptor ownership is always correctly |
| transferred. This way we can remove the dispose() method to |
| explicitly close the file descriptor and always close it in the |
| Attachment destructor (unless explicitly transferred to |
| IPC::Connection or SharedMemory). It simplifies the code and |
| ensure we don't leak file descriptors. |
| |
| * Platform/IPC/ArgumentDecoder.cpp: |
| (IPC::ArgumentDecoder::~ArgumentDecoder): Remove the code to |
| explicitly dispose attachments. |
| (IPC::ArgumentDecoder::removeAttachment): Use WTF::move(). |
| * Platform/IPC/ArgumentEncoder.cpp: |
| (IPC::ArgumentEncoder::~ArgumentEncoder): Remove the code to |
| explicitly dispose attachments. |
| (IPC::ArgumentEncoder::addAttachment): Use WTF::move(). |
| (IPC::ArgumentEncoder::releaseAttachments): Simplify by using WTF::move(). |
| * Platform/IPC/ArgumentEncoder.h: |
| * Platform/IPC/Attachment.cpp: |
| (IPC::Attachment::encode): Move a copy of the attachment, and |
| reset the file descriptor, since the ownership is passed to the encoder. |
| * Platform/IPC/Attachment.h: Make copy constructor and assignment |
| private to not allow public copies. The only copy allowed is done |
| by Attachment::encode(). Make m_fileDescriptor mutable so that we |
| can reset it in Attachment::encode() after passing the ownership |
| to the encoder. |
| * Platform/IPC/unix/AttachmentUnix.cpp: |
| (IPC::Attachment::~Attachment): Close the file descriptor if it |
| hasn't been released explicitly. |
| (IPC::Attachment::dispose): Deleted. |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): Do not use AttachmentResourceGuard. |
| (IPC::Connection::sendOutgoingMessage): Ditto. |
| (IPC::AttachmentResourceGuard::AttachmentResourceGuard): Deleted. |
| (IPC::AttachmentResourceGuard::~AttachmentResourceGuard): Deleted. |
| * Platform/unix/SharedMemoryUnix.cpp: |
| (WebKit::SharedMemory::Handle::~Handle): Do not call clear(). |
| (WebKit::SharedMemory::Handle::clear): Reset the attachment. |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::createInspectorPage): Use WTF::move(). |
| * WebProcess/Plugins/PluginProcessConnectionManager.cpp: |
| (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): |
| Call releaseFileDescriptor() instead of fileDescritpro() since the |
| ownership is passed to the connection. |
| |
| 2015-04-23 Alexey Proskuryakov <ap@apple.com> |
| |
| Build fix. |
| |
| * WebProcess/cocoa/WebProcessCocoa.mm: Correct the case of an include file name. |
| |
| 2015-04-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix debug build after r183176. |
| |
| * Platform/unix/SharedMemoryUnix.cpp: |
| (WebKit::SharedMemory::Handle::decode): |
| (WebKit::SharedMemory::createHandle): |
| |
| 2015-04-23 Andreas Kling <akling@apple.com> |
| |
| There should only be one way to get the system memory size. |
| <https://webkit.org/b/144081> |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformSetCacheModel): |
| (WebKit::memorySize): Deleted. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformSetCacheModel): |
| (WebKit::memorySize): Deleted. |
| |
| 2015-04-23 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] WebDiagnosticLoggingClient is leaking |
| https://bugs.webkit.org/show_bug.cgi?id=144089 |
| <rdar://problem/19706214> |
| |
| Reviewed by Darin Adler. |
| |
| WebDiagnosticLoggingClient is leaking. It is constructed inside WebPage |
| constructor but there is no code destroying it. |
| |
| This patch adds a new xxxDestroyed() virtual function to |
| DiagnosticLoggingClient and that is overriden in |
| WebDiagnosticLoggingClient to call "delete this". This is the same |
| pattern as for other WK2 clients (e.g. WebFrameLoaderClient, |
| WebProgressTrackerClient). |
| |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: |
| (WebKit::WebDiagnosticLoggingClient::mainFrameDestroyed): |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: |
| |
| 2015-04-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [UNIX] Simplify the file descriptor handling in SharedMemory |
| https://bugs.webkit.org/show_bug.cgi?id=144046 |
| |
| Reviewed by Darin Adler. |
| |
| Simplify the file descriptor handling and clarify its ownership by |
| using IPC::Attachment in SharedMemory::Handle instead of fd and |
| size members. SharedMemory::Handle::adoptFromAttachment() has been |
| renamed as SharedMemory::Handle::adoptAttachment() and receives an |
| IPC::Attachment. And SharedMemory::Handle::releaseToAttachment() |
| has been renamed as SharedMemory::Handle::releaseAttachment(). |
| |
| * Platform/IPC/Attachment.h: Add move constructor and move assigned operator. |
| * Platform/IPC/Connection.h: |
| (IPC::Connection::identifierIsNull): A file descriptor is null |
| when it's -1 no 0. |
| * Platform/IPC/unix/AttachmentUnix.cpp: |
| (IPC::Attachment::Attachment): |
| (IPC::Attachment::operator=): |
| (IPC::Attachment::dispose): Reset the file descriptor after |
| closing it. |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): Use |
| SharedMemory::Handle::adoptAttachment() that receives an |
| IPC::Attachment now. |
| (IPC::Connection::sendOutgoingMessage): Use |
| SharedMemory::Handle::releaseAttachment(). |
| * Platform/SharedMemory.h: |
| * Platform/unix/SharedMemoryUnix.cpp: |
| (WebKit::SharedMemory::Handle::Handle): Remove initializers for |
| file descriptor and size members. |
| (WebKit::SharedMemory::Handle::clear): Dispose the attachment. |
| (WebKit::SharedMemory::Handle::isNull): Handle is null if the |
| attachment file descriptor is -1. |
| (WebKit::SharedMemory::Handle::encode): Use releaseAttachment(). |
| (WebKit::SharedMemory::Handle::decode): Use adoptAttachment(). |
| (WebKit::SharedMemory::Handle::releaseAttachment): Implement it |
| using move. |
| (WebKit::SharedMemory::Handle::adoptAttachment): Ditto. |
| (WebKit::SharedMemory::map): Use |
| IPC::Attachment::releaseFileDescriptor() instead of manually |
| changing the member. |
| (WebKit::SharedMemory::createHandle): Initialize the handle |
| attachment with the duplicated file descriptor and size. |
| |
| 2015-04-22 Darin Adler <darin@apple.com> |
| |
| Remove OwnPtr and PassOwnPtr use from WebKit/cf, WebKit/mac, and WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=143943 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| Removed unneeded include. |
| |
| 2015-04-22 Brent Fulgham <bfulgham@apple.com> |
| |
| VisibleSelection should only accept Range by reference |
| https://bugs.webkit.org/show_bug.cgi?id=144047 |
| |
| Reviewed by Tim Horton. |
| |
| Update all uses of VisibleSelection to pass a Range reference instead |
| of a Range pointer. |
| |
| * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: |
| (WebKit::InjectedBundleRangeHandle::renderedImage): |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::getImageForFindMatch): |
| (WebKit::FindController::selectFindMatch): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::insertTextAsync): |
| (WebKit::WebPage::setCompositionAsync): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::insertDictatedTextAsync): |
| |
| 2015-04-22 Anders Carlsson <andersca@apple.com> |
| |
| Add WK_ARRAY and WK_SET annotations |
| https://bugs.webkit.org/show_bug.cgi?id=144075 |
| rdar://problem/19417770 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| * UIProcess/API/Cocoa/WKBackForwardList.h: |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * mac/postprocess-framework-headers.sh: |
| |
| 2015-04-22 Brent Fulgham <bfulgham@apple.com> |
| |
| Unreviewed build fix after r183136. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: Correct capitalization of |
| 'HTMLPluginImageElement.h' -> 'HTMLPlugInImageElement.h' |
| |
| 2015-04-21 Brent Fulgham <bfulgham@apple.com> |
| |
| Extend action menus to support PDF |
| https://bugs.webkit.org/show_bug.cgi?id=143895 |
| <rdar://problem/19003333> |
| |
| Reviewed by Tim Horton. |
| |
| If the mouse pointer is over a PDF, try to provide a relevant action menu for whatever |
| content is under the mouse. For now, we only support copying text and handling URLs. |
| |
| If no text is selected, use the dictionary lookup service to find a semantically appropriate |
| selection underneath the mouse. This is consistent with how normal text is treated in pure HTML |
| views. If some text is already selected, and the mouse is over the existing selection, continue |
| using the selected text. Otherwise, discard the old selection and select the most appropriate |
| region under the mouse pointer. |
| |
| * Shared/API/c/WKActionMenuTypes.h: Add PDF menu option. |
| * Shared/WebMouseEvent.cpp: Recognize mouse force events as valid mouse events. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForPDF]): Add simply copy text option. |
| (-[WKActionMenuController _defaultMenuItems]): Recognize PDFs and add relevant action |
| menu entries. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: Provide stub for new method. |
| * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Expose 'rectsForSelectionInLayerSpace', |
| 'rectsForAnnotationInLayoutSpace', 'layout', and 'currentPage'. |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::getSelectionForWordAtPoint): Added. |
| (WebKit::PDFPlugin::existingSelectionContainsPoint): Added. |
| (WebKit::PDFPlugin::lookupTextAtLocation): Added. |
| * WebProcess/Plugins/Plugin.h: Add declaration for new 'getSelectionForWordAtPoint' method. |
| * WebProcess/Plugins/PluginProxy.h: Provide stub for new method. |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::getSelectionForWordAtPoint): Added. |
| (WebKit::PluginView::existingSelectionContainsPoint): Added. |
| (WebKit::PluginView::lookupTextAtLocation): Added. |
| * WebProcess/Plugins/PluginView.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): Update to support PDF documents and retrieve |
| relevant content to support later action menu handling. |
| |
| 2015-04-22 Eric Carlson <eric.carlson@apple.com> |
| |
| Update AirPlay sandbox rules |
| https://bugs.webkit.org/show_bug.cgi?id=144062 |
| <rdar://problem/19869448> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: Remove obsolete rules. |
| |
| 2015-04-22 Alexey Proskuryakov <ap@apple.com> |
| |
| [Mac] In nightlies and local builds, WebKit services can get terminated under memory pressure |
| https://bugs.webkit.org/show_bug.cgi?id=144052 |
| rdar://problem/19754404 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: |
| (main): Make XPC transaction tracking work again after a re-exec. |
| |
| 2015-04-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] Have API::Array creation methods return Ref<> |
| https://bugs.webkit.org/show_bug.cgi?id=143933 |
| |
| Reviewed by Darin Adler. |
| |
| API::Array::create() and API::Array::createStringArray() should return Ref<> objects |
| as the return values are never null. It's up to the caller to implicitly convert the |
| returned objects to RefPtr<> if so required. All the call-sites have been updated to |
| reflect that. |
| |
| * Shared/API/APIArray.cpp: |
| (API::Array::create): |
| (API::Array::createStringArray): |
| (API::Array::copy): |
| * Shared/API/APIArray.h: |
| * Shared/API/APIDictionary.cpp: |
| (API::Dictionary::keys): |
| * Shared/API/APIDictionary.h: |
| * Shared/API/Cocoa/WKRemoteObjectCoder.mm: |
| (ensureObjectStream): |
| * Shared/API/c/WKArray.cpp: |
| (WKArrayCreate): |
| (WKArrayCreateAdoptingValues): |
| * Shared/API/c/WKContextMenuItem.cpp: |
| (WKContextMenuCopySubmenuItems): |
| * Shared/API/c/WKDictionary.cpp: |
| (WKDictionaryCopyKeys): |
| * Shared/API/c/WKMutableArray.cpp: |
| (WKMutableArrayCreate): |
| * Shared/Cocoa/WKNSDictionary.mm: |
| (-[WKNSDictionary keyEnumerator]): |
| * Shared/SecurityOriginData.cpp: |
| (WebKit::performAPICallbackWithSecurityOriginDataVector): |
| * Shared/WebContextMenuItem.cpp: |
| (WebKit::WebContextMenuItem::submenuItemsAsAPIArray): |
| * Shared/WebContextMenuItem.h: |
| * Shared/WebOpenPanelParameters.cpp: |
| (WebKit::WebOpenPanelParameters::acceptMIMETypes): |
| (WebKit::WebOpenPanelParameters::selectedFileNames): |
| * Shared/WebOpenPanelParameters.h: |
| * UIProcess/API/C/WKBackForwardListRef.cpp: |
| (WKBackForwardListCopyBackListWithLimit): |
| (WKBackForwardListCopyForwardListWithLimit): |
| * UIProcess/API/C/WKGrammarDetail.cpp: |
| (WKGrammarDetailCopyGuesses): |
| * UIProcess/API/C/WKOpenPanelParameters.cpp: |
| (WKOpenPanelParametersCopyAcceptedMIMETypes): |
| (WKOpenPanelParametersCopySelectedFileNames): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageContextMenuClient): |
| (WKPageCopyRelatedPages): |
| * UIProcess/API/Cocoa/WKBackForwardList.mm: |
| (-[WKBackForwardList backList]): |
| (-[WKBackForwardList forwardList]): |
| * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: |
| (createWKArray): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| * UIProcess/API/gtk/WebKitBackForwardList.cpp: |
| (webkit_back_forward_list_get_back_list_with_limit): |
| (webkit_back_forward_list_get_forward_list_with_limit): |
| * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: |
| (webkit_file_chooser_request_get_mime_types): |
| (webkit_file_chooser_request_get_mime_types_filter): |
| (webkit_file_chooser_request_select_files): |
| * UIProcess/API/gtk/WebKitNotificationProvider.cpp: |
| (WebKitNotificationProvider::notificationCloseCallback): |
| * UIProcess/Notifications/WebNotificationManagerProxy.cpp: |
| (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): |
| * UIProcess/Notifications/WebNotificationProvider.cpp: |
| (WebKit::WebNotificationProvider::clearNotifications): |
| * UIProcess/Plugins/WebPluginSiteDataManager.cpp: |
| (WebKit::WebPluginSiteDataManager::didGetSitesWithData): |
| * UIProcess/StatisticsRequest.cpp: |
| (WebKit::StatisticsRequest::completedRequest): |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy): |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::backList): |
| (WebKit::WebBackForwardList::forwardList): |
| (WebKit::WebBackForwardList::backListAsAPIArrayWithLimit): |
| (WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit): |
| * UIProcess/WebBackForwardList.h: |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): |
| * UIProcess/WebDatabaseManagerProxy.cpp: |
| (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): |
| (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): |
| * UIProcess/WebGrammarDetail.cpp: |
| (WebKit::WebGrammarDetail::guesses): |
| * UIProcess/WebGrammarDetail.h: |
| * UIProcess/WebKeyValueStorageManager.cpp: |
| (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): |
| (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): |
| * UIProcess/WebMediaCacheManagerProxy.cpp: |
| (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): |
| * UIProcess/WebOriginDataManagerProxy.cpp: |
| (WebKit::WebOriginDataManagerProxy::didGetOrigins): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didFindStringMatches): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::pluginInfoStoreDidLoadPlugins): |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]): |
| (-[WKFileUploadPanel presentWithParameters:resultListener:]): |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: |
| (-[WKWebProcessPlugInFrame childFrames]): |
| * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp: |
| (WKBundleBackForwardListItemCopyChildren): |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: |
| (WKBundleFrameCopyChildFrames): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageCopyTrackedRepaintRects): |
| * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: |
| (WebKit::InjectedBundleBackForwardListItem::children): |
| * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: |
| (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): |
| * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: |
| (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: |
| (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::findLargestFrameInFrameSet): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::childFrames): |
| * WebProcess/WebPage/WebFrame.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::trackedRepaintRects): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2015-04-21 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] Use one playback target for all web processes |
| https://bugs.webkit.org/show_bug.cgi?id=144009 |
| |
| Reviewed by Tim Horton. |
| |
| Every WebPageProxy uses the WebMediaSessionManager singleton to talk to the playback target |
| picker. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::resetState): |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): |
| (WebKit::WebPageProxy::addPlaybackTargetPickerClient): |
| (WebKit::WebPageProxy::removePlaybackTargetPickerClient): |
| (WebKit::WebPageProxy::showPlaybackTargetPicker): |
| (WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange): |
| (WebKit::WebPageProxy::setPlaybackTarget): |
| (WebKit::WebPageProxy::externalOutputDeviceAvailableDidChange): |
| (WebKit::WebPageProxy::setShouldPlayToPlaybackTarget): |
| (WebKit::WebPageProxy::devicePickerProxy): Deleted. |
| (WebKit::WebPageProxy::startingMonitoringPlaybackTargets): Deleted. |
| (WebKit::WebPageProxy::stopMonitoringPlaybackTargets): Deleted. |
| (WebKit::WebPageProxy::didChoosePlaybackTarget): Deleted. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::isPlayingAudio): |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::mediaSessionManager): |
| (WebKit::PageClientImpl::createPlaybackTargetPicker): Deleted. |
| * UIProcess/mac/WebMediaSessionManagerMac.cpp: Added. |
| (WebKit::WebMediaSessionManagerMac::singleton): |
| (WebKit::WebMediaSessionManagerMac::WebMediaSessionManagerMac): |
| (WebKit::WebMediaSessionManagerMac::~WebMediaSessionManagerMac): |
| (WebKit::WebMediaSessionManagerMac::targetPicker): |
| * UIProcess/mac/WebMediaSessionManagerMac.h: Added. |
| * WebProcess/Plugins/PluginView.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::isPlayingMediaDidChange): |
| (WebKit::WebChromeClient::addPlaybackTargetPickerClient): |
| (WebKit::WebChromeClient::removePlaybackTargetPickerClient): |
| (WebKit::WebChromeClient::showPlaybackTargetPicker): |
| (WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange): |
| (WebKit::WebChromeClient::startingMonitoringPlaybackTargets): Deleted. |
| (WebKit::WebChromeClient::stopMonitoringPlaybackTargets): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::playbackTargetSelected): |
| (WebKit::WebPage::playbackTargetAvailabilityDidChange): |
| (WebKit::WebPage::setShouldPlayToPlaybackTarget): |
| |
| 2015-04-21 Anders Carlsson <andersca@apple.com> |
| |
| WKWebsiteDataStore doesn't track and remove IndexedDB databases |
| https://bugs.webkit.org/show_bug.cgi?id=144032 |
| rdar://problem/20242856 |
| |
| Reviewed by Tim Horton. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::fetchWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| * Shared/WebsiteData/WebsiteDataTypes.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: |
| (dataTypesToString): |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataTypes): |
| (WebKit::toWKWebsiteDataTypes): |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::generateCallbackID): |
| (WebKit::DatabaseProcessProxy::~DatabaseProcessProxy): |
| (WebKit::DatabaseProcessProxy::fetchWebsiteData): |
| (WebKit::DatabaseProcessProxy::deleteWebsiteData): |
| (WebKit::DatabaseProcessProxy::deleteWebsiteDataForOrigins): |
| (WebKit::DatabaseProcessProxy::didClose): |
| (WebKit::DatabaseProcessProxy::didFetchWebsiteData): |
| (WebKit::DatabaseProcessProxy::didDeleteWebsiteData): |
| (WebKit::DatabaseProcessProxy::didDeleteWebsiteDataForOrigins): |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Databases/DatabaseProcessProxy.messages.in: |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| (WebKit::WebsiteDataStore::removeData): |
| |
| 2015-04-21 Anders Carlsson <andersca@apple.com> |
| |
| Add module maps for WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=144026 |
| rdar://problem/19665428 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/WebKit.xcconfig: |
| * Modules/OSX.modulemap: Added. |
| * Modules/iOS.modulemap: Added. |
| |
| 2015-04-21 Tim Horton <timothy_horton@apple.com> |
| |
| Long pause under _takeViewSnapshot when screen updates are disabled |
| https://bugs.webkit.org/show_bug.cgi?id=144017 |
| <rdar://problem/20548397> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _takeViewSnapshot]): |
| Use CGSHWCaptureWindowList, for snapshotting that doesn't block on |
| the next commit, and can succeed while screen updates are disabled |
| without blocking. |
| |
| 2015-04-21 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] Better account of resource revalidations in efficacy logging |
| https://bugs.webkit.org/show_bug.cgi?id=144014 |
| |
| Reviewed by Antti Koivisto. |
| |
| Better account of resource revalidations in efficacy logging. |
| Prevously, resources that were in the cache but needed revalidation |
| were counted as retrieval successes, which is not entirely accurate. |
| |
| We now distinguish "is in the cache and is directly usable" from |
| "is in the cache but needs revalidation". We also log how many of these |
| revalidations are successful. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didReceiveResponseAsync): |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::update): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry): |
| (WebKit::NetworkCache::Statistics::recordRevalidationSuccess): |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| |
| 2015-04-21 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Framework header postprocessing should respect additional definitions |
| https://bugs.webkit.org/show_bug.cgi?id=144018 |
| |
| Reviewed by Anders Carlsson. |
| |
| * mac/postprocess-framework-headers.sh: Read definitons from |
| /usr/local/include/WebKitAdditions/Scripts/postprocess-framework-headers-definitions, and |
| have them take precedence over OSX_VERSION and IOS_VERSION and supply additional options to |
| sed. |
| |
| 2015-04-21 Anders Carlsson <andersca@apple.com> |
| |
| Fix block signatures |
| https://bugs.webkit.org/show_bug.cgi?id=144002 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView _highlightLinkAnnotation:forDuration:completionHandler:]): |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _processMediaInfoDictionaries:successBlock:failureBlock:]): |
| (-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:processedImageCount:processedVideoCount:successBlock:failureBlock:]): |
| (-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]): |
| |
| 2015-04-21 Timothy Horton <timothy_horton@apple.com> |
| |
| PDFs still don't snapshot properly in iOS Safari |
| https://bugs.webkit.org/show_bug.cgi?id=143976 |
| <rdar://problem/18283459> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didLayoutForCustomContentProvider): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:data:]): |
| Inform the client that we've passed all reasonable layout milestones |
| as soon as the custom content provider has been handed its data. |
| WKPDFView, the only custom content provider, synchronously lays out |
| its subviews upon initial receipt of data, so this works fine for it. |
| This ensures that clients that normally depend on layout milestones firing |
| won't break when a custom content view is installed. |
| |
| (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): |
| Fall back to renderInContext: if the custom content view is not parented |
| when a snapshot is requested. |
| |
| 2015-04-21 Dan Bernstein <mitz@apple.com> |
| |
| Merged WKBackForwardListItem’s Internal category into the class extension in WKBackForwardListItemInternal.h. |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKBackForwardListItem.mm: |
| (-[WKBackForwardListItem _item]): |
| (-[WKBackForwardListItem _apiObject]): |
| * UIProcess/API/Cocoa/WKBackForwardListItemInternal.h: |
| |
| 2015-04-21 Chris Dumez <cdumez@apple.com> |
| |
| Make Vector(const Vector<T, otherCapacity, otherOverflowBehaviour>&) constructor explicit |
| https://bugs.webkit.org/show_bug.cgi?id=143970 |
| |
| Reviewed by Darin Adler. |
| |
| Make Vector(const Vector<T, otherCapacity, otherOverflowBehaviour>&) |
| constructor explicit as it copies the vector and it is easy to call it |
| by mistake. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: |
| (WebKit::WebIDBServerConnection::setIndexKeys): |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: |
| |
| 2015-04-20 Dan Bernstein <mitz@apple.com> |
| |
| Expose more bundle form client functions as WKWebProcessPlugInFormDelegatePrivate methods |
| https://bugs.webkit.org/show_bug.cgi?id=143973 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Declared new |
| delegate methods. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Declared new frame |
| property. |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: |
| (-[WKWebProcessPlugInNodeHandle frame]): Added. Returns the node’s document’s frame. This is |
| useful to delegates getting an array of nodes via the new method. |
| |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added overrides of |
| shouldNotifyOnFormChanges and didAssociateFormControls, which call the new delegate methods. |
| |
| 2015-04-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Cleanup some StringBuilder use |
| https://bugs.webkit.org/show_bug.cgi?id=143550 |
| |
| Reviewed by Darin Adler. |
| |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: |
| (WebKit::buildObjectStoreStatement): |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: |
| (WebKit::v2RecordsTableSchema): |
| * Shared/Databases/IndexedDB/IDBUtilities.cpp: |
| (WebKit::uniqueDatabaseIdentifier): |
| * UIProcess/API/APIUserScript.cpp: |
| (API::UserScript::generateUniqueURL): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::didReceiveInvalidMessage): |
| * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: |
| (WebKit::combinedSecurityOriginIdentifier): |
| |
| 2015-04-20 Anders Carlsson <andersca@apple.com> |
| |
| Modify the WKWebsiteDataStore API to take a NSSet of types instead of a bitmask |
| https://bugs.webkit.org/show_bug.cgi?id=143966 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: |
| (dataTypesToString): |
| (-[WKWebsiteDataRecord dataTypes]): |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataTypes): |
| (WebKit::toWKWebsiteDataTypes): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (+[WKWebsiteDataStore allWebsiteDataTypes]): |
| (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWKWebsiteDataTypes): |
| (-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| (-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| |
| 2015-04-20 Beth Dakin <bdakin@apple.com> |
| |
| Should remove mouseForceClick and mouseForceCancelled from DOM force events |
| https://bugs.webkit.org/show_bug.cgi?id=143904 |
| -and corresponding- |
| rdar://problem/20578842 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::immediateActionDidCancel): |
| |
| 2015-04-20 Tim Horton <timothy_horton@apple.com> |
| |
| Implement immediate action support for tel: and mailto: URLs |
| https://bugs.webkit.org/show_bug.cgi?id=143916 |
| <rdar://problem/19721711> |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/API/c/WKImmediateActionTypes.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController _animationControllerForDataDetectedText]): |
| (-[WKImmediateActionController _animationControllerForDataDetectedLink]): |
| (-[WKImmediateActionController _menuItemForDataDetectedText]): Deleted. |
| Add _animationControllerForDataDetectedLink and use it when |
| building immediate actions for tel: and mailto: links. |
| |
| 2015-04-20 Alex Christensen <achristensen@webkit.org> |
| |
| Properly report errors from _WKUserContentExtensionStore. |
| https://bugs.webkit.org/show_bug.cgi?id=143808 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm: |
| (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): |
| (-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]): |
| (-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]): |
| |
| 2015-04-18 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r181656): Animated tiled layers are missing content |
| https://bugs.webkit.org/show_bug.cgi?id=143911 |
| rdar://problem/20596328 |
| |
| Reviewed by Darin Adler. |
| |
| After r181656, all requestAnimationFrame was falling back to timers, and not |
| using the platform's DisplayRefreshMonitor, because of a Nullopt vs nullptr |
| fumble. |
| |
| Replace this confusing Optional<> code with simpler code that just forces the |
| clients to make a DisplayRefreshMonitor if they can, first asking |
| ChromeClient, and then falling back to createDefaultDisplayRefreshMonitor(). |
| |
| Make lots of things into references, and use C++11 initialization in some places. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::createDisplayRefreshMonitor): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2015-04-18 Dan Bernstein <mitz@apple.com> |
| |
| SwipeShadow images are installed on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=143915 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/WebKit.xcconfig: Added Resources/Mac/* to |
| EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*]. We could move more resources there and remove |
| individual patterns. |
| * Resources/SwipeShadow.png: Moved to mac. |
| * Resources/SwipeShadow@2x.png: Moved to mac. |
| * Resources/mac: Added. |
| * Resources/mac/SwipeShadow.png: Moved from Source/WebKit2/Resources/SwipeShadow.png. |
| * Resources/mac/SwipeShadow@2x.png: Moved from Source/WebKit2/Resources/SwipeShadow@2x.png. |
| * WebKit2.xcodeproj/project.pbxproj: Created mac group in the Resources group and moved |
| SwipeShadow*.png into it. Updated for file moves. |
| |
| 2015-04-18 Chris Dumez <cdumez@apple.com> |
| |
| Fix NetworkCache Statistics database bootstrapping after r182803 |
| https://bugs.webkit.org/show_bug.cgi?id=143890 |
| |
| Reviewed by Darin Adler. |
| |
| Update the NetworkCache Statistics database bootstrapping code to use |
| the records path instead of the version path. Also check that the |
| filenames in the folder are valid hashes to discard the *-body files. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::recordsPath): |
| (WebKit::NetworkCache::Cache::storagePath): Deleted. |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::Statistics::initialize): |
| (WebKit::NetworkCache::Statistics::bootstrapFromNetworkCache): |
| (WebKit::NetworkCache::Statistics::shrinkIfNeeded): |
| |
| 2015-04-17 Tim Horton <timothy_horton@apple.com> |
| |
| Clients sometimes block for 500ms in waitForPossibleGeometryUpdates |
| https://bugs.webkit.org/show_bug.cgi?id=143901 |
| <rdar://problem/20488655> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::waitForMessage): |
| InterruptWaitingIfSyncMessageArrives already cancels waitForMessage if |
| a sync message arrives while waiting, but it should also avoid waiting |
| if there's a sync message already in the queue when the waiting starts, |
| as that will have the same nasty effect. |
| |
| * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: |
| (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate): |
| If a synchronous message comes in from the Web process while we're waiting, |
| cancel our synchronous wait for DidUpdateGeometry. This will cause the size |
| change to not synchronize with the Web process' painting, but that is better |
| than pointlessly blocking for 500ms. |
| |
| 2015-04-17 Chris Dumez <cdumez@apple.com> |
| |
| Possible null pointer dereference in WebDiagnosticLoggingClient::logDiagnosticMessageWithValue() |
| https://bugs.webkit.org/show_bug.cgi?id=143899 |
| <rdar://problem/20584215> |
| |
| Reviewed by Anders Carlsson. |
| |
| WebDiagnosticLoggingClient::logDiagnosticMessage*() methods failed to |
| check that m_page.corePage() was non-null before dereferencing, thus |
| causing crashes when it is null. |
| |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): |
| |
| 2015-04-17 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| WebKit client should be able to add view controller for link preview. |
| https://bugs.webkit.org/show_bug.cgi?id=143686 |
| |
| Add delegate methods to WKUIDelegatePrivate so that a WebKit client can prepare a view controller |
| for link preview and react to the dismissal of this view controller. Also connect WKContentView to |
| preview gesture recognizer and forwards the delegate callbacks to corresponding delegate methods |
| in WKUIDelegatePrivate. |
| |
| Reviewed by Beth Dakin. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView willMoveToWindow:]): |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView cleanupInteraction]): |
| (-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]): |
| (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): |
| (-[WKContentView gestureRecognizerShouldBegin:]): |
| (-[WKContentView previewViewControllerForPosition:inSourceView:]): |
| (-[WKContentView commitPreviewViewController:]): |
| (-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]): |
| (-[WKContentView didDismissPreviewViewController:committing:]): |
| |
| 2015-04-17 Beth Dakin <bdakin@apple.com> |
| |
| Force mouse events should go through normal mouse event handling code paths |
| https://bugs.webkit.org/show_bug.cgi?id=143749 |
| -and corresponding- |
| rdar://problem/20472895 |
| |
| Reviewed by Dean Jackson. |
| |
| This patch makes pressureChangeWithEvent create NativeWebMouseEvents with the |
| NSEventTypePressures that is gets and sends those down to the web process. |
| |
| Re-name pressureEvent to lastPressureEvent. Now that event can sometimes be an |
| NSEventTypePressure, the new name makes it clear how the second parameter differs |
| from the first. |
| * Shared/NativeWebMouseEvent.h: |
| |
| New event types for the new types of events. |
| * Shared/WebEvent.h: |
| * Shared/WebEventConversion.cpp: |
| (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): |
| * Shared/mac/NativeWebMouseEventMac.mm: |
| (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): |
| * Shared/mac/WebEventFactory.h: |
| |
| All of the square-peg, round-hole problems of massaging the NSEventTypePressures |
| events into WebMouseEvents is taken care of here. |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::mouseButtonForEvent): |
| (WebKit::globalPointForEvent): |
| (WebKit::pointForEvent): |
| (WebKit::WebEventFactory::createWebMouseEvent): |
| |
| Instead of calling the old inputDeviceForceDidChange, create a NativeWebMouseEvent |
| and handle it. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView pressureChangeWithEvent:]): |
| |
| Handle the new types. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didReceiveEvent): |
| |
| Can delete inputDeviceForceDidChange since it’s no longer used. |
| (WebKit::WebPageProxy::inputDeviceForceDidChange): Deleted. |
| * UIProcess/WebPageProxy.h: |
| |
| Handle the new types of mouse events properly. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::handleMouseEvent): |
| |
| Delete inputDeviceForceDidChange() and m_lastForceStage. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::inputDeviceForceDidChange): Deleted. |
| |
| Handle new WebEvent types. |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| |
| 2015-04-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r182912 and r182920. |
| https://bugs.webkit.org/show_bug.cgi?id=143881 |
| |
| Build breakage in some configurations (Requested by ap on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "Force mouse events should go through normal mouse event |
| handling code paths" |
| https://bugs.webkit.org/show_bug.cgi?id=143749 |
| http://trac.webkit.org/changeset/182912 |
| |
| http://trac.webkit.org/changeset/182920 |
| |
| 2015-04-17 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Read resource record and body in parallel |
| https://bugs.webkit.org/show_bug.cgi?id=143879 |
| |
| Reviewed by Chris Dumez. |
| |
| We currently first fetch the record file and then fetch the body blob if needed. |
| We can do both operations in parallel to reduce latency. |
| |
| * NetworkProcess/cache/NetworkCacheFileSystemPosix.h: |
| (WebKit::NetworkCache::traverseCacheFiles): |
| |
| Do all validation in the client. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::synchronize): |
| |
| Maintain a bloom filter that contains the body blobs to avoid unnecessary IO attempts. |
| Delete any unknown file in cache directory. |
| |
| (WebKit::NetworkCache::Storage::addToRecordFilter): |
| |
| More informative name for record filter. |
| |
| (WebKit::NetworkCache::Storage::mayContain): |
| (WebKit::NetworkCache::Storage::readRecord): |
| (WebKit::NetworkCache::Storage::storeBodyAsBlob): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| |
| Start record read IO and body blob read IO in parallel. |
| |
| (WebKit::NetworkCache::Storage::finishReadOperation): |
| |
| The read is finished when we have both the record and the blob. |
| |
| (WebKit::NetworkCache::Storage::dispatchWriteOperation): |
| (WebKit::NetworkCache::Storage::retrieve): |
| (WebKit::NetworkCache::Storage::store): |
| (WebKit::NetworkCache::Storage::traverse): |
| (WebKit::NetworkCache::Storage::clear): |
| (WebKit::NetworkCache::Storage::shrink): |
| (WebKit::NetworkCache::Storage::addToContentsFilter): Deleted. |
| (WebKit::NetworkCache::Storage::decodeRecord): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::ReadOperation::ReadOperation): |
| |
| ReadOperation is now mutable and gathers the read result. |
| |
| 2015-04-16 Anders Carlsson <andersca@apple.com> |
| |
| Stop installing WebKit2.framework |
| https://bugs.webkit.org/show_bug.cgi?id=143860 |
| rdar://problem/18298491 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/WebKit2.xcconfig: |
| Set SKIP_INSTALL=YES for all SDKs except 10.9 where we still need it. |
| |
| 2015-04-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix the build with ENABLE(NETWORK_CACHE) and !ENABLE(SHAREABLE_RESOURCE). |
| |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| * NetworkProcess/cache/NetworkCacheFileSystemPosix.h: |
| (WebKit::NetworkCache::fileTimes): There's no st_birthtime in Linux. |
| |
| 2015-04-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] ResourceRequest cache policy is not encoded/decoded in IPC messages |
| https://bugs.webkit.org/show_bug.cgi?id=143867 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Encode/Decode the ResourceRequest cache policy. |
| |
| * Shared/soup/WebCoreArgumentCodersSoup.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): |
| (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): |
| |
| 2015-04-16 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Use UNUSED_PARAM instead of the void casting to suppress unused parameter warnings. |
| https://bugs.webkit.org/show_bug.cgi?id=143750 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests, no behavior change. |
| |
| * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: |
| (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager): |
| |
| 2015-04-16 Brady Eidson <beidson@apple.com> |
| |
| Compiling a content extension fails when user's home directory is on a different volume from /var/tmp. |
| https://bugs.webkit.org/show_bug.cgi?id=143834 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/APIUserContentExtensionStore.cpp: |
| (API::compiledToFile): Use moveFile() instead of renameFile() |
| |
| 2015-04-16 Anders Carlsson <andersca@apple.com> |
| |
| Deprecate _WKWebsiteDataStore in favor of WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=143844 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _validate]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * mac/postprocess-framework-headers.sh: |
| |
| 2015-04-16 Alex Christensen <achristensen@webkit.org> |
| |
| Removed unused WKUserContentFilterRef. |
| https://bugs.webkit.org/show_bug.cgi?id=143852 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebCompiledContentExtension.cpp: |
| (WebKit::LegacyContentExtensionCompilationClient::LegacyContentExtensionCompilationClient): Deleted. |
| (WebKit::LegacyContentExtensionCompilationClient::writeBytecode): Deleted. |
| (WebKit::LegacyContentExtensionCompilationClient::writeActions): Deleted. |
| (WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData): Deleted. |
| * Shared/WebCompiledContentExtension.h: |
| * UIProcess/API/C/WKUserContentFilterRef.cpp: Removed. |
| * UIProcess/API/C/WKUserContentFilterRef.h: Removed. |
| * UIProcess/API/C/WebKit2_C.h: |
| * UIProcess/API/Cocoa/_WKUserContentFilter.h: |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: |
| (-[_WKUserContentFilter initWithName:serializedRules:]): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-16 Beth Dakin <bdakin@apple.com> |
| |
| Rubber-stamped by Tim Horton. |
| |
| Fixing a small mistake in http://trac.webkit.org/changeset/182912 which should |
| make sure to use the most up-to-date pressure information when setting the force |
| on a WebMouseEvent. |
| |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::WebEventFactory::createWebMouseEvent): |
| |
| 2015-04-13 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] When simultaneously exiting-and-entering fullscreen, WebVideoFullscreenManager/Proxy becomes confused about what video element it represents. |
| https://bugs.webkit.org/show_bug.cgi?id=143680 |
| |
| Reviewed by Simon Fraser. |
| |
| The original assumption of WebVideoFullscreenManager and -Proxy was that the two classes would represent a |
| single video element and its full screen state. With multiple animations in and out of fullscreen combined with |
| multiple fullscreen modes, this assumption no longer holds true. |
| |
| Rather than having a WebVideoFullscreenManager which /isa/ WebVideoFullscreenModelVideoElement, the manager now |
| /hasa/ WebVideoFullscreenModelVideoElement (or has many such models). Ditto for WebVideoFullscreenManager and |
| WebVideoFullscreenInterfaceAVKit. The WebVideoFullscreenInterfaceAVKit still needs a WebVideoFullscreenModel to |
| communicate with, so a new wrapper class is used for that purpose, WebVideoFullscreenModelContext. Ditto for |
| WebVideoFullscreenModelVideoElement and the new class WebVideoFullscreenInterfaceContext. These context classes |
| are paired and share a contextId, allowing the manager and its proxy to route messages between the UIProcess's |
| WebVideoFullscreenInterfaceAVKit to-and-from the WebProcess's WebVideoFullscreenModelVideoElement. |
| |
| Both the WebVideoFullscreenModelContext and the WebVideoFullscreenInterfaceContext take a back-pointer to their |
| manager or manager proxy, and each method on the context simply calls the matching method on the manager and |
| passes its contextId as a parameter. |
| |
| Both the WebVideoFullscreenManager and the WebVideoFullscreenManagerProxy pass that contextId in each of their |
| cross-process messages. |
| |
| On the other side, the manager and proxy also have a map between contextIds and their matching |
| WebVideoFullscreenModelVideoElement (in the case of WebVideoFullscreenManager) or |
| WebVideoFullscreenInterfaceAVKit (in the case of WebVideoFullscreenManagerProxy). |
| |
| While this change is large by LoC, it is almost entirely boilerplate. The new and interesting pieces are these: |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy): No longer a WebVideoFullscreenInterfaceAVKit. |
| (WebKit::WebVideoFullscreenManagerProxy::invalidate): Walk through the models and interfaces, invalidating each. |
| (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface): Added. Return a new model and interface tuple. |
| (WebKit::WebVideoFullscreenManagerProxy::ensureModelAndInterface): Added. Lazily create, and add to the m_contextMap |
| a new model and interface object. |
| (WebKit::WebVideoFullscreenManagerProxy::ensureModel): Return the model half of ensureModelAndInterface(). |
| (WebKit::WebVideoFullscreenManagerProxy::ensureInterface): Return the interface half of ensureModelAndInterface(). |
| (WebKit::WebVideoFullscreenManagerProxy::enterFullscreen): Walk through the outstanding interface objects, and if |
| any have a fullscreen mode which matches the about-to-be-fullscreen interface, request that that other interface |
| exit fullscreen. |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::nextContextId): Static, incrementing counter used as a contextId source. |
| (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager): No longer a WebVideoFullscreenModelVideoElement. |
| (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager): Walk through the models and interfaces, invalidating each. |
| (WebKit::WebVideoFullscreenManager::ensureModelAndInterface): Added. Return a new model and interface tuple. |
| (WebKit::WebVideoFullscreenManager::ensureModelAndInterface): Added. Lazily create, and add to the m_contextMap |
| a new model and interface object. |
| (WebKit::WebVideoFullscreenManager::ensureModel): Return the model half of ensureModelAndInterface(). |
| (WebKit::WebVideoFullscreenManager::ensureInterface): Return the interface half of ensureModelAndInterface(). |
| |
| New classes and methods which just forward on to their owning objects: |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: |
| (WebKit::WebVideoFullscreenModelContext::create): |
| (WebKit::WebVideoFullscreenModelContext::~WebVideoFullscreenModelContext): |
| (WebKit::WebVideoFullscreenModelContext::invalidate): |
| (WebKit::WebVideoFullscreenModelContext::layerHost): |
| (WebKit::WebVideoFullscreenModelContext::setLayerHost): |
| (WebKit::WebVideoFullscreenModelContext::setInitialVideoLayerFrame): |
| (WebKit::WebVideoFullscreenModelContext::WebVideoFullscreenModelContext): |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenModelContext::play): |
| (WebKit::WebVideoFullscreenModelContext::pause): |
| (WebKit::WebVideoFullscreenModelContext::togglePlayState): |
| (WebKit::WebVideoFullscreenModelContext::beginScrubbing): |
| (WebKit::WebVideoFullscreenModelContext::endScrubbing): |
| (WebKit::WebVideoFullscreenModelContext::seekToTime): |
| (WebKit::WebVideoFullscreenModelContext::fastSeek): |
| (WebKit::WebVideoFullscreenModelContext::beginScanningForward): |
| (WebKit::WebVideoFullscreenModelContext::beginScanningBackward): |
| (WebKit::WebVideoFullscreenModelContext::endScanning): |
| (WebKit::WebVideoFullscreenModelContext::requestExitFullscreen): |
| (WebKit::WebVideoFullscreenModelContext::setVideoLayerFrame): |
| (WebKit::WebVideoFullscreenModelContext::videoLayerFrame): |
| (WebKit::WebVideoFullscreenModelContext::setVideoLayerGravity): |
| (WebKit::WebVideoFullscreenModelContext::videoLayerGravity): |
| (WebKit::WebVideoFullscreenModelContext::selectAudioMediaOption): |
| (WebKit::WebVideoFullscreenModelContext::selectLegibleMediaOption): |
| (WebKit::WebVideoFullscreenModelContext::fullscreenModeChanged): |
| (WebKit::WebVideoFullscreenModelContext::didSetupFullscreen): |
| (WebKit::WebVideoFullscreenModelContext::didEnterFullscreen): |
| (WebKit::WebVideoFullscreenModelContext::didExitFullscreen): |
| (WebKit::WebVideoFullscreenModelContext::didCleanupFullscreen): |
| (WebKit::WebVideoFullscreenModelContext::fullscreenMayReturnToInline): |
| * WebProcess/ios/WebVideoFullscreenManager.h: |
| (WebKit::WebVideoFullscreenInterfaceContext::create): |
| (WebKit::WebVideoFullscreenInterfaceContext::invalidate): |
| (WebKit::WebVideoFullscreenInterfaceContext::layerHostingContext): |
| (WebKit::WebVideoFullscreenInterfaceContext::isAnimating): |
| (WebKit::WebVideoFullscreenInterfaceContext::setIsAnimating): |
| (WebKit::WebVideoFullscreenInterfaceContext::targetIsFullscreen): |
| (WebKit::WebVideoFullscreenInterfaceContext::setTargetIsFullscreen): |
| (WebKit::WebVideoFullscreenInterfaceContext::fullscreenMode): |
| (WebKit::WebVideoFullscreenInterfaceContext::setFullscreenMode): |
| (WebKit::WebVideoFullscreenInterfaceContext::isFullscreen): |
| (WebKit::WebVideoFullscreenInterfaceContext::setIsFullscreen): |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext): |
| (WebKit::WebVideoFullscreenInterfaceContext::~WebVideoFullscreenInterfaceContext): |
| (WebKit::WebVideoFullscreenInterfaceContext::setLayerHostingContext): |
| (WebKit::WebVideoFullscreenInterfaceContext::resetMediaState): |
| (WebKit::WebVideoFullscreenInterfaceContext::setDuration): |
| (WebKit::WebVideoFullscreenInterfaceContext::setCurrentTime): |
| (WebKit::WebVideoFullscreenInterfaceContext::setBufferedTime): |
| (WebKit::WebVideoFullscreenInterfaceContext::setRate): |
| (WebKit::WebVideoFullscreenInterfaceContext::setVideoDimensions): |
| (WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges): |
| (WebKit::WebVideoFullscreenInterfaceContext::setCanPlayFastReverse): |
| (WebKit::WebVideoFullscreenInterfaceContext::setAudioMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenInterfaceContext::setLegibleMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenInterfaceContext::setExternalPlayback): |
| |
| Cross-process methods which now take a contextId parameter: |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::resetMediaState): |
| (WebKit::WebVideoFullscreenManagerProxy::setCurrentTime): |
| (WebKit::WebVideoFullscreenManagerProxy::setBufferedTime): |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions): |
| (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector): |
| (WebKit::WebVideoFullscreenManagerProxy::setCanPlayFastReverse): |
| (WebKit::WebVideoFullscreenManagerProxy::setAudioMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenManagerProxy::setLegibleMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenManagerProxy::setExternalPlaybackProperties): |
| (WebKit::WebVideoFullscreenManagerProxy::setDuration): |
| (WebKit::WebVideoFullscreenManagerProxy::setRate): |
| (WebKit::WebVideoFullscreenManagerProxy::exitFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::cleanupFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): |
| (WebKit::WebVideoFullscreenManagerProxy::play): |
| (WebKit::WebVideoFullscreenManagerProxy::pause): |
| (WebKit::WebVideoFullscreenManagerProxy::togglePlayState): |
| (WebKit::WebVideoFullscreenManagerProxy::beginScrubbing): |
| (WebKit::WebVideoFullscreenManagerProxy::endScrubbing): |
| (WebKit::WebVideoFullscreenManagerProxy::seekToTime): |
| (WebKit::WebVideoFullscreenManagerProxy::fastSeek): |
| (WebKit::WebVideoFullscreenManagerProxy::beginScanningForward): |
| (WebKit::WebVideoFullscreenManagerProxy::beginScanningBackward): |
| (WebKit::WebVideoFullscreenManagerProxy::endScanning): |
| (WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::didSetupFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame): |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerGravity): |
| (WebKit::WebVideoFullscreenManagerProxy::selectAudioMediaOption): |
| (WebKit::WebVideoFullscreenManagerProxy::selectLegibleMediaOption): |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline): |
| (WebKit::WebVideoFullscreenManagerProxy::videoLayerFrame): Deleted. |
| (WebKit::WebVideoFullscreenManagerProxy::videoLayerGravity): Deleted. |
| * WebProcess/ios/WebVideoFullscreenManager.messages.in: |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): |
| (WebKit::WebVideoFullscreenManager::exitVideoFullscreenForVideoElement): |
| (WebKit::WebVideoFullscreenManager::resetMediaState): |
| (WebKit::WebVideoFullscreenManager::setDuration): |
| (WebKit::WebVideoFullscreenManager::setCurrentTime): |
| (WebKit::WebVideoFullscreenManager::setBufferedTime): |
| (WebKit::WebVideoFullscreenManager::setRate): |
| (WebKit::WebVideoFullscreenManager::setVideoDimensions): |
| (WebKit::WebVideoFullscreenManager::setSeekableRanges): |
| (WebKit::WebVideoFullscreenManager::setCanPlayFastReverse): |
| (WebKit::WebVideoFullscreenManager::setAudioMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenManager::setLegibleMediaSelectionOptions): |
| (WebKit::WebVideoFullscreenManager::setExternalPlayback): |
| (WebKit::WebVideoFullscreenManager::play): |
| (WebKit::WebVideoFullscreenManager::pause): |
| (WebKit::WebVideoFullscreenManager::togglePlayState): |
| (WebKit::WebVideoFullscreenManager::beginScrubbing): |
| (WebKit::WebVideoFullscreenManager::endScrubbing): |
| (WebKit::WebVideoFullscreenManager::seekToTime): |
| (WebKit::WebVideoFullscreenManager::fastSeek): |
| (WebKit::WebVideoFullscreenManager::beginScanningForward): |
| (WebKit::WebVideoFullscreenManager::beginScanningBackward): |
| (WebKit::WebVideoFullscreenManager::endScanning): |
| (WebKit::WebVideoFullscreenManager::requestExitFullscreen): |
| (WebKit::WebVideoFullscreenManager::selectAudioMediaOption): |
| (WebKit::WebVideoFullscreenManager::selectLegibleMediaOption): |
| (WebKit::WebVideoFullscreenManager::fullscreenModeChanged): |
| (WebKit::WebVideoFullscreenManager::didSetupFullscreen): |
| (WebKit::WebVideoFullscreenManager::didEnterFullscreen): |
| (WebKit::WebVideoFullscreenManager::didExitFullscreen): |
| (WebKit::WebVideoFullscreenManager::didCleanupFullscreen): |
| (WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum): |
| (WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline): |
| (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): |
| (WebKit::WebVideoFullscreenManager::exitVideoFullscreen): Deleted. |
| |
| 2015-04-16 Beth Dakin <bdakin@apple.com> |
| |
| Force mouse events should go through normal mouse event handling code paths |
| https://bugs.webkit.org/show_bug.cgi?id=143749 |
| -and corresponding- |
| rdar://problem/20472895 |
| |
| Reviewed by Dean Jackson. |
| |
| This patch makes pressureChangeWithEvent create NativeWebMouseEvents with the |
| NSEventTypePressures that is gets and sends those down to the web process. |
| |
| Re-name pressureEvent to lastPressureEvent. Now that event can sometimes be an |
| NSEventTypePressure, the new name makes it clear how the second parameter differs |
| from the first. |
| * Shared/NativeWebMouseEvent.h: |
| |
| New event types for the new types of events. |
| * Shared/WebEvent.h: |
| * Shared/WebEventConversion.cpp: |
| (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): |
| * Shared/mac/NativeWebMouseEventMac.mm: |
| (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): |
| * Shared/mac/WebEventFactory.h: |
| |
| All of the square-peg, round-hole problems of massaging the NSEventTypePressures |
| events into WebMouseEvents is taken care of here. |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::mouseButtonForEvent): |
| (WebKit::globalPointForEvent): |
| (WebKit::pointForEvent): |
| (WebKit::WebEventFactory::createWebMouseEvent): |
| |
| Instead of calling the old inputDeviceForceDidChange, create a NativeWebMouseEvent |
| and handle it. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView pressureChangeWithEvent:]): |
| |
| Handle the new types. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didReceiveEvent): |
| |
| Can delete inputDeviceForceDidChange since it’s no longer used. |
| (WebKit::WebPageProxy::inputDeviceForceDidChange): Deleted. |
| * UIProcess/WebPageProxy.h: |
| |
| Handle the new types of mouse events properly. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::handleMouseEvent): |
| |
| Delete inputDeviceForceDidChange() and m_lastForceStage. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::inputDeviceForceDidChange): Deleted. |
| |
| Handle new WebEvent types. |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| |
| 2015-04-16 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/20575744> Also include a definition of __NSd_{current deployment target} in WKFoundation.h. |
| |
| Reviewed by Tim Horton. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-16 Timothy Horton <timothy_horton@apple.com> |
| |
| Provide a mechanism through the legacy SPI to know when swipe gestures begin and end |
| https://bugs.webkit.org/show_bug.cgi?id=143740 |
| <rdar://problem/20468540> |
| |
| Reviewed by Dan Bernstein. |
| |
| In the C SPI, add three WKPageLoaderClient callbacks for the three |
| navigation gesture events (did begin, will end, did end). |
| |
| * UIProcess/API/C/WKPageLoaderClient.h: |
| Add the callbacks. |
| |
| * UIProcess/API/APILoaderClient.h: |
| (API::LoaderClient::navigationGestureDidBegin): |
| (API::LoaderClient::navigationGestureWillEnd): |
| (API::LoaderClient::navigationGestureDidEnd): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::navigationGestureDidBegin): |
| (WebKit::WebPageProxy::navigationGestureWillEnd): |
| (WebKit::WebPageProxy::navigationGestureDidEnd): |
| Dispatch navigation gesture events to the loader client as well as |
| (after a bounce through the PageClient) the navigation delegate. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageLoaderClient): |
| Call the callbacks. |
| |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::trackSwipeGesture): |
| (WebKit::ViewGestureController::willEndSwipeGesture): |
| While we were already informing WebPageProxy of 'did begin' and 'did end' |
| navigation gesture events, we were missing 'will end'. Add it. |
| |
| 2015-04-16 Tim Horton <timothy_horton@apple.com> |
| |
| Dispatching multiple asynchronous animated resizes in parallel causes page scale to detach from reality |
| https://bugs.webkit.org/show_bug.cgi?id=143812 |
| <rdar://problem/19866038> |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| No cats in transaction (more of these below, too). |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::dynamicViewportSizeUpdate): |
| (WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::handleTap): |
| (WebKit::WebPage::commitPotentialTap): |
| (WebKit::WebPage::dynamicViewportSizeUpdate): |
| Add an incrementing ID to dynamicViewportSizeUpdates. The UI process keeps |
| the current ID, and it is bounced through the Web process (dynamicViewportSizeUpdates) |
| back to the UI process (dynamicViewportUpdateChangedTarget). If we have |
| dispatched another dynamicViewportSizeUpdate in the interim, ignore |
| the intermediate target. |
| |
| 2015-04-16 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Remove PluginController::isPluginVisible(). |
| https://bugs.webkit.org/show_bug.cgi?id=143830 |
| |
| Reviewed by Darin Adler. |
| |
| PluginController::isPluginVisible() was introduced by http://webkit.org/b/60285. |
| This method had been used only for WebKit2 on Windows, and no one uses it now. |
| So we can remove it. |
| |
| No new tests, no behavior change. |
| |
| * PluginProcess/PluginControllerProxy.cpp: |
| (WebKit::PluginControllerProxy::isPluginVisible): Deleted. |
| * PluginProcess/PluginControllerProxy.h: |
| * WebProcess/Plugins/PluginController.h: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::isPluginVisible): Deleted. |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2015-04-16 Gyuyoung Kim <gyuyoung.kim@webkit.org> |
| |
| [EFL] Disable a flaky ewk_context_network_process_model() API test |
| https://bugs.webkit.org/show_bug.cgi?id=143824 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| ewk_context_network_process_model has been often failed. Though Bug 142967 |
| was filed to fix this issue, it is not solved yet. To maintain EFL bot, this patch |
| disables it until fixing it. |
| |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: |
| (TEST_F): |
| |
| 2015-04-16 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [WK2] Forwarding headers generator shouldn't generate unnecessary headers |
| https://bugs.webkit.org/show_bug.cgi?id=143820 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Scripts/generate-forwarding-headers.pl: |
| (collectNeededHeaders): |
| |
| 2015-04-16 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [GTK] Run forwarding headers generator unconditionally |
| https://bugs.webkit.org/show_bug.cgi?id=143819 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformGTK.cmake: |
| |
| 2015-04-15 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac] Disable "Save to Downloads" option for local files |
| https://bugs.webkit.org/show_bug.cgi?id=143794 |
| |
| Reviewed by Tim Horton. |
| |
| Disable the Image and Media download options if the download |
| target is a local file. We can only download web resources; |
| anything else is actually a no-op. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForVideo]): |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| |
| 2015-04-15 Anders Carlsson <andersca@apple.com> |
| |
| Make websiteDataStore on WKWebViewConfiguration public |
| https://bugs.webkit.org/show_bug.cgi?id=143810 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration websiteDataStore]): |
| (-[WKWebViewConfiguration setWebsiteDataStore:]): |
| (-[WKWebViewConfiguration _websiteDataStore]): |
| (-[WKWebViewConfiguration _setWebsiteDataStore:]): |
| |
| 2015-04-15 Anders Carlsson <andersca@apple.com> |
| |
| Make WKWebsiteDataStore public |
| https://bugs.webkit.org/show_bug.cgi?id=143805 |
| |
| Reviewed by Dan Bernstein. |
| |
| Rename the current _WKWebsiteDataStore to WKWebsiteDataStore. Make init unavailable and tighten up the |
| types of the defaultDataStore and nonPersistentDataStore class methods. |
| |
| Add a new _WKWebsiteDataStore @interface and @implementation that derives from WKWebsiteDataStore |
| and forwards the defaultDataStore and nonPersistentDataStore method calls. |
| |
| * Shared/API/Cocoa/WebKit.h: |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _websiteDataStore]): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.h. |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.mm. |
| (+[WKWebsiteDataStore defaultDataStore]): |
| (+[WKWebsiteDataStore nonPersistentDataStore]): |
| (-[WKWebsiteDataStore dealloc]): |
| (-[WKWebsiteDataStore isNonPersistent]): |
| (toSystemClockTime): |
| (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| (-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| (toWebsiteDataRecords): |
| (-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| (-[WKWebsiteDataStore _apiObject]): |
| * UIProcess/API/Cocoa/WKWebsiteDataStoreInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h. |
| (WebKit::wrapper): |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (+[_WKWebsiteDataStore defaultDataStore]): |
| (+[_WKWebsiteDataStore nonPersistentDataStore]): |
| (-[_WKWebsiteDataStore dealloc]): Deleted. |
| (-[_WKWebsiteDataStore isNonPersistent]): Deleted. |
| (toWebsiteDataTypes): Deleted. |
| (toSystemClockTime): Deleted. |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): Deleted. |
| (-[_WKWebsiteDataStore _apiObject]): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-15 Timothy Horton <timothy_horton@apple.com> |
| |
| Custom CSS cursors do not use -webkit-image-set on retina displays |
| https://bugs.webkit.org/show_bug.cgi?id=120783 |
| |
| Reviewed by Beth Dakin. |
| Patch by Evan Wallace <evan.exe@gmail.com>. |
| |
| Serialize the cursor image scale for SetCursor messages so custom |
| CSS cursors work with -webkit-image-set on retina displays. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (CoreIPC::ArgumentCoder<Cursor>::encode): |
| (CoreIPC::ArgumentCoder<Cursor>::decode): |
| |
| 2015-04-15 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards CMake on Mac. |
| https://bugs.webkit.org/show_bug.cgi?id=143785 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * CMakeLists.txt: |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| |
| 2015-04-15 Anders Carlsson <andersca@apple.com> |
| |
| Make WKWebsiteDataRecord public |
| https://bugs.webkit.org/show_bug.cgi?id=143796 |
| |
| Reviewed by Dan Bernstein. |
| |
| Rename _WKWebsiteDataRecord and associated files to WKWebsiteDataRecord and |
| add a new _WKWebsiteDataRecord.h with a class @interface declaration that just |
| inherits from WKWebsiteDataRecord. We don't need an @implementation since nobody is expected |
| to allocate _WKWebsiteDataRecord objects. |
| |
| * Shared/API/Cocoa/WebKit.h: |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataRecord.h. |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm. |
| (-[WKWebsiteDataRecord dealloc]): |
| (dataTypesToString): |
| (-[WKWebsiteDataRecord description]): |
| (-[WKWebsiteDataRecord displayName]): |
| (-[WKWebsiteDataRecord dataTypes]): |
| (-[WKWebsiteDataRecord _apiObject]): |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h. |
| (WebKit::wrapper): |
| (WebKit::toWebsiteDataTypes): |
| (WebKit::toWKWebsiteDataTypes): |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWebsiteDataRecords): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-13 Jer Noble <jer.noble@apple.com> |
| |
| [Fullscreen] ChromeClient::exitVideoFullscreen() should take a pointer to a HTMLVideoElement. |
| https://bugs.webkit.org/show_bug.cgi?id=143674 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): Takes a reference. |
| (WebKit::WebChromeClient::exitVideoFullscreenForVideoElement): Renamed from exitVideoFullscreen(). |
| (WebKit::WebChromeClient::exitVideoFullscreen): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/ios/WebVideoFullscreenManager.h: |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Ditto. |
| (WebKit::WebVideoFullscreenManager::exitVideoFullscreenForVideoElement): Renamed from exitVideoFullscreen(). |
| (WebKit::WebVideoFullscreenManager::didEnterFullscreen): Pass a reference. |
| (WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Ditto. |
| (WebKit::WebVideoFullscreenManager::exitVideoFullscreen): Deleted. |
| |
| 2015-04-15 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Inline small body data to record file |
| https://bugs.webkit.org/show_bug.cgi?id=143783 |
| |
| Reviewed by Chris Dumez. |
| |
| We currently save all body data as separate files. We can improve space efficiency and do less reads and writes |
| by inlining smaller resource bodies with the header. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannel.h: |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::IOChannel::readSync): |
| (WebKit::NetworkCache::IOChannel::write): |
| |
| Add WorkQueue argument to allow specifying which queue the result is submitted to. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::decodeRecordMetaData): |
| |
| Add a boolean indicating whether the body is inlined. |
| |
| (WebKit::NetworkCache::decodeRecordHeader): |
| (WebKit::NetworkCache::Storage::decodeRecord): |
| (WebKit::NetworkCache::encodeRecordMetaData): |
| (WebKit::NetworkCache::Storage::storeBodyAsBlob): |
| (WebKit::NetworkCache::Storage::encodeRecord): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| |
| Read the record first, then read the blob if needed. |
| Submit the read operation directly from the main queue. Only thing we do is opening an IO channel |
| and that uses O_NONBLOCK. |
| Process the read results in the IO work queue where we now do the blob retrieval. |
| |
| (WebKit::NetworkCache::shouldStoreBodyAsBlob): |
| |
| The current threshold for saving a separate blob is 16KB. |
| |
| (WebKit::NetworkCache::Storage::dispatchWriteOperation): |
| (WebKit::NetworkCache::Storage::traverse): |
| (WebKit::NetworkCache::createRecord): Deleted. |
| (WebKit::NetworkCache::encodeRecordHeader): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2015-04-15 Tim Horton <timothy_horton@apple.com> |
| |
| Non-local keyboards don't update scroll view parameters |
| https://bugs.webkit.org/show_bug.cgi?id=143791 |
| <rdar://problem/18974020> |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| Fix the build. |
| |
| 2015-04-15 Tim Horton <timothy_horton@apple.com> |
| |
| Non-local keyboards don't update scroll view parameters |
| https://bugs.webkit.org/show_bug.cgi?id=143791 |
| <rdar://problem/18974020> |
| |
| Reviewed by Enrica Casucci. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _shouldUpdateKeyboardWithInfo:]): |
| (-[WKWebView _keyboardWillChangeFrame:]): |
| (-[WKWebView _keyboardWillShow:]): |
| Make sure that we update scroll view parameters (obscured insets, etc.) |
| if we have a non-local keyboard, in addition to the cases where we have an assisted node. |
| |
| 2015-04-15 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/20549298> No matching __NSi_ definition for postprocessed value of WK_{MAC,IOS}_TBA |
| https://bugs.webkit.org/show_bug.cgi?id=143786 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Added a placeholder for the postprocessing script to |
| insert a definition of __NSi_* for the current deployment target. Import CoreFoundation.h so |
| that we can check if the macro is already defined. |
| * WebKit2.xcodeproj/project.pbxproj: In the Postprocess WKFoundation.h script build phase, |
| replace the placeholder with a definition of __NSi_{current deployment target} if not |
| already defined. |
| |
| 2015-04-14 Anders Carlsson <andersca@apple.com> |
| |
| Make creating send rights from shared memory more robust |
| https://bugs.webkit.org/show_bug.cgi?id=143730 |
| rdar://problem/16595870 |
| |
| Reviewed by Darin Adler. |
| |
| This cleans up creation of handles and send rights and also fixes a bug where it would be impossible |
| to send more than 128 MB of shared memory in a single object. |
| |
| * Platform/SharedMemory.h: |
| * Platform/mac/SharedMemoryMac.cpp: |
| (WebKit::makeMemoryEntry): |
| New helper function that creates a memory entry send right. This uses MAP_MEM_VM_SHARE which ensures |
| that memory objects larger than 128 MB will be handled correctly. |
| |
| (WebKit::SharedMemory::create): |
| Call makeMemoryEntry. |
| |
| (WebKit::SharedMemory::createHandle): |
| Call createSendRight. |
| |
| (WebKit::SharedMemory::createSendRight): |
| Call makeMemoryEntry and add the necessary assertions. |
| |
| 2015-04-15 Eric Carlson <eric.carlson@apple.com> |
| |
| Generalize "isPlayingAudio" to include other media characteristics |
| https://bugs.webkit.org/show_bug.cgi?id=143713 |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (toGenericCallbackFunction): Scope CallbackBase. |
| (WKPageForceRepaint): Ditto. |
| (WKPageValidateCommand): Ditto. |
| (WKPageComputePagesForPrinting): Ditto. |
| |
| * UIProcess/API/Cocoa/_WKThumbnailView.mm: |
| (-[_WKThumbnailView _requestSnapshotIfNeeded]): Ditto. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView becomeFirstResponder]): Ditto. |
| (-[WKView updateFontPanelIfNeeded]): Ditto. |
| (-[WKView validateUserInterfaceItem:]): Ditto. |
| (-[WKView startSpeaking:]): Ditto. |
| (-[WKView selectedRangeWithCompletionHandler:]): Ditto. |
| (-[WKView markedRangeWithCompletionHandler:]): Ditto. |
| (-[WKView hasMarkedTextWithCompletionHandler:]): Ditto. |
| (-[WKView attributedSubstringForProposedRange:completionHandler:]): Ditto. |
| (-[WKView firstRectForCharacterRange:completionHandler:]): Ditto. |
| (-[WKView characterIndexForPoint:completionHandler:]): Ditto. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): Rename from isPlayingAudioDidChange. |
| (WebKit::WebPageProxy::isPlayingAudioDidChange): Deleted. |
| * UIProcess/WebPageProxy.h: |
| |
| * UIProcess/WebPageProxy.messages.in: |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController dealloc]): Scope CallbackBase. |
| (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto. |
| |
| * UIProcess/mac/WKPrintingView.mm: |
| (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ditto. |
| (-[WKPrintingView _askPageToComputePageRects]): Ditto. |
| (-[WKPrintingView _drawPreview:]): Ditto. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::setPluginIsPlayingAudio): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::isPlayingMediaDidChange): |
| (WebKit::WebChromeClient::isPlayingAudioDidChange): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2015-04-15 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Add thread-safe accessors for storage paths |
| https://bugs.webkit.org/show_bug.cgi?id=143668 |
| |
| Reviewed by Darin Adler. |
| |
| Less need to use StringCapture. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::dumpFilePath): |
| (WebKit::NetworkCache::Cache::storagePath): |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::makeRecordsDirectoryPath): |
| (WebKit::NetworkCache::Storage::Storage): |
| (WebKit::NetworkCache::Storage::basePath): |
| (WebKit::NetworkCache::Storage::versionPath): |
| (WebKit::NetworkCache::Storage::recordsPath): |
| (WebKit::NetworkCache::Storage::synchronize): |
| (WebKit::NetworkCache::Storage::remove): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::Storage::finishReadOperation): |
| (WebKit::NetworkCache::Storage::dispatchWriteOperation): |
| (WebKit::NetworkCache::Storage::traverse): |
| (WebKit::NetworkCache::Storage::clear): |
| (WebKit::NetworkCache::Storage::shrink): |
| (WebKit::NetworkCache::Storage::deleteOldVersions): |
| (WebKit::NetworkCache::makeRecordDirectoryPath): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::baseDirectoryPath): Deleted. |
| (WebKit::NetworkCache::Storage::directoryPath): Deleted. |
| |
| 2015-04-14 Tim Horton <timothy_horton@apple.com> |
| |
| Update gesture swipe shadow style |
| https://bugs.webkit.org/show_bug.cgi?id=143616 |
| <rdar://problem/19295843> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| For the modern shadow style, use a layer stretched along the edge of the swiping content |
| with the newly added PNGs as the layer contents. |
| |
| Add a dimming layer over the lower layer of content which fades in/out |
| during the swipe. |
| |
| (WebKit::ViewGestureController::handleSwipeGesture): |
| Fade the dimming layer in and out during the entire swipe. |
| Fade the shadow layer out during the last few pixels of the swipe. |
| |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| Unparent the new layers. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * Resources/SwipeShadow.png: |
| * Resources/SwipeShadow@2x.png: |
| Add the new resources. |
| |
| 2015-04-14 Brian Weinstein <bweinstein@apple.com> |
| |
| Add SPI to clear HSTS hosts added since a date. |
| https://bugs.webkit.org/show_bug.cgi?id=143726 |
| and |
| rdar://problem/16664597 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/C/mac/WKContextPrivateMac.h: |
| * UIProcess/API/C/mac/WKContextPrivateMac.mm: |
| (WKContextResetHSTSHostsAddedAfterDate): Call into the WebProcessPool. |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate): Call CFNetwork SPI to clear HSTS hosts added |
| after the given date. |
| * UIProcess/WebProcessPool.h: |
| |
| 2015-04-14 Anders Carlsson <andersca@apple.com> |
| |
| More work on making the SharedMemory interface more sane |
| https://bugs.webkit.org/show_bug.cgi?id=143718 |
| |
| Reviewed by Andreas Kling. |
| |
| Get rid of m_shouldVMDeallocateData. The idea is that shared memory created by calling |
| SharedMemory::allocate has a non-null m_data pointer, and a null m_port. Shared memory created |
| by calling SharedMemory::create with a pointer and a length has a non-null port but a null m_data |
| since the data can be unmapped by the caller and we don't want to hold on to dangling pointers. |
| |
| * Platform/SharedMemory.h: |
| (WebKit::SharedMemory::data): |
| * Platform/mac/SharedMemoryMac.cpp: |
| (WebKit::SharedMemory::allocate): |
| (WebKit::SharedMemory::create): |
| (WebKit::SharedMemory::map): |
| (WebKit::SharedMemory::~SharedMemory): |
| (WebKit::SharedMemory::createHandle): |
| |
| 2015-04-14 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Deduplicate body data |
| https://bugs.webkit.org/show_bug.cgi?id=143652 |
| |
| Reviewed by Darin Adler. |
| |
| It is common to have cache entries with identical body data. This happens when the same resource is loaded from |
| a different URL (https vs http, slash vs no-slash at end, etc.). It also happens when the same URL is |
| referenced from different cache partitions. |
| |
| We can improve disk space efficiency and use less memory by sharing identical body data between cache entries. |
| |
| This patch splits the body data out from the record file. The new record file contains meta data and response |
| headers only. Body data is stored using the new BlobStorage interface. Files are deduplicated by computing |
| SHA1 hash over the data and looking for an existing blob with the same hash. If found the existing entry |
| is reused by creating a hard link to it. |
| |
| The new disk structure looks like this: |
| |
| WebKitCache/ |
| Version 3/ |
| Blobs/ |
| 0A3C9A970ADA27FAE9BD7BC630BAD0B929C293C0 |
| 0A6B8060BA77DF92C82A2FD7AF58F79524D8F34C |
| ... |
| Records/ |
| apple.com/ |
| 0B8645B04E7EC78C178B7460052601C2 |
| 0B8645B04E7EC78C178B7460052601C2-body |
| 0CB1A3638D1C5A09C5E3283A74FA040B |
| 0CB1A3638D1C5A09C5E3283A74FA040B-body |
| ... |
| |
| Each record file has an associated -body which is a hard link to a file in the Blobs directory. |
| |
| The patch increases effective capacity by 10-20% with a typical cache. It also saves memory especially when identical |
| resources are used in multiple tabs. |
| |
| Currently all >0 sized resources are stored as shared blobs. In future small resources should be integrated into record |
| files and blobs used for larger files only. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::store): |
| (WebKit::NetworkCache::Cache::update): |
| |
| Adopt the new storage interface. |
| |
| (WebKit::NetworkCache::Cache::dumpContentsToFile): |
| * NetworkProcess/cache/NetworkCacheBlobStorage.cpp: Added. |
| (WebKit::NetworkCache::BlobStorage::BlobStorage): |
| (WebKit::NetworkCache::BlobStorage::synchronize): |
| |
| Compute size and delete unused files from the Blobs directory (link count == 1). |
| |
| (WebKit::NetworkCache::BlobStorage::blobPath): |
| (WebKit::NetworkCache::BlobStorage::add): |
| (WebKit::NetworkCache::BlobStorage::get): |
| |
| Interface for storing and retrieving data blobs. Blobs are deduplicated on add. |
| |
| (WebKit::NetworkCache::BlobStorage::remove): |
| |
| Removes the link but doesn't remove the blob even if there are no other clients. That happens on next synchronize(). |
| |
| (WebKit::NetworkCache::BlobStorage::shareCount): |
| |
| Checks the link count to get the number of clients. |
| |
| * NetworkProcess/cache/NetworkCacheBlobStorage.h: Added. |
| (WebKit::NetworkCache::BlobStorage::approximateSize): |
| * NetworkProcess/cache/NetworkCacheCoders.cpp: |
| (WebKit::NetworkCache::Coder<SHA1::Digest>::encode): |
| (WebKit::NetworkCache::Coder<SHA1::Digest>::decode): |
| * NetworkProcess/cache/NetworkCacheCoders.h: |
| * NetworkProcess/cache/NetworkCacheData.h: |
| (WebKit::NetworkCache::Data::isEmpty): |
| * NetworkProcess/cache/NetworkCacheDataCocoa.mm: |
| (WebKit::NetworkCache::Data::empty): |
| (WebKit::NetworkCache::Data::fromMap): |
| (WebKit::NetworkCache::mapFile): |
| (WebKit::NetworkCache::computeSHA1): |
| (WebKit::NetworkCache::bytesEqual): |
| |
| Add some helpers. |
| |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::asJSON): |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::IOChannel): |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::makeRecordDirectoryPath): |
| (WebKit::NetworkCache::makeBlobDirectoryPath): |
| (WebKit::NetworkCache::Storage::Storage): |
| (WebKit::NetworkCache::Storage::approximateSize): |
| (WebKit::NetworkCache::Storage::synchronize): |
| (WebKit::NetworkCache::partitionPathForKey): |
| (WebKit::NetworkCache::recordPathForKey): |
| (WebKit::NetworkCache::bodyPath): |
| (WebKit::NetworkCache::decodeRecordMetaData): |
| (WebKit::NetworkCache::decodeRecordHeader): |
| (WebKit::NetworkCache::createRecord): |
| (WebKit::NetworkCache::encodeRecordMetaData): |
| (WebKit::NetworkCache::encodeRecordHeader): |
| (WebKit::NetworkCache::Storage::remove): |
| (WebKit::NetworkCache::Storage::updateFileModificationTime): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| |
| Read both the blob and the record entry. |
| |
| (WebKit::NetworkCache::Storage::finishReadOperation): |
| |
| Factor to a function. |
| |
| (WebKit::NetworkCache::Storage::store): |
| (WebKit::NetworkCache::Storage::traverse): |
| (WebKit::NetworkCache::Storage::dispatchPendingWriteOperations): |
| (WebKit::NetworkCache::Storage::dispatchWriteOperation): |
| |
| We don't need separate full write and header write paths anymore. Everything is treated |
| as a full write and deduplication stops us writing the body again. |
| |
| This simplifies the code and data structures. |
| |
| (WebKit::NetworkCache::Storage::finishWriteOperation): |
| |
| Factor to a function. |
| |
| (WebKit::NetworkCache::Storage::clear): |
| (WebKit::NetworkCache::deletionProbability): |
| |
| Take the sharing count into account when computing deletion probability. |
| It is less useful to delete a record that shares its body with others as data won't get deleted. |
| |
| (WebKit::NetworkCache::Storage::shrinkIfNeeded): |
| (WebKit::NetworkCache::Storage::shrink): |
| (WebKit::NetworkCache::Storage::deleteOldVersions): |
| (WebKit::NetworkCache::directoryPathForKey): Deleted. |
| (WebKit::NetworkCache::filePathForKey): Deleted. |
| (WebKit::NetworkCache::openFileForKey): Deleted. |
| (WebKit::NetworkCache::decodeRecord): Deleted. |
| (WebKit::NetworkCache::Storage::update): Deleted. |
| |
| No need for separate update interface anymore. Regular store() avoids unnecessary body write. |
| |
| (WebKit::NetworkCache::Storage::dispatchFullWriteOperation): Deleted. |
| (WebKit::NetworkCache::Storage::dispatchHeaderWriteOperation): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-14 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION(r182603): [GTK] More than 500 crashes on the layout tests with the debug build. |
| https://bugs.webkit.org/show_bug.cgi?id=143715 |
| |
| Reviewed by Darin Adler. |
| |
| Enable assertions checking that calling editorState() does not cause a |
| synchronous layout only on Mac and iOS. This assertion does not |
| necessarily hold true on other ports as each one as its own |
| platformEditorState() implementation. In particular, this assertion |
| was being hit on GTK. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didChangeSelection): |
| |
| 2015-04-13 Alexey Proskuryakov <ap@apple.com> |
| |
| Build fixes after r182772. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _updateAutomaticallyComputedFixedLayoutSize]): Make a CGSize, not an NSSize. |
| (-[WKView _setAutomaticallyComputesFixedLayoutSizeFromViewScale:]): Moved implementation |
| to the correct place. |
| (-[WKView _automaticallyComputesFixedLayoutSizeFromViewScale]): Ditto. |
| (-[WKView _layoutMode]): Use a memeber from _data directly, not via a method. |
| |
| 2015-04-13 Alexey Proskuryakov <ap@apple.com> |
| |
| More build fix. |
| |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::setDragImage): |
| |
| 2015-04-13 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL][GTK] Fix build break after r182753 |
| https://bugs.webkit.org/show_bug.cgi?id=143689 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): |
| (IPC::Connection::sendOutgoingMessage): |
| * Platform/unix/SharedMemoryUnix.cpp: |
| (WebKit::SharedMemory::allocate): |
| (WebKit::accessModeMMap): |
| (WebKit::SharedMemory::map): |
| (WebKit::SharedMemory::create): Deleted. |
| |
| 2015-04-13 Alexey Proskuryakov <ap@apple.com> |
| |
| Build fix. |
| |
| * UIProcess/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setDragImage): |
| |
| 2015-04-13 Anders Carlsson <andersca@apple.com> |
| |
| Keep track of each shared memory object's protection when deciding whether to return our existing port |
| https://bugs.webkit.org/show_bug.cgi?id=143687 |
| |
| Reviewed by Tim Horton. |
| |
| * Platform/SharedMemory.h: |
| * Platform/mac/SharedMemoryMac.cpp: |
| (WebKit::machProtection): |
| (WebKit::SharedMemory::create): |
| (WebKit::SharedMemory::map): |
| (WebKit::SharedMemory::createHandle): |
| |
| 2015-04-13 Tim Horton <timothy_horton@apple.com> |
| |
| Add a persistent, fixed scale factor to make it easy to scale down WK(Web)Views |
| https://bugs.webkit.org/show_bug.cgi?id=143560 |
| <rdar://problem/16302047> |
| |
| Reviewed by Darin Adler. |
| |
| Add a new "view" scale factor to WKView and WKWebView. |
| |
| Unlike page scale (or "magnification" in the API), view scale: |
| - persists between page loads |
| - persists between Web process crashes |
| - is not user adjustable |
| - can reliably be < 1 |
| |
| The page scale and view scale are multiplied together whenever we push |
| a new page scale down into WebCore, so the implementation of view scale |
| is transparent to WebCore, and acts effectively as a constant multiplier |
| for the (user-adjustable) page scale factor. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::scaleView): |
| Add scaleView, which updates our cached viewScaleFactor and pushes it to the Web process. |
| |
| (WebKit::WebPageProxy::creationParameters): |
| Plumb viewScaleFactor through the page creation parameters. |
| |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::viewScaleFactor): Added. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| If the viewScaleFactor is not 1 at creation time, call scalePage with a page scale of 1. |
| Internally, scalePage will multiply in the viewScaleFactor and push it all to the Web process. |
| |
| (WebKit::WebPage::scalePage): |
| Multiply the page scale factor by the view scale factor before passing it to WebCore. |
| |
| (WebKit::WebPage::scalePageInViewCoordinates): |
| Early returns need to check the total scale, not just the new page scale. |
| |
| (WebKit::WebPage::totalScaleFactor): |
| The scale that we get back from WebCore::Page::pageScaleFactor is the product |
| of WebKit2's view and page scales. So, here we'll call that the totalScaleFactor. |
| (Might need a different name because it seems like "total" should include deviceScale too). |
| |
| (WebKit::WebPage::pageScaleFactor): |
| WebKit2's notion of the pageScaleFactor does not include the view scale, so |
| divide it out of WebCore's page scale. |
| |
| (WebKit::WebPage::scaleView): |
| Apply a new view scale, maintaining the current scroll position. |
| |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::viewScaleFactor): |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| Plumb viewScaleFactor through the page creation parameters. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _viewScale]): |
| (-[WKWebView _setViewScale:]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _viewScale]): |
| (-[WKView _setViewScale:]): |
| Push the new view scale to WebPage. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setAutomaticallyComputesFixedLayoutSizeFromViewScale:]): |
| (-[WKWebView _automaticallyComputesFixedLayoutSizeFromViewScale]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView setFrameSize:]): |
| (-[WKView _updateAutomaticallyComputedFixedLayoutSize]): |
| (-[WKView _setAutomaticallyComputesFixedLayoutSizeFromViewScale:]): |
| (-[WKView _automaticallyComputesFixedLayoutSizeFromViewScale]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| Add a new layout mode, "DynamicSizeComputedFromViewScale", |
| which turns on fixed layout size mode, and sets the fixed layout size |
| based on the view's frame and view scale. The fixed layout size is maintained |
| as the frame of the view scaled by the inverse of the view scale. This |
| makes it very easy to maintain a WK(Web)View that is scaled down by |
| a constant amount, but is laid out as if it were not. |
| |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom): |
| (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): |
| (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): |
| Because the transient zoom mechanism touches layers that WebCore owns, |
| it mostly need to operate with totalScaleFactor, because that is what WebCore sees. |
| |
| 2015-04-10 Brent Fulgham <bfulgham@apple.com> |
| |
| Expand test infrastructure to support scrolling tests |
| https://bugs.webkit.org/show_bug.cgi?id=143286 |
| <rdar://problem/20375516> |
| |
| Reviewed by Simon Fraser. |
| |
| Extend the WK2 testing API to include a method for setting a JSC callback function to be triggered |
| by the new WebCore::WheelEventTestTrigger singleton. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageStartMonitoringScrollOperations): WK2 method that causes the testing system to begin tracking wheel events. |
| (WKBundlePageRegisterScrollOperationCompletionCallback): WK2 method to set the callback function for testing. |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.h: |
| |
| 2015-04-13 Enrica Casucci <enrica@apple.com> |
| |
| Clients of WKWebView should be able to override drag functions. |
| https://bugs.webkit.org/show_bug.cgi?id=143618 |
| |
| Reviewed by Darin Adler. |
| |
| WKWebView now implements the drag protocol functions and |
| forwards the calls to the inner WKView. |
| In the page client, when we receive a request to start drag |
| from the WebProcess, we call _dragImageForView in WKView with |
| the target view. The function calls dragImage on the given view, |
| so that its clients can override the dragImage function. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView draggingEntered:]): |
| (-[WKWebView draggingUpdated:]): |
| (-[WKWebView draggingExited:]): |
| (-[WKWebView prepareForDragOperation:]): |
| (-[WKWebView performDragOperation:]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dragImageForView:withImage:at:linkDrag:]): |
| (-[WKView _setDragImage:at:linkDrag:]): Deleted. |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::setDragImage): |
| |
| 2015-04-13 Alex Christensen <achristensen@webkit.org> |
| |
| [iOS] Unreviewed build fix after r182760. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::encodeSharedBuffer): |
| (IPC::decodeSharedBuffer): |
| Update SharedMemory function names. |
| |
| 2015-04-13 Anders Carlsson <andersca@apple.com> |
| |
| Rename SharedMemory::create overloads |
| https://bugs.webkit.org/show_bug.cgi?id=143679 |
| |
| Reviewed by Beth Dakin. |
| |
| Rename the SharedMemory::create overload that allocates memory to SharedMemory::allocate, |
| and the SharedMemory::create overload that maps in a handle to SharedMemory::map. |
| |
| * Platform/SharedMemory.h: |
| * Platform/mac/SharedMemoryMac.cpp: |
| (WebKit::SharedMemory::allocate): |
| (WebKit::SharedMemory::map): |
| (WebKit::SharedMemory::create): Deleted. |
| * Shared/ShareableBitmap.cpp: |
| (WebKit::ShareableBitmap::createShareable): |
| (WebKit::ShareableBitmap::create): |
| * Shared/ShareableResource.cpp: |
| (WebKit::ShareableResource::create): |
| * Shared/ShareableResource.h: |
| * Shared/WebCompiledContentExtension.cpp: |
| (WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData): |
| * Shared/WebCompiledContentExtensionData.cpp: |
| (WebKit::WebCompiledContentExtensionData::decode): |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): |
| (WebKit::WebHitTestResult::Data::decode): |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::getPasteboardBufferForType): |
| (WebKit::WebPasteboardProxy::setPasteboardBufferForType): |
| * UIProcess/VisitedLinkProvider.cpp: |
| (WebKit::VisitedLinkProvider::resizeTable): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::dataSelectionForPasteboard): |
| (WebKit::WebPageProxy::setPromisedDataForImage): |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::writeItemsToPasteboard): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::bufferForType): |
| (WebKit::WebPlatformStrategies::setBufferForType): |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::declareAndWriteDragImage): |
| * WebProcess/WebPage/VisitedLinkTableController.cpp: |
| (WebKit::VisitedLinkTableController::setVisitedLinkTable): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::getDataSelectionForPasteboard): |
| |
| 2015-04-13 Brady Eidson <beidson@apple.com> |
| |
| Share sheets from Share menus appear outside the browser window. |
| <rdar://problem/20455592> and https://bugs.webkit.org/show_bug.cgi?id=143620 |
| |
| Reviewed by Darin Adler. |
| |
| Refactor existing Sharing Service Picker code to also be used for the Share menu NSMenuItem. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::internalShowContextMenu): |
| (WebKit::WebPageProxy::platformInitializeShareMenuItem): |
| * UIProcess/WebPageProxy.h: |
| |
| * UIProcess/mac/WKSharingServicePickerDelegate.h: Added. |
| * UIProcess/mac/WKSharingServicePickerDelegate.mm: Added. |
| (+[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate]): |
| (-[WKSharingServicePickerDelegate menuProxy]): |
| (-[WKSharingServicePickerDelegate setMenuProxy:]): |
| (-[WKSharingServicePickerDelegate setPicker:]): |
| (-[WKSharingServicePickerDelegate setFiltersEditingServices:]): |
| (-[WKSharingServicePickerDelegate setHandlesEditingReplacement:]): |
| (-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]): |
| (-[WKSharingServicePickerDelegate sharingServicePicker:delegateForSharingService:]): |
| (-[WKSharingServicePickerDelegate sharingService:willShareItems:]): |
| (-[WKSharingServicePickerDelegate sharingService:didShareItems:]): |
| (-[WKSharingServicePickerDelegate sharingService:sourceWindowForShareItems:sharingContentScope:]): |
| |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::setupServicesMenu): |
| (+[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate]): Deleted. |
| (-[WKSharingServicePickerDelegate menuProxy]): Deleted. |
| (-[WKSharingServicePickerDelegate setMenuProxy:]): Deleted. |
| (-[WKSharingServicePickerDelegate setPicker:]): Deleted. |
| (-[WKSharingServicePickerDelegate setIncludeEditorServices:]): Deleted. |
| (-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]): Deleted. |
| (-[WKSharingServicePickerDelegate sharingServicePicker:delegateForSharingService:]): Deleted. |
| (-[WKSharingServicePickerDelegate sharingService:willShareItems:]): Deleted. |
| (-[WKSharingServicePickerDelegate sharingService:didShareItems:]): Deleted. |
| (-[WKSharingServicePickerDelegate sharingService:sourceWindowForShareItems:sharingContentScope:]): Deleted. |
| |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::platformInitializeShareMenuItem): |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-13 Anders Carlsson <andersca@apple.com> |
| |
| Begin cleaning up the shared memory interface |
| https://bugs.webkit.org/show_bug.cgi?id=143677 |
| |
| Reviewed by Andreas Kling. |
| |
| Rename createFromVMBuffer to create and add a protection parameter (which is currently unused). |
| Also, turn SharedMemory::Protection into a proper enum class. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::store): |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::initializeBufferFromStorageRecord): |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: |
| (WebKit::tryGetShareableHandleFromCFData): |
| * Platform/SharedMemory.h: |
| * Platform/mac/SharedMemoryMac.cpp: |
| (WebKit::SharedMemory::create): |
| (WebKit::machProtection): |
| (WebKit::SharedMemory::createHandle): |
| (WebKit::SharedMemory::createFromVMBuffer): Deleted. |
| * Shared/ContextMenuContextData.cpp: |
| (WebKit::ContextMenuContextData::encode): |
| (WebKit::ContextMenuContextData::decode): |
| * Shared/ShareableBitmap.h: |
| * Shared/ShareableResource.cpp: |
| (WebKit::ShareableResource::create): |
| (WebKit::ShareableResource::createHandle): |
| * Shared/WebCompiledContentExtensionData.cpp: |
| (WebKit::WebCompiledContentExtensionData::encode): |
| (WebKit::WebCompiledContentExtensionData::decode): |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| * UIProcess/API/APIUserContentExtensionStore.cpp: |
| (API::createExtension): |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::getPasteboardBufferForType): |
| (WebKit::WebPasteboardProxy::setPasteboardBufferForType): |
| (WebKit::WebPasteboardProxy::readBufferFromPasteboard): |
| * UIProcess/VisitedLinkProvider.cpp: |
| (WebKit::VisitedLinkProvider::sendTable): |
| * UIProcess/mac/WKPrintingView.mm: |
| (pageDidDrawToImage): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::dataSelectionForPasteboard): |
| (WebKit::WebPageProxy::setPromisedDataForImage): |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::writeItemsToPasteboard): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::bufferForType): |
| (WebKit::WebPlatformStrategies::setBufferForType): |
| (WebKit::WebPlatformStrategies::readBufferFromPasteboard): |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::declareAndWriteDragImage): |
| * WebProcess/WebPage/VisitedLinkTableController.cpp: |
| (WebKit::VisitedLinkTableController::setVisitedLinkTable): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::takeSnapshot): |
| (WebKit::WebPage::drawRectToImage): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::getDataSelectionForPasteboard): |
| |
| 2015-04-10 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| Cannot click "Next" button on Google two-factor auth setup page |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=143624> |
| <rdar://problem/19175714> |
| |
| This issue occurs when this site focuses the submit button. When it |
| receives focus, we try to assist it. While we consider ourselves to be |
| assisting it, we ignore further gesture inputs for that node, including |
| the tap gesture. |
| |
| To fix this, only assist input types that we know are assistable, |
| including text fields, select and date elements, etc. |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (isAssistableInputType): |
| If the type is a known-assistable type, return true. |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): |
| Call isAssistableInputType() to determine whether we should do any kind |
| of assistance for this node. |
| |
| 2015-04-13 Beth Dakin <bdakin@apple.com> |
| |
| Add force property to MouseEvents |
| https://bugs.webkit.org/show_bug.cgi?id=143569 |
| -and corresponding- |
| rdar://problem/20472954 |
| |
| Reviewed by Darin Adler. |
| |
| In order to accommodate adding force to all PlatformMouseEvents, we have to add it |
| to pass a caches pressure event to NativeWebMouseEvent and add force to |
| WebMouseEvent. |
| |
| NativeWebMouseEvent now requires a second NSEvent for the pressureEvent. |
| * Shared/NativeWebMouseEvent.h: |
| |
| WebMouseEvent takes a force parameter. |
| * Shared/WebEvent.h: |
| (WebKit::WebMouseEvent::force): |
| * Shared/WebEventConversion.cpp: |
| (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): |
| * Shared/WebMouseEvent.cpp: |
| (WebKit::WebMouseEvent::WebMouseEvent): |
| (WebKit::WebMouseEvent::encode): |
| (WebKit::WebMouseEvent::decode): |
| * Shared/mac/NativeWebMouseEventMac.mm: |
| (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): |
| * Shared/mac/WebEventFactory.h: |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::WebEventFactory::createWebMouseEvent): |
| |
| Cache the most recent pressureEvent in _data so that it can be sent along to the |
| NativeWebMouseEvent constructor. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView pressureChangeWithEvent:]): |
| (-[WKView acceptsFirstMouse:]): |
| (-[WKView shouldDelayWindowOrderingForEvent:]): |
| (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| |
| WebMouseEvent takes a force parameter. |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::showContextMenuAtPoint): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::createWebEvent): |
| |
| MouseEvent and PlatformMouseEvent both take force parameters too. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::navigateToURLWithSimulatedClick): |
| (WebKit::WebPage::contextMenuAtPointInWindow): |
| (WebKit::WebPage::dragEnded): |
| (WebKit::WebPage::simulateMouseDown): |
| (WebKit::WebPage::simulateMouseUp): |
| (WebKit::WebPage::simulateMouseMotion): |
| |
| The functions that dispatch the force events no longer take a PlatformMouseEvent |
| as a parameter. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::inputDeviceForceDidChange): |
| (WebKit::WebPage::immediateActionDidCancel): |
| |
| 2015-04-13 Andreas Kling <akling@apple.com> |
| |
| Don't segregate heap objects based on Structure immortality. |
| <https://webkit.org/b/143638> |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/Plugins/Netscape/JSNPObject.h: |
| |
| 2015-04-13 Timothy Horton <timothy_horton@apple.com> |
| |
| javascript: links in inline PDFs shouldn't execute JavaScript in the context of the host website |
| https://bugs.webkit.org/show_bug.cgi?id=143642 |
| <rdar://problem/18259355> |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::clickedLink): |
| Don't follow javascript: URLs. |
| |
| 2015-04-10 Alex Christensen <achristensen@webkit.org> |
| |
| [Content Extensions] Don't unmap shared memory while using it. |
| https://bugs.webkit.org/show_bug.cgi?id=143625 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/WebCompiledContentExtension.cpp: |
| (WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData): |
| * Shared/WebCompiledContentExtensionData.h: |
| (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData): |
| * UIProcess/API/APIUserContentExtensionStore.cpp: |
| (API::createExtension): |
| Keep the Data object alive as long as the SharedMemory that uses it. |
| |
| 2015-04-12 Darin Adler <darin@apple.com> |
| |
| [Cocoa] Localizable strings are inconsistent and need to be regenerated |
| https://bugs.webkit.org/show_bug.cgi?id=143661 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/WebEditCommandProxy.cpp: |
| (WebKit::WebEditCommandProxy::nameForEditAction): Also added a comment |
| about the fact that we have two copies of all the localizable strings. |
| |
| 2015-04-12 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Fix trival typos related to the word "coordinate". |
| https://bugs.webkit.org/show_bug.cgi?id=143644 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| No new tests, no behavior change. |
| |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| * Shared/WebHitTestResult.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::lookupTextAtLocation): |
| |
| 2015-04-12 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Remove PluginModuleInfo.cpp from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=143643 |
| |
| Reviewed by Darin Adler. |
| |
| Remove PluginModuleInfo.cpp from WebKit2 because it is totally empty. |
| |
| No new tests, no behavior change. |
| |
| * CMakeLists.txt: |
| * Shared/Plugins/PluginModuleInfo.cpp: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-04-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Enable Symbol in web pages |
| https://bugs.webkit.org/show_bug.cgi?id=143375 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| |
| 2015-04-08 Sam Weinig <sam@webkit.org> |
| |
| Allow LaunchServices to handle URLs on link navigations |
| <rdar://problem/19446826> |
| https://bugs.webkit.org/show_bug.cgi?id=143544 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::tryAppLink): |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): |
| Only let LaunchServices have a crack at the URL if the navigation is: |
| 1) a main frame navigation |
| 2) a result of a user gesture |
| |
| 2015-04-10 Tim Horton <timothy_horton@apple.com> |
| |
| Replace setFixedLayoutSizeEnabled: with an enum of layout modes |
| https://bugs.webkit.org/show_bug.cgi?id=143576 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/C/WKLayoutMode.h: Added. |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _layoutMode]): |
| (-[WKWebView _setLayoutMode:]): |
| (-[WKWebView _isFixedLayoutEnabled]): Deleted. |
| (-[WKWebView _setFixedLayoutEnabled:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/_WKLayoutMode.h: Added. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _layoutMode]): |
| (-[WKView _setLayoutMode:]): |
| (-[WKView _isFixedLayoutEnabled]): Deleted. |
| (-[WKView _setFixedLayoutEnabled:]): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add enums for "layout mode". Currently we have two values: "ViewSize", |
| which is the normal behavior, and "FixedSize", which is fixed layout mode. |
| More values will come in the future. |
| |
| 2015-04-10 Anders Carlsson <andersca@apple.com> |
| |
| _WKWebsiteDataStore doesn't track and remove offline application cache entries |
| https://bugs.webkit.org/show_bug.cgi?id=143614 |
| rdar://problem/20243235 |
| |
| Reviewed by Andreas Kling. |
| |
| * Shared/WebsiteData/WebsiteDataTypes.h: |
| Add WebsiteDataTypeOfflineWebApplicationCache. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm: |
| (dataTypesToString): |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataTypes): |
| (WebKit::toWKWebsiteDataTypes): |
| Add WKWebsiteDataTypeOfflineWebApplicationCache. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| Create a custom application cache storage and fetch the origins from it. |
| |
| (WebKit::WebsiteDataStore::removeData): |
| Delete either all the cache entries (since we don't track time in the application cache), |
| or the ones specified by the given entries. |
| |
| 2015-04-10 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] Refactor MediaPlaybackTarget |
| https://bugs.webkit.org/show_bug.cgi?id=143571 |
| |
| Reviewed by Jer Noble. |
| |
| Pass a MediaPlaybackTargetContext across process boundary instead of a MediaPlaybackTarget. |
| * Shared/WebCoreArgumentCoders.h: |
| (IPC::ArgumentCoder<MediaPlaybackTargetContext>::encode): New. |
| (IPC::ArgumentCoder<MediaPlaybackTargetContext>::decode): New. |
| * Shared/mac/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData): New. |
| (IPC::ArgumentCoder<MediaPlaybackTargetContext>::decodePlatformData): New. |
| (IPC::ArgumentCoder<MediaPlaybackTarget>::encode): Deleted. |
| (IPC::ArgumentCoder<MediaPlaybackTarget>::decode): Deleted. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didChoosePlaybackTarget): Take a Ref<MediaPlaybackTarget>&&. |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::playbackTargetSelected): Take a Ref<MediaPlaybackTarget>&&. |
| |
| 2015-04-10 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| Fix some minor typos related to the WebProcessCreationParameter. |
| https://bugs.webkit.org/show_bug.cgi?id=143598 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| No new tests, no behavior change. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2015-04-09 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Add a HAVE(AVKIT) and use it |
| https://bugs.webkit.org/show_bug.cgi?id=143593 |
| |
| Reviewed by David Kilzer. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _mayAutomaticallyShowVideoOptimized]): Returned false if !HAVE(AVKIT). |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): Removed the check for < iOS 8.2. |
| (WebKit::WebPageProxy::reattachToWebProcess): Ditto. |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::create): Created a version of this function that returns nullptr if |
| the minimum required version of iOS is less than 8.2 or if !HAVE(AVKIT). |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Only called Settings::setAVKitEnabled(true) if HAVE(AVKIT). |
| |
| 2015-04-09 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| Use modern loops in WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=143302 |
| |
| Reviewed by Darin Adler. |
| |
| Use modern range for-loops in WebProcess. |
| |
| No new tests, no behavior change. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeConnection): |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::focusedWebPage): |
| (WebKit::WebProcess::webPageGroup): |
| (WebKit::WebProcess::setTextCheckerState): |
| (WebKit::WebProcess::resetAllGeolocationPermissions): |
| |
| 2015-04-09 Gordon Sheridan <gordon_sheridan@apple.com> |
| |
| Track IconDatabase retain counts for WebContent processes. Balance retain/releases for processes that terminate before successfully doing it themselves. |
| https://bugs.webkit.org/show_bug.cgi?id=143517. |
| |
| Reviewed by Brady Eidson. |
| |
| * UIProcess/WebIconDatabase.messages.in: |
| Move RetainIconForPageURL and ReleaseIconForPageURL messages to WebProcessProxy so they can be associated with the appropriate web process. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::connectionDidClose): |
| Call releaseRemainingIconsForPageURLs() to balance retains/releases for this process. |
| |
| (WebKit::WebProcessProxy::retainIconForPageURL): |
| Track retain counts for page URLs and call through to WebIconDatabase. |
| |
| (WebKit::WebProcessProxy::releaseIconForPageURL): |
| Ditto. |
| |
| (WebKit::WebProcessProxy::releaseRemainingIconsForPageURLs): |
| Call releaseIconForPageURL() once for each outstanding retain count, for each page URL. |
| |
| * UIProcess/WebProcessProxy.h: |
| Declare methods for retainIconForPageURL(), releaseIconForPageURL(), and releaseRemainingIconsForPageURLs(). |
| Declare hash map to track number of retains per page URL. |
| |
| * UIProcess/WebProcessProxy.messages.in: |
| Moved RetainIconForPageURL and ReleaseIconForPageURL messages here from WebIconDatabase. |
| |
| * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: |
| (WebKit::WebIconDatabaseProxy::retainIconForPageURL): |
| Modify the receiver of the message to be WebProcessProxy. |
| |
| (WebKit::WebIconDatabaseProxy::releaseIconForPageURL): |
| Ditto. |
| |
| 2015-04-09 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Regression(r182194): The NetworkProcess is calling the wrong memory pressure handler before suspending |
| https://bugs.webkit.org/show_bug.cgi?id=143575 |
| <rdar://problem/20484338> |
| |
| Reviewed by Andreas Kling. |
| |
| After r182194, the NetworkProcess is calling the memory pressure |
| handler before getting suspended to free-up as much memory as possible |
| at this point. |
| |
| However, we were calling the default memory pressure handling code |
| instead of the custom handler registered by the NetworkProcess. This |
| patch fixes the problem. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::lowMemoryHandler): |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| (WebKit::NetworkProcess::processWillSuspend): |
| * NetworkProcess/NetworkProcess.h: |
| |
| 2015-04-09 Brady Eidson <beidson@apple.com> |
| |
| REGRESSION (r182573): Action Menus no longer appear for WebKit2 views displaying an image |
| rdar://problem/20486551 and https://bugs.webkit.org/show_bug.cgi?id=143574 |
| |
| Reviewed by Brent Fulgham. |
| |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): Clear up a name scoping issue. |
| |
| 2015-04-09 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] editorState() should not cause a synchronous layout |
| https://bugs.webkit.org/show_bug.cgi?id=142536 |
| <rdar://problem/20041506> |
| |
| Reviewed by Enrica Casucci. |
| |
| platformEditorState() on iOS does a synchronous layout to compute some |
| of the EditorState members (e.g. caretRectAtStart / caretRectAtEnd). |
| This is bad for performance as this is called every time the selection |
| is changed (which happens for e.g. when you set the value of a focused |
| HTMLInputElement). |
| |
| This patch updates the behavior on iOS to only send a partial EditorState |
| on selection change so that the UIProcess gets most of the information |
| (the ones that do not require style recalc or layout) ASAP. A full Editor |
| state is then sent after the asynchronous layout is done. |
| |
| With this change, I see a 38% improvement on Speedometer (26.4 +/- 0.37 |
| -> 36.5 +/- 0.54) on iPhone 6 Plus. |
| |
| * Shared/EditorState.cpp: |
| (WebKit::EditorState::encode): |
| (WebKit::EditorState::decode): |
| (WebKit::EditorState::PostLayoutData::encode): |
| (WebKit::EditorState::PostLayoutData::decode): |
| * Shared/EditorState.h: |
| (WebKit::EditorState::EditorState): Deleted. |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _didCommitLayerTree:]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo): |
| (-[WKContentView webSelectionRects]): |
| (-[WKContentView _addShortcut:]): |
| (-[WKContentView selectedText]): |
| (-[WKContentView isReplaceAllowed]): |
| (-[WKContentView _promptForReplace:]): |
| (-[WKContentView _transliterateChinese:]): |
| (-[WKContentView textStylingAtPosition:inDirection:]): |
| (-[WKContentView canPerformAction:withSender:]): |
| (-[WKContentView _showDictionary:]): |
| (-[WKContentView _characterBeforeCaretSelection]): |
| (-[WKContentView _characterInRelationToCaretSelection:]): |
| (-[WKContentView _selectionAtDocumentStart]): |
| (-[WKContentView selectedTextRange]): |
| (-[WKContentView hasContent]): |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::didChangeSelectionAndUpdateLayout): |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::editorState): |
| (WebKit::WebPage::didChangeSelection): |
| (WebKit::WebPage::sendPostLayoutEditorStateIfNeeded): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/efl/WebPageEfl.cpp: |
| (WebKit::WebPage::platformEditorState): |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| (WebKit::WebPage::platformEditorState): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::platformEditorState): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::platformEditorState): |
| |
| 2015-04-09 Antti Koivisto <antti@apple.com> |
| |
| Network Cache: Crash in WebCore::CachedResource::tryReplaceEncodedData |
| https://bugs.webkit.org/show_bug.cgi?id=143562 |
| |
| Reviewed by Anders Carlsson. |
| |
| If another thread comes and truncates the file before we map it we end up with a map that crashes when accessed. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::IOChannel): |
| |
| When creating a new file unlink any existing file instead of using O_TRUNC. |
| |
| 2015-04-09 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL][GTK] WebKit2's generate-forwarding-headers.pl runs too many times |
| https://bugs.webkit.org/show_bug.cgi?id=142907 |
| |
| Unreviewed typo fix after r182595. |
| |
| * PlatformGTK.cmake: |
| |
| 2015-04-09 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL][GTK] WebKit2's generate-forwarding-headers.pl runs too many times |
| https://bugs.webkit.org/show_bug.cgi?id=142907 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * Scripts/generate-forwarding-headers.pl: Make it work with more path and platform arguments. |
| |
| 2015-04-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Exception in console and broken right click after attempting to show context menu in Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=143556 |
| |
| Reviewed by Brady Eidson. |
| |
| * Shared/mac/NativeContextMenuItem.mm: |
| (WebKit::NativeContextMenuItem::NativeContextMenuItem): |
| Add an ASSERT to immediately catch a menu item created with a nil native menu item. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::internalShowContextMenu): |
| Gracefully handle a null share context menu item. |
| |
| 2015-04-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac] Unreviewed test fix after r182584 |
| https://bugs.webkit.org/show_bug.cgi?id=143452 |
| |
| Correct bit comparison to use the correct value for the Control-key |
| |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::typeForEvent): |
| |
| 2015-04-08 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| [EFL] Create PageUIClientEfl after sending CreateWebPage message |
| https://bugs.webkit.org/show_bug.cgi?id=143514 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| UIProcess sends some messages to WebPage before WebPage is created. It makes some error logs on debug build. |
| So this patch moves the initialization of m_pageUIClient after calling WKViewInitialize(). |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::EwkView): |
| |
| 2015-04-08 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac] WebKit is not honoring OS preferences for secondary click behaviors |
| https://bugs.webkit.org/show_bug.cgi?id=143452 |
| <rdar://problem/20437483> |
| |
| Reviewed by Tim Horton. |
| |
| We cannot rely on the event's button number to decide behavior. The OS settings might have |
| mapped middle button to context menu, etc. Instead, we should ask the OS (via NSMenu) what |
| the proper button press behavior is. |
| |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::mouseButtonForEvent): Ask NSMenu what kind of button press we have received. |
| |
| 2015-04-08 Brady Eidson <beidson@apple.com> |
| |
| Expose the "Share" menu for links, images, and media. |
| <rdar://problem/20435340> and https://bugs.webkit.org/show_bug.cgi?id=143502 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/ContextMenuContextData.cpp: |
| (WebKit::ContextMenuContextData::ContextMenuContextData): |
| |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): |
| * Shared/WebHitTestResult.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::internalShowContextMenu): |
| |
| * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: |
| (WebKit::WebContextMenuClient::shareMenuItem): |
| * WebProcess/WebCoreSupport/WebContextMenuClient.h: |
| |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| (WebKit::WebContextMenuClient::shareSelectedTextMenuItem): Deleted. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2015-04-08 Anders Carlsson <andersca@apple.com> |
| |
| Add encoding and decoding of ints to WKRemoteObjectCoder |
| https://bugs.webkit.org/show_bug.cgi?id=143538 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/API/Cocoa/WKRemoteObjectCoder.mm: |
| (-[WKRemoteObjectEncoder encodeInt:forKey:]): |
| (-[WKRemoteObjectDecoder decodeIntForKey:]): |
| |
| 2015-04-08 Anders Carlsson <andersca@apple.com> |
| |
| Delete ApplicationCache static member functions |
| https://bugs.webkit.org/show_bug.cgi?id=143534 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: |
| (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): |
| (WebKit::WebApplicationCacheManager::deleteAllEntries): |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::clearApplicationCacheForOrigin): |
| (WebKit::InjectedBundle::appCacheUsageForOrigin): |
| |
| 2015-04-08 Enrica Casucci <enrica@apple.com> |
| |
| 32-bit build fix after r182554. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView resignFirstResponder]): |
| |
| 2015-04-08 Beth Dakin <bdakin@apple.com> |
| |
| Force events should not require preventDefault in order to fire |
| https://bugs.webkit.org/show_bug.cgi?id=143503 |
| -and corresponding- |
| rdar://problem/20458916 |
| |
| Reviewed by Tim Horton. |
| |
| We no longer need m_lastActionMenuHitTestPreventsDefault since we’ll always |
| dispatch the events to Element. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::inputDeviceForceDidChange): |
| (WebKit::WebPage::immediateActionDidCancel): |
| |
| 2015-04-08 Enrica Casucci <enrica@apple.com> |
| |
| Calling makeFirstResponder on WKWebView doesn't work. |
| https://bugs.webkit.org/show_bug.cgi?id=143482 |
| rdar://problem/20298166 |
| |
| Reviewed by Dan Bernstein. |
| |
| Adding forwarding of the responder status to the WKView. |
| We also need to avoid doing any cleanup in resignFirstResponder |
| if we know we are about to regain responder status again. |
| Same goes for becomeFirstResponder. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView becomeFirstResponder]): |
| (-[WKWebView acceptsFirstResponder]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView becomeFristResponder]): |
| (-[WKView resignFirstResponder]): |
| |
| 2015-04-07 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setFixedLayoutSize:]): |
| |
| 2015-04-07 Tim Horton <timothy_horton@apple.com> |
| |
| Expose and test fixedLayoutSize via modern WebKit SPI |
| https://bugs.webkit.org/show_bug.cgi?id=143500 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isFixedLayoutEnabled]): |
| (-[WKWebView _setFixedLayoutEnabled:]): |
| (-[WKWebView _fixedLayoutSize]): |
| (-[WKWebView _setFixedLayoutSize:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _isFixedLayoutEnabled]): |
| (-[WKView _setFixedLayoutEnabled:]): |
| (-[WKView _fixedLayoutSize]): |
| (-[WKView _setFixedLayoutSize:]): |
| Add API for adjusting the fixed layout size, and whether or not we use it. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): |
| Repair a mistake I made in r139822, where I brought odd TILED_BACKING_STORE-only |
| logic (which disables scrollbars if fixedLayoutSize is enabled) to the rest of the ports. |
| Put it back as TILED_BACKING_STORE-only. |
| |
| Persist the fixedLayoutSize through view creation; we already persist the enabled state, |
| but not the size, which doesn't make any sense. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::fixedLayoutSize): |
| * WebProcess/WebPage/WebPage.h: |
| Add a fixedLayoutSize() getter. |
| |
| 2015-04-07 Brady Eidson <beidson@apple.com> |
| |
| ContextMenuItem refactoring |
| https://bugs.webkit.org/show_bug.cgi?id=143485 |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/mac/NativeContextMenuItem.mm: |
| (WebKit::NativeContextMenuItem::NativeContextMenuItem): |
| |
| 2015-04-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a new setting, AntialiasedFontDilationEnabled, exposed via WK2. |
| https://bugs.webkit.org/show_bug.cgi?id=143495 |
| |
| Reviewed by Tim Horton. |
| |
| Exposed the antialiasedFontDilationEnabled setting via WK C SPI and Objective-C SPI. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetAntialiasedFontDilationEnabled): |
| (WKPreferencesGetAntialiasedFontDilationEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _antialiasedFontDilationEnabled]): |
| (-[WKPreferences _setAntialiasedFontDilationEnabled:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-04-07 Beth Dakin <bdakin@apple.com> |
| |
| Should only propagate pressure events with relevant phases |
| https://bugs.webkit.org/show_bug.cgi?id=143494 |
| -and corresponding- |
| rdar://problem/20453738 |
| |
| Reviewed by Tim Horton. |
| |
| We only care about the changed, began, and ended phases. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView pressureChangeWithEvent:]): |
| |
| 2015-04-07 Jer Noble <jer.noble@apple.com> |
| |
| Unreviewed build fix; make calls to new SPI conditional on iOS version. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame): |
| |
| 2015-04-06 Anders Carlsson <andersca@apple.com> |
| |
| Create the web inspector process pool lazily |
| https://bugs.webkit.org/show_bug.cgi?id=143456 |
| rdar://problem/20146520 |
| |
| Reviewed by Mark Lam. |
| |
| Add and implement WebInspectorProxy::isInspectorProcessPool instead of always creating the inspector process pool |
| when trying to determine if a given process pool is the inspector process pool. |
| |
| This should speed up initialization somewhat and avoid creating a storage manager for example. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::inspectorProcessPool): |
| (WebKit::WebInspectorProxy::isInspectorProcessPool): |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::getLaunchOptions): |
| |
| 2015-04-06 Brady Eidson <beidson@apple.com> |
| |
| Combine ActionMenuHitTestResult with WebHitTestResult |
| https://bugs.webkit.org/show_bug.cgi?id=143444 |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: Removed. |
| * Shared/mac/ActionMenuHitTestResult.mm: Removed. |
| |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| (WebKit::WebHitTestResult::Data::platformEncode): |
| (WebKit::WebHitTestResult::Data::platformDecode): |
| * Shared/WebHitTestResult.h: |
| * Shared/mac/WebHitTestResult.mm: Added. |
| (WebKit::WebHitTestResult::Data::platformEncode): |
| (WebKit::WebHitTestResult::Data::platformDecode): |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _didPerformActionMenuHitTest:forImmediateAction:contentPreventsDefault:userData:]): |
| (-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]): Deleted. |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didPerformActionMenuHitTest): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformActionMenuHitTest): |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willDestroyView:]): |
| (-[WKActionMenuController _clearActionMenuState]): |
| (-[WKActionMenuController didPerformActionMenuHitTest:userData:]): |
| (-[WKActionMenuController _hitTestResultDataImage]): |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| (-[WKActionMenuController _copyImage:]): |
| (-[WKActionMenuController _addImageToPhotos:]): |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| (-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]): |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]): |
| (-[WKActionMenuController _webHitTestResult]): |
| (-[WKActionMenuController _defaultMenuItems]): |
| (-[WKActionMenuController _hitTestResultImage]): Deleted. |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController willDestroyView:]): |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController didPerformActionMenuHitTest:contentPreventsDefault:userData:]): |
| (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]): |
| (-[WKImmediateActionController _webHitTestResult]): |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| (-[WKImmediateActionController _menuItemForDataDetectedText]): |
| (-[WKImmediateActionController _animationControllerForText]): |
| (-[WKImmediateActionController didPerformActionMenuHitTest:userData:]): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2015-04-06 Jer Noble <jer.noble@apple.com> |
| |
| Synchronize fullscreen animation between processes. |
| https://bugs.webkit.org/show_bug.cgi?id=143131 |
| |
| Reviewed by Simon Fraser. |
| |
| Support synchronize resizing by animating within the UIProcess. Since setVideoLayerFrameFenced() is now only |
| ever called from within a 0-duration transaction, make that the official contract of the function and wrap |
| the WebProcess side of that method in its own 0-duration transaction. |
| |
| * Platform/spi/ios/BackBoardServicesSPI.h: Added. |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Remember the initial rect. |
| (WebKit::WebVideoFullscreenManagerProxy::videoLayerFrame): Added; simple getter. |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame): Use a different synchronization fence primative. |
| Save the cached frame value. |
| (WebKit::WebVideoFullscreenManagerProxy::videoLayerGravity): Added; simple getter. |
| (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerGravity): Save the cached gravity value. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): Wrap in a 0-length transaction. |
| |
| 2015-04-06 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Regression(r182323): ASSERTION FAILED: WebCore::SQLiteDatabaseTracker::hasTransactionInProgress() in NetworkCache::Statistics::initialize() |
| https://bugs.webkit.org/show_bug.cgi?id=143451 |
| <rdar://problem/20437994> |
| |
| Reviewed by Anders Carlsson. |
| |
| Initialize WebProcess::m_webSQLiteDatabaseTracker and |
| NetworkProcess::m_webSQLiteDatabaseTracker in their respective class |
| constructors instead of doing it later in the initializeWebProcess() / |
| initializeNetworkProcess() methods. |
| |
| If we do it later, it can happen that the tracker gets set after |
| a SQLiteTransactionInProgressAutoCounter initialization and before |
| the actual transaction. When this happens, the |
| SQLiteTransactionInProgressAutoCounter variable fails to increment the |
| transaction count. Then when the transaction is executed, |
| SQLiteDatabaseTracker::hasTransactionInProgress() can return false. |
| This would lead to possible assertions on start up on iOS. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::NetworkProcess): |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/NetworkProcess.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::WebProcess::initializeConnection): |
| * WebProcess/WebProcess.h: |
| |
| 2015-04-06 Beth Dakin <bdakin@apple.com> |
| |
| https://trac.webkit.org/changeset/182338 introduced a build failure that I |
| attempted to fix with https://trac.webkit.org/changeset/182341 , but that disabled |
| the feature accidentally. This should do the right thing. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView pressureChangeWithEvent:]): |
| |
| 2015-04-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r182296. |
| https://bugs.webkit.org/show_bug.cgi?id=143448 |
| |
| This will disturb network cache efficacy logging, we should |
| reland this later. (Requested by cdumez__ on #webkit). |
| |
| Reverted changeset: |
| |
| "[WK2][NetworkCache] Drop HTTP method from NetworkCache::Key" |
| https://bugs.webkit.org/show_bug.cgi?id=143348 |
| http://trac.webkit.org/changeset/182296 |
| |
| 2015-04-06 Žan Doberšek <zdobersek@igalia.com> |
| |
| [WK2] API::Array::copy() should move the resulting Vector<> of copies into the Array::create() call |
| https://bugs.webkit.org/show_bug.cgi?id=143413 |
| |
| Reviewed by Darin Adler. |
| |
| Move the Vector<> object containing the copied elements into the Array::create() |
| call, avoiding copying all the elements again. |
| |
| While here, change the Vector<> parameters for Array::create() and the Array |
| constructor to rvalue references. This will ensure that the passed-in object |
| is moved into the Array::create() call if possible, or explicitly copied |
| otherwise. The constructor is moved into the header for inlining opportunities |
| and the unnecessary parameter in the create(Vector<>&&) method declaration |
| removed. |
| |
| * Shared/API/APIArray.cpp: |
| (API::Array::create): |
| (API::Array::copy): |
| (API::Array::Array): Deleted. |
| * Shared/API/APIArray.h: |
| |
| 2015-04-06 Žan Doberšek <zdobersek@igalia.com> |
| |
| UserScript, UserStyleSheet constructors should take in Vector<String> rvalues |
| https://bugs.webkit.org/show_bug.cgi?id=143411 |
| |
| Reviewed by Darin Adler. |
| |
| Move the whitelist and blacklist Vector<String> objects into the |
| UserScript and UserStyleSheet constructors in ArgumentCoder<T>::decode |
| functions. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<UserStyleSheet>::decode): |
| (IPC::ArgumentCoder<UserScript>::decode): |
| |
| 2015-04-05 Darin Adler <darin@apple.com> |
| |
| [Mac] Spins seen in WKSetApplicationInformationItem, so it should not be called on the main thread |
| https://bugs.webkit.org/show_bug.cgi?id=143423 |
| rdar://problem/18773785 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::origin): Factored out this helper function from updateActivePages below, so |
| the function below is easier to read. |
| (WebKit::WebProcess::updateActivePages): Refactored to use the new origin function. |
| Use dispatch_async to call WKSetApplicationInformationItem without blocking. |
| |
| 2015-04-05 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use constants of sqlite3 directly for status of SQL result in webdatabase |
| https://bugs.webkit.org/show_bug.cgi?id=143329 |
| |
| Reviewed by Darin Adler. |
| |
| In webdatabase, it has used own constant variables as well as using sqlite3 constants directly. |
| If sqlite3 constants are changed in the library, we should modify many files as well. Besides |
| it can cause to use if~else statement which consumes more cpu cycles compared to switch~case. |
| |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: |
| (WebKit::SQLiteIDBCursor::createSQLiteStatement): |
| (WebKit::SQLiteIDBCursor::resetAndRebindStatement): |
| (WebKit::SQLiteIDBCursor::bindArguments): |
| (WebKit::SQLiteIDBCursor::internalAdvanceOnce): |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: |
| (WebKit::createOrMigrateRecordsTableIfNecessary): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::executeSQLStatement): |
| (WebKit::NetworkCache::Statistics::initialize): |
| (WebKit::NetworkCache::Statistics::queryWasEverRequested): |
| (WebKit::NetworkCache::Statistics::addHashesToDatabase): |
| (WebKit::NetworkCache::Statistics::addStoreDecisionsToDatabase): |
| * UIProcess/Storage/LocalStorageDatabase.cpp: |
| (WebKit::LocalStorageDatabase::importItems): |
| (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems): |
| (WebKit::LocalStorageDatabase::databaseIsEmpty): |
| * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: |
| (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases): |
| (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers): |
| (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier): |
| (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier): |
| (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier): |
| * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp: |
| (webkitSoupCookieJarSqliteLoad): |
| (webkitSoupCookieJarSqliteInsertCookie): |
| (webkitSoupCookieJarSqliteDeleteCookie): |
| |
| 2015-04-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove "go ahead and" from comments |
| https://bugs.webkit.org/show_bug.cgi?id=143421 |
| |
| Reviewed by Darin Adler, Benjamin Poulain. |
| |
| Remove the phrase "go ahead and" from comments where it doesn't add |
| anything (which is almost all of them). |
| |
| * Platform/unix/EnvironmentUtilities.cpp: |
| (WebKit::EnvironmentUtilities::stripValuesEndingWithString): |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::didClose): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView insertText:replacementRange:]): |
| (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): |
| * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: |
| (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier): |
| |
| 2015-04-05 Antti Koivisto <antti@apple.com> |
| |
| Bloom filter should support longer hashes |
| https://bugs.webkit.org/show_bug.cgi?id=143419 |
| |
| Reviewed by Dan Bernstein. |
| |
| Use the hash digest directly in the contents filter instead of going via shortHash. |
| |
| * NetworkProcess/cache/NetworkCacheKey.h: |
| (WebKit::NetworkCache::Key::hash): |
| (WebKit::NetworkCache::Key::shortHash): Deleted. |
| (WebKit::NetworkCache::Key::toShortHash): Deleted. |
| |
| No longer needed. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::synchronize): |
| (WebKit::NetworkCache::Storage::addToContentsFilter): |
| (WebKit::NetworkCache::Storage::mayContain): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2015-04-05 Antti Koivisto <antti@apple.com> |
| |
| Network cache Bloom filter is too big |
| https://bugs.webkit.org/show_bug.cgi?id=143400 |
| |
| Follow-up: Fix an ineffective assert. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::setMaximumSize): Average resource size is closer to 50KB than 50MB. |
| |
| 2015-04-05 Antti Koivisto <antti@apple.com> |
| |
| Rename Cache::setMaximumSize to setCapacity |
| https://bugs.webkit.org/show_bug.cgi?id=143418 |
| |
| Reviewed by Dan Bernstein. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::setCapacity): |
| (WebKit::NetworkCache::Cache::setMaximumSize): Deleted. |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::retrieve): |
| (WebKit::NetworkCache::Storage::store): |
| (WebKit::NetworkCache::Storage::update): |
| (WebKit::NetworkCache::Storage::setCapacity): |
| (WebKit::NetworkCache::Storage::shrinkIfNeeded): |
| (WebKit::NetworkCache::Storage::shrink): |
| (WebKit::NetworkCache::Storage::setMaximumSize): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformSetCacheModel): |
| |
| 2015-04-04 Antti Koivisto <antti@apple.com> |
| |
| Network cache Bloom filter is too big |
| https://bugs.webkit.org/show_bug.cgi?id=143400 |
| |
| Reviewed by Chris Dumez. |
| |
| It is currently 1MB. |
| |
| This patch switches the cache from a counting filter (CountingBloomFilter) to a bit filter (BloomFilter). |
| |
| It also reduces the filter size from 2^20 to 2^18 elements which is good for ~26000 cache entries while |
| still keeping false positive rate below 1%. The current cache capacity allows around 4000 entries |
| with typical web contents. |
| |
| The new filter size is 32KB. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::Storage): |
| (WebKit::NetworkCache::Storage::synchronize): |
| |
| Turn initialization function into general purpose synchronization function. |
| |
| (WebKit::NetworkCache::Storage::addToContentsFilter): |
| |
| Collect newly added hashes so we don't miss entries that were added during synchronization. |
| |
| (WebKit::NetworkCache::Storage::mayContain): |
| (WebKit::NetworkCache::Storage::remove): |
| (WebKit::NetworkCache::Storage::retrieve): |
| (WebKit::NetworkCache::Storage::store): |
| (WebKit::NetworkCache::Storage::dispatchPendingWriteOperations): |
| (WebKit::NetworkCache::Storage::dispatchFullWriteOperation): |
| (WebKit::NetworkCache::Storage::dispatchHeaderWriteOperation): |
| (WebKit::NetworkCache::Storage::setMaximumSize): |
| (WebKit::NetworkCache::Storage::clear): |
| (WebKit::NetworkCache::Storage::shrinkIfNeeded): |
| (WebKit::NetworkCache::Storage::shrink): |
| |
| Non-counting Bloom filter does not support removals so this requires a new strategy. |
| |
| Shrink code now simply deletes entries. The filter is updated by calling synchronize() at the end. |
| While we could synchronize the filter during traversal it is better to just have one function for that. |
| |
| (WebKit::NetworkCache::Storage::initialize): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::mayContain): |
| (WebKit::NetworkCache::Storage::cacheMayContain): Deleted. |
| |
| 2015-04-04 Andy Estes <aestes@apple.com> |
| |
| [Content Filtering] Blocked page is not always displayed when it should be |
| https://bugs.webkit.org/show_bug.cgi?id=143410 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebFrameProxy.cpp: |
| (WebKit::WebFrameProxy::didStartProvisionalLoad): Stopped clearing m_contentFilterUnblockHandler here. |
| (WebKit::WebFrameProxy::didHandleContentFilterUnblockNavigation): Started doing it here instead. |
| |
| 2015-04-04 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cocoa] Add a way to temporarily disable the WebKit Network Cache for testing |
| https://bugs.webkit.org/show_bug.cgi?id=143392 |
| <rdar://problem/20315669> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add a way to temporarily disable the WebKit Network Cache for testing. |
| It will be used temporarily for comparing page load times with and |
| without the WebKit network disk cache enabled. |
| |
| This is in addition to the existing "WebKitNetworkCacheEnabled" |
| NSUserDefaults: |
| webkitNetworkCacheIsEnabled = [defaults boolForKey:WebKitNetworkCacheEnabledDefaultsKey] |
| && ![defaults boolForKey:WebKitNetworkCacheTemporarilyDisabledForTestingKey]; |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| |
| 2015-04-04 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r182215): Feedly crashes when closing article |
| https://bugs.webkit.org/show_bug.cgi?id=143405 |
| rdar://problem/20382734, rdar://problem/20395497 |
| |
| Reviewed by Tim Horton. |
| |
| Calling computeNonFastScrollableRegion() eagerly when scrollable areas come and go |
| is bad, because it can cause FrameView::layout() to get called in the middle of |
| RenderObject destruction, which leaves the render tree in a bad state. |
| |
| Fix by calling computeNonFastScrollableRegion() lazily, just before scrolling tree commit. |
| |
| AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged() now just sets |
| a flag to say that the non-fast region needs to be recomputed, and that schedules |
| a scrolling tree commit. When the commit happens, we recompute the region. If the |
| region didn't change, and no other changes are pending, there's no need to commit. |
| |
| * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: |
| (WebKit::RemoteScrollingCoordinator::buildTransaction): |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::flushLayers): Outdent #ifdefs. |
| |
| 2015-04-03 Beth Dakin <bdakin@apple.com> |
| |
| Attempted build fix. |
| |
| * UIProcess/API/mac/WKView.mm: |
| |
| 2015-04-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix the firing of the ReachedSessionRestorationRenderTreeSizeThreshold milestone on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=143394 |
| |
| Reviewed by Tim Horton. |
| |
| A client reshuffle at some point broke the dispatch of the ReachedSessionRestorationRenderTreeSizeThreshold |
| milestone. Fix by using WebPageProxy::didLayout() to fire the milestone. |
| |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::didCommitLayerTree): |
| |
| 2015-04-03 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=143387 |
| Improvements to webkitmouseforce web API |
| -and corresponding- |
| rdar://problem/20281808 |
| rdar://problem/20281853 |
| |
| Reviewed by Darin Adler. |
| |
| This patch: |
| 1. Dispatches webkitmouseforceup and webkitmouseforceclick at the right time. |
| 2. Dispatches webkitmouseforcechanged from mousedown all the way through through |
| mouseup. |
| 3. Uses force values from pressureChangeWithEvent instead of the immediate action |
| gesture recognizer. |
| |
| Listen for this NSResponder method, and pass the relevant info to WebPageProxy to |
| dispatch to the web process. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView pressureChangeWithEvent:]): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::inputDeviceForceDidChange): |
| (WebKit::WebPageProxy::immediateActionDidUpdate): |
| * UIProcess/WebPageProxy.h: |
| |
| The web process still needs to know when the immediate action gesture recognizer |
| is updating, but it doesn’t need the force information. That will come from |
| pressureChangeWithEvent. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]): |
| |
| Cache m_lastForceStage so that we can determine if we are |
| transitioning to a new stage. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| * WebProcess/WebPage/WebPage.h: |
| |
| New message for InputDeviceForceDidChange and modified message for |
| ImmediateActionDidUpdate |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| inputDeviceForceDidChange now takes care of dispatching mouseforcechanged, |
| mouseforcedown, mouseforceup, and mouseforceclick. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::inputDeviceForceDidChange): |
| |
| We still need to keep track of the ImmediateActionStages in WebCore::EventHandler |
| so that we can have the right default behavior on mouseup based on whether or not |
| that action began and was completed. (In other words, to ensure we don’t navigate |
| to a link after force clicking it.) |
| (WebKit::WebPage::immediateActionDidUpdate): |
| (WebKit::WebPage::immediateActionDidComplete): |
| |
| 2015-04-03 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| InjectedBundleNodeHandle::renderedImage() needs to be exposed from the Cocoa WebAPI layer. |
| https://bugs.webkit.org/show_bug.cgi?id=143341. |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: |
| (-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]): Expose rendered |
| image injected bundle API from the Cocoa layer. A node in the page can be |
| rendered to an NSImage on MacOS and to a UIImage on iOS. |
| |
| 2015-04-03 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] We should prevent NetworkProcess suspension while it has pending SQL transactions |
| https://bugs.webkit.org/show_bug.cgi?id=143278 |
| <rdar://problem/20180799> |
| |
| Reviewed by Anders Carlsson. |
| |
| Prevent NetworkProcess suspension while it has pending SQL transactions, |
| similarly to what we already did for WebProcesses. This patch moves the |
| WebSQLiteDatabaseTracker from WebProcess/ to Shared/ and make it usable |
| by the NetworkProcess class as well. |
| |
| Whenever there are locked files to due SQL transactions, the |
| NetworkProcess will send an IPC message to the NetworkProcessProxy |
| which will hold a background process assertion until the NetworkProcess' |
| SQL transactions are complete. This way, it is no longer possible for |
| the NetworkProcess to get suspended while SQL transactions are running |
| and a database file is locked. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/NetworkProcess.h: |
| * Shared/WebSQLiteDatabaseTracker.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp. |
| (WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker): |
| (WebKit::m_childProcessType): |
| (WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction): |
| (WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction): |
| (WebKit::WebSQLiteDatabaseTracker::hysteresisUpdated): |
| * Shared/WebSQLiteDatabaseTracker.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h. |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::didClose): |
| (WebKit::NetworkProcessProxy::setIsHoldingLockedFiles): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::WebProcess::initializeConnection): |
| * WebProcess/WebProcess.h: |
| |
| 2015-04-03 Antti Koivisto <antti@apple.com> |
| |
| Add non-counting Bloom filter implementation |
| https://bugs.webkit.org/show_bug.cgi?id=143366 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2015-04-03 Zan Dobersek <zdobersek@igalia.com> |
| |
| Fix the EFL and GTK build after r182243 |
| https://bugs.webkit.org/show_bug.cgi?id=143361 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * PlatformGTK.cmake: Add a custom command that copies the |
| InspectorBackendCommands.js file into the proper directory |
| under DerivedSources/WebInspectorUI/. |
| |
| 2015-04-03 Philippe Normand <pnormand@igalia.com> |
| |
| Unreviewed, GTK build fix. |
| |
| * UIProcess/API/gtk/WebKitContextMenuClient.cpp: |
| * UIProcess/gtk/WebContextMenuProxyGtk.cpp: |
| * UIProcess/gtk/WebContextMenuProxyGtk.h: |
| |
| 2015-04-02 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Typo fix. |
| |
| * PlatformGTK.cmake: |
| |
| 2015-04-02 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r182303, stub NativeContextMenuItem implemetations added for EFL and GTK. |
| |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * Shared/efl/NativeContextMenuItemEfl.cpp: Added. |
| (WebKit::NativeContextMenuItem::NativeContextMenuItem): |
| * Shared/gtk/NativeContextMenuItemGtk.cpp: Added. |
| (WebKit::NativeContextMenuItem::NativeContextMenuItem): |
| |
| 2015-04-02 Timothy Horton <timothy_horton@apple.com> |
| |
| De-PLATFORM(IOS)-ify LayerHostingContext::setFencePort |
| https://bugs.webkit.org/show_bug.cgi?id=143342 |
| |
| * Platform/mac/LayerHostingContext.h: |
| * Platform/mac/LayerHostingContext.mm: |
| Actually, not available on Mavericks. Fix the build. |
| |
| 2015-04-02 Brady Eidson <beidson@apple.com> |
| |
| Unreviewed: Re-applied change after rollout. |
| |
| Expose the "Share" menu for text selections on platforms where it's available. |
| rdar://problem/20034174 and https://bugs.webkit.org/show_bug.cgi?id=143318 |
| |
| * Shared/API/c/WKContextMenuItemTypes.h: Add a constant for the Share menu. |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toAPI): |
| (WebKit::toImpl): |
| |
| * Shared/ContextMenuContextData.cpp: |
| (WebKit::ContextMenuContextData::ContextMenuContextData): |
| (WebKit::ContextMenuContextData::encode): |
| (WebKit::ContextMenuContextData::decode): |
| * Shared/ContextMenuContextData.h: |
| (WebKit::ContextMenuContextData::selectedText): |
| |
| Add a "cross platform" menu item wrapper, right now only for NSMenuItem. |
| * Shared/NativeContextMenuItem.h: |
| (WebKit::NativeContextMenuItem::~NativeContextMenuItem): |
| (WebKit::NativeContextMenuItem::nsMenuItem): |
| * Shared/mac/NativeContextMenuItem.mm: |
| (WebKit::NativeContextMenuItem::NativeContextMenuItem): |
| |
| Let WebContextMenuItem hold on to a NativeContextMenuItem to maintain full fidelity of the platform. |
| * Shared/WebContextMenuItem.cpp: |
| (WebKit::WebContextMenuItem::WebContextMenuItem): |
| * Shared/WebContextMenuItem.h: |
| (WebKit::WebContextMenuItem::create): |
| (WebKit::WebContextMenuItem::nativeContextMenuItem): |
| |
| * UIProcess/API/APIContextMenuClient.h: |
| (API::ContextMenuClient::getContextMenuFromProposedMenu): |
| (API::ContextMenuClient::showContextMenu): |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageContextMenuClient): |
| |
| * UIProcess/WebContextMenuProxy.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::internalShowContextMenu): Translate the placeholder item from the web process into the |
| native Share menu before consulting the context menu client. Also create the API items here so the native NSMenuItem |
| can be attached to them. |
| |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (-[WKMenuTarget forwardContextMenuAction:]): |
| (WebKit::nsMenuItem): |
| (WebKit::nsMenuItemVector): |
| (WebKit::WebContextMenuProxyMac::populate): |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| * WebProcess/WebCoreSupport/WebContextMenuClient.h: |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| (WebKit::WebContextMenuClient::shareSelectedTextMenuItem): In the web process, mark the Share menu's place in the |
| context menu with a placeholder item. It will be translated into the real Share menu in the UI process. |
| |
| 2015-04-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r182293. |
| https://bugs.webkit.org/show_bug.cgi?id=143355 |
| |
| Broke GTK and EFL builds. (Requested by bfulgham on #webkit). |
| |
| Reverted changeset: |
| |
| "Expose the "Share" menu for text selections on platforms |
| where it's available." |
| https://bugs.webkit.org/show_bug.cgi?id=143318 |
| http://trac.webkit.org/changeset/182293 |
| |
| 2015-04-02 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] Drop HTTP method from NetworkCache::Key |
| https://bugs.webkit.org/show_bug.cgi?id=143348 |
| |
| Reviewed by Antti Koivisto. |
| |
| Drop HTTP method from NetworkCache::Key as we only cache GET responses |
| for now. Even when we start caching HEAD responses, we likely will not |
| want the method to be part of the key because: |
| - A HEAD response can be used to update the headers of a previously cached response to GET |
| - A cached GET response may be used to satisfy subsequent HEAD requests |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::makeCacheKey): |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::NetworkCache::Key::Key): |
| (WebKit::NetworkCache::Key::operator=): |
| (WebKit::NetworkCache::Key::computeHash): |
| (WebKit::NetworkCache::Key::operator==): |
| (WebKit::NetworkCache::Key::encode): |
| (WebKit::NetworkCache::Key::decode): |
| * NetworkProcess/cache/NetworkCacheKey.h: |
| (WebKit::NetworkCache::Key::method): Deleted. |
| |
| 2015-04-02 Jer Noble <jer.noble@apple.com> |
| |
| [Mac][WK2] Fullscreen animation incorrect when initiated on non-primary monitor |
| https://bugs.webkit.org/show_bug.cgi?id=143237 |
| |
| Reviewed by Brent Fulgham. |
| |
| The animation calculations have an implicit assumptions of a screen whose origin is 0,0. Account |
| for the screen origin by passing the window's screen's frame into the zoomAnimation() and maskAnimation() |
| methods. |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController initWithWindow:webView:]): |
| (zoomAnimation): |
| (maskAnimation): |
| (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): |
| (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): |
| |
| 2015-04-02 Brady Eidson <beidson@apple.com> |
| |
| Expose the "Share" menu for text selections on platforms where it's available. |
| rdar://problem/20034174 and https://bugs.webkit.org/show_bug.cgi?id=143318 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/c/WKContextMenuItemTypes.h: Add a constant for the Share menu. |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toAPI): |
| (WebKit::toImpl): |
| |
| * Shared/ContextMenuContextData.cpp: |
| (WebKit::ContextMenuContextData::ContextMenuContextData): |
| (WebKit::ContextMenuContextData::encode): |
| (WebKit::ContextMenuContextData::decode): |
| * Shared/ContextMenuContextData.h: |
| (WebKit::ContextMenuContextData::selectedText): |
| |
| Add a "cross platform" menu item wrapper, right now only for NSMenuItem. |
| * Shared/NativeContextMenuItem.h: |
| (WebKit::NativeContextMenuItem::~NativeContextMenuItem): |
| (WebKit::NativeContextMenuItem::nsMenuItem): |
| * Shared/mac/NativeContextMenuItem.mm: |
| (WebKit::NativeContextMenuItem::NativeContextMenuItem): |
| |
| Let WebContextMenuItem hold on to a NativeContextMenuItem to maintain full fidelity of the platform. |
| * Shared/WebContextMenuItem.cpp: |
| (WebKit::WebContextMenuItem::WebContextMenuItem): |
| * Shared/WebContextMenuItem.h: |
| (WebKit::WebContextMenuItem::create): |
| (WebKit::WebContextMenuItem::nativeContextMenuItem): |
| |
| * UIProcess/API/APIContextMenuClient.h: |
| (API::ContextMenuClient::getContextMenuFromProposedMenu): |
| (API::ContextMenuClient::showContextMenu): |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageContextMenuClient): |
| |
| * UIProcess/WebContextMenuProxy.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::internalShowContextMenu): Translate the placeholder item from the web process into the |
| native Share menu before consulting the context menu client. Also create the API items here so the native NSMenuItem |
| can be attached to them. |
| |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (-[WKMenuTarget forwardContextMenuAction:]): |
| (WebKit::nsMenuItem): |
| (WebKit::nsMenuItemVector): |
| (WebKit::WebContextMenuProxyMac::populate): |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| * WebProcess/WebCoreSupport/WebContextMenuClient.h: |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| (WebKit::WebContextMenuClient::shareSelectedTextMenuItem): In the web process, mark the Share menu's place in the |
| context menu with a placeholder item. It will be translated into the real Share menu in the UI process. |
| |
| 2015-04-02 Timothy Horton <timothy_horton@apple.com> |
| |
| De-PLATFORM(IOS)-ify LayerHostingContext::setFencePort |
| https://bugs.webkit.org/show_bug.cgi?id=143342 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| * Platform/mac/LayerHostingContext.h: |
| * Platform/mac/LayerHostingContext.mm: |
| (WebKit::LayerHostingContext::setFencePort): |
| There's nothing iOS specific about this. |
| |
| 2015-04-02 Oliver Hunt <oliver@apple.com> |
| |
| Ensure that we always set network ATS context in the network process |
| https://bugs.webkit.org/show_bug.cgi?id=143343 |
| |
| Reviewed by Dan Bernstein. |
| |
| If a custom cache location or size we were early returning before setting |
| the CFNetwork ATS context. This is clearly an error. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| |
| 2015-04-02 Alexey Proskuryakov <ap@apple.com> |
| |
| Make checkURLReceivedFromWebProcess not rely on details of platform URL implementation. |
| https://bugs.webkit.org/show_bug.cgi?id=143222 |
| rdar://problem/19978997 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): |
| |
| 2015-04-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Clean up EnumerationMode to easily extend |
| https://bugs.webkit.org/show_bug.cgi?id=143276 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Use default EnumerationMode(). |
| |
| * WebProcess/Plugins/Netscape/NPJSObject.cpp: |
| (WebKit::NPJSObject::enumerate): |
| |
| 2015-04-02 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Update the WebContent process' sandbox profile for AWD |
| https://bugs.webkit.org/show_bug.cgi?id=143340 |
| <rdar://problem/20375170> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Update the WebContent process' sandbox profile for AWD. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2015-04-01 Antti Koivisto <antti@apple.com> |
| |
| Use std::chrono types to represent time in response and cache classes |
| https://bugs.webkit.org/show_bug.cgi?id=143316 |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::responseHasExpired): |
| (WebKit::NetworkCache::responseNeedsRevalidation): |
| (WebKit::NetworkCache::makeStoreDecision): |
| (WebKit::NetworkCache::Cache::store): |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::Entry): |
| (WebKit::NetworkCache::Entry::asJSON): |
| * NetworkProcess/cache/NetworkCacheEntry.h: |
| (WebKit::NetworkCache::Entry::timeStamp): |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::decodeRecordMetaData): |
| (WebKit::NetworkCache::decodeRecord): |
| |
| Sanity check the timestamp on decode. |
| |
| (WebKit::NetworkCache::encodeRecordMetaData): |
| (WebKit::NetworkCache::encodeRecordHeader): |
| (WebKit::NetworkCache::Storage::traverse): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::lastModifiedDateMS): |
| (WebKit::PluginView::Stream::didReceiveResponse): |
| (WebKit::PluginView::manualLoadDidReceiveResponse): |
| (WebKit::lastModifiedDate): Deleted. |
| |
| 2015-04-01 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cocoa] Add didFailProvisionalLoadWithErrorForFrame callback to WKWebProcessPlugInLoadDelegate |
| https://bugs.webkit.org/show_bug.cgi?id=143319 |
| <rdar://problem/19463834> |
| |
| Reviewed by Dan Bernstein. |
| |
| Add didFailProvisionalLoadWithErrorForFrame callback to |
| WKWebProcessPlugInLoadDelegate so that the client side can track all |
| types page load completions: |
| - didFailProvisionalLoadWithErrorForFrame |
| - didFailLoadWithErrorForFrame |
| - didFinishLoadForFrame |
| |
| Note that this event is already exposed on UIProcess side via the |
| WKPageLoaderClient.didFailLoadWithErrorForFrame callback. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (didFailProvisionalLoadWithErrorForFrame): |
| (setUpPageLoaderClient): |
| |
| 2015-04-01 Enrica Casucci <enrica@apple.com> |
| |
| Injected bundle messages should be at the page level. |
| https://bugs.webkit.org/show_bug.cgi?id=143283 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| All the messages between the injected bundle and the UI |
| process should be page level messages instead of context. |
| The author of this patch is Tim Horton, I just finished it. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageInjectedBundleClient): |
| * UIProcess/API/C/WKPage.h: |
| * UIProcess/API/C/WKPageInjectedBundleClient.h: Added. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _pageForTesting]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/WebPageInjectedBundleClient.cpp: Added. |
| (WebKit::WebPageInjectedBundleClient::didReceiveMessageFromInjectedBundle): |
| (WebKit::WebPageInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle): |
| * UIProcess/WebPageInjectedBundleClient.h: Added. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setInjectedBundleClient): |
| (WebKit::WebPageProxy::handleMessage): |
| (WebKit::WebPageProxy::handleSynchronousMessage): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::injectedBundleClient): |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::handleMessage): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * CMakeLists.txt: |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePagePostMessage): |
| (WKBundlePagePostSynchronousMessage): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::postMessage): |
| (WebKit::WebPage::postSynchronousMessage): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2015-04-01 Alexey Proskuryakov <ap@apple.com> |
| |
| [iOS] WebContent should have access to the entirety of its caches directory |
| https://bugs.webkit.org/show_bug.cgi?id=143312 |
| rdar://problem/20314916 |
| |
| Reviewed by Oliver Hunt. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| * Shared/Network/NetworkProcessCreationParameters.cpp: |
| (WebKit::NetworkProcessCreationParameters::encode): |
| (WebKit::NetworkProcessCreationParameters::decode): |
| * Shared/Network/NetworkProcessCreationParameters.h: |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::networkingCachesDirectory): |
| (WebKit::WebProcessPool::webContentCachesDirectory): |
| (WebKit::WebProcessPool::openGLCacheDirectory): Deleted. |
| (WebKit::WebProcessPool::networkingHSTSDatabasePath): Deleted. |
| (WebKit::WebProcessPool::webContentHSTSDatabasePath): Deleted. |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureNetworkProcess): |
| (WebKit::WebProcessPool::createNewWebProcess): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2015-04-01 Timothy Horton <timothy_horton@apple.com> |
| |
| Smart magnification gesture sometimes shoots to the middle of the page |
| https://bugs.webkit.org/show_bug.cgi?id=143296 |
| <rdar://problem/18209280> |
| |
| Reviewed by Dean Jackson. |
| |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture): |
| Constrain the target rect to the viewport, and if it had overflowed the viewport, |
| scroll halfway towards the gesture origin. |
| |
| 2015-03-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove scrolling tree dependency on wheel event handler counts, and use fast scrolling even when there are wheel handlers |
| https://bugs.webkit.org/show_bug.cgi?id=143288 |
| rdar://problem/16049624 |
| |
| Reviewed by Beth Dakin. |
| |
| Remove the wheel event counting that Document does, and passes into the scrolling tree. |
| The ScrollingTree now just uses the non-fast scrollable region to determine when to |
| fast scroll on pages with wheel event handlers. |
| |
| If a handler includes position:fixed renderers, we just cover the whole document |
| with the slow-scrolling region currently. This could be improved. |
| |
| * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: |
| (ArgumentCoder<ScrollingStateFrameScrollingNode>::encode): |
| (ArgumentCoder<ScrollingStateFrameScrollingNode>::decode): |
| (WebKit::RemoteScrollingTreeTextStream::dump): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::wheelEventHandlersChanged): |
| (WebKit::WebChromeClient::numWheelEventHandlersChanged): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::WebPage::wheelEventHandlersChanged): |
| (WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState): |
| (WebKit::WebPage::numWheelEventHandlersChanged): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2015-03-31 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/20365675> [iOS] Include Add to Reading List link action only where supported |
| https://bugs.webkit.org/show_bug.cgi?id=143289 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/_WKElementAction.h: Excluded _WKElementActionTypeAddToReadingList from |
| the _WKElementActionType enum when Reading List is not supported. |
| |
| * UIProcess/API/Cocoa/_WKElementAction.mm: |
| (+[_WKElementAction elementActionWithType:customTitle:]): Made Add to Reading List code |
| conditional on HAVE(SAFARI_SERVICES_FRAMEWORK). |
| |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showImageSheet]): Ditto. |
| (-[WKActionSheetAssistant showLinkSheet]): Ditto. |
| |
| * config.h: Defined HAVE_SAFARI_SERVICES_FRAMEWORK. |
| |
| 2015-03-31 Timothy Horton <timothy_horton@apple.com> |
| |
| TextIndicator for <span> inside an <a> only highlights the <span>, should highlight the whole <a> |
| https://bugs.webkit.org/show_bug.cgi?id=143287 |
| <rdar://problem/20318342> |
| |
| Reviewed by Beth Dakin. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Instead of just highlighting the hit element, highlight the whole |
| element that the link URL comes from. |
| |
| 2015-03-31 Timothy Horton <timothy_horton@apple.com> |
| |
| WKView should stop using endGestureWithEvent |
| https://bugs.webkit.org/show_bug.cgi?id=143285 |
| <rdar://problem/20357007> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView magnifyWithEvent:]): |
| (-[WKView endGestureWithEvent:]): Deleted. |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::endMagnificationGesture): |
| (WebKit::ViewGestureController::endActiveGesture): Deleted. |
| While there is no visible symptom, it is recommended that we check |
| the phase of normal magnification events instead of using the |
| special gesture end events. |
| |
| 2015-03-31 Timothy Horton <timothy_horton@apple.com> |
| |
| Swipes occur in the wrong direction in RTL |
| https://bugs.webkit.org/show_bug.cgi?id=143257 |
| <rdar://problem/20300862> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]): |
| When choosing which edge to attach our gesture recognizers to, |
| flip them in RTL. |
| |
| (-[WKSwipeTransitionController directionForTransition:]): |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| (WebKit::ViewGestureController::canSwipeInDirection): |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::scrollEventCanBecomeSwipe): |
| (WebKit::ViewGestureController::trackSwipeGesture): |
| (WebKit::ViewGestureController::determineLayerAdjacentToSnapshotForParent): |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| (WebKit::ViewGestureController::handleSwipeGesture): |
| Adjust SwipeDirection to be in logical back-forward list direction |
| instead of physical edge direction. |
| |
| 2015-03-31 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Move ExpansionBehaviorFlags and TextDirection to their own file |
| https://bugs.webkit.org/show_bug.cgi?id=143273 |
| |
| Reviewed by Simon Fraser. |
| |
| This is a mechanical change. It just moves code around. |
| |
| This is getting ready for https://bugs.webkit.org/show_bug.cgi?id=142608 |
| |
| * Shared/WebPopupItem.h: |
| * UIProcess/API/C/efl/WKAPICastEfl.h: |
| * UIProcess/API/efl/EwkView.h: |
| * UIProcess/WebPopupMenuProxy.h: |
| * UIProcess/efl/WebUIPopupMenuClient.h: |
| |
| 2015-03-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Clean up Identifier factories to clarify the meaning of StringImpl* |
| https://bugs.webkit.org/show_bug.cgi?id=143146 |
| |
| Reviewed by Filip Pizlo. |
| |
| Just change to Identifier::fromString. |
| |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| (WebKit::JSNPObject::getOwnPropertyNames): |
| * WebProcess/Plugins/Netscape/NPJSObject.cpp: |
| (WebKit::identifierFromIdentifierRep): |
| |
| 2015-03-31 Timothy Horton <timothy_horton@apple.com> |
| |
| WebKit briefly shows wrong webpage after swiping back (gigaom.com, or any site on a slow network) |
| https://bugs.webkit.org/show_bug.cgi?id=143256 |
| <rdar://problem/19458648> |
| |
| Reviewed by Dan Bernstein. |
| |
| Instead of allowing a flash of the previous page when the swipe snapshot |
| timeouts fire (removing the snapshot before the new page is loaded), show |
| the snapshotted background color. |
| |
| This fixes the problem on iOS, where UI-side compositing makes it easy to fix, |
| but not yet on OS X. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (baseScrollViewBackgroundColor): |
| (scrollViewBackgroundColor): |
| If the ViewGestureController returns a valid background color, use that |
| instead of the page's background color. |
| |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| Expose _updateScrollViewBackground. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didChangeBackgroundColor): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didChangeBackgroundColor): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didChangeBackgroundColor): |
| * UIProcess/WebPageProxy.h: |
| Add and plumb didChangeBackgroundColor, which calls |
| _updateScrollViewBackground on iOS. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (WebKit::ViewGestureController::endSwipeGesture): |
| Hide the content of the drawing area until the next commit. This way, |
| even if the snapshot is removed (say, because a timeout fired), we won't |
| ever show the old page content (but we will show background color). |
| |
| Store the background color associated with the current snapshot. |
| |
| Let WKWebView know that it needs to recompute the background color. |
| |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| Clear the background color so that the next time we commit, WKWebView |
| will get an invalid color from ViewGestureController and fall back |
| to the page's extended background color instead. |
| |
| * UIProcess/mac/ViewGestureController.h: |
| (WebKit::ViewGestureController::backgroundColorForCurrentSnapshot): |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| Keep backgroundColorForCurrentSnapshot up to date on Mac too, even |
| though we don't use it yet. |
| |
| 2015-03-31 Timothy Horton <timothy_horton@apple.com> |
| |
| [iOS] Rotating PDF in Safari scrolls to the wrong position |
| https://bugs.webkit.org/show_bug.cgi?id=143259 |
| <rdar://problem/19872693> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView web_setMinimumSize:]): |
| Maintan the relative top/left within the rescaled document. |
| |
| 2015-03-31 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Extend ProcessThrottler use to the NetworkProcess |
| https://bugs.webkit.org/show_bug.cgi?id=143249 |
| <rdar://problem/20231539> |
| |
| Reviewed by Gavin Barraclough. |
| |
| Extend ProcessThrottler use to the NetworkProcess instead of only the |
| WebProcesses. This is needed so that the NetworkProcess gets notified |
| before suspension. We now use this notification to free-up memory |
| before suspending by calling the critical memory pressure handler, as |
| we already do for WebProcesses (rdar://problem/20231539). In the |
| future, this infrastructure will be used to delay suspension until the |
| pending SQL transactions are done as well (rdar://problem/20180799). |
| |
| Previously, the NetworkProcessProxy would hold a foreground assertion |
| on behalf of the NetworkProcess but would never release that assertion. |
| In this patch, we change this so that WebProcessProxies hold assertions |
| on behalf of the NetworkProcess, and release those assertions before |
| suspending. As a result, the NetworkProcess gets suspended when all |
| WebProcesses are suspended. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::processWillSuspend): |
| (WebKit::NetworkProcess::cancelProcessWillSuspend): |
| (WebKit::NetworkProcess::processDidResume): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::NetworkProcessProxy): |
| (WebKit::NetworkProcessProxy::didFinishLaunching): |
| (WebKit::NetworkProcessProxy::sendProcessWillSuspend): |
| (WebKit::NetworkProcessProxy::sendCancelProcessWillSuspend): |
| (WebKit::NetworkProcessProxy::didCancelProcessSuspension): |
| (WebKit::NetworkProcessProxy::sendProcessDidResume): |
| (WebKit::NetworkProcessProxy::processReadyToSuspend): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| (WebKit::NetworkProcessProxy::throttler): |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| * UIProcess/ProcessThrottler.cpp: |
| (WebKit::ProcessThrottler::ProcessThrottler): |
| (WebKit::ProcessThrottler::didConnectToProcess): |
| (WebKit::ProcessThrottler::didConnnectToProcess): Deleted. |
| * UIProcess/ProcessThrottler.h: |
| * UIProcess/ProcessThrottlerClient.h: Added. |
| (WebKit::ProcessThrottlerClient::~ProcessThrottlerClient): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureNetworkProcess): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didFinishLaunching): |
| (WebKit::WebProcessProxy::initializeNetworkProcessActivityToken): |
| (WebKit::WebProcessProxy::sendProcessDidResume): |
| (WebKit::WebProcessProxy::processReadyToSuspend): |
| * UIProcess/WebProcessProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-03-31 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed, revert accidental change by r182138. |
| |
| * Scripts/generate-forwarding-headers.pl: |
| (createForwardingHeadersForFramework): |
| |
| 2015-03-31 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ build with REDIRECTED_XCOMPOSITE_WINDOW disabled in X11 platform. |
| |
| Also fix some unused parameter warnings when |
| REDIRECTED_XCOMPOSITE_WINDOW is disabled. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewRenderAcceleratedCompositingResults): |
| (resizeWebKitWebViewBaseFromAllocation): |
| |
| 2015-03-31 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] DnD icon/widget has odd background |
| https://bugs.webkit.org/show_bug.cgi?id=143217 |
| |
| Reviewed by Martin Robinson. |
| |
| Use gtk_drag_set_icon_surface() to set the drag icon image, |
| instead of DragIcon class. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| * UIProcess/gtk/DragAndDropHandler.cpp: |
| (WebKit::DragAndDropHandler::startDrag): |
| * UIProcess/gtk/DragAndDropHandler.h: |
| |
| 2015-03-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r182172. |
| https://bugs.webkit.org/show_bug.cgi?id=143250 |
| |
| Since this class is an API object, we don't know for sure when |
| it will be destroyed. (Requested by kling on #webkit). |
| |
| Reverted changeset: |
| |
| "WebBackForwardList doesn't need to manually clear the |
| snapshot of an entry when removing it." |
| https://bugs.webkit.org/show_bug.cgi?id=143231 |
| http://trac.webkit.org/changeset/182172 |
| |
| 2015-03-30 Andreas Kling <akling@apple.com> |
| |
| WebBackForwardList doesn't need to manually clear the snapshot of an entry when removing it. |
| <https://webkit.org/b/143231> |
| |
| Reviewed by Tim Horton. |
| |
| Now that we don't keep WebBackForwardListItem objects alive forever, it's not necessary |
| to clear the snapshot when removing them from the WebBackForwardList, since the entire |
| object will be deleted shortly after that anyway. |
| |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::didRemoveItem): |
| |
| 2015-03-30 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] WebContent crashing at WebCore: WebCore::Range::collectSelectionRects. |
| https://bugs.webkit.org/show_bug.cgi?id=143234 |
| <rdar://problem/18571345> |
| |
| Reviewed by Tim Horton. |
| |
| This is a speculative fix that adds a null check before referencing the range. |
| In both places where the check has been added the range returned by the call |
| that should create it could be null. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::platformEditorState): |
| |
| 2015-03-30 Sam Weinig <sam@webkit.org> |
| |
| [Content Extensions] Flesh out the UserContentExtensionStore |
| https://bugs.webkit.org/show_bug.cgi?id=143123 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * Shared/WebCompiledContentExtension.cpp: |
| (WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData): |
| * Shared/WebCompiledContentExtensionData.cpp: |
| (WebKit::WebCompiledContentExtensionData::encode): |
| (WebKit::WebCompiledContentExtensionData::decode): |
| * Shared/WebCompiledContentExtensionData.h: |
| (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData): |
| Switch the order in memory of actions and bytecode (and switch the order of the |
| variables as well, to keep it clear). This will become necessary when streaming |
| the data to disk, as actions are created before the bytecode and we would have to keep them |
| in memory until the bytecode was finished compiling if they didn't come before in the file. |
| |
| * UIProcess/API/APIUserContentExtensionStore.h: |
| * UIProcess/API/APIUserContentExtensionStore.cpp: |
| (API::UserContentExtensionStore::defaultStore): |
| Add accessor for the processes default shared store. |
| |
| (API::constructedPath): |
| Helper for constructing the path to a file in the store based on identifier. |
| |
| (API::encodeContentExtensionMetaData): |
| (API::decodeContentExtensionMetaData): |
| Helpers for encoding/decoding the file metadata (version, bytecode size, actions size). |
| |
| (API::openAndMapContentExtension): |
| Helper to open and map a filed back content extension. |
| |
| (API::writeDataToFile): |
| Helper to write a Data object to a file. |
| |
| (API::compiledToFile): |
| Helper to run the content extension compiler and write it to disk. It first |
| writes it to a temporary file and then does an atomic rename operation to put |
| the file in the final location. Doing this means that if the process crashes while |
| the compile is taking place, the partially written file won't end up in the cache, |
| but rather, will be cleaned up by the OS. |
| |
| (API::UserContentExtensionStore::lookupContentExtension): |
| API entry point to lookup an extension that has been compiled to disk. On a background queue, |
| it attempts to open and map the extension (based on the identifier passed in) and return it |
| to the caller via the callback function passed in. |
| |
| (API::UserContentExtensionStore::compileContentExtension): |
| API entry point to compile an extension and write it to store. On a background queue, it |
| compiles the file to disk and if successful, returns the memory mapped data via the callback |
| function passed in. |
| |
| (API::UserContentExtensionStore::removeContentExtension): |
| API entry point to remove an extension from the store. On a background queue, it |
| unlinks the extension (based on the identifier passed in) and tells the caller it completed |
| the action vial the callback function passed in. |
| |
| (API::UserContentExtensionStore::synchronousRemoveAllContentExtensions): |
| Helper for testing which synchronously unlinks all the files in the store. |
| |
| (API::userContentExtensionStoreErrorCategory): |
| std::error_code adaptor for some generic errors that can happen in the store. We will want |
| to flesh these out further. |
| |
| * UIProcess/API/Cocoa/APIUserContentExtensionStoreCocoa.mm: Added. |
| (API::UserContentExtensionStore::defaultStorePath): |
| Helper to get the platform specific path for the store. |
| |
| * UIProcess/API/C/WKUserContentExtensionStoreRef.cpp: |
| (WKUserContentExtensionStoreGetTypeID): |
| Add ENABLE(CONTENT_EXTENSIONS) guards. |
| |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h: |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm: |
| (-[_WKUserContentExtensionStore dealloc]): |
| (+[_WKUserContentExtensionStore defaultStore]): |
| (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): |
| (-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]): |
| (-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]): |
| (-[_WKUserContentExtensionStore _removeAllContentExtensions]): |
| (-[_WKUserContentExtensionStore init]): Deleted. |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStoreInternal.h: |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h: Added. |
| SPI wrappers for the store. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| 2015-03-30 Antti Koivisto <antti@apple.com> |
| |
| Don't cache resources that are very unlikely to be reused |
| https://bugs.webkit.org/show_bug.cgi?id=143226 |
| |
| Reviewed by Chris Dumez. |
| |
| Follow-up to cover Cache-control: no-cache case which also has zero cache lifetime. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::makeStoreDecision): |
| |
| 2015-03-30 Antti Koivisto <antti@apple.com> |
| |
| Include cache entry worth to json dump |
| https://bugs.webkit.org/show_bug.cgi?id=143202 |
| |
| Follow-up fix. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::computeRecordWorth): |
| |
| This accidentally gave the error case worth 1 rather than 0 as it should be. |
| |
| 2015-03-30 Antti Koivisto <antti@apple.com> |
| |
| Don't cache resources that are very unlikely to be reused |
| https://bugs.webkit.org/show_bug.cgi?id=143226 |
| <rdar://problem/20347160> |
| |
| Reviewed by Geoff Garen. |
| |
| We are writing lots of resources to the cache that are never used again. |
| |
| In browse-around-randomly test this reduced number of cache entries created by ~20% and bytes written by ~5%. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::makeUseDecision): |
| (WebKit::NetworkCache::makeRetrieveDecision): |
| |
| Rename for clarity. |
| |
| (WebKit::NetworkCache::makeStoreDecision): |
| |
| Store only if the resource has non-zero expiration or has validation headers. |
| |
| Very High priority resources (main resources) keep the existing policy to minimize impact |
| on back navigation and tab restore. |
| |
| (WebKit::NetworkCache::Cache::retrieve): |
| (WebKit::NetworkCache::Cache::store): |
| (WebKit::NetworkCache::canUse): Deleted. |
| (WebKit::NetworkCache::canRetrieve): Deleted. |
| (WebKit::NetworkCache::canStore): Deleted. |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::storeDecisionToDiagnosticKey): |
| |
| 2015-03-30 Tim Horton <timothy_horton@apple.com> |
| |
| Swipe snapshot removed too early (jumps around) on arstechnica and NYT |
| https://bugs.webkit.org/show_bug.cgi?id=143199 |
| <rdar://problem/18420467> |
| |
| Reviewed by Dan Bernstein. |
| |
| Make ViewGestureControllerIOS's snapshot removal timing behave more like the Mac version. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didCommitLayerTree:]): |
| Let ViewGestureController know when the page has finished state restoration. |
| |
| (-[WKWebView _didFinishLoadForMainFrame]): |
| (-[WKWebView _didSameDocumentNavigationForMainFrame:]): |
| Forward these to ViewGestureController. |
| |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didFinishLoadForMainFrame): |
| Forward didFinishLoadForMainFrame to WKWebView. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (WebKit::ViewGestureController::ViewGestureController): |
| (WebKit::ViewGestureController::endSwipeGesture): |
| Split the swipe snapshot removal state into a bunch of bools. |
| |
| (WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree): |
| (WebKit::ViewGestureController::setRenderTreeSize): |
| (WebKit::ViewGestureController::removeSwipeSnapshotIfReady): |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| Unify the snapshot removal logic into one function; removeSwipeSnapshotIfReady |
| completely owns the decision. For now, we're waiting for everything, but |
| we can do better in the future (using firstVisuallyNonEmptyLayout like Mac used to). |
| |
| (WebKit::ViewGestureController::didRestoreScrollPosition): |
| (WebKit::ViewGestureController::didFinishLoadForMainFrame): |
| (WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame): |
| (WebKit::ViewGestureController::activeLoadMonitoringTimerFired): |
| Add more conditions for swipe snapshot removal. We'll now wait for |
| didFinishLoadForMainFrame (or didSameDocumentNavigationForMainFrame), |
| for active loads to finish, and for the scroll position to be restored. |
| This brings the iOS implementation in line with the slightly better Mac |
| implementation, and also sets the stage for deduplication of all of this code. |
| |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::ViewGestureController): |
| |
| 2015-03-30 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] Add support for "Cache-Control: max-stale" request header |
| https://bugs.webkit.org/show_bug.cgi?id=143159 |
| <rdar://problem/20333296> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add support for "Cache-Control: max-stale" request header: |
| https://tools.ietf.org/html/rfc7234#section-5.2.1.2 |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::responseHasExpired): |
| (WebKit::NetworkCache::requestRequiresRevalidation): |
| (WebKit::NetworkCache::canUse): |
| |
| 2015-03-30 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL][GTK] WebKit2's generate-forwarding-headers.pl should fail if clashing headers found |
| https://bugs.webkit.org/show_bug.cgi?id=142909 |
| |
| Reviewed by Philippe Normand. |
| |
| * Scripts/generate-forwarding-headers.pl: |
| (createForwardingHeadersForFramework): |
| |
| 2015-03-29 Antti Koivisto <antti@apple.com> |
| |
| Include cache entry worth to json dump |
| https://bugs.webkit.org/show_bug.cgi?id=143202 |
| |
| Reviewed by Darin Adler. |
| |
| This is useful for analyzing cache performance. |
| Also include the body size, total item count and average worth. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::traverse): |
| (WebKit::NetworkCache::Cache::dumpContentsToFile): |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::asJSON): |
| * NetworkProcess/cache/NetworkCacheEntry.h: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::traverse): |
| |
| Add flags for specificying what sort of information is needed. |
| |
| (WebKit::NetworkCache::computeRecordWorth): |
| |
| Factor to a function. |
| |
| (WebKit::NetworkCache::deletionProbability): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2015-03-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix iOS scrollperf crash after a web process crash |
| https://bugs.webkit.org/show_bug.cgi?id=143110 |
| |
| Reviewed by Dean Jackson. |
| |
| When we destroy the drawing area after a web process crash, we also need to destroy |
| the scrollingPerformanceData which has a reference to the drawing area. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::resetState): |
| |
| 2015-03-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Convert arguments to ScrollingCoordinator functions to references |
| https://bugs.webkit.org/show_bug.cgi?id=143198 |
| |
| Reviewed by Darin Adler. |
| |
| Convert all the FrameView* and ScrollableArea* arguments to ScrollingCoordinator functions to |
| references, and use references in a few other places. |
| |
| * WebProcess/Scrolling/RemoteScrollingCoordinator.h: |
| * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: |
| (WebKit::RemoteScrollingCoordinator::coordinatesScrollingForFrameView): |
| |
| 2015-03-29 Enrica Casucci <enrica@apple.com> |
| |
| [iOS WK2] WKContentView should implement _selectionClipRect |
| https://bugs.webkit.org/show_bug.cgi?id=143143 |
| rdar://problem/20330075 |
| |
| Reviewed by Benjamin Poulain. |
| |
| UIKit checks if the text delegate responds to this selector |
| to retrieve the clipping rectangle for the editable element |
| where the selection is being create. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _selectionClipRect]): |
| |
| 2015-03-29 Antti Koivisto <antti@apple.com> |
| |
| Use st_mtime instead of st_atime to track file access time |
| https://bugs.webkit.org/show_bug.cgi?id=143200 |
| |
| Reviewed by Darin Adler. |
| |
| On OS X atime updates automatically on read so calling Storage::traverse() would always ends up updating access times |
| for all cache entries to the current time. This would make entry worth computation produce unexpected results. |
| We update mtime manually on successful cache retrieve only so switching to it fixes the problem. |
| |
| * NetworkProcess/cache/NetworkCacheFileSystemPosix.h: |
| (WebKit::NetworkCache::fileTimes): |
| (WebKit::NetworkCache::updateFileModificationTimeIfNeeded): |
| (WebKit::NetworkCache::updateFileAccessTimeIfNeeded): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::updateFileModificationTime): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::deletionProbability): |
| (WebKit::NetworkCache::Storage::updateFileAccessTime): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2015-03-27 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [TexMap] Seperate BitmapTexture related classes implementations from TextureMapper |
| https://bugs.webkit.org/show_bug.cgi?id=142386 |
| |
| Reviewed by Žan Doberšek. |
| |
| TextureMapper and TextureMapperGL are bloated and tightly coupled with |
| BitmapTexture. We should move these classes to seperated file of their own. |
| Also, this patch removes friend relationship from TextureMapperGL and its |
| subsidiary classes. |
| |
| The main purpose of this refactoring is to expose BitmapTexturePool to |
| renderers of platformlayers like Video and Canvas. By doing this, each |
| renderer can acquire textures from the global texture pool to paint |
| their contents directly. |
| |
| * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Include BitmapTextureGL.h explicitly |
| |
| 2015-03-27 Anders Carlsson <andersca@apple.com> |
| |
| Use a typedef for the WKPluginLoadClientPolicy enum |
| https://bugs.webkit.org/show_bug.cgi?id=143161 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/C/WKPluginLoadPolicy.h: |
| |
| 2015-03-27 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] Use WTF::WorkQueue abstraction inside NetworkCacheStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=143154 |
| |
| Reviewed by Antti Koivisto. |
| |
| Use WTF::WorkQueue abstraction inside NetworkCacheStatistics, like we |
| already do in NetworkCacheStorage. |
| |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: Renamed from Source/WebKit2/NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm. |
| (WebKit::NetworkCache::executeSQLCommand): |
| (WebKit::NetworkCache::executeSQLStatement): |
| (WebKit::NetworkCache::Statistics::open): |
| (WebKit::NetworkCache::Statistics::Statistics): |
| (WebKit::NetworkCache::Statistics::initialize): |
| (WebKit::NetworkCache::Statistics::bootstrapFromNetworkCache): |
| (WebKit::NetworkCache::Statistics::shrinkIfNeeded): |
| (WebKit::NetworkCache::Statistics::recordRetrievalRequest): |
| (WebKit::NetworkCache::Statistics::recordNotCachingResponse): |
| (WebKit::NetworkCache::retrieveDecisionToDiagnosticKey): |
| (WebKit::NetworkCache::Statistics::recordNotUsingCacheForRequest): |
| (WebKit::NetworkCache::storeDecisionToDiagnosticKey): |
| (WebKit::NetworkCache::Statistics::recordRetrievalFailure): |
| (WebKit::NetworkCache::cachedEntryReuseFailureToDiagnosticKey): |
| (WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry): |
| (WebKit::NetworkCache::Statistics::markAsRequested): |
| (WebKit::NetworkCache::Statistics::writeTimerFired): |
| (WebKit::NetworkCache::Statistics::queryWasEverRequested): |
| (WebKit::NetworkCache::Statistics::clear): |
| (WebKit::NetworkCache::Statistics::addHashesToDatabase): |
| (WebKit::NetworkCache::Statistics::addStoreDecisionsToDatabase): |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| (WebKit::NetworkCache::Statistics::serialBackgroundIOQueue): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-03-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Safari clears selection when its window gets activated via mouse down |
| https://bugs.webkit.org/show_bug.cgi?id=143157 |
| |
| Reviewed by Anders Carlsson. |
| |
| The bug was caused by PlatformMouseEvent created in WebKit2 not having its event number |
| even though we were correctly calling setActivationEventNumber in WebPage::acceptsFirstMouse. |
| |
| Fixed the bug by storing [NSEvent eventNumber] in WebMouseEvent on Mac in WebKit2 as done in WebKit1. |
| |
| * Shared/WebEvent.h: |
| (WebKit::WebMouseEvent::eventNumber): |
| * Shared/WebEventConversion.cpp: |
| (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): |
| * Shared/WebMouseEvent.cpp: |
| (WebKit::WebMouseEvent::WebMouseEvent): |
| (WebKit::WebMouseEvent::encode): |
| (WebKit::WebMouseEvent::decode): |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::WebEventFactory::createWebMouseEvent): |
| |
| 2015-03-27 Anders Carlsson <andersca@apple.com> |
| |
| Only do the Connection::setShouldCloseConnectionOnMachExceptions() hack where necessary |
| https://bugs.webkit.org/show_bug.cgi?id=143141 |
| rdar://problem/19471284 |
| |
| Reviewed by Andreas Kling. |
| |
| * Platform/IPC/Connection.h: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::platformInvalidate): |
| (IPC::Connection::platformInitialize): |
| (IPC::Connection::open): |
| * Shared/ChildProcessProxy.cpp: |
| (WebKit::ChildProcessProxy::didFinishLaunching): |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::didFinishLaunching): |
| |
| 2015-03-27 Tim Horton <timothy_horton@apple.com> |
| |
| Implement iOS WebKit2 PDF Find-in-Page |
| https://bugs.webkit.org/show_bug.cgi?id=143065 |
| <rdar://problem/16793370> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Platform/spi/ios/CorePDFSPI.h: |
| Add some SPI. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _countStringMatches:options:maxCount:]): |
| (-[WKWebView _findString:options:maxCount:]): |
| (-[WKWebView _hideFindUI]): |
| If we have a custom content view, forward find-in-page methods to it. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/_WKFindOptions.h: |
| Move _WKFindOptions into its own file. |
| |
| * UIProcess/Cocoa/WKWebViewContentProvider.h: |
| Add find-related methods to the WKWebViewContentProvider protocol. |
| |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView web_initWithFrame:webView:]): |
| (-[WKPDFView dealloc]): |
| Maintain a dispatch queue for searching the PDF. |
| |
| (-[WKPDFView web_setContentProviderData:suggestedFilename:]): |
| Fix a type. |
| |
| (-[WKPDFView _ensureViewForPage:]): |
| Split the code to create/parent a page view out from _revalidateViews, |
| so that the find code can create/parent the targetted UIPDFPageView |
| in order to install the find highlight in it, but before it is scrolled into view. |
| |
| (-[WKPDFView _revalidateViews]): |
| Use the stored page index instead of counting again. |
| Don't unparent page views that have find-in-page highlights in them, because |
| we won't know enough to recreate them later. |
| |
| (-[WKPDFView _computePageAndDocumentFrames]): |
| Put the page index in PDFPageInfo, for reference elsewhere. |
| |
| (-[WKPDFView _stringCompareOptionsFromWKFindOptions:]): |
| (-[WKPDFView _computeMatchesForString:options:maxCount:completionHandler:]): |
| Asynchronously (and on our serial queue) search the PDF for the given string. |
| We'll cache the most recent results to avoid searching more than once, |
| cancel existing searches when another begins (since it's a serial queue, |
| this ensures we'll only have one search active at a time). |
| |
| (-[WKPDFView web_countStringMatches:options:maxCount:]): |
| Count the number of matches for the given string, and inform the FindClient |
| of the result. |
| |
| (-[WKPDFView _didFindMatch:]): |
| When we find a match, create a view for it, highlight the match, and |
| zoom so that it's in-view. |
| |
| (-[WKPDFView web_findString:options:maxCount:]): |
| Incrementally search the document for the given string. We do an incremental |
| search even if we have all of the results so that we can anchor the search |
| in the right place if the new string is a prefix of the old string, etc. |
| Wrap around appropriately when searching past the beginning or end of the |
| document. If we have all of the results (there were less than maxCount results), |
| look through the cached matches for the incrementally-found result and |
| report its index to the client. |
| |
| (-[WKPDFView web_hideFindUI]): |
| Dismiss the selection and clear some state so we start the next search afresh. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-03-27 Andreas Kling <akling@apple.com> |
| |
| WebProcessProxy should not retain WebBackForwardListItems forever. |
| <https://webkit.org/b/143152> |
| <rdar://problem/19925709> |
| |
| Reviewed by Anders Carlsson. |
| |
| Have WebProcessProxy actually forget about a WebBackForwardListItem after it's removed from |
| the WebBackForwardList. |
| |
| This ensures that we don't accumulate too many of these objects, which can get quite large |
| due to the session state encoded in them. |
| |
| We already have graceful handling of the case where an incoming IPC message references |
| a removed back/forward list item. |
| |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::didRemoveItem): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::backForwardRemovedItem): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::removeBackForwardItem): |
| * UIProcess/WebProcessProxy.h: |
| |
| 2015-03-27 Simon Fraser <simon.fraser@apple.com> |
| |
| Use the correct timebase to log scrollperf blank pixel counts on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=143149 |
| |
| Reviewed by Tim Horton. |
| |
| MobileSafari and WebKit need to collect scrollperf data using the same timebase; |
| MobileSafari can't call WTF::monotonicallyIncreasingTime(), so use CFAbsoluteTimeGetCurrent() |
| everywhere. |
| |
| * UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.mm: |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::appendBlankPixelCount): |
| |
| 2015-03-27 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] Rename requestNeedsRevalidation() to requestRequiresRevalidation() |
| https://bugs.webkit.org/show_bug.cgi?id=143137 |
| |
| Reviewed by Antti Koivisto. |
| |
| Rename requestNeedsRevalidation() to requestRequiresRevalidation() as I |
| think it is more accurate. It is not the request that needs revalidating. |
| The requests just requires us to revalidate the response. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::requestRequiresRevalidation): |
| (WebKit::NetworkCache::canUse): |
| (WebKit::NetworkCache::requestNeedsRevalidation): Deleted. |
| |
| 2015-03-27 Oliver Hunt <oliver@apple.com> |
| |
| Forward additional CFNetwork ATS information to child processes |
| https://bugs.webkit.org/show_bug.cgi?id=143136 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add additional process creation parameter information, and pass it |
| to the child processes that actually use CFNetwork. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| * Shared/Network/NetworkProcessCreationParameters.cpp: |
| (WebKit::NetworkProcessCreationParameters::encode): |
| (WebKit::NetworkProcessCreationParameters::decode): |
| * Shared/Network/NetworkProcessCreationParameters.h: |
| * Shared/Plugins/PluginProcessCreationParameters.cpp: |
| (WebKit::PluginProcessCreationParameters::encode): |
| (WebKit::PluginProcessCreationParameters::decode): |
| * Shared/Plugins/PluginProcessCreationParameters.h: |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::platformInitializePluginProcess): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2015-03-27 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] We only cache responses with status codes that are cacheable by default |
| https://bugs.webkit.org/show_bug.cgi?id=143125 |
| <rdar://problem/20321172> |
| |
| Reviewed by Antti Koivisto. |
| |
| We Previously only cached responses with status codes that are cacheable |
| by default [1]. However, RFC 7234 [2] allows us to cache responses with |
| other status codes, as long as they have explicit headers allowing |
| caching: |
| - 'Expires' header field |
| - 'max-age' response directive |
| |
| This patch updates our caching policy accordingly to improve efficiency. |
| |
| [1] http://tools.ietf.org/html/rfc7231#page-48 |
| [2] http://tools.ietf.org/html/rfc7234#section-4.3.2 |
| |
| Test: http/tests/cache/disk-cache/disk-cache-307-status-code.html |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canStore): |
| |
| 2015-03-26 Antti Koivisto <antti@apple.com> |
| |
| Respect cache-control directives in request |
| https://bugs.webkit.org/show_bug.cgi?id=143121 |
| rdar://problem/19714040 |
| |
| Reviewed by Chris Dumez. |
| |
| Better support for https://tools.ietf.org/html/rfc7234#section-5.2.1 |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canUse): |
| |
| Consider requests with Cache-control: no-cache and max-age=0 expired. |
| |
| (WebKit::NetworkCache::canStore): |
| |
| Don't store requests with Cache-control: no-store. |
| |
| (WebKit::NetworkCache::Cache::store): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::NetworkCache::storeDecisionToDiagnosticKey): |
| |
| 2015-03-25 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| iOS file upload panel menu items need icons |
| <https://bugs.webkit.org/show_bug.cgi?id=143042> |
| <rdar://problem/20178678> |
| |
| Reviewed by Andy Estes. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| Declare new SPI methods _UIImageGetWebKitTakePhotoOrVideoIcon and |
| _UIImageGetWebKitPhotoLibraryIcon(). |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (photoLibraryIcon): |
| (cameraIcon): |
| If UIKit SPI exists, use it. Otherwise, return nil. |
| |
| (-[WKFileUploadPanel _showDocumentPickerMenu]): |
| Use icons. |
| |
| 2015-03-26 Enrica Casucci <enrica@apple.com> |
| |
| OS X build fix after r182037. |
| |
| Unreviewed. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _addFontPanelObserver]): |
| (-[WKView removeWindowObservers]): |
| (-[WKView observeValueForKeyPath:ofObject:change:context:]): |
| |
| 2015-03-26 Enrica Casucci <enrica@apple.com> |
| |
| iOS build fix after r182037. |
| |
| Unreviewed. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setEditable:]): |
| |
| 2015-03-26 Enrica Casucci <enrica@apple.com> |
| |
| REGRESSION(r1807689): Slower startup time for WKWebView. |
| https://bugs.webkit.org/show_bug.cgi?id=143115 |
| rdar://problem/20233711 |
| |
| Reviewed by Anders Carlsson. |
| |
| In http://trac.webkit.org/changeset/180768 we added an observer to |
| track visibility of the NSFontPanel to ensure we could fetch the font |
| information for the current selection when the panel first becomes visible. |
| It turns out that adding the observer requires the shared font panel |
| object to be created. |
| That is apparently a very expensive operation that is regressing |
| the initialization time for the WKWebView. |
| We should initialize the NSFontPanel lazily, only when we make the entire |
| view editable. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setEditable:]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView addWindowObserversForWindow:]): |
| (-[WKView _addFontPanelObserver]): |
| (-[WKView removeWindowObservers]): |
| (-[WKView observeValueForKeyPath:ofObject:change:context:]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| |
| 2015-03-26 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards CMake on Mac. |
| https://bugs.webkit.org/show_bug.cgi?id=143112 |
| |
| Reviewed by Chris Dumez. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| * UIProcess/Cocoa/WebPageProxyCocoa.mm: |
| |
| 2015-03-26 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cocoa] Add private API to override the network disk cache size |
| https://bugs.webkit.org/show_bug.cgi?id=143113 |
| <rdar://problem/20315669> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add private API to let the client override the network disk cache size. |
| By default, the network disk cache is automatically determined based on |
| the CacheModel and the available disk space. However, for testing |
| purposes, it can be used for the client-side to be able to override |
| the disk cache size. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::setMaximumSize): |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformSetCacheModel): |
| * Shared/Network/NetworkProcessCreationParameters.cpp: |
| (WebKit::NetworkProcessCreationParameters::encode): |
| (WebKit::NetworkProcessCreationParameters::decode): |
| * Shared/Network/NetworkProcessCreationParameters.h: |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration diskCacheSizeOverride]): |
| (-[_WKProcessPoolConfiguration setDiskCacheSizeOverride:]): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::WebProcessPool::ensureNetworkProcess): |
| * UIProcess/WebProcessPool.h: |
| |
| 2015-03-26 Andreas Kling <akling@apple.com> |
| |
| [Darwin] Boost the web process QoS level while handling a synchronous IPC message. |
| <https://webkit.org/b/142988> |
| <rdar://problem/20264346> |
| |
| Reviewed by Antti Koivisto and Anders Carlsson. |
| |
| Add a mechanism for IPC::Connection to boost the main thread for the duration |
| of processing a synchronous message. |
| |
| This fixes an issue where the UI process would block on a synchronous request |
| to the web process that was being carried out at a lower QoS level. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::Connection): Save the main thread's pthread_t while we have |
| a chance to retreive it. |
| |
| (IPC::Connection::processIncomingMessage): Optionally boost the main thread when |
| processing an incoming message with the IsSyncMessage flag set. |
| |
| * Platform/IPC/Connection.h: |
| (IPC::Connection::setShouldBoostMainThreadOnSyncMessage): Added. When this mode is |
| enabled, Connection will give a temporary QoS override to the main thread when |
| receiving a synchronous message. Ownership of the override is handed to the |
| MessageDecoder, which resets the main thread QoS in its destructor. |
| |
| * Platform/IPC/MessageDecoder.cpp: |
| (IPC::MessageDecoder::~MessageDecoder): Remove any QoS override owned by this message. |
| |
| * Platform/IPC/MessageDecoder.h: |
| (IPC::MessageDecoder::setQOSClassOverride): Added. Takes ownership of a QoS override |
| to make sure it stays in effect until this message has been dispatched. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeConnection): Set up main thread QoS boosting for the |
| web process's connection to the UI process. |
| |
| 2015-03-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Cursor doesn't change back to pointer when leaving Mail |
| https://bugs.webkit.org/show_bug.cgi?id=132038 |
| |
| Reviewed by Anders Carlsson. |
| |
| Fixed the bug by adding a cursor rect and making the primary tracking area update the cursor so that |
| AppKit will reset the cursor as it leaves the WebView. |
| |
| We use nil cursor here since we manually update the cursor by calling [NSCursor set]. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange): |
| |
| 2015-03-26 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [Linux] SeccompFilters: improve the port-agnostic whitelist |
| https://bugs.webkit.org/show_bug.cgi?id=140064 |
| |
| Reviewed by Žan Doberšek. |
| |
| Allow the web process to access several files and directories that it |
| was previously prohibited from accessing. This makes the web process |
| much less likely to break. |
| |
| * Shared/linux/SeccompFilters/SyscallPolicy.cpp: |
| (WebKit::SyscallPolicy::addDefaultWebProcessPolicy): |
| |
| 2015-03-26 Antti Koivisto <antti@apple.com> |
| |
| Remove unneeded isConditionalRequest check from NetworkResourceLoader |
| https://bugs.webkit.org/show_bug.cgi?id=143096 |
| |
| Reviewed by Anders Carlsson. |
| |
| This check is leftover from implementation that allowed disk cache to validate conditional |
| request itself. The case can't happen as NetworkCache canRetrieve test does not allow |
| conditional requests in the first place. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didReceiveResponseAsync): |
| (WebKit::isConditionalRequest): Deleted. |
| |
| 2015-03-26 Antti Koivisto <antti@apple.com> |
| |
| Rename Storage::Entry to Storage::Record |
| https://bugs.webkit.org/show_bug.cgi?id=143101 |
| |
| Reviewed by Chris Dumez. |
| |
| Lets have just one type called Entry in the cache code. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| (WebKit::NetworkCache::Cache::store): |
| (WebKit::NetworkCache::Cache::update): |
| (WebKit::NetworkCache::Cache::traverse): |
| (WebKit::NetworkCache::Cache::dumpContentsToFile): |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::Entry): |
| (WebKit::NetworkCache::Entry::encodeAsStorageRecord): |
| (WebKit::NetworkCache::Entry::decodeStorageRecord): |
| (WebKit::NetworkCache::Entry::initializeBufferFromStorageRecord): |
| (WebKit::NetworkCache::Entry::buffer): |
| (WebKit::NetworkCache::Entry::shareableResourceHandle): |
| (WebKit::NetworkCache::Entry::encode): Deleted. |
| (WebKit::NetworkCache::Entry::decode): Deleted. |
| (WebKit::NetworkCache::Entry::initializeBufferFromStorageEntry): Deleted. |
| * NetworkProcess/cache/NetworkCacheEntry.h: |
| (WebKit::NetworkCache::Entry::sourceStorageRecord): |
| (WebKit::NetworkCache::Entry::sourceStorageEntry): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::RecordMetaData::RecordMetaData): |
| (WebKit::NetworkCache::decodeRecordMetaData): |
| (WebKit::NetworkCache::decodeRecordHeader): |
| (WebKit::NetworkCache::decodeRecord): |
| (WebKit::NetworkCache::encodeRecordMetaData): |
| (WebKit::NetworkCache::encodeRecordHeader): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::retrieveFromMemory): |
| (WebKit::NetworkCache::Storage::store): |
| (WebKit::NetworkCache::Storage::update): |
| (WebKit::NetworkCache::Storage::traverse): |
| (WebKit::NetworkCache::Storage::dispatchPendingWriteOperations): |
| (WebKit::NetworkCache::Storage::dispatchFullWriteOperation): |
| (WebKit::NetworkCache::Storage::dispatchHeaderWriteOperation): |
| (WebKit::NetworkCache::EntryMetaData::EntryMetaData): Deleted. |
| (WebKit::NetworkCache::decodeEntryMetaData): Deleted. |
| (WebKit::NetworkCache::decodeEntryHeader): Deleted. |
| (WebKit::NetworkCache::decodeEntry): Deleted. |
| (WebKit::NetworkCache::encodeEntryMetaData): Deleted. |
| (WebKit::NetworkCache::encodeEntryHeader): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2015-03-26 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Let the compiler generate the NetworkCache::Key move constructor |
| https://bugs.webkit.org/show_bug.cgi?id=143079 |
| |
| Reviewed by Antti Koivisto. |
| |
| Let the compiler generate the NetworkCache::Key move constructor. The |
| generated one will do exactly the same thing as the one we had except |
| that it will move the m_hash member as well. I don't see any reason why |
| we weren't moving this member before (it is an std::array<uint8_t, 16>). |
| |
| Also have the compiler generate a move assignment operator for |
| consistency. Although it is not currently useful, it could be at some |
| point. |
| |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::NetworkCache::Key::Key): Deleted. |
| * NetworkProcess/cache/NetworkCacheKey.h: |
| |
| 2015-03-26 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][NetworkCache] Compute if a cached response has expired only when actually needed |
| https://bugs.webkit.org/show_bug.cgi?id=143070 |
| |
| Reviewed by Antti Koivisto. |
| |
| Compute if a cached response has expired only when actually needed: |
| - This is not a history navigation |
| and |
| - It does not have "Cache-Control: no-cache" header |
| |
| Previously, we would always determine if the response has expired and |
| we often end up not using this information. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::responseHasExpired): |
| (WebKit::NetworkCache::canUse): |
| |
| 2015-03-26 Zan Dobersek <zdobersek@igalia.com> |
| |
| Avoid the Vector<> copy in WebTouchEvent constructor |
| https://bugs.webkit.org/show_bug.cgi?id=143043 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Have the WebTouchEvent accept a Vector<> rvalue. |
| The relevant code is updated so the Vector<> object is moved |
| through the call chain and finally into the WebTouchEvent constructor. |
| |
| * Shared/NativeWebTouchEvent.h: |
| * Shared/WebEvent.h: |
| * Shared/WebTouchEvent.cpp: |
| (WebKit::WebTouchEvent::WebTouchEvent): |
| * Shared/efl/WebEventFactory.cpp: |
| (WebKit::WebEventFactory::createWebTouchEvent): |
| * Shared/gtk/NativeWebTouchEventGtk.cpp: |
| (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): |
| * Shared/gtk/WebEventFactory.cpp: |
| (WebKit::WebEventFactory::createWebTouchEvent): |
| * Shared/gtk/WebEventFactory.h: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseTouchEvent): |
| |
| 2015-03-25 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] WebFrameLoaderClient::dispatchDecidePolicyForResponse() should always call the FramePolicyFunction |
| https://bugs.webkit.org/show_bug.cgi?id=143036 |
| <rdar://problem/20252438> |
| <rdar://problem/13811738> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| WebFrameLoaderClient::dispatchDecidePolicyForResponse() should always |
| call the FramePolicyFunction. Previously, it would fail to do in 2 |
| cases: |
| - m_frame->page() returns null |
| or |
| - webPage->sendSync() returns false |
| |
| If the FramePolicyFunction is not called, we will fail to clear the |
| callback in the PolicyChecker and |
| DocumentLoader::continueAfterContentPolicy() will not be called. |
| |
| DocumentLoader::continueAfterContentPolicy() is in charge of resetting |
| m_waitingForContentPolicy flag to false. This could therefore explain |
| the following assertion being hit in DocumentLoader::detachFromFrame() |
| (see <rdar://problem/20252438>): |
| RELEASE_ASSERT(!m_waitingForContentPolicy) |
| |
| Also, as the PolicyChecker callback is not cleared, it could make it |
| possible for DocumentLoader::continueAfterContentPolicy() to be called |
| *after* the load is finished, when later canceling the PolicyCallback: |
| FrameLoader::stopAllLoaders() |
| -> PolicyChecker::stopCheck() |
| -> PolicyCallback::cancel() |
| -> DocumentLoader::continueAfterContentPolicy(PolicyIgnore) |
| |
| Calling continueAfterContentPolicy(PolicyIgnore) after the load is |
| finished would be bad and could explain some of the crashes we've seen |
| in DocumentLoader::continueAfterContentPolicy() -> |
| DocumentLoader:: stopLoadingForPolicyChange() (see |
| <rdar://problem/13811738>). |
| |
| This patch also applies the same fix to |
| dispatchDecidePolicyForNewWindowAction() and |
| dispatchDecidePolicyForNavigationAction() as they use the same pattern. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| |
| 2015-03-25 Tim Horton <timothy_horton@apple.com> |
| |
| Add a preference to prevent "user-scalable=no" from having any effect |
| https://bugs.webkit.org/show_bug.cgi?id=143032 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| Add a preference and push it to the ViewportConfiguration. |
| |
| 2015-03-25 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION (r181660): Force click url preview doesn't have a TextIndicator in Mail |
| https://bugs.webkit.org/show_bug.cgi?id=143064 |
| -and corresponding- |
| rdar://problem/20251440 |
| |
| Reviewed by Tim Horton. |
| |
| The TextIndicator was getting set to nil by the call to |
| _dismissContentRelativeChildWindows in mouseDown. That line of code was added by |
| http://trac.webkit.org/changeset/177242 to work around a bug in another component |
| that has now been resolved, so it no longer appears to be necessary. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView mouseDown:]): |
| |
| 2015-03-25 Anders Carlsson <andersca@apple.com> |
| |
| Add network and application cache directories to WebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=143063 |
| |
| Reviewed by Sam Weinig. |
| |
| Create a WebKit directory under ~/Library/Caches/<Bundle ID> for non-sandboxed applications, |
| and ~/Library/Caches for sandboxed applications. Create NetworkCache and OfflineWebApplicationCache |
| subdirectories. These directories will be used with the modern WebKit API. |
| |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation): |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2015-03-25 Sam Weinig <sam@webkit.org> |
| |
| Address additional review feedback from https://bugs.webkit.org/show_bug.cgi?id=143059. |
| |
| * Shared/WebCompiledContentExtension.cpp: |
| (WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData): |
| * UIProcess/API/C/WKUserContentFilterRef.cpp: |
| (WKUserContentFilterCreate): |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: |
| (-[_WKUserContentFilter initWithName:serializedRules:]): |
| |
| 2015-03-25 Sam Weinig <sam@webkit.org> |
| |
| [Content Extensions] Convert content extension compiling to return error codes and write its output using a client |
| https://bugs.webkit.org/show_bug.cgi?id=143059 |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/WebCompiledContentExtension.cpp: |
| * Shared/WebCompiledContentExtension.h: |
| (WebKit::LegacyContentExtensionCompilationClient::LegacyContentExtensionCompilationClient): |
| (WebKit::LegacyContentExtensionCompilationClient::writeBytecode): |
| (WebKit::LegacyContentExtensionCompilationClient::writeActions): |
| Add subclass of ContentExtensionCompilationClient for use with the non-file backed content |
| extensions. |
| |
| * UIProcess/API/C/WKUserContentFilterRef.cpp: |
| (WKUserContentFilterCreate): |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: |
| (-[_WKUserContentFilter initWithName:serializedRules:]): |
| Update to use the new interface of compileRuleList(). |
| |
| 2015-03-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Web Inspector: Switching tabs to window with inspector open prohibits typing into console |
| https://bugs.webkit.org/show_bug.cgi?id=126800 |
| |
| Reviewed by Anders Carlsson. |
| |
| This is a regression from r85356 and r83814. These two patches made WKWebView clear its selection |
| when WKView resigns the first responder without ever restoring it even if WKView later becomes |
| the first responder again. This is problematic when a text field or a editing host element had been |
| focused and selected prior to the resignation since the editing code uses the selection to determine |
| the editability of the element. |
| |
| Fixed the bug by restoring selection in [WKView becomeFirstResponder] if the selection is empty. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView becomeFirstResponder]): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::restoreSelectionInFocusedEditableElement): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::restoreSelectionInFocusedEditableElement): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2015-03-25 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION (r181660): Safari navigates to link after a starting and canceling a |
| force preview |
| https://bugs.webkit.org/show_bug.cgi?id=143057 |
| -and corresponding- |
| rdar://problem/20251436 |
| |
| Reviewed by Tim Horton. |
| |
| Always call _page->immediateActionDidUpdate() so that the EventHandler’s |
| ImmediateActionStage is appropriately updated. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]): |
| |
| Update the EventHandler’s ImmediateActionStage. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::immediateActionDidUpdate): |
| |
| 2015-03-25 Antti Koivisto <antti@apple.com> |
| |
| Separate entry decoding from validation |
| https://bugs.webkit.org/show_bug.cgi?id=143052 |
| |
| Reviewed by Chris Dumez. |
| |
| Make NetworkCache::Cache a class and move it to a file of its own. |
| Move the encoding/decoding code there. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::fetchDiskCacheEntries): |
| (WebKit::clearDiskCacheEntries): |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::sendReplyToSynchronousRequest): |
| (WebKit::NetworkResourceLoader::start): |
| (WebKit::NetworkResourceLoader::sendBufferMaybeAborting): |
| (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): |
| (WebKit::NetworkResourceLoader::validateCacheEntry): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::collectVaryingRequestHeaders): |
| (WebKit::NetworkCache::canUse): |
| |
| Focused function for deciding if we can use a cache entry and if it needs validation. |
| |
| (WebKit::NetworkCache::Cache::retrieve): |
| (WebKit::NetworkCache::Cache::store): |
| (WebKit::NetworkCache::Cache::update): |
| (WebKit::NetworkCache::Cache::traverse): |
| (WebKit::NetworkCache::encodeStorageEntry): Deleted. |
| (WebKit::NetworkCache::decodeStorageEntry): Deleted. |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: Added. |
| (WebKit::NetworkCache::Entry::Entry): |
| (WebKit::NetworkCache::Entry::encode): |
| (WebKit::NetworkCache::Entry::decode): |
| (WebKit::NetworkCache::Entry::initializeBufferFromStorageEntry): |
| (WebKit::NetworkCache::Entry::buffer): |
| (WebKit::NetworkCache::Entry::shareableResourceHandle): |
| (WebKit::NetworkCache::Entry::needsValidation): |
| (WebKit::NetworkCache::Entry::setNeedsValidation): |
| * NetworkProcess/cache/NetworkCacheEntry.h: Added. |
| (WebKit::NetworkCache::Entry::key): |
| (WebKit::NetworkCache::Entry::timeStamp): |
| (WebKit::NetworkCache::Entry::response): |
| (WebKit::NetworkCache::Entry::varyingRequestHeaders): |
| (WebKit::NetworkCache::Entry::sourceStorageEntry): |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::NetworkCache::cachedEntryReuseFailureToDiagnosticKey): |
| (WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-03-25 David Hyatt <hyatt@apple.com> |
| |
| Add a pref to enable the new block-inside-inline model |
| https://bugs.webkit.org/show_bug.cgi?id=143050 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetNewBlockInsideInlineModelEnabled): |
| (WKPreferencesGetNewBlockInsideInlineModelEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-03-25 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] WebUserMediaClient::pageDestroyed() virtual method should be marked as override |
| https://bugs.webkit.org/show_bug.cgi?id=143046 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * WebProcess/WebCoreSupport/WebUserMediaClient.h: Mark the WebUserMediaClient::pageDestroyed() |
| method, inherited from the WebCore::UserMediaClient, as an override. |
| |
| 2015-03-25 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GTK][WK2] WebPageProxy::failedToShowPopupMenu() virtual method should be marked as override |
| https://bugs.webkit.org/show_bug.cgi?id=143045 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/WebPageProxy.h: Mark the failedToShowPopupMenu(), inherited from |
| the WebPopupMenuProxy::Client class, as overridden. |
| |
| 2015-03-25 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] Clean up DrawingAreaImpl vtable overrides |
| https://bugs.webkit.org/show_bug.cgi?id=143044 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Declare virtual methods of the DrawingAreaImpl class as overridden where necessary. |
| |
| * WebProcess/WebPage/DrawingAreaImpl.h: |
| (WebKit::DrawingAreaImpl::layerTreeStateIsFrozen): Deleted. |
| (WebKit::DrawingAreaImpl::layerTreeHost): Deleted. |
| |
| 2015-03-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Inspector doesn't get focused when opened in dock mode |
| https://bugs.webkit.org/show_bug.cgi?id=143030 |
| |
| Reviewed by Anders Carlsson. |
| |
| The bug was caused by platformBringToFront and platformAttach calling makeFirstResponder on WKWebView, |
| which aren't intended to become the first responder. Fixed the bug by calling makeFirstResponder on the WKView |
| subview of the WKWebView, which is intended to be used as the first responder on behalf of the web view. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformBringToFront): |
| (WebKit::WebInspectorProxy::platformAttach): |
| |
| 2015-03-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Responses with 302 HTTP Status Code should not be cached |
| https://bugs.webkit.org/show_bug.cgi?id=143028 |
| <rdar://problem/19714040> |
| |
| Reviewed by Antti Koivisto. |
| |
| Responses with 302 HTTP Status Code should not be cached as per |
| RFC 7231: |
| http://tools.ietf.org/html/rfc7231#section-6.1 |
| |
| This patch updates our disk cache policy accordingly. |
| |
| Test: http/tests/cache/disk-cache/disk-cache-302-status-code.html |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canStore): |
| |
| 2015-03-24 Anders Carlsson <andersca@apple.com> |
| |
| Fix crash in WebKit::RemoteObjectRegistry::sendInvocation |
| https://bugs.webkit.org/show_bug.cgi?id=143027 |
| rdar://problem/20208674 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController dealloc]): |
| Make sure to invalidate the _WKRemoteObjectRegistry like we do in the UI process. |
| |
| 2015-03-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Responses with 204 HTTP Status Code should be cacheable by default |
| https://bugs.webkit.org/show_bug.cgi?id=143020 |
| <rdar://problem/20281529> |
| |
| Reviewed by Antti Koivisto. |
| |
| Make responses with 204 HTTP Status Code cacheable by default, as |
| per RFC 7231: |
| http://tools.ietf.org/html/rfc7231#section-6.3.5 |
| |
| Test: http/tests/cache/disk-cache/disk-cache-204-status-code.html |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canStore): |
| |
| 2015-03-24 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] Remove unused keyboard code in WKSelectPopover class. |
| https://bugs.webkit.org/show_bug.cgi?id=143021 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| WKSelectPopover created an instance of UIKeyboard that was |
| initialized in initWithView but never used. Removing the |
| obsolete code. |
| |
| * UIProcess/ios/forms/WKFormSelectPopover.mm: |
| (-[WKSelectPopover initWithView:hasGroups:]): |
| |
| 2015-03-24 Dan Bernstein <mitz@apple.com> |
| |
| WebKit2 part of <rdar://problem/20282863> Transforms are flattened in snapshots of on-screen WKWebViews |
| https://bugs.webkit.org/show_bug.cgi?id=143023 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): If the view is in a |
| window, use CARenderServerRenderLayerWithTransform to synchronously capture a snapshot of |
| its layer tree into an IOSurfcae, then call the completion handler with an image created |
| from the IOSurface. |
| |
| 2015-03-24 Beth Dakin <bdakin@apple.com> |
| |
| Add events related to force click gesture |
| https://bugs.webkit.org/show_bug.cgi?id=142836 |
| -and corresponding- |
| rdar://problem/20210239 |
| |
| Reviewed by Dean Jackson. |
| |
| ActionMenuHitTestResult has a new bool indicating whether to not the HitTestResult |
| will prevent default. |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| |
| Send immediateActionDidUpdate and the normalized force over the the WebProcess. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::immediateActionDidUpdate): |
| * UIProcess/WebPageProxy.h: |
| |
| We need a dummy animation controller when web content is overriding the default |
| behavior. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| |
| Send along the update information. |
| (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]): |
| |
| Use the dummy animation controller if default has been prevented. |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| |
| Keep track of whether m_lastActionMenuHitTes prevented the default immediate |
| action behavior. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| Call dispatchMouseForceMayBegin() at hit test time. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| Call dispatchMouseForceChanged() if appropriate. |
| (WebKit::WebPage::immediateActionDidUpdate): |
| |
| Call dispatchMouseForceCancelled() if appropriate. |
| (WebKit::WebPage::immediateActionDidCancel): |
| |
| Call dispatchMouseForceDown() if appropriate. |
| (WebKit::WebPage::immediateActionDidComplete): |
| |
| 2015-03-24 Anders Carlsson <andersca@apple.com> |
| |
| Fix designated initializer violations |
| https://bugs.webkit.org/show_bug.cgi?id=143016 |
| rdar://problem/20268858 |
| |
| Reviewed by Dan Bernstein. |
| |
| Move -[WKProcessPool _initWithConfiguration:] to a class extension so we can make it the designated initializer. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _initWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| |
| 2015-03-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Responses with 404 HTTP Status Code should be cacheable by default |
| https://bugs.webkit.org/show_bug.cgi?id=143014 |
| <rdar://problem/20280310> |
| |
| Reviewed by Antti Koivisto. |
| |
| Make responses with 404 HTTP Status Code cacheable by default, as |
| per RFC 7231: |
| http://tools.ietf.org/html/rfc7231#section-6.5.4 |
| |
| Test: http/tests/cache/disk-cache/disk-cache-404-status-code.html |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canStore): |
| |
| 2015-03-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Remove NetworkCache FIXME comment about caching responses to OPTIONS requests |
| https://bugs.webkit.org/show_bug.cgi?id=143009 |
| |
| Reviewed by Andreas Kling. |
| |
| Remove NetworkCache FIXME comment about caching responses to OPTIONS |
| method as RFC 7234 says "Responses to the OPTIONS method are not |
| cacheable" [1]. |
| |
| [1] http://tools.ietf.org/html/rfc7231#page-31 |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canRetrieve): |
| |
| 2015-03-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] NetworkCache retrievals fail for entries with no body |
| https://bugs.webkit.org/show_bug.cgi?id=142979 |
| <rdar://problem/20264100> |
| |
| Reviewed by Antti Koivisto. |
| |
| NetworkCache retrievals were failing for entries with no body because |
| decodeEntry() doesn't correctly handle this case. In particular, the |
| following check fails: |
| "metaData.bodyOffset + metaData.bodySize == fileData.size()". |
| This is because bodyOffset is pageSize-aligned. |
| |
| As a result, the following resource on apple.com is stored in the cache |
| but we fail to reuse it and reload it from the network every time: |
| http://images.apple.com/home/styles/promos.css |
| |
| This patch updates decodeEntry() to create a null Data object for the |
| body if bodySize is 0. |
| |
| * NetworkProcess/cache/NetworkCacheDataCocoa.mm: |
| (WebKit::NetworkCache::Data::data): |
| Do not attempt to initialize m_data if m_dispatchData is null as the |
| call to dispatch_data_create_map() would then crash. We now return |
| null in this case. This is needed as decodeStorageEntry() in |
| NetworkCache.cpp constructs a SharedBuffer from |
| storageEntry.body.data() and the body may be null. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::decodeEntry): |
| |
| 2015-03-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] The WebKit network cache does not cache responses with "Content-Disposition: attachment" header |
| https://bugs.webkit.org/show_bug.cgi?id=142989 |
| <rdar://problem/20265992> |
| |
| Reviewed by Antti Koivisto. |
| |
| Update our WebKit network cache policy to cache responses with |
| "Content-Disposition: attachment" header. There is no reason we cannot |
| cache these and our memory cache already does. |
| |
| This was causing a decent amount of cache misses in the wild. I have |
| noticed for example that when loading disney.com, we fail to cache the |
| following resources because of this policy: |
| http://pagead2.googlesyndication.com/pagead/osd.js |
| http://pagead2.googlesyndication.com/pagead/show_companion_ad.js |
| |
| Those resources have Cache-Control headers that indicate they are meant |
| to be cacheable. |
| |
| Test: http/tests/cache/disk-cache-validation-attachment.html |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canStore): |
| |
| 2015-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed, another attempt to fix 32-bit build after r181881. |
| |
| * UIProcess/WebInspectorProxy.h: |
| |
| 2015-03-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed, attempt to fix 32-bit build after r181881. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| |
| 2015-03-19 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Support attaching to another view other than the WKView |
| https://bugs.webkit.org/show_bug.cgi?id=142892 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/C/WKInspector.cpp: |
| (WKInspectorAttach): Drive by fix so it used the last attachment side. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _inspectorAttachmentView]): Added. |
| (-[WKView _setInspectorAttachmentView:]): Added. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::createInspectorPage): |
| (WebKit::WebInspectorProxy::attachAvailabilityChanged): |
| Use platformCanAttach as a final check incase there is a different |
| attachment view that the platform knows about. |
| |
| * UIProcess/WebInspectorProxy.h: |
| (WebKit::WebInspectorProxy::attachmentSide): Added. |
| (WebKit::WebInspectorProxy::platformCanAttach): Added. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::attachmentViewDidChange): Added. |
| (WebKit::WebInspectorProxy::closeTimerFired): |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| (WebKit::WebInspectorProxy::platformCanAttach): |
| (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): |
| (WebKit::WebInspectorProxy::platformInspectedWindowHeight): |
| (WebKit::WebInspectorProxy::platformInspectedWindowWidth): |
| (WebKit::WebInspectorProxy::platformAttach): |
| (WebKit::WebInspectorProxy::platformDetach): |
| Use the _inspectorAttachmentView and change how the frame change notification |
| is observed and follow the attachment view as it changes. |
| |
| 2015-03-23 Tim Horton <timothy_horton@apple.com> |
| |
| Images shared to photos via action menu are padded with zeroes at the end |
| https://bugs.webkit.org/show_bug.cgi?id=142985 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Send the size of the image separately from the SharedMemory. |
| The SharedMemory's size can be rounded up, so we need to keep the original |
| size around in order to write the data to disk. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _hitTestResultImage]): |
| (-[WKActionMenuController _addImageToPhotos:]): |
| Use the image size instead of the SharedMemory size. |
| |
| 2015-03-23 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] WebContent crash attempting to select text with a gesture at RenderObject::absoluteBoundingBoxRect. |
| https://bugs.webkit.org/show_bug.cgi?id=142913 |
| rdar://problem/16400033 |
| |
| Reviewed by Sam Weinig. |
| |
| When looking for the best candidate range at the given position, |
| we should skip nodes that don't have a renderer. |
| This is a speculative fix. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::rangeForWebSelectionAtPosition): |
| |
| 2015-03-23 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION (Yosemite): WKView visibility notifications are messed up |
| https://bugs.webkit.org/show_bug.cgi?id=142945 |
| |
| Reviewed by Tim Horton. |
| |
| As these notifications cannot be used by NSView subclasses, create a separate |
| object for observing them. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKWindowVisibilityObserver initWithView:]): |
| (-[WKWindowVisibilityObserver startObserving:]): |
| (-[WKWindowVisibilityObserver stopObserving:]): |
| (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): |
| (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): |
| (-[WKView addWindowObserversForWindow:]): |
| (-[WKView removeWindowObservers]): Also, don't try to remove NSWindowWillOrderOffScreenNotification, |
| which we never start to observe. |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| |
| 2015-03-23 Anders Carlsson <andersca@apple.com> |
| |
| Make platform/mac-wk2/plugins/destroy-during-async-npp-new.html work again. |
| https://bugs.webkit.org/show_bug.cgi?id=133692 |
| rdar://problem/17255947 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Add plug-in destruction protectors around message receiver code that can call out to NPObjects or JavaScript |
| where we need the plug-in to stay around after the call. |
| |
| * Shared/Plugins/NPObjectMessageReceiver.cpp: |
| (WebKit::NPObjectMessageReceiver::invoke): |
| (WebKit::NPObjectMessageReceiver::invokeDefault): |
| (WebKit::NPObjectMessageReceiver::getProperty): |
| (WebKit::NPObjectMessageReceiver::setProperty): |
| (WebKit::NPObjectMessageReceiver::construct): |
| |
| 2015-03-23 Anders Carlsson <andersca@apple.com> |
| |
| Put the WK_NULLABLE_SPECIFIER in the right place for block parameters |
| https://bugs.webkit.org/show_bug.cgi?id=142975 |
| rdar://problem/19863930 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKNavigationDelegate.h: |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| * UIProcess/API/Cocoa/WKWebView.h: |
| |
| 2015-03-23 Tim Horton <timothy_horton@apple.com> |
| |
| Add a share item to the link action menu |
| https://bugs.webkit.org/show_bug.cgi?id=142961 |
| <rdar://problem/19198374> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _hitLinkURL]): |
| Factor out _hitLinkURL from various places. |
| |
| (-[WKActionMenuController _openURLFromActionMenu:]): |
| (-[WKActionMenuController _addToReadingListFromActionMenu:]): |
| (-[WKActionMenuController _defaultMenuItemsForVideo]): |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| (-[WKActionMenuController _createShareActionMenuItemForTag:withItems:]): |
| Adopt -[NSMenuItem standardShareMenuItemWithItems]. |
| All of the null-checking is unnecessary as it's impossible to enter |
| these functions with a null image/etc. |
| |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| * Shared/API/c/WKActionMenuItemTypes.h: |
| Add a 'Share' item to the link menu. |
| |
| 2015-03-23 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GTK] Use std::abs() in ClickCounter::currentClickCountForGdkButtonEvent() |
| https://bugs.webkit.org/show_bug.cgi?id=142964 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (ClickCounter::currentClickCountForGdkButtonEvent): Use the STL's std::abs() |
| instead of C's abs(). The templated nature of std::abs() ensures the proper |
| computation that matches the types of the passed-in values, and shuts down |
| a warning when compiling with Clang. |
| |
| 2015-03-23 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GTK][WK2] webkitBackForwardListChanged() should operate on a Vector reference |
| https://bugs.webkit.org/show_bug.cgi?id=142963 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitBackForwardList.cpp: |
| (webkitBackForwardListChanged): This function only reads from the passed-in |
| Vector of removed items, so only a const lvalue reference to the Vector |
| is needed. |
| * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: |
| |
| 2015-03-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add a configure option to build without Redirected XComposite Window |
| https://bugs.webkit.org/show_bug.cgi?id=142865 |
| |
| Reviewed by Žan Doberšek. |
| |
| Use USE(REDIRECTED_XCOMPOSITE_WINDOW) instead of |
| USE(TEXTURE_MAPPER_GL) && PLATFORM(X11). |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): Use the XID of the WebKitWebView |
| window as native surface handle when REDIRECTED_XCOMPOSITE_WINDOW |
| is disabled. |
| (webkitWebViewRenderAcceleratedCompositingResults): |
| (resizeWebKitWebViewBaseFromAllocation): |
| (webkitWebViewBaseEnterAcceleratedCompositingMode): |
| (webkitWebViewBaseExitAcceleratedCompositingMode): |
| * UIProcess/gtk/RedirectedXCompositeWindow.cpp: |
| * UIProcess/gtk/RedirectedXCompositeWindow.h: |
| |
| 2015-03-22 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] Enable WIRELESS_PLAYBACK_TARGET for WK1 |
| https://bugs.webkit.org/show_bug.cgi?id=142940 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::playbackTargetSelected): Argument to didChoosePlaybackTarget is now const. |
| |
| 2015-03-22 Anders Carlsson <andersca@apple.com> |
| |
| _WKWebsiteDataStore should clear WebSQL databases |
| https://bugs.webkit.org/show_bug.cgi?id=142947 |
| rdar://problem/20242174 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebsiteData/WebsiteDataTypes.h: |
| Add WebsiteDataTypeWebSQLDatabases. |
| |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| Initialize configuration.webSQLDatabaseDirectory. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: |
| Add WKWebsiteDataTypeWebSQLDatabases. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm: |
| (dataTypesToString): |
| Handle WKWebsiteDataTypeWebSQLDatabases. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataTypes): |
| (WebKit::toWKWebsiteDataTypes): |
| Handle WKWebsiteDataTypeWebSQLDatabases and WebsiteDataTypes::WebsiteDataTypeWebSQLDatabases. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| Initialize m_webSQLDatabaseDirectory and add a queue member variable. |
| |
| (WebKit::WebsiteDataStore::fetchData): |
| Fetch database origins. |
| |
| (WebKit::WebsiteDataStore::removeData): |
| Remove databases. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| Add new members. |
| |
| 2015-03-22 Dan Bernstein <mitz@apple.com> |
| |
| [iOS] Expose WebPageProxy::setInitialFocus as SPI |
| https://bugs.webkit.org/show_bug.cgi?id=142951 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]): New SPI. |
| Just calls through to WKWebContentView, but allows a nil completion handler. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView becomeFirstResponder]): Pass an empty lambda for the new callback parameter to |
| WebPageProxy::setInitialFocus. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setInitialFocus): Added a void callback parameter and made sure to |
| call it. |
| * UIProcess/WebPageProxy.h: |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]): |
| Added. Calls WebPageProxy::setInitialFocus, and once that completes, checks if anything was |
| focused and if so, becomes first responder, then calls the completion handler. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setInitialFocus): Added a callbackID parameter, and made sure to send the |
| callback message. Added a temporary change of m_userIsInteracting to true, so that the UI |
| process won’t ignore any StartAssistingNode message resulting from the focus change. |
| * WebProcess/WebPage/WebPage.h: |
| |
| * WebProcess/WebPage/WebPage.messages.in: Added a callbackID parameter to SetInitialFocus. |
| |
| 2015-03-21 Dean Jackson <dino@apple.com> |
| |
| Remove the prefix for CSS Transforms |
| https://bugs.webkit.org/show_bug.cgi?id=142927 |
| <rdar://problem/11568151> |
| |
| Reviewed by Simon Fraser. |
| |
| Rename AnimatedPropertyWebkitTransform to AnimatedPropertyTransform. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextureMapperAnimation>::encode): |
| |
| 2015-03-21 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL][GTK] Make WebKit2's generate-forwarding-headers.pl less verbose |
| https://bugs.webkit.org/show_bug.cgi?id=142908 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Scripts/generate-forwarding-headers.pl: |
| (createForwardingHeadersForFramework): |
| |
| 2015-03-21 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r181824. |
| https://bugs.webkit.org/show_bug.cgi?id=142935 |
| |
| Broke Windows build (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "Remove the prefix for CSS Transforms" |
| https://bugs.webkit.org/show_bug.cgi?id=142927 |
| http://trac.webkit.org/changeset/181824 |
| |
| 2015-03-20 Dean Jackson <dino@apple.com> |
| |
| Remove the prefix for CSS Transforms |
| https://bugs.webkit.org/show_bug.cgi?id=142927 |
| <rdar://problem/11568151> |
| |
| Reviewed by Simon Fraser. |
| |
| Rename AnimatedPropertyWebkitTransform to AnimatedPropertyTransform. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextureMapperAnimation>::encode): |
| |
| 2015-03-20 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] NetworkCache retrievals sometimes fail on browser startup |
| https://bugs.webkit.org/show_bug.cgi?id=142925 |
| <rdar://problem/20245368> |
| |
| Reviewed by Antti Koivisto. |
| |
| NetworkCache retrievals sometimes fail on browser startup for resources |
| that are actually cached. The reason is that we are using a bloom filter |
| for performance reasons to avoid unnecessary disk I/O and this bloom |
| filter is populated on start up in a background thread by traversing the |
| cache files on disk. However, when restoring the tabs on start-up we |
| sometimes query this bloom filter before it is completely populated and |
| we thus fail to retrieve cached entries because we think they don't |
| exist and don't check the disk. |
| |
| This patch adds an "isPopulatingContentsFilter" flag that is turned ON |
| on start up while we are populating the bloon filter. We then bypass |
| the bloom filter and send queries directly to disk on start up if this |
| flag is ON. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::initialize): |
| (WebKit::NetworkCache::Storage::retrieve): |
| (WebKit::NetworkCache::Storage::dispatchPendingWriteOperations): |
| (WebKit::NetworkCache::Storage::dispatchHeaderWriteOperation): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::cacheMayContain): |
| |
| 2015-03-20 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Allow stale content when restoring the browser's session state |
| https://bugs.webkit.org/show_bug.cgi?id=142916 |
| <rdar://problem/20243493> |
| |
| Reviewed by Darin Adler. |
| |
| Allow stale content when restoring the browser's session state |
| (restoring all tabs from previous session), e.g. |
| - Via History > Reopen All windows from previous session on Safari |
| - Happens on startup for MobileSafari |
| |
| I have verified that using "Open in tabs" on a bookmarks folder |
| still does fresh loads (rdar://problem/8131355) as it is not using |
| the restoreFromSessionState() code path. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reattachToWebProcessForReload): |
| (WebKit::WebPageProxy::reattachToWebProcessWithItem): |
| (WebKit::WebPageProxy::goForward): |
| (WebKit::WebPageProxy::goBack): |
| (WebKit::WebPageProxy::goToBackForwardItem): |
| (WebKit::WebPageProxy::restoreFromSessionState): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::goToBackForwardItem): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2015-03-20 Beth Dakin <bdakin@apple.com> |
| |
| [Immediate Actions] Should re-enable immediate actions for iBooks |
| https://bugs.webkit.org/show_bug.cgi?id=142915 |
| -and corresponding- |
| rdar://problem/19585689 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| |
| 2015-03-20 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards CMake on Mac. |
| https://bugs.webkit.org/show_bug.cgi?id=136003 |
| |
| Reviewed by Chris Dumez. |
| |
| * PlatformMac.cmake: |
| Add include directories and forwarding headers. |
| * Shared/API/APIObject.h: |
| (API::ObjectImpl::operator new): |
| * UIProcess/DrawingAreaProxy.h: |
| (WebKit::DrawingAreaProxy::intrinsicContentSizeDidChange): |
| * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: |
| Fix some unused parameter warnings. |
| |
| 2015-03-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [CMake] Remove duplicated cmake function calls in WebKit2/CMakeLists.txt |
| https://bugs.webkit.org/show_bug.cgi?id=142901 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| add_depencencies(), install() can support multiple targets or location. |
| We don't need to call it twice. |
| |
| * CMakeLists.txt: Additionaly move -DBUILDING_WEBKIT to PlatformGTK.cmake, |
| because it is only used by GTK port. |
| |
| 2015-03-20 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GTK] Disable accelerated compositing on Wayland |
| https://bugs.webkit.org/show_bug.cgi?id=142877 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseCreateWebPage): As was done in the past, we should disable |
| accelerated compositing on Wayland until the proper support for it lands. |
| |
| 2015-03-19 Andy Estes <aestes@apple.com> |
| |
| [Content Filtering] Add tests for unblock requests |
| https://bugs.webkit.org/show_bug.cgi?id=142900 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/Cocoa/WebPageProxyCocoa.mm: |
| (WebKit::WebPageProxy::contentFilterDidBlockLoadForFrame): Called WebFrameProxy::contentFilterDidBlockLoad. |
| * UIProcess/WebFrameProxy.cpp: |
| (WebKit::WebFrameProxy::didStartProvisionalLoad): Assigned a default-constructed ContentFilterUnblockHandler instead of calling clear(). |
| (WebKit::WebFrameProxy::didHandleContentFilterUnblockNavigation): Renamed from contentFilterDidHandleNavigationAction. |
| Updated to use ContentFilterUnblockHandler's new API. |
| (WebKit::WebFrameProxy::contentFilterDidHandleNavigationAction): Deleted. |
| * UIProcess/WebFrameProxy.h: |
| (WebKit::WebFrameProxy::contentFilterDidBlockLoad): Renamed from setContentFilterUnblockHandler. |
| (WebKit::WebFrameProxy::setContentFilterUnblockHandler): Deleted. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): Called WebFrameProxy::didHandleContentFilterUnblockNavigation. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::contentFilterDidBlockLoad): If the unblock handler needs the UI process, |
| send WebPageProxy::ContentFilterDidBlockLoadForFrame. Oterwise, call PolicyChecker::setContentFilterUnblockHandler. |
| |
| 2015-03-20 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GTK] Properly guard X11-specific code in BackingStore::createBackend() |
| https://bugs.webkit.org/show_bug.cgi?id=142875 |
| |
| Reviewed by Martin Robinson. |
| |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::BackingStore::createBackend): Guard the GTK- and X11-specific |
| bit of code with PLATFORM(GTK) and PLATFORM(X11). Testing GDK_WINDOWING_X11 |
| ensures that the GTK+ dependency has X11 support, but does not ensure |
| that WebKitGTK+ has been configured to build for X11 environments (which |
| is what PLATFORM(X11) ensures). |
| |
| 2015-03-19 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] We should allow stale content when restoring a killed / crashed WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=142893 |
| <rdar://problem/19633737> |
| <rdar://problem/19869257> |
| |
| Reviewed by Antti Koivisto. |
| |
| Allow stale content when restoring a killed / crashed WebProcess |
| (similarly to a history navigation). This is actually what was intended |
| as we call WebPage::goToBackForwardItem() in this case, which uses |
| IndexedBackForward load type. However, this value was then ignored in |
| FrameLoader::loadDifferentDocumentItem(). |
| |
| This patch gets rid of the special casing in |
| FrameLoader::loadDifferentDocumentItem() and makes it clear at call |
| sites when calling goToBackForwardItem() if we should allow stale |
| content or not. If goToBackForwardItem() is called with the |
| allowStaleContent flag off, we'll keep using the IndexedBackForward |
| frame load type. However, if the flag is on, we'll use the Standard |
| frame load type and do a fresh load. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reattachToWebProcessForReload): |
| Set allowStaleContent flag to true as we want to allow stale content |
| when reloading a WebProcess after it crashed or was killed (behavior |
| change). |
| |
| (WebKit::WebPageProxy::reattachToWebProcessWithItem): |
| Add allowStaleContent parameter so that call sites can decide which |
| policy to use. |
| |
| (WebKit::WebPageProxy::goForward): |
| (WebKit::WebPageProxy::goBack): |
| Set allowStaleContent flag to true as this is our policy for history |
| navigations. |
| |
| (WebKit::WebPageProxy::goToBackForwardItem): |
| Add allowStaleContent parameter so that the call site can let us know |
| what to do. This is useful as this is called not only for indexed |
| back / forward navigations (allowing stale content) but also for |
| restoring session state (forbidding state content: |
| <rdar://problem/8131355>). |
| |
| (WebKit::WebPageProxy::restoreFromSessionState): |
| Call goToBackForwardItem() with allowStaleContent flag set to false |
| as users expect fresh contents in this case. This method is called |
| when: |
| - Tabs are restored on Safari / MobileSafari startup |
| - Tabs are restored via "History > Reopen All windows from last session" |
| |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::goToBackForwardItem): |
| Add allowStaleContent parameter and use "Standard" frame load type |
| instead of "IndexedBackForward" if it is false. This is needed as |
| "IndexedBackForward" frame load type allows using stale content. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| Add allowStaleContent flag to GoToBackForwardItem message. |
| |
| 2015-03-19 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] Move MediaPlaybackTargetPicker |
| https://bugs.webkit.org/show_bug.cgi?id=142889 |
| |
| Move WebMediaPlaybackTargetPickerProxy to WebCore so it can be used by |
| both WK2 and WK1. |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebMediaPlaybackTargetPickerProxy.cpp: Removed. |
| * UIProcess/WebMediaPlaybackTargetPickerProxy.h: Removed. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::devicePickerProxy): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::createPlaybackTargetPicker): |
| * UIProcess/mac/WebMediaPlaybackTargetPickerProxyMac.h: Removed. |
| * UIProcess/mac/WebMediaPlaybackTargetPickerProxyMac.mm: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-03-19 Jessie Berlin <jberlin@webkit.org> |
| |
| 32-bit build fix after r181770. |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController initWithWindow:webView:]): |
| |
| 2015-03-19 Anders Carlsson <andersca@apple.com> |
| |
| Add support for deleting individual cache entries |
| https://bugs.webkit.org/show_bug.cgi?id=142886 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::fetchDiskCacheEntries): |
| Remove an unnecessary call to cfURLCacheOrigins(). |
| |
| (WebKit::clearDiskCacheEntries): |
| Helper function for clearing disk cache entries. This handles both the old and new cache implementations. |
| |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| Call clearDiskCacheEntries if needed. |
| |
| 2015-03-19 Jer Noble <jer.noble@apple.com> |
| |
| [WK2][Mac] Fullscreen animations with mismatched aspect ratios are "squished". |
| https://bugs.webkit.org/show_bug.cgi?id=142132 |
| |
| Reviewed by Tim Horton. |
| |
| Use CALayer animations for the transition into and out of fullscreen. |
| |
| The fullscreen transition consists of three separate animations: |
| 1. An opacity animation for the black backdrop behind the fullscreen content |
| 2. A scale/translation animation from fullscreen element's initial screen to its final one. |
| 3. A clip animation from the fullscreen element's initial aspect ratio to its final one. |
| |
| The opacity animation will apply to the fullscreen window's content view's layer's |
| background color. To separately animate the transform and mask of the web view's content, a |
| layer-backed subview is added to the content view, and the scale/translation & clip |
| animations are applied to its transform property and mask layer respectively. |
| |
| Utility methods to create each animation have been added, and each includes a parameter for |
| the direction of the animation, so that the same methods can be used for entering and |
| exiting fullscreen transitions. |
| |
| The user-visible changes to this new transition are when the aspect ratios of the initial |
| and final screen locations are different: previously the transition would use a scale |
| transform to "squish" the fullscreen content into the initial aspect ratio. The new |
| transition instead "clips" the fullscreen content to the initial aspect ratio. For common |
| operations such a <video> element with a different aspect ratio than the screen, this makes |
| the black letterbox "grow" during the transition, and makes the transition overall much |
| smoother. |
| |
| * UIProcess/mac/WKFullScreenWindowController.h: |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController initWithWindow:webView:]): Create and initialze the clipping view. |
| (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): _backgroundWindow was removed. |
| (-[WKFullScreenWindowController enterFullScreen:]): Add the webView to the _clipView, not the contentView. |
| (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): _backgroundWindow, |
| _fadeAnimation, and _scaleAnimation are all removed. |
| (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Ditto. |
| (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto. Hide the contentView's |
| layer. Pause visibility updates. |
| (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Resume visibility updates. |
| (-[WKFullScreenWindowController close]): _fadeAnimation and _scaleAnimation are removed. |
| (-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Return only the fullscreen |
| window. |
| (-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto. |
| (zoomAnimation): Added. |
| (maskAnimation): Added. |
| (fadeAnimation): Added. |
| (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Use the utility |
| methods above to set up the animation. |
| (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Ditto. |
| (createBackgroundFullscreenWindow): Deleted. |
| (windowFrameFromApparentFrames): Deleted. |
| |
| 2015-03-19 Enrica Casucci <enrica@apple.com> |
| |
| <attachment> should put URLs on the pasteboard so that Finder can accept drops. |
| https://bugs.webkit.org/show_bug.cgi?id=142801 |
| rdar://problem/19982527 |
| |
| Reviewed by Tim Horton. |
| |
| This patch adds all the necessary support to write attachment elements into |
| the pasteboard, including the promised type in WK2. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setPromisedDataForImage:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): |
| (-[WKView _setPromisedDataForAttachment:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): |
| (-[WKView namesOfPromisedFilesDroppedAtDestination:]): |
| (-[WKView _setPromisedData:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Deleted. |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::setPromisedDataForImage): |
| (WebKit::PageClientImpl::setPromisedDataForAttachment): |
| (WebKit::PageClientImpl::setPromisedData): Deleted. |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::setPromisedDataForImage): |
| (WebKit::WebPageProxy::setPromisedDataForAttachment): |
| (WebKit::WebPageProxy::setPromisedData): Deleted. |
| * WebProcess/WebCoreSupport/WebDragClient.h: |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::declareAndWriteAttachment): |
| (WebKit::WebDragClient::declareAndWriteDragImage): |
| |
| 2015-03-19 Anders Carlsson <andersca@apple.com> |
| |
| Cache::remove should take a Key instead of an entry |
| https://bugs.webkit.org/show_bug.cgi?id=142878 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::remove): |
| * NetworkProcess/cache/NetworkCache.h: |
| |
| 2015-03-19 Chris Dumez <cdumez@apple.com> |
| |
| Clean up DOMTimer related settings |
| https://bugs.webkit.org/show_bug.cgi?id=142837 |
| |
| Reviewed by Darin Adler. |
| |
| Stop setting the DOMTimers' default minimum interval to 4ms as this |
| is now the default. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| |
| 2015-03-19 Chris Dumez <cdumez@apple.com> |
| |
| The network cache should ignore "cache-control: no-cache, must-revalidate" on history navigation |
| https://bugs.webkit.org/show_bug.cgi?id=142831 |
| <rdar://problem/20209957> |
| |
| Reviewed by Antti Koivisto. |
| |
| The network cache should ignore "no-cache" and "must-revalidate" as |
| Cache-Control policy for history navigations to avoid unnecessary |
| revalidation in this case. Our memory cache already behaves this way. |
| |
| On history navigation, our disk cache implementation currently |
| revalidates unconditionally resources if "cache-control: no-cache" is |
| used. It also revalidates expired resources if "cache-control: |
| must-revalidate" is used. This is sub-optimal. |
| |
| RFC 7234 does not require us to do so [1]: |
| """ |
| User agents often have history mechanisms, such as "Back" buttons and |
| history lists, that can be used to redisplay a representation |
| retrieved earlier in a session. |
| |
| The freshness model (Section 4.2) does not necessarily apply to |
| history mechanisms. That is, a history mechanism can display a |
| previous representation even if it has expired. |
| """ |
| |
| Chrome and IE9+ [2] already ignore "cache-control: must-revalidate" on history navigation. |
| |
| [1] https://tools.ietf.org/html/rfc7234#page-32 |
| [2] http://blogs.msdn.com/b/ie/archive/2010/07/14/caching-improvements-in-internet-explorer-9.aspx |
| |
| Test: http/tests/cache/disk-cache-validation-back-navigation-policy.html |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::decodeStorageEntry): |
| |
| 2015-03-18 Simon Fraser <simon.fraser@apple.com> |
| |
| Don't paint PDFs on every scroll |
| https://bugs.webkit.org/show_bug.cgi?id=142857 |
| rdar://problem/20130207 |
| |
| Reviewed by Tim Horton. |
| |
| Don't push a scale factor onto the PDF layer controller if it hasn't |
| changed, since doing so causes a repaint. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): |
| |
| 2015-03-18 Anders Carlsson <andersca@apple.com> |
| |
| Use && instead of & when deciding if the network cache should be cleared |
| https://bugs.webkit.org/show_bug.cgi?id=142845 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteData): |
| |
| 2015-03-18 Anders Carlsson <andersca@apple.com> |
| |
| Add WKContextGetWebsiteDataStore API |
| https://bugs.webkit.org/show_bug.cgi?id=142832 |
| rdar://problem/16544715 |
| |
| Reviewed by Sam Weinig. |
| |
| Also add WKWebsiteDataStoreRef which is toll-free bridged to _WKWebsiteDataStore. |
| |
| * Shared/API/c/WKBase.h: |
| Add new declaration. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::create): |
| * UIProcess/API/APIWebsiteDataStore.h: |
| Add a new function that takes a configuration. |
| |
| * UIProcess/API/C/WKAPICast.h: |
| Add cast. |
| |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetWebsiteDataStore): |
| Return the context's website data store. |
| |
| * UIProcess/API/C/WKContext.h: |
| Add new declaration. |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: Added. |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: Added. |
| Add new files. |
| |
| * UIProcess/WebKeyValueStorageManager.cpp: |
| (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): |
| (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): |
| (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): |
| (WebKit::WebKeyValueStorageManager::deleteAllEntries): |
| Update now that WebProcessPool holds on to an API::WebsiteDataStore. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::WebProcessPool::createWebPage): |
| * UIProcess/WebProcessPool.h: |
| WebProcessPool should hold on to an API::WebsiteDataStore instead of a WebKit::WebsiteDataStore. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| 2015-03-18 Tim Horton <timothy_horton@apple.com> |
| |
| Cannot invoke action menus anymore |
| https://bugs.webkit.org/show_bug.cgi?id=142797 |
| <rdar://problem/20032670> |
| |
| * UIProcess/API/mac/WKView.mm: |
| Need one more respondsToSelector check. |
| |
| 2015-03-18 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Log the number of network cache requests that we have never seen before |
| https://bugs.webkit.org/show_bug.cgi?id=142828 |
| <rdar://problem/19632130> |
| |
| Reviewed by Antti Koivisto. |
| |
| Log the number of network cache requests that we have never seen before |
| using diagnostic logging. |
| |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::NetworkCache::Statistics::recordNotUsingCacheForRequest): |
| (WebKit::NetworkCache::Statistics::recordRetrievalFailure): |
| |
| 2015-03-17 Antti Koivisto <antti@apple.com> |
| |
| Prune least valuable cache entries first |
| https://bugs.webkit.org/show_bug.cgi?id=142810 |
| rdar://problem/19632130 |
| |
| Reviewed by Darin Adler. |
| |
| When pruning the cache estimate relative value of each entry using formula |
| |
| age = current time - creation time |
| accessAge = last access time - creation time |
| value = accessAge / age |
| |
| That is, we value entries that have been accessed recently and survived in the cache longest. |
| |
| The most valuable entries don't get deleted at all while the deletion probablity ramps up for |
| lower value entries. |
| |
| * NetworkProcess/cache/NetworkCacheFileSystemPosix.h: |
| (WebKit::NetworkCache::fileTimes): |
| |
| Get the creation time and access time for a file. |
| |
| (WebKit::NetworkCache::updateFileAccessTimeIfNeeded): |
| |
| Update access time manually if the file system doesn't do it automatically. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannel.h: |
| (WebKit::NetworkCache::IOChannel::path): |
| (WebKit::NetworkCache::IOChannel::type): |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::IOChannel): |
| (WebKit::NetworkCache::IOChannel::open): |
| |
| Remember the file path and move most of the work to constructor. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::Storage): |
| (WebKit::NetworkCache::Storage::remove): |
| (WebKit::NetworkCache::Storage::updateFileAccessTime): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::deletionProbability): |
| |
| Compute the probability based on entry age and access time. |
| |
| (WebKit::NetworkCache::Storage::shrinkIfNeeded): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::serialBackgroundIOQueue): |
| (WebKit::NetworkCache::Storage::deleteQueue): Deleted. |
| |
| More generic name. |
| |
| 2015-03-18 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Log total number of network cache queries using diagnostic logging |
| https://bugs.webkit.org/show_bug.cgi?id=142803 |
| <rdar://problem/19632130> |
| |
| Reviewed by Antti Koivisto. |
| |
| Log total number of network cache queries using diagnostic logging. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::NetworkCache::Statistics::recordCacheRetrievalRequest): |
| |
| 2015-03-18 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] We should not even try the network cache for non-HTTP protocol requests |
| https://bugs.webkit.org/show_bug.cgi?id=142802 |
| <rdar://problem/19632130> |
| |
| Reviewed by Antti Koivisto. |
| |
| We should not even try the network cache for non-HTTP protocol requests |
| and the network cache cannot handle those. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::start): |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::canRetrieve): |
| (WebKit::NetworkCache::Cache::retrieve): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::NetworkCache::retrieveDecisionToDiagnosticKey): |
| |
| 2015-03-17 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Ignore some deprecation warnings |
| https://bugs.webkit.org/show_bug.cgi?id=142813 |
| |
| Reviewed by Mark Rowe. |
| |
| Fixing the deprecations is tracked by: <rdar://problem/20201450> |
| |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::populate): |
| |
| 2015-03-17 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Expose JavaScript binding interface through ewk_extension |
| https://bugs.webkit.org/show_bug.cgi?id=142033 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformEfl.cmake: |
| * UIProcess/API/efl/tests/extensions/extension_sample.cpp: Registered test object for new test case. |
| * UIProcess/API/efl/tests/test_ewk2_javascript_binding.cpp: Added simple binding API test case. |
| (EWK2ContextTestWithExtension::messageReceivedCallback): |
| (EWK2ContextTestWithExtension::EWK2ContextTestWithExtension): |
| (TEST_F): |
| * WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: |
| (EwkExtension::didCreatePage): |
| (EwkExtension::willDestroyPage): |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.h: |
| * WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: |
| * WebProcess/InjectedBundle/API/efl/ewk_page.cpp: Added. |
| (toEwkPage): |
| (EwkPage::EwkPage): |
| (EwkPage::append): |
| (EwkPage::remove): |
| (EwkPage::didFinishDocumentLoadForFrame): |
| (ewk_page_js_global_context_get): |
| (ewk_page_client_register): |
| (ewk_page_client_unregister): |
| * WebProcess/InjectedBundle/API/efl/ewk_page.h: Added. |
| * WebProcess/InjectedBundle/API/efl/ewk_page_private.h: Added. |
| (EwkPage::page): |
| * efl/ewebkit2-extension.pc.in: |
| |
| 2015-03-17 Tim Horton <timothy_horton@apple.com> |
| |
| Cannot invoke action menus anymore |
| https://bugs.webkit.org/show_bug.cgi?id=142797 |
| <rdar://problem/20032670> |
| |
| * UIProcess/API/mac/WKView.mm: |
| Need a respondsToSelector check. |
| |
| 2015-03-17 Tim Horton <timothy_horton@apple.com> |
| |
| Cannot invoke action menus anymore |
| https://bugs.webkit.org/show_bug.cgi?id=142797 |
| <rdar://problem/20032670> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/mac/WKView.mm: |
| Don't process mouse events that would make an action menu; call super |
| and let AppKit take care of it. We have to duplicate the macro so that |
| we can avoid calling super for the internal-only methods. |
| Also, otherMouseMoved is simply not a thing, so remove it. |
| |
| 2015-03-17 Beth Dakin <bdakin@apple.com> |
| |
| DOM mouse events have weird timing for force clickable elements in Safari 8.0.3 on |
| 10.10.2 |
| https://bugs.webkit.org/show_bug.cgi?id=142700 |
| -and corresponding- |
| rdar://problem/20165168 |
| |
| Reviewed by Tim Horton. |
| |
| No need to tell the WKImmediateActionController about mouse down any more since we |
| are expecting it at the beginning of an immediate action interaction. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView mouseDown:]): |
| |
| Set the delaysPrimaryMouseButtonEvents to NO for the |
| _immediateActionGestureRecognizer. This will cause AppKit to send up the mouse |
| events at the expected time. |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| |
| WebCore::EventHandler now needs to know if an immediate action cancelled or |
| completed. This plumbs that information down. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::immediateActionDidCancel): |
| (WebKit::WebPageProxy::immediateActionDidComplete): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]): |
| (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]): |
| (-[WKImmediateActionController wkView:willHandleMouseDown:]): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| Call EventHandler::setImmediateActionStage() with the appropriate stage. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::immediateActionDidCancel): |
| (WebKit::WebPage::immediateActionDidComplete): |
| |
| 2015-03-17 Timothy Horton <timothy_horton@apple.com> |
| |
| Reproducible null deref under ScriptedAnimationController::createDisplayRefreshMonitor |
| https://bugs.webkit.org/show_bug.cgi?id=142776 |
| <rdar://problem/18921338> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::createDisplayRefreshMonitor): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| Adjust to the new signature. |
| |
| 2015-03-17 Antti Koivisto <antti@apple.com> |
| |
| Disk cache should support Vary: Cookie |
| https://bugs.webkit.org/show_bug.cgi?id=142770 |
| rdar://problem/19764945 |
| |
| Reviewed by Anders Carlsson. |
| |
| Cookies are not part of the original request but are added by the networking layer when submitting the request. |
| Fetch them explicitly when resolving Vary: Cookie. |
| |
| The implementation is not perfect as it fetches the cookie for the cache entry when saving a Vary:Cookie response, |
| not when making the request. In principle the cookie may have changed in-between. This should be enough to handle |
| reasonable cases though. Fetching cookies for every request might be too expensive for this rarely used feature. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::headerValueForVary): |
| (WebKit::NetworkCache::encodeStorageEntry): |
| (WebKit::NetworkCache::verifyVaryingRequestHeaders): |
| |
| 2015-03-17 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] Use C++ lambdas in IPC::Connection |
| https://bugs.webkit.org/show_bug.cgi?id=138018 |
| |
| Reviewed by Anders Carlsson. |
| |
| Replace uses of WTF::bind() in the IPC::Connection class with C++ lambdas. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::dispatchWorkQueueMessageReceiverMessage): |
| (IPC::Connection::invalidate): |
| (IPC::Connection::sendMessage): |
| (IPC::Connection::processIncomingMessage): Simplify the error messages so we |
| don't have to format strings on-the-fly, removing the issues of cross-thread |
| string copying altogether. |
| (IPC::Connection::dispatchDidReceiveInvalidMessage): The parameters are now |
| of the StringReference type. |
| (IPC::Connection::enqueueIncomingMessage): |
| * Platform/IPC/Connection.h: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::receiveSourceEventHandler): |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::open): |
| |
| 2015-03-17 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CMake] Use a forwarding header for ANGLE's ShaderLang.h to avoid picking up ANGLE's EGL headers |
| https://bugs.webkit.org/show_bug.cgi?id=142530 |
| |
| Reviewed by Darin Adler. |
| |
| * CMakeLists.txt: Replace the Source/ThirdParty/ANGLE/include/GLSLANG entry |
| in the list of inclusion directories for WebKit2 with Source/ThirdParty/ANGLE, |
| possible due to the new forwarding header for ANGLE's ShaderLang.h. |
| |
| 2015-03-17 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| REGRESSION(r180924): Unable to build WebKitGTK+ with threaded compositor |
| |
| Unreviewed build fix. |
| |
| * WebProcess/WebPage/LayerTreeHost.h: |
| Remove duplicated declaration of setNativeSurfaceHandleForCompositing. |
| |
| 2015-03-16 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Enable ES6 classes by default |
| https://bugs.webkit.org/show_bug.cgi?id=142774 |
| |
| Reviewed by Gavin Barraclough. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-03-16 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Don't pass nil as a fireDate for NSTimer |
| https://bugs.webkit.org/show_bug.cgi?id=142765 |
| |
| Reviewed by Dan Bernstein. |
| |
| While we're here, switch to a selector that conforms to documented NSTimer API. |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController cancelOperation:]): |
| Set the timer's fireDate as the future date matching the former interval; update the selector. |
| (-[WKFullScreenWindowController _watchdogTimerFired:]): |
| Timer callback; wrap -exitFullScreen. |
| |
| 2015-03-16 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards CMake on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=142747 |
| |
| Reviewed by Chris Dumez. |
| |
| * PlatformMac.cmake: |
| Started adding Mac-specific directories and headers. |
| |
| 2015-03-16 Alexey Proskuryakov <ap@apple.com> |
| |
| ASSERT(m_plugin) on plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html |
| https://bugs.webkit.org/show_bug.cgi?id=142637 |
| |
| Reviewed by Dean Jackson. |
| |
| * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::pluginSnapshotTimerFired): |
| m_plugin can be legitimately null. |
| |
| 2015-03-16 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more URTBF after r181578. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-03-16 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r181578. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::setCSSAnimationTriggersEnabled): Copy/paste error fixed. |
| |
| 2015-03-16 Dean Jackson <dino@apple.com> |
| |
| Expose WK2 preference for Animation Triggers runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=142744 |
| |
| Reviewed by Anders Carlsson. |
| |
| Expose CSSAnimationTriggersEnabled, linking it to the runtime enabled |
| feature flag. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetCSSAnimationTriggersEnabled): |
| (WKPreferencesGetCSSAnimationTriggersEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| (WebKit::InjectedBundle::setCSSAnimationTriggersEnabled): |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-03-16 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Allow clients to selectively disable plug-ins |
| https://bugs.webkit.org/show_bug.cgi?id=142506 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them |
| from the page). As part of this: |
| |
| 1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying |
| set of plug-ins. |
| |
| 2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper |
| down the stack. |
| |
| 3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce |
| a concrete implementation thereof in WebPlatformStrategies in WebKit2. |
| |
| 4) Add messaging infrastructure to allow clients to set and clear plug-in policies. |
| |
| While currently only used in a very limited manner, the new declarative plug-in policies are written generically |
| so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins. |
| |
| * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: |
| (WebKit::NetscapePluginModule::getPluginInfo): |
| Set new PluginInfo members. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<PluginInfo>::encode): |
| Handle new PluginInfo members. |
| (IPC::ArgumentCoder<PluginInfo>::decode): |
| Ditto. |
| |
| * Shared/WebProcessCreationParameters.h: |
| Declare a member to store client plug-in policies. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| Encode the policies. |
| (WebKit::WebProcessCreationParameters::decode): |
| Decode the policies. |
| |
| * UIProcess/API/C/WKAPICast.h: |
| (WebKit::toWKPluginLoadClientPolicy): |
| Teach how to cast between WebCore and WebKit2 policy definitions. |
| (WebKit::toPluginLoadClientPolicy): |
| Ditto. |
| |
| * UIProcess/API/C/WKPluginLoadPolicy.h: |
| Declare WKPluginLoadClientPolicy, matching PluginLoadClientPolicy in WebCore. |
| |
| * UIProcess/API/C/mac/WKContextPrivateMac.h: |
| * UIProcess/API/C/mac/WKContextPrivateMac.mm: |
| (WKContextSetPluginLoadClientPolicy): |
| New function; wrap WebProcessPool::setPluginLoadClientPolicy(). |
| (WKContextClearPluginClientPolicies): |
| New function; wrap WebProcessPool::clearPluginClientPolicies(). |
| |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| Copy any client plug-in policies to the new process' creation parameters. |
| (WebKit::WebProcessPool::setPluginLoadClientPolicy): |
| Send SetPluginLoadClientPolicy to all processes and stash the passed-in policy info. |
| (WebKit::WebProcessPool::clearPluginClientPolicies): |
| Send ClearPluginClientPolicies to all processes and clear any stashed policy info. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::pluginInfo): |
| Set new PluginInfo member. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::pluginSupportsExtension): |
| Adopt getWebVisibleMimesAndPluginIndices(). |
| (WebKit::WebFrameLoaderClient::objectContentType): |
| Update to reflect reflect function rename. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::getPluginInfo): |
| Pass the Page to populatePluginCache(). |
| (WebKit::WebPlatformStrategies::getWebVisiblePluginInfo): |
| New member function; wrap getPluginInfo(); if appropriate, filter out plug-ins the client has asked |
| to block on the current page. |
| (WebKit::WebPlatformStrategies::setPluginLoadClientPolicy): |
| New member function; map empty inputs to a wildcard character and insert the new policy into the nested map. |
| (WebKit::WebPlatformStrategies::clearPluginClientPolicies): |
| New member function; empty m_hostsToPluginIdentifierData. |
| (WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost): |
| New member function; look up the most specific policy for the given plug-in and host. |
| (WebKit::WebPlatformStrategies::populatePluginCache): |
| If appropriate, set the client load policy on the plug-ins; do this irrespective of whether the cache has |
| been populated since the Page, and therefore host, may change. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::canShowMIMEType): |
| Update to reflect function rename. |
| |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| Enumerate and process the client plug-in policies in the creation parameters. |
| (WebKit::WebProcess::setPluginLoadClientPolicy): |
| New member function; wrap PluginStrategy::setPluginLoadClientPolicy. |
| (WebKit::WebProcess::clearPluginClientPolicies): |
| New member function; wrap PluginStrategy::clearPluginClientPolicies(). |
| |
| * WebProcess/WebProcess.messages.in: |
| Add messages for setting and clearing policies. |
| |
| 2015-03-16 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Add new Notification classes to GTK+ API documentation. |
| |
| Add WebKitNotification and WebKitNotificationPermissionRequest to |
| the documentation and fix some other typos causing warnings when |
| generating HTML documentation. |
| |
| * UIProcess/API/gtk/WebKitUserContent.cpp: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_class_init): |
| * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: |
| |
| 2015-03-16 Przemyslaw Piorkowski <p.piorkowski@samsung.com> |
| |
| [EFL][WK2] REGRESSION(r178526): test_ewk2_storage_manager has been failed for a long time |
| https://bugs.webkit.org/show_bug.cgi?id=141249 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformEfl.cmake: Enable test_ewk2_storage_manager for EFL port - it is passing now. |
| |
| 2015-03-16 David Kilzer <ddkilzer@apple.com> |
| |
| [iOS] REGRESSION (r181511): Most layout tests crash with a NULL deref |
| |
| Follow-up fix for: |
| [iOS] Presenting a modal sheet on top of a WKWebView causes it to lose focused, active state |
| <http://webkit.org/b/142702> |
| |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::isViewWindowActive): Add NULL check for m_webView. |
| (WebKit::PageClientImpl::isViewFocused): Ditto. |
| |
| 2015-03-15 Simon Fraser <simon.fraser@apple.com> |
| |
| Clean up related to wheelEvent names |
| https://bugs.webkit.org/show_bug.cgi?id=142713 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add EventNames::isWheelEventType() and use it in places that test for the |
| two wheel event names. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::handleEvent): |
| |
| 2015-03-15 Dan Bernstein <mitz@apple.com> |
| |
| [iOS] Presenting a modal sheet on top of a WKWebView causes it to lose focused, active state |
| https://bugs.webkit.org/show_bug.cgi?id=142702 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView becomeFirstResponder]): Override to delegate first responder status to the |
| WKContentView if possible. |
| (-[WKWebView _retainActiveFocusedState]): New SPI that prevents view hierarchy changes from |
| affecting the active and focused state of the view. Increments a counter ivar and returns a |
| completion block (which callers must call when they’re done) that decrements it back. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: Declared new _activeFocusedStateRetainCount ivar |
| with @package access. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: Declared new method. |
| |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::isViewWindowActive): Return true if active/focused state is to be |
| maintained despite not being visible. |
| (WebKit::PageClientImpl::isViewFocused): Return true if active/focused state is to be |
| maintained despite not being active. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView resignFirstResponder]): Don’t blur the assisted node if active/focused |
| state is to be maintained. |
| |
| 2015-03-14 Simon Fraser <simon.fraser@apple.com> |
| |
| Clean up use of flags in localToContainer-type functions |
| https://bugs.webkit.org/show_bug.cgi?id=142704 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Pass UseTransforms explicitly to localToContainerPoint() |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getAssistedNodeInformation): |
| |
| 2015-03-14 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] scroll snap points are animating to the wrong positions. |
| https://bugs.webkit.org/show_bug.cgi?id=142705 |
| <rdar://problem/20136946> |
| |
| Reviewed by Simon Fraser. |
| |
| Scroll snapping was landing in the wrong place on iOS because of two problems: |
| (1) It was searching for the closest snap offset point using unscaled 'screen' pixels, |
| which caused it to always choose one of the earliest snap point options. |
| (2) It was then selecting a scaled snap point coordinate and passing it back to UIKit |
| to animate the snap. This caused it to select a target point beyond the 'screen' pixel |
| we want to hit. |
| |
| The solution to both problems are to scale the scroll destination UIKit suggests so that |
| we search among the scaled points with a valid value. Then, we need to scale the returned |
| value back to screen units before handing it back to UIKit to process. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView scrollViewWillBeginDragging:]): Drive-by fix. Get rid of extra ';' at |
| the end of the line. |
| * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: |
| (WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): |
| |
| 2015-03-14 Dean Jackson <dino@apple.com> |
| |
| Feature flag for Animations Level 2 |
| https://bugs.webkit.org/show_bug.cgi?id=142699 |
| <rdar://problem/20165097> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add ENABLE_CSS_ANIMATIONS_LEVEL_2 and a runtime flag animationTriggersEnabled. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-03-14 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> |
| |
| [GStreamer] share GL context in pipeline |
| https://bugs.webkit.org/show_bug.cgi?id=142693 |
| |
| Reviewed by Philippe Normand. |
| |
| * WebProcess/gtk/WebProcessMainGtk.cpp: Enable XInitThreads() if |
| GSTREAMER_GL is used, since GstGL elements use another thread for |
| queuing GL operations. |
| |
| 2015-03-13 Alex Christensen <achristensen@webkit.org> |
| |
| Progress towards CMake on Mac. |
| https://bugs.webkit.org/show_bug.cgi?id=142680 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformMac.cmake: Added. |
| |
| 2015-03-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r181483. |
| https://bugs.webkit.org/show_bug.cgi?id=142688 |
| |
| Caused use-after-free on many tests (Requested by ap on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Allow clients to selectively disable plug-ins" |
| https://bugs.webkit.org/show_bug.cgi?id=142506 |
| http://trac.webkit.org/changeset/181483 |
| |
| 2015-03-13 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] Enable WIRELESS_PLAYBACK_TARGET |
| https://bugs.webkit.org/show_bug.cgi?id=142635 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-03-13 Timothy Horton <timothy_horton@apple.com> |
| |
| Sites that use a device-width viewport but don't have enough height to fill the view are scaled up |
| https://bugs.webkit.org/show_bug.cgi?id=142664 |
| <rdar://problem/18859470> |
| |
| Reviewed by Benjamin Poulain. |
| |
| * UIProcess/ios/WKScrollView.mm: |
| (-[WKScrollView _rubberBandOffsetForOffset:maxOffset:minOffset:range:outside:]): |
| Now that the WKContentView can (without pinching) be smaller than the unobscured |
| region of the WKWebView, we need to take that into account when deciding where |
| to retarget scrolling. |
| |
| 2015-03-13 Mark Lam <mark.lam@apple.com> |
| |
| Replace TCSpinLock with a new WTF::SpinLock based on WTF::Atomic. |
| <https://webkit.org/b/142674> |
| |
| Reviewed by Filip Pizlo. |
| |
| * WebProcess/WebPage/EventDispatcher.cpp: |
| (WebKit::EventDispatcher::EventDispatcher): |
| * WebProcess/WebPage/EventDispatcher.h: |
| * WebProcess/WebPage/ViewUpdateDispatcher.cpp: |
| (WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher): |
| * WebProcess/WebPage/ViewUpdateDispatcher.h: |
| |
| 2015-03-10 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Allow clients to selectively disable plug-ins |
| https://bugs.webkit.org/show_bug.cgi?id=142506 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them |
| from the page). As part of this: |
| |
| 1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying |
| set of plug-ins. |
| |
| 2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper |
| down the stack. |
| |
| 3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce |
| a concrete implementation thereof in WebPlatformStrategies in WebKit2. |
| |
| 4) Add messaging infrastructure to allow clients to set and clear plug-in policies. |
| |
| While currently only used in a very limited manner, the new declarative plug-in policies are written generically |
| so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins. |
| |
| * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: |
| (WebKit::NetscapePluginModule::getPluginInfo): |
| Set new PluginInfo members. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<PluginInfo>::encode): |
| Handle new PluginInfo members. |
| (IPC::ArgumentCoder<PluginInfo>::decode): |
| Ditto. |
| |
| * Shared/WebProcessCreationParameters.h: |
| Declare a member to store client plug-in policies. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| Encode the policies. |
| (WebKit::WebProcessCreationParameters::decode): |
| Decode the policies. |
| |
| * UIProcess/API/C/WKAPICast.h: |
| (WebKit::toWKPluginLoadClientPolicy): |
| Teach how to cast between WebCore and WebKit2 policy definitions. |
| (WebKit::toPluginLoadClientPolicy): |
| Ditto. |
| |
| * UIProcess/API/C/WKPluginLoadPolicy.h: |
| Declare WKPluginLoadClientPolicy, matching PluginLoadClientPolicy in WebCore. |
| |
| * UIProcess/API/C/mac/WKContextPrivateMac.h: |
| * UIProcess/API/C/mac/WKContextPrivateMac.mm: |
| (WKContextSetPluginLoadClientPolicy): |
| New function; wrap WebProcessPool::setPluginLoadClientPolicy(). |
| (WKContextClearPluginClientPolicies): |
| New function; wrap WebProcessPool::clearPluginClientPolicies(). |
| |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| Copy any client plug-in policies to the new process' creation parameters. |
| (WebKit::WebProcessPool::setPluginLoadClientPolicy): |
| Send SetPluginLoadClientPolicy to all processes and stash the passed-in policy info. |
| (WebKit::WebProcessPool::clearPluginClientPolicies): |
| Send ClearPluginClientPolicies to all processes and clear any stashed policy info. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::pluginInfo): |
| Set new PluginInfo member. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::pluginSupportsExtension): |
| Adopt getWebVisibleMimesAndPluginIndices(). |
| (WebKit::WebFrameLoaderClient::objectContentType): |
| Update to reflect reflect function rename. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::getPluginInfo): |
| Pass the Page to populatePluginCache(). |
| (WebKit::WebPlatformStrategies::getWebVisiblePluginInfo): |
| New member function; wrap getPluginInfo(); if appropriate, filter out plug-ins the client has asked |
| to block on the current page. |
| (WebKit::WebPlatformStrategies::setPluginLoadClientPolicy): |
| New member function; map empty inputs to a wildcard character and insert the new policy into the nested map. |
| (WebKit::WebPlatformStrategies::clearPluginClientPolicies): |
| New member function; empty m_hostsToPluginIdentifierData. |
| (WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost): |
| New member function; look up the most specific policy for the given plug-in and host. |
| (WebKit::WebPlatformStrategies::populatePluginCache): |
| If appropriate, set the client load policy on the plug-ins; do this irrespective of whether the cache has |
| been populated since the Page, and therefore host, may change. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::canShowMIMEType): |
| Update to reflect function rename. |
| |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| Enumerate and process the client plug-in policies in the creation parameters. |
| (WebKit::WebProcess::setPluginLoadClientPolicy): |
| New member function; wrap PluginStrategy::setPluginLoadClientPolicy. |
| (WebKit::WebProcess::clearPluginClientPolicies): |
| New member function; wrap PluginStrategy::clearPluginClientPolicies(). |
| |
| * WebProcess/WebProcess.messages.in: |
| Add messages for setting and clearing policies. |
| |
| 2015-03-12 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| Use UIDocumentMenuViewController to allow selection of files from |
| iCloud Drive in WKFileUploadPanel |
| |
| Part of <https://bugs.webkit.org/show_bug.cgi?id=142596> WebKit on |
| iOS should support file upload from iCloud Drive |
| <rdar://problem/12178991> |
| |
| Reviewed by Andy Estes. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| Include UIDocumentMenuViewController_Private.h if it exists. If not, |
| declare this new SPI. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (fallbackIconForFile): |
| Create a UIDocumentInteractionController for the file, and return a |
| thumbnail image from its smallest icon. |
| |
| (iconForImageFile): |
| If we can get a UIImage from the file, create a thumbnail from it. |
| Otherwise, call fallbackIconForFile(). |
| |
| (iconForVideoFile): |
| Code moved from -[_WKVideoFileUploadItem displayImage]. |
| |
| (iconForFile): |
| Get the file's extension, and get the extension's preferred UTI. If the |
| UTI is an image type, call iconForImageFile(). If it's a video type, |
| call iconForVideoFile(). Otherwise, return the fallback icon. |
| |
| (-[_WKFileUploadItem initWithFileURL:]): |
| Added an initializer that takes a file URL. |
| |
| (-[_WKFileUploadItem fileURL]): |
| (-[_WKImageFileUploadItem initWithFileURL:originalImage:]): |
| (-[_WKVideoFileUploadItem displayImage]): |
| (WKFileUploadPanel): |
| Inherit from UIDocumentPickerDelegate and UIDocumentMenuDelegate. Add |
| an ivar for the document menu controller. |
| |
| (-[WKFileUploadPanel dealloc]): |
| (-[WKFileUploadPanel presentWithParameters:resultListener:]): |
| If instances of UIDocumentMenuViewController respond to |
| -_setIgnoreApplicationEntitlementForImport:, meaning we can disable the |
| assertion that the current app has the iCloud Documents entitlement, |
| then show the document picker menu. Otherwise, show the current source |
| selection UI. The runtime check will be removed when a newer UIKit is |
| available. |
| |
| (UTIsForMIMETypes): |
| Return the UTIs for the <input> element's "accept" attribute's MIME |
| type list. |
| |
| (-[WKFileUploadPanel _mediaTypesForPickerSourceType:]): |
| Call UTIsForMIMETypes(). Fall back to available source types for this |
| picker type. |
| |
| (-[WKFileUploadPanel _documentPickerMenuMediaTypes]): |
| Call UTIsForMIMETypes(). Fall back to the all-encompassing |
| "public.item" UTI. |
| |
| (-[WKFileUploadPanel _photoLibraryButtonLabel]): |
| (-[WKFileUploadPanel _cameraButtonLabel]): |
| Factored out of -_showMediaSourceSelectionSheet. Return the |
| appropriate label for the camera button, based on whether it can take a |
| photo or video, or return nil if the camera is not available. |
| |
| (-[WKFileUploadPanel _showMediaSourceSelectionSheet]): |
| Changed to use -_cameraButtonLabel and |
| -_presentForCurrentInterfaceIdiom:. |
| |
| (-[WKFileUploadPanel _showDocumentPickerMenu]): |
| Create a UIDocumentMenuViewController, and populate it with options to |
| open the photo library or take a picture or video. If iCloud Drive or |
| other document sources are available, they will be added automatically. |
| |
| (-[WKFileUploadPanel _presentForCurrentInterfaceIdiom:]): |
| (-[WKFileUploadPanel documentMenu:didPickDocumentPicker:]): |
| (-[WKFileUploadPanel documentMenuWasCancelled:]): |
| (-[WKFileUploadPanel documentPicker:didPickDocumentAtURL:]): |
| (-[WKFileUploadPanel documentPickerWasCancelled:]): |
| (-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]): |
| |
| (-[_WKImageFileUploadItem initWithFilePath:originalImage:]): Deleted. |
| (-[_WKImageFileUploadItem fileURL]): Deleted. |
| (-[_WKVideoFileUploadItem initWithFilePath:mediaURL:]): Deleted. |
| (-[_WKVideoFileUploadItem fileURL]): Deleted. |
| |
| 2015-03-11 Enrica Casucci <enrica@apple.com> |
| |
| Adopt new API for keyboard event handling. |
| https://bugs.webkit.org/show_bug.cgi?id=142602 |
| rdar://problem/19966087 |
| |
| Reviewed by Sam Weinig. |
| |
| Adopts the new API. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _didHandleKeyEvent:]): |
| |
| 2015-03-12 Alexey Proskuryakov <ap@apple.com> |
| |
| testRunner.setAlwaysAcceptCookies does not work with NetworkProcess |
| https://bugs.webkit.org/show_bug.cgi?id=138687 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Don't change system-wide |
| cookie accept policy when in testing mode. Also, update the policy in WebProcesses too, |
| as we still do some networking there. |
| |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| (WKBundleSetAlwaysAcceptCookies): Deleted. |
| * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::setAlwaysAcceptCookies): Deleted. |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| Remove WKBundleSetAlwaysAcceptCookies SPI, as WKTR now uses an API in UI process. |
| |
| 2015-03-12 Anders Carlsson <andersca@apple.com> |
| |
| WKErrorDomain should be declared nonnull |
| https://bugs.webkit.org/show_bug.cgi?id=142628 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add WK_ASSUME_NONNULL_BEGIN and WK_ASSUME_NONNULL_END so everything will be implicitly nonnull. |
| |
| * UIProcess/API/Cocoa/WKError.h: |
| |
| 2015-03-12 Ian Henderson <ian@ianhenderson.org> |
| |
| PDFs don't snapshot properly in iOS Safari |
| https://bugs.webkit.org/show_bug.cgi?id=142623 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): |
| If we have a _customContentView, use UIView snapshotting instead of |
| trying to snapshot the web page. |
| |
| 2015-03-12 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] Update AirPlay handling |
| https://bugs.webkit.org/show_bug.cgi?id=142541 |
| |
| Unreviewed, respond to post-review comments and add previously reviewed changes |
| missed by a bungled merge. |
| |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| * UIProcess/WebMediaPlaybackTargetPickerProxy.cpp: |
| (WebKit::WebMediaPlaybackTargetPickerProxy::~WebMediaPlaybackTargetPickerProxy): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::createPlaybackTargetPicker): |
| * UIProcess/mac/WebMediaPlaybackTargetPickerProxyMac.h: Added. |
| * UIProcess/mac/WebMediaPlaybackTargetPickerProxyMac.mm: Added. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2015-03-11 Antti Koivisto <antti@apple.com> |
| |
| Cache traversal missing large entries |
| https://bugs.webkit.org/show_bug.cgi?id=142601 |
| |
| Reviewed by Andreas Kling. |
| |
| When traversing cache entries we only read the header data from disk. This didn't work |
| correctly for entries larger than the read size. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::read): |
| |
| Partial reads only receive one callback with 'done' set to true. |
| Ensure we actually return data in this case. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::decodeEntryHeader): |
| |
| Add some logging. |
| |
| 2015-03-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [Mac] Update AirPlay handling |
| https://bugs.webkit.org/show_bug.cgi?id=142541 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<AVPlaybackTarget>::encode): |
| (IPC::ArgumentCoder<AVPlaybackTarget>::decode): |
| * UIProcess/PageClient.h: |
| * UIProcess/WebAVPlaybackTargetPickerProxy.cpp: Added. |
| (WebKit::WebAVPlaybackTargetPickerProxy::WebAVPlaybackTargetPickerProxy): |
| (WebKit::WebAVPlaybackTargetPickerProxy::~WebAVPlaybackTargetPickerProxy): |
| (WebKit::WebAVPlaybackTargetPickerProxy::showPlaybackTargetPicker): |
| (WebKit::WebAVPlaybackTargetPickerProxy::startingMonitoringPlaybackTargets): |
| (WebKit::WebAVPlaybackTargetPickerProxy::stopMonitoringPlaybackTargets): |
| * UIProcess/WebAVPlaybackTargetPickerProxy.h: Added. |
| (WebKit::WebAVPlaybackTargetPickerProxy::Client::~Client): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::devicePickerProxy): |
| (WebKit::WebPageProxy::showPlaybackTargetPicker): |
| (WebKit::WebPageProxy::startingMonitoringPlaybackTargets): |
| (WebKit::WebPageProxy::stopMonitoringPlaybackTargets): |
| (WebKit::WebPageProxy::didChoosePlaybackTarget): |
| (WebKit::WebPageProxy::externalOutputDeviceAvailableDidChange): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::createPlaybackTargetPicker): |
| * UIProcess/mac/WebAVPlaybackTargetPickerProxyMac.h: Added. |
| * UIProcess/mac/WebAVPlaybackTargetPickerProxyMac.mm: Added. |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::create): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::WebAVPlaybackTargetPickerProxyMac): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::~WebAVPlaybackTargetPickerProxyMac): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::outputeDeviceAvailabilityChangedTimerFired): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::availableDevicesDidChange): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::devicePicker): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::showPlaybackTargetPicker): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::currentDeviceDidChange): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::startingMonitoringPlaybackTargets): |
| (WebKit::WebAVPlaybackTargetPickerProxyMac::stopMonitoringPlaybackTargets): |
| (-[WebAVOutputDevicePickerMenuControllerHelper initWithCallback:]): |
| (-[WebAVOutputDevicePickerMenuControllerHelper clearCallback]): |
| (-[WebAVOutputDevicePickerMenuControllerHelper observeValueForKeyPath:ofObject:change:context:]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebAVPlaybackTargetPicker.cpp: Added. |
| (WebKit::WebAVPlaybackTargetPicker::WebAVPlaybackTargetPicker): |
| (WebKit::WebAVPlaybackTargetPicker::showPlaybackDevicePicker): |
| (WebKit::WebAVPlaybackTargetPicker::configureWireLessTargetMonitoring): |
| (WebKit::WebAVPlaybackTargetPicker::addClient): |
| (WebKit::WebAVPlaybackTargetPicker::removeClient): |
| (WebKit::WebAVPlaybackTargetPicker::didChoosePlaybackTarget): |
| (WebKit::WebAVPlaybackTargetPicker::playbackTargetAvailabilityDidChange): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::showPlaybackTargetPicker): |
| (WebKit::WebChromeClient::startingMonitoringPlaybackTargets): |
| (WebKit::WebChromeClient::stopMonitoringPlaybackTargets): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::playbackTargetSelected): |
| (WebKit::WebPage::playbackTargetAvailabilityDidChange): |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2015-03-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Fix the build |
| |
| Unreviewed. |
| |
| * Shared/Downloads/mac/DownloadMac.mm: |
| (WebKit::Download::start): |
| (WebKit::Download::resume): |
| |
| 2015-03-10 Sam Weinig <sam@webkit.org> |
| |
| Allow adding a button in input elements for auto fill related functionality |
| <rdar://problem/19782066> |
| https://bugs.webkit.org/show_bug.cgi?id=142564 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Adds new SPI to respond to clicks on the AutoFill button (both bundle and UIProcess). |
| - Adds new SPI to enable/disable the display of the AutoFill button on an element. |
| - Adds new SPI to get the bounds of the AutoFill button. |
| - Updates spelling of AutoFill to be consistent. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::didClickAutoFillButton): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::handleAutoFillButtonClick): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h: |
| (API::InjectedBundle::PageUIClient::didClickAutoFillButton): |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: |
| (WebKit::InjectedBundlePageUIClient::didClickAutoFillButton): |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::handleAutoFillButtonClick): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: |
| Pipe the didClickAutoFillButton to the SPI layer. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: |
| (-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]): |
| (-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]): |
| Update for new spelling of AutoFill. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: |
| * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: |
| (WKBundleNodeHandleGetHTMLInputElementAutoFilled): |
| (WKBundleNodeHandleSetHTMLInputElementAutoFilled): |
| Added. Replaces WKBundleNodeHandleGetHTMLInputElementAutofilled/WKBundleNodeHandleSetHTMLInputElementAutofilled |
| which are now deprecated due to inconsistent spelling of AutoFill. |
| |
| (WKBundleNodeHandleGetHTMLInputElementAutoFillButtonEnabled): |
| (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabled): |
| (WKBundleNodeHandleGetHTMLInputElementAutoFillButtonBounds): |
| Added. |
| |
| (WKBundleNodeHandleGetHTMLInputElementAutofilled): |
| (WKBundleNodeHandleSetHTMLInputElementAutofilled): |
| Deprecated. |
| |
| * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: |
| (WebKit::InjectedBundleNodeHandle::getOrCreate): |
| (WebKit::InjectedBundleNodeHandle::create): |
| (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle): |
| (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle): |
| (WebKit::InjectedBundleNodeHandle::coreNode): |
| (WebKit::InjectedBundleNodeHandle::document): |
| (WebKit::InjectedBundleNodeHandle::elementBounds): |
| (WebKit::InjectedBundleNodeHandle::renderRect): |
| (WebKit::InjectedBundleNodeHandle::renderedImage): |
| (WebKit::InjectedBundleNodeHandle::visibleRange): |
| (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser): |
| (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFilled): |
| (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFilled): |
| (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFillButtonEnabled): |
| (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFillButtonEnabled): |
| (WebKit::InjectedBundleNodeHandle::htmlInputElementAutoFillButtonBounds): |
| (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit): |
| (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit): |
| (WebKit::InjectedBundleNodeHandle::isTextField): |
| (WebKit::InjectedBundleNodeHandle::htmlTableCellElementCellAbove): |
| (WebKit::InjectedBundleNodeHandle::documentFrame): |
| (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame): |
| (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame): |
| (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled): Deleted. |
| (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled): Deleted. |
| * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: |
| Fix-up InjectedBundleNodeHandle to store its underlying Node in a Ref, rather than a RefPtr. |
| Add helpers to implement the new SPI for WKBundleNodeHandleRef. |
| |
| 2015-03-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Make it possible to zoom on pages that claim to lay out to device size and then fail to do so |
| https://bugs.webkit.org/show_bug.cgi?id=142549 |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| Flip the pref on by default. |
| |
| 2015-03-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Do not look for child processes in the UI process binary path |
| https://bugs.webkit.org/show_bug.cgi?id=135752 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| It's only useful for internal tools and tests, but never when |
| installed, since we don't install the processes in the bin dir but |
| in the libexec dir. |
| |
| * Shared/gtk/ProcessExecutablePathGtk.cpp: |
| (WebKit::findWebKitProcess): Only look or the executables in the |
| UI process binary path or WEBKIT_EXEC_PATH for development builds. |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (injectedBundleDirectory): Only check |
| WEBKIT_INJECTED_BUNDLE_PATH env var for development builds. |
| |
| 2015-03-10 Antti Koivisto <antti@apple.com> |
| |
| Add interface to delete disk cache entries |
| https://bugs.webkit.org/show_bug.cgi?id=142546 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::remove): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::Storage): |
| (WebKit::NetworkCache::Storage::remove): |
| |
| Move deletion to a serial queue so we can't create large number of threads. |
| |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::Storage::dispatchHeaderWriteOperation): |
| (WebKit::NetworkCache::Storage::removeEntry): Deleted. |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::deleteQueue): |
| |
| 2015-03-10 Chris Dumez <cdumez@apple.com> |
| |
| 5 tests fail on Apple Mac WK2 performance bots |
| https://bugs.webkit.org/show_bug.cgi?id=142485 |
| |
| Reviewed by Andreas Kling. |
| |
| Only log errors in debug builds if SandboxExtension::createHandle() fails |
| so that performance tests don't fail because of it. Such error is not |
| fatal and is expected under certain circumstances. In particular, |
| SandboxExtension::createHandle() is sometimes called for non-existing |
| files (e.g. from NetworkResourceLoadParameters::encode()). |
| |
| * Shared/mac/SandboxExtensionMac.mm: |
| (WebKit::SandboxExtension::createHandle): |
| |
| 2015-03-10 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build |
| |
| * Shared/Downloads/ios/DownloadIOS.mm: |
| (WebKit::Download::startWithHandle): |
| * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: |
| (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]): |
| |
| 2015-03-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Contents not shown when entering AC mode unless the window is resized |
| https://bugs.webkit.org/show_bug.cgi?id=142347 |
| |
| Reviewed by Žan Doberšek. |
| |
| The problem is once again that we are now creating the redirected |
| X window in realize method. When entering AC mode we resize the |
| redirected window to the drawing area size. Since the size hasn't |
| changed from the drawing area point of view, the web process is |
| not notified. The WebProcess always uses the window size, instead |
| of the root layer size, to make sure it's in sync, see the comment |
| in LayerTreeHostGtk::compositeLayersToContext(). So, we need to |
| enforce a resize when we change the size of the redirected window |
| when entering AC mode. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseEnterAcceleratedCompositingMode): |
| * UIProcess/DrawingAreaProxyImpl.h: |
| (WebKit::DrawingAreaProxyImpl::forceResize): |
| |
| 2015-03-10 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [cmake] Handle unused parameter warnings as build errors except in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=142338 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * CMakeLists.txt: |
| |
| 2015-03-10 Dan Bernstein <mitz@apple.com> |
| |
| WebKit2 part of <rdar://problem/20086546> [Cocoa] Add an option to treat certificate chains with SHA1-signed certificates as insecure |
| https://bugs.webkit.org/show_bug.cgi?id=142461 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): Initialize |
| webPageConfiguration.treatsSHA1SignedCertificatesAsInsecure from the WKWebViewConfiguration. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| Added _treatsSHA1SignedCertificatesAsInsecure ivar. |
| (-[WKWebViewConfiguration copyWithZone:]): Copy _treatsSHA1SignedCertificatesAsInsecure. |
| (-[WKWebViewConfiguration _treatsSHA1SignedCertificatesAsInsecure]): Added this getter. |
| (-[WKWebViewConfiguration _setTreatsSHA1SignedCertificatesAsInsecure:]): Added this setter. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared new |
| _treatsSHA1SignedCertificatesAsInsecure property. |
| |
| * UIProcess/PageLoadState.cpp: |
| (WebKit::PageLoadState::didCommitLoad): Use new hasInsecureContent parameter to initialize |
| hasInsecureContent parameter in the uncommitted state. |
| * UIProcess/PageLoadState.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): Initialize new m_treatsSHA1CertificatesAsInsecure |
| member variable from the WebPageConfiguration. |
| (WebKit::WebPageProxy::didCommitLoadForFrame): Pass true for the new hasInsecureContent to |
| PageLoadState::didCommitLoad if we are treating SHA1-signed certificates as insecure and |
| the certificate info contains a non-root SHA1-signed certificate. |
| * UIProcess/WebPageProxy.h: Added m_treatsSHA1CertificatesAsInsecure member variable. |
| |
| 2015-03-09 Geoffrey Garen <ggaren@apple.com> |
| |
| bmalloc: tryFastMalloc shouldn't crash |
| https://bugs.webkit.org/show_bug.cgi?id=142443 |
| |
| Reviewed by Anders Carlsson. |
| |
| Part 1: Stop using tryFastRealloc. |
| |
| * Shared/ShareableBitmap.cpp: |
| (WebKit::ShareableBitmap::resize): Deleted. |
| * Shared/ShareableBitmap.h: Removed the resize function because it has |
| no clients. |
| |
| * WebProcess/Plugins/PluginProxy.cpp: |
| (WebKit::PluginProxy::updateBackingStore): Changed to allocate a new |
| backing store instead of resizing the old one. This has three advantages: |
| |
| (1) Might be more memory-efficient, since you don't have to keep the old |
| one around while allocating the new one. |
| |
| (2) Avoids the overhead of realloc() copying the contents of the old |
| backing store even though we only want uninitialized memory. |
| |
| (3) Makes resize failure consistent with initial allocation failure. |
| Previously, while initial allocation failure would set the backing store |
| to null, resize failure would keep the old wrong backing store and then |
| tell it not to paint. Now, resize failure also sets the backing store to |
| null. |
| |
| 2015-03-09 Martin Robinson <mrobinson@igalia.com> |
| |
| [EFL] Move DispatchQueue to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=142493 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * PlatformEfl.cmake: Remove DispatchQueue from the source list. |
| |
| 2015-03-08 Dean Jackson <dino@apple.com> |
| |
| [iOS Media] Video buffer progress missing on iPhones |
| https://bugs.webkit.org/show_bug.cgi?id=142462 |
| |
| Reviewed by Eric Carlson. |
| |
| Coordinate the SetBufferedTime message between the Web and UI |
| processes. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: New message SetBufferedTime. |
| * WebProcess/ios/WebVideoFullscreenManager.h: |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::setBufferedTime): |
| |
| 2015-03-08 Sam Weinig <sam@webkit.org> |
| |
| [Content Extensions] Add scaffolding for the WKUserContentExtensionStore |
| https://bugs.webkit.org/show_bug.cgi?id=142464 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/APIObject.h: |
| Add a UserContentExtensionStore type and move the UserContentExtension type into the correct section (UIProcess). |
| |
| * Shared/API/c/WKBase.h: |
| Add the WKUserContentExtensionStoreRef C-SPI type. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Add allocation support for UserContentExtensionStore (and UserContentExtension while we are there, it will be |
| needed shortly). |
| |
| * UIProcess/API/APIUserContentExtensionStore.cpp: Added. |
| (API::UserContentExtensionStore::UserContentExtensionStore): |
| (API::UserContentExtensionStore::~UserContentExtensionStore): |
| * UIProcess/API/APIUserContentExtensionStore.h: Added. |
| Stub out the UserContentExtensionStore. |
| |
| * UIProcess/API/C/WKAPICast.h: |
| Add casting for the UserContentExtensionStore. |
| |
| * UIProcess/API/C/WKUserContentExtensionStoreRef.cpp: Added. |
| (WKUserContentExtensionStoreGetTypeID): |
| * UIProcess/API/C/WKUserContentExtensionStoreRef.h: Added. |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h: Added. |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm: Added. |
| (-[_WKUserContentExtensionStore init]): |
| (-[_WKUserContentExtensionStore dealloc]): |
| (-[_WKUserContentExtensionStore _apiObject]): |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStoreInternal.h: Added. |
| (WebKit::wrapper): |
| Stub out SPI for the UserContentExtensionStore. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * CMakeLists.txt: |
| Add new files. |
| |
| 2015-03-08 Sam Weinig <sam@webkit.org> |
| |
| AX: Expose a frame's accessible name through WK2 C SPI |
| <rdar://problem/19653068> |
| https://bugs.webkit.org/show_bug.cgi?id=142468 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: |
| (WKBundleFrameSetAccessibleName): |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::setAccessibleName): |
| * WebProcess/WebPage/WebFrame.h: |
| Add SPI to set a frame's accessible name. This matches the Legacy WebKit SPI -[WebFrame setAccessibleName:]. |
| |
| 2015-03-08 Sam Weinig <sam@webkit.org> |
| |
| [Content Extensions] Pass compiled content extensions as read-only shared memory rather than copying them |
| https://bugs.webkit.org/show_bug.cgi?id=142458 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/WebCompiledContentExtensionData.cpp: |
| (WebKit::WebCompiledContentExtensionData::encode): |
| (WebKit::WebCompiledContentExtensionData::decode): |
| * Shared/WebCompiledContentExtensionData.h: |
| (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData): |
| Store the compiled data as a SharedMemory block with offset/size pairs for the |
| bytecode and actions. While the bytecode offset is currently always 0, this won't |
| be the case when we map these in from files due to metadata that will be placed |
| at the top of the files. |
| |
| * Shared/WebCompiledContentExtension.h: |
| * Shared/WebCompiledContentExtension.cpp: |
| (WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData): |
| Temporary creation helper. In subsequent patches, this will be removed and replaced |
| by always passing in shared/mapped data. |
| |
| (WebKit::WebCompiledContentExtension::create): |
| (WebKit::WebCompiledContentExtension::WebCompiledContentExtension): |
| (WebKit::WebCompiledContentExtension::bytecode): |
| (WebKit::WebCompiledContentExtension::bytecodeLength): |
| (WebKit::WebCompiledContentExtension::actions): |
| (WebKit::WebCompiledContentExtension::actionsLength): |
| Convert to work with the new WebCompiledContentExtension format. |
| |
| * UIProcess/API/C/WKUserContentFilterRef.cpp: |
| (WKUserContentFilterCreate): |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: |
| (-[_WKUserContentFilter initWithName:serializedRules:]): |
| Switch to using WebCompiledContentExtension::createFromCompiledContentExtensionData(). |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::addUserContentExtensions): |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::addUserContentExtension): |
| Update to pass the WebCompiledContentExtensionData directly to the WebCompiledContentExtension. |
| |
| 2015-03-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Remove willDestroyFrame in WKBundlePageLoaderClient |
| https://bugs.webkit.org/show_bug.cgi?id=142389 |
| |
| Reviewed by Anders Carlsson. |
| |
| I added willDestroyFrame in r154540 but I realized recently that |
| it has never actually worked. Adding the callback to |
| WKBundlePageLoaderClient was the first mistake, since frames are |
| handled by WebProcess and DidDestroyFrame message is indeed a |
| WebProcessProxy not a WebPageProxy one. Second mistake was calling |
| the callback from WebFrameLoaderClient::frameLoaderDestroyed(), |
| since at that point the frame has already been detached from the |
| page and so WebFrame::page() always returns nullptr. So, this in |
| fact dead code and since r180211 nobody is using it. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitWebPageCreate): Use verion 6 instead of version 7 of loader client. |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: |
| (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): Deleted. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): |
| |
| 2015-03-06 Sam Weinig <sam@webkit.org> |
| |
| [Content Extensions] Move compiling of content extensions to the UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=142402 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * Shared/API/APIObject.h: |
| Rename UserContentFilter type to UserContentExtension to match new unified naming. |
| |
| * Shared/WebCompiledContentExtension.cpp: Added. |
| (WebKit::WebCompiledContentExtension::create): |
| (WebKit::WebCompiledContentExtension::WebCompiledContentExtension): |
| (WebKit::WebCompiledContentExtension::~WebCompiledContentExtension): |
| (WebKit::WebCompiledContentExtension::bytecode): |
| (WebKit::WebCompiledContentExtension::bytecodeLength): |
| (WebKit::WebCompiledContentExtension::actions): |
| (WebKit::WebCompiledContentExtension::actionsLength): |
| * Shared/WebCompiledContentExtension.h: Added. |
| Add new WebKit2 implementation of CompiledContentExtension. Right now it is the same as the old |
| WebCore based CompiledContentExtension, but in subsequent patches, it will use shared/file backed |
| memory. |
| |
| * Shared/WebCompiledContentExtensionData.cpp: Added. |
| (WebKit::WebCompiledContentExtensionData::encode): |
| (WebKit::WebCompiledContentExtensionData::decode): |
| * Shared/WebCompiledContentExtensionData.h: Added. |
| Add encodable/decodable holder for the compiled content extension data for use in IPC. Right |
| now it is doing the naive thing and always copying the data, but in subsequent patches, it will |
| use shared/file backed memory. |
| |
| * Shared/WebPageGroupData.cpp: |
| (WebKit::WebPageGroupData::encode): |
| (WebKit::WebPageGroupData::decode): |
| * Shared/WebPageGroupData.h: |
| Rename member to match new unification on the name userContentExtension. Change the value from |
| the serialized JSON (as a String) to WebCompiledContentExtensionData. |
| |
| * UIProcess/API/APIUserContentExtension.cpp: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.cpp. |
| (API::UserContentExtension::UserContentExtension): |
| (API::UserContentExtension::~UserContentExtension): |
| (API::UserContentFilter::UserContentFilter): Deleted. |
| (API::UserContentFilter::~UserContentFilter): Deleted. |
| * UIProcess/API/APIUserContentExtension.h: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.h. |
| * UIProcess/API/APIUserContentFilter.cpp: Removed. |
| * UIProcess/API/APIUserContentFilter.h: Removed. |
| Renamed UserContentFilter to APIUserContentExtension. Updated to store the compiled extension (as a WebCompiledContentExtension) |
| rather than the serialized JSON. |
| |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupAddUserContentFilter): |
| (WKPageGroupRemoveUserContentFilter): |
| (WKPageGroupRemoveAllUserContentFilters): |
| * UIProcess/API/C/WKUserContentControllerRef.cpp: |
| (WKUserContentControllerAddUserContentFilter): |
| (WKUserContentControllerRemoveAllUserContentFilters): |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController _addUserContentFilter:]): |
| (-[WKUserContentController _removeUserContentFilter:]): |
| (-[WKUserContentController _removeAllUserContentFilters]): |
| Update for rename of APIUserContentFilter -> UserContentExtension. |
| |
| * UIProcess/API/C/WKUserContentFilterRef.cpp: |
| (WKUserContentFilterGetTypeID): |
| (WKUserContentFilterCreate): |
| Update for rename of APIUserContentFilter -> UserContentExtension. Also make WKUserContentFilterCreate eagerly |
| compile rule list to a WebCompiledContentExtensionData. |
| |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: |
| (-[_WKUserContentFilter initWithName:serializedRules:]): |
| (-[_WKUserContentFilter dealloc]): |
| (-[_WKUserContentFilter _apiObject]): |
| Update for rename of APIUserContentFilter -> UserContentExtension. Also make initWithName:serializedRules: eagerly |
| compile rule list to a WebCompiledContentExtensionData. |
| |
| * UIProcess/API/Cocoa/_WKUserContentFilterInternal.h: |
| (WebKit::wrapper): |
| Update for rename of APIUserContentFilter -> UserContentExtension. |
| |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserContentExtension): |
| (WebKit::WebUserContentControllerProxy::removeUserContentExtension): |
| (WebKit::WebUserContentControllerProxy::removeAllUserContentExtensions): |
| (WebKit::WebUserContentControllerProxy::addUserContentFilter): Deleted. |
| (WebKit::WebUserContentControllerProxy::removeUserContentFilter): Deleted. |
| (WebKit::WebUserContentControllerProxy::removeAllUserContentFilters): Deleted. |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| * UIProcess/WebPageGroup.cpp: |
| (WebKit::WebPageGroup::addUserContentExtension): |
| (WebKit::WebPageGroup::removeUserContentExtension): |
| (WebKit::WebPageGroup::removeAllUserContentExtensions): |
| (WebKit::WebPageGroup::addUserContentFilter): Deleted. |
| (WebKit::WebPageGroup::removeUserContentFilter): Deleted. |
| (WebKit::WebPageGroup::removeAllUserContentFilters): Deleted. |
| * UIProcess/WebPageGroup.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::addUserContentExtensions): |
| (WebKit::WebUserContentController::removeUserContentExtension): |
| (WebKit::WebUserContentController::removeAllUserContentExtensions): |
| (WebKit::WebUserContentController::addUserContentFilters): Deleted. |
| (WebKit::WebUserContentController::removeUserContentFilter): Deleted. |
| (WebKit::WebUserContentController::removeAllUserContentFilters): Deleted. |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::WebPageGroupProxy): |
| (WebKit::WebPageGroupProxy::addUserContentExtension): |
| (WebKit::WebPageGroupProxy::removeUserContentExtension): |
| (WebKit::WebPageGroupProxy::removeAllUserContentExtensions): |
| (WebKit::WebPageGroupProxy::addUserContentFilter): Deleted. |
| (WebKit::WebPageGroupProxy::removeUserContentFilter): Deleted. |
| (WebKit::WebPageGroupProxy::removeAllUserContentFilters): Deleted. |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| * WebProcess/WebPage/WebPageGroupProxy.messages.in: |
| Pipe the compiled extension from the UIProcess to the WebProcess. |
| |
| 2015-03-06 Dean Jackson <dino@apple.com> |
| |
| Support "plus-lighter" in mix-blend mode |
| https://bugs.webkit.org/show_bug.cgi?id=142416 |
| <rdar://problem/19993979> |
| |
| Reviewed by Darin Adler and Sam Weinig. |
| |
| Output the appropriate blending type when logging. |
| |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTextStream::operator<<): |
| |
| 2015-03-06 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION (r180782): Data Detector popovers are not dismissed on scroll or zoom |
| https://bugs.webkit.org/show_bug.cgi?id=142371 |
| -and corresponding- |
| rdar://problem/20059224 |
| |
| Reviewed by Tim Horton. |
| |
| This patch has the WKImmediateActionController keep track of whether or not it has |
| an active immediate action. Then we only call into Lookup and DD if the window is |
| key OR if the WKView’s immediateActionController has an active action. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissContentRelativeChildWindows]): |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController initWithPage:view:recognizer:]): |
| (-[WKImmediateActionController willDestroyView:]): |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController hasActiveImmediateAction]): |
| (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]): |
| |
| 2015-03-06 Jeremy Jones <jeremyj@apple.com> |
| |
| Scroll to make the video element visible when exiting fullscreen. |
| https://bugs.webkit.org/show_bug.cgi?id=141439 |
| |
| Reviewed by Simon Fraser. |
| |
| This patch will restore interface state when exiting fullscreen. |
| Adds preparedToReturnToInline to continue exiting once the interface is updated. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline): |
| (WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): added. |
| * WebProcess/ios/WebVideoFullscreenManager.h: |
| * WebProcess/ios/WebVideoFullscreenManager.messages.in: |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline): |
| |
| 2015-03-06 Antti Koivisto <antti@apple.com> |
| |
| Rename NetworkCacheStorageCocoa.mm to NetworkCacheStorage.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=142401 |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| It is now fully cross-platform. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: Copied from Source/WebKit2/NetworkProcess/cache/NetworkCacheStorageCocoa.mm. |
| (WebKit::NetworkCache::Storage::shrinkIfNeeded): |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-03-06 Antti Koivisto <antti@apple.com> |
| |
| Don't use dispatch_semaphore in NetworkCacheStorage |
| https://bugs.webkit.org/show_bug.cgi?id=142395 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannel.h: |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::IOChannel::readSync): |
| |
| Add readSync to encapsulate the semaphore. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCache::Storage::traverse): |
| |
| 2015-03-06 Antti Koivisto <antti@apple.com> |
| |
| Move dispatch_data use behind NetworkCache::Data abstraction |
| https://bugs.webkit.org/show_bug.cgi?id=142392 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/cache/NetworkCacheData.h: |
| (WebKit::NetworkCache::DispatchPtr::DispatchPtr): |
| * NetworkProcess/cache/NetworkCacheDataCocoa.mm: |
| (WebKit::NetworkCache::Data::Data): |
| (WebKit::NetworkCache::Data::apply): |
| (WebKit::NetworkCache::Data::subrange): |
| (WebKit::NetworkCache::concatenate): |
| (WebKit::NetworkCache::mapFile): |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::read): |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCache::hashData): |
| (WebKit::NetworkCache::decodeEntryMetaData): |
| (WebKit::NetworkCache::decodeEntryHeader): |
| (WebKit::NetworkCache::decodeEntry): |
| (WebKit::NetworkCache::encodeEntryMetaData): |
| (WebKit::NetworkCache::encodeEntryHeader): |
| (WebKit::NetworkCache::Storage::dispatchFullWriteOperation): |
| (WebKit::NetworkCache::mapFile): Deleted. |
| |
| 2015-03-06 Antti Koivisto <antti@apple.com> |
| |
| Use WTF abstraction for page size in NetworkCacheStorage |
| https://bugs.webkit.org/show_bug.cgi?id=142396 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCache::decodeEntryMetaData): |
| (WebKit::NetworkCache::Storage::dispatchFullWriteOperation): |
| |
| 2015-03-06 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] SVG fonts are garbled |
| https://bugs.webkit.org/show_bug.cgi?id=142377 |
| |
| Reviewed by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unguarded GTK-specific member and method usage in DrawingAreaImpl |
| https://bugs.webkit.org/show_bug.cgi?id=142391 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| r180924 introduced unguarded use of m_nativeSurfaceHandleForCompositing |
| and LayerTreeHost::setNativeSurfaceHandleForCompositing() in DrawingAreaImpl. |
| Definitions for both of these are guarded with USE(TEXTURE_MAPPER_GL) and PLATFORM(GTK), |
| so their use should be as well. |
| |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): |
| |
| 2015-03-06 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r181140): WebKit2 fails to build on Mavericks buildbot |
| |
| Work around Xcode dependency tracking issues by making changes |
| to source files that need to be recompiled. |
| |
| * NetworkProcess/NetworkProcess.cpp: Update copyright. Include |
| NetworkCache.h since it didn't appear to be included by |
| NetworkCacheCoders.h. |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: Update copyright. |
| |
| 2015-03-05 Antti Koivisto <antti@apple.com> |
| |
| Move disk cache classes to namespace |
| https://bugs.webkit.org/show_bug.cgi?id=142339 |
| |
| Reviewed by Anders Carlsson. |
| |
| Move everything to NetworkCache namespace. |
| |
| 2015-03-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r180924): ASSERTION FAILED: !from.isEmpty() in WebCore::TransformationMatrix::rectToRect |
| https://bugs.webkit.org/show_bug.cgi?id=142345 |
| |
| Reviewed by Martin Robinson. |
| |
| This was caused by r180924 that postpones the creation of the |
| TextureMapper, which could cause that a layer has not yet a size |
| when TextureMapper::paint() is called. This patch moves the |
| creation of the TextureMapper to |
| LayerTreeHostGtk::setNativeSurfaceHandleForCompositing(), so that |
| it's created as soon as it's possible to create. This method is |
| called by the drawing area right after creating the |
| LayerTreeHostGtk if it already have a handler, or when the handle |
| is received from the UI process. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::initialize): Remove the |
| nsureTextureMapper call because at this point the layer context ID |
| is always 0, so it's impossible to create the TextureMapper. |
| (WebKit::LayerTreeHostGtk::compositeLayersToContext): Remove the |
| ensureTextureMapper call from here too, since at this point, if we |
| have a context, we should also have a TextureMapper. Add an ASSERT |
| right before using the TextureMapper. |
| (WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing): |
| Create the TextureMapper here. |
| (WebKit::LayerTreeHostGtk::ensureTextureMapper): Deleted. |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: |
| |
| 2015-03-05 Anders Carlsson <andersca@apple.com> |
| |
| WKWebView Encoder for remote object communication does not implement encodeInt32:forKey: |
| https://bugs.webkit.org/show_bug.cgi?id=142356 |
| rdar://problem/20058952 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/API/Cocoa/WKRemoteObjectCoder.mm: |
| (-[WKRemoteObjectEncoder encodeInt32:forKey:]): |
| (-[WKRemoteObjectDecoder decodeInt32ForKey:]): |
| |
| 2015-03-05 Chris Dumez <cdumez@apple.com> |
| |
| NetworkCache efficacy logging is using too much CPU |
| https://bugs.webkit.org/show_bug.cgi?id=142186 |
| <rdar://problem/19632080> |
| |
| Reviewed by Antti Koivisto. |
| |
| NetworkCache efficacy logging was using too much CPU mostly due to |
| database writes. Logging was using ~11.3% of the NetworkProcess' |
| CPU usage (~9.2% for writes / ~1.3% for reads). |
| |
| This patch buffers writes requests in memory and only writes them |
| to disk every 10 seconds. We are thus writing to this less frequently |
| and writing more at once, in a single SQL transaction. After this |
| change, efficacy logging only accounts for ~3.5% of the NetworkProcess' |
| CPU activity (1.5% for writes / 1.2% for reads). |
| |
| Now that CPU usage is more acceptable, this patch re-enables the |
| network cache efficicy logging. |
| |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::executeSQLCommand): |
| (WebKit::executeSQLStatement): |
| Call step() instead of executeCommand() because: |
| - The input statement is already prepared. |
| - step() does not finalize() the statement and thus we caller can |
| reuse it after calling reset(). |
| |
| (WebKit::NetworkCacheStatistics::NetworkCacheStatistics): |
| (WebKit::NetworkCacheStatistics::initialize): |
| (WebKit::NetworkCacheStatistics::bootstrapFromNetworkCache): |
| (WebKit::NetworkCacheStatistics::recordNotCachingResponse): |
| (WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest): |
| (WebKit::NetworkCacheStatistics::recordRetrievalFailure): |
| (WebKit::NetworkCacheStatistics::markAsRequested): |
| (WebKit::NetworkCacheStatistics::writeTimerFired): |
| (WebKit::NetworkCacheStatistics::queryWasEverRequested): |
| (WebKit::NetworkCacheStatistics::addHashesToDatabase): |
| (WebKit::NetworkCacheStatistics::addStoreDecisionsToDatabase): |
| (WebKit::NetworkCacheStatistics::addHashToDatabase): Deleted. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| Re-enable the network cache efficacy logging. |
| |
| 2015-03-05 Antti Koivisto <antti@apple.com> |
| |
| Switch NetworkCacheStorage to WorkQueue abstraction |
| https://bugs.webkit.org/show_bug.cgi?id=142337 |
| |
| Reviewed by Anders Carlsson. |
| |
| Don't use dispatch_async directly. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCacheStorage::ioQueue): |
| (WebKit::NetworkCacheStorage::backgroundIOQueue): |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::NetworkCacheStorage): |
| (WebKit::NetworkCacheStorage::initialize): |
| (WebKit::NetworkCacheStorage::removeEntry): |
| (WebKit::NetworkCacheStorage::dispatchReadOperation): |
| (WebKit::retrieveFromMemory): |
| (WebKit::NetworkCacheStorage::traverse): |
| (WebKit::NetworkCacheStorage::dispatchFullWriteOperation): |
| (WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation): |
| (WebKit::NetworkCacheStorage::clear): |
| (WebKit::NetworkCacheStorage::shrinkIfNeeded): |
| (WebKit::NetworkCacheStorage::deleteOldVersions): |
| |
| 2015-03-05 Lukasz Bialek <l.bialek@samsung.com> |
| |
| [EFL][WK2] Crash when "Download Linked File" from MiniBrowser context menu is clicked |
| https://bugs.webkit.org/show_bug.cgi?id=131162 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| "Download Linked File" crashes because of null-pointer exception of Download Job. |
| Due to architectural difficulties, easy fix is not possible (EwkView is needed in |
| DownloadManager to create DownloadJobs and it is only used to notify the client |
| about download (finished, error, cancel) via smart callback using EwkView (Evas_Object). |
| |
| Propose a new callbacks which are view independent and detach EFL's DownloadManager |
| from EwkView. It makes DownloadManagerEFL consistent with WKContextDownload. |
| Fix the crash and restore download functionality. |
| |
| * PlatformEfl.cmake: |
| Enable newly reimplemented tests |
| * UIProcess/API/efl/EwkViewCallbacks.h: |
| Remove old callback mechanism |
| * UIProcess/API/efl/ewk_context.cpp: |
| (ewk_context_download_callbacks_set): |
| * UIProcess/API/efl/ewk_context.h: |
| Declare new callback functions and registration functions |
| * UIProcess/API/efl/ewk_download_job.cpp: |
| (EwkDownloadJob::EwkDownloadJob): |
| (EwkDownloadJob::view): Deleted. |
| * UIProcess/API/efl/ewk_download_job.h: |
| * UIProcess/API/efl/ewk_download_job_private.h: |
| (EwkDownloadJob::create): |
| Remove EwkView dependency |
| * UIProcess/API/efl/ewk_view.h: |
| * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: |
| Alter tests to new callback mechanism |
| * UIProcess/efl/DownloadManagerEfl.cpp: |
| (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename): |
| (WebKit::DownloadManagerEfl::didStart): |
| (WebKit::DownloadManagerEfl::didFail): |
| (WebKit::DownloadManagerEfl::didCancel): |
| (WebKit::DownloadManagerEfl::didFinish): |
| (WebKit::DownloadManagerEfl::DownloadManagerEfl): |
| (WebKit::DownloadManagerEfl::registerDownloadJob): |
| (WebKit::DownloadManagerEfl::setCallbacks): |
| * UIProcess/efl/DownloadManagerEfl.h: |
| * UIProcess/efl/WebViewEfl.cpp: |
| (WebKit::WebViewEfl::handleDownloadRequest): |
| Add support of new callback mechanism |
| |
| 2015-03-05 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [SOUP] Disable RC4 |
| https://bugs.webkit.org/show_bug.cgi?id=140014 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Disallow RC4-based ciphersuites when performing TLS negotiation, |
| because it is no longer considered secure. |
| |
| * NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp: |
| (main): |
| * WebProcess/EntryPoint/unix/WebProcessMain.cpp: |
| (main): |
| |
| 2015-03-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Hide Promise with runtime flags under Cocoa JSContext API |
| https://bugs.webkit.org/show_bug.cgi?id=141965 |
| |
| Reviewed by Filip Pizlo. |
| |
| Add new JSC runtime flag, PromiseDisabled. |
| |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2015-03-04 Beth Dakin <bdakin@apple.com> |
| |
| Attempted build fix. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| |
| 2015-03-04 Beth Dakin <bdakin@apple.com> |
| |
| Message UI process when contentSize changes |
| https://bugs.webkit.org/show_bug.cgi?id=142294 |
| -and corresponding- |
| rdar://problem/19963165 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch un-ifdefs the didChangeContentSize message so that we can use it on Mac |
| as well. |
| |
| New private method that subclasses can override when they need to do something |
| with contentSize changes. |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _didChangeContentSize:]): |
| * UIProcess/PageClient.h: |
| |
| Un-ifdef. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didChangeContentSize): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didChangeContentSize): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::contentsSizeChanged): |
| |
| Stubs for other platforms now that the pure-virtual is un-masked. |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didChangeContentSize): |
| * UIProcess/API/gtk/PageClientImpl.h: |
| |
| 2015-03-04 Antti Koivisto <antti@apple.com> |
| |
| Factor platform I/O out from NetworkCacheStorage |
| https://bugs.webkit.org/show_bug.cgi?id=142279 |
| |
| Reviewed by Chris Dumez. |
| |
| * NetworkProcess/cache/NetworkCacheData.h: Added. |
| * NetworkProcess/cache/NetworkCacheDataCocoa.mm: Added. |
| |
| NetworkCacheStorage::Data -> NetworkCacheData |
| Move to files of its own. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannel.h: Added. |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: Added. |
| |
| Add abstraction for dispatch IO channels. |
| |
| 2015-03-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove WK_AVAILABLE and related macros when we cannot determine iOS/Mac version |
| https://bugs.webkit.org/show_bug.cgi?id=142252 |
| rdar://problem/19983833 |
| |
| Reviewed by David Kilzer. |
| |
| When mac / ios version was unable to be determined strip the WK_AVAILABLE |
| and WK_DEPRECATED macros to avoid outputing a broken macro. |
| |
| * mac/postprocess-framework-headers.sh: |
| |
| 2015-03-04 Debarshi Ray <debarshir@gnome.org> |
| |
| [GTK] WebView should hold a reference on WebContext because non-default contexts are a reality |
| https://bugs.webkit.org/show_bug.cgi?id=142225 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewRequestFavicon): |
| (webkitWebViewWatchForChangesInFavicon): |
| (webkitWebViewDisconnectFaviconDatabaseSignalHandlers): |
| (webkitWebViewConstructed): |
| (webkitWebViewGetProperty): |
| (webkitWebViewDispose): |
| (webkitWebViewLoadChanged): |
| (webkitWebViewLoadFailedWithTLSErrors): |
| (webkit_web_view_get_context): |
| (webkit_web_view_download_uri): |
| |
| 2015-03-03 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/Shared module. |
| https://bugs.webkit.org/show_bug.cgi?id=142213 |
| |
| Reviewed by Simon Fraser. |
| |
| Fix build warning by removing argument name from function. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::pathPointCountApplierFunction): |
| |
| 2015-03-03 Andy Estes <aestes@apple.com> |
| |
| [Content Filtering] Separate unblock handling into its own class |
| https://bugs.webkit.org/show_bug.cgi?id=142251 |
| |
| Reviewed by Andreas Kling. |
| |
| Adopted ContentFilterUnblockHandler. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode): |
| (IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode): |
| (IPC::ArgumentCoder<ContentFilter>::encode): Deleted. |
| (IPC::ArgumentCoder<ContentFilter>::decode): Deleted. |
| * UIProcess/Cocoa/WebPageProxyCocoa.mm: |
| (WebKit::WebPageProxy::contentFilterDidBlockLoadForFrame): |
| * UIProcess/WebFrameProxy.cpp: |
| (WebKit::WebFrameProxy::didStartProvisionalLoad): |
| (WebKit::WebFrameProxy::contentFilterDidHandleNavigationAction): |
| * UIProcess/WebFrameProxy.h: |
| (WebKit::WebFrameProxy::setContentFilterUnblockHandler): |
| (WebKit::WebFrameProxy::setContentFilterForBlockedLoad): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::contentFilterDidBlockLoad): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| |
| 2015-03-03 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Fix memory leak in _getCookieHeadersForTask |
| https://bugs.webkit.org/show_bug.cgi?id=142245 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fix memory leak in _getCookieHeadersForTask. We are leaking the CFDictionary |
| returned by webKitCookieStorageCopyRequestHeaderFieldsForURL(). |
| |
| This patch addresses the issue by storing the return CFDictionary in a |
| RetainPtr<CFDictionaryRef>. |
| |
| * Shared/mac/CookieStorageShim.mm: |
| (-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]): |
| |
| 2015-03-03 Enrica Casucci <enrica@apple.com> |
| |
| Incomplete dictation results in text fields in a web page. |
| https://bugs.webkit.org/show_bug.cgi?id=142240 |
| rdar://problem/19953432 |
| |
| Reviewed by Tim Horton. |
| |
| The empty stub for insertDictationResult:withCorrectionIdentifier |
| must be removed. This way UIKit will call insertText and do the right thing. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView insertDictationResult:withCorrectionIdentifier:]): Deleted. |
| |
| 2015-03-03 Dean Jackson <dino@apple.com> |
| |
| Controls panel should have system blurry background |
| https://bugs.webkit.org/show_bug.cgi?id=142154 |
| <rdar://problem/20000964> |
| |
| Reviewed by Simon Fraser. |
| |
| In order to replicate the system style of media controls |
| on OS X and iOS, we need to expose a special -webkit-appearance. |
| This patch adds the new property value, and implements |
| the iOS part of the appearance, which is a blurry shaded |
| background. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::drawInContext): Add entries for |
| the new layer types, even though they are not correct yet. |
| |
| * Shared/mac/RemoteLayerTreePropertyApplier.mm: |
| (WebKit::updateCustomAppearance): |
| (WebKit::RemoteLayerTreePropertyApplier::applyProperties): UIBackdropViews |
| have a defined hierarchy that we don't create. We need to make sure we add our |
| children to the right subview. |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::description): Logging. |
| |
| * UIProcess/ios/RemoteLayerTreeHostIOS.mm: Rename existing WKBackdropView |
| to WKSimpleBackdropView, and add a new WKBackdropView that inherits |
| from UIBackdropView. |
| (-[WKBackdropView hitTest:withEvent:]): |
| (-[WKBackdropView description]): |
| (WebKit::RemoteLayerTreeHost::createLayer): Handle the new LayerTypes. |
| * UIProcess/mac/RemoteLayerTreeHost.mm: |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| |
| 2015-03-03 Chris Dumez <cdumez@apple.com> |
| |
| Access ApplicationCacheStorage global instance via singleton() static member function |
| https://bugs.webkit.org/show_bug.cgi?id=142239 |
| |
| Reviewed by Anders Carlsson. |
| |
| Access ApplicationCacheStorage global instance via singleton() static |
| member function as per WebKit coding style. |
| |
| 2015-03-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Build Fix: Add fall back handling in postprocess script for missing/unknown platform name. |
| |
| Rubber-stamped by David Kilzer. |
| |
| * mac/postprocess-framework-headers.sh: |
| |
| 2015-03-03 Enrica Casucci <enrica@apple.com> |
| |
| Build fix for iOS. |
| |
| Unreviewed. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: Adding forward declaration. |
| |
| 2015-03-03 Antti Koivisto <antti@apple.com> |
| |
| Include key to NetworkCacheStorage::Entry |
| https://bugs.webkit.org/show_bug.cgi?id=142215 |
| |
| Reviewed by Chris Dumez. |
| |
| This simplified code. The key is saved as part of the entry so it makes logical sense too. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::makeCacheKey): |
| (WebKit::encodeStorageEntry): |
| (WebKit::NetworkCache::retrieve): |
| (WebKit::NetworkCache::store): |
| (WebKit::NetworkCache::update): |
| (WebKit::NetworkCache::traverse): |
| (WebKit::entryAsJSON): |
| (WebKit::NetworkCache::dumpContentsToFile): |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::NetworkCacheKey::operator=): |
| * NetworkProcess/cache/NetworkCacheKey.h: |
| (WebKit::NetworkCacheKey::isNull): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::decodeEntry): |
| (WebKit::encodeEntryHeader): |
| (WebKit::retrieveFromMemory): |
| (WebKit::NetworkCacheStorage::retrieve): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::update): |
| (WebKit::NetworkCacheStorage::traverse): |
| (WebKit::NetworkCacheStorage::dispatchPendingWriteOperations): |
| (WebKit::NetworkCacheStorage::dispatchFullWriteOperation): |
| (WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation): |
| |
| 2015-03-03 Antti Koivisto <antti@apple.com> |
| |
| Cache shrink leaves behind empty partition directories |
| https://bugs.webkit.org/show_bug.cgi?id=142217 |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/cache/NetworkCacheFileSystemPosix.h: |
| (WebKit::traverseCacheFiles): |
| |
| No need for std::function. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::shrinkIfNeeded): |
| |
| After shrink traverse through the partition directories and try to delete them. |
| System knows if they are actually empty. |
| |
| 2015-03-03 Anders Carlsson <andersca@apple.com> |
| |
| Use the correct display name for website data for local files |
| https://bugs.webkit.org/show_bug.cgi?id=142228 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (displayNameForLocalFiles): |
| Add new helper function. |
| |
| (WebKit::WebsiteDataRecord::displayNameForCookieHostName): |
| Check if the hostname is kCFHTTPCookieLocalFileDomain. |
| |
| (WebKit::WebsiteDataRecord::displayNameForOrigin): |
| Handle file URLs as well. |
| |
| 2015-03-03 Enrica Casucci <enrica@apple.com> |
| |
| Fixed typo in platform guard in http://trac.webkit.org/changeset/180939. |
| |
| Unreviewed. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| |
| 2015-03-03 Enrica Casucci <enrica@apple.com> |
| |
| Adopt new API for keyboard interaction. |
| https://bugs.webkit.org/show_bug.cgi?id=142201 |
| rdar://problem/19924949 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView inputAssistantItem]): |
| (-[WKContentView _inputAssistantItem]): |
| |
| 2015-03-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode before the WebView is realized |
| https://bugs.webkit.org/show_bug.cgi?id=142079 |
| |
| Reviewed by Žan Doberšek. |
| |
| The problem is that the texture mapper and native window handler |
| are initialized when the LayerTreeHost is initialized, assuming |
| the UI process has already sent the native window handler to the |
| web process, but that doesn't always happen since we moved the |
| redirected window creation to realize in r177075. |
| |
| * WebProcess/WebPage/DrawingArea.h: |
| (WebKit::DrawingArea::nativeSurfaceHandleForCompositing): Deleted. |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Call |
| LayerTreeHost::setNativeSurfaceHandleForCompositing if we |
| already have a native window handle at this point. |
| (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing): |
| Call LayerTreeHost::setNativeSurfaceHandleForCompositing also when |
| not using threaded compositing. |
| * WebProcess/WebPage/LayerTreeHost.h: |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::makeContextCurrent): Helper function to |
| ensure a context and making it current. |
| (WebKit::LayerTreeHostGtk::ensureTextureMapper): Ensure a texture |
| is created for the current context. |
| (WebKit::LayerTreeHostGtk::initialize): Use makeContextCurrent() |
| and ensureTextureMapper(), and remove the LayerTreeContext |
| initialization since that's is now always initialized in |
| setNativeSurfaceHandleForCompositing(). |
| (WebKit::LayerTreeHostGtk::compositeLayersToContext): Use |
| makeContextCurrent() helper function and also call |
| ensureTextureMapper() just in case the texture could not be |
| created during initialization because the native window handle was |
| not yet available. |
| (WebKit::LayerTreeHostGtk::flushAndRenderLayers): Use makeContextCurrent(). |
| (WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing): |
| Initialize the LayerTreeContext. |
| (WebKit::LayerTreeHostGtk::glContext): Deleted. |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: |
| |
| 2015-03-02 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [WK2] Remove unnecessary create() factory functions. |
| https://bugs.webkit.org/show_bug.cgi?id=142161 |
| |
| Reviewed by Chris Dumez. |
| |
| We can replace some create() factory functions with std::make_unique(). Because |
| it just returns new instance. Even some of those functions have used std::unique_ptr<> |
| instead of std::make_unique<>. Fixed all. |
| |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: |
| (WebKit::SQLiteIDBTransaction::create): Deleted. |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction): |
| * Platform/efl/DispatchQueueWorkItemEfl.h: |
| (WorkItem::dispatch): |
| (WorkItem::create): Deleted. |
| * UIProcess/API/gtk/PageClientImpl.h: |
| (WebKit::PageClientImpl::create): Deleted. |
| * UIProcess/API/gtk/WebKitTextChecker.h: |
| (WebKitTextChecker::create): Deleted. |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseConstructed): |
| |
| 2015-03-02 Brady Eidson <beidson@apple.com> |
| |
| Lots of: ERROR: Unhandled web process message WebPageGroupProxy:RemoveAllUserContentFilters |
| https://bugs.webkit.org/show_bug.cgi?id=142155 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::didReceiveMessage): Return after handling WebPageGroupProxy messages |
| instead of logging an error. |
| |
| 2015-03-02 Antti Koivisto <antti@apple.com> |
| |
| Add way to dump cache meta data to file |
| https://bugs.webkit.org/show_bug.cgi?id=142183 |
| |
| Add a missing return so we don't try to decode a null entry. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::dumpContentsToFile): |
| |
| 2015-03-02 Anders Carlsson <andersca@apple.com> |
| |
| Return disk cache entries from the new disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=142190 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::fetchDiskCacheEntries): |
| Call NetworkCache::traverse() to get all the cache entries, unique their origins and pass them back with the completion handler. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::traverse): |
| New helper function that traverses network cache entries. |
| |
| * NetworkProcess/cache/NetworkCache.h: |
| |
| 2015-03-02 Antti Koivisto <antti@apple.com> |
| |
| Add way to dump cache meta data to file |
| https://bugs.webkit.org/show_bug.cgi?id=142183 |
| |
| Reviewed by Andreas Kling. |
| |
| Dump goes to WebKitCache/dump.json. On OSX it can be triggered with |
| |
| notifyutil -p com.apple.WebKit.Cache.dump |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::initialize): |
| (WebKit::NetworkCache::dumpFilePath): |
| (WebKit::entryAsJSON): |
| (WebKit::NetworkCache::dumpContentsToFile): |
| (WebKit::NetworkCache::clear): |
| |
| Also clear any dumps. |
| |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCacheStorage::baseDirectoryPath): |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::fileNameForKey): |
| (WebKit::filePathForKey): |
| (WebKit::openFile): |
| (WebKit::openFileForKey): |
| (WebKit::decodeEntryHeader): |
| |
| Separate header decoding. |
| |
| (WebKit::decodeEntry): |
| (WebKit::NetworkCacheStorage::traverse): |
| |
| Add asynchronous cache traversal inteface. |
| |
| 2015-03-02 Anders Carlsson <andersca@apple.com> |
| |
| WebsiteDataStore should handle deleting cookies |
| https://bugs.webkit.org/show_bug.cgi?id=142185 |
| |
| Reviewed by Beth Dakin. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| When asked to delete cookies, do so. |
| |
| * NetworkProcess/NetworkProcess.h: |
| Update the deleteWebsiteDataForOrigins signature. |
| |
| * NetworkProcess/NetworkProcess.messages.in: |
| Add cookieHostNames to DeleteWebsiteDataForOrigins. |
| |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| Update to take a vector of cookie host names. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::removeData): |
| Figure out if we need to ask the network process to delete data. |
| |
| 2015-03-02 Anders Carlsson <andersca@apple.com> |
| |
| WebsiteDataStore should support getting cookie host names |
| https://bugs.webkit.org/show_bug.cgi?id=142178 |
| |
| Reviewed by Dan Bernstein. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::fetchWebsiteData): |
| Assert that we're destroyed from the main thread since we end up copying the website data struct. |
| |
| * Shared/WebsiteData/WebsiteData.cpp: |
| (WebKit::WebsiteData::encode): |
| (WebKit::WebsiteData::decode): |
| * Shared/WebsiteData/WebsiteData.h: |
| Add a hostnamesWithCookies member. |
| |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::WebsiteDataRecord::displayNameForCookieHostName): |
| Add a new function that will return the display name for a cookie host name. |
| |
| (WebKit::WebsiteDataRecord::addCookieHostName): |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| Add a hash set of cookie host names. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| Create data records for each host name with cookies. |
| |
| 2015-03-02 Jer Noble <jer.noble@apple.com> |
| |
| [WK2][Mac] WebPageProxy::supressVisibilityUpdates() should suppress visibility updates. |
| https://bugs.webkit.org/show_bug.cgi?id=141907 |
| |
| Reviewed by Tim Horton. |
| |
| At some point, the window/view/page visibility update code was refactored such that setting |
| WebPageProxy::setSuppressVisibilityUpdate() no longer suppressed visibility updates. This causes |
| full screen animations to become "flashy" when moving the WebView between the regular and full |
| screen window, as a HTMLMediaElement in the full screen animation will receive a "!visible" |
| notification and disconnect its rendering pipeline. |
| |
| In WebPageProxy::viewStateDidChange(), respect m_suppressVisibilityUpdates and bail out early |
| if set. In WebPageProxy::setSuppressVisibilityUpdates(), trigger an explicit update after |
| clearing m_suppressVisibilityUpdates. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setSuppressVisibilityUpdates): |
| (WebKit::WebPageProxy::viewStateDidChange): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::setSuppressVisibilityUpdates): Deleted. |
| |
| 2015-03-02 Jer Noble <jer.noble@apple.com> |
| |
| [WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled. |
| https://bugs.webkit.org/show_bug.cgi?id=142121 |
| |
| Reviewed by Simon Fraser. |
| |
| Change the order of operations when entering or exiting fullscreen. Change the page scale to |
| 1 before entering, so the final screen rect takes that scale into account, and vice-versa on |
| exiting. |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController enterFullScreen:]): |
| (-[WKFullScreenWindowController exitFullScreen]): |
| |
| 2015-03-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Make clip-path work on <video>, <canvas> etc. |
| https://bugs.webkit.org/show_bug.cgi?id=138684 |
| |
| Reviewed by Darin Adler. |
| |
| Support encode/decode for WebCore Path objects, which is done by traversing |
| the path. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::pathPointCountApplierFunction): |
| (IPC::pathEncodeApplierFunction): |
| (IPC::ArgumentCoder<Path>::encode): |
| (IPC::ArgumentCoder<Path>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/mac/RemoteLayerTreePropertyApplier.mm: |
| (WebKit::applyPropertiesToLayer): Actually apply the path and wind rule to the shape layer. |
| * Shared/mac/RemoteLayerTreeTransaction.h: Include path and wind rule in the layer properties. |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): Encode shape and wind rule. |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): Decode shape and wind rule. |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::shapePath): |
| (WebKit::PlatformCALayerRemote::setShapePath): |
| (WebKit::PlatformCALayerRemote::shapeWindRule): |
| (WebKit::PlatformCALayerRemote::setShapeWindRule): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| |
| 2015-03-01 Chris Dumez <cdumez@apple.com> |
| |
| Make NotificationCenter / Notification suspendable |
| https://bugs.webkit.org/show_bug.cgi?id=142117 |
| <rdar://problem/19923085> |
| |
| Reviewed by Andreas Kling. |
| |
| Provide implementation for NotificationClient::hasPendingPermissionRequests(). |
| |
| * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: |
| (WebKit::NotificationPermissionRequestManager::hasPendingPermissionRequests): |
| * WebProcess/Notifications/NotificationPermissionRequestManager.h: |
| * WebProcess/WebCoreSupport/WebNotificationClient.cpp: |
| (WebKit::WebNotificationClient::hasPendingPermissionRequests): |
| * WebProcess/WebCoreSupport/WebNotificationClient.h: |
| |
| 2015-03-01 Antti Koivisto <antti@apple.com> |
| |
| Enable new disk cache on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=142148 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| |
| iOS build fix. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| |
| Disable the efficacy logging by default for now. It has significant performance impact. |
| |
| * config.h: |
| |
| Enable it. |
| |
| 2015-02-28 Anders Carlsson <andersca@apple.com> |
| |
| WebsiteDataStore should handle fetching and deleting local storage data |
| https://bugs.webkit.org/show_bug.cgi?id=142137 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::deleteEntriesForOrigins): |
| Add a new function that deletes entries from multiple origins. |
| |
| * UIProcess/Storage/StorageManager.h: |
| Add new members. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| Fetch local storage data as well. |
| |
| (WebKit::WebsiteDataStore::removeData): |
| Delete local storage data as well. |
| |
| 2015-02-28 Anders Carlsson <andersca@apple.com> |
| |
| Fetch cache origins from the network process |
| https://bugs.webkit.org/show_bug.cgi?id=142135 |
| |
| Reviewed by Dan Bernstein. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::cfURLCacheOrigins): |
| Add a new helper function that returns a vector of CFURL cache origins. |
| |
| (WebKit::fetchDiskCacheOrigins): |
| Fetch the disk cache origins and pass them along to the completion handler. Currently we don't handle the new disk cache. |
| |
| (WebKit::NetworkProcess::fetchWebsiteData): |
| Create a callback aggregator and fetch disk cache origins if we're asked for it. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeNetworkProcessAccessTypeForDataFetch): |
| New helper function that computes if we need to launch the network process in order to fetch data. |
| |
| (WebKit::WebsiteDataStore::fetchData): |
| Fetch website data from the network process as well. |
| |
| 2015-02-28 Anders Carlsson <andersca@apple.com> |
| |
| Simplify WebResourceCacheManagerCFNet.mm code |
| https://bugs.webkit.org/show_bug.cgi?id=142134 |
| |
| Reviewed by Dan Bernstein. |
| |
| - ENABLE(CACHE_PARTITIONING) is always true on Mac and iOS, so remove those #ifdefs. |
| - Make cfURLCacheHostNamesWithCallback and clearCFURLCacheForHostNames public |
| so they can be used by the new WebsiteDataStore code in an upcoming patch. |
| - Change cfURLCacheHostNamesWithCallback to take an std::function instead of a block. |
| |
| * WebProcess/ResourceCache/WebResourceCacheManager.cpp: |
| (WebKit::WebResourceCacheManager::getCacheOrigins): |
| * WebProcess/ResourceCache/WebResourceCacheManager.h: |
| * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm: |
| (WebKit::partitionName): |
| (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback): |
| (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): |
| (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Deleted. |
| |
| 2015-02-28 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r180804. |
| https://bugs.webkit.org/show_bug.cgi?id=142131 |
| |
| Broke nightlies (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "[WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API" |
| https://bugs.webkit.org/show_bug.cgi?id=141176 |
| http://trac.webkit.org/changeset/180804 |
| |
| 2015-02-27 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL][GTK] Fix build break after r180790,180798 |
| https://bugs.webkit.org/show_bug.cgi?id=142127 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * CMakeLists.txt: |
| |
| 2015-02-27 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API |
| https://bugs.webkit.org/show_bug.cgi?id=141176 |
| |
| Reviewed by Sam Weinig. |
| |
| Drop legacy WKBundlePageDiagnosticLoggingClient WK2 API as we are now |
| exposing this functionality via WKPageDiagnosticLoggingClient.h on |
| UIProcess side. The client-side has already been ported over. |
| |
| * CMakeLists.txt: |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toAPI): Deleted. |
| (WebKit::toDiagnosticLoggingResultType): Deleted. |
| * UIProcess/API/C/WKAPICast.h: |
| (WebKit::toAPI): |
| * UIProcess/API/C/WKDiagnosticLoggingResultType.h: Renamed from Source/WebKit2/Shared/API/c/WKDiagnosticLoggingResultType.h. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageSetDiagnosticLoggingClient): Deleted. |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.h: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Removed. |
| * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Removed. |
| * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Removed. |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::WebPage::close): |
| (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::injectedBundleDiagnosticLoggingClient): Deleted. |
| |
| 2015-02-27 Anders Carlsson <andersca@apple.com> |
| |
| Rename WebResourceCacheManagerCFNet.cpp to WebResourceCacheManagerCFNet.mm |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| This will let us use lambda to block conversion in a subsequent patch. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm: Renamed from Source/WebKit2/WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp. |
| |
| 2015-02-27 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r180203 and r180210. |
| https://bugs.webkit.org/show_bug.cgi?id=142116 |
| |
| broke process suspension and tile map (Requested by thorton on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "Adopt CAMachPort-as-layer-contents" |
| https://bugs.webkit.org/show_bug.cgi?id=141687 |
| http://trac.webkit.org/changeset/180203 |
| |
| "Fix the !USE(IOSURFACE) build" |
| http://trac.webkit.org/changeset/180210 |
| |
| 2015-02-27 Sam Weinig <sam@webkit.org> |
| |
| Add WebKit2 SPI to create a DOM File object |
| https://bugs.webkit.org/show_bug.cgi?id=142109 |
| |
| Reviewed by Tim Horton. |
| |
| Add a new handle type for exposing a DOM File object to script. Follow |
| the pattern of WKBundleNodeHandleRef and WKBundleRangeHandleRef with the |
| new class WKBundleFileHandleRef. It can be created for a specific path, |
| and then the JS wrapper can be obtained via WKBundleFrameGetJavaScriptWrapperForFileForWorld. |
| |
| * Shared/API/APIObject.h: |
| * Shared/API/c/WKBase.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: |
| * WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp: Added. |
| (WKBundleFileHandleGetTypeID): |
| (WKBundleFileHandleCreateWithPath): |
| * WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h: Added. |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: |
| (WKBundleFrameGetJavaScriptWrapperForFileForWorld): |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: |
| * WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.cpp: Added. |
| (WebKit::domHandleCache): |
| (WebKit::InjectedBundleFileHandle::create): |
| (WebKit::InjectedBundleFileHandle::getOrCreate): |
| (WebKit::InjectedBundleFileHandle::InjectedBundleFileHandle): |
| (WebKit::InjectedBundleFileHandle::~InjectedBundleFileHandle): |
| (WebKit::InjectedBundleFileHandle::coreFile): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.h: Added. |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::jsWrapperForWorld): |
| * WebProcess/WebPage/WebFrame.h: |
| |
| 2015-02-27 Beth Dakin <bdakin@apple.com> |
| |
| Lookup panel dismisses when pages are loading in other tabs/windows |
| https://bugs.webkit.org/show_bug.cgi?id=142104 |
| -and corresponding- |
| rdar://problem/19882137 |
| |
| Reviewed by Tim Horton. |
| |
| Until rdar://problem/13875766 is resolved, we should only call into Lookup and |
| DataDetectors for key windows. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissContentRelativeChildWindows]): |
| |
| 2015-02-27 Anders Carlsson <andersca@apple.com> |
| |
| Add infrastructure for handling website data in the network process |
| https://bugs.webkit.org/show_bug.cgi?id=142092 |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::fetchWebsiteData): |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| Send back "Did" messages without actually doing anything for now. |
| |
| * NetworkProcess/NetworkProcess.h: |
| Add new members. |
| |
| * NetworkProcess/NetworkProcess.messages.in: |
| Add FetchWebsiteData and DeleteWebsiteDataForOrigins messages. |
| |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::~NetworkProcessProxy): |
| Assert that all maps are empty. |
| |
| (WebKit::NetworkProcessProxy::fetchWebsiteData): |
| (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins): |
| Add callbacks and send fetch and delete messages respectively. |
| |
| (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): |
| Make sure to invoke all callbacks. |
| |
| (WebKit::NetworkProcessProxy::didFetchWebsiteData): |
| Find the callback and invoke it. |
| |
| (WebKit::NetworkProcessProxy::didDeleteWebsiteDataForOrigins): |
| Ditto. |
| |
| * UIProcess/Network/NetworkProcessProxy.h: |
| Add new members. |
| |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| Add DidFetchWebsiteData and DidDeleteWebsiteDataForOrigins messages. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::connectionDidClose): |
| Just pass an empty WebsiteData object. |
| |
| 2015-02-26 Enrica Casucci <enrica@apple.com> |
| |
| [WK2] REGRESSION(r180465): WebKit::WebPage::editorState() triggers a layout. |
| https://bugs.webkit.org/show_bug.cgi?id=142015 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| We no longer compute the font information at selection |
| when we update the editor state. |
| Instead, we request the font information only when the selection |
| changes and the font panel is visible. |
| I added an observer to be notified of the font panel visibility |
| changes to update NSFontManager to reflect the font at the |
| current selection. |
| |
| * Shared/EditorState.cpp: |
| (WebKit::EditorState::encode): |
| (WebKit::EditorState::decode): |
| * Shared/EditorState.h: |
| (WebKit::EditorState::EditorState): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView updateFontPanelIfNeeded]): |
| (-[WKView _selectionChanged]): |
| (-[WKView addWindowObserversForWindow:]): |
| (-[WKView removeWindowObservers]): |
| (-[WKView observeValueForKeyPath:ofObject:change:context:]): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::fontAtSelection): |
| (WebKit::WebPageProxy::fontAtSelectionCallback): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::platformEditorState): |
| (WebKit::WebPage::fontAtSelection): |
| |
| 2015-02-27 Brady Eidson <beidson@apple.com> |
| |
| Add API to remove a single content filter. |
| <rdar://problem/19977764> and https://bugs.webkit.org/show_bug.cgi?id=142088 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebPageGroupData.h: |
| |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupRemoveUserContentFilter): |
| |
| * UIProcess/API/C/WKPageGroup.h: |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController _removeUserContentFilter:]): |
| |
| * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy): |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserContentFilter): |
| (WebKit::WebUserContentControllerProxy::removeUserContentFilter): |
| (WebKit::WebUserContentControllerProxy::removeAllUserContentFilters): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| |
| * UIProcess/WebPageGroup.cpp: |
| (WebKit::WebPageGroup::addUserContentFilter): |
| (WebKit::WebPageGroup::removeUserContentFilter): |
| * UIProcess/WebPageGroup.h: |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::removeUserContentFilter): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::WebPageGroupProxy): |
| (WebKit::WebPageGroupProxy::removeUserContentFilter): |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| * WebProcess/WebPage/WebPageGroupProxy.messages.in: |
| |
| 2015-02-26 Anders Carlsson <andersca@apple.com> |
| |
| Add API to remove all website data for the given data records |
| https://bugs.webkit.org/show_bug.cgi?id=142060 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| Add new method declaration. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWebsiteDataRecords): |
| Add a helper function that converts an NSArray of _WKWebsiteDataRecords to a Vector of WebsiteDataRecords. |
| |
| (-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]): |
| Call through to the underlying WebsiteDataStore. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::removeData): |
| Figure out which processes to call deleteWebsiteDataForOrigins for and do so. Add a callback aggregator so we can |
| call the completion handler at the right time. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| Add new members. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::deleteWebsiteDataForOrigins): |
| Use the newly added MemoryCache member function to delete all resources matching the set of origins. |
| |
| 2015-02-26 Chris Dumez <cdumez@apple.com> |
| |
| Rename DatabaseManager::manager() to DatabaseManager::singleton() |
| https://bugs.webkit.org/show_bug.cgi?id=142054 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Rename DatabaseManager::manager() to DatabaseManager::singleton() as |
| per coding style and use WTF::NeverDestroyed. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::exceededDatabaseQuota): |
| * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: |
| (WebKit::WebDatabaseManager::initialize): |
| (WebKit::WebDatabaseManager::getDatabasesByOrigin): |
| (WebKit::WebDatabaseManager::getDatabaseOrigins): |
| (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin): |
| (WebKit::WebDatabaseManager::deleteDatabasesForOrigin): |
| (WebKit::WebDatabaseManager::deleteAllDatabases): |
| (WebKit::WebDatabaseManager::setQuotaForOrigin): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-02-26 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Mac] [iOS] Parsing support for -apple-trailing-word |
| https://bugs.webkit.org/show_bug.cgi?id=141939 |
| |
| Reviewed by Andreas Kling. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-02-26 Brady Eidson <beidson@apple.com> |
| |
| Make WKPageGroupRemoveAllUserContentFilters actually remove all user content filters |
| https://bugs.webkit.org/show_bug.cgi?id=142047 |
| |
| Reviewed by Geoff Garen. |
| |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupRemoveAllUserContentFilters): Remove all content filters instead of removing all user scripts. |
| |
| 2015-02-25 Anders Carlsson <andersca@apple.com> |
| |
| Add (unused for now) code to delete website data for a set of origins |
| https://bugs.webkit.org/show_bug.cgi?id=142019 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::~WebProcessProxy): |
| Assert that there are no pending callbacks. |
| |
| (WebKit::WebProcessProxy::connectionDidClose): |
| Invoke all the didDeleteWebsiteDataForOrigins callbacks. |
| |
| (WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): |
| Grab the didDeleteWebsiteDataForOrigins and invoke it. |
| |
| (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins): |
| Add the pending callback and send a DeleteWebsiteDataForOrigins to the web process. |
| |
| * UIProcess/WebProcessProxy.h: |
| Add new members. |
| |
| * UIProcess/WebProcessProxy.messages.in: |
| Add a DidDeleteWebsiteDataForOrigins message. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::deleteWebsiteDataForOrigins): |
| For now, just send back a DidDeleteWebsiteDataForOrigins message. |
| |
| * WebProcess/WebProcess.h: |
| Add new members. |
| |
| * WebProcess/WebProcess.messages.in: |
| Add a DeleteWebsiteDataForOrigins message. |
| |
| 2015-02-25 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/UIProcess module. |
| https://bugs.webkit.org/show_bug.cgi?id=142014 |
| |
| Reviewed by Anders Carlsson. |
| |
| Fix build warning by using UNUSED_PARAM macro. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeWebProcessAccessTypeForDataFetch): |
| |
| 2015-02-24 Simon Fraser <simon.fraser@apple.com> |
| |
| Clarify some resizing terminology in ScrollView/FrameView |
| https://bugs.webkit.org/show_bug.cgi?id=141996 |
| |
| Reviewed by Zalan Bujtas. |
| |
| ScrollableArea/ScrollView/FrameView had some confusing terminology around |
| contentsResized/visibleContentsResized/fixedLayoutSizeChanged. |
| |
| Clarify this by distinguishing between: |
| 1. Available size changes because of |
| i) non-overlay scrollbar presence |
| ii) ScrollableArea frame change |
| 2. Removing fixedLayoutSizeChanged() and just treating it like an |
| available size change. |
| |
| contentsResized() is relegated to simply being a hook that allows Mac to |
| flash overlay scrollbars. |
| |
| The confusingly named visibleContentsResized() is now updateContentsSize(), |
| and is the way that a ScrollableArea tells its subclasss that it should recompute |
| the size of the contents (i.e. do a layout). |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::scrollbarStyleChanged): Call the base class method, |
| which takes care of |
| |
| 2015-02-24 Simon Fraser <simon.fraser@apple.com> |
| |
| Use an enum for scrollbar style |
| https://bugs.webkit.org/show_bug.cgi?id=141985 |
| |
| Reviewed by Beth Dakin. |
| |
| Switch to an enum class for the scrollbar style (normal or overlay). |
| |
| Sadly it still has to be passed as an int across the process boundary. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange): |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::scrollbarStyleChanged): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2015-02-24 Chris Dumez <cdumez@apple.com> |
| |
| [Mac][WK2] ASSERTION FAILED: m_sendPort in IPC::Connection::open() |
| https://bugs.webkit.org/show_bug.cgi?id=141934 |
| |
| Reviewed by Darin Adler. |
| |
| Speculative fix for "ASSERTION FAILED: m_sendPort" in |
| IPC::Connection::open(). This assertion seems to indicate we ended |
| up in IPC::Connection::open() with MACH_PORT_NULL as port. |
| |
| I found that in XPCServiceInitializerDelegate::getConnectionIdentifier() |
| we return true unconditionally, even though |
| xpc_dictionary_copy_mach_send() can return MACH_PORT_NULL. This patch |
| updates this method to add a check for MACH_PORT_NULL and return false |
| in this case. |
| |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: |
| (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier): |
| |
| 2015-02-24 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r180599. |
| https://bugs.webkit.org/show_bug.cgi?id=141998 |
| |
| Lots of new test failures (Requested by smfr on #webkit). |
| |
| Reverted changeset: |
| |
| "Parsing support for -webkit-trailing-word" |
| https://bugs.webkit.org/show_bug.cgi?id=141939 |
| http://trac.webkit.org/changeset/180599 |
| |
| 2015-02-24 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Fix build break on EFL and GTK port since r180585. |
| https://bugs.webkit.org/show_bug.cgi?id=141994 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::WebsiteDataRecord::displayNameForOrigin): |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| (WebKit::WebsiteDataRecord::WebsiteDataRecord): |
| |
| 2015-02-24 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Mac] [iOS] Parsing support for -apple-trailing-word |
| https://bugs.webkit.org/show_bug.cgi?id=141939 |
| |
| Reviewed by Andreas Kling. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-02-24 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Buildfix after r180585. |
| |
| * CMakeLists.txt: |
| |
| 2015-02-24 Anders Carlsson <andersca@apple.com> |
| |
| Pass _WKWebsiteDataRecord objects to the fetchData completion handler |
| https://bugs.webkit.org/show_bug.cgi?id=141984 |
| |
| Reviewed by Andreas Kling. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Create _WKWebsiteDataRecord objects for WebsiteDataRecord API objects. |
| |
| * UIProcess/API/APIWebsiteDataRecord.h: |
| Add WebsiteDataRecord getter. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: |
| Add displayName and dataTypes properties. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm: |
| (dataTypesToString): |
| Helper function to convert dataTypes bit-fields to strings. |
| |
| (-[_WKWebsiteDataRecord description]): |
| Include the display name and data types in the description. |
| |
| (-[_WKWebsiteDataRecord displayName]): |
| Return the display name. |
| |
| (-[_WKWebsiteDataRecord dataTypes]): |
| Return the data types. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataTypes): |
| Move this here from _WKWebsiteDataStore.mm. |
| |
| (WebKit::toWKWebsiteDataTypes): |
| Add new function to convert WebsiteDataTypes to WKWebsiteDataTypes. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| Qualify toWebsiteDataTypes calls. |
| |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: Added. |
| (WebKit::WebsiteDataRecord::displayNameForOrigin): |
| New helper that returns a display name given an origin. |
| |
| (WebKit::WebsiteDataRecord::add): |
| Add the origin as well as the type. |
| |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| Add new members. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| Loop through the entries and add them to the m_websiteDataRecords hash map, which |
| is keyed off of the display name. Pass the m_websiteDataRecords values to the completion handler. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-24 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more buildfix after r180575. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::connectionDidClose): |
| |
| 2015-02-24 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after 180575. |
| |
| * CMakeLists.txt: |
| |
| 2015-02-24 Anders Carlsson <andersca@apple.com> |
| |
| Implement more of the data fetching API |
| https://bugs.webkit.org/show_bug.cgi?id=141975 |
| |
| Reviewed by Andreas Kling. |
| |
| * Shared/WebsiteData/WebsiteData.cpp: Added. |
| (WebKit::WebsiteData::Entry::encode): |
| (WebKit::WebsiteData::Entry::decode): |
| (WebKit::WebsiteData::encode): |
| (WebKit::WebsiteData::decode): |
| * Shared/WebsiteData/WebsiteData.h: Added. |
| Add a new WebsiteData class that will store website data. Currently it only stores |
| origin + website data type, but in the future it is going to store more things, like |
| host names that have cookies associated. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::~WebProcessProxy): |
| Assert that we don't have any pending fetch data callbacks. |
| |
| (WebKit::WebProcessProxy::connectionDidClose): |
| Invoke any pending fetch website data callbacks. |
| |
| (WebKit::WebProcessProxy::didFetchWebsiteData): |
| Grab the callback and invoke it. |
| |
| (WebKit::WebProcessProxy::fetchWebsiteData): |
| Set up a pending callback and send a FetchWebsiteData message to the web process. |
| |
| * UIProcess/WebProcessProxy.h: |
| Add new member. |
| |
| * UIProcess/WebProcessProxy.messages.in: |
| Add a DidFetchWebsiteData message. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeWebProcessAccessTypeForDataFetch): |
| Return the web process access type for the given set of data types. |
| |
| (WebKit::WebsiteDataStore::fetchData): |
| Set up a callback aggregator that will assemble the needed website data into a vector of website data records. |
| |
| (WebKit::computeNetworkProcessAccessTypeForDataRemoval): |
| (WebKit::computeWebProcessAccessTypeForDataRemoval): |
| Rename these functions to indicate that they are about data removal. |
| |
| (WebKit::WebsiteDataStore::removeData): |
| Append "ForDataRemoval" to function calls. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| * WebProcess/Storage/StorageAreaMap.cpp: |
| (WebKit::StorageAreaMap::StorageAreaMap): |
| Tighten types. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::fetchWebsiteData): |
| For now, just fetch memory cache data. |
| |
| * WebProcess/WebProcess.h: |
| Add new members. |
| |
| * WebProcess/WebProcess.messages.in: |
| Add FetchWebsiteData message. |
| |
| 2015-02-24 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| REGRESSION(r179429): Can't type comments in Facebook |
| https://bugs.webkit.org/show_bug.cgi?id=141859 |
| |
| Reviewed by Brent Fulgham. |
| |
| Enable SymbolEnabled in inspector context. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetJavaScriptRuntimeFlags): |
| (WKPreferencesGetJavaScriptRuntimeFlags): |
| (WKPreferencesSetJavaScriptExperimentsEnabled): Deleted. |
| (WKPreferencesGetJavaScriptExperimentsEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRef.h: |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _javaScriptRuntimeFlags]): |
| (-[WKPreferences _setJavaScriptRuntimeFlags:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * mac/WebKit2.order: |
| |
| 2015-02-24 Anders Carlsson <andersca@apple.com> |
| |
| Tighten up some SecurityOrigin related code, use references where possible |
| https://bugs.webkit.org/show_bug.cgi?id=141971 |
| |
| Reviewed by Antti Koivisto. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::getIndexedDatabaseOrigins): |
| * Shared/SecurityOriginData.cpp: |
| (WebKit::SecurityOriginData::fromSecurityOrigin): |
| (WebKit::SecurityOriginData::securityOrigin): |
| * Shared/SecurityOriginData.h: |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::createTransientLocalStorageMap): |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: |
| (WebKit::WebIDBServerConnection::WebIDBServerConnection): |
| * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: |
| (WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins): |
| * WebProcess/Storage/StorageAreaMap.cpp: |
| (WebKit::StorageAreaMap::create): |
| (WebKit::StorageAreaMap::StorageAreaMap): |
| (WebKit::StorageAreaMap::dispatchSessionStorageEvent): |
| (WebKit::StorageAreaMap::dispatchLocalStorageEvent): |
| * WebProcess/Storage/StorageAreaMap.h: |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::storageArea): |
| |
| 2015-02-24 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Crash loading local file with WebPageProxy::loadAlternateHTMLString |
| https://bugs.webkit.org/show_bug.cgi?id=141867 |
| |
| Reviewed by Anders Carlsson. |
| |
| WebPageProxy::loadAlternateHTMLString needs to assume read access to unreachableURL as well |
| as baseURL, because unreachableURL will get added to the back/forward list, causing us to |
| crash later on when we notice the unexpected URL received in checkURLReceivedFromWebProcess. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::loadAlternateHTMLString): |
| |
| 2015-02-24 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Add message APIs to communicate between ewk_context and extensions |
| https://bugs.webkit.org/show_bug.cgi?id=137660 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformEfl.cmake: Added dependencies for ewk2UnitTestExtensionSample |
| * UIProcess/API/efl/ewk_context.cpp: |
| (EwkContext::EwkContext): |
| (EwkContext::didReceiveMessageFromInjectedBundle): |
| (EwkContext::setMessageFromExtensionCallback): |
| (EwkContext::processReceivedMessageFromInjectedBundle): |
| (ewk_context_message_post_to_extensions): |
| (ewk_context_message_from_extensions_callback_set): |
| (EwkContext::didReceiveSynchronousMessageFromInjectedBundle): |
| Deleted to split synchronouse message APIs from asynchronuous message APIs. |
| ewebkit will not support this until there are requirements. |
| (EwkContext::setMessageFromInjectedBundleCallback): Renamed to setMessageFromExtensionCallback. |
| (ewk_context_message_post_to_injected_bundle): Renamed to ewk_context_message_post_to_extensions. |
| (ewk_context_message_from_injected_bundle_callback_set): Renamed to ewk_context_message_from_injected_bundle_callback_set. |
| * UIProcess/API/efl/ewk_context.h: |
| * UIProcess/API/efl/ewk_context_private.h: |
| * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: |
| Improved test case for ewk_context_new_with_extensions_path using the message APIs. |
| (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase): |
| (EWK2UnitTest::EWK2UnitTestBase::SetUp): |
| * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: |
| * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: |
| (EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample): Deleted. |
| * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: |
| * UIProcess/API/efl/tests/extensions/extension_sample.cpp: |
| Improved test case for ewk_context_new_with_extensions_path using the message APIs. |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: Ditto. |
| (EWK2ContextTestWithExtension::messageReceivedCallback): |
| (EWK2ContextTestWithExtension::EWK2ContextTestWithExtension): |
| (TEST_F): |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: |
| (toEwkExtendion): |
| (EwkExtension::EwkExtension): |
| (EwkExtension::didCreatePage): |
| (EwkExtension::willDestroyPage): |
| (EwkExtension::didReceiveMessage): |
| (EwkExtension::didReceiveMessageToPage): |
| (ewk_extension_message_post): Implemented to post message to ewk_context. |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.h: |
| * WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: |
| (EwkExtension::bundle): |
| * WebProcess/efl/ExtensionManagerEfl.cpp: |
| (WebKit::ExtensionManagerEfl::initialize): |
| Fixed the bug when there are different shared objects in extension path. |
| This is spotted while improving test case. |
| |
| 2015-02-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r180547 and r180550. |
| https://bugs.webkit.org/show_bug.cgi?id=141957 |
| |
| Broke 10 Windows tests. (Requested by bfulgham_ on #webkit). |
| |
| Reverted changesets: |
| |
| "REGRESSION(r179429): Can't type comments in Facebook" |
| https://bugs.webkit.org/show_bug.cgi?id=141859 |
| http://trac.webkit.org/changeset/180547 |
| |
| "Constructor returning null should construct an object instead |
| of null" |
| https://bugs.webkit.org/show_bug.cgi?id=141640 |
| http://trac.webkit.org/changeset/180550 |
| |
| 2015-02-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Disable font loading events until our implementation gets updated to match the latest spec |
| https://bugs.webkit.org/show_bug.cgi?id=141938 |
| |
| Reviewed by Andreas Kling. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-02-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| REGRESSION(r179429): Can't type comments in Facebook |
| https://bugs.webkit.org/show_bug.cgi?id=141859 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Enable SymbolEnabled in inspector context. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetJavaScriptRuntimeFlags): |
| (WKPreferencesGetJavaScriptRuntimeFlags): |
| (WKPreferencesSetJavaScriptExperimentsEnabled): Deleted. |
| (WKPreferencesGetJavaScriptExperimentsEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRef.h: |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _javaScriptRuntimeFlags]): |
| (-[WKPreferences _setJavaScriptRuntimeFlags:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * mac/WebKit2.order: |
| |
| 2015-02-23 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS WK2] The WebProcess keep scrolling pages based on the last velocity after scrolling has been interrupted |
| https://bugs.webkit.org/show_bug.cgi?id=141933 |
| rdar://problem/18746673 |
| rdar://problem/19711490 |
| |
| Reviewed by Simon Fraser. |
| |
| The bug happened like this: |
| 1) The user scroll the page. WKContentView tracks the velocity and send |
| the update rect + velocity to the WebProcess. |
| 2) The user interupts the scrolling but does not commit to either scrolling |
| again or cancelling the scrolling. |
| Since we were not notified of this state, the WebProcess still believed |
| the velocity is stable. |
| 3) With any paint update, the WebProcess would account for the last velocity |
| and try to guess the best repaint area. This would drift endlessly out |
| of the view since the view is not really moving. |
| |
| This patch fixes the issue by adding special handling for interrupted scrolling. |
| |
| Kudos to Kurt Revis for providing us the required APIs. |
| |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::operator==): |
| We can no longer filter VisibleContentRectUpdateInfo ignoring the velocity. |
| |
| Typically, UIScrollView would call -scrollViewDidScroll: before being interrupted. |
| If we filter based on the VisibleContentRectUpdateInfo, we have two identical |
| states differing only by the velocity. If we filter the second update, the WebProcess |
| would never know the velocity should be zero. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _scrollViewDidInterruptDecelerating:]): |
| We get this callback when scrolling is interrupted. We just need to clear |
| the velocity and re-send a new update for the current state. |
| |
| (-[WKWebView _updateVisibleContentRects]): |
| Do not consider an interrupted scroll as a stable state. We don't know if scrolling |
| will resume or will stop. |
| |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView didInterruptScrolling]): |
| |
| 2015-02-23 Anders Carlsson <andersca@apple.com> |
| |
| Add API for fetching website data records to _WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=141926 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/APIWebsiteDataRecord.cpp: |
| (API::WebsiteDataRecord::create): |
| (API::WebsiteDataRecord::WebsiteDataRecord): |
| * UIProcess/API/APIWebsiteDataRecord.h: |
| Update to take a WebsiteDataRecord parameter. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): |
| Call down to the WebsiteDataStore. |
| |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: Added. |
| This will be the data-container part of WebsiteDataRecord, but it's currently empty. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| Just dispatch the completion handler for now. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| Add new member. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| 2015-02-23 Chris Dumez <cdumez@apple.com> |
| |
| Add support for diagnostic logging messages sampling |
| https://bugs.webkit.org/show_bug.cgi?id=141823 |
| <rdar://problem/19899030> |
| |
| Reviewed by Andreas Kling. |
| |
| Add support for diagnostic logging messages sampling to decrease the |
| impact of diagnostic logging on CPU usage, while still getting useful |
| overall results. This patch adds a ShouldSample argument to |
| logDiagnosticMessage*() functions and logs 5% of the messages when |
| sampling. Sampling is turned on for keys that are known to be verbose |
| (e.g. per resource load logging). |
| |
| On the page load test I am tracking, CPU usage caused by diagnostic |
| logging went down to 0.3% of UIProcess from 2.8% with this change. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::logDiagnosticMessage): |
| (WebKit::NetworkProcess::logDiagnosticMessageWithResult): |
| (WebKit::NetworkProcess::logDiagnosticMessageWithValue): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest): |
| (WebKit::NetworkCacheStatistics::recordRetrievalFailure): |
| (WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry): |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::logDiagnosticMessage): |
| (WebKit::NetworkProcessProxy::logDiagnosticMessageWithResult): |
| (WebKit::NetworkProcessProxy::logDiagnosticMessageWithValue): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::shouldLogDiagnosticMessage): |
| (WebKit::WebPageProxy::logDiagnosticMessage): |
| (WebKit::WebPageProxy::logDiagnosticMessageWithResult): |
| (WebKit::WebPageProxy::logDiagnosticMessageWithValue): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::willStartUserTriggeredZooming): |
| |
| 2015-02-23 Anders Carlsson <andersca@apple.com> |
| |
| Add a stubbed out _WKWebsiteDataRecord class |
| https://bugs.webkit.org/show_bug.cgi?id=141919 |
| |
| Reviewed by Beth Dakin. |
| |
| Also add the corresponding API::WebsiteDataRecord C++ class. A website data record is going to represent |
| a set of associated websites and the types of website data that exist for said websites. |
| |
| * Shared/API/APIObject.h: |
| * UIProcess/API/APIWebsiteDataRecord.cpp: Added. |
| * UIProcess/API/APIWebsiteDataRecord.h: Added. |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: Added. |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm: Added. |
| * UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h: Added. |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-23 Timothy Horton <timothy_horton@apple.com> |
| |
| Reproducible crash in ViewGestureController::removeSwipeSnapshot() |
| https://bugs.webkit.org/show_bug.cgi?id=141917 |
| <rdar://problem/19918590> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| If the snapshot was purged and we're showing a white snapshot, we won't |
| be able to mark the (null) snapshot surface as volatile. Add a null check. |
| |
| 2015-02-23 Anders Carlsson <andersca@apple.com> |
| |
| Replace another straight-up cast with a toImpl call |
| https://bugs.webkit.org/show_bug.cgi?id=141914 |
| rdar://problem/19913016 |
| |
| Reviewed by Andreas Kling. |
| |
| This fixes a problem where Mail would not display message bodies. |
| |
| * UIProcess/API/Cocoa/WKConnection.mm: |
| (didReceiveMessage): |
| |
| 2015-02-20 Brent Fulgham <bfulgham@apple.com> |
| |
| Scrollbars and ScrollAnimators must always have a ScrollableArea |
| https://bugs.webkit.org/show_bug.cgi?id=141855 |
| |
| Reviewed by Simon Fraser. |
| |
| Change users of the scrollAnimator() method to expect a reference instead of a pointer. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::createScrollbar): |
| (WebKit::PDFPlugin::destroyScrollbar): |
| |
| 2015-02-20 Jessie Berlin <jberlin@webkit.org> |
| |
| Build fix after r180465. |
| |
| * UIProcess/mac/PageClientImpl.h: |
| |
| 2015-02-20 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [GTK] Unreviewed build fix after r180449. |
| |
| * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: |
| (webkit_file_chooser_request_get_selected_files): |
| |
| 2015-02-20 Enrica Casucci <enrica@apple.com> |
| |
| [WK2] Add support for font panel on OS X. |
| https://bugs.webkit.org/show_bug.cgi?id=141777 |
| |
| Reviewed by Tim Horton. |
| |
| This patch adds the necessary hooks to WKView to support |
| the font panel. It also includes refactoring of WebPage::editorState |
| and WebPageProxy::editorStateChanged to separate the different platform |
| specific tasks. |
| |
| * Shared/EditorState.cpp: |
| (WebKit::EditorState::encode): |
| (WebKit::EditorState::decode): |
| * Shared/EditorState.h: |
| (WebKit::EditorState::EditorState): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _selectionChanged]): |
| (-[WKView changeFont:]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::editorStateChanged): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/efl/WebPageProxyEfl.cpp: |
| (WebKit::WebPageProxy::editorStateChanged): |
| * UIProcess/gtk/WebPageProxyGtk.cpp: |
| (WebKit::WebPageProxy::editorStateChanged): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::editorStateChanged): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::selectionDidChange): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::setFont): |
| (WebKit::WebPageProxy::editorStateChanged): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::editorState): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/efl/WebPageEfl.cpp: |
| (WebKit::WebPage::platformEditorState): |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| (WebKit::WebPage::platformEditorState): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::platformEditorState): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::platformEditorState): |
| (WebKit::WebPage::setFont): |
| |
| 2015-02-20 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Add more detailed diagnostic logging for measuring network cache efficacy |
| https://bugs.webkit.org/show_bug.cgi?id=141803 |
| <rdar://problem/19632080> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add more detailed diagnostic logging for measuring network cache |
| efficacy. |
| |
| We want to know the reason the network cache is being by-passed, why |
| the network cache decided not to cache a response and why it cannot |
| reuse a cache entry. |
| |
| This patch adds a new "UncachedReason" table to the SQLite database |
| to store the reason the network cache is deciding not to cache a |
| given response. This information is used later, when the resource is |
| requested again to log the reason why the request cannot be satistied |
| by the cache. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::decodeStorageEntry): |
| (WebKit::canRetrieve): |
| (WebKit::NetworkCache::retrieve): |
| (WebKit::canStore): |
| (WebKit::NetworkCache::store): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm: |
| (WebKit::NetworkCacheStatistics::initialize): |
| (WebKit::NetworkCacheStatistics::recordNotCachingResponse): |
| (WebKit::retrieveDecisionToDiagnosticKey): |
| (WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest): |
| (WebKit::storeDecisionToDiagnosticKey): |
| (WebKit::NetworkCacheStatistics::recordRetrievalFailure): |
| (WebKit::cachedEntryReuseFailureToDiagnosticKey): |
| (WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry): |
| (WebKit::NetworkCacheStatistics::queryWasEverRequested): |
| (WebKit::NetworkCacheStatistics::clear): |
| |
| 2015-02-20 Anders Carlsson <andersca@apple.com> |
| |
| API::String should just be a simple wrapper for WTF strings |
| https://bugs.webkit.org/show_bug.cgi?id=141852 |
| |
| Reviewed by Beth Dakin. |
| |
| Expose a StringView member function on API::String. Move all the WKString API implementations to WKString.cpp. |
| |
| * Shared/API/APIString.h: |
| * Shared/API/c/WKString.cpp: |
| (WKStringIsEmpty): |
| (WKStringGetLength): |
| (WKStringGetCharacters): |
| (WKStringGetMaximumUTF8CStringSize): |
| (WKStringGetUTF8CString): |
| (WKStringIsEqual): |
| (WKStringIsEqualToUTF8CString): |
| (WKStringIsEqualToUTF8CStringIgnoringCase): |
| |
| 2015-02-20 Anders Carlsson <andersca@apple.com> |
| |
| API::String::string() needs to return an isolated string copy |
| https://bugs.webkit.org/show_bug.cgi?id=141846 |
| |
| Reviewed by Tim Horton. |
| |
| Since we can expose API::String objects as NSStrings now, we need to make sure that |
| we return copied strings so we won't mess up the StringImpl refcounts. |
| |
| * Shared/API/APIString.h: |
| |
| 2015-02-20 Alexey Proskuryakov <ap@apple.com> |
| |
| Remove svn:keywords property. |
| |
| As far as I can tell, the property had no effect on any of these files, but also, |
| when it has effect it's likely harmful. |
| |
| * Platform/spi/ios/DataDetectorsUISPI.h: Removed property svn:keywords. |
| * Platform/spi/ios/ManagedConfigurationSPI.h: Removed property svn:keywords. |
| * Platform/spi/ios/TextInputSPI.h: Removed property svn:keywords. |
| * Scripts/webkit/LegacyMessageReceiver-expected.cpp: Removed property svn:keywords. |
| * Scripts/webkit/LegacyMessages-expected.h: Removed property svn:keywords. |
| * Scripts/webkit/MessageReceiver-expected.cpp: Removed property svn:keywords. |
| * Scripts/webkit/MessageReceiverSuperclass-expected.cpp: Removed property svn:keywords. |
| * Scripts/webkit/Messages-expected.h: Removed property svn:keywords. |
| * Scripts/webkit/MessagesSuperclass-expected.h: Removed property svn:keywords. |
| * UIProcess/ios/PageClientImplIOS.h: Removed property svn:keywords. |
| * UIProcess/ios/WKActionSheet.h: Removed property svn:keywords. |
| * UIProcess/ios/WKActionSheetAssistant.h: Removed property svn:keywords. |
| * UIProcess/ios/WKContentView.h: Removed property svn:keywords. |
| * UIProcess/ios/WKContentViewInteraction.h: Removed property svn:keywords. |
| * UIProcess/ios/WKGeolocationProviderIOS.h: Removed property svn:keywords. |
| * UIProcess/ios/WKScrollView.h: Removed property svn:keywords. |
| * UIProcess/mac/PageClientImpl.h: Removed property svn:keywords. |
| * UIProcess/mac/WKPrintingView.h: Removed property svn:keywords. |
| * UIProcess/mac/WKTextInputWindowController.h: Removed property svn:keywords. |
| * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: Removed property svn:keywords. |
| |
| 2015-02-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| EFL URTBF |
| |
| * Platform/efl/DispatchQueueEfl.cpp: |
| |
| 2015-02-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r180410, WorkQueue.h is in WTF now. |
| |
| * Platform/efl/DispatchQueueWorkItemEfl.h: |
| |
| 2015-02-20 Anders Carlsson <andersca@apple.com> |
| |
| Use toAPI when returning the object graph as a WKTypeRef |
| https://bugs.webkit.org/show_bug.cgi?id=141841 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKProcessGroup.mm: |
| (getInjectedBundleInitializationUserData): |
| |
| 2015-02-20 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] cleanup AirPlay code |
| https://bugs.webkit.org/show_bug.cgi?id=141811 |
| |
| Reviewed by Jer Noble. |
| |
| * Configurations/FeatureDefines.xcconfig: IOS_AIRPLAY -> WIRELESS_PLAYBACK_TARGET. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Ditto. |
| |
| 2015-02-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [WK2][EFL] Fix the build after r180362 |
| https://bugs.webkit.org/show_bug.cgi?id=141836 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| As r180409, EFL port needs to add missing includes for several features, |
| and needs to have a specific implementation of toAPI/toImple for EFL port. |
| |
| * UIProcess/API/C/WKBatteryManager.cpp: |
| * UIProcess/API/C/WKPage.cpp: |
| * UIProcess/API/C/efl/WKAPICastEfl.h: |
| (WebKit::toAPI): |
| (WebKit::toImpl): |
| * UIProcess/API/efl/ewk_url_scheme_request.cpp: |
| * UIProcess/CoordinatedGraphics/WebViewClient.cpp: |
| * UIProcess/efl/WebUIPopupMenuClient.cpp: |
| * UIProcess/efl/WebViewEfl.cpp: |
| * WebProcess/efl/ExtensionManagerEfl.cpp: |
| |
| 2015-02-20 Antti Koivisto <antti@apple.com> |
| |
| Move WorkQueue from WK2 to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=141797 |
| |
| Reviewed by Anders Carlsson. |
| |
| * CMakeLists.txt: |
| * DatabaseProcess/DatabaseProcess.h: |
| * Platform/IPC/Connection.h: |
| * Platform/WorkQueue.cpp: Removed. |
| * Platform/WorkQueue.h: Removed. |
| * Platform/efl/WorkQueueEfl.cpp: Removed. |
| * Platform/gtk/WorkQueueGtk.cpp: Removed. |
| * Platform/mac/WorkQueueMac.cpp: Removed. |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * Shared/Network/CustomProtocols/CustomProtocolManager.h: |
| * UIProcess/Launcher/ProcessLauncher.cpp: |
| * UIProcess/Storage/LocalStorageDatabase.cpp: |
| * UIProcess/Storage/LocalStorageDatabase.h: |
| * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: |
| * UIProcess/Storage/LocalStorageDatabaseTracker.h: |
| * UIProcess/Storage/StorageManager.cpp: |
| * UIProcess/Storage/StorageManager.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [WK2][GTK] Fix the build after r180362 |
| https://bugs.webkit.org/show_bug.cgi?id=141813 |
| |
| Reviewed by Žan Doberšek. |
| |
| Add several missing includes and a specific implementation of |
| toAPI/toImpl for GTK+ WebView. |
| |
| * UIProcess/API/C/gtk/WKAPICastGtk.h: |
| (WebKit::toAPI): |
| (WebKit::toImpl): |
| * UIProcess/API/C/gtk/WKView.cpp: |
| * UIProcess/API/gtk/WebKitFormClient.cpp: |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: |
| * UIProcess/gtk/WebInspectorClientGtk.cpp: |
| |
| 2015-02-19 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/WebProcess and UIProcess module. |
| https://bugs.webkit.org/show_bug.cgi?id=141794. |
| |
| Reviewed by Anders Carlsson. |
| |
| Fix build warning by using UNUSED_PARAM macro. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeWebProcessAccessType): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::deleteWebsiteData): |
| |
| 2015-02-19 Remy Demarest <rdemarest@apple.com> |
| |
| Make EnvironmentVariables::appendValue() handle the case where the existing value is an empty string. |
| https://bugs.webkit.org/show_bug.cgi?id=141818. |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/Launcher/mac/EnvironmentVariables.cpp: |
| (WebKit::EnvironmentVariables::appendValue): If the existing value is an empty string, replace it rather than |
| append to it. |
| |
| 2015-02-19 Anders Carlsson <andersca@apple.com> |
| |
| Make C SPI objects and modern API objects toll-free bridged |
| https://bugs.webkit.org/show_bug.cgi?id=141808 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/API/APIObject.h: |
| (API::Object::wrap): |
| (API::Object::unwrap): |
| Add default implementations of wrap and unwrap. These just cast. |
| |
| * Shared/API/c/WKArray.cpp: |
| (WKArrayCreate): |
| (WKArrayCreateAdoptingValues): |
| (WKArrayGetItemAtIndex): |
| * Shared/API/c/WKDictionary.cpp: |
| (WKDictionaryGetItemForKey): |
| Add toImpl and toAPI where necessary. |
| |
| * Shared/API/c/WKSharedAPICast.h: |
| Add API::Object::wrap in toAPI and unwrap in toImpl. |
| |
| * Shared/API/c/WKType.cpp: |
| (WKGetTypeID): |
| (WKRetain): |
| (WKRelease): |
| Add missing toImpl calls. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::wrap): |
| Return the APIObject Objective-C wrapper. |
| |
| (API::Object::unwrap): |
| Return the API::Object from the Objective-C object. |
| |
| * Shared/Cocoa/WKObject.h: |
| Add wrap and unwrap declarations. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| * UIProcess/API/C/WKPageConfigurationRef.cpp: |
| * UIProcess/API/C/WKPageGroup.cpp: |
| * UIProcess/API/C/WKUserContentControllerRef.cpp: |
| Add missing includes; toImpl now requires a complete type. |
| |
| 2015-02-19 Timothy Horton <timothy_horton@apple.com> |
| |
| Remove unused forward declaration from WKWebViewInternal.h |
| https://bugs.webkit.org/show_bug.cgi?id=141806 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| The use of WebCore::Highlight moved to WKContentView. |
| |
| 2015-02-19 Anders Carlsson <andersca@apple.com> |
| |
| Use the real implementation type in our API cast traits |
| https://bugs.webkit.org/show_bug.cgi?id=141805 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toURLRef): |
| (WebKit::toAPI): Deleted. |
| (WebKit::toImpl): Deleted. |
| * UIProcess/GenericCallback.h: |
| |
| 2015-02-19 Anders Carlsson <andersca@apple.com> |
| |
| Remove the stray storage manager from WebProcessPool |
| https://bugs.webkit.org/show_bug.cgi?id=141800 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView dealloc]): |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| (-[WKView _applicationWillTerminate:]): Deleted. |
| Remove code that calls applicationWillTerminate on the WebPageProxy. |
| |
| * UIProcess/WebKeyValueStorageManager.cpp: |
| (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): |
| (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): |
| (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): |
| (WebKit::WebKeyValueStorageManager::deleteAllEntries): |
| Get the storage manager from the website data store. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::close): |
| Remove storage manager calls. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::WebProcessPool::applicationWillTerminate): Deleted. |
| * UIProcess/WebProcessPool.h: |
| Remove storage manager code. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| (WebKit::WebsiteDataStore::storageManager): |
| Add getter. |
| |
| 2015-02-19 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [WK2] Unreviewed buildfix for non-Cocoa platforms. |
| |
| * CMakeLists.txt: |
| * UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp: Added. |
| (WebKit::WebsiteDataStore::platformInitialize): Added. |
| (WebKit::WebsiteDataStore::platformDestroy): Added. |
| |
| 2015-02-19 Anders Carlsson <andersca@apple.com> |
| |
| WebsiteDataStore should ensure that local storage is written before exiting |
| https://bugs.webkit.org/show_bug.cgi?id=141798 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: Added. |
| (WebKit::dataStoresWithStorageManagers): |
| (WebKit::WebsiteDataStore::platformInitialize): |
| (WebKit::WebsiteDataStore::platformDestroy): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| (WebKit::WebsiteDataStore::~WebsiteDataStore): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-18 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Fix NetworkCache build |
| https://bugs.webkit.org/show_bug.cgi?id=141778 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add missing header include to use round_page() on iOS. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| |
| 2015-02-18 Alexey Proskuryakov <ap@apple.com> |
| |
| Remove input and output files from "Make Frameworks Symbolic Link" step |
| https://bugs.webkit.org/show_bug.cgi?id=141769 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-18 Timothy Horton <timothy_horton@apple.com> |
| |
| Adopt WebCore::IOSurface in ImageBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=141751 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| Remove old WKSI IOSurface-related functions. |
| |
| 2015-02-18 Beth Dakin <bdakin@apple.com> |
| |
| iBooks immediate action blacklist should not even create the gesture recognizer |
| https://bugs.webkit.org/show_bug.cgi?id=141768 |
| -and corresponding- |
| rdar://problem/19806770 |
| |
| Reviewed by Tim Horton. |
| |
| Move the runtime-application check to the point where the gesture recognizer is |
| created so that we can avoid doing so. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| |
| 2015-02-18 Chris Dumez <cdumez@apple.com> |
| |
| Access FontCache global instance via singleton() static member function |
| https://bugs.webkit.org/show_bug.cgi?id=141726 |
| |
| Reviewed by Daniel Bates. |
| |
| Access FontCache global instance via singleton() static member function, |
| as per coding style. |
| |
| 2015-02-18 Timothy Horton <timothy_horton@apple.com> |
| |
| Add WKContext SPI to clear all visited links |
| https://bugs.webkit.org/show_bug.cgi?id=141752 |
| <rdar://problem/9997966> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextClearVisitedLinks): |
| * UIProcess/API/C/WKContext.h: |
| |
| 2015-02-17 Anders Carlsson <andersca@apple.com> |
| |
| Add API for clearing in-memory caches to WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=141724 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/WebsiteData/WebsiteDataTypes.h: |
| Add WebsiteDataTypeMemoryCache. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| Add WKWebsiteDataTypeMemoryCache. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWebsiteDataTypes): |
| Handle WKWebsiteDataTypeMemoryCache and convert it to WebsiteDataTypeMemoryCache. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::generateCallbackID): |
| Generate a new callback. |
| |
| (WebKit::WebProcessProxy::~WebProcessProxy): |
| Assert that we don't have any pending callbacks. |
| |
| (WebKit::WebProcessProxy::connectionDidClose): |
| Invoke pending callbacks. |
| |
| (WebKit::WebProcessProxy::canTerminateChildProcess): |
| Don't try to terminate if we have pending callbacks. |
| |
| (WebKit::WebProcessProxy::didDeleteWebsiteData): |
| Take the callback and invoke it. |
| |
| (WebKit::WebProcessProxy::deleteWebsiteData): |
| Send a delete message. |
| |
| * UIProcess/WebProcessProxy.h: |
| Add new members. |
| |
| * UIProcess/WebProcessProxy.messages.in: |
| Add DidDeleteWebsiteData message. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeNetworkProcessAccessType): |
| Spell persistent correctly. |
| |
| (WebKit::computeWebProcessAccessType): |
| Return a web process access type given the a data type mask. |
| |
| (WebKit::WebsiteDataStore::removeData): |
| Ask any associated web processes to remove website data. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::deleteWebsiteData): |
| Delete the memory cache if requested. |
| |
| * WebProcess/WebProcess.h: |
| Add new member. |
| |
| * WebProcess/WebProcess.messages.in: |
| Add DeleteWebsiteData message. |
| |
| 2015-02-17 Timothy Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r178595): Clicking on DD highlights sometimes do not work |
| https://bugs.webkit.org/show_bug.cgi?id=141728 |
| <rdar://problem/19825372> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _cancelImmediateActionIfNeeded]): |
| (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]): |
| The change that r178595 intended to make was purely that things that we |
| have no immediate actions for should cancel the immediate action gesture recognizer. |
| Moving the DataDetectors activation code as well breaks strict ordering |
| of immediate action callbacks vs. shouldUseActionsWithContext: that they depend on. |
| |
| 2015-02-17 Anders Carlsson <andersca@apple.com> |
| |
| Only create the WebKit.framework symlink in PrivateFrameworks when the platform is iphoneos |
| https://bugs.webkit.org/show_bug.cgi?id=141710 |
| <rdar://problem/19719748> |
| |
| Reviewed by Andreas Kling. |
| |
| Don't create the symlink when building for the simulator. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-17 Chris Dumez <cdumez@apple.com> |
| |
| Access MemoryPressureHandler global instance via a singleton() static member function |
| https://bugs.webkit.org/show_bug.cgi?id=141691 |
| |
| Reviewed by Andreas Kling. |
| |
| Access MemoryPressureHandler global instance via a singleton() static |
| member function. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| (WebKit::NetworkProcess::lowMemoryHandler): Deleted. |
| * NetworkProcess/NetworkProcess.h: |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::initializeProcess): |
| (WebKit::PluginProcess::lowMemoryHandler): Deleted. |
| * PluginProcess/PluginProcess.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::updateVisibleContentRects): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::processWillSuspend): |
| |
| 2015-02-16 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebKitFrame objects are never released |
| https://bugs.webkit.org/show_bug.cgi?id=141641 |
| |
| Reviewed by Martin Robinson. |
| |
| Use a FrameDestructionObserver derived class to wrap our |
| WebKitFrame objects and delete them when the frame is destroyed, |
| instead of using willDestroyFrame callback of WKBundlePageLoaderClient |
| that has never worked. |
| |
| * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: |
| (webkitFrameGetWebFrame): |
| * WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitFrameGetOrCreate): |
| (webkitFrameDestroy): |
| (webkitWebPageCreate): |
| (willDestroyFrame): Deleted. |
| |
| 2015-02-16 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the !USE(IOSURFACE) build |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| SOFT_LINK_MAY_FAIL makes a function that will be unused if !USE(IOSURFACE). |
| |
| 2015-02-16 Tim Horton <timothy_horton@apple.com> |
| |
| Sometimes RemoteLayerBackingStore ends up non-volatile while the process is suspended |
| <rdar://problem/19842957> |
| https://bugs.webkit.org/show_bug.cgi?id=141675 |
| |
| Reviewed by Simon Fraser. |
| |
| Previously, it was possible to get a layer tree flush in between the |
| process suspension cleanup code making surfaces volatile and the process |
| actually being suspended (it was racy because the suspension requires |
| a few IPC round trips). Depending on how far through the flush we got, |
| we could sometimes end up either making new non-volatile backing store, |
| or switching some recently-made-volatile backing store back to non-volatile. |
| We don't want to have any non-volatile backing store while suspended. |
| |
| * UIProcess/ProcessThrottler.cpp: |
| (WebKit::ProcessThrottler::updateAssertion): |
| Inform the WebProcess when it's going from suspended to runnable state. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::sendProcessDidResume): |
| * UIProcess/WebProcessProxy.h: |
| Forward the message along. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::processWillSuspend): |
| (WebKit::WebProcess::cancelProcessWillSuspend): |
| (WebKit::WebProcess::setAllLayerTreeStatesFrozen): |
| (WebKit::WebProcess::processDidResume): |
| Freeze all of this process' pages' layer trees when we start trying to suspend, |
| and un-freeze them when either suspension is cancelled or we resume. |
| |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2015-02-16 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt CAMachPort-as-layer-contents |
| https://bugs.webkit.org/show_bug.cgi?id=141687 |
| <rdar://problem/19393233> |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/mac/RemoteLayerBackingStore.h: |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::decode): |
| If we have CAMachPort, just keep the MachSendRight around. |
| |
| (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer): |
| If we have CAMachPort, make one and leak our send right into it. CAMachPort |
| will adopt the port and destroy it when needed. |
| |
| (WebKit::RemoteLayerBackingStore::setBufferVolatility): |
| Tiny style fix. |
| |
| 2015-02-15 Sam Weinig <sam@webkit.org> |
| |
| Add experimental <attachment> element support |
| https://bugs.webkit.org/show_bug.cgi?id=141626 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-02-16 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r176459): Process suspension cleanup timer sometimes never stops |
| https://bugs.webkit.org/show_bug.cgi?id=141669 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::markAllLayersVolatileIfPossible): |
| r176459 accidentally removed the code to stop the cleanup timer |
| in the case where we successfully finish marking layers volatile, |
| causing the timer to continue running once the process comes back |
| from a suspended state. |
| |
| 2015-02-16 Anders Carlsson <andersca@apple.com> |
| |
| Check for the assume_nonnull feature instead of noescape |
| https://bugs.webkit.org/show_bug.cgi?id=141666 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| |
| 2015-02-16 Anders Carlsson <andersca@apple.com> |
| |
| Add nullability qualifiers to all API headers |
| https://bugs.webkit.org/show_bug.cgi?id=141652 |
| rdar://problem/19793630 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| Add a WK_NULLABLE_SPECIFIER macro. |
| |
| * UIProcess/API/Cocoa/WKBackForwardListItem.h: |
| * UIProcess/API/Cocoa/WKFrameInfo.h: |
| * UIProcess/API/Cocoa/WKNavigationAction.h: |
| * UIProcess/API/Cocoa/WKNavigationDelegate.h: |
| * UIProcess/API/Cocoa/WKNavigationResponse.h: |
| * UIProcess/API/Cocoa/WKScriptMessage.h: |
| * UIProcess/API/Cocoa/WKScriptMessageHandler.h: |
| * UIProcess/API/Cocoa/WKUIDelegate.h: |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKUserScript.h: |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWindowFeatures.h: |
| |
| * mac/postprocess-framework-headers.sh: |
| Handle the WK_NULLABLE_SPECIFIER macro. Change the WK_NULLABLE sed command to replace |
| all occurrences of WK_NULLABLE instead of just the first one. |
| |
| 2015-02-16 Dan Bernstein <mitz@apple.com> |
| |
| Update SPI availability annotations |
| https://bugs.webkit.org/show_bug.cgi?id=141588 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Added a definition of __NSi_8_3 for when building with |
| an older SDK. |
| * UIProcess/API/Cocoa/WKErrorPrivate.h: |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| |
| 2015-02-16 Antti Koivisto <antti@apple.com> |
| |
| Remove unused InjectedBundle::setCacheModel. |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::setCacheModel): Deleted. |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| |
| 2015-02-16 Anders Carlsson <andersca@apple.com> |
| |
| Build fix for versions of Xcode that support nullability but don't have the Foundation #defines. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| |
| 2015-02-16 Antti Koivisto <antti@apple.com> |
| |
| Develop/Disable Caches does not properly disable disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=141636 |
| |
| Reviewed by Anders Carlsson. |
| |
| The menu item sets the cache model to "document viewer" to disable the caches (cache size 0). |
| However the cache model was never passed to the network process after the initialization. |
| |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::retrieve): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::update): |
| |
| Don't try to store or retrieve when the maximum cache size is set to zero. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::setCacheModel): |
| |
| Message the network process too. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| (WKBundleSetCacheModel): Deleted. |
| |
| Remove the now unused SPI. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: |
| |
| 2015-02-16 Antti Koivisto <antti@apple.com> |
| |
| Assertion in disk cache code with redirect to a non-http resource |
| https://bugs.webkit.org/show_bug.cgi?id=141644 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| |
| Check that response is HTTP before calling computeFreshnessLifetimeForHTTPFamily. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::canStore): |
| |
| Deny storing non-HTTP responses to cache (though the above already covers this). |
| |
| 2015-02-13 Anders Carlsson <andersca@apple.com> |
| |
| Add support for nullability to the header postprocessing |
| https://bugs.webkit.org/show_bug.cgi?id=141573 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| * UIProcess/API/Cocoa/WKBackForwardList.h: |
| * mac/postprocess-framework-headers.sh: |
| |
| 2015-02-16 Grzegorz Czajkowski <g.czajkowski@samsung.com> |
| |
| [EFL] Rename WebContextEfl to WebProcessPoolEfl |
| https://bugs.webkit.org/show_bug.cgi?id=141642 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Although we've renamed almost everything in r177716, this is still |
| required after r177692. |
| |
| * UIProcess/efl/WebProcessPoolEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp. |
| |
| 2015-02-14 Alexey Proskuryakov <ap@apple.com> |
| |
| Build fix after <http://trac.webkit.org/changeset/180122> |
| |
| * Platform/mac/StringUtilities.mm: |
| |
| 2015-02-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [Mac] Possible DDActionContext leaks, RetainPtr cleanup |
| https://bugs.webkit.org/show_bug.cgi?id=141613 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]): |
| Adopt the allocated object. |
| |
| 2015-02-09 Brian J. Burg <burg@cs.washington.edu> |
| |
| Web Inspector: remove some unnecessary Inspector prefixes from class names in Inspector namespace |
| https://bugs.webkit.org/show_bug.cgi?id=141372 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::remoteFrontendDisconnected): |
| |
| 2015-02-14 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION: Page opens with enlarged font after visiting PDF, navigating back, |
| then doing a process swap |
| https://bugs.webkit.org/show_bug.cgi?id=141584 |
| -and corresponding- |
| rdar://problem/18167729 |
| |
| Reviewed by Tim Horton. |
| |
| This patch keeps the plugin zoom/scale factors separate from page zoom/scale |
| factors in the UI process since they are used for slightly different purposes for |
| plugins (i.e., PDFs) than they are for normal pages. Keeping track of the right |
| factor for the right type of document will ensure that we don’t use the wrong one. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::pageZoomFactor): |
| (WebKit::WebPageProxy::pageScaleFactor): |
| (WebKit::WebPageProxy::pluginScaleFactorDidChange): |
| (WebKit::WebPageProxy::pluginZoomFactorDidChange): |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| (WebKit::WebPageProxy::pageZoomFactorDidChange): Deleted. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::pageZoomFactor): Deleted. |
| (WebKit::WebPageProxy::pageScaleFactor): Deleted. |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::setPageScaleFactor): |
| |
| 2015-02-14 Brian J. Burg <burg@cs.washington.edu> |
| |
| REGRESSION(r179573): Web Inspector toolbar is completely messed up on Mavericks |
| https://bugs.webkit.org/show_bug.cgi?id=141555 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The old WKView-based code called _setDrawsBackground:NO on the WKView for Mavericks. |
| Simulate this old behavior by calling WebPageProxy::setDrawsBackground(false). |
| |
| WKWebView's setOpaque:BOOL gives a flat background color instead of the intended |
| gradient, so we can't use that method. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| |
| 2015-02-13 Simon Fraser <simon.fraser@apple.com> |
| |
| Crash closing a tab when a context or popup menu is open |
| https://bugs.webkit.org/show_bug.cgi?id=141582 |
| rdar://problem/17700475 |
| |
| Reviewed by Anders Carlsson. |
| |
| If a context menu or a popup menu is open when a tab is programmatically closed, |
| then we'd crash because both the WebContextMenuProxyMac/WebPopupMenuProxyMac |
| and the WebPageProxy would be deleted while still in use, via messages |
| handled via the nested event tracking runloop. |
| |
| Fix by protecting those things while showing the popup. Also programmatically |
| dismiss the popup when closing the WebPageProxy. |
| |
| * UIProcess/WebContextMenuProxy.h: |
| (WebKit::WebContextMenuProxy::cancelTracking): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::close): |
| (WebKit::WebPageProxy::showPopupMenu): Clean up some EFL-related confusion that we don't need. |
| Retaining |this| will also retain m_activePopupMenu. |
| (WebKit::WebPageProxy::hidePopupMenu): |
| (WebKit::WebPageProxy::showContextMenu): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPopupMenuProxy.h: |
| (WebKit::WebPopupMenuProxy::cancelTracking): |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| (WebKit::WebContextMenuProxyMac::cancelTracking): |
| * UIProcess/mac/WebPopupMenuProxyMac.h: For popups, we need to remember if we were |
| canceled to avoid trying to send events after closing. |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): |
| (WebKit::WebPopupMenuProxyMac::showPopupMenu): |
| (WebKit::WebPopupMenuProxyMac::cancelTracking): |
| |
| 2015-02-13 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the iOS build. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| * UIProcess/mac/ViewGestureController.h: |
| This code is never used on iOS. |
| |
| 2015-02-13 Timothy Horton <timothy_horton@apple.com> |
| |
| Make WebCore::IOSurface have single ownership instead of refcounting |
| https://bugs.webkit.org/show_bug.cgi?id=141578 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/mac/RemoteLayerBackingStore.h: |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::Buffer::discard): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _takeViewSnapshot]): |
| * UIProcess/mac/ViewGestureController.h: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| * UIProcess/mac/ViewSnapshotStore.h: |
| * UIProcess/mac/ViewSnapshotStore.mm: |
| (WebKit::ViewSnapshot::create): |
| (WebKit::ViewSnapshot::ViewSnapshot): |
| (WebKit::ViewSnapshot::hasImage): |
| Adjust to the single-ownership model. |
| |
| 2015-02-13 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] Unreviewed build fix after r180076. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): We do not |
| want to do this on iOS. |
| * UIProcess/WebPageProxy.h: No need to expose function |
| on iOS (only Mac). |
| |
| 2015-02-13 Brent Fulgham <bfulgham@apple.com> |
| |
| [Mac, iOS] Adjust pagination behavior for Mail.app printing use |
| https://bugs.webkit.org/show_bug.cgi?id=141569 |
| <rdar://problem/14912763> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): Add new flag. |
| (WebKit::WebPageCreationParameters::decode): Ditto. |
| * Shared/WebPageCreationParameters.h: Ditto. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): Set new page construction flag. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::paginationQuirkEnabled): Ask for new pagination flag |
| when running as a Mail client. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): Set up pagination based on desired settings. |
| |
| 2015-02-12 Simon Fraser <simon.fraser@apple.com> |
| |
| determinePrimarySnapshottedPlugIn() should only traverse visible Frames |
| https://bugs.webkit.org/show_bug.cgi?id=141547 |
| Part of rdar://problem/18445733. |
| |
| Reviewed by Anders Carlsson. |
| |
| Use FrameTree::traverseNextRendered() to avoid doing things in unrendered frames |
| which are not guaranteed to have been laid out. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::determinePrimarySnapshottedPlugIn): |
| |
| 2015-02-13 Antti Koivisto <antti@apple.com> |
| |
| WorkQueue should support concurrent queues |
| https://bugs.webkit.org/show_bug.cgi?id=141559 |
| |
| Reviewed by Anders Carlsson. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::DatabaseProcess): |
| * Platform/IPC/Connection.h: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::open): |
| * Platform/WorkQueue.cpp: |
| (WorkQueue::create): |
| |
| Also make create return a Ref. |
| |
| (WorkQueue::WorkQueue): |
| * Platform/WorkQueue.h: |
| |
| Add queue type enum. |
| |
| * Platform/efl/WorkQueueEfl.cpp: |
| (WorkQueue::platformInitialize): |
| * Platform/gtk/WorkQueueGtk.cpp: |
| (WorkQueue::platformInitialize): |
| * Platform/mac/WorkQueueMac.cpp: |
| (WorkQueue::platformInitialize): |
| * Shared/mac/SecItemShim.cpp: |
| (WebKit::SecItemShim::initializeConnection): |
| * Shared/mac/SecItemShim.h: |
| * UIProcess/Launcher/ProcessLauncher.cpp: |
| (WebKit::processLauncherWorkQueue): |
| * UIProcess/mac/SecItemShimProxy.cpp: |
| (WebKit::SecItemShimProxy::initializeConnection): |
| * UIProcess/mac/SecItemShimProxy.h: |
| * WebProcess/Plugins/PluginProcessConnectionManager.cpp: |
| (WebKit::PluginProcessConnectionManager::initializeConnection): |
| * WebProcess/Plugins/PluginProcessConnectionManager.h: |
| * WebProcess/WebPage/EventDispatcher.cpp: |
| (WebKit::EventDispatcher::EventDispatcher): |
| (WebKit::EventDispatcher::initializeConnection): |
| * WebProcess/WebPage/EventDispatcher.h: |
| * WebProcess/WebPage/ViewUpdateDispatcher.h: |
| |
| 2015-02-12 Anders Carlsson <andersca@apple.com> |
| |
| Clean up the framework postprocessing phase |
| https://bugs.webkit.org/show_bug.cgi?id=141544 |
| |
| Reviewed by Dan Bernstein. |
| |
| Rename WK_API_AVAILABILITY_ENABLED to WK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED to better match what |
| it is we're doing. Also, rename the associated script. Remove a couple of now unnecessary #defines, and |
| change everything we can to be feature-based instead of OS based. |
| |
| * Configurations/WebKit.xcconfig: |
| * Shared/API/Cocoa/WKFoundation.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * mac/postprocess-framework-headers.sh: Renamed from Source/WebKit2/mac/rewrite-availability-macros.sh. |
| |
| 2015-02-12 Tim Horton <timothy_horton@apple.com> |
| |
| Crash removing RemoteLayerTreeDisplayRefreshMonitor from the drawing area's map |
| https://bugs.webkit.org/show_bug.cgi?id=141545 |
| <rdar://problem/17712200> |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::windowScreenDidChange): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| windowScreenDidChange should take uint32_t, since that's what PlatformDisplayID is. |
| |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): |
| RemoteLayerTreeDisplayRefreshMonitor is driven by the page's |
| RemoteLayerTreeDrawingArea. Because of this, we cannot have the same |
| sharing of DisplayRefreshMonitors that other platforms use. |
| In order to ensure that we get a unique DisplayRefreshMonitor |
| per-DrawingArea, give each page a unique DisplayID derived |
| from WebPage's unique ID. |
| |
| 2015-02-12 Tim Horton <timothy_horton@apple.com> |
| |
| Crash under RemoteLayerTreeDrawingArea::flushLayers() when closing a tab |
| https://bugs.webkit.org/show_bug.cgi?id=141541 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::flushLayers): |
| The WebPage pointer can become stale between when it is retrieved |
| and dereferenced. Retrieve it by ID inside the dispatch_async block |
| instead of outside of it. |
| |
| 2015-02-12 Antti Koivisto <antti@apple.com> |
| |
| WebKit persistent cache uses a lot of threads |
| https://bugs.webkit.org/show_bug.cgi?id=141520 |
| |
| Reviewed by Andreas Kling. |
| |
| Parallel retrieves are limited but stores are not. We may end up with lots of backround io |
| dispatch queue threads if they don't complete fast enough. |
| |
| This patch adds pending state for write operations similar to what retrieves already have |
| and limits to number of active operations. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| Combine StoreOperation and UpdateOperation and rename to WriteOperation. |
| Rename RetrieveOperation to ReadOperation. |
| The idea is to emphasize that these are disk operations. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::dispatchReadOperation): |
| (WebKit::NetworkCacheStorage::dispatchPendingReadOperations): |
| (WebKit::retrieveFromMemory): |
| (WebKit::NetworkCacheStorage::retrieve): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::update): |
| (WebKit::NetworkCacheStorage::dispatchPendingWriteOperations): |
| |
| Only allow 3 parallel writes. |
| |
| (WebKit::NetworkCacheStorage::dispatchFullWriteOperation): |
| (WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation): |
| |
| More informative names. |
| |
| (WebKit::NetworkCacheStorage::dispatchRetrieveOperation): Deleted. |
| (WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations): Deleted. |
| (WebKit::retrieveActive): Deleted. |
| |
| 2015-02-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add API to allow overriding the default color chooser implementation |
| https://bugs.webkit.org/show_bug.cgi?id=98935 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Add API to allow the user to override the default UI of color |
| chooser. Similar to the file chooser API, a new run-color-chooser |
| signal is added to WebKitWebView that passes a WebKitColorChooserRequest |
| parameter to the signal. |
| |
| Initial patch by Arnaud Renevier <a.renevier@sisa.samsung.com>. |
| |
| * PlatformGTK.cmake: Add new files to compilation. |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::createColorPicker): Create a |
| WebKitColorChooser is the view widget is a WebKitWebView or a |
| WebColorPicker otherwise, |
| * UIProcess/API/gtk/WebKitColorChooser.cpp: Added. |
| (WebKit::WebKitColorChooser::create): |
| (WebKit::WebKitColorChooser::WebKitColorChooser): |
| (WebKit::WebKitColorChooser::~WebKitColorChooser): |
| (WebKit::WebKitColorChooser::endPicker): Chain up to parent class |
| when not having a request, or finish the request if we have one. |
| (WebKit::WebKitColorChooser::colorChooserRequestFinished): |
| (WebKit::WebKitColorChooser::colorChooserRequestRGBAChanged): |
| (WebKit::WebKitColorChooser::showColorPicker): Create a new |
| WebKitColorChooserRequest and emit WebKitWebView::run-color-chooser. |
| If the signal is not handled, fallback to the default color |
| chooser dialog implemented by the parent class. |
| * UIProcess/API/gtk/WebKitColorChooser.h: Added. |
| * UIProcess/API/gtk/WebKitColorChooserRequest.cpp: Added. |
| (webkitColorChooserRequestGetProperty): |
| (webkitColorChooserRequestSetProperty): |
| (webkit_color_chooser_request_class_init): |
| (webkit_color_chooser_request_set_rgba): |
| (webkit_color_chooser_request_get_rgba): |
| (webkit_color_chooser_request_get_element_rectangle): |
| (webkit_color_chooser_request_finish): |
| (webkit_color_chooser_request_cancel): |
| (webkitColorChooserRequestCreate): |
| * UIProcess/API/gtk/WebKitColorChooserRequest.h: Added. |
| * UIProcess/API/gtk/WebKitColorChooserRequestPrivate.h: Added. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_class_init): Add run-color-chooser signal. |
| (webkitWebViewEmitRunColorChooser): Emit run-color-chooser signal. |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols. |
| * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitColorChooserRequest. |
| * UIProcess/API/gtk/webkit2.h: Include WebKitColorChooserRequest.h |
| |
| 2015-02-11 Enrica Casucci <enrica@apple.com> |
| |
| iOS build fix. |
| |
| Unreviewed. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView inputAssistantItem]): |
| (-[WKContentView _inputAssistantItem]): |
| |
| 2015-02-11 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Add logging to validate the network cache efficacy (Part 2) |
| https://bugs.webkit.org/show_bug.cgi?id=141345 |
| <rdar://problem/19632080> |
| |
| Reviewed by Sam Weinig. |
| |
| Add diagnostic logging messages to validate the network cache efficacy. |
| The following 4 messages are added: |
| - networkCache / retrieval / success |
| - networkCache / retrieval / unhandledRequestFailure |
| - networkCache / retrieval / noLongerInCacheFailure |
| - networkCache / retrieval / unusableCachedEntryFailure |
| |
| The messages are sent via IPC from the NetworkProcess to the UIProcess, |
| where the WebPageProxy code already handles diagnostic messages sent by |
| the WebProcess. |
| |
| 2015-02-11 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (iOS 8): PDFs embedded in <object>/<embed> tag don't load at all |
| https://bugs.webkit.org/show_bug.cgi?id=141457 |
| <rdar://problem/18221851> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::objectContentType): |
| On iOS, if we don't know what to do with a PDF-in-object, treat it as an image. |
| |
| 2015-02-11 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| Activate ReliefLogger of a memory pressure handler for linux system. |
| https://bugs.webkit.org/show_bug.cgi?id=123611 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): |
| Make the parameter, shouldEnableMemoryPressureReliefLogging shareable with COCOA else systems. |
| (WebKit::WebProcessCreationParameters::encode): ditto. |
| (WebKit::WebProcessCreationParameters::decode): ditto. |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): Set shouldEnableMemoryPressureReliefLogging |
| to true for linux system. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): Pass the shouldEnableMemoryPressureReliefLogging value |
| to MemoryPressureHandler::ReliefLogger::setLoggingEnabled(). |
| |
| 2015-02-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [GTK][EFL] Suppress a warning of unused params |
| https://bugs.webkit.org/show_bug.cgi?id=141474 |
| |
| Reviewed by Darin Adler. |
| |
| Drop unused argument name, `directoryName`. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): |
| |
| 2015-02-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add default color chooser implementation using GtkColorChooserDialog |
| https://bugs.webkit.org/show_bug.cgi?id=141392 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| * PlatformGTK.cmake: Add new files to compilation. |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::createColorPicker): Call WebColorPickerGtk::create(). |
| * UIProcess/gtk/WebColorPickerGtk.cpp: Added. |
| (WebKit::WebColorPickerGtk::create): |
| (WebKit::WebColorPickerGtk::WebColorPickerGtk): |
| (WebKit::WebColorPickerGtk::~WebColorPickerGtk): |
| (WebKit::WebColorPickerGtk::cancel): Set initial color. |
| (WebKit::WebColorPickerGtk::endPicker): Destroy the color chooser dialog. |
| (WebKit::WebColorPickerGtk::didChooseColor): Notify the client. |
| (WebKit::WebColorPickerGtk::colorChooserDialogRGBAChangedCallback): |
| Update the selected color. |
| (WebKit::WebColorPickerGtk::colorChooserDialogResponseCallback): |
| Cancel or finish the operation depending on the dialog response. |
| (WebKit::WebColorPickerGtk::showColorPicker): Create a |
| GtkColorChooserDialog to handle the color picker operation. |
| * UIProcess/gtk/WebColorPickerGtk.h: Added. |
| (WebKit::WebColorPickerGtk::initialColor): |
| |
| 2015-02-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r179910. |
| https://bugs.webkit.org/show_bug.cgi?id=141464 |
| |
| Caused assertions on debug bots (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "[WK2] Add logging to validate the network cache efficacy |
| (Part 2)" |
| https://bugs.webkit.org/show_bug.cgi?id=141345 |
| http://trac.webkit.org/changeset/179910 |
| |
| 2015-02-10 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Add logging to validate the network cache efficacy (Part 2) |
| https://bugs.webkit.org/show_bug.cgi?id=141345 |
| <rdar://problem/19632080> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add diagnostic logging messages to validate the network cache efficacy. |
| The following 4 messages are added: |
| - networkCache / retrieval / success |
| - networkCache / retrieval / unhandledRequestFailure |
| - networkCache / retrieval / noLongerInCacheFailure |
| - networkCache / retrieval / unusableCachedEntryFailure |
| |
| The messages are sent via IPC from the NetworkProcess to the UIProcess, |
| where the WebPageProxy code already handles diagnostic messages sent by |
| the WebProcess. |
| |
| 2015-02-10 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Clients need the ability to hook into immediate action lifecycle |
| https://bugs.webkit.org/show_bug.cgi?id=141449 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Expose new methods. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _prepareForImmediateActionAnimation]): |
| (-[WKView _cancelImmediateActionAnimation]): |
| (-[WKView _completeImmediateActionAnimation]): |
| Stub implementations. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]): |
| Send -_prepareForImmediateActionAnimation. |
| (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]): |
| Send -_cancelImmediateActionAnimation. |
| (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]): |
| Send -_completeImmediateActionAnimation. |
| |
| 2015-02-10 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/19770264> Starting a navigation gesture dismisses the keyboard |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (WebKit::ViewGestureController::beginSwipeGesture): Reordered the view hierarchy changes, |
| such that m_liveSwipeView will not momentarily move out of the window, because that causes |
| the window’s first responder to be set to nil (if it was a descendant of m_liveSwipView). |
| |
| 2015-02-10 Enrica Casucci <enrica@apple.com> |
| |
| Hit testing is misplaced when selecting on wikipedia page. |
| https://bugs.webkit.org/show_bug.cgi?id=141410 |
| rdar://problem/19768211 |
| |
| Reviewed by Simon Fraser. |
| |
| When loading a new document into the same WebPage object, we need |
| to clear the assisted node, since there is no guarantee that the |
| node will be blurred. The bug was caused by the use of a stale |
| assisted node to constrain the point where the gesture occurs. |
| The node was still valid, since the previous page was in the cache. |
| I've added a ASSERT to check that, when constraining the point to |
| node rectangle, the node is in the same document as the one we |
| are performing hit test on. When the frame is detached, we clear |
| the assisted node if the node is part of the document is the frame |
| being detached. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::detachedFromParent2): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::constrainPoint): |
| (WebKit::WebPage::resetAssistedNodeForFrame): |
| |
| 2015-02-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [Cocoa] NSData over retain in WKBrowsingContextController loadData |
| https://bugs.webkit.org/show_bug.cgi?id=141437 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKBrowsingContextController.mm: |
| (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): |
| API::Data::createWithoutCopying will automatically do the retaining / releasing for us. |
| |
| 2015-02-10 Zhuo Li <zachli@apple.com> |
| |
| [WK2] Add support for registering url schemes to bypass Content Security Policy. |
| https://bugs.webkit.org/show_bug.cgi?id=140736 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextRegisterURLSchemeAsBypassingContentSecurityPolicy): |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| (WebKit::WebProcessPool::registerURLSchemeAsBypassingContentSecurityPolicy): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::registerURLSchemeAsBypassingContentSecurityPolicy): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2015-02-10 Sanghyup Lee <sh53.lee@samsung.com> |
| |
| [EFL] Use a variable to set flicking time instead of hardcoding |
| https://bugs.webkit.org/show_bug.cgi?id=138950 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Currently time of flick gesture animation is hardcoded as one second. |
| This patch added a static variable to increase readability. |
| |
| * UIProcess/API/efl/GestureRecognizer.cpp: |
| (WebKit::GestureHandler::GestureHandler): |
| (WebKit::GestureHandler::flickAnimatorCallback): |
| (WebKit::GestureHandler::handleFlick): |
| |
| 2015-02-09 Enrica Casucci <enrica@apple.com> |
| |
| Selection flickers when trying to change size of selection. |
| https://bugs.webkit.org/show_bug.cgi?id=141404 |
| rdar://problem/18824863 |
| |
| Reviewed by Benjamin Poulain. |
| |
| When looking for the contracted range from the current range, |
| we were incorrectly choosing a selection whose rectangle is empty |
| as a best match candidate. This was throwing off all the logic |
| and producing a contracted range whose rectangle was bigger than the |
| expanded range, therefore producing a shrink threshold larger than the |
| growth one. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::contractedRangeFromHandle): |
| |
| 2015-02-09 Brian J. Burg <burg@cs.washington.edu> |
| |
| REGRESSION(r179705): 2nd-level inspector availability no longer controlled by DeveloperExtrasEnabled user default |
| https://bugs.webkit.org/show_bug.cgi?id=141343 |
| |
| Reviewed by Timothy Hatcher. |
| |
| The regression was caused by the switch to using WKWebViewConfiguration and |
| its default WebPreferences object, which is used to populate the inspector page's |
| Settings object. This WebPreferences is initialized with no identifier, so |
| only preferences in the FOR_EACH_WEBKIT_DEBUG_*_PREFERENCE macros are populated |
| from NSUserDefaults. |
| |
| The simplest fix is to move DeveloperExtrasEnabled into the DEBUG group. |
| |
| Previously, each inspector level had a unique identifier such as |
| __WebInspectorPageGroupLevelN__, and the n+1 level inspector was enabled |
| by toggling __WebInspectorPageGroupLevelN__.WebKit2DeveloperExrasEnabled. |
| With the move to the DEBUG group, the preference becomes simply |
| WebKitDeveloperExtrasEnabled, which enables any level of inspector. |
| (This does not clash with Safari's "Show Develop Menu" preference, which uses |
| the key "WebKitDeveloperExtrasEnabledPreferenceKey") |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2015-02-08 Antti Koivisto <antti@apple.com> |
| |
| Measure cache size more accurately |
| https://bugs.webkit.org/show_bug.cgi?id=141378 |
| <rdar://problem/19760224> |
| |
| Reviewed by Chris Dumez. |
| |
| Estimate the cache disk space usage from the actual entry sizes instead of the item count. |
| This prevents large cache items from making the cache grow beyond its bounds. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::initialize): |
| (WebKit::NetworkCacheStorage::removeEntry): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::clear): |
| (WebKit::NetworkCacheStorage::shrinkIfNeeded): |
| |
| 2015-02-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r179705): [GTK] The Web Inspector doesn't work after r179705 |
| https://bugs.webkit.org/show_bug.cgi?id=141333 |
| |
| Reviewed by Žan Doberšek. |
| |
| Create an initialize WebPreferences for the inspector page. This |
| was moved from cross-platform code to platform specific code. |
| |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| |
| 2015-02-08 Timothy Horton <timothy_horton@apple.com> |
| |
| Null deref in _clearImmediateActionState when closing a view with a DataDetectors popover open |
| https://bugs.webkit.org/show_bug.cgi?id=141377 |
| <rdar://problem/19711203> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| We can have already detached the page when DataDetectors calls us back |
| in interactionStoppedHandler. While we have kept a strong reference to the |
| page in the interactionStoppedHandler block, _page is nulled out. |
| It's OK to avoid doing this work, in any case, because closing a page |
| tears down the TextIndicator anyway. |
| |
| 2015-02-08 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Add logging to validate the network cache efficacy (Part 1) |
| https://bugs.webkit.org/show_bug.cgi?id=141269 |
| <rdar://problem/19632080> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add console logging to validate the network cache efficacy. This will |
| tell us if how the network cache satisties requests, in particular: |
| - Request cannot be handled by the cache |
| - Entry was not in the cache but is no longer there (pruned) |
| - Entry is in the cache but is not usable |
| - Entry is in the cache and is used. |
| |
| This patch introduces a SQLite-based network cache statistics storage |
| that is used to store requests we have seen before, and query if we |
| have seen a request before. The storage is lightweight as it only |
| stores hashes in the database, in a background thread. |
| |
| The statistics cache is initially bootstapped from the network disk |
| cache so that we have data initially and get as accurate statistics |
| as possible from the start. |
| |
| To maintain an acceptable level of performance, we have a hard limit |
| on the number of unique requests that are retained set to 100000. |
| |
| Diagnostic logging for this will be added in a follow-up patch. |
| |
| 2015-02-07 Chris Dumez <cdumez@apple.com> |
| |
| Add Vector::removeFirstMatching() / removeAllMatching() methods taking lambda functions |
| https://bugs.webkit.org/show_bug.cgi?id=141321 |
| |
| Reviewed by Darin Adler. |
| |
| Use new Vector::removeFirstMatching() / removeAllMatching() methods. |
| |
| 2015-02-07 Tim Horton <timothy_horton@apple.com> |
| |
| Add API::HistoryClient and split some things out of API::NavigationClient |
| https://bugs.webkit.org/show_bug.cgi?id=141264 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/APIHistoryClient.h: Added. |
| (API::HistoryClient::~HistoryClient): |
| (API::HistoryClient::didNavigateWithNavigationData): |
| (API::HistoryClient::didPerformClientRedirect): |
| (API::HistoryClient::didPerformServerRedirect): |
| (API::HistoryClient::didUpdateHistoryTitle): |
| * UIProcess/API/APINavigationClient.h: |
| (API::NavigationClient::didNavigateWithNavigationData): Deleted. |
| (API::NavigationClient::didPerformClientRedirect): Deleted. |
| (API::NavigationClient::didPerformServerRedirect): Deleted. |
| (API::NavigationClient::didUpdateHistoryTitle): Deleted. |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::createHistoryClient): |
| (WebKit::NavigationState::HistoryClient::HistoryClient): |
| (WebKit::NavigationState::HistoryClient::~HistoryClient): |
| (WebKit::NavigationState::HistoryClient::didNavigateWithNavigationData): |
| (WebKit::NavigationState::HistoryClient::didPerformClientRedirect): |
| (WebKit::NavigationState::HistoryClient::didPerformServerRedirect): |
| (WebKit::NavigationState::HistoryClient::didUpdateHistoryTitle): |
| (WebKit::NavigationState::NavigationClient::didNavigateWithNavigationData): Deleted. |
| (WebKit::NavigationState::NavigationClient::didPerformClientRedirect): Deleted. |
| (WebKit::NavigationState::NavigationClient::didPerformServerRedirect): Deleted. |
| (WebKit::NavigationState::NavigationClient::didUpdateHistoryTitle): Deleted. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setHistoryClient): |
| (WebKit::WebPageProxy::didNavigateWithNavigationData): |
| (WebKit::WebPageProxy::didPerformClientRedirect): |
| (WebKit::WebPageProxy::didPerformServerRedirect): |
| (WebKit::WebPageProxy::didUpdateHistoryTitle): |
| * UIProcess/WebPageProxy.h: |
| Add a API::HistoryClient and move the few things that belong on it out of API::NavigationClient. |
| Adjust accordingly in WebPageProxy and NavigationState. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| (-[WKWebView setNavigationDelegate:]): |
| (-[WKWebView setUIDelegate:]): |
| (-[WKWebView _setHistoryDelegate:]): |
| Lazily push the NavigationState/UIDelegate clients down to WebPageProxy upon |
| installation of a delegate, so that alternative (C SPI) delegate setters can |
| be separately created. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-07 Antti Koivisto <antti@apple.com> |
| |
| And as a further followup restore the 8bit test too. |
| |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::hashString): |
| |
| 2015-02-07 Antti Koivisto <antti@apple.com> |
| |
| Use longer hashes for cache keys |
| https://bugs.webkit.org/show_bug.cgi?id=141356 |
| |
| Rubber-stamped by Darin Adler. |
| |
| Folloup and build fix. |
| |
| * NetworkProcess/cache/NetworkCacheCoders.h: |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::hashString): |
| |
| Use containsOnlyASCII instead of is8Bit so both paths always compute the same hash. |
| |
| * NetworkProcess/cache/NetworkCacheKey.h: |
| |
| 2015-02-07 Antti Koivisto <antti@apple.com> |
| |
| Remove a printf. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::retrieve): |
| |
| 2015-02-07 Antti Koivisto <antti@apple.com> |
| |
| Use longer hashes for cache keys |
| https://bugs.webkit.org/show_bug.cgi?id=141356 |
| |
| Reviewed by Darin Adler. |
| |
| The current key hashes are 32bit. We should use longer hashes to eliminate collisions. |
| |
| This patch switches us to using MD5 digests for the cache key hashes. As a result the file names for the cache |
| entries grow from 8 to 32 character. |
| |
| Note that we don't need a cryptographic hash (full cache keys are verified against the entries). |
| MD5 just happens to be fast, convenient and available. |
| |
| The patch also moves the whole cache hierarchy down to a versioned subdirectory ("WebKitCache/Version 2") |
| and deletes any old style cache files if they exist. |
| |
| * NetworkProcess/cache/NetworkCacheCoders.cpp: |
| (WebKit::NetworkCacheCoder<MD5::Digest>::encode): |
| (WebKit::NetworkCacheCoder<MD5::Digest>::decode): |
| * NetworkProcess/cache/NetworkCacheCoders.h: |
| * NetworkProcess/cache/NetworkCacheKey.cpp: |
| (WebKit::NetworkCacheKey::NetworkCacheKey): |
| (WebKit::hashString): |
| (WebKit::NetworkCacheKey::computeHash): |
| (WebKit::NetworkCacheKey::hashAsString): |
| (WebKit::NetworkCacheKey::stringToHash): |
| * NetworkProcess/cache/NetworkCacheKey.h: |
| (WebKit::NetworkCacheKey::shortHash): |
| (WebKit::NetworkCacheKey::toShortHash): |
| |
| 32bit hash to use in the bloom filter. |
| |
| (WebKit::NetworkCacheKey::hashStringLength): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| Bump the version. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::traverseCacheFiles): |
| (WebKit::makeVersionedDirectoryPath): |
| (WebKit::NetworkCacheStorage::NetworkCacheStorage): |
| (WebKit::NetworkCacheStorage::initialize): |
| (WebKit::NetworkCacheStorage::removeEntry): |
| (WebKit::NetworkCacheStorage::retrieve): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::update): |
| (WebKit::NetworkCacheStorage::shrinkIfNeeded): |
| (WebKit::NetworkCacheStorage::deleteOldVersions): |
| |
| Wipe out the version 1 cache. |
| |
| 2015-02-06 Chris Dumez <cdumez@apple.com> |
| |
| Have SQLiteStatement::database() return a reference |
| https://bugs.webkit.org/show_bug.cgi?id=141348 |
| |
| Reviewed by Andreas Kling. |
| |
| Have SQLiteStatement::database() return a reference as it can never |
| return null. |
| |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: |
| (WebKit::SQLiteIDBCursor::internalAdvanceOnce): |
| |
| 2015-02-06 Alexey Proskuryakov <ap@apple.com> |
| |
| Report network process crashes during layout tests |
| https://bugs.webkit.org/show_bug.cgi?id=139646 |
| |
| Reviewed by Anders Carlsson. |
| |
| Added a way to get network process pid, modeled after how we do this for web process. |
| |
| * UIProcess/API/C/mac/WKContextPrivateMac.h: |
| * UIProcess/API/C/mac/WKContextPrivateMac.mm: |
| (WKContextGetNetworkProcessIdentifier): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::networkProcessCrashed): Don't reset m_networkProcess until |
| after calling the client, so that the client could retrieve its pid. |
| (WebKit::WebProcessPool::networkProcessIdentifier): |
| * UIProcess/WebProcessPool.h: |
| |
| 2015-02-05 Timothy Hatcher <timothy@apple.com> |
| |
| Support overriding the deviceScaleFactor per WKWebView/WKView |
| https://bugs.webkit.org/show_bug.cgi?id=141311 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setOverrideDeviceScaleFactor:]): |
| (-[WKWebView _overrideDeviceScaleFactor]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _intrinsicDeviceScaleFactor]): |
| (-[WKView _setOverrideDeviceScaleFactor:]): |
| (-[WKView _overrideDeviceScaleFactor]): |
| |
| 2015-02-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remove WebKitWebView::close-notification signal |
| https://bugs.webkit.org/show_bug.cgi?id=141330 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| In favor of a WebKitNotification::closed signal and |
| webkit_notification_close() method that both applications and |
| WebKit can use to close a notification. This also fixes the |
| onclose event that was not fired when the notification was |
| closed. It also brings back padding space in WebKitWebViewClass. |
| |
| * UIProcess/API/gtk/WebKitNotification.cpp: |
| (webkit_notification_class_init): Add WebKitNotification::closed signal. |
| (webkit_notification_close): Emit WebKitNotification::closed. |
| * UIProcess/API/gtk/WebKitNotification.h: |
| * UIProcess/API/gtk/WebKitNotificationProvider.cpp: |
| (WebKitNotificationProvider::notificationCloseCallback): Callback |
| for WebKitNotification::closed signal that notifies the WebProcess |
| and removes the notification from the map. |
| (WebKitNotificationProvider::show): Connect to WebKitNotification::closed. |
| (WebKitNotificationProvider::cancelNotificationByID): Call webkit_notification_close(). |
| * UIProcess/API/gtk/WebKitNotificationProvider.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (notifyNotificationClosed): The user closed the annotation, call |
| webkit_notification_close(). |
| (webNotificationClosed): The WebKitNotification has been closed, |
| close the libnotify notification if it hasn't been closed yet. |
| (webkitWebViewShowNotification): Create the libnotifiy |
| notification if needed and associate it to the WebKitNotification |
| as user data. Connect to the closed signal of both, the libnotifiy |
| notification and the WebKit notification. |
| (webkitWebViewCloseNotification): Deleted. |
| (webkit_web_view_class_init): Remove close-notification signal and |
| the default hanlder. |
| (webkitWebViewEmitCloseNotification): Deleted. |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add webkit_notification_close. |
| |
| 2015-02-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| ASSERTION FAILED: !m_adoptionIsRequired in WTF::RefCountedBase::ref |
| https://bugs.webkit.org/show_bug.cgi?id=141035 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Rename PrinterListGtk::singleton() as PrinterListGtk::getOrCreate(), and |
| make it return nullptr when the shared PrinterListGtk object is |
| still being created. This can happen if the nested loop used by |
| gtk_enumerate_printers dispatches a GSource that starts a new |
| synchronous print operation. In that case we just ignore the |
| second print operation, since there's already one ongoing. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::print): Return early if |
| PrinterListGtk::getOrCreate() return nullptr. |
| * WebProcess/WebPage/gtk/PrinterListGtk.cpp: |
| (WebKit::PrinterListGtk::getOrCreate): Return nullptr if the |
| PrinterListGtk is still enumerating the printers. |
| (WebKit::PrinterListGtk::PrinterListGtk): Initialize |
| m_enumeratingPrinters to true before calling |
| gtk_enumerate_printers, and to false once it finishes. |
| (WebKit::PrinterListGtk::singleton): Deleted. |
| (WebKit::PrinterListGtk::enumeratePrintersFunction): Deleted. |
| * WebProcess/WebPage/gtk/PrinterListGtk.h: |
| * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Add an |
| assertion here since PrinterListGtk::getOrCreate() should never |
| return nullptr at this point. |
| |
| 2015-02-05 Tim Horton <timothy_horton@apple.com> |
| |
| Null deref in ViewGestureController::beginSwipeGesture when swiping while script is navigating |
| https://bugs.webkit.org/show_bug.cgi?id=141308 |
| <rdar://problem/18460046> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::trackSwipeGesture): |
| If script navigates (history.back, probably other cases too) while in the middle of |
| building up enough scroll events to start a swipe, it can destroy the history item |
| that we were planning to swipe to. If this happens, bail from the swipe. |
| |
| 2015-02-05 Alexey Proskuryakov <ap@apple.com> |
| |
| Don't pass architecture to development plug-in XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=141309 |
| |
| Reviewed by Anders Carlsson. |
| |
| We now have separate services for 32-bit and 64-bit. |
| |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: |
| (WebKit::reexec): |
| (WebKit::XPCServiceEventHandler): |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::connectToReExecService): |
| |
| 2015-02-05 Chris Dumez <cdumez@apple.com> |
| |
| Use deleteEmptyDirectory() in NetworkCacheStorage::clear() |
| https://bugs.webkit.org/show_bug.cgi?id=141314 |
| |
| Reviewed by Antti Koivisto. |
| |
| Use deleteEmptyDirectory() in NetworkCacheStorage::clear() to simplify |
| the code a little bit. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::clear): |
| |
| 2015-02-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS] Remove False Positive dispatch_source Leak in WebMemoryPressureHandler singleton |
| https://bugs.webkit.org/show_bug.cgi?id=141307 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/ios/WebMemoryPressureHandlerIOS.h: |
| * UIProcess/ios/WebMemoryPressureHandlerIOS.mm: |
| (WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler): |
| We want to keep the dispatch_source around, so just tie it to the |
| singleton so that it is not reported as a leak. |
| |
| 2015-02-05 Antti Koivisto <antti@apple.com> |
| |
| Switch to file backed buffer when resource is cached to disk |
| https://bugs.webkit.org/show_bug.cgi?id=141295 |
| |
| Reviewed by Chris Dumez. |
| |
| Wire the DidCacheResource mechanism to the new disk cache. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| |
| Send DidCacheResource message to the web process so it can switch the resource to file backing. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::store): |
| (WebKit::NetworkCache::update): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::DispatchPtr::DispatchPtr): |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::Data::Data): |
| (WebKit::mapFile): |
| (WebKit::decodeEntry): |
| (WebKit::retrieveActive): |
| (WebKit::NetworkCacheStorage::retrieve): |
| (WebKit::NetworkCacheStorage::store): |
| |
| Map files larger than a memory page after a successful store. |
| |
| (WebKit::NetworkCacheStorage::update): |
| (WebKit::encodeEntry): Deleted. |
| |
| 2015-02-05 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Properly check for mmap() error case |
| https://bugs.webkit.org/show_bug.cgi?id=141304 |
| |
| Reviewed by Anders Carlsson. |
| |
| mmap() returns MAP_FAILED, which is (void*)-1, not a null pointer in |
| case of failure. This patch updates several wrong error checks in |
| WebKit2. |
| |
| * Platform/IPC/ArgumentEncoder.cpp: |
| (IPC::allocBuffer): |
| (IPC::ArgumentEncoder::reserve): |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::sendOutgoingMessage): |
| |
| 2015-02-05 Brian J. Burg <burg@cs.washington.edu> |
| |
| Clean up WebInspectorProxy and use simpler inspector levels design |
| https://bugs.webkit.org/show_bug.cgi?id=141135 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Inspector levels used to be managed by keeping a set of WebPageGroup |
| instances and doing pointer comparisons to check whether the inspected |
| view is itself a web inspector instance. This is unnecessary, as we |
| can maintain a mapping from WebPageProxy* to its corresponding level. |
| |
| When an inspector instance is created, it is inserted into the mapping |
| along with its level. An inspector's level is 1 unless its inspected page |
| is in the mapping, then it is one greater that the inspected page's level. |
| |
| The level is provided by inspectorLevel(), rather than a member variable. |
| WebInspectorProxy is created in the constructor of WebPageProxy. Thus, there |
| would be no chance to add the inspector page's level to the mapping before the |
| next level inspector tries to look it up when initializing its members. |
| |
| This patch introduces other miscellaneous cleanups, such as naming m_page |
| to m_inspectedPage, using Ref and using an enum class for the attachment side. |
| |
| * UIProcess/API/C/WKInspector.cpp: |
| (WKInspectorGetPage): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (resizeWebKitWebViewBaseFromAllocation): |
| * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: |
| * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::pageLevelMap): |
| (WebKit::WebInspectorProxy::WebInspectorProxy): |
| (WebKit::WebInspectorProxy::inspectorLevel): |
| (WebKit::WebInspectorProxy::inspectorPageGroupIdentifier): |
| (WebKit::WebInspectorProxy::inspectorPagePreferences): |
| (WebKit::WebInspectorProxy::invalidate): |
| (WebKit::WebInspectorProxy::isFront): |
| (WebKit::WebInspectorProxy::connect): |
| (WebKit::WebInspectorProxy::show): |
| (WebKit::WebInspectorProxy::hide): |
| (WebKit::WebInspectorProxy::close): |
| (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess): |
| (WebKit::WebInspectorProxy::showConsole): |
| (WebKit::WebInspectorProxy::showResources): |
| (WebKit::WebInspectorProxy::showMainResourceForFrame): |
| (WebKit::WebInspectorProxy::attachBottom): |
| (WebKit::WebInspectorProxy::attachRight): |
| (WebKit::WebInspectorProxy::attach): |
| (WebKit::WebInspectorProxy::detach): |
| (WebKit::WebInspectorProxy::togglePageProfiling): |
| (WebKit::WebInspectorProxy::isInspectorPage): |
| (WebKit::decidePolicyForNavigationAction): |
| (WebKit::WebInspectorProxy::remoteFrontendConnected): |
| (WebKit::WebInspectorProxy::remoteFrontendDisconnected): |
| (WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend): |
| (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): |
| (WebKit::WebInspectorProxy::createInspectorPage): |
| (WebKit::WebInspectorProxy::didClose): |
| (WebKit::WebInspectorPageGroups::singleton): Deleted. |
| (WebKit::WebInspectorPageGroups::inspectorLevel): Deleted. |
| (WebKit::WebInspectorPageGroups::isInspectorPageGroup): Deleted. |
| (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel): Deleted. |
| (WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel): Deleted. |
| (WebKit::WebInspectorPageGroups::createInspectorPageGroup): Deleted. |
| (WebKit::WebInspectorProxy::~WebInspectorProxy): Deleted. |
| (WebKit::WebInspectorProxy::inspectorPageGroup): Deleted. |
| (WebKit::WebInspectorProxy::setAttachedWindowHeight): Deleted. |
| (WebKit::WebInspectorProxy::enableRemoteInspection): Deleted. |
| (WebKit::WebInspectorProxy::open): Deleted. |
| * UIProcess/WebInspectorProxy.h: |
| (WebKit::WebInspectorProxy::create): |
| (WebKit::WebInspectorProxy::inspectedPage): |
| (WebKit::WebInspectorProxy::page): Deleted. |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| (WebKit::WebInspectorProxy::dockButtonClicked): |
| (WebKit::WebInspectorProxy::createInspectorWindow): |
| (WebKit::WebInspectorProxy::platformInspectedWindowHeight): |
| (WebKit::WebInspectorProxy::platformInspectedWindowWidth): |
| (WebKit::WebInspectorProxy::platformAttach): |
| (WebKit::WebInspectorProxy::platformDetach): |
| (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): |
| (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (-[WKWebInspectorProxyObjCAdapter attachRight:]): |
| (-[WKWebInspectorProxyObjCAdapter attachBottom:]): |
| (WebKit::WebInspectorProxy::createInspectorWindow): |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| (WebKit::WebInspectorProxy::platformBringToFront): |
| (WebKit::WebInspectorProxy::windowFrameDidChange): |
| (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): |
| (WebKit::WebInspectorProxy::platformInspectedWindowHeight): |
| (WebKit::WebInspectorProxy::platformInspectedWindowWidth): |
| (WebKit::WebInspectorProxy::platformAttach): |
| (WebKit::WebInspectorProxy::platformDetach): |
| (-[WKWebInspectorProxyObjCAdapter close]): Deleted. |
| |
| 2015-02-05 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cocoa] Populate m_contentsFilter bloom filter from the main dispatch queue NetworkCacheStorage::initialize() |
| https://bugs.webkit.org/show_bug.cgi?id=141297 |
| |
| Reviewed by Antti Koivisto. |
| |
| Populate m_contentsFilter bloom filter from the main dispatch queue |
| NetworkCacheStorage::initialize() to avoid thread-safety issues. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::initialize): |
| |
| 2015-02-05 Chris Dumez <cdumez@apple.com> |
| |
| Use deleteFile() in NetworkCacheStorageCocoa.mm |
| https://bugs.webkit.org/show_bug.cgi?id=141299 |
| |
| Reviewed by Antti Koivisto. |
| |
| Use deleteFile() in NetworkCacheStorageCocoa.mm to simplify the code |
| a bit. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::removeEntry): |
| (WebKit::NetworkCacheStorage::clear): |
| (WebKit::NetworkCacheStorage::shrinkIfNeeded): |
| |
| 2015-02-04 Antti Koivisto <antti@apple.com> |
| |
| Avoid copying std::functions across threads in NetworkCacheStorage |
| https://bugs.webkit.org/show_bug.cgi?id=141273 |
| |
| Reviewed by Andreas Kling. |
| |
| The current approach is risky. There is possiblity that captured variables are |
| deleted in an unexpected thread. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::retrieve): |
| |
| The capture trick here is no longer needed. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| For each cache operation we create Retrive/Store/UpdateOperation object kept alive by the active operation map. |
| This object captures all parameters of the operation including the lambda. When the operation completes |
| the object is removed from the map in the main thread, ensuring safe destruction. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::dispatchRetrieveOperation): |
| (WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations): |
| (WebKit::retrieveActive): |
| |
| Instead of maintaining a separate write cache we just look through the active write and update maps. |
| |
| (WebKit::NetworkCacheStorage::retrieve): |
| |
| Use fixed sized priority array rather than a dynamic one. Vector<Deque<std::unique_ptr>> doesn't quite work. |
| |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::update): |
| (WebKit::NetworkCacheStorage::clear): |
| |
| 2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [Streams API] Implement a barebone ReadableStream interface |
| https://bugs.webkit.org/show_bug.cgi?id=141045 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * CMakeLists.txt: |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-02-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS] Selection callout does not follow selection when double-tap scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=141214 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Implement the delegate that gets called after UIScrollView |
| setContentOffset animations. When scrolling to a rect, do the normal |
| willScroll, didScroll actions to update the selection assistant. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _scrollToRect:origin:minimumScrollDistance:]): |
| (-[WKWebView scrollViewDidEndScrollingAnimation:]): |
| |
| 2015-02-04 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Layers that are created and destroyed in the same transaction shouldn't be encoded |
| https://bugs.webkit.org/show_bug.cgi?id=141228 |
| |
| Reviewed by Tim Horton. |
| |
| With UI-side compositing, it was possible for layers to get created and |
| destroyed in the same transaction (e.g. two layouts before a single layer |
| tree commit). When that happened we would encode layer creation properties |
| but not encode layer properties, since the layer would be unreachable. |
| |
| Fix by removing deleted layers from the created layers list, which is |
| converted into a map for easy searching. |
| |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: |
| (WebKit::RemoteLayerTreeContext::layerWasCreated): |
| (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed): |
| (WebKit::RemoteLayerTreeContext::buildTransaction): |
| |
| 2015-02-04 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Build with seccomp filters broken since r179409 |
| https://bugs.webkit.org/show_bug.cgi?id=141206 |
| |
| Reviewed by Darin Adler. |
| |
| Fix build by renaming SeccompBrokerClient::shared to SeccompBrokerClient::singleton. |
| |
| * Shared/linux/SeccompFilters/SeccompBroker.cpp: |
| (WebKit::SeccompBrokerClient::singleton): |
| (WebKit::SeccompBroker::initialize): |
| (WebKit::SeccompBrokerClient::shared): |
| (WebKit::SeccompBroker::runLoop): |
| |
| 2015-02-04 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Assert in ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren() on tab switching |
| https://bugs.webkit.org/show_bug.cgi?id=141223 |
| rdar://problem/18458993 |
| |
| Reviewed by Tim Horton. |
| |
| It's possible to submit a RemoteLayerTree transaction that contains data |
| about a created layer, but doesn't have any properties for that layer. This |
| happens when the newly created layer isn't reached during the traversal that |
| gathers layer properties (i.e. it's not rooted). However, whether we create |
| a scrolling layer or not requires having properties; they are missing, so we |
| create a normal layer, but then the scrolling tree commit asserts that we |
| should have a scrolling layer. |
| |
| Fix by making scrolling layers have a corresponding layer type, which is |
| stored in layer creation properties. This required exposing layer types |
| up through GraphicsLayer, but that allows for some nice cleanup: |
| |
| 1. No need to have the hokey shouldUseTiledBacking() GraphicsLayerClient hack |
| for creating the page tiled layer. |
| 2. The notion of "custom behaviors" can be removed from GraphicsLayer entirely. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::drawInContext): |
| * Shared/mac/RemoteLayerTreeTransaction.h: |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): |
| (WebKit::dumpChangedLayers): |
| (WebKit::RemoteLayerTreeTransaction::description): |
| * UIProcess/ios/RemoteLayerTreeHostIOS.mm: |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| * UIProcess/mac/RemoteLayerTreeHost.mm: |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::customBehavior): Deleted. |
| (WebKit::PlatformCALayerRemote::updateCustomBehavior): Deleted. |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: |
| (WebKit::RemoteLayerTreeContext::createGraphicsLayer): |
| |
| 2015-02-04 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL][WK2] Manage failing API tests |
| https://bugs.webkit.org/show_bug.cgi?id=141250 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * PlatformEfl.cmake: Skip to test test_ewk2_storage_manager. |
| * UIProcess/API/efl/tests/test_ewk2_view.cpp: Disable 2 unit test functions. |
| (TEST_F): |
| |
| 2015-02-04 Chris Dumez <cdumez@apple.com> |
| |
| Add removeFirst(value) / removeAll(value) methods to WTF::Vector |
| https://bugs.webkit.org/show_bug.cgi?id=141192 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Use new Vector::removeFirst(value) / removeAll(value) API to simplify the |
| code a bit. |
| |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: |
| (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol): |
| * UIProcess/PageLoadState.cpp: |
| (WebKit::PageLoadState::removeObserver): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::~WebProcessPool): |
| (WebKit::WebProcessPool::disconnectProcess): |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: |
| (EwkExtension::remove): |
| |
| 2015-02-03 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed attempt to fix GTK/EFL build after r179588. |
| |
| Add new files to CMakeLists.txt. |
| |
| * CMakeLists.txt: |
| |
| 2015-02-03 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/Platform/IPC module. |
| https://bugs.webkit.org/show_bug.cgi?id=141229 |
| |
| Reviewed by Chris Dumez. |
| |
| Fix build warning by using UNUSED_PARAM macro. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::sendMessage): |
| |
| 2015-02-03 Tim Horton <timothy_horton@apple.com> |
| |
| Add WKPageNavigationClient as C SPI around API::NavigationClient, and adopt in WKTR |
| https://bugs.webkit.org/show_bug.cgi?id=141217 |
| |
| * UIProcess/API/C/WKPageRenderingProgressEventsInternal.h: |
| Include, not import. |
| |
| 2015-02-03 Tim Horton <timothy_horton@apple.com> |
| |
| Add WKPageNavigationClient as C SPI around API::NavigationClient, and adopt in WKTR |
| https://bugs.webkit.org/show_bug.cgi?id=141217 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKFrameInfoRef.cpp: Added. |
| (WKFrameInfoGetTypeID): |
| * UIProcess/API/C/WKFrameInfoRef.h: Added. |
| * UIProcess/API/C/WKNavigationActionRef.cpp: Added. |
| (WKNavigationActionGetTypeID): |
| * UIProcess/API/C/WKNavigationActionRef.h: Added. |
| * UIProcess/API/C/WKNavigationRef.cpp: Added. |
| (WKNavigationGetTypeID): |
| * UIProcess/API/C/WKNavigationRef.h: Added. |
| * UIProcess/API/C/WKNavigationResponseRef.cpp: Added. |
| (WKNavigationResponseGetTypeID): |
| (WKNavigationResponseCanShowMIMEType): |
| * UIProcess/API/C/WKNavigationResponseRef.h: Added. |
| Add tiny C wrappers around API::{FrameInfo, NavigationAction, Navigation, NavigationResponse}. |
| |
| * UIProcess/API/APINavigationClient.h: |
| (API::NavigationClient::decidePolicyForPluginLoad): |
| Add a default implementation of decidePolicyForPluginLoad. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageNavigationClient): |
| * UIProcess/API/C/WKPage.h: |
| Add WKPageSetPageNavigationClient, which connects API::NavigationClient to |
| the new WKPageNavigationClient C SPI. |
| |
| * UIProcess/API/C/WKPageNavigationClient.h: Added. |
| Add WKPageNavigationClient, which one can use in place of WKPageLoaderClient |
| and WKPagePolicyClient and which has the same semantics as the Modern ObjC API |
| (including things like API::Navigation as WKNavigationRef, etc.) |
| |
| * UIProcess/API/C/WKPageLoaderClient.h: |
| * UIProcess/API/C/WKPageRenderingProgressEvents.h: Added. |
| * UIProcess/API/C/WKPageRenderingProgressEventsInternal.h: Added. |
| (pageRenderingProgressEvents): |
| * UIProcess/API/C/WKPluginLoadPolicy.h: Added. |
| Pull some enums out into their own files (WKPageRenderingProgressEvents is |
| duplicated from the Modern ObjC API's _WKRenderingProgressEvents, WKPluginLoadPolicy |
| is pulled out of WKPageLoaderClient). |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::findPlugin): |
| Add an equivalent of pluginLoadPolicy to the NavigationClient. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-03 Timothy Horton <timothy_horton@apple.com> |
| |
| Every PageOverlayClientImpl leaks |
| https://bugs.webkit.org/show_bug.cgi?id=141224 |
| <rdar://problem/19652939> |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: |
| (WKBundlePageOverlayCreate): |
| * WebProcess/WebPage/WebPageOverlay.cpp: |
| (WebKit::WebPageOverlay::create): |
| (WebKit::WebPageOverlay::WebPageOverlay): |
| (WebKit::WebPageOverlay::pageOverlayDestroyed): |
| (WebKit::WebPageOverlay::willMoveToPage): |
| (WebKit::WebPageOverlay::didMoveToPage): |
| (WebKit::WebPageOverlay::drawRect): |
| (WebKit::WebPageOverlay::mouseEvent): |
| (WebKit::WebPageOverlay::didScrollFrame): |
| (WebKit::WebPageOverlay::actionContextForResultAtPoint): |
| (WebKit::WebPageOverlay::dataDetectorsDidPresentUI): |
| (WebKit::WebPageOverlay::dataDetectorsDidChangeUI): |
| (WebKit::WebPageOverlay::dataDetectorsDidHideUI): |
| (WebKit::WebPageOverlay::copyAccessibilityAttributeStringValueForPoint): |
| (WebKit::WebPageOverlay::copyAccessibilityAttributeBoolValueForPoint): |
| (WebKit::WebPageOverlay::copyAccessibilityAttributeNames): |
| * WebProcess/WebPage/WebPageOverlay.h: |
| (WebKit::WebPageOverlay::client): |
| Keep the PageOverlayClientImpl as a unique_ptr instead of a leaked reference, |
| ensuring that it's cleaned up when the WebPageOverlay is torn down. |
| |
| 2015-02-03 Chris Dumez <cdumez@apple.com> |
| |
| Drop ResourceLoadPriorityUnresolved resource load priority and use Optional<> instead |
| https://bugs.webkit.org/show_bug.cgi?id=141186 |
| |
| Reviewed by Antti Koivisto. |
| |
| Update code now that ResourceLoadPriorityUnresolved is not longer a |
| ResourceLoadPriority enum value. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::retrieve): |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::WebResourceLoadScheduler::scheduleLoad): |
| |
| 2015-02-03 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] Add support for deleteFromInputWithFlags. |
| https://bugs.webkit.org/show_bug.cgi?id=141216 |
| rdar://problem/19130081 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Adopts the new method as soon as it is available. |
| The patch also removes some obsolete code used for staging. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _interpretKeyEvent:isCharEvent:]): |
| |
| 2015-02-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS] Selection Callout should not immediately disappear on pages with frequent layouts |
| https://bugs.webkit.org/show_bug.cgi?id=141210 |
| |
| Reviewed by Enrica Casucci. |
| |
| In iOS WebKit2 in order to keep caret refreshes in sync with WebCore layouts |
| the selection assistant is told to update whenever WebKit's layer tree |
| commits. Unfortunately, for pages with JavaScript animation that are |
| frequently doing a layout / layer tree update, this would trigger very |
| frequent selection updates that would keep the caret from blinking and |
| dismiss any selection callouts. |
| |
| This change tracks the last selection drawing information so that we can |
| avoid informing the assistant of a selection updates unless it has changed |
| visually or needs to redraw (zoom). |
| |
| * Shared/EditorState.cpp: |
| Remove include already in header. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo): |
| (WebKit::operator==): |
| (WebKit::operator!=): |
| (-[WKContentView observeValueForKeyPath:ofObject:change:context:]): |
| When zooming, force the selection update, even though the drawing |
| information hasn't changed, the views will need to be updated. |
| |
| (-[WKContentView _updateChangedSelection]): |
| (-[WKContentView _updateChangedSelection:]): |
| Monitor EditorState for changes in selection drawing and avoid |
| informing the selection assistant unless necessary. |
| |
| 2015-02-03 Jeremy Jones <jeremyj@apple.com> |
| |
| Prevent flicker when exiting fullscreen by synchronizing transactions. |
| https://bugs.webkit.org/show_bug.cgi?id=140897 |
| |
| Reviewed by Tim Horton. |
| |
| Flush transactions before removing layerHost. This allows existing transactions to be completed before the hosting layer disappears. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): |
| |
| 2015-02-03 Brian J. Burg <burg@cs.washington.edu> |
| |
| Convert WebInspectorProxy to use WKWebView API for the inspector view |
| https://bugs.webkit.org/show_bug.cgi?id=141037 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Use the newer API for PLATFORM(MAC). The main difference is that the |
| WKWebView's page group cannot be set directly; instead, the group identifier |
| is passed. Also add some preference setters needed for the inspector. |
| |
| Refactor some code to not use page groups directly. In a future patch, |
| the PageGroup-based inspector level system will be simplified. It is |
| it is no longer necessary to keep a static map of PageGroup instances, |
| since they are only used to save inspector window preferences. (These used |
| to prevent all levels of inspector from pausing together when a second-level |
| inspector hit a breakpoint. This is not necessary with multi-process |
| web inspectors.) |
| |
| Also, adjust window resizing behavior when the inspector is docked to |
| the right. Window width resizes should not affect the width of the inspector |
| frame. This matches the behavior of height changes when docked to the bottom. |
| |
| To support 32-bit Mac builds where WKWebView is not defined, share the stub |
| platformFoo() implementations with PLATFORM(IOS). The stubs are now located |
| in the platform-independent WebInspectorProxy.cpp. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _logsPageMessagesToSystemConsoleEnabled]): Added. |
| (-[WKPreferences _setLogsPageMessagesToSystemConsoleEnabled:]): Added. |
| (-[WKPreferences _allowFileAccessFromFileURLs]): Added. |
| (-[WKPreferences _setAllowFileAccessFromFileURLs:]): Added. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::WebInspectorProxy): |
| (WebKit::WebInspectorProxy::inspectorPagePreferences): |
| (WebKit::WebInspectorProxy::attach): |
| (WebKit::WebInspectorProxy::detach): |
| (WebKit::WebInspectorProxy::setAttachedWindowHeight): |
| (WebKit::WebInspectorProxy::setAttachedWindowWidth): |
| (WebKit::WebInspectorProxy::createInspectorPage): |
| (WebKit::WebInspectorProxy::shouldOpenAttached): |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| (WebKit::WebInspectorProxy::platformOpen): |
| (WebKit::WebInspectorProxy::platformDidClose): |
| (WebKit::WebInspectorProxy::platformInvalidate): |
| (WebKit::WebInspectorProxy::platformBringToFront): |
| (WebKit::WebInspectorProxy::platformHide): |
| (WebKit::WebInspectorProxy::platformIsFront): |
| (WebKit::WebInspectorProxy::platformInspectedURLChanged): |
| (WebKit::WebInspectorProxy::platformSave): |
| (WebKit::WebInspectorProxy::platformAppend): |
| (WebKit::WebInspectorProxy::platformInspectedWindowHeight): |
| (WebKit::WebInspectorProxy::platformInspectedWindowWidth): |
| (WebKit::WebInspectorProxy::platformAttach): |
| (WebKit::WebInspectorProxy::platformDetach): |
| (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): |
| (WebKit::WebInspectorProxy::platformSetToolbarHeight): |
| (WebKit::WebInspectorProxy::inspectorPageURL): |
| (WebKit::WebInspectorProxy::inspectorTestPageURL): |
| (WebKit::WebInspectorProxy::inspectorBaseURL): |
| (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): |
| (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/ios/WebInspectorProxyIOS.mm: Removed. |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (-[WKWebInspectorWKWebView _didRelaunchProcess]): |
| WKWebView doesn't implement this, so remove the super call. |
| (WebKit::WebInspectorProxy::closeTimerFired): |
| (WebKit::createDockButton): |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| (WebKit::WebInspectorProxy::platformAttach): |
| (-[WKWebInspectorWKView _didRelaunchProcess]): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-02-03 Antti Koivisto <antti@apple.com> |
| |
| Memory cache for resources pending disk write |
| https://bugs.webkit.org/show_bug.cgi?id=141159 |
| |
| Reviewed by Andreas Kling. |
| |
| If a resource was requested from the disk cache before it has been written we ended up |
| loading it again. Add a short lived memory cache to avoid this. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::decodeStorageEntry): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCacheStorage::Data::isMap): |
| |
| Add a way to know whether a Data is backed by map or not. SharedMemory does not work correctly |
| if it is not a map. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::Data::Data): |
| (WebKit::NetworkCacheStorage::initialize): |
| |
| Also do some renaming. |
| |
| (WebKit::decodeEntry): |
| (WebKit::NetworkCacheStorage::removeEntry): |
| (WebKit::NetworkCacheStorage::retrieve): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::clear): |
| (WebKit::NetworkCacheStorage::shrinkIfNeeded): |
| |
| 2015-02-02 Antti Koivisto <antti@apple.com> |
| |
| Update cache header after revalidation without rewriting the body data |
| https://bugs.webkit.org/show_bug.cgi?id=141182 |
| |
| Reviewed by Andreas Kling. |
| |
| Currently we just rewrite the entire entry after revalidation. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::decodeStorageEntry): |
| |
| Include the strorage entry to the cache response so we can more easily update it. |
| |
| (WebKit::NetworkCache::update): |
| |
| Call the storage update function with the new and the exisiting storage entry. |
| |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::openFileForKey): |
| |
| Added an option for opening a file for writing without creating a new one. |
| Renamed for clarity. |
| |
| (WebKit::encodeEntryHeader): |
| |
| Separate header encoding to a function. |
| |
| (WebKit::encodeEntry): |
| (WebKit::NetworkCacheStorage::dispatchRetrieveOperation): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::update): |
| |
| New update function. |
| If the page-rounded header size would stay unchanged we can just write the new header over the old one. |
| In the unlikely event it doesn't we rewrite the whole thing. |
| |
| (WebKit::createIOChannelForKey): Deleted. |
| |
| 2015-02-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r179540. |
| https://bugs.webkit.org/show_bug.cgi?id=141190 |
| |
| need further investigation to fix !WK_API_ENABLED (32bit) |
| build. (Requested by brrian_ on #webkit). |
| |
| Reverted changeset: |
| |
| "Convert WebInspectorProxy to use WKWebView API for the |
| inspector view" |
| https://bugs.webkit.org/show_bug.cgi?id=141037 |
| http://trac.webkit.org/changeset/179540 |
| |
| 2015-02-02 Brian J. Burg <burg@cs.washington.edu> |
| |
| Convert WebInspectorProxy to use WKWebView API for the inspector view |
| https://bugs.webkit.org/show_bug.cgi?id=141037 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Use the newer API for PLATFORM(MAC). The main difference is that the |
| WKWebView's page group cannot be set directly; instead, the group identifier |
| is passed. Also add some preference setters needed for the inspector. |
| |
| Refactor some code to not use page groups directly. In a future patch, |
| the PageGroup-based inspector level system will be simplified. It is |
| it is no longer necessary to keep a static map of PageGroup instances, |
| since they are only used to save inspector window preferences. (These used |
| to prevent all levels of inspector from pausing together when a second-level |
| inspector hit a breakpoint. This is not necessary with multi-process |
| web inspectors.) |
| |
| Also, adjust window resizing behavior when the inspector is docked to |
| the right. Window width resizes should not affect the width of the inspector |
| frame. This matches the behavior of height changes when docked to the bottom. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _logsPageMessagesToSystemConsoleEnabled]): Added. |
| (-[WKPreferences _setLogsPageMessagesToSystemConsoleEnabled:]): Added. |
| (-[WKPreferences _allowFileAccessFromFileURLs]): Added. |
| (-[WKPreferences _setAllowFileAccessFromFileURLs:]): Added. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::WebInspectorProxy): |
| (WebKit::WebInspectorProxy::inspectorPagePreferences): Added. |
| (WebKit::WebInspectorProxy::attach): |
| (WebKit::WebInspectorProxy::detach): |
| (WebKit::WebInspectorProxy::setAttachedWindowHeight): |
| (WebKit::WebInspectorProxy::setAttachedWindowWidth): |
| (WebKit::WebInspectorProxy::createInspectorPage): |
| (WebKit::WebInspectorProxy::shouldOpenAttached): |
| * UIProcess/WebInspectorProxy.h: Use default member initializers. |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (-[WKWebInspectorWKWebView _didRelaunchProcess]): |
| WKWebView doesn't implement this, so remove the super call. |
| (WebKit::WebInspectorProxy::closeTimerFired): |
| (WebKit::createDockButton): |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| (WebKit::WebInspectorProxy::platformAttach): |
| (-[WKWebInspectorWKView _didRelaunchProcess]): Deleted. |
| |
| 2015-02-02 Chris Dumez <cdumez@apple.com> |
| |
| Make NetworkCache's constructor private |
| https://bugs.webkit.org/show_bug.cgi?id=141181 |
| |
| Reviewed by Antti Koivisto. |
| |
| Make NetworkCache's constructor private and mark its destructor as |
| deleted as it is a singleton class. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::NetworkCache): Deleted. |
| * NetworkProcess/cache/NetworkCache.h: |
| |
| 2015-02-02 Filip Pizlo <fpizlo@apple.com> |
| |
| Revert accidental (and super bad) change in r179490. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2015-02-02 Chris Dumez <cdumez@apple.com> |
| |
| Access MemoryCache singleton using MemoryCache::singleton() |
| https://bugs.webkit.org/show_bug.cgi?id=141104 |
| |
| Reviewed by Andreas Kling. |
| |
| Access MemoryCache singleton using MemoryCache::singleton() static |
| member function, instead of a free function, as per the recent |
| coding style discussion on WebKit-dev. |
| |
| 2015-02-02 Jeremy Jones <jeremyj@apple.com> |
| |
| Prevent crash when accessing WebAVPlayerController.delegate. |
| https://bugs.webkit.org/show_bug.cgi?id=140893 |
| |
| Reviewed by Darin Adler. |
| |
| Plumb new resetMediaState() through IPC interface WebVideoFullscreenManagerProxy. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::invalidate): remove redundant set to nullptr. |
| * WebProcess/ios/WebVideoFullscreenManager.h: |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::resetMediaState): |
| |
| 2015-02-01 Chris Dumez <cdumez@apple.com> |
| |
| Use more references in HistoryItem |
| https://bugs.webkit.org/show_bug.cgi?id=141133 |
| |
| Reviewed by Andreas Kling. |
| |
| Use more references in HistoryItem instead of pointers. |
| |
| * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: |
| (WebKit::InjectedBundleBackForwardListItem::children): |
| * WebProcess/WebCoreSupport/SessionStateConversion.cpp: |
| (WebKit::toFrameState): |
| (WebKit::applyFrameState): |
| * WebProcess/WebPage/WebBackForwardListProxy.cpp: |
| (WebKit::WebBackForwardListProxy::addItem): |
| * WebProcess/WebPage/WebBackForwardListProxy.h: |
| |
| 2015-02-01 Dan Bernstein <mitz@apple.com> |
| |
| Remove ViewGestureController tracing |
| https://bugs.webkit.org/show_bug.cgi?id=141137 |
| |
| Reviewed by Tim Horton. |
| |
| Remove the tracing added in r176133, now that http://webkit.org/b/138750 is fixed. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| (WebKit::ViewGestureController::endSwipeGesture): |
| (WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree): |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| (WebKit::addLogEntry): Deleted. |
| (WebKit::dumpLogEntries): Deleted. |
| * UIProcess/mac/ViewGestureController.h: |
| |
| 2015-01-31 Sam Weinig <sam@webkit.org> |
| |
| Remove even more Mountain Lion support |
| https://bugs.webkit.org/show_bug.cgi?id=141124 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/FeatureDefines.xcconfig: |
| * Configurations/Version.xcconfig: |
| * Configurations/WebContentService.Development.xcconfig: |
| * Configurations/WebContentService.xcconfig: |
| * Configurations/WebKit.xcconfig: |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| |
| 2015-01-31 Antti Koivisto <antti@apple.com> |
| |
| Enable WebKit disk cache on OS X |
| https://bugs.webkit.org/show_bug.cgi?id=141022 |
| |
| Reviewed by Gavin Barraclough. |
| |
| * config.h: Flip the switch. |
| |
| 2015-01-31 Antti Koivisto <antti@apple.com> |
| |
| Unreviewed, rolling out r179447. |
| |
| Forgot to include the test. |
| |
| Reverted changeset: |
| |
| "Enable WebKit disk cache on OS X" |
| https://bugs.webkit.org/show_bug.cgi?id=141022 |
| http://trac.webkit.org/changeset/179447 |
| |
| 2015-01-31 Antti Koivisto <antti@apple.com> |
| |
| Enable WebKit disk cache on OS X |
| https://bugs.webkit.org/show_bug.cgi?id=141022 |
| |
| Reviewed by Gavin Barraclough. |
| |
| * config.h: Flip the switch. |
| |
| 2015-01-31 Antti Koivisto <antti@apple.com> |
| |
| OSObjectPtr does not work with dispatch_data_t on Maverics |
| https://bugs.webkit.org/show_bug.cgi?id=141081 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Previous attempt to special case dispatch_data_t in OSObjectPtr didn't work in all cases |
| probably due to the context sensitivity of the definition of the dispatch_data_t type. |
| |
| For now, add DispatchPtr for the cache code and use it. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::DispatchPtr::DispatchPtr): |
| (WebKit::DispatchPtr::~DispatchPtr): |
| (WebKit::DispatchPtr::operator=): |
| (WebKit::DispatchPtr::get): |
| (WebKit::DispatchPtr::operator bool): |
| (WebKit::adoptDispatch): |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::Data::Data): |
| (WebKit::NetworkCacheStorage::Data::data): |
| (WebKit::NetworkCacheStorage::NetworkCacheStorage): |
| (WebKit::createIOChannelForKey): |
| (WebKit::decodeEntry): |
| (WebKit::encodeEntryMetaData): |
| (WebKit::encodeEntry): |
| |
| 2015-01-30 Tim Horton <timothy_horton@apple.com> |
| |
| Add and hook up APINavigationClient |
| https://bugs.webkit.org/show_bug.cgi?id=140698 |
| |
| Reviewed by Sam Weinig. |
| |
| Add a single APINavigationClient that NavigationState implements and |
| WebPageProxy prefers over APILoaderClient and APIPolicyClient. |
| |
| * UIProcess/API/APILoaderClient.h: |
| Fix a comment. |
| |
| * UIProcess/API/APINavigationClient.h: Added. |
| APINavigationClient is the union of NavigationState's overrides of APILoaderClient and APIPolicyClient. |
| Names are adjusted to more closely match the Modern API. |
| |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| Instead of having policy and loader clients, NavigationState has a single navigation client. |
| Adjust as necessary. |
| |
| Move as much logic as possible (isMainFrame checks, construction of API objects) out of here |
| and into WebPageProxy. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| Install the aforementioned single navigation client. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setNavigationClient): |
| Add a navigation client setter. |
| |
| For all policy and loader client calls, if we have a navigation client, use that; |
| otherwise, fall back on the policy and loader clients. |
| |
| * UIProcess/WebPageProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-01-30 Chris Dumez <cdumez@apple.com> |
| |
| Update MemoryCache code to use more references instead of pointers |
| https://bugs.webkit.org/show_bug.cgi?id=141099 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/ResourceCache/WebResourceCacheManager.cpp: |
| (WebKit::WebResourceCacheManager::clearCacheForOrigin): |
| |
| 2015-01-30 Chris Dumez <cdumez@apple.com> |
| |
| Rename shared() static member functions to singleton() for singleton classes. |
| https://bugs.webkit.org/show_bug.cgi?id=141088 |
| |
| Reviewed by Ryosuke Niwa and Benjamin Poulain. |
| |
| Rename shared() static member functions to singleton() for singleton |
| classes as per the recent coding style change. |
| |
| 2015-01-30 Alexey Proskuryakov <ap@apple.com> |
| |
| Build fix. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| The screen font substitution functions still need to be present in the header. |
| |
| 2015-01-29 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Resize the redirected XComposite again after leaving accelerated compositing mode |
| https://bugs.webkit.org/show_bug.cgi?id=140935 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Since r178414 we don't resize the redirected XComposite window |
| until we enter accelerated compositing mode, but after leaving it |
| the redirected window keeps its size. We should resize it to 1x1 |
| again and free the XPixmap and cairo surface to save that memory |
| while not in accelerated compositing mode. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::enterAcceleratedCompositingMode): Notify |
| the WebKitWebViewBase. |
| (WebKit::PageClientImpl::exitAcceleratedCompositingMode): Ditto. |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseEnterAcceleratedCompositingMode): Resize the |
| XComposite window to the current drawing area size. |
| (webkitWebViewBaseExitAcceleratedCompositingMode): Resize the |
| XComposite window to and empty size. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * UIProcess/gtk/RedirectedXCompositeWindow.cpp: |
| (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): |
| Do not initialize m_size since we now handle the empty size as a |
| especial case. Make sure we always create the X window with at |
| least 1x1 size. |
| (WebKit::RedirectedXCompositeWindow::resize): Resize the window to |
| at least 1x1, but when en empty size is given, call |
| cleanupPixmapAndPixmapSurface() to release those resources. |
| (WebKit::RedirectedXCompositeWindow::surface): Create the cairo |
| surface with at least 1x1 size. |
| |
| 2015-01-29 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Runtime critical warnings sometimes at start up when using the network process |
| https://bugs.webkit.org/show_bug.cgi?id=140998 |
| |
| Reviewed by Žan Doberšek. |
| |
| This is caused by the CustomProtocolManager work queue |
| theread. This WorkQueue is created when the CustomProtocolManager |
| object is constructed, but destroyed when it's initialized when |
| the UI process asks to use the network process. In this case, |
| sometimes happens that the work queue thread that runs the main |
| loop is executed once the object has been destroyed and the main |
| loop pointer is nullptr. |
| |
| * Platform/WorkQueue.h: |
| * Platform/gtk/WorkQueueGtk.cpp: |
| (WorkQueue::platformInitialize): Use a lambda function for the |
| thread body. |
| (WorkQueue::platformInvalidate): Detach the worker thread before |
| deleting the main loop object. |
| (WorkQueue::startWorkQueueThread): Deleted. |
| (WorkQueue::workQueueThreadBody): Deleted. |
| |
| 2015-01-29 Beth Dakin <bdakin@apple.com> |
| |
| Another follow-on, spotted this mistake. This used to be |
| #if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 , so it should now be |
| COCOA. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| |
| 2015-01-29 Beth Dakin <bdakin@apple.com> |
| |
| Follow-on, fixing a bad merge from my last change. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2015-01-29 Beth Dakin <bdakin@apple.com> |
| |
| Remove more Mountain Lion code from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=141052 |
| |
| Reviewed by Tim Horton. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::sendBufferMaybeAborting): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: |
| (WebKit::NetworkResourceLoader::willCacheResponseAsync): |
| * Platform/IPC/MessageDecoder.cpp: |
| * Platform/IPC/MessageDecoder.h: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::ConnectionTerminationWatchdog::watchdogTimerFired): |
| (IPC::Connection::open): |
| (IPC::Connection::receiveSourceEventHandler): |
| (IPC::Connection::kill): |
| * Platform/IPC/mac/ImportanceAssertion.h: |
| * PluginProcess/mac/PluginProcessMac.mm: |
| (WebKit::PluginProcess::initializeProcessName): |
| * Shared/WebPreferencesDefinitions.h: |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::initializeTimerCoalescingPolicy): |
| (WebKit::ChildProcess::setApplicationIsDaemon): |
| (WebKit::ChildProcess::platformInitialize): |
| (WebKit::ChildProcess::setQOS): |
| * Shared/mac/CookieStorageShim.mm: |
| (WebKit::CookieStorageShim::initialize): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView addWindowObserversForWindow:]): |
| (-[WKView removeWindowObservers]): |
| (-[WKView _windowDidChangeOcclusionState:]): |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| (WebKit::WebProcessPool::registerNotificationObservers): |
| (WebKit::WebProcessPool::unregisterNotificationObservers): |
| (WebKit::privateBrowsingSession): |
| (WebKit::WebProcessPool::isURLKnownHSTSHost): |
| (WebKit::WebProcessPool::resetHSTSHosts): |
| * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: |
| (WebKit::shouldUseXPC): |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::shouldUseXPC): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/mac/TextCheckerMac.mm: |
| (WebKit::shouldAutomaticQuoteSubstitutionBeEnabled): |
| (WebKit::shouldAutomaticDashSubstitutionBeEnabled): |
| (WebKit::TextChecker::didChangeAutomaticQuoteSubstitutionEnabled): |
| (WebKit::TextChecker::didChangeAutomaticDashSubstitutionEnabled): |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::applyDebuggingPropertiesToSwipeViews): |
| * UIProcess/mac/WebProcessProxyMac.mm: |
| (WebKit::shouldUseXPC): |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::updateActivePages): |
| * WebProcess/com.apple.WebProcess.sb.in: |
| * config.h: |
| |
| 2015-01-29 Sam Weinig <sam@webkit.org> |
| |
| Remove support for screen font substitution |
| https://bugs.webkit.org/show_bug.cgi?id=141038 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKPreferencesSetScreenFontSubstitutionEnabled): |
| (WKPreferencesGetScreenFontSubstitutionEnabled): |
| Move now empty preferences SPI to WKDeprecatedFunctions. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetScreenFontSubstitutionEnabled): Deleted. |
| (WKPreferencesGetScreenFontSubstitutionEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::presenterApplicationPid): |
| (WebKit::WebProcess::shouldForceScreenFontSubstitution): Deleted. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| Stop piping screen font substitution setting to the web process. |
| |
| 2015-01-29 Alexey Proskuryakov <ap@apple.com> |
| |
| Frequent kernel panics when running WebKit regression tests |
| https://bugs.webkit.org/show_bug.cgi?id=141043 |
| |
| Reviewed by Sam Weinig. |
| |
| Split PluginService.Development into 32-bit and 64-bit variants, to better match |
| production variant. When building FAT, we'll have the right architecture from |
| the start now, so no need to re-exec into a different architecture. |
| |
| * Configurations/PluginService.Development.xcconfig: Removed. |
| * Configurations/PluginService.32.Development.xcconfig: Copied from Source/WebKit2/Configurations/PluginService.Development.xcconfig. |
| * Configurations/PluginService.64.Development.xcconfig: Copied from Source/WebKit2/Configurations/PluginService.Development.xcconfig. |
| Changed to use ONLY_ACTIVE_ARCH instead of CONFIGURATION, so that we build the |
| right thing even in debug FAT builds. |
| |
| * Configurations/PluginService.32.xcconfig: |
| * Configurations/PluginService.64.xcconfig: |
| While at it, applied the same changes as in Development variants. This means that |
| FAT builds will now build only the correct architecture for PluginService.64 |
| (it used to build FAT, unnecessarily). |
| |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: |
| Updated to support multiple product names. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::serviceName): Launch the |
| right development service. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Split the Plugin.Development target into two. |
| |
| 2015-01-29 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build with newer Clang |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| These should be 'override's. |
| |
| 2015-01-29 Chris Dumez <cdumez@apple.com> |
| |
| Clean up / modernize PageCache class |
| https://bugs.webkit.org/show_bug.cgi?id=141009 |
| |
| Reviewed by Darin Adler. |
| |
| Clean up / modernize PageCache class. |
| |
| * WebProcess/WebPage/WebBackForwardListProxy.cpp: |
| (WebKit::WebBackForwardListProxy::removeItem): |
| (WebKit::WebBackForwardListProxy::close): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::goForward): |
| (WebKit::WebPage::goBack): |
| (WebKit::WebPage::goToBackForwardItem): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::releasePageCache): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformSetCacheModel): |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformSetCacheModel): |
| |
| 2015-01-29 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL][GTK] Fix the build after r179326 |
| https://bugs.webkit.org/show_bug.cgi?id=141027 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Guard MessageRecorder implementation with USE(DTRACE) |
| for platforms not supporting DTrace. |
| |
| Original patch by Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| * Platform/IPC/ArgumentCoders.cpp: |
| * Platform/IPC/ArgumentCoders.h: |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::dispatchWorkQueueMessageReceiverMessage): |
| (IPC::Connection::sendMessage): |
| (IPC::Connection::sendSyncMessage): |
| (IPC::Connection::sendSyncMessageFromSecondaryThread): |
| (IPC::Connection::dispatchSyncMessage): |
| (IPC::Connection::dispatchMessage): |
| * Platform/IPC/MessageDecoder.cpp: |
| (IPC::MessageDecoder::MessageDecoder): |
| * Platform/IPC/MessageDecoder.h: |
| * Platform/IPC/MessageEncoder.cpp: |
| (IPC::MessageEncoder::MessageEncoder): |
| (IPC::MessageEncoder::encodeHeader): |
| * Platform/IPC/MessageEncoder.h: |
| * Platform/IPC/MessageRecorder.h: |
| |
| 2015-01-29 Tim Horton <timothy_horton@apple.com> |
| |
| Avoid manually handling quickLookWithEvent: if the immediate action gesture recognizer will do Lookup for us |
| https://bugs.webkit.orgshow_bug.cgi?id=141018 |
| <rdar://problem/19619999> |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView quickLookWithEvent:]): |
| Yosemite is 101000, not 10100. |
| |
| 2015-01-28 Tim Horton <timothy_horton@apple.com> |
| |
| Add API::{FrameInfo, NavigationAction, NavigationResponse} types |
| https://bugs.webkit.org/show_bug.cgi?id=140982 |
| |
| Reviewed by Sam Weinig. |
| |
| Make C++ API objects for WK{FrameInfo, NavigationAction, NavigationResponse} |
| to wrap around, as a step towards moving Modern API logic down into WebPageProxy. |
| |
| * Shared/API/APIObject.h: |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| * UIProcess/API/APIFrameInfo.cpp: Added. |
| * UIProcess/API/APIFrameInfo.h: Added. |
| * UIProcess/API/APINavigationAction.h: Added. |
| * UIProcess/API/APINavigationResponse.h: Added. |
| Add API::FrameInfo, API::NavigationAction, and API::NavigationResponse. |
| |
| * UIProcess/API/Cocoa/WKFrameInfo.mm: |
| * UIProcess/API/Cocoa/WKFrameInfoInternal.h: |
| Make WKFrameInfo a WKObject, wrapping a API::FrameInfo. |
| |
| * UIProcess/API/Cocoa/WKNavigationAction.mm: |
| * UIProcess/API/Cocoa/WKNavigationActionInternal.h: |
| Make WKNavigationAction a WKObject, wrapping a API::NavigationAction. |
| |
| * UIProcess/API/Cocoa/WKNavigationResponse.mm: |
| * UIProcess/API/Cocoa/WKNavigationResponseInternal.h: |
| Make WKNavigationResponse a WKObject, wrapping a API::NavigationResponse. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| Adopt API::FrameInfo. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): |
| Adopt API::FrameInfo, and reorganize the code slightly. |
| Adopt API::NavigationAction. |
| |
| (WebKit::NavigationState::PolicyClient::decidePolicyForResponse): |
| Adopt API::FrameInfo. |
| Adopt API::NavigationResponse. |
| |
| (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| Adopt API::FrameInfo. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::createNewPage): |
| (WebKit::UIDelegate::UIClient::runJavaScriptAlert): |
| (WebKit::UIDelegate::UIClient::runJavaScriptConfirm): |
| (WebKit::UIDelegate::UIClient::runJavaScriptPrompt): |
| Adopt API::FrameInfo. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-01-28 Antti Koivisto <antti@apple.com> |
| |
| http/tests/xmlhttprequest/workers/methods.html sometimes times out with disk cache enabled |
| https://bugs.webkit.org/show_bug.cgi?id=140976 |
| |
| Reviewed by Chris Dumez. |
| |
| The previous fix sometimes invoked the completion handler twice. Explicitly track if we |
| have called it or not. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::dispatchRetrieveOperation): |
| |
| Also move the error case to the done branch. According to the documentation 'done' is always set on error. |
| |
| 2015-01-28 Timothy Horton <timothy_horton@apple.com> |
| |
| Add a WebKitMessageRecorder DTrace provider, exposing IPC details to DTrace |
| https://bugs.webkit.org/show_bug.cgi?id=140673 |
| |
| Reviewed by Sam Weinig. |
| |
| * Platform/IPC/ArgumentCoders.cpp: |
| (IPC::ArgumentCoder<uuid_t>::encode): |
| (IPC::ArgumentCoder<uuid_t>::decode): |
| * Platform/IPC/ArgumentCoders.h: |
| Add a uuid_t (simple) argument coder. |
| Fix a mis-named header-guard #ifdef. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::dispatchWorkQueueMessageReceiverMessage): |
| (IPC::Connection::dispatchSyncMessage): |
| Sync message replies inherit the message UUID from the incoming sync message. |
| |
| (IPC::Connection::sendMessage): |
| (IPC::Connection::waitForMessage): |
| (IPC::Connection::sendSyncMessage): |
| (IPC::Connection::sendSyncMessageFromSecondaryThread): |
| Record outgoing messages. Because sendSyncMessage calls sendMessage, |
| we have to explicitly avoid recording the message twice. |
| |
| (IPC::Connection::dispatchMessage): |
| Record the incoming message. |
| |
| (IPC::Connection::remoteProcessID): |
| Add remoteProcessID(), which tries to determine the pid of the remote process. |
| |
| * Platform/IPC/Connection.h: |
| (IPC::Connection::xpcConnection): |
| This can be const. |
| |
| (IPC::Connection::isValid): |
| Make this public. |
| |
| * Platform/IPC/MessageDecoder.cpp: |
| (IPC::MessageDecoder::MessageDecoder): |
| * Platform/IPC/MessageDecoder.h: |
| (IPC::MessageDecoder::setMessageProcessingToken): |
| (IPC::MessageDecoder::UUID): |
| Decode and store the message UUID. |
| Store a MessageProcessingToken for the lifetime of the MessageDecoder; |
| this ensures that all time spent processing the incoming message will be |
| counted against that message. |
| |
| * Platform/IPC/MessageEncoder.cpp: |
| (IPC::MessageEncoder::MessageEncoder): |
| By default, create a new UUID for the message. Alternatively, allow clients |
| to pass the message UUID in (used for sync message replies). |
| Store the messageReceiverName and messageName. |
| |
| (IPC::MessageEncoder::encodeHeader): |
| Factor encodeHeader() out of the constructors so most of their code can be shared. |
| |
| (IPC::MessageEncoder::isSyncMessage): |
| (IPC::MessageEncoder::shouldDispatchMessageWhenWaitingForSyncReply): |
| Add getters for these flags. |
| |
| * Platform/IPC/MessageEncoder.h: |
| (IPC::MessageEncoder::messageReceiverName): |
| (IPC::MessageEncoder::messageName): |
| (IPC::MessageEncoder::destinationID): |
| (IPC::MessageEncoder::UUID): |
| |
| * Platform/IPC/MessageRecorder.h: Added. |
| * Platform/IPC/MessageRecorder.cpp: Added. |
| (MessageRecorder::MessageRecorder): |
| Add a class that interfaces with a custom DTrace provider to log incoming and outgoing messages. |
| |
| (MessageRecorder::shared): |
| (MessageRecorder::isEnabled): |
| Determine if either of the message probes are enabled. If not, we'll avoid most of the |
| work associated with MessageRecorder. |
| |
| (MessageRecorder::recordOutgoingMessage): |
| (MessageRecorder::recordIncomingMessage): |
| Build a WebKitMessageRecord and MessageProcessingToken from the Message(De|En)coder. |
| Once the MessageProcessingToken is deallocated, the probe will be invoked with the WebKitMessageRecord. |
| |
| (MessageRecorder::MessageProcessingToken::MessageProcessingToken): |
| (MessageRecorder::MessageProcessingToken::~MessageProcessingToken): |
| Keep track of when the token is created and destroyed; these are considered the beginning |
| and ending "processing" times of the message (and as such the token should be kept alive for |
| exactly as long as the message is being processed). |
| |
| * Platform/IPC/MessageRecorderProbes.d: Added. |
| Add a DTrace provider source file with two probes, message_sent and message_received. |
| The struct must match the struct in MessageRecorder.h. |
| |
| * Platform/IPC/ProcessType.h: Added. |
| Add an enum of process types. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkProcess.h: |
| * WebProcess/Databases/WebToDatabaseProcessConnection.h: |
| * WebProcess/Network/NetworkProcessConnection.h: |
| * WebProcess/Plugins/PluginProcessConnection.h: |
| * WebProcess/WebPage/WebInspector.h: |
| * WebProcess/WebPage/WebInspectorUI.h: |
| * WebProcess/WebProcess.h: |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Plugins/PluginProcessProxy.h: |
| * UIProcess/WebProcessProxy.h: |
| * PluginProcess/PluginProcess.h: |
| * PluginProcess/WebProcessConnection.h: |
| Annotate Connection::Clients with process types. |
| |
| 2015-01-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Crash closing inspected page with frequent activity |
| https://bugs.webkit.org/show_bug.cgi?id=140973 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * WebProcess/WebPage/WebInspector.h: |
| (WebKit::WebInspector::disconnectFromPage): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::close): |
| Be sure to close the WebInspector connection through the page |
| when the page is closing so that the WebKit::WebInspector is |
| relinquishes itself as the InspectorFrontendChannel. |
| |
| 2015-01-28 Timothy Horton <timothy_horton@apple.com> |
| |
| Avoid manually handling quickLookWithEvent: if the immediate action gesture recognizer will do Lookup for us |
| https://bugs.webkit.org/show_bug.cgi?id=141018 |
| <rdar://problem/19619999> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView quickLookWithEvent:]): |
| If we have an immediate action gesture recognizer, just call super and |
| avoid WebKit's special quickLookWithEvent: implementation. |
| |
| 2015-01-28 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Remove remaining PLATFORM(WIN) code blocks from WebKit2. |
| https://bugs.webkit.org/show_bug.cgi?id=140972 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: |
| (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): |
| |
| 2015-01-28 Beth Dakin <bdakin@apple.com> |
| |
| Remove Mountain Lion code from WebKit and WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=141010 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::initializeSandbox): |
| * Shared/mac/WebEventFactory.mm: |
| (WebKit::phaseForEvent): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView quickLookWithEvent:]): |
| (-[WKView updateLayer]): |
| (-[WKView createFullScreenWindow]): |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::didFinishLaunching): |
| * UIProcess/Network/mac/NetworkProcessProxyMac.mm: |
| (WebKit::shouldUseXPC): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didFinishLaunching): |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::isViewVisible): |
| * WebKit2Prefix.h: |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2015-01-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Crash when closing inspected page |
| https://bugs.webkit.org/show_bug.cgi?id=140968 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Handle cases where the corePage could be null. With the Inspector Process |
| in its own process, messages may come to the WebContentProcess after |
| the WebCore::Page has itself been destroyed. |
| |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::show): |
| (WebKit::WebInspector::close): |
| (WebKit::WebInspector::openInNewTab): |
| (WebKit::WebInspector::evaluateScriptForTest): |
| (WebKit::WebInspector::showConsole): |
| (WebKit::WebInspector::showResources): |
| (WebKit::WebInspector::showMainResourceForFrame): |
| (WebKit::WebInspector::startPageProfiling): |
| (WebKit::WebInspector::stopPageProfiling): |
| (WebKit::WebInspector::canAttachWindow): |
| (WebKit::WebInspector::sendMessageToBackend): |
| (WebKit::WebInspector::remoteFrontendConnected): |
| (WebKit::WebInspector::remoteFrontendDisconnected): |
| |
| 2015-01-28 Sam Weinig <sam@webkit.org> |
| |
| Convert WebPreferences and VisitedLinkProvider to be bridged API::Objects |
| https://bugs.webkit.org/show_bug.cgi?id=141002 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/API/APIObject.h: |
| Add VisitedLinkProvider type. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Allocate WebPreferences and VisitedLinkProvider as their Objective-C counterpart. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences init]): |
| Switch to constructInWrapper. |
| |
| (-[WKPreferences dealloc]): |
| Call the WebPreferences destructor. |
| |
| (-[WKPreferences _apiObject]): |
| Add implementation of the WKObject protocol. |
| |
| * UIProcess/API/Cocoa/WKPreferencesInternal.h: |
| Convert to using ObjectStorage. |
| |
| * UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm: |
| (-[_WKVisitedLinkProvider init]): |
| Switch to constructInWrapper. |
| |
| (-[_WKVisitedLinkProvider dealloc]): |
| Call the VisitedLinkProvider destructor. |
| |
| (-[_WKVisitedLinkProvider _apiObject]): |
| Add implementation of the WKObject protocol. |
| |
| * UIProcess/API/Cocoa/_WKVisitedLinkProviderInternal.h: |
| Convert to using ObjectStorage. |
| |
| * UIProcess/VisitedLinkProvider.cpp: |
| (WebKit::VisitedLinkProvider::create): |
| * UIProcess/VisitedLinkProvider.h: |
| Switch create() to return a Ref. |
| |
| * UIProcess/WebPreferences.h: |
| Make the constructor public for use by constructInWrapper. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createWebPage): |
| * UIProcess/WebProcessPool.h: |
| Store the VisitedLinkProvider in a Ref. |
| |
| 2015-01-28 Dana Burkart <dburkart@apple.com> |
| |
| Move ASan flag settings from DebugRelease.xcconfig to Base.xcconfig |
| https://bugs.webkit.org/show_bug.cgi?id=136765 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2015-01-28 Chris Dumez <cdumez@apple.com> |
| |
| Fix typo in markPagesForVistedLinkStyleRecalc() |
| https://bugs.webkit.org/show_bug.cgi?id=140977 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/VisitedLinkTableController.cpp: |
| (WebKit::VisitedLinkTableController::setVisitedLinkTable): |
| (WebKit::VisitedLinkTableController::visitedLinkStateChanged): |
| (WebKit::VisitedLinkTableController::allVisitedLinkStateChanged): |
| (WebKit::VisitedLinkTableController::removeAllVisitedLinks): |
| |
| 2015-01-27 Antti Koivisto <antti@apple.com> |
| |
| http/tests/xmlhttprequest/workers/methods.html sometimes times out with disk cache enabled |
| https://bugs.webkit.org/show_bug.cgi?id=140976 |
| |
| Reviewed by Chris Dumez. |
| |
| Running |
| |
| run-webkit-tests --release -2 http/tests/xmlhttprequest/workers/methods.html --iterations=100 |
| |
| would usually time out an iteration. |
| |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::dispatchRetrieveOperation): |
| |
| Using dispatch_io_read with an empty file calls the handler block immediately with done boolean set |
| without it being an error. We failed to call the completion handler and any synchronous xhr would hang. |
| We may see an empty cache file if we are just in process of writing it. |
| |
| Fix by handling this case specifically. |
| |
| 2015-01-28 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Add missing file to WebInspector compilation for GTK+. |
| |
| * PlatformGTK.cmake: Add UserInterface/External/ESLint/eslint.js |
| |
| 2015-01-28 Chris Dumez <cdumez@apple.com> |
| |
| Rename pageCache() to PageCache::shared() and return a reference |
| https://bugs.webkit.org/show_bug.cgi?id=140983 |
| |
| Reviewed by Andreas Kling. |
| |
| Rename pageCache() to PageCache::shared() as this is a singleton class |
| and have it return a reference instead of a pointer. |
| |
| * WebProcess/WebPage/VisitedLinkTableController.cpp: |
| (WebKit::VisitedLinkTableController::setVisitedLinkTable): |
| (WebKit::VisitedLinkTableController::visitedLinkStateChanged): |
| (WebKit::VisitedLinkTableController::allVisitedLinkStateChanged): |
| (WebKit::VisitedLinkTableController::removeAllVisitedLinks): |
| * WebProcess/WebPage/WebBackForwardListProxy.cpp: |
| (WebKit::WebBackForwardListProxy::removeItem): |
| (WebKit::WebBackForwardListProxy::close): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::releasePageCache): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformSetCacheModel): |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformSetCacheModel): |
| |
| 2015-01-27 Alexey Proskuryakov <ap@apple.com> |
| |
| More build fixes for newer clang. |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| Added missing override keywords, marked some deprecated accessibility methods as such. |
| |
| * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: |
| (WebKit::PluginProcessMainDelegate::doPreInitializationWork): Deleted. |
| (WebKit::PluginProcessMainDelegate::getExtraInitializationData): Deleted. |
| (WebKit::PluginProcessMainDelegate::doPostRunWork): Deleted. |
| * PluginProcess/WebProcessConnection.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * UIProcess/Plugins/PluginProcessProxy.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: |
| (PageOverlayClientImpl::actionContextForResultAtPoint): Deleted. |
| (PageOverlayClientImpl::dataDetectorsDidPresentUI): Deleted. |
| (PageOverlayClientImpl::dataDetectorsDidChangeUI): Deleted. |
| (PageOverlayClientImpl::dataDetectorsDidHideUI): Deleted. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| (WebKit::NetscapePlugin::isBeingAsynchronouslyInitialized): Deleted. |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/Plugins/PluginProcessConnection.h: |
| * WebProcess/Plugins/PluginProxy.h: |
| (WebKit::PluginProxy::isBeingAsynchronouslyInitialized): Deleted. |
| * WebProcess/WebCoreSupport/WebContextMenuClient.h: |
| |
| 2015-01-27 Beth Dakin <bdakin@apple.com> |
| |
| Immediate action gesture recognizer still doesn't work well with IB |
| https://bugs.webkit.org/show_bug.cgi?id=140967 |
| -and corresponding- |
| rdar://problem/19621509 |
| |
| Reviewed by Tim Horton. |
| |
| We should add (or remove) the gesture recognizer in viewDidMoveToWindow because |
| initWithFrame it too early and IB might mess with it. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView viewDidMoveToWindow]): |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| |
| 2015-01-27 Beth Dakin <bdakin@apple.com> |
| |
| Invoking an immediate action on link often dismisses selection |
| https://bugs.webkit.org/show_bug.cgi?id=140911 |
| -and corresponding- |
| rdar://problem/19572685 |
| |
| Reviewed by Tim Horton. |
| |
| Calling _page->setMaintainsInactiveSelection(false) in complete is often |
| too soon. Instead, call it in dismissContentRelativeChildWindows. This is more |
| similar to the timing for the TextIndicator. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController dismissContentRelativeChildWindows]): |
| (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]): |
| (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]): |
| |
| 2015-01-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r166975): [GTK] Page overlays are not drawn anymore after r166975 |
| https://bugs.webkit.org/show_bug.cgi?id=131433 |
| |
| Reviewed by Žan Doberšek. |
| |
| Implement page overlays for the GTK+ port. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| Override pure virtual setViewOverlayRootLayer(). |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::display): Remove FIXME and use modern |
| for loop. |
| (WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer): Remove |
| ifdefs and use LayerTreeHost::setViewOverlayRootLayer(). |
| * WebProcess/WebPage/LayerTreeHost.h: Add pure virtual setViewOverlayRootLayer(). |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::LayerTreeHostGtk): Initialize m_viewOverlayRootLayer. |
| (WebKit::LayerTreeHostGtk::initialize): Remove FIXME. |
| (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay): |
| Remove unused old page overlays code. |
| (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect): Ditto. |
| (WebKit::LayerTreeHostGtk::sizeDidChange): Ditto. |
| (WebKit::LayerTreeHostGtk::paintContents): Remove FIXME. |
| (WebKit::LayerTreeHostGtk::flushPendingLayerChanges): Flush |
| compositing state on m_pageOverlayLayers if present. |
| (WebKit::LayerTreeHostGtk::setViewOverlayRootLayer): Set m_pageOverlayLayers. |
| (WebKit::LayerTreeHostGtk::createPageOverlayLayer): Deleted. |
| (WebKit::LayerTreeHostGtk::destroyPageOverlayLayer): Deleted. |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Remove unused old |
| page overlays code. |
| |
| 2015-01-27 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Remove remaining PLUGIN_ARCHITECTURE(WIN) code blocks from WebKit2. |
| https://bugs.webkit.org/show_bug.cgi?id=140912 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/Plugins/Netscape/NetscapePluginModule.cpp: |
| (WebKit::NetscapePluginModule::tryLoad): |
| * Shared/Plugins/PluginQuirks.h: |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::userAgent): |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| |
| 2015-01-26 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Fix possible crash when -[WKWebView evaluateJavaScript:completionHandler:] was called then the WKWebView is destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=140203 |
| rdar://problem/19198492 |
| |
| Reviewed by Sam Weinig. |
| |
| When handling the OwnerWasInvalidated case in -[WKWebView evaluateJavaScript:completionHandler:], |
| the block passed to dispatch_async() needs to be retained. Fix by passing the RefPtr |
| to the lambda. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView evaluateJavaScript:completionHandler:]): |
| |
| 2015-01-26 Chris Dumez <cdumez@apple.com> |
| |
| Rename Document::body() to Document::bodyOrFrameset() for clarity |
| https://bugs.webkit.org/show_bug.cgi?id=140902 |
| |
| Reviewed by Andreas Kling. |
| |
| Rename Document::body() to Document::bodyOrFrameset() for clarity. This |
| method does not necessarily return an HTMLBodyElement, it can also |
| return a frameset as per the specification: |
| http://www.w3.org/TR/html5/dom.html#dom-tree-accessors |
| |
| This method is often misused internally (the caller is only interested |
| in the <body> element). I will fix these instances in a follow-up patch, |
| this patch is only renaming mechanically. |
| |
| 2015-01-26 Antti Koivisto <antti@apple.com> |
| |
| Add a user default for disabling network cache |
| https://bugs.webkit.org/show_bug.cgi?id=140904 |
| |
| Reviewed by Andreas Kling |
| |
| defaults write com.apple.Safari WebKitNetworkCacheEnabled -bool YES/NO |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| * Shared/Network/NetworkProcessCreationParameters.cpp: |
| (WebKit::NetworkProcessCreationParameters::encode): |
| (WebKit::NetworkProcessCreationParameters::decode): |
| * Shared/Network/NetworkProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| |
| 2015-01-26 Chris Dumez <cdumez@apple.com> |
| |
| First argument to DOM traversal functions should be a reference |
| https://bugs.webkit.org/show_bug.cgi?id=140895 |
| |
| Reviewed by Antti Koivisto. |
| |
| First argument to DOM traversal functions should be a reference instead |
| of a pointer as it is dereferenced without null-check. |
| |
| 2015-01-26 Beth Dakin <bdakin@apple.com> |
| |
| Blacklist iBooks for WebKit's default immediate actions |
| https://bugs.webkit.org/show_bug.cgi?id=140854 |
| -and corresponding- |
| rdar://problem/19489518 |
| |
| Reviewed by Tim Horton. |
| |
| Blacklist iBooks. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| |
| 2015-01-26 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] [SVG -> OTF Converter] Flip the switch off on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=140860 |
| |
| Reviewed by Darin Adler. |
| |
| The fonts it makes are grotesque. (See what I did there? Typographic |
| humor is the best humor.) |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-26 Fabien Vallée <fvallee@connected-labs.com> |
| |
| AX: crash in accessibilityRootObjectWrapper method (WebPageAccessibilityObjectAtk.cpp) |
| <https://bugs.webkit.org/show_bug.cgi?id=140618> |
| |
| Reviewed by Chris Fleizach. |
| |
| Check if document()->axObjectCache() is nullptr to fix the crash. |
| Similar patch has been applied on mac port: |
| <http://trac.webkit.org/changeset/167136> |
| |
| Crash occured on <http://itv.mit-xperts.com/hbbtvtest/appmanager/> |
| (this page needs CEHTML / HbbTV extensions, conditions cannot |
| be reproduced using regression tests) |
| |
| * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: |
| (accessibilityRootObjectWrapper): |
| |
| 2015-01-26 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] gtkdoc does not appear in DevHelp |
| https://bugs.webkit.org/show_bug.cgi?id=139369 |
| |
| Reviewed by Philippe Normand. |
| |
| * PlatformGTK.cmake: Include the API version in the gtkdoc filenames. |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Renamed from Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt. |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Renamed from Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk.types. |
| |
| 2015-01-25 Timothy Horton <timothy_horton@apple.com> |
| |
| Unresponsive Web processes sometimes throw ObjC exceptions under didPerformActionMenuHitTest: |
| https://bugs.webkit.org/show_bug.cgi?id=140859 |
| <rdar://problem/19571057> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController didPerformActionMenuHitTest:userData:]): |
| If we've already given up on this gesture (either because it was canceled or the |
| willBeginAnimation timeout expired), we shouldn't build a new animationController for it. |
| This is true both because it wouldn't look good to swap animationControllers out |
| from under the gesture, but also because AppKit throws an exception when you do this |
| and that breaks a lot of things. |
| |
| 2015-01-24 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cocoa] Drop WKDiagnosticLoggingResultType defines |
| https://bugs.webkit.org/show_bug.cgi?id=140838 |
| |
| Reviewed by Sam Weinig. |
| |
| Drop WKDiagnosticLoggingResultType defines in _WKDiagnosticLoggingDelegate.h |
| header now that the client-side is correctly using |
| _WKDiagnosticLoggingResultType instead. |
| |
| * UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h: |
| |
| 2015-01-23 Antti Koivisto <antti@apple.com> |
| |
| Implement cache size limit |
| https://bugs.webkit.org/show_bug.cgi?id=140844 |
| |
| Reviewed by Andreas Kling. |
| |
| Prevent the cache from growing without bounds. The simple scheme implemented here |
| estimates the cache size from number of entries. When the estimated size exceeds |
| the maximum size we randomly clear 1/4 of the entries. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::NetworkCacheStorage): |
| (WebKit::NetworkCacheStorage::initialize): |
| (WebKit::NetworkCacheStorage::removeEntry): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::setMaximumSize): |
| (WebKit::NetworkCacheStorage::clear): |
| (WebKit::NetworkCacheStorage::shrinkIfNeeded): |
| (WebKit::NetworkCacheStorage::initializeKeyFilter): Deleted. |
| |
| 2015-01-23 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the pre-Yosemite build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissContentRelativeChildWindows]): |
| |
| 2015-01-23 Timothy Horton <timothy_horton@apple.com> |
| |
| QLPreviewMenuItem popovers don't close when the page scrolls |
| https://bugs.webkit.org/show_bug.cgi?id=140806 |
| <rdar://problem/19555618> |
| |
| Reviewed by Beth Dakin. |
| |
| Now that QLPreviewMenuItem's popover doesn't eat scrolls, we need to dismiss it if the page scrolls. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissContentRelativeChildWindows]): |
| Send _dismissContentRelativeChildWindows on to WKImmediateActionController. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController dismissContentRelativeChildWindows]): |
| (-[WKImmediateActionController _defaultAnimationController]): |
| Keep track of the active QLPreviewMenuItem, and close it upon scroll. |
| |
| 2015-01-23 Timothy Horton <timothy_horton@apple.com> |
| |
| Infinite recursion in _clearImmediateActionState |
| https://bugs.webkit.org/show_bug.cgi?id=140807 |
| <rdar://problem/19571601> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| Clear _hasActivatedActionContext before calling didUseActions, because |
| didUseActions can call _clearImmediateActionState. |
| |
| 2015-01-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add initial database process support |
| https://bugs.webkit.org/show_bug.cgi?id=139491 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Add initial support for DatabaseProcess, disabled by default for |
| now. |
| |
| * CMakeLists.txt: Add required files to compilation. |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): |
| Add the unix domain sockets implementation. |
| * DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp: Added. |
| (main): |
| * DatabaseProcess/gtk/DatabaseProcessMainGtk.cpp: Added. |
| (WebKit::DatabaseProcessMainUnix): |
| * DatabaseProcess/unix/DatabaseProcessMainUnix.h: Added. |
| * PlatformGTK.cmake: Add required files to compilation. |
| * Shared/ProcessExecutablePath.h: |
| * Shared/gtk/KeyedDecoder.cpp: Added. |
| (WebKit::KeyedDecoder::KeyedDecoder): |
| (WebKit::KeyedDecoder::~KeyedDecoder): |
| (WebKit::KeyedDecoder::buildDictionaryFromGVariant): |
| (WebKit::KeyedDecoder::decodeBytes): |
| (WebKit::KeyedDecoder::decodeBool): |
| (WebKit::KeyedDecoder::decodeUInt32): |
| (WebKit::KeyedDecoder::decodeInt32): |
| (WebKit::KeyedDecoder::decodeInt64): |
| (WebKit::KeyedDecoder::decodeFloat): |
| (WebKit::KeyedDecoder::decodeDouble): |
| (WebKit::KeyedDecoder::decodeString): |
| (WebKit::KeyedDecoder::beginObject): |
| (WebKit::KeyedDecoder::endObject): |
| (WebKit::KeyedDecoder::beginArray): |
| (WebKit::KeyedDecoder::beginArrayElement): |
| (WebKit::KeyedDecoder::endArrayElement): |
| (WebKit::KeyedDecoder::endArray): |
| * Shared/gtk/KeyedDecoder.h: Added. |
| * Shared/gtk/KeyedEncoder.cpp: Added. |
| (WebKit::KeyedEncoder::KeyedEncoder): |
| (WebKit::KeyedEncoder::~KeyedEncoder): |
| (WebKit::KeyedEncoder::encodeBytes): |
| (WebKit::KeyedEncoder::encodeBool): |
| (WebKit::KeyedEncoder::encodeUInt32): |
| (WebKit::KeyedEncoder::encodeInt32): |
| (WebKit::KeyedEncoder::encodeInt64): |
| (WebKit::KeyedEncoder::encodeFloat): |
| (WebKit::KeyedEncoder::encodeDouble): |
| (WebKit::KeyedEncoder::encodeString): |
| (WebKit::KeyedEncoder::beginObject): |
| (WebKit::KeyedEncoder::endObject): |
| (WebKit::KeyedEncoder::beginArray): |
| (WebKit::KeyedEncoder::beginArrayElement): |
| (WebKit::KeyedEncoder::endArrayElement): |
| (WebKit::KeyedEncoder::endArray): |
| (WebKit::KeyedEncoder::finishEncoding): |
| * Shared/gtk/KeyedEncoder.h: Added. |
| * Shared/gtk/ProcessExecutablePathGtk.cpp: |
| (WebKit::executablePathOfDatabaseProcess): |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): |
| Add the unix domain sockets implementation. |
| * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: |
| (WebKit::ProcessLauncher::launchProcess): Handle the |
| DatabaseProcess too. |
| * UIProcess/gtk/WebContextGtk.cpp: |
| (WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Add |
| the unix domain sockets implementation. |
| |
| 2015-01-22 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS][WK2] Ignore synthetic click initiated on a previous page |
| https://bugs.webkit.org/show_bug.cgi?id=139556 |
| rdar://problem/18586008 |
| |
| Reviewed by David Kilzer. |
| |
| Under the right accumulation of bad luck, a synthetic click could be generated |
| on a page that never asked for it. |
| |
| What happened was: |
| 1) Page Foo listen to touch event. |
| 2) In response to touch events, Foo decides to navigate to page Bar |
| *but* it does not cancel the native gesture recognizers with preventDefault(). |
| 3) Page Bar loads. |
| 4) The native gesture recognizer ask us to click, we forward that to the WebProcess |
| and generate a synthetic mouse event. |
| -> Bar receives a click. |
| If you are unlucky enough, it looks like a single tap does a double click. |
| |
| There are two ways this patch avoids the problem: |
| |
| First, in the UIProcess, we just cancel the HighlightLongPressGestureRecognizer |
| on didCommitLoadForMainFrame. This prevents "fast clicks" from accidentally going through. |
| This is not bullet proof because we get didCommitLoadForMainFrame asynchronously but |
| killing the timer and gesture seems like a good idea. |
| |
| Second, we skip any tap command at the WebProcess level when it was issued for |
| the previous page. This is using the same principle we used for VisibleContentRect: |
| any input generated before the current layer tree commit is useless for the current page. |
| |
| We track the commit ID in the UIProcess when we decide to do the tracking or not. |
| Note that we keep the ID regardless of the tracking state, it does not matter if we have sent |
| touch events, what matters is what content was on screen when the touch events were handled. |
| |
| If the user interaction result in a tap, we send the commit ID along the tap commands. |
| In the WebProcess, we know the actual layer tree commit associated with the current page. |
| If the tap was generated with a layer ID preceding the current page, we fail the command. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::handleTouchEventSynchronously): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _didCommitLoadForMainFrame]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _attemptClickAtLocation:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::commitPotentialTap): |
| (WebKit::WebPageProxy::handleTap): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didCommitLoad): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::handleTap): |
| (WebKit::WebPage::commitPotentialTap): |
| |
| 2015-01-22 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][Cocoa] Drop WKWebViewConfiguration._featureCounterEnabled SPI. |
| https://bugs.webkit.org/show_bug.cgi?id=140799 |
| |
| Reviewed by Dan Bernstein. |
| |
| Drop WKWebViewConfiguration._featureCounterEnabled SPI now that the |
| client-side has been updated. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]): |
| (-[WKWebViewConfiguration _featureCounterEnabled]): Deleted. |
| (-[WKWebViewConfiguration _setFeatureCounterEnabled:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| |
| 2015-01-22 Antti Koivisto <antti@apple.com> |
| |
| Fix ENABLE(NETWORK_CACHE) build |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| |
| 2015-01-22 Timothy Horton <timothy_horton@apple.com> |
| |
| UserData decoding of WKTypeRefWrapper always fails |
| https://bugs.webkit.org/show_bug.cgi?id=140791 |
| <rdar://problem/19438402> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::ObjCObjectGraph::decode): |
| Add a missing break. |
| |
| 2015-01-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add a build flag for ES6 class syntax |
| https://bugs.webkit.org/show_bug.cgi?id=140760 |
| |
| Reviewed by Michael Saboff. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-22 Chris Dumez <cdumez@apple.com> |
| |
| Drop the legacy FeatureCounter class |
| https://bugs.webkit.org/show_bug.cgi?id=140749 |
| |
| Reviewed by Andreas Kling. |
| |
| Drop the legacy FeatureCounter class and use DiagnosticLoggingClient |
| instead. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _featureCounterEnabled]): |
| (-[WKWebViewConfiguration _setFeatureCounterEnabled:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::willStartUserTriggeredZooming): |
| |
| 2015-01-22 Beth Dakin <bdakin@apple.com> |
| |
| ibtoold crash below -[WebView close] |
| https://bugs.webkit.org/show_bug.cgi?id=140782 |
| -and corresponding- |
| rdar://problem/19558472 |
| |
| Reviewed by Tim Horton. |
| |
| Retain the NSImmediateActionGestureRecognizer. This should not be necessary, but |
| it is because interface builder can mess with our views. |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController willDestroyView:]): |
| (-[WKImmediateActionController _cancelImmediateAction]): |
| (-[WKImmediateActionController _cancelImmediateActionIfNeeded]): |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| |
| 2015-01-22 David Kilzer <ddkilzer@apple.com> |
| |
| [iOS] Fix iphoneos SDK builds for ios-ews queue |
| <http://webkit.org/b/140748> |
| |
| Reviewed by Daniel Bates. |
| |
| * Platform/spi/ios/BKSProcessAssertionSPI.h: Add -invalidate |
| definition. Sort @property to the top of BKSProcessAssertion. |
| |
| 2015-01-22 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/UIProcess module |
| https://bugs.webkit.org/show_bug.cgi?id=140758 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Fix build warnings by using UNUSED_PARAM macro |
| |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupAddUserContentFilter): |
| (WKPageGroupRemoveAllUserContentFilters): |
| |
| 2014-11-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use API::ContextMenuClient and API::InjectedBundle::PageContextMenuClient classes |
| https://bugs.webkit.org/show_bug.cgi?id=138467 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| * UIProcess/API/gtk/WebKitContextMenu.cpp: |
| (webkitContextMenuPopulate): Add a version that receives a Vector<WebContextMenuItemData>&. |
| (webkitContextMenuCreate): Change it to receive a const |
| Vector<WebContextMenuItemData>& instead of a API::Array* and also |
| add a another version that receives const Vector<ContextMenuItem>&. |
| * UIProcess/API/gtk/WebKitContextMenuClient.cpp: |
| (attachContextMenuClientToView): Use a class derived from |
| API::ContextMenuClient to implement the context menu client. |
| (getContextMenuFromProposedMenu): Deleted. |
| * UIProcess/API/gtk/WebKitContextMenuItem.cpp: |
| (webkitContextMenuItemCreate): Change it to receive a const |
| WebContextMenuItemData& and added another version that receives a |
| const ContextMenuItem&. |
| * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: |
| * UIProcess/API/gtk/WebKitContextMenuPrivate.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewPopulateContextMenu): Remove the creation of a |
| WebHitTestResult::Data, since it receives it now as parameter. |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.cpp: |
| (webkitWebHitTestResultCreate): Change it to receive a const |
| HitTestResult& instead of const InjectedBundleHitTestResult&. |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResultPrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitWebPageCreate): Use a class derived from |
| API::InjectedBundle::PageContextMenuClient to implement the |
| context menu client. |
| (getContextMenuFromDefaultMenu): Deleted. |
| |
| 2015-01-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Try to fix Debug build after r178889. |
| |
| * UIProcess/API/C/WKPage.cpp: Include Logging.h. |
| |
| 2015-01-21 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Add API::ContextMenuClient and API::InjectedBundle::PageContextMenuClient classes |
| https://bugs.webkit.org/show_bug.cgi?id=138466 |
| |
| Reviewed by Anders Carlsson. |
| |
| Move ContextMenuClient to use API classes in both UI and Injected |
| Bundle APIs. |
| |
| * CMakeLists.txt: Remove WebPageContextMenuClient.cpp. |
| * UIProcess/API/APIContextMenuClient.h: Renamed from Source/WebKit2/UIProcess/WebPageContextMenuClient.h. |
| (API::ContextMenuClient::~ContextMenuClient): |
| (API::ContextMenuClient::getContextMenuFromProposedMenu): |
| (API::ContextMenuClient::customContextMenuItemSelected): |
| (API::ContextMenuClient::contextMenuDismissed): |
| (API::ContextMenuClient::showContextMenu): |
| (API::ContextMenuClient::hideContextMenu): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageContextMenuClient): |
| * UIProcess/WebPageContextMenuClient.cpp: Removed. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setContextMenuClient): |
| (WebKit::WebPageProxy::close): |
| (WebKit::WebPageProxy::internalShowContextMenu): |
| (WebKit::WebPageProxy::contextMenuItemSelected): |
| (WebKit::WebPageProxy::initializeContextMenuClient): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: Remove deleted files and add |
| new files to compilation. |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h. |
| (API::InjectedBundle::PageContextMenuClient::~PageContextMenuClient): |
| (API::InjectedBundle::PageContextMenuClient::getCustomMenuFromDefaultItems): |
| (API::InjectedBundle::PageContextMenuClient::prepareForActionMenu): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageSetContextMenuClient): |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: |
| (WebKit::InjectedBundlePageContextMenuClient::InjectedBundlePageContextMenuClient): |
| (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): |
| (WebKit::InjectedBundlePageContextMenuClient::prepareForActionMenu): |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: |
| * WebProcess/WebPage/WebContextMenu.cpp: |
| (WebKit::WebContextMenu::menuItemsWithUserData): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::WebPage::setInjectedBundleContextMenuClient): |
| (WebKit::WebPage::close): |
| (WebKit::WebPage::initializeInjectedBundleContextMenuClient): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::injectedBundleContextMenuClient): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2015-01-20 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| [iOS] WebKitTestRunner: Tests fail due to incorrect web view size |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=139736> |
| <rdar://problem/19282196> |
| |
| This starts happening after we fail to reset the test controller to |
| consistent values in TestInvocation::invoke(). When we terminate the |
| web process and relaunch it, the new WebPage object created in the web |
| process is using the default ViewportConfiguration with dimensions of |
| 1024x768. |
| |
| The PageClient on iOS currently notifies the WKWebView and the |
| WKContentView when the web process is relaunched. This patch extends |
| that to also notify the WKView. |
| |
| Reviewed by Benjamin Poulain. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Declare -_didRelaunchProcess. |
| |
| * UIProcess/API/ios/WKViewIOS.mm: |
| (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): |
| Call the new method that accepts a WKView. |
| (-[WKView _didRelaunchProcess]): |
| Call -_frameOrBoundsChanged to update the web process's size to the |
| size of the WKView. |
| |
| * UIProcess/ios/PageClientImplIOS.h: |
| Add a constructor that takes a WKView, and add a member var to hold it. |
| |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::PageClientImpl): |
| Implement the constructor that takes a WKView. |
| (WebKit::PageClientImpl::didRelaunchProcess): |
| Tell the WKView that the web process relaunched. |
| |
| * UIProcess/ios/WKContentView.h: |
| Declare an initializer that takes a WKView. |
| |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _commonInitializationWithProcessPool:configuration:]): |
| Split out from -[WKContentView initWithFrame:processPool:configuration:webView:]. |
| (-[WKContentView initWithFrame:processPool:configuration:webView:]): |
| Perform some initialization, including creating the PageClient, and |
| call the common initializer. |
| (-[WKContentView initWithFrame:processPool:configuration:wkView:]): |
| Ditto. |
| |
| 2015-01-21 Sam Weinig <sam@webkit.org> |
| |
| Add WKPageGroupRef SPI for user content filters |
| https://bugs.webkit.org/show_bug.cgi?id=140728 |
| |
| Reviewed by Anders Carlsson. |
| |
| While Safari is transitioning to WKUserContentController, it is useful |
| for them to have access to have access to content filters on the page group |
| where they currently have user content related functionality. |
| |
| * Shared/WebPageGroupData.cpp: |
| (WebKit::WebPageGroupData::encode): |
| (WebKit::WebPageGroupData::decode): |
| * Shared/WebPageGroupData.h: |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupAddUserContentFilter): |
| (WKPageGroupRemoveAllUserContentFilters): |
| * UIProcess/API/C/WKPageGroup.h: |
| * UIProcess/WebPageGroup.cpp: |
| (WebKit::WebPageGroup::addUserContentFilter): |
| (WebKit::WebPageGroup::removeAllUserContentFilters): |
| * UIProcess/WebPageGroup.h: |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::WebPageGroupProxy): |
| (WebKit::WebPageGroupProxy::addUserContentFilter): |
| (WebKit::WebPageGroupProxy::removeAllUserContentFilters): |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| * WebProcess/WebPage/WebPageGroupProxy.messages.in: |
| |
| 2015-01-21 Beth Dakin <bdakin@apple.com> |
| |
| Crash in QuickLook preview delegate method |
| https://bugs.webkit.org/show_bug.cgi?id=140740 |
| -and corresponding- |
| rdar://problem/19540806 |
| |
| Reviewed by Tim Horton. |
| |
| Clear out the delegate. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController willDestroyView:]): |
| |
| 2015-01-21 Zan Dobersek <zdobersek@igalia.com> |
| |
| AsyncRequestImpl casting in AsyncRequest::completeRequest() is incorrect |
| https://bugs.webkit.org/show_bug.cgi?id=139724 |
| |
| Reviewed by Darin Adler. |
| |
| AsyncRequestImpl casting in AsyncRequest::completeRequest() relies on |
| the parameter pack to properly determine the type of the AsyncRequestImpl |
| object. The casting result can be incorrect when an argument is passed |
| by reference while the original object was constructed with a callback |
| that expects an argument that's passed by value. |
| |
| To avoid this the AsyncRequestImpl template is now instantiated with |
| raw types, with callback parameters remaining raw types in case |
| of being integral (enforcing passing-by-value these arguments when |
| dispatching), and const references being used otherwise (enforcing |
| passing-by-reference). |
| |
| This enables casting AsyncRequest objects to the correct AsyncRequestImpl<> |
| by running the parameter pack through std::decay. |
| |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: |
| (WebKit::UniqueIDBDatabase::putRecord): |
| (WebKit::UniqueIDBDatabase::getRecord): |
| (WebKit::UniqueIDBDatabase::openCursor): |
| (WebKit::UniqueIDBDatabase::cursorAdvance): |
| (WebKit::UniqueIDBDatabase::cursorIterate): |
| (WebKit::UniqueIDBDatabase::count): |
| (WebKit::UniqueIDBDatabase::deleteRange): |
| * Shared/AsyncRequest.h: |
| (WebKit::AsyncRequest::completeRequest): |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: |
| (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): |
| (WebKit::WebIDBServerConnection::get): |
| |
| 2015-01-21 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Stop using WKDiagnosticLoggingResultType.h C API header in Cocoa API |
| https://bugs.webkit.org/show_bug.cgi?id=140655 |
| |
| Reviewed by Anders Carlsson. |
| |
| Stop using WKDiagnosticLoggingResultType.h C API header in Cocoa API. |
| Instead, introduce a new _WKDiagnosticLoggingResultType enum in |
| _WKDiagnosticLoggingDelegate.h. |
| |
| A few defines mapping WKDiagnosticLoggingResultType enum and its values |
| to the new _WKDiagnosticLoggingResultType are temporarily added until |
| the client-side is transitioned. |
| |
| * UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h: |
| * UIProcess/Cocoa/DiagnosticLoggingClient.mm: |
| (WebKit::toWKDiagnosticLoggingResultType): |
| (WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithResult): |
| |
| 2015-01-21 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] Use C++ lambdas in ProcessLauncher class |
| https://bugs.webkit.org/show_bug.cgi?id=138186 |
| |
| Reviewed by Darin Adler. |
| |
| Replace uses of WTF::bind() in the ProcessLauncher class with C++ lambdas. |
| |
| * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: |
| (WebKit::ProcessLauncher::launchProcess): |
| * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: |
| (WebKit::ProcessLauncher::launchProcess): |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::connectToService): |
| (WebKit::tryPreexistingProcess): |
| (WebKit::createProcess): |
| |
| 2015-01-21 Zan Dobersek <zdobersek@igalia.com> |
| |
| Clean up ViewUpdateDispatcher |
| https://bugs.webkit.org/show_bug.cgi?id=140619 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/ViewUpdateDispatcher.cpp: |
| (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate): |
| Replace WTF::bind() with a C++ lambda. |
| (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate): |
| Use WTF::move() to move the HashMap member into the local variable. |
| |
| 2015-01-21 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Remove ENABLE(INSPECTOR) ifdef guards |
| https://bugs.webkit.org/show_bug.cgi?id=140668 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toAPI): |
| (WebKit::toImpl): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::encode): |
| (IPC::ArgumentCoder<ResourceRequest>::decode): |
| * UIProcess/API/C/WKInspector.cpp: |
| (WKInspectorGetTypeID): |
| (WKInspectorGetPage): |
| (WKInspectorIsConnected): |
| (WKInspectorIsVisible): |
| (WKInspectorIsFront): |
| (WKInspectorConnect): |
| (WKInspectorShow): |
| (WKInspectorHide): |
| (WKInspectorClose): |
| (WKInspectorShowConsole): |
| (WKInspectorShowResources): |
| (WKInspectorShowMainResourceForFrame): |
| (WKInspectorIsAttached): |
| (WKInspectorAttach): |
| (WKInspectorDetach): |
| (WKInspectorIsProfilingPage): |
| (WKInspectorTogglePageProfiling): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetInspector): |
| * UIProcess/API/efl/ewk_view.cpp: |
| (ewk_view_inspector_show): |
| (ewk_view_inspector_close): |
| * UIProcess/API/efl/tests/test_ewk2_view.cpp: |
| (TEST_F): |
| * UIProcess/PageClient.h: |
| * UIProcess/WebInspectorProxy.cpp: |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/WebInspectorProxy.messages.in: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::getLaunchOptions): |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::disableInspectorNodeSearch): |
| * UIProcess/ios/WebInspectorProxyIOS.mm: |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::disableInspectorNodeSearch): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: |
| (WKBundleInspectorGetTypeID): |
| (WKBundleInspectorShow): |
| (WKBundleInspectorClose): |
| (WKBundleInspectorEvaluateScriptForTest): |
| (WKBundleInspectorSetPageProfilingEnabled): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageGetInspector): |
| * WebProcess/WebCoreSupport/WebInspectorClient.cpp: |
| * WebProcess/WebCoreSupport/WebInspectorClient.h: |
| * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: |
| * WebProcess/WebPage/WebInspector.cpp: |
| * WebProcess/WebPage/WebInspector.h: |
| * WebProcess/WebPage/WebInspector.messages.in: |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| * WebProcess/WebPage/WebInspectorUI.h: |
| * WebProcess/WebPage/WebInspectorUI.messages.in: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::WebPage::~WebPage): |
| (WebKit::WebPage::close): |
| (WebKit::WebPage::inspectorUI): |
| (WebKit::WebPage::didReceiveMessage): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/efl/WebInspectorEfl.cpp: |
| * WebProcess/WebPage/efl/WebInspectorUIEfl.cpp: |
| * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: |
| * WebProcess/WebPage/gtk/WebInspectorUIGtk.cpp: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::disableInspectorNodeSearch): |
| * WebProcess/WebPage/mac/WebInspectorMac.mm: |
| * WebProcess/WebPage/mac/WebInspectorUIMac.mm: |
| * config.h: |
| |
| 2015-01-20 Martin Hock <mhock@apple.com> |
| |
| [iOS][WK2] Redraw find-in-page indicator on rotation |
| https://bugs.webkit.org/show_bug.cgi?id=140632 |
| <rdar://problem/18858394> |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::redraw): Add method to redraw find indicator (only used by iOS). |
| * WebProcess/WebPage/FindController.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::mainFrameDidLayout): |
| * WebProcess/WebPage/ios/FindControllerIOS.mm: |
| (WebKit::FindController::updateFindIndicator): Redraw should not trigger zoom. |
| |
| 2015-01-20 David Kilzer <ddkilzer@apple.com> |
| |
| Switch to comparing PLATFORM_NAME in terms of macosx |
| <http://webkit.org/b/139516> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * mac/rewrite-availability-macros.sh: Remove the else block that |
| checked for an unknown PLATFORM_NAME. |
| |
| 2015-01-19 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a way to collect scrolling performance data (viewport tile coverage) with UI-side compositing |
| https://bugs.webkit.org/show_bug.cgi?id=140474 |
| |
| Reviewed by Tim Horton. |
| |
| Add a private method to enable scrolling data collection to WKWebView. When enabled, create |
| a RemoteLayerTreeScrollingPerformanceData object that collects "blank pixel" data on |
| every layer tree commit and scroll, and stores them in a vector. A second SPI call |
| allows retrieval of an NSArray of this data. |
| |
| To allow RemoteLayerTreeScrollingPerformanceData to find the correct layer which |
| contains the main tile grid, we set a layer name on the appropriate layer (even |
| in release builds). |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView visibleRectInScreenCoordinates]): |
| (-[WKWebView _didCommitLayerTree:]): |
| (-[WKWebView scrollViewDidScroll:]): |
| (-[WKWebView _setScrollPerformanceDataCollectionEnabled:]): |
| (-[WKWebView _scrollPerformanceDataCollectionEnabled]): |
| (-[WKWebView _scrollPerformanceData]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.h: Added. |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::BlankPixelCount::BlankPixelCount): |
| * UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.mm: Added. |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::RemoteLayerTreeScrollingPerformanceData): |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::~RemoteLayerTreeScrollingPerformanceData): |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::didCommitLayerTree): |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::didScroll): |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::BlankPixelCount::canCoalesce): |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::appendBlankPixelCount): |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::data): |
| (WebKit::findTileGridContainerLayer): |
| (WebKit::RemoteLayerTreeScrollingPerformanceData::blankPixelCount): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setScrollPerformanceDataCollectionEnabled): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::scrollPerformanceDataCollectionEnabled): |
| (WebKit::WebPageProxy::scrollingPerformanceData): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-01-19 Dean Jackson <dino@apple.com> |
| |
| Support "plus-darker" in mix-blend mode |
| https://bugs.webkit.org/show_bug.cgi?id=140646 |
| <rdar://problem/19523370> |
| |
| Reviewed by Simon Fraser. |
| |
| Output the appropriate blending type when logging. |
| |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTextStream::operator<<): |
| |
| 2015-01-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.4 release. |
| |
| * gtk/NEWS: Add release notes for 2.7.4. |
| |
| 2015-01-20 Tomas Popela <tpopela@redhat.com> |
| |
| [GTK] Add API to set the web view editable into WebKit2 GTK+ API |
| https://bugs.webkit.org/show_bug.cgi?id=139443 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Provide a way to set the web view editable, without accessing the DOM |
| and setting the contenteditable attribute to elements. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewSetProperty): |
| (webkitWebViewGetProperty): |
| (webkit_web_view_class_init): |
| (webkit_web_view_is_editable): |
| (webkit_web_view_set_editable): |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: |
| |
| 2015-01-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add an option to create WebKitWebView snapshots with transparent background |
| https://bugs.webkit.org/show_bug.cgi?id=140617 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Add WEBKIT_SNAPSHOT_OPTIONS_TRANSPARENT_BACKGROUND flag to not |
| fill with white the background before rendering the snapshot. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_get_snapshot): Pass a TransparentBackground |
| boolean argument to the WEbProcess. |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitWebPageDidReceiveMessage): Set the FrameView background as |
| transparent when TransparentBackground option is True before |
| rendering the snapshot. |
| |
| 2015-01-19 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add API to change the WebKitWebView background color |
| https://bugs.webkit.org/show_bug.cgi?id=140610 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| When a color different than the default one (opaque white) is |
| used, the SetDrawsBackground message is sent to the WebProcess with |
| a False value to indicate WebCore to not render backgrounds. The |
| background color passed is saved in the WebPageProxy and used by |
| the backing store to fill the background before the actual |
| contents are rendered in the WebView. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_set_background_color): |
| (webkit_web_view_get_background_color): |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): Initialize m_backgroundColor member. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::backgroundColor): Return m_backgroundColor. |
| (WebKit::WebPageProxy::setBackgroundColor): Set m_backgroundColor. |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::BackingStore::incorporateUpdate): Fill the damage region |
| with the WebPageProxy background color when the WebProcess is not |
| rendering backgrounds. If the background color is not fully opaque |
| we need to clear the region before filling it with the color. |
| |
| 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Flip the switch on |
| https://bugs.webkit.org/show_bug.cgi?id=140592 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-19 Mark Rowe <mrowe@apple.com> |
| |
| <https://webkit.org/b/140504> REGRESSION (r178452): Visited link coloring only appears to work in the first web process |
| |
| Roll out r178452 since it broke visited link coloring. |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/VisitedLinkProvider.cpp: |
| (WebKit::VisitedLinkProvider::~VisitedLinkProvider): |
| (WebKit::VisitedLinkProvider::addProcess): |
| (WebKit::VisitedLinkProvider::removeProcess): |
| (WebKit::VisitedLinkProvider::removeAll): |
| (WebKit::VisitedLinkProvider::webProcessWillOpenConnection): |
| (WebKit::VisitedLinkProvider::webProcessDidCloseConnection): |
| (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): |
| (WebKit::VisitedLinkProvider::resizeTable): |
| * UIProcess/VisitedLinkProvider.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::processDidFinishLaunching): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::disconnect): |
| (WebKit::WebProcessProxy::addVisitedLinkProvider): |
| (WebKit::WebProcessProxy::didDestroyVisitedLinkProvider): |
| * UIProcess/WebProcessProxy.h: |
| |
| 2015-01-19 Sam Weinig <sam@webkit.org> |
| |
| Sprinkle some CTTE on API::PolicyClient and API::FormClient |
| https://bugs.webkit.org/show_bug.cgi?id=140656 |
| |
| Reviewed by Tim Horton. |
| |
| - Use references rather than pointers where possible. |
| - Store and pass the listeners as Refs. |
| - Make API::FormClient more like API::PolicyClient by making it the |
| responsibility of the client implementation to call the default policy. |
| |
| * UIProcess/API/APIFormClient.h: |
| (API::FormClient::willSubmitForm): |
| * UIProcess/API/APIPolicyClient.h: |
| (API::PolicyClient::decidePolicyForNavigationAction): |
| (API::PolicyClient::decidePolicyForNewWindowAction): |
| (API::PolicyClient::decidePolicyForResponse): |
| (API::PolicyClient::unableToImplementPolicy): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPagePolicyClient): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setFormDelegate:]): |
| * UIProcess/API/gtk/WebKitPolicyClient.cpp: |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): |
| (WebKit::NavigationState::PolicyClient::decidePolicyForNewWindowAction): |
| (WebKit::NavigationState::PolicyClient::decidePolicyForResponse): |
| * UIProcess/WebFormClient.cpp: |
| (WebKit::WebFormClient::willSubmitForm): |
| * UIProcess/WebFormClient.h: |
| * UIProcess/WebFrameProxy.cpp: |
| (WebKit::WebFrameProxy::setUpPolicyListenerProxy): |
| (WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy): |
| * UIProcess/WebFrameProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): |
| (WebKit::WebPageProxy::decidePolicyForNewWindowAction): |
| (WebKit::WebPageProxy::decidePolicyForResponse): |
| (WebKit::WebPageProxy::unableToImplementPolicy): |
| (WebKit::WebPageProxy::willSubmitForm): |
| |
| 2015-01-18 Sam Weinig <sam@webkit.org> |
| |
| Merge API::ProcessPoolConfiguration and _WKProcessPoolConfiguration |
| https://bugs.webkit.org/show_bug.cgi?id=140601 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Converts _WKProcessPoolConfiguration to be backed via API::ProcessPoolConfiguration. |
| - Expands API::ProcessPoolConfiguration to add all the parameters necessary to fully |
| initialize a WebProcessPool. This allows -[WKProcessPool _initWithConfiguration:] to |
| be a simple pass through initializer, which in turn allows us to consider WebProcessPools |
| created on the C++ and Objective-C sides as equivalent. |
| - Makes WebProcessPool own the reference to the API::ProcessPoolConfiguration (rather than |
| the WKProcessPool wrapper). |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Create the API::ProcessPoolConfigurations using [_WKProcessPoolConfiguration alloc] as its |
| storage.. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::create): |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| (API::ProcessPoolConfiguration::ProcessPoolConfiguration): |
| (API::ProcessPoolConfiguration::~ProcessPoolConfiguration): |
| (API::ProcessPoolConfiguration::copy): |
| (API::ProcessPoolConfiguration::webProcessPoolConfiguration): Deleted. |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| Add the remaining initialization parameters and add a convenience create function |
| for configuring legacy WebProcessPools (for use by the C-SPI). |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| Expose helper for getting the website data directories for use in the ProcessPoolConfiguration. |
| |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextCreate): |
| (WKContextCreateWithInjectedBundlePath): |
| (WKContextCreateWithConfiguration): |
| Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility. |
| |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| (WKContextConfigurationCreate): |
| Update for ProcessPoolConfiguration::create() returning a Ref. Note, this function |
| was not changed to call ProcessPoolConfiguration::createWithLegacyOptions() since |
| it has not been around long enough to warrant it. |
| |
| * UIProcess/API/Cocoa/WKProcessGroup.mm: |
| (-[WKProcessGroup initWithInjectedBundleURL:]): |
| Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool description]): |
| Change to pull the configuration from the underlying API::Object. |
| |
| (-[WKProcessPool _configuration]): |
| Change to pull the configuration from the underlying API::Object and call the new |
| copy() helper on it. |
| |
| (-[WKProcessPool _initWithConfiguration:]): |
| Convert to be a simple pass through to API::Object::constructInWrapper. |
| |
| (websiteDataDirectoryURL): Deleted. |
| Moved to APIWebsiteDataStore.h |
| |
| * UIProcess/API/Cocoa/WKProcessPoolInternal.h: |
| Removes the _WKProcessPoolConfiguration member, now that it is stored on the WebProcessPool. |
| |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration init]): |
| (-[_WKProcessPoolConfiguration dealloc]): |
| Added to support API::Object bridging. |
| |
| (-[_WKProcessPoolConfiguration injectedBundleURL]): |
| (-[_WKProcessPoolConfiguration setInjectedBundleURL:]): |
| Convert to getting the URL from the underlying object. Moved the exception |
| that used to be on creation of the WKProcessPool. |
| |
| (-[_WKProcessPoolConfiguration maximumProcessCount]): |
| (-[_WKProcessPoolConfiguration setMaximumProcessCount:]): |
| Convert to getting the count from the underlying object. |
| |
| (-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]): |
| Convert to constructing the NSArray on demand from the underlying Vector. |
| |
| (-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]): |
| Converts the NSArray to a Vector rather than storing the array. |
| |
| * UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h: Added. |
| (API::wrapper): |
| Add boilerplate for API::Object bridging. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| Update to use API::ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility. |
| |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::inspectorProcessPool): |
| Update to call API::ProcessPoolConfiguration::createWithLegacyOptions(). |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::create): |
| (WebKit::websiteDataStoreConfiguration): |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::WebProcessPool::applyPlatformSpecificConfigurationDefaults): Deleted. |
| This functionality was moved to the constructor of the API::ProcessPoolConfiguration. |
| * UIProcess/WebProcessPool.h: |
| Changed to take (and store) a API::ProcessPoolConfiguration rather than the WebProcessPoolConfiguration. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory): |
| (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted. |
| * UIProcess/efl/WebContextEfl.cpp: |
| (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory): |
| (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted. |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory): |
| (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory): |
| (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted. |
| (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted. |
| Renamed to make it clear these were the legacy locations for these directories. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Added new files. |
| |
| 2015-01-19 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| |
| 2015-01-19 Timothy Horton <timothy_horton@apple.com> |
| |
| Adjust naming of action menu SPI |
| https://bugs.webkit.org/show_bug.cgi?id=140644 |
| <rdar://problem/19448129> |
| |
| Reviewed by Brian Weinstein. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:processPool:configuration:webView:]): |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| (-[WKActionMenuController menuNeedsUpdate:]): |
| (-[WKActionMenuController _updateActionMenuItems]): |
| |
| 2015-01-19 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordinatedGraphics] Use C++ lambda instead of WTF::bind() in ThreadedCompositor::updateSceneState() |
| https://bugs.webkit.org/show_bug.cgi?id=140613 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::updateSceneState): Replace the use of WTF::bind() with a C++ lambda. |
| |
| 2015-01-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178653. |
| https://bugs.webkit.org/show_bug.cgi?id=140634 |
| |
| Broke multiple SVG tests on Mountain Lion (Requested by ap on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[SVG -> OTF Converter] Flip the switch on" |
| https://bugs.webkit.org/show_bug.cgi?id=140592 |
| http://trac.webkit.org/changeset/178653 |
| |
| 2015-01-19 Dean Jackson <dino@apple.com> |
| |
| Add "override" to fix the build with newer clangs. |
| |
| * UIProcess/Cocoa/WebProcessProxyCocoa.mm: |
| (WebKit::WebProcessProxy::transformHandlesToObjects): |
| (WebKit::WebProcessProxy::transformObjectsToHandles): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::transformObjectsToHandles): |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| |
| 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Flip the switch on |
| https://bugs.webkit.org/show_bug.cgi?id=140592 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-18 Daniel Bates <dabates@apple.com> |
| |
| Attempt to fix the iOS build after <http://trac.webkit.org/changeset/178631> |
| (https://bugs.webkit.org/show_bug.cgi?id=129441) |
| |
| * UIProcess/WKInspectorHighlightView.mm: |
| (-[WKInspectorHighlightView update:]): Substitute HighlightType::Node and |
| HighlightType::Rects for HighlightTypeNode and HighlightTypeRects, respectively. |
| * WebProcess/WebCoreSupport/WebInspectorClient.cpp: |
| (WebKit::WebInspectorClient::highlight): Pass lvalue reference to WebCore::Highlight |
| instead of pointer in call to InspectorController::getHighlight(). |
| |
| 2015-01-18 Sam Weinig <sam@webkit.org> |
| |
| Fix style issues and add availability macros missed in r178634 |
| https://bugs.webkit.org/show_bug.cgi?id=140597 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: |
| Add missing availability macros. |
| |
| * UIProcess/API/Cocoa/_WKUserContentFilter.h: |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: |
| (-[_WKUserContentFilter initWithName:serializedRules:]): |
| (-[_WKUserContentFilter _initWithName:serializedRules:]): Deleted. |
| Removed unnecessary leading underscore from init method. |
| |
| 2015-01-17 Sam Weinig <sam@webkit.org> |
| |
| Add initial experimental user content filtering API |
| https://bugs.webkit.org/show_bug.cgi?id=140584 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Moves content filtering from being per-ProcessPool to per-UserContentController. |
| |
| * Shared/API/APIObject.h: |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/APIUserContentFilter.cpp: Added. |
| (API::UserContentFilter::UserContentFilter): |
| (API::UserContentFilter::~UserContentFilter): |
| * UIProcess/API/APIUserContentFilter.h: Added. |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKUserContentFilterRef.cpp: Added. |
| (WKUserContentFilterGetTypeID): |
| (WKUserContentFilterCreate): |
| * UIProcess/API/C/WKUserContentFilterRef.h: Added. |
| * UIProcess/API/C/WebKit2_C.h: |
| * UIProcess/API/Cocoa/_WKUserContentFilter.h: Added. |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: Added. |
| (WKUserContentControllerAddUserContentFilter): |
| (WKUserContentControllerRemoveAllUserContentFilters): |
| (-[_WKUserContentFilter _initWithName:ruleList:]): |
| * UIProcess/API/Cocoa/_WKUserContentFilterInternal.h: Added. |
| Add a basic UserContentFilter type and expose it via both the Objective-C API (as _WKUserContentFilter) |
| and via the C SPI (as WKUserContentFilterRef). |
| |
| * UIProcess/API/C/WKUserContentControllerRef.h: |
| * UIProcess/API/C/WKUserContentControllerRef.cpp: |
| Add C-SPI to set and remove WKUserContentFilterRefs. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _loadContentExtensionWithIdentifier:serializedRules:successCompletionHandler:errorCompletionHandler:]): Deleted. |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::processDidFinishLaunching): |
| (WebKit::WebProcessPool::loadContentExtension): Deleted. |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::loadContentExtension): Deleted. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| Remove the old SPI for loading content filters that was per-ProcessPool. Content filters now follow |
| the same pattern as UserScripts and UserStyleSheets as being per-UserContentController. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController _addUserContentFilter:]): |
| (-[WKUserContentController _removeAllUserContentFilters]): |
| * UIProcess/API/Cocoa/WKUserContentControllerInternal.h: |
| * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Added. |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy): |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserContentFilter): |
| (WebKit::WebUserContentControllerProxy::removeAllUserContentFilters): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::addUserContentFilters): |
| (WebKit::WebUserContentController::removeAllUserContentFilters): |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| Pipe user content filters over to all the WebProcesses that the UserContentController is |
| connected to. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| 2015-01-17 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Add Cocoa delegate for logging diagnostic messages |
| https://bugs.webkit.org/show_bug.cgi?id=140410 |
| |
| Reviewed by Sam Weinig. |
| |
| Add Cocoa delegate for logging diagnostic messages. |
| |
| * UIProcess/API/APIDiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h. |
| (API::DiagnosticLoggingClient::~DiagnosticLoggingClient): |
| (API::DiagnosticLoggingClient::logDiagnosticMessage): |
| (API::DiagnosticLoggingClient::logDiagnosticMessageWithResult): |
| (API::DiagnosticLoggingClient::logDiagnosticMessageWithValue): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageDiagnosticLoggingClient): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| (-[WKWebView _diagnosticLoggingDelegate]): |
| (-[WKWebView _setDiagnosticLoggingDelegate:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h. |
| * UIProcess/Cocoa/DiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h. |
| * UIProcess/Cocoa/DiagnosticLoggingClient.mm: Added. |
| (WebKit::DiagnosticLoggingClient::DiagnosticLoggingClient): |
| (WebKit::DiagnosticLoggingClient::delegate): |
| (WebKit::DiagnosticLoggingClient::setDelegate): |
| (WebKit::DiagnosticLoggingClient::logDiagnosticMessage): |
| (WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithResult): |
| (WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithValue): |
| * UIProcess/WebPageDiagnosticLoggingClient.cpp: |
| (WebKit::WebPageDiagnosticLoggingClient::WebPageDiagnosticLoggingClient): |
| * UIProcess/WebPageDiagnosticLoggingClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setDiagnosticLoggingClient): |
| (WebKit::WebPageProxy::close): |
| (WebKit::WebPageProxy::logDiagnosticMessage): |
| (WebKit::WebPageProxy::logDiagnosticMessageWithResult): |
| (WebKit::WebPageProxy::logDiagnosticMessageWithValue): |
| (WebKit::WebPageProxy::initializeDiagnosticLoggingClient): Deleted. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::diagnosticLoggingClient): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-01-17 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r178618): Change to WKWebViewConfiguration broke iOS build |
| <https://bugs.webkit.org/show_bug.cgi?id=140559> |
| |
| Blind fix to address the following build failure: |
| |
| Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:79:7: error: interface type cannot be statically allocated |
| T m_value; |
| ^ |
| * |
| Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:94:55: note: in instantiation of template class 'LazyInitialized<WKWebViewContentProviderRegistry>' requested here |
| LazyInitialized<WKWebViewContentProviderRegistry> _contentProviderRegistry; |
| ^ |
| Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:53:21: error: assigning to 'WKWebViewContentProviderRegistry *' from incompatible type 'RetainPtr<WKWebViewContentProviderRegistry *>' |
| m_value = f(); |
| ^ ~~~ |
| Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:37: note: in instantiation of function template specialization 'LazyInitialized<WKWebViewContentProviderRegistry>::get<(lambda at Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:41)>' requested here |
| return _contentProviderRegistry.get([] { return adoptNS([[WKWebViewContentProviderRegistry alloc] init]); }); |
| ^ |
| Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:57:24: error: property 'get' not found on object of type 'WKWebViewContentProviderRegistry *' |
| return m_value.get(); |
| ^ |
| 3 errors generated. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Change |
| _contentProviderRegistry to be a LazyInitialized<RetainPtr<>> to |
| match other instance variables. |
| |
| 2015-01-16 Sam Weinig <sam@webkit.org> |
| |
| Add a basic configuration object for WKView |
| https://bugs.webkit.org/show_bug.cgi?id=140559 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Adds WKPageConfigurationRef (backed by API::PageConfiguration). WKWebView configuration |
| is not yet bridged to this, but that will happen soon. For now, it has a few basic |
| configuration options. |
| - Adds WKUserContentControllerRef as C-SPI version of WKUserContentController. |
| - Adds WKUserScriptRef as C-SPI version of WKUserScript. |
| |
| * Shared/API/APIObject.h: |
| * Shared/API/c/WKBase.h: |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toWKUserScriptInjectionTime): |
| * UIProcess/API/APIPageConfiguration.cpp: Added. |
| (API::PageConfiguration::PageConfiguration): |
| (API::PageConfiguration::~PageConfiguration): |
| (API::PageConfiguration::processPool): |
| (API::PageConfiguration::setProcessPool): |
| (API::PageConfiguration::userContentController): |
| (API::PageConfiguration::setUserContentController): |
| (API::PageConfiguration::pageGroup): |
| (API::PageConfiguration::setPageGroup): |
| (API::PageConfiguration::preferences): |
| (API::PageConfiguration::setPreferences): |
| (API::PageConfiguration::relatedPage): |
| (API::PageConfiguration::setRelatedPage): |
| (API::PageConfiguration::webPageConfiguration): |
| * UIProcess/API/APIPageConfiguration.h: Added. |
| (API::PageConfiguration::create): |
| * UIProcess/API/APIUserScript.cpp: Added. |
| (API::generateIdentifier): |
| (API::UserScript::generateUniqueURL): |
| * UIProcess/API/APIUserScript.h: |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKPageConfigurationRef.cpp: Added. |
| (WKPageConfigurationGetTypeID): |
| (WKPageConfigurationCreate): |
| (WKPageConfigurationGetContext): |
| (WKPageConfigurationSetContext): |
| (WKPageConfigurationGetPageGroup): |
| (WKPageConfigurationSetPageGroup): |
| (WKPageConfigurationGetUserContentController): |
| (WKPageConfigurationSetUserContentController): |
| (WKPageConfigurationGetPreferences): |
| (WKPageConfigurationSetPreferences): |
| (WKPageConfigurationGetRelatedPage): |
| (WKPageConfigurationSetRelatedPage): |
| * UIProcess/API/C/WKPageConfigurationRef.h: Added. |
| * UIProcess/API/C/WKUserContentControllerRef.cpp: Added. |
| (WKUserContentControllerGetTypeID): |
| (WKUserContentControllerCreate): |
| (WKUserContentControllerCopyUserScripts): |
| (WKUserContentControllerAddUserScript): |
| (WKUserContentControllerRemoveAllUserScripts): |
| * UIProcess/API/C/WKUserContentControllerRef.h: Added. |
| * UIProcess/API/C/WKUserScriptRef.cpp: Added. |
| (WKUserScriptGetTypeID): |
| (WKUserScriptCreateWithSource): |
| (WKUserScriptCopySource): |
| (WKUserScriptGetInjectionTime): |
| (WKUserScriptGetMainFrameOnly): |
| * UIProcess/API/C/WKUserScriptRef.h: Added. |
| * UIProcess/API/C/WebKit2_C.h: |
| * UIProcess/API/Cocoa/WKUserScript.mm: |
| (-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]): |
| (generateIdentifier): Deleted. |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (LazyInitialized::get): |
| (LazyInitialized::set): |
| (LazyInitialized::peek): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:configurationRef:]): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| (WebKit::WebUserContentControllerProxy::create): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-01-16 Anders Carlsson <andersca@apple.com> |
| |
| Pass the connection along to WebProcessLifetimeTracker |
| https://bugs.webkit.org/show_bug.cgi?id=140569 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::connectionWillOpen): |
| (WebKit::WebPageProxy::connectionDidClose): |
| * UIProcess/WebProcessLifetimeTracker.cpp: |
| (WebKit::WebProcessLifetimeTracker::connectionWillOpen): |
| (WebKit::WebProcessLifetimeTracker::connectionDidClose): |
| (WebKit::WebProcessLifetimeTracker::connectionWillClose): Deleted. |
| * UIProcess/WebProcessLifetimeTracker.h: |
| |
| 2015-01-16 Anders Carlsson <andersca@apple.com> |
| |
| More WebPageProxy CTTE |
| https://bugs.webkit.org/show_bug.cgi?id=140565 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::connectionWillOpen): |
| (WebKit::WebPageProxy::connectionDidClose): |
| (WebKit::WebPageProxy::connectionWillClose): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::connectionWillOpen): |
| (WebKit::WebProcessProxy::connectionDidClose): |
| |
| 2015-01-16 Anders Carlsson <andersca@apple.com> |
| |
| Remove dead code |
| https://bugs.webkit.org/show_bug.cgi?id=140563 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::processWillOpenConnection): Deleted. |
| (WebKit::WebProcessPool::processWillCloseConnection): Deleted. |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::connectionWillOpen): |
| (WebKit::WebProcessProxy::connectionDidClose): |
| |
| 2015-01-16 Anders Carlsson <andersca@apple.com> |
| |
| Sprinkle some CTTE in ChildProcessProxy member functions |
| https://bugs.webkit.org/show_bug.cgi?id=140562 |
| |
| Reviewed by Andreas Kling. |
| |
| * Shared/ChildProcessProxy.cpp: |
| (WebKit::ChildProcessProxy::didFinishLaunching): |
| (WebKit::ChildProcessProxy::clearConnection): |
| (WebKit::ChildProcessProxy::connectionWillOpen): |
| (WebKit::ChildProcessProxy::connectionDidClose): |
| (WebKit::ChildProcessProxy::connectionWillClose): Deleted. |
| * Shared/ChildProcessProxy.h: |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::connectionWillOpen): Deleted. |
| (WebKit::DatabaseProcessProxy::connectionWillClose): Deleted. |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::connectionWillOpen): |
| (WebKit::NetworkProcessProxy::connectionWillClose): Deleted. |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::connectionWillOpen): |
| (WebKit::WebProcessProxy::connectionDidClose): |
| (WebKit::WebProcessProxy::connectionWillClose): Deleted. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/mac/SecItemShimProxy.cpp: |
| (WebKit::SecItemShimProxy::initializeConnection): |
| * UIProcess/mac/SecItemShimProxy.h: |
| |
| 2015-01-16 Beth Dakin <bdakin@apple.com> |
| |
| Should cancel immediate action sooner in WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=140561 |
| -and corresponding- |
| rdar://problem/19490114 |
| |
| Reviewed by Tim Horton. |
| |
| _cancelImmediateActionIfNeeded will cancel the immediate action if there is no |
| animation controller or if the DDActionContext doesn’t want to use its actions. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _cancelImmediateActionIfNeeded]): |
| |
| Call _cancelImmediateActionIfNeeded to cancel earlier. |
| (-[WKImmediateActionController didPerformActionMenuHitTest:userData:]): |
| |
| Re-factor this code to use the newly-added method _cancelImmediateActionIfNeeded |
| (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]): |
| |
| 2015-01-16 Anders Carlsson <andersca@apple.com> |
| |
| Don't try to send SetSession messages before the web page has been constructed in the web process |
| https://bugs.webkit.org/show_bug.cgi?id=140558 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| We already send the session ID along in the page creation parameters so just message the network process |
| if we need to create an ephemeral session. |
| |
| (WebKit::WebPageProxy::setSessionID): |
| Add an isValid call for good measure. |
| |
| 2015-01-16 Anders Carlsson <andersca@apple.com> |
| |
| Log unhandled messages in the web process |
| https://bugs.webkit.org/show_bug.cgi?id=140549 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::didReceiveSyncMessage): |
| (WebKit::WebProcess::didReceiveMessage): |
| |
| 2015-01-16 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/UIProcess module. |
| https://bugs.webkit.org/show_bug.cgi?id=140538 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Fix build warnings by removing parameter name from functions |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::processWillOpenConnection): |
| (WebKit::StorageManager::processDidCloseConnection): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::processWillOpenConnection): |
| (WebKit::WebProcessPool::processWillCloseConnection): |
| |
| 2015-01-15 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Remove ENABLE(SQL_DATABASE) guards |
| https://bugs.webkit.org/show_bug.cgi?id=140434 |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Shared/OriginAndDatabases.cpp: |
| * Shared/OriginAndDatabases.h: |
| * Shared/WebCoreArgumentCoders.cpp: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetDatabaseManager): |
| * UIProcess/API/C/WKDatabaseManager.cpp: |
| (WKDatabaseManagerGetTypeID): |
| (WKDatabaseManagerGetOriginKey): |
| (WKDatabaseManagerGetOriginQuotaKey): |
| (WKDatabaseManagerGetOriginUsageKey): |
| (WKDatabaseManagerGetDatabaseDetailsKey): |
| (WKDatabaseManagerGetDatabaseDetailsNameKey): |
| (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): |
| (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): |
| (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): |
| (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey): |
| (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey): |
| (WKDatabaseManagerSetClient): |
| (WKDatabaseManagerGetDatabasesByOrigin): |
| (WKDatabaseManagerGetDatabaseOrigins): |
| (WKDatabaseManagerDeleteDatabasesWithNameForOrigin): |
| (WKDatabaseManagerDeleteDatabasesForOrigin): |
| (WKDatabaseManagerDeleteAllDatabases): |
| (WKDatabaseManagerSetQuotaForOrigin): |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::informDatabaseQuotaReached): |
| * UIProcess/WebDatabaseManagerProxy.cpp: |
| * UIProcess/WebDatabaseManagerProxy.h: |
| * UIProcess/WebDatabaseManagerProxy.messages.in: |
| * UIProcess/WebProcessPool.cpp: |
| * UIProcess/efl/PageUIClientEfl.cpp: |
| (WebKit::PageUIClientEfl::PageUIClientEfl): |
| (WebKit::PageUIClientEfl::exceededDatabaseQuota): |
| * UIProcess/efl/PageUIClientEfl.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::clearAllDatabases): |
| (WebKit::InjectedBundle::setDatabaseQuota): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::exceededDatabaseQuota): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: |
| * WebProcess/WebCoreSupport/WebDatabaseManager.h: |
| * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: |
| * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp: |
| * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| |
| 2015-01-15 Anders Carlsson <andersca@apple.com> |
| |
| Add a connection parameter to StorageManager willOpen/didClose functions |
| https://bugs.webkit.org/show_bug.cgi?id=140527 |
| |
| Reviewed by Tim Horton. |
| |
| Rename processWillCloseConnection to processDidCloseConnection and pass connections |
| to both functions since in the near future we won't be able to get the connection from |
| the web process proxy in these scenarios. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::processWillOpenConnection): |
| (WebKit::StorageManager::processDidCloseConnection): |
| (WebKit::StorageManager::processWillCloseConnection): Deleted. |
| * UIProcess/Storage/StorageManager.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::webProcessWillOpenConnection): |
| (WebKit::WebsiteDataStore::webProcessDidCloseConnection): |
| |
| 2015-01-15 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Wire diagnostic logging messages through the UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=140486 |
| |
| Reviewed by Sam Weinig. |
| |
| Wire diagnostic logging messages through the UIProcess. |
| Eventually, the corresponding bundle API should go away. |
| |
| * CMakeLists.txt: |
| Add UIProcess/WebPageDiagnosticLoggingClient.cpp to CMake. |
| |
| * Shared/API/c/WKDiagnosticLoggingResultType.h: |
| Extract WKDiagnosticLoggingResultType enumeration from |
| WKBundlePageDiagnosticLoggingClient.h into its own header so that |
| it can be shared with the new WKPageDiagnosticLoggingClient.h. |
| |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toAPI): |
| (WebKit::toDiagnosticLoggingResultType): |
| Add WebCore::DiagnosticLoggingResultType <-> WKDiagnosticLoggingResultType |
| casting functions. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageDiagnosticLoggingClient): |
| * UIProcess/API/C/WKPage.h: |
| Add WKPage API so that the application can set the DiagnosticLoggingClient. |
| |
| * UIProcess/API/C/WKPageDiagnosticLoggingClient.h: Added. |
| New WK2 diagnostic logging client that will eventually replace the existing |
| WKBundlePageDiagnosticLoggingClient.h injected bundle client. |
| |
| * UIProcess/WebPageDiagnosticLoggingClient.cpp: Copied from Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp. |
| * UIProcess/WebPageDiagnosticLoggingClient.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h. |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPageProxy.h: |
| Handle new IPC messages for logging diagnostic messages. |
| |
| * UIProcess/WebPageProxy.messages.in: |
| Add 3 IPC messages for logging diagnostic messages. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files to XCode project. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: |
| Remove WKDiagnosticLoggingResultType enum as it was moved to its own |
| header. |
| |
| * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: |
| Use WebCore::DiagnosticLoggingResultType enum type instead of |
| WKDiagnosticLoggingResultType and call toAPI() to convert to |
| WKDiagnosticLoggingResultType type. |
| |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): |
| Send IPC to WebPageProxy in addition to calling the injected bundle client. |
| |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: |
| Use new DiagnosticLoggingResultType enum instead of the old LogType one. |
| |
| 2015-01-15 Dan Bernstein <mitz@apple.com> |
| |
| Added availability annotations to modern Cocoa SPI. |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2015-01-15 Anders Carlsson <andersca@apple.com> |
| |
| Fix assertions on the Mountain Lion bots. |
| |
| It is allowed to call addWorkQueueMessageReceiver even if the connection is open |
| so remove that assertion. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::addWorkQueueMessageReceiver): |
| |
| 2015-01-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed build fix after r178536. |
| |
| Initialize member variables in the proper order. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| |
| 2015-01-15 Enrica Casucci <enrica@apple.com> |
| |
| [WK2] Add support for fully editable WKWebView. |
| https://bugs.webkit.org/show_bug.cgi?id=140515 |
| |
| Reviewed by Anders Carlsson. |
| |
| WKWebView has now a new property (_editable) to control |
| the editability of the entire content. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isEditable]): |
| (-[WKWebView _setEditable:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setEditable): |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::isEditable): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setEditable): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2015-01-15 Anders Carlsson <andersca@apple.com> |
| |
| Clearing the website data store should clear local storage |
| https://bugs.webkit.org/show_bug.cgi?id=140507 |
| |
| Reviewed by Andreas Kling. |
| |
| * Shared/WebsiteData/WebsiteDataTypes.h: |
| Add WebsiteDataTypeLocalStorage. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| Add WKWebsiteDataTypeLocalStorage |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWebsiteDataTypes): |
| Handle WKWebsiteDataTypeLocalStorage. |
| |
| * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: |
| (WebKit::fileModificationTime): |
| Use an early return. |
| |
| (WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince): |
| Change this to take an std::chrono::system_clock::time_point and don't |
| try to modifiy m_origins while iterating it. |
| |
| * UIProcess/Storage/LocalStorageDatabaseTracker.h: |
| Update declarations. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): |
| Change this to take an std::chrono::system_clock::time_point. |
| |
| * UIProcess/Storage/StorageManager.h: |
| Update declarations. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::removeData): |
| Remove data from the storage manager as well. |
| |
| 2015-01-15 Anders Carlsson <andersca@apple.com> |
| |
| Give WebsiteDataStore a StorageManager |
| https://bugs.webkit.org/show_bug.cgi?id=140505 |
| |
| Reviewed by Andreas Kling. |
| |
| The process pool storage manager is still around but is only used for clearing data. It will be removed |
| completely in an upcoming commit. |
| |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| Set up the local storage directory. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (websiteDataDirectoryURL): |
| Export this so it can be called from APIWebsiteDataStoreCocoa. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::createNewPage): |
| Call WebsiteDataStore::cloneSessionData instead. |
| |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::websiteDataStore): |
| Add getter. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::websiteDataStoreConfiguration): |
| Update this to take a WebProcessPoolConfiguration object and assign the local storage directory. |
| |
| (WebKit::WebProcessPool::WebProcessPool): |
| Pass the configuration to websiteDataStoreConfiguration. |
| |
| (WebKit::WebProcessPool::processWillOpenConnection): |
| (WebKit::WebProcessPool::processWillCloseConnection): |
| Remove storage manager calls. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| When creating a persistent data store, also create a storage manager. |
| |
| (WebKit::WebsiteDataStore::cloneSessionData): |
| Clone the session storage namespace. |
| |
| (WebKit::WebsiteDataStore::webPageWasAdded): |
| Create a session storage namespace for this page. |
| |
| (WebKit::WebsiteDataStore::webPageWasRemoved): |
| Destroy the session storage namespace. |
| |
| (WebKit::WebsiteDataStore::webProcessWillOpenConnection): |
| Tell the storage manager about the new process connection. |
| |
| (WebKit::WebsiteDataStore::webPageWillOpenConnection): |
| Set the allowed connection. |
| |
| (WebKit::WebsiteDataStore::webPageDidCloseConnection): |
| Clear the allowed connection. |
| |
| (WebKit::WebsiteDataStore::webProcessDidCloseConnection): |
| Tell the storage manager that the process connection has been closed. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| Add new members. |
| |
| 2015-01-15 Anders Carlsson <andersca@apple.com> |
| |
| More work on the lifetime observer |
| https://bugs.webkit.org/show_bug.cgi?id=140500 |
| |
| Reviewed by Andreas Kling. |
| |
| Add webPageWasAdded/webPageWasRemoved functions; these will be called first and last during the |
| lifetime of the web page. Also remove removeObserver since nobody is calling it. |
| |
| * UIProcess/WebProcessLifetimeObserver.h: |
| (WebKit::WebProcessLifetimeObserver::webPageWasAdded): |
| (WebKit::WebProcessLifetimeObserver::webPageWasRemoved): |
| * UIProcess/WebProcessLifetimeTracker.cpp: |
| (WebKit::WebProcessLifetimeTracker::addObserver): |
| (WebKit::WebProcessLifetimeTracker::pageWasInvalidated): |
| (WebKit::WebProcessLifetimeTracker::removeObserver): Deleted. |
| * UIProcess/WebProcessLifetimeTracker.h: |
| |
| 2015-01-14 Anders Carlsson <andersca@apple.com> |
| |
| Don't pass an allowed connection when creating a session storage namespace |
| https://bugs.webkit.org/show_bug.cgi?id=140482 |
| |
| Reviewed by Sam Weinig. |
| |
| Instead, always call setAllowedSessionStorageNamespaceConnection. This will make it easier to |
| move the storage manager into WebsiteDataStore and make it use the process lifetime observer machinery. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::SessionStorageNamespace::create): |
| (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace): |
| (WebKit::StorageManager::createSessionStorageNamespace): |
| * UIProcess/Storage/StorageManager.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| |
| 2015-01-15 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r177075): [GTK] Creating a second web view disables accelerated compositing in existing web view |
| https://bugs.webkit.org/show_bug.cgi?id=140494 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| The problem is that r177075 moved the creation of the redirected |
| XComposite window to realize method, but leaving the call to |
| webkitWebViewBaseUpdatePreferences() in both places Realize() and |
| CreateWebPage(). webkitWebViewBaseUpdatePreferences() only updates |
| the accelerating compositing setting nowadays, depending on |
| whether the redirected XComposited window could be created or not |
| (something that depends on whether XRender, XComposite and XDamage |
| extensions are available in the current display). So, when the |
| first web view is created, webkitWebViewBaseUpdatePreferences() is |
| called first from CreateWebPage(), and always disabling |
| accelerated compositing because the redirected window hasn't been |
| created yet, and then from Realize() right after the redirected |
| window is created so that accelerated compositing is enabled. When |
| the second web view is created the same happens, but since |
| settings are shared among web views, the first call to |
| webkitWebViewBaseUpdatePreferences() from CreateWebPage() disables |
| accelerated compositing and the web page exists accelerated |
| compositing mode and never enters it again unless the page is |
| reloaded. I guess the web page should enter accelerated |
| compositing mode again when the setting is enabled again from |
| Realize(), but since the setting is global and doesn't depend on |
| every web view, we should never disable it once it has been |
| enabled in any case. |
| Since we want to enable accelerated compositing mode when the |
| redirected XComposite window has been successfully created, we can |
| use the SetNativeSurfaceHandleForCompositing message to enable the |
| setting and remove webkitWebViewBaseUpdatePreferences(). |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewUpdateSettings): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): |
| (webkitWebViewBaseCreateWebPage): |
| (webkitWebViewBaseUpdatePreferences): Deleted. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing): |
| |
| 2015-01-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ build after r178464. |
| |
| * UIProcess/API/gtk/WebKitUserContent.cpp: |
| (_WebKitUserScript::_WebKitUserScript): |
| (webkitUserScriptGetUserScript): |
| * UIProcess/API/gtk/WebKitUserContentPrivate.h: |
| |
| 2015-01-14 Sam Weinig <sam@webkit.org> |
| |
| Convert WKUserScript to be an API::Object bridged object |
| https://bugs.webkit.org/show_bug.cgi?id=140471 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/APIObject.h: |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Add Type::UserScript. |
| |
| * UIProcess/API/APIUserScript.h: Added. |
| Add API object for UserScripts. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController init]): |
| (-[WKUserContentController userScripts]): |
| (-[WKUserContentController addUserScript:]): |
| (-[WKUserContentController removeAllUserScripts]): |
| (toWebCoreUserScriptInjectionTime): Deleted. |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy): |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserScript): |
| (WebKit::WebUserContentControllerProxy::removeAllUserScripts): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| (WebKit::WebUserContentControllerProxy::userScripts): |
| Store the WKUserScripts in the WebUserContentControllerProxy instead of the |
| Objective-C layer WKUserContentController, to allow creation of the object |
| from either the Objective-C or C++ sides. |
| |
| * UIProcess/API/Cocoa/WKUserScript.mm: |
| (generateIdentifier): |
| (-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]): |
| (-[WKUserScript source]): |
| (-[WKUserScript injectionTime]): |
| (-[WKUserScript isForMainFrameOnly]): |
| (-[WKUserScript _apiObject]): |
| * UIProcess/API/Cocoa/WKUserScriptInternal.h: |
| (API::wrapper): |
| (API::toWebCoreUserScriptInjectionTime): |
| (API::toWKUserScriptInjectionTime): |
| Convert to get properties from the API::UserScript. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add the new file. |
| |
| 2015-01-14 Anders Carlsson <andersca@apple.com> |
| |
| Add per page connection callbacks to the lifetime observer |
| https://bugs.webkit.org/show_bug.cgi?id=140475 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebProcessLifetimeObserver.cpp: |
| (WebKit::WebProcessLifetimeObserver::addWebPage): |
| (WebKit::WebProcessLifetimeObserver::removeWebPage): |
| * UIProcess/WebProcessLifetimeObserver.h: |
| (WebKit::WebProcessLifetimeObserver::webPageWillOpenConnection): |
| (WebKit::WebProcessLifetimeObserver::webPageDidCloseConnection): |
| |
| 2015-01-14 Anders Carlsson <andersca@apple.com> |
| |
| Make WebsiteDataStore a WebProcessLifetimeObserver |
| https://bugs.webkit.org/show_bug.cgi?id=140472 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::~WebsiteDataStore): |
| (WebKit::WebsiteDataStore::removeData): |
| (WebKit::WebsiteDataStore::addWebPage): Deleted. |
| (WebKit::WebsiteDataStore::removeWebPage): Deleted. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2015-01-14 Chris Dumez <cdumez@apple.com> |
| |
| [WK2][iOS] Add private API to toggle diagnostic logging setting |
| https://bugs.webkit.org/show_bug.cgi?id=140464 |
| |
| Reviewed by Dan Bernstein. |
| |
| Add private API to toggle diagnostic logging setting for iOS. |
| Previously, there was only a WK2 private C API for this. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _diagnosticLoggingEnabled]): |
| (-[WKPreferences _setDiagnosticLoggingEnabled:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2015-01-14 Anders Carlsson <andersca@apple.com> |
| |
| Switch VisitedLinkProvider over to WebProcessLifetimeObserver |
| https://bugs.webkit.org/show_bug.cgi?id=140469 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/VisitedLinkProvider.cpp: |
| (WebKit::VisitedLinkProvider::~VisitedLinkProvider): |
| (WebKit::VisitedLinkProvider::removeAll): |
| (WebKit::VisitedLinkProvider::webProcessWillOpenConnection): |
| (WebKit::VisitedLinkProvider::webProcessDidCloseConnection): |
| (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): |
| (WebKit::VisitedLinkProvider::resizeTable): |
| (WebKit::VisitedLinkProvider::addProcess): Deleted. |
| (WebKit::VisitedLinkProvider::removeProcess): Deleted. |
| * UIProcess/VisitedLinkProvider.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::processDidFinishLaunching): |
| * UIProcess/WebProcessLifetimeObserver.cpp: |
| (WebKit::WebProcessLifetimeObserver::processes): |
| * UIProcess/WebProcessLifetimeObserver.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::disconnect): |
| (WebKit::WebProcessProxy::addVisitedLinkProvider): Deleted. |
| (WebKit::WebProcessProxy::didDestroyVisitedLinkProvider): Deleted. |
| * UIProcess/WebProcessProxy.h: |
| |
| 2015-01-14 Anders Carlsson <andersca@apple.com> |
| |
| Add willOpen and didClose member functions to WebProcessLifetimeObserver |
| https://bugs.webkit.org/show_bug.cgi?id=140449 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/VisitedLinkProvider.cpp: |
| (WebKit::VisitedLinkProvider::addVisitedLinkHash): |
| (WebKit::VisitedLinkProvider::webProcessWillOpenConnection): |
| (WebKit::VisitedLinkProvider::webProcessDidCloseConnection): |
| * UIProcess/VisitedLinkProvider.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::close): |
| * UIProcess/WebProcessLifetimeObserver.cpp: |
| (WebKit::WebProcessLifetimeObserver::addWebPage): |
| (WebKit::WebProcessLifetimeObserver::removeWebPage): |
| * UIProcess/WebProcessLifetimeObserver.h: |
| (WebKit::WebProcessLifetimeObserver::webProcessWillOpenConnection): |
| (WebKit::WebProcessLifetimeObserver::webProcessDidCloseConnection): |
| |
| 2015-01-14 Dan Bernstein <mitz@apple.com> |
| |
| Added availability annotations to some modern Cocoa SPI. |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| |
| 2015-01-14 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [GTK] Fix build after r178385 |
| https://bugs.webkit.org/show_bug.cgi?id=140429 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * UIProcess/API/gtk/WebKitUserContentManager.cpp: |
| (_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate): |
| |
| 2015-01-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178412. |
| https://bugs.webkit.org/show_bug.cgi?id=140433 |
| |
| Wrong fix (Requested by KaL on #webkit). |
| |
| Reverted changeset: |
| |
| "Unreviewed GTK build fix after r178385." |
| http://trac.webkit.org/changeset/178412 |
| |
| 2015-01-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Do not schedule a redraw for the redirected XComposite window when not in accelerated compositing mode |
| https://bugs.webkit.org/show_bug.cgi?id=140354 |
| |
| Reviewed by Martin Robinson. |
| |
| The RedirectedXCompositeWindow uses XDamage to be notified when |
| the XWindow has been modified. Since the redirected window is |
| created unconditionally we always receive a XDamage notify when |
| the window is mapped, and we schedule a redraw in the web view |
| even when the web view is not in accelerated compositing mode. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): Only call gtk_widget_queue_draw() when |
| in accelerated compositing mode. |
| |
| 2015-01-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Do not resize the redirected XComposite window when not in accelerated compositing mode |
| https://bugs.webkit.org/show_bug.cgi?id=140353 |
| |
| Reviewed by Martin Robinson. |
| |
| We create the redirected XComposite window unconditionally, but |
| with a size of 1x1 to save memory. However, we are always resizing |
| it, so in the end we always end up with a XWindow allocated for |
| the same size of the web view, even for web views that never enter |
| in accelerated compositing mode. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewRenderAcceleratedCompositingResults): Resize the |
| RedirectedXCompositeWindow to the current web view size to ensure |
| the sizes match before drawing. |
| (resizeWebKitWebViewBaseFromAllocation): Only resize the |
| RedirectedXCompositeWindow when in accelerated compositing mode. |
| * UIProcess/gtk/RedirectedXCompositeWindow.cpp: |
| (WebKit::RedirectedXCompositeWindow::resize): Return early if the |
| given size is the current size. |
| |
| 2015-01-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r177075): Flickering when the WebView is realized |
| https://bugs.webkit.org/show_bug.cgi?id=140352 |
| |
| Reviewed by Martin Robinson. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): Pass the parent GdkWindow to the |
| RedirectedXCompositeWindow constructor. |
| * UIProcess/gtk/RedirectedXCompositeWindow.cpp: |
| (WebKit::supportsXDamageAndXComposite): Get the display from the |
| given GdkWindow. |
| (WebKit::RedirectedXCompositeWindow::create): Receive a GdkWindow |
| instead of the Display and sise that is always 1x1. |
| (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): |
| Use the passed in GdkWindow to get the Display, Visual and Depth |
| instead of using the window as parent and reparent afterwards. |
| * UIProcess/gtk/RedirectedXCompositeWindow.h: |
| |
| 2015-01-14 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| Unreviewed GTK build fix after r178385. |
| |
| WebUserContentControllerProxy is not RefCounted anymore. |
| |
| * UIProcess/API/gtk/WebKitUserContentManager.cpp: |
| (_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate): |
| |
| 2015-01-13 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed GTK build fix after r178375. |
| |
| uint64_t navigationID -> API::Navigation*. |
| |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| |
| 2015-01-13 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed GTK build fix after r178375. |
| |
| WebFrameProxy is now a reference instead of a pointer. |
| |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| |
| 2015-01-13 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed GTK build fix after r178375. |
| |
| WebPageProxy is now a reference instead of a pointer. |
| |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| |
| 2015-01-13 Anders Carlsson <andersca@apple.com> |
| |
| Fill in more of WebProcessLifetimeTracker |
| https://bugs.webkit.org/show_bug.cgi?id=140418 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebProcessLifetimeObserver.cpp: |
| (WebKit::WebProcessLifetimeObserver::WebProcessLifetimeObserver): |
| (WebKit::WebProcessLifetimeObserver::~WebProcessLifetimeObserver): |
| (WebKit::WebProcessLifetimeObserver::addWebPage): |
| (WebKit::WebProcessLifetimeObserver::removeWebPage): |
| * UIProcess/WebProcessLifetimeObserver.h: |
| * UIProcess/WebProcessLifetimeTracker.cpp: |
| (WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker): |
| (WebKit::WebProcessLifetimeTracker::addObserver): |
| (WebKit::WebProcessLifetimeTracker::connectionWillOpen): |
| (WebKit::WebProcessLifetimeTracker::connectionWillClose): |
| (WebKit::WebProcessLifetimeTracker::pageWasInvalidated): |
| (WebKit::WebProcessLifetimeTracker::processIsRunning): |
| * UIProcess/WebProcessLifetimeTracker.h: |
| |
| 2015-01-13 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed iOS build fix after r178375. |
| |
| LoaderClient::didLayout() now takes a reference to the WebPageProxy |
| instead of a pointer. |
| |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::didCommitLayerTree): |
| |
| 2015-01-13 Sam Weinig <sam@webkit.org> |
| |
| Convert WebUserContentControllerProxy to an API::Object bridged to WKUserContentController |
| https://bugs.webkit.org/show_bug.cgi?id=140414 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/APIObject.h: |
| Add Type::UserContentController. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Allocate WebUserContentControllerProxy using [WKUserContentController alloc]. |
| |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController init]): |
| (-[WKUserContentController dealloc]): |
| (-[WKUserContentController _apiObject]): |
| * UIProcess/API/Cocoa/WKUserContentControllerInternal.h: |
| (WebKit::wrapper): |
| Convert to using API::ObjectStorage for the internal WebUserContentControllerProxy. |
| |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::create): Deleted. |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| Convert to inherit from API::ObjectImpl<> and remove create function. |
| |
| 2015-01-13 Anders Carlsson <andersca@apple.com> |
| |
| Stub out more of the process lifetime tracker code |
| https://bugs.webkit.org/show_bug.cgi?id=140411 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::close): |
| (WebKit::WebPageProxy::connectionWillOpen): |
| (WebKit::WebPageProxy::connectionWillClose): |
| * UIProcess/WebProcessLifetimeTracker.cpp: |
| (WebKit::WebProcessLifetimeTracker::connectionWillOpen): |
| (WebKit::WebProcessLifetimeTracker::connectionWillClose): |
| (WebKit::WebProcessLifetimeTracker::pageWasInvalidated): |
| * UIProcess/WebProcessLifetimeTracker.h: |
| |
| 2015-01-13 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [CMake] Unreviewed build fix after r178366. |
| |
| * CMakeLists.txt: Add new files added by r178366. |
| |
| 2015-01-13 Sam Weinig <sam@webkit.org> |
| |
| Move more of the Navigation infrastructure down to WebPageProxy |
| https://bugs.webkit.org/show_bug.cgi?id=140395 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/APILoaderClient.h: |
| (API::LoaderClient::didStartProvisionalLoadForFrame): |
| (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (API::LoaderClient::didCommitLoadForFrame): |
| (API::LoaderClient::didFinishDocumentLoadForFrame): |
| (API::LoaderClient::didFinishLoadForFrame): |
| (API::LoaderClient::didFailLoadWithErrorForFrame): |
| (API::LoaderClient::didSameDocumentNavigationForFrame): |
| (API::LoaderClient::didReceiveTitleForFrame): |
| (API::LoaderClient::didFirstLayoutForFrame): |
| (API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): |
| (API::LoaderClient::didRemoveFrameFromHierarchy): |
| (API::LoaderClient::didDisplayInsecureContentForFrame): |
| (API::LoaderClient::didRunInsecureContentForFrame): |
| (API::LoaderClient::didDetectXSSForFrame): |
| (API::LoaderClient::didLayout): |
| (API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): |
| (API::LoaderClient::didReceiveAuthenticationChallengeInFrame): |
| (API::LoaderClient::didStartProgress): |
| (API::LoaderClient::didChangeProgress): |
| (API::LoaderClient::didFinishProgress): |
| (API::LoaderClient::processDidBecomeUnresponsive): |
| (API::LoaderClient::interactionOccurredWhileProcessUnresponsive): |
| (API::LoaderClient::processDidBecomeResponsive): |
| (API::LoaderClient::processDidCrash): |
| (API::LoaderClient::didChangeBackForwardList): |
| (API::LoaderClient::shouldKeepCurrentBackForwardListItemInList): |
| (API::LoaderClient::willGoToBackForwardListItem): |
| (API::LoaderClient::pluginLoadPolicy): |
| (API::LoaderClient::didFailToInitializePlugin): |
| (API::LoaderClient::didBlockInsecurePluginVersion): |
| (API::LoaderClient::webGLLoadPolicy): |
| (API::LoaderClient::resolveWebGLLoadPolicy): |
| (API::LoaderClient::didDestroyNavigation): Deleted. |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageLoaderClient): |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame): |
| (WebKit::NavigationState::LoaderClient::didLayout): |
| (WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): |
| (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): |
| (WebKit::NavigationState::LoaderClient::processDidCrash): |
| (WebKit::NavigationState::LoaderClient::didDestroyNavigation): Deleted. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didChangeBackForwardList): |
| (WebKit::WebPageProxy::willGoToBackForwardListItem): |
| (WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList): |
| (WebKit::WebPageProxy::findPlugin): |
| (WebKit::WebPageProxy::didStartProgress): |
| (WebKit::WebPageProxy::didChangeProgress): |
| (WebKit::WebPageProxy::didFinishProgress): |
| (WebKit::WebPageProxy::didDestroyNavigation): |
| (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): |
| (WebKit::WebPageProxy::didFinishLoadForFrame): |
| (WebKit::WebPageProxy::didFailLoadForFrame): |
| (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): |
| (WebKit::WebPageProxy::didReceiveTitleForFrame): |
| (WebKit::WebPageProxy::didFirstLayoutForFrame): |
| (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): |
| (WebKit::WebPageProxy::didLayout): |
| (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): |
| (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): |
| (WebKit::WebPageProxy::didRunInsecureContentForFrame): |
| (WebKit::WebPageProxy::didDetectXSSForFrame): |
| (WebKit::WebPageProxy::webGLPolicyForURL): |
| (WebKit::WebPageProxy::resolveWebGLPolicyForURL): |
| (WebKit::WebPageProxy::processDidBecomeUnresponsive): |
| (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): |
| (WebKit::WebPageProxy::processDidBecomeResponsive): |
| (WebKit::WebPageProxy::processDidCrash): |
| (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame): |
| (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy): |
| (WebKit::WebPageProxy::didFailToInitializePlugin): |
| (WebKit::WebPageProxy::didBlockInsecurePluginVersion): |
| - Moves conversion from navigationID to API::Navigation into WebPageProxy |
| from NavigationState. |
| - Changes API::LoaderClient to pass WebPageProxy and WebFrameProxy by reference |
| rather than pointer, and to take an API::Navigation instead of a navigationID. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): |
| Move access of the navigationID to after calling into the client bundle to avoid |
| passing a navigationID of a deleted navigation to the UIProcess. This problem was |
| caught via the WebKit2.StopLoadingDuringDidFailProvisionalLoadTest API test, which |
| now exercises the Navigation code path. Had that test been written using a Navigation |
| delegate, the issue would have happened prior to this change. |
| |
| 2015-01-13 Anders Carlsson <andersca@apple.com> |
| |
| Begin stubbing out a per page process lifetime tracker object |
| https://bugs.webkit.org/show_bug.cgi?id=140399 |
| |
| Reviewed by Beth Dakin. |
| |
| This will make it easier for certain objects that track a set of web page proxy objects |
| (user content controller, visited link provider, data store) to be notified when their |
| underlying processes come and go. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessLifetimeObserver.cpp: Added. |
| * UIProcess/WebProcessLifetimeObserver.h: Added. |
| * UIProcess/WebProcessLifetimeTracker.cpp: Added. |
| (WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker): |
| (WebKit::WebProcessLifetimeTracker::~WebProcessLifetimeTracker): |
| (WebKit::WebProcessLifetimeTracker::addObserver): |
| (WebKit::WebProcessLifetimeTracker::removeObserver): |
| * UIProcess/WebProcessLifetimeTracker.h: Added. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-01-12 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [CMake] Unreviewed build fix after r178309. |
| |
| * CMakeLists.txt: Rename moved files at r178309. |
| |
| 2015-01-11 Sam Weinig <sam@webkit.org> |
| |
| Remove support for SharedWorkers |
| https://bugs.webkit.org/show_bug.cgi?id=140344 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * NetworkProcess/NetworkProcessPlatformStrategies.cpp: |
| (WebKit::NetworkProcessPlatformStrategies::createSharedWorkerStrategy): Deleted. |
| * NetworkProcess/NetworkProcessPlatformStrategies.h: |
| * WebKit2Prefix.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createSharedWorkerStrategy): Deleted. |
| (WebKit::WebPlatformStrategies::isAvailable): Deleted. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2015-01-12 Anders Carlsson <andersca@apple.com> |
| |
| Move a couple of API files to UIProcess/API. |
| |
| Rubber-stamped by Tim Horton. |
| |
| * UIProcess/API/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/APINavigationData.cpp. |
| * UIProcess/API/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/APINavigationData.h. |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: Renamed from Source/WebKit2/UIProcess/APIProcessPoolConfiguration.cpp. |
| * UIProcess/API/APIProcessPoolConfiguration.h: Renamed from Source/WebKit2/UIProcess/APIProcessPoolConfiguration.h. |
| * UIProcess/API/APISession.cpp: Renamed from Source/WebKit2/UIProcess/APISession.cpp. |
| * UIProcess/API/APISession.h: Renamed from Source/WebKit2/UIProcess/APISession.h. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2015-01-12 Martin Hock <mhock@apple.com> |
| |
| [iOS][WK2] Push content bounds on layer tree commit to prevent drawing stale fixed position rects |
| https://bugs.webkit.org/show_bug.cgi?id=140264 |
| <rdar://problem/18873545> |
| |
| Reviewed by Benjamin Poulain. |
| |
| When a resize occurs, we need to push the new content bounds to the web |
| process or stale fixed position rects may draw incorrectly. |
| |
| As an example, suppose that WKWebView in UIProcess performs |
| _frameOrBoundsChanged with new view bounds. |
| Meanwhile, we'll switch to WebContentProcess and perform layout. |
| Switching back to UIProcess, _frameOrBoundsChanged calls WKWebView |
| _updateVisibleContentRects. |
| _updateVisibleContentRects calls WKContentView didUpdateVisibleRect with |
| the new bounds. |
| didUpdateVisibleRects in turn calls WebPageProxyIOS |
| computeCustomFixedPositionRect. |
| computeCustomFixedPositionRect asks for the content bounds from |
| PageClientImplIOS contentsSize which queries WKContentView's bounds |
| size. But those bounds are stale because the layer tree commit hasn't |
| occurred yet. |
| |
| By informing the WKWebView of the updated content size on layer tree |
| commit, we ensure that the fixed position rects will be drawn correctly. |
| |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _didCommitLayerTree:]): Push new content bounds to the web process. |
| |
| 2015-01-12 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Allow targetting the SVG->OTF font converter with ENABLE(SVG_OTF_CONVERTER) |
| https://bugs.webkit.org/show_bug.cgi?id=136769 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-01-12 Zan Dobersek <zdobersek@igalia.com> |
| |
| Clean up FrameTree::traverseNext() traversals of main frames |
| https://bugs.webkit.org/show_bug.cgi?id=140338 |
| |
| Reviewed by Andreas Kling. |
| |
| There's no reason to pass the main frame as the stayWithin parameter |
| to FrameTree::traverseNext() when traversing over that same main frame. |
| |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| (WebKit::WebContextMenuClient::searchWithSpotlight): |
| |
| 2015-01-12 Timothy Horton <timothy_horton@apple.com> |
| |
| Multi-rect TextIndicators are vertically flipped in WebKit1 |
| https://bugs.webkit.org/show_bug.cgi?id=140350 |
| <rdar://problem/19441243> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextIndicatorData>::encode): |
| (IPC::ArgumentCoder<TextIndicatorData>::decode): |
| Adjust to the field name changes. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setTextIndicator:fadeOut:]): |
| Convert the textBoundingRect from root view to screen coordinates. |
| |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::updateFindIndicator): |
| (WebKit::FindController::drawRect): |
| Adjust to the new name, and use contentsToRootView when comparing against |
| the stored m_findIndicatorRect. |
| |
| 2015-01-11 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [CoordinatedGraphics] Suspend or resume when visibility is changed |
| https://bugs.webkit.org/show_bug.cgi?id=140285 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: Copied the logic from TiledCoreAnimationDrawingArea. |
| (WebKit::CoordinatedDrawingArea::viewStateDidChange): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: |
| |
| 2015-01-10 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [ThreadedCompositor] Prevent excessive rendering call. |
| https://bugs.webkit.org/show_bug.cgi?id=140297 |
| |
| Reviewed by Žan Doberšek. |
| |
| Not to waste CPU time on waiting V-Sync interval, the update timer of |
| compositing thread should be throttled. |
| |
| In case of updating scene state, this update timer should be called as |
| soon as possible. However, when CoordinatedGraphicsScene requests update |
| viewport to advance the animations, this call should be scheduled for |
| a next frame. |
| |
| No new tests. No change in functionality. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::CompositingRunLoop::CompositingRunLoop): |
| (WebKit::CompositingRunLoop::setUpdateTimer): |
| (WebKit::CompositingRunLoop::updateTimerFired): |
| (WebKit::ThreadedCompositor::setNeedsDisplay): |
| (WebKit::ThreadedCompositor::updateViewport): |
| (WebKit::ThreadedCompositor::scheduleDisplayImmediately): |
| (WebKit::ThreadedCompositor::didChangeVisibleRect): |
| (WebKit::ThreadedCompositor::scheduleDisplayIfNeeded): Deleted. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| |
| 2015-01-09 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the GTK and EFL builds. |
| |
| * CMakeLists.txt: |
| |
| 2015-01-09 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the database strategy |
| https://bugs.webkit.org/show_bug.cgi?id=140322 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/NetworkProcessPlatformStrategies.cpp: |
| (WebKit::NetworkProcessPlatformStrategies::createDatabaseStrategy): Deleted. |
| * NetworkProcess/NetworkProcessPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createDatabaseStrategy): Deleted. |
| (WebKit::WebPlatformStrategies::getDatabaseServer): Deleted. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2015-01-09 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Remove deprecated WKRenderingProgressEvents |
| https://bugs.webkit.org/show_bug.cgi?id=140325 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/Cocoa/WKRenderingProgressEvents.h: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: |
| |
| 2015-01-09 Sam Weinig <sam@webkit.org> |
| |
| Move Navigation creation out of the Cocoa layer and down into the WebPageProxy level |
| https://bugs.webkit.org/show_bug.cgi?id=140319 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Adds WebNavigationState, a class at the WebPageProxy level to handle the creation |
| and storage of Navigations. Starts moving some of the functionality from NavigationState |
| there. |
| |
| * UIProcess/API/APINavigation.cpp: |
| (API::Navigation::Navigation): |
| * UIProcess/API/APINavigation.h: |
| (API::Navigation::create): |
| (API::Navigation::navigationID): |
| Have each Navigation store its navigationID and generate it via the WebNavigationState |
| that is passed to the constructor. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView loadRequest:]): |
| (-[WKWebView loadFileURL:allowingReadAccessToURL:]): |
| (-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): |
| (-[WKWebView goToBackForwardListItem:]): |
| (-[WKWebView goBack]): |
| (-[WKWebView goForward]): |
| (-[WKWebView reload]): |
| (-[WKWebView reloadFromOrigin]): |
| (-[WKWebView _restoreFromSessionStateData:]): |
| (-[WKWebView _restoreSessionState:andNavigate:]): |
| Update for WebPageProxy functions returning the Navigations directly, rather than |
| the navigationID. |
| |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): |
| Remove creation of the load request navigation which is now handled by the WebPageProxy. |
| |
| (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame): |
| (WebKit::NavigationState::LoaderClient::didDestroyNavigation): |
| (WebKit::NavigationState::LoaderClient::processDidCrash): |
| Change to get/take/remove Navigations from the WebPageProxy's WebNavigationState |
| |
| (WebKit::NavigationState::createLoadRequestNavigation): Deleted. |
| (WebKit::NavigationState::createBackForwardNavigation): Deleted. |
| (WebKit::NavigationState::createReloadNavigation): Deleted. |
| (WebKit::NavigationState::createLoadDataNavigation): Deleted. |
| Move Navigation creation to WebNavigationState. |
| |
| * UIProcess/WebFrameListenerProxy.cpp: |
| (WebKit::WebFrameListenerProxy::WebFrameListenerProxy): |
| (WebKit::WebFrameListenerProxy::receivedPolicyDecision): |
| * UIProcess/WebFrameListenerProxy.h: |
| (WebKit::WebFrameListenerProxy::navigation): |
| (WebKit::WebFrameListenerProxy::setNavigation): |
| (WebKit::WebFrameListenerProxy::navigationID): Deleted. |
| (WebKit::WebFrameListenerProxy::setNavigationID): Deleted. |
| * UIProcess/WebFrameProxy.cpp: |
| (WebKit::WebFrameProxy::receivedPolicyDecision): |
| * UIProcess/WebFrameProxy.h: |
| Store a Navigation rather than a navigationID on the WebFrameListenerProxy. |
| |
| * UIProcess/WebNavigationState.cpp: Added. |
| (WebKit::WebNavigationState::WebNavigationState): |
| (WebKit::WebNavigationState::~WebNavigationState): |
| (WebKit::WebNavigationState::createLoadRequestNavigation): |
| (WebKit::WebNavigationState::createBackForwardNavigation): |
| (WebKit::WebNavigationState::createReloadNavigation): |
| (WebKit::WebNavigationState::createLoadDataNavigation): |
| (WebKit::WebNavigationState::navigation): |
| (WebKit::WebNavigationState::takeNavigation): |
| (WebKit::WebNavigationState::didDestroyNavigation): |
| (WebKit::WebNavigationState::clearAllNavigations): |
| * UIProcess/WebNavigationState.h: Added. |
| (WebKit::WebNavigationState::generateNavigationID): |
| New class to manage navigations. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcessForReload): |
| (WebKit::WebPageProxy::reattachToWebProcessWithItem): |
| (WebKit::WebPageProxy::loadRequest): |
| (WebKit::WebPageProxy::loadFile): |
| (WebKit::WebPageProxy::loadData): |
| (WebKit::WebPageProxy::loadHTMLString): |
| (WebKit::WebPageProxy::reload): |
| (WebKit::WebPageProxy::goForward): |
| (WebKit::WebPageProxy::goBack): |
| (WebKit::WebPageProxy::goToBackForwardItem): |
| (WebKit::WebPageProxy::receivedPolicyDecision): |
| (WebKit::WebPageProxy::restoreFromSessionState): |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): |
| (WebKit::WebPageProxy::generateNavigationID): Deleted. |
| Create navigations directly rather than generating a navigation ID and letting |
| the API level create Navigation. |
| |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::navigationState): |
| Add WebNavigationState member and accessor. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add WebNavigationState.h/cpp |
| |
| 2015-01-09 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Make DumpRenderTree build with public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=140311 |
| |
| Reviewed by Sam Weinig. |
| |
| Add more SPI declarations. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2015-01-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove or use TimelineAgent Resource related event types |
| https://bugs.webkit.org/show_bug.cgi?id=140155 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::WebResourceLoadScheduler::scheduleLoad): |
| |
| 2015-01-09 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Fix the WebKit2 build with the public SDK |
| |
| Forward declare class WebView. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2015-01-09 Sam Weinig <sam@webkit.org> |
| |
| Make WKNavigation bridged to API::Navigation (Take 2) |
| https://bugs.webkit.org/show_bug.cgi?id=140272 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/APIObject.h: |
| Add Navigation. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Bridge to WKNavigation. |
| |
| * UIProcess/API/APINavigation.cpp: Added. |
| (API::Navigation::Navigation): |
| (API::Navigation::~Navigation): |
| * UIProcess/API/APINavigation.h: Added. |
| (API::Navigation::create): |
| (API::Navigation::request): |
| Add initial implementation. |
| |
| * UIProcess/API/Cocoa/WKNavigation.mm: |
| (-[WKNavigation dealloc]): |
| (-[WKNavigation _request]): |
| (-[WKNavigation _apiObject]): |
| * UIProcess/API/Cocoa/WKNavigationInternal.h: |
| (API::wrapper): |
| Implement bridging to API::Navigation and get the request from the underlying object. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView loadRequest:]): |
| (-[WKWebView loadFileURL:allowingReadAccessToURL:]): |
| (-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): |
| (-[WKWebView goToBackForwardListItem:]): |
| (-[WKWebView goBack]): |
| (-[WKWebView goForward]): |
| (-[WKWebView reload]): |
| (-[WKWebView reloadFromOrigin]): |
| (-[WKWebView _restoreSessionState:andNavigate:]): |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::createLoadRequestNavigation): |
| (WebKit::NavigationState::createBackForwardNavigation): |
| (WebKit::NavigationState::createReloadNavigation): |
| (WebKit::NavigationState::createLoadDataNavigation): |
| (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame): |
| Switch to storing API::Navigations. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add the new files. |
| |
| 2015-01-09 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| Rename GraphicsLayerAnimation to TextureMapperAnimation |
| https://bugs.webkit.org/show_bug.cgi?id=140296 |
| |
| Reviewed by Martin Robinson. |
| |
| GraphicsLayerAnimation is changed to TextureMapperAnimation |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextureMapperAnimation>::encode): |
| (IPC::ArgumentCoder<TextureMapperAnimation>::decode): |
| (IPC::ArgumentCoder<TextureMapperAnimations>::encode): |
| (IPC::ArgumentCoder<TextureMapperAnimations>::decode): |
| (IPC::ArgumentCoder<GraphicsLayerAnimation>::encode): Deleted. |
| (IPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Deleted. |
| (IPC::ArgumentCoder<GraphicsLayerAnimations>::encode): Deleted. |
| (IPC::ArgumentCoder<GraphicsLayerAnimations>::decode): Deleted. |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| |
| 2015-01-08 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] Cannot paste an image URL in a plain text field in a page. |
| https://bugs.webkit.org/show_bug.cgi?id=140274 |
| rdar://problem/18590809 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| supportedPasteboardTypesForCurrentSelection should include kUTTypeURL for plain |
| text controls and WebArchivePboardType for rich text controls. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView supportedPasteboardTypesForCurrentSelection]): Remove obsolete and |
| incorrect FIXME. |
| |
| 2015-01-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178141. |
| https://bugs.webkit.org/show_bug.cgi?id=140294 |
| |
| Broke multiple API tests (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "Make WKNavigation bridged to API::Navigation" |
| https://bugs.webkit.org/show_bug.cgi?id=140272 |
| http://trac.webkit.org/changeset/178141 |
| |
| 2015-01-08 Benjamin Poulain <benjamin@webkit.org> |
| |
| [WK2] Start a prototype for declarative site specific extensions |
| https://bugs.webkit.org/show_bug.cgi?id=140160 |
| |
| Reviewed by Andreas Kling. |
| |
| Provide a small SPI for OS X. This will likely move |
| to a better place. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _loadContentExtensionWithIdentifier:serializedRules:successCompletionHandler:errorCompletionHandler:]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::processDidFinishLaunching): |
| (WebKit::WebProcessPool::loadContentExtension): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::loadContentExtension): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2015-01-08 Sam Weinig <sam@webkit.org> |
| |
| Make WKNavigation bridged to API::Navigation |
| https://bugs.webkit.org/show_bug.cgi?id=140272 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/APIObject.h: |
| Add Navigation. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Bridge to WKNavigation. |
| |
| * UIProcess/API/APINavigation.cpp: Added. |
| (API::Navigation::Navigation): |
| (API::Navigation::~Navigation): |
| * UIProcess/API/APINavigation.h: Added. |
| (API::Navigation::create): |
| (API::Navigation::request): |
| Add initial implementation. |
| |
| * UIProcess/API/Cocoa/WKNavigation.mm: |
| (-[WKNavigation dealloc]): |
| (-[WKNavigation _request]): |
| (-[WKNavigation _apiObject]): |
| * UIProcess/API/Cocoa/WKNavigationInternal.h: |
| (API::wrapper): |
| Implement bridging to API::Navigation and get the request from the underlying object. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView loadRequest:]): |
| (-[WKWebView loadFileURL:allowingReadAccessToURL:]): |
| (-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): |
| (-[WKWebView goToBackForwardListItem:]): |
| (-[WKWebView goBack]): |
| (-[WKWebView goForward]): |
| (-[WKWebView reload]): |
| (-[WKWebView reloadFromOrigin]): |
| (-[WKWebView _restoreSessionState:andNavigate:]): |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::createLoadRequestNavigation): |
| (WebKit::NavigationState::createBackForwardNavigation): |
| (WebKit::NavigationState::createReloadNavigation): |
| (WebKit::NavigationState::createLoadDataNavigation): |
| (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): |
| (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): |
| (WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame): |
| Switch to storing API::Navigations. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add the new files. |
| |
| 2015-01-08 Dean Jackson <dino@apple.com> |
| |
| Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page |
| https://bugs.webkit.org/show_bug.cgi?id=140232 |
| |
| Yet another attempt to get the Safari 7/8 build to work. I've moved the |
| stubs back into a place where they can be seen (both definition and implementation). |
| I also removed the previous workaround. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKPreferencesSetApplicationChromeModeEnabled): Deleted. |
| (WKPreferencesGetApplicationChromeModeEnabled): Deleted. |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetApplicationChromeModeEnabled): |
| (WKPreferencesGetApplicationChromeModeEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| |
| 2015-01-08 Dean Jackson <dino@apple.com> |
| |
| Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page |
| https://bugs.webkit.org/show_bug.cgi?id=140232 |
| |
| Unreviewed followup to try to get the Mavericks Safari to build. |
| |
| * Shared/WebPreferencesDefinitions.h: Add the application chrome mode definition. |
| |
| 2015-01-08 Dean Jackson <dino@apple.com> |
| |
| Text not drawn or white-on-white for "Close Page"/"Go Back" button on safe browsing warning page |
| https://bugs.webkit.org/show_bug.cgi?id=140232 |
| <rdar://problem/19371010> |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove the applicationChromeMode setting, but leave stubs in to make |
| sure existing binaries don't break. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKPreferencesSetApplicationChromeModeEnabled): |
| (WKPreferencesGetApplicationChromeModeEnabled): |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetApplicationChromeModeEnabled): Deleted. |
| (WKPreferencesGetApplicationChromeModeEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorPageGroups::createInspectorPageGroup): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2015-01-08 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [ThreadedCompositor] Update active animations without interrupting the main-thread |
| https://bugs.webkit.org/show_bug.cgi?id=140245 |
| |
| Reviewed by Martin Robinson. |
| |
| In the Threaded Compositor, CoordinatedGraphicsScene can directly |
| request updateViewport to the compositing thread if it has any active |
| animation. |
| |
| To keep current behavior of CoordinatedGraphics, this patch modifies |
| CoordinatedGraphicsScene to remember the constructed thread as a |
| clientRunLoop, and dispatch updateViewport calls to clientRunLoop. |
| |
| No new tests. No change in functionality. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop): |
| (WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene): |
| (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): |
| (WebKit::CoordinatedGraphicsScene::updateViewport): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::ThreadedCompositor): |
| (WebKit::ThreadedCompositor::runCompositingThread): |
| |
| 2015-01-08 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK] Seperate updateBackingStore from flushCompositingState. |
| https://bugs.webkit.org/show_bug.cgi?id=136887 |
| |
| Reviewed by Žan Doberšek. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::flushPendingLayerChanges): |
| Modified to call GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers |
| |
| 2015-01-07 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK][ThreadedCompositor] Add support for threaded compositor. |
| https://bugs.webkit.org/show_bug.cgi?id=118265 |
| |
| Reviewed by Martin Robinson. |
| |
| This patch introduces a threaded compositor for WebKitGTK+. |
| It is disabled as a default because it is a initial implementation. |
| The threaded compositor can be enabled using --threaded-compositor |
| option at compile time. |
| |
| No new tests, this is an experimental feature. |
| |
| * PlatformGTK.cmake: |
| Adds CoodinatedGraphics and threaded compositor related classes to |
| support threaded compositor |
| |
| * Shared/DrawingAreaInfo.h: |
| Use DrawingAreaImpl for threaded compositor |
| |
| * UIProcess/API/gtk/WebKitSettings.cpp: |
| (_WebKitSettingsPrivate::_WebKitSettingsPrivate): |
| Modified to use forceCompositingMode when the threaded compositor used. |
| If we does not set this mode here, it cannot draw the root content layer. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: Added. |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: Added. |
| (WebKit::ThreadedCoordinatedLayerTreeHost::rootLayer): |
| Implements ThreadedCoordinatedLayerTreeHost to use the threaded |
| compositor. It is basically similar with CoordinatedLayerTreeHost but it uses ThreadedCompositor instead of IPC. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::contentsSizeChanged): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: |
| * WebProcess/WebPage/DrawingArea.cpp: |
| (WebKit::DrawingArea::create): |
| (WebKit::DrawingArea::DrawingArea): |
| * WebProcess/WebPage/DrawingArea.h: |
| COORDINATED_GRAPHICS_MULTIPROCESS is introduced to classify IPC specific codes |
| from Coordinated Graphics. |
| And COORDINATED_GRAPHICS_THREADED is used to guard the threaded |
| compositor specific codes. |
| |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::DrawingAreaImpl): |
| Modified to use forceCompositingMode when the threaded compositor used. |
| If we does not set this mode here, it will crash because of PageOverlay. |
| (WebKit::DrawingAreaImpl::mainFrameContentSizeChanged): |
| (WebKit::DrawingAreaImpl::updateBackingStoreState): |
| Modified to handle contents / viewport size changes for threaded compositor. |
| (WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer): |
| Added to support Overlay layer in the threaded compositor. |
| (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing): |
| Push the surface handle for compositing to the threaded compositor. |
| |
| * WebProcess/WebPage/DrawingAreaImpl.h: Use COORDINATED_GRAPIHCS_THREADED to guard the threaded compositor related codes. |
| * WebProcess/WebPage/LayerTreeHost.cpp: Ditto. |
| * WebProcess/WebPage/LayerTreeHost.h: Ditto. |
| * WebProcess/WebPage/WebPage.cpp: Ditto. |
| * WebProcess/WebPage/WebPage.h: Ditto. |
| * WebProcess/WebPage/WebPage.messages.in: Ditto. |
| |
| * WebProcess/gtk/WebProcessMainGtk.cpp: |
| Modified to call XInitThreads to use thread-safe xlib. |
| |
| 2015-01-07 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT |
| https://bugs.webkit.org/show_bug.cgi?id=137371 |
| |
| Reviewed by David Kilzer. |
| |
| * Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to |
| the list of directories to search for frameworks so that we the linker can find and link against iOS private |
| frameworks (e.g. AssertionServices). |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: |
| (WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation(). |
| * Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h. |
| * Platform/spi/ios/BKSProcessAssertionSPI.h: Added. |
| * Platform/spi/ios/CorePDFSPI.h: Added. |
| * Platform/spi/ios/DataDetectorsUISPI.h: Added. |
| * Platform/spi/ios/ManagedConfigurationSPI.h: Added. |
| * Platform/spi/ios/TCCSPI.h: Added. |
| * Platform/spi/ios/TextInputSPI.h: Added. |
| * Platform/spi/ios/UIKitSPI.h: Added. |
| * Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally |
| include header CFNetwork/CFURLDownload.h. |
| (WebKit::Download::startWithHandle): Ditto. |
| * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead |
| of directly including private headers. |
| * Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * Shared/mac/SandboxUtilities.cpp: Include header sys/param.h. |
| * UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto. |
| * UIProcess/API/ios/WKViewIOS.mm: Ditto. |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers. |
| * UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers. |
| * UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/ViewGestureControllerIOS.mm: Ditto. |
| * UIProcess/ios/WKActionSheet.mm: Ditto. |
| * UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers. |
| * UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI |
| forward declarations to QuartzCoreSPI.h |
| * UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h, |
| ManagedConfigurationSPI.h, TextInputSPI.h. |
| * UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto. |
| * UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h. |
| * UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto. |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto. |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto. |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto. |
| * UIProcess/ios/forms/WKFormInputControl.mm: Ditto. |
| * UIProcess/ios/forms/WKFormPopover.mm: Ditto. |
| * UIProcess/ios/forms/WKFormSelectControl.h: Ditto. |
| * UIProcess/ios/forms/WKFormSelectControl.mm: Ditto. |
| * UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto. |
| * UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of |
| directly including private headers. Also, ignore deprecated declaration for bootstrap_register2(). |
| * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly |
| including private headers. |
| * config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN |
| and WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h). |
| |
| 2015-01-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Make WebKitAcceleratedDrawingEnabled into a "debug" pref, so that it's read without page group prefixes |
| https://bugs.webkit.org/show_bug.cgi?id=140221 |
| |
| Reviewed by Sam Weinig. |
| |
| Applications should not be toggling WebKitAcceleratedDrawingEnabled; it's really only |
| useful to toggle for debugging, so make it a debug pref. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2015-01-07 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r178068. |
| https://bugs.webkit.org/show_bug.cgi?id=140235 |
| |
| Breaks the iOS build (Requested by enrica on #webkit). |
| |
| Reverted changeset: |
| |
| "[iOS] Make WebKit2 build with public iOS SDK and more build |
| fixes for DRT" |
| https://bugs.webkit.org/show_bug.cgi?id=137371 |
| http://trac.webkit.org/changeset/178068 |
| |
| 2015-01-07 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT |
| https://bugs.webkit.org/show_bug.cgi?id=137371 |
| |
| Reviewed by David Kilzer. |
| |
| * Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to |
| the list of directories to search for frameworks so that we the linker can find and link against iOS private |
| frameworks (e.g. AssertionServices). |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: |
| (WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation(). |
| * Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h. |
| * Platform/spi/ios/BKSProcessAssertionSPI.h: Added. |
| * Platform/spi/ios/CorePDFSPI.h: Added. |
| * Platform/spi/ios/DataDetectorsUISPI.h: Added. |
| * Platform/spi/ios/ManagedConfigurationSPI.h: Added. |
| * Platform/spi/ios/TCCSPI.h: Added. |
| * Platform/spi/ios/TextInputSPI.h: Added. |
| * Platform/spi/ios/UIKitSPI.h: Added. |
| * Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally |
| include header CFNetwork/CFURLDownload.h. |
| (WebKit::Download::startWithHandle): Ditto. |
| * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead |
| of directly including private headers. |
| * Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * Shared/mac/SandboxUtilities.cpp: Include header sys/param.h. |
| * UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto. |
| * UIProcess/API/ios/WKViewIOS.mm: Ditto. |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers. |
| Also, ignore deprecated declaration for bootstrap_register2(). |
| * UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers. |
| * UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/ViewGestureControllerIOS.mm: Ditto. |
| * UIProcess/ios/WKActionSheet.mm: Ditto. |
| * UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers. |
| * UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI |
| forward declarations to QuartzCoreSPI.h |
| * UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h, |
| ManagedConfigurationSPI.h, TextInputSPI.h. |
| * UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto. |
| * UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h. |
| * UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers. |
| * UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto. |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto. |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto. |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto. |
| * UIProcess/ios/forms/WKFormInputControl.mm: Ditto. |
| * UIProcess/ios/forms/WKFormPopover.mm: Ditto. |
| * UIProcess/ios/forms/WKFormSelectControl.h: Ditto. |
| * UIProcess/ios/forms/WKFormSelectControl.mm: Ditto. |
| * UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto. |
| * UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of |
| directly including private headers. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly |
| including private headers. |
| * config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN |
| and WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h). |
| |
| 2015-01-07 Beth Dakin <bdakin@apple.com> |
| |
| Adopt delegate callbacks so that standardQuickLookMenuItem does not obscure the |
| link |
| https://bugs.webkit.org/show_bug.cgi?id=140206 |
| -and corresponding- |
| rdar://problem/19300492 |
| |
| Reviewed by Tim Horton. |
| |
| Providing and item frame will ensure that the original link is not obscured. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController menuItem:itemFrameForPoint:]): |
| |
| For now use a max size that is smaller than the WKView, with the screen’s aspect |
| ratio, and scaled down. |
| (-[WKImmediateActionController menuItem:maxSizeForPoint:]): |
| |
| 2015-01-07 Alexey Proskuryakov <ap@apple.com> |
| |
| Release build fix. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| |
| 2015-01-06 Alexey Proskuryakov <ap@apple.com> |
| |
| [Mac] Secondary WebKit processes get re-exec'ed twice when running under ASan |
| https://bugs.webkit.org/show_bug.cgi?id=140175 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions): |
| If the main process is ASanified, add the ASan dynamic library to DYLD_INSERT_LIBRARIES. |
| This avoids an extra re-exec, which is very annoying when debugging. |
| The library is linked in using @rpath, so the only reliable way to find its location |
| is by examining binary images loaded into the current process. |
| |
| 2015-01-07 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] m_layer member in GraphicsLayerTextureMapper is always non-null |
| https://bugs.webkit.org/show_bug.cgi?id=140135 |
| |
| Reviewed by Darin Adler. |
| |
| GraphicsLayerTextureMapper::layer() now returns a reference, |
| so the call sites are updated. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::initialize): |
| (WebKit::LayerTreeHostGtk::layerFlushTimerFired): |
| (WebKit::LayerTreeHostGtk::compositeLayersToContext): |
| |
| 2015-01-06 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| Remove the remaining uses of OwnPtr in threaded compositor. |
| https://bugs.webkit.org/show_bug.cgi?id=140172 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::runCompositingThread): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| |
| 2015-01-06 Timothy Horton <timothy_horton@apple.com> |
| |
| View state change callbacks are sometimes dropped on the floor |
| https://bugs.webkit.org/show_bug.cgi?id=140156 |
| <rdar://problem/19255417> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::dispatchViewStateChange): |
| Always send SetViewState to the Web process if we have any |
| registered view state change callbacks. Otherwise, if nothing changed, |
| we can end up never calling the callback. |
| |
| 2015-01-06 Timothy Horton <timothy_horton@apple.com> |
| |
| Make explicit which TextIndicator animations are driven manually, and which run automatically |
| https://bugs.webkit.org/show_bug.cgi?id=140113 |
| <rdar://problem/19383425> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformDictionaryLookup): |
| Delete an inaccurate comment. |
| |
| 2015-01-06 Anders Carlsson <andersca@apple.com> |
| |
| Remove now unused IndexedDB code |
| https://bugs.webkit.org/show_bug.cgi?id=140128 |
| |
| Reviewed by Darin Adler. |
| |
| Remove a function. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Deleted. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2015-01-06 Darin Adler <darin@apple.com> |
| |
| Fix race in FindController code |
| https://bugs.webkit.org/show_bug.cgi?id=140114 |
| |
| Reviewed by Anders Carlsson. |
| |
| No idea how to reproduce this. Just ran into the crash in my local testing. |
| |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::findString): Use a RefPtr to guarantee the FindController is |
| not deleted while a this pointer is stored in a function. |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Add a DatabaseProvider subclass in WebKit2 and use it for IndexedDB |
| https://bugs.webkit.org/show_bug.cgi?id=140108 |
| |
| Reviewed by Darin Adler. |
| |
| * CMakeLists.txt: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Databases/WebDatabaseProvider.cpp: Added. |
| (WebKit::databaseProviders): |
| (WebKit::WebDatabaseProvider::getOrCreate): |
| (WebKit::WebDatabaseProvider::WebDatabaseProvider): |
| (WebKit::WebDatabaseProvider::~WebDatabaseProvider): |
| (WebKit::WebDatabaseProvider::createIDBFactoryBackend): |
| * WebProcess/Databases/WebDatabaseProvider.h: Added. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| |
| 2015-01-05 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: inspector view top inset should not include height of web view banners |
| https://bugs.webkit.org/show_bug.cgi?id=140076 |
| |
| Reviewed by Anders Carlsson. |
| |
| Added _totalHeightOfBanners property to WKView, which is used by the WebInspectorProxy |
| to calculate the correct vertical position of the Inspector view frame. The browser is |
| responsible for setting the property value whenever banners are installed or uninstalled from |
| the view. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setTotalHeightOfBanners:]): |
| (-[WKView _totalHeightOfBanners]): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): |
| |
| 2015-01-05 Timothy Horton <timothy_horton@apple.com> |
| |
| Implicitly dismissed DD popovers don't clear immediate action state, prematurely dismissing the next DD highlight |
| https://bugs.webkit.org/show_bug.cgi?id=140088 |
| <rdar://problem/19298391> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _menuItemForDataDetectedText]): |
| Instead of just tearing down the TextIndicator, clear all state. |
| |
| 2015-01-05 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more URTBF after r177917. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: |
| * WebProcess/Battery/WebBatteryManager.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: |
| (WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/LayerTreeHost.h: |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of PassRefPtr from IPC::Connection |
| https://bugs.webkit.org/show_bug.cgi?id=140092 |
| |
| Reviewed by Andreas Kling. |
| |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection): |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess): |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::createServerConnection): |
| (IPC::Connection::createClientConnection): |
| (IPC::Connection::Connection): |
| * Platform/IPC/Connection.h: |
| * PluginProcess/WebProcessConnection.cpp: |
| (WebKit::WebProcessConnection::WebProcessConnection): |
| * Shared/ChildProcess.cpp: |
| (WebKit::ChildProcess::initialize): |
| * Shared/ChildProcessProxy.cpp: |
| (WebKit::ChildProcessProxy::didFinishLaunching): |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::didFinishLaunching): |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection): |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::NetworkProcessConnection): |
| * WebProcess/Plugins/PluginProcessConnection.cpp: |
| (WebKit::PluginProcessConnection::PluginProcessConnection): |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::createInspectorPage): |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::establishConnection): |
| |
| 2015-01-05 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177917. |
| |
| * UIProcess/WebBatteryManagerProxy.h: |
| * UIProcess/WebVibrationProxy.h: |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Clean up Connection::SyncMessageState |
| https://bugs.webkit.org/show_bug.cgi?id=140087 |
| |
| Reviewed by Andreas Kling. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::SyncMessageState::syncMessageStateMapMutex): |
| Change this to return an std::mutex and use std::call_once to initialize it properly. |
| |
| (IPC::Connection::SyncMessageState::getOrCreate): |
| Return a Ref. |
| |
| (IPC::Connection::SyncMessageState::~SyncMessageState): |
| Use an std::lock_guard. |
| |
| (IPC::Connection::SyncMessageState::processIncomingMessage): |
| Replace a bind call with a lambda. |
| |
| (IPC::Connection::SyncMessageState::dispatchMessages): |
| ConnectionAndIncomingMessage now holds a Ref<Connection>. |
| |
| (IPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection): |
| Change Connection to a reference. |
| |
| (IPC::Connection::processIncomingMessage): |
| Change Connection to a reference. |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Clean up the storage manager some more |
| https://bugs.webkit.org/show_bug.cgi?id=140086 |
| |
| Reviewed by Andreas Kling. |
| |
| Use lambdas instead of WTF::bind and get rid of a couple of internal functions. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::createSessionStorageNamespace): |
| (WebKit::StorageManager::destroySessionStorageNamespace): |
| (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection): |
| (WebKit::StorageManager::cloneSessionStorageNamespace): |
| (WebKit::StorageManager::processWillCloseConnection): |
| (WebKit::StorageManager::createSessionStorageNamespaceInternal): Deleted. |
| (WebKit::StorageManager::destroySessionStorageNamespaceInternal): Deleted. |
| (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal): Deleted. |
| (WebKit::StorageManager::cloneSessionStorageNamespaceInternal): Deleted. |
| (WebKit::StorageManager::invalidateConnectionInternal): Deleted. |
| * UIProcess/Storage/StorageManager.h: |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Change more connection pointers to references |
| https://bugs.webkit.org/show_bug.cgi?id=140085 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::StorageArea::addListener): |
| (WebKit::StorageManager::StorageArea::removeListener): |
| (WebKit::StorageManager::createLocalStorageMap): |
| (WebKit::StorageManager::createTransientLocalStorageMap): |
| (WebKit::StorageManager::createSessionStorageMap): |
| (WebKit::StorageManager::destroyStorageMap): |
| (WebKit::StorageManager::getValues): |
| (WebKit::StorageManager::setItem): |
| (WebKit::StorageManager::removeItem): |
| (WebKit::StorageManager::clear): |
| (WebKit::StorageManager::applicationWillTerminate): |
| (WebKit::StorageManager::invalidateConnectionInternal): |
| (WebKit::StorageManager::findStorageArea): |
| * UIProcess/Storage/StorageManager.h: |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Change more of the IPC code to take connections by reference |
| https://bugs.webkit.org/show_bug.cgi?id=140083 |
| |
| Reviewed by Andreas Kling. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::didReceiveMessage): |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): |
| (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): |
| * DatabaseProcess/DatabaseToWebProcessConnection.h: |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::didReceiveMessage): |
| (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::didReceiveMessage): |
| (WebKit::NetworkProcess::didReceiveSyncMessage): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkResourceLoader.h: |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::dispatchWorkQueueMessageReceiverMessage): |
| (IPC::Connection::dispatchSyncMessage): |
| (IPC::Connection::dispatchMessage): |
| * Platform/IPC/Connection.h: |
| (IPC::Connection::waitForAndDispatchImmediately): |
| * Platform/IPC/MessageReceiver.h: |
| (IPC::MessageReceiver::didReceiveSyncMessage): |
| * Platform/IPC/MessageReceiverMap.cpp: |
| (IPC::MessageReceiverMap::dispatchMessage): |
| (IPC::MessageReceiverMap::dispatchSyncMessage): |
| * Platform/IPC/MessageReceiverMap.h: |
| * PluginProcess/PluginControllerProxy.h: |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::didReceiveMessage): |
| * PluginProcess/PluginProcess.h: |
| * PluginProcess/WebProcessConnection.cpp: |
| (WebKit::WebProcessConnection::didReceiveMessage): |
| (WebKit::WebProcessConnection::didReceiveSyncMessage): |
| * PluginProcess/WebProcessConnection.h: |
| * Scripts/webkit/messages.py: |
| (async_message_statement): |
| (sync_message_statement): |
| (generate_message_handler): |
| * Shared/API/Cocoa/RemoteObjectRegistry.h: |
| * Shared/Authentication/AuthenticationManager.h: |
| * Shared/ChildProcessProxy.cpp: |
| (WebKit::ChildProcessProxy::dispatchMessage): |
| (WebKit::ChildProcessProxy::dispatchSyncMessage): |
| * Shared/ChildProcessProxy.h: |
| * Shared/Network/CustomProtocols/CustomProtocolManager.h: |
| * Shared/Plugins/NPObjectMessageReceiver.h: |
| * Shared/Plugins/NPRemoteObjectMap.cpp: |
| (WebKit::NPRemoteObjectMap::didReceiveSyncMessage): |
| * Shared/Plugins/NPRemoteObjectMap.h: |
| * Shared/WebConnection.h: |
| * Shared/mac/SecItemShim.h: |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::didReceiveMessage): |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Downloads/DownloadProxy.h: |
| * UIProcess/DrawingAreaProxy.h: |
| * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::didReceiveMessage): |
| (WebKit::NetworkProcessProxy::didReceiveSyncMessage): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Plugins/PluginProcessProxy.h: |
| * UIProcess/Storage/StorageManager.h: |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| * UIProcess/VisitedLinkProvider.h: |
| * UIProcess/WebApplicationCacheManagerProxy.h: |
| * UIProcess/WebCookieManagerProxy.h: |
| * UIProcess/WebDatabaseManagerProxy.h: |
| * UIProcess/WebFullScreenManagerProxy.h: |
| * UIProcess/WebGeolocationManagerProxy.h: |
| * UIProcess/WebIconDatabase.h: |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/WebMediaCacheManagerProxy.h: |
| * UIProcess/WebOriginDataManagerProxy.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::dispatchMessage): |
| (WebKit::WebProcessPool::dispatchSyncMessage): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didReceiveMessage): |
| (WebKit::WebProcessProxy::didReceiveSyncMessage): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebResourceCacheManagerProxy.h: |
| * UIProcess/ios/SmartMagnificationController.h: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: |
| * UIProcess/mac/SecItemShimProxy.h: |
| * UIProcess/mac/ViewGestureController.h: |
| * WebProcess/ApplicationCache/WebApplicationCacheManager.h: |
| * WebProcess/Cookies/WebCookieManager.h: |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): |
| * WebProcess/Databases/WebToDatabaseProcessConnection.h: |
| * WebProcess/FullScreen/WebFullScreenManager.cpp: |
| (WebKit::WebFullScreenManager::didReceiveMessage): |
| * WebProcess/FullScreen/WebFullScreenManager.h: |
| * WebProcess/Geolocation/WebGeolocationManager.h: |
| * WebProcess/IconDatabase/WebIconDatabaseProxy.h: |
| * WebProcess/MediaCache/WebMediaCacheManager.h: |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::didReceiveMessage): |
| (WebKit::NetworkProcessConnection::didReceiveSyncMessage): |
| * WebProcess/Network/NetworkProcessConnection.h: |
| * WebProcess/Network/WebResourceLoader.h: |
| * WebProcess/Notifications/WebNotificationManager.h: |
| * WebProcess/OriginData/WebOriginDataManager.h: |
| * WebProcess/Plugins/PluginProcessConnection.cpp: |
| (WebKit::PluginProcessConnection::didReceiveMessage): |
| (WebKit::PluginProcessConnection::didReceiveSyncMessage): |
| * WebProcess/Plugins/PluginProcessConnection.h: |
| * WebProcess/Plugins/PluginProcessConnectionManager.h: |
| * WebProcess/Plugins/PluginProxy.h: |
| * WebProcess/ResourceCache/WebResourceCacheManager.h: |
| * WebProcess/Scrolling/RemoteScrollingCoordinator.h: |
| * WebProcess/Storage/StorageAreaMap.h: |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/WebCoreSupport/WebDatabaseManager.h: |
| * WebProcess/WebPage/DrawingArea.h: |
| * WebProcess/WebPage/EventDispatcher.h: |
| * WebProcess/WebPage/ViewGestureGeometryCollector.h: |
| * WebProcess/WebPage/ViewUpdateDispatcher.h: |
| * WebProcess/WebPage/VisitedLinkTableController.h: |
| * WebProcess/WebPage/WebInspector.h: |
| * WebProcess/WebPage/WebInspectorUI.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didReceiveMessage): |
| (WebKit::WebPage::didReceiveSyncMessage): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::didReceiveSyncMessage): |
| (WebKit::WebProcess::didReceiveMessage): |
| * WebProcess/WebProcess.h: |
| * WebProcess/ios/WebVideoFullscreenManager.h: |
| |
| 2015-01-05 Anders Carlsson <andersca@apple.com> |
| |
| Pass IPC::Connection by reference to IPC message handlers |
| https://bugs.webkit.org/show_bug.cgi?id=140082 |
| |
| Reviewed by Darin Adler. |
| |
| * Platform/IPC/HandleMessage.h: |
| (IPC::callMemberFunctionImpl): |
| (IPC::callMemberFunction): |
| (IPC::handleMessage): |
| (IPC::handleMessageDelayed): |
| * Scripts/webkit/messages.py: |
| (async_message_statement): |
| (sync_message_statement): |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::createLocalStorageMap): |
| (WebKit::StorageManager::createTransientLocalStorageMap): |
| (WebKit::StorageManager::createSessionStorageMap): |
| (WebKit::StorageManager::destroyStorageMap): |
| (WebKit::StorageManager::getValues): |
| (WebKit::StorageManager::setItem): |
| (WebKit::StorageManager::removeItem): |
| (WebKit::StorageManager::clear): |
| * UIProcess/Storage/StorageManager.h: |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::didPostMessage): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| * UIProcess/WebGeolocationManagerProxy.cpp: |
| (WebKit::WebGeolocationManagerProxy::startUpdating): |
| (WebKit::WebGeolocationManagerProxy::stopUpdating): |
| (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy): |
| * UIProcess/WebGeolocationManagerProxy.h: |
| * UIProcess/WebOriginDataManagerProxy.cpp: |
| (WebKit::WebOriginDataManagerProxy::didGetOrigins): |
| (WebKit::WebOriginDataManagerProxy::didDeleteEntries): |
| (WebKit::WebOriginDataManagerProxy::didDeleteAllEntries): |
| * UIProcess/WebOriginDataManagerProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::handleMessage): |
| (WebKit::WebProcessPool::handleSynchronousMessage): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/mac/SecItemShimProxy.cpp: |
| (WebKit::SecItemShimProxy::secItemRequest): |
| * UIProcess/mac/SecItemShimProxy.h: |
| |
| 2015-01-04 Anders Carlsson <andersca@apple.com> |
| |
| Clean up some of the IPC code |
| https://bugs.webkit.org/show_bug.cgi?id=140057 |
| |
| Reviewed by Antti Koivisto. |
| |
| Use std::mutex instead of WTF::Mutex. Change a couple of pointers to references in the connection client. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::didClose): |
| (WebKit::DatabaseProcess::didReceiveInvalidMessage): |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::didClose): |
| (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage): |
| * DatabaseProcess/DatabaseToWebProcessConnection.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::didClose): |
| (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::didClose): |
| (WebKit::NetworkProcess::didReceiveInvalidMessage): |
| * NetworkProcess/NetworkProcess.h: |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::sendMessage): |
| (IPC::Connection::waitForMessage): |
| (IPC::Connection::connectionDidClose): |
| (IPC::Connection::sendOutgoingMessages): |
| (IPC::Connection::dispatchDidReceiveInvalidMessage): |
| (IPC::Connection::enqueueIncomingMessage): |
| (IPC::Connection::dispatchMessage): |
| (IPC::Connection::dispatchOneMessage): |
| * Platform/IPC/Connection.h: |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::didClose): |
| (WebKit::PluginProcess::didReceiveInvalidMessage): |
| * PluginProcess/PluginProcess.h: |
| * PluginProcess/WebProcessConnection.cpp: |
| (WebKit::WebProcessConnection::didClose): |
| (WebKit::WebProcessConnection::didReceiveInvalidMessage): |
| * PluginProcess/WebProcessConnection.h: |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::didClose): |
| (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage): |
| * UIProcess/Databases/DatabaseProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::didClose): |
| (WebKit::NetworkProcessProxy::didReceiveInvalidMessage): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::didClose): |
| (WebKit::PluginProcessProxy::didReceiveInvalidMessage): |
| * UIProcess/Plugins/PluginProcessProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didClose): |
| (WebKit::WebProcessProxy::didReceiveInvalidMessage): |
| * UIProcess/WebProcessProxy.h: |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::didClose): |
| (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage): |
| * WebProcess/Databases/WebToDatabaseProcessConnection.h: |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::didClose): |
| (WebKit::NetworkProcessConnection::didReceiveInvalidMessage): |
| * WebProcess/Network/NetworkProcessConnection.h: |
| * WebProcess/Plugins/PluginProcessConnection.cpp: |
| (WebKit::PluginProcessConnection::didClose): |
| (WebKit::PluginProcessConnection::didReceiveInvalidMessage): |
| * WebProcess/Plugins/PluginProcessConnection.h: |
| * WebProcess/WebPage/WebInspector.h: |
| * WebProcess/WebPage/WebInspectorUI.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::didClose): |
| (WebKit::WebProcess::didReceiveInvalidMessage): |
| * WebProcess/WebProcess.h: |
| |
| 2015-01-01 Sam Weinig <sam@webkit.org> |
| |
| Remove GroupSettings |
| https://bugs.webkit.org/show_bug.cgi?id=140037 |
| |
| Reviewed by Dan Bernstein. |
| |
| Remove unused databaseDirectoryIdentifier parameters. |
| |
| * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: |
| (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend): |
| (WebKit::WebIDBFactoryBackend::getDatabaseNames): |
| (WebKit::WebIDBFactoryBackend::deleteDatabase): |
| * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createIDBFactoryBackend): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2015-01-01 Jeff Miller <jeffm@apple.com> |
| |
| Update user-visible copyright strings to include 2015 |
| https://bugs.webkit.org/show_bug.cgi?id=139880 |
| |
| Reviewed by Darin Adler. |
| |
| * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: |
| * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: |
| * Info.plist: |
| * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: |
| * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: |
| * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: |
| * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: |
| * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: |
| * mac/Info-WebKit2.plist: |
| |
| 2014-12-31 Sam Weinig <sam@webkit.org> |
| |
| Move scrolling code off of WTF::bind |
| https://bugs.webkit.org/show_bug.cgi?id=140019 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/EventDispatcher.cpp: |
| (WebKit::EventDispatcher::wheelEvent): |
| (WebKit::EventDispatcher::touchEvent): |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): |
| |
| 2015-01-01 Darin Adler <darin@apple.com> |
| |
| We often misspell identifier as "identifer" |
| https://bugs.webkit.org/show_bug.cgi?id=140025 |
| |
| Reviewed by Michael Saboff. |
| |
| * Shared/WebPageGroupData.cpp: |
| (WebKit::WebPageGroupData::encode): |
| (WebKit::WebPageGroupData::decode): |
| * Shared/WebPageGroupData.h: |
| * UIProcess/WebPageGroup.cpp: |
| (WebKit::pageGroupData): |
| (WebKit::WebPageGroup::WebPageGroup): |
| * UIProcess/WebPageGroup.h: |
| (WebKit::WebPageGroup::identifier): |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::createInspectorPage): |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::WebPageGroupProxy): |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| (WebKit::WebPageGroupProxy::identifier): |
| Fix misspellings. |
| |
| 2014-12-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [GTK] Suppress unused parameter warnings in ui clients |
| https://bugs.webkit.org/show_bug.cgi?id=140012 |
| |
| Drop the parameter name of WebKitUIClient::isPlayingAudioDidChange |
| to suppress warnings. |
| |
| Reviewed by Benjamin Poulain. |
| |
| * UIProcess/API/gtk/WebKitUIClient.cpp: |
| |
| 2014-12-31 Sam Weinig <sam@webkit.org> |
| |
| Remove the remaining uses of OwnPtr from WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=140017 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: |
| (WebKit::RemoteScrollingCoordinatorTransaction::decode): |
| * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: |
| (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode): |
| (WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree): |
| * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: |
| * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: |
| (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::PageClientImpl): |
| * UIProcess/mac/WKFullScreenWindowController.h: |
| * UIProcess/mac/WKPrintingView.mm: |
| (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): |
| (-[WKPrintingView _askPageToComputePageRects]): |
| (-[WKPrintingView _drawPreview:]): |
| * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: |
| |
| 2014-12-31 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| Fix build warnings after r177792. |
| https://bugs.webkit.org/show_bug.cgi?id=140005. |
| |
| Reviewed by Anders Carlsson. |
| |
| Add UNUSED_PARAM(connection) for async messages. |
| |
| * Scripts/webkit/messages.py: |
| (generate_message_handler): |
| |
| 2014-12-31 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed build fix for the GTK port. |
| |
| Move the ArgumentCodersGtk.h inclusion from WebPageProxy.cpp to |
| WebPageProxy.h. This makes GTK-specific IPC coders available to |
| WebPageProxyMessageReceiver, fixing a build error due to missing |
| ArgumentCoder template specializations for WebCore::DragData type |
| that is used in the GTK-specific StartDrag message. |
| |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPageProxy.h: |
| |
| 2014-12-31 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177824 and r177826. |
| https://bugs.webkit.org/show_bug.cgi?id=140011 |
| |
| The new test crashes (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "Too large plugins are crashing." |
| https://bugs.webkit.org/show_bug.cgi?id=139856 |
| http://trac.webkit.org/changeset/177824 |
| |
| "Fix bug number typo in the previous commit." |
| http://trac.webkit.org/changeset/177826 |
| |
| 2014-12-30 Gabor Rapcsanyi <rgabor@webkit.org> |
| |
| Too large plugins are crashing. |
| https://bugs.webkit.org/show_bug.cgi?id=139868 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/Plugins/PluginProxy.cpp: |
| (WebKit::PluginProxy::updateBackingStore): Return false if backingStore cannot be allocated. |
| |
| 2014-12-30 Anders Carlsson <andersca@apple.com> |
| |
| Transient local storage namespaces need to ref their storage areas |
| https://bugs.webkit.org/show_bug.cgi?id=140006 |
| <rdar://problem/19225389> |
| |
| Reviewed by Sam Weinig. |
| |
| We need to keep transient storage areas around even if they have no active connections, |
| so use a RefPtr instead of a raw pointer. This matches what we do for session storage namespaces. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Remove unneeded StorageNamespace functions |
| https://bugs.webkit.org/show_bug.cgi?id=139997 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::close): Deleted. |
| (WebKit::StorageNamespaceImpl::clearOriginForDeletion): Deleted. |
| (WebKit::StorageNamespaceImpl::clearAllOriginsForDeletion): Deleted. |
| (WebKit::StorageNamespaceImpl::sync): Deleted. |
| (WebKit::StorageNamespaceImpl::closeIdleLocalStorageDatabases): Deleted. |
| * WebProcess/Storage/StorageNamespaceImpl.h: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Move storage code from WebCore to WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=139558 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebProcess.cpp: |
| |
| 2014-12-29 Dan Bernstein <mitz@apple.com> |
| |
| Fixed the iOS build. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Another iOS build fix. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::elementDidFocus): |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Turn on transient local storage support again |
| https://bugs.webkit.org/show_bug.cgi?id=139995 |
| |
| Reviewed by Sam Weinig. |
| |
| Using transient local storage caused weird crashes in the UI process so that change had to |
| be backed out - let's turn it on and see if it still happens. |
| |
| * WebProcess/Storage/WebStorageNamespaceProvider.cpp: |
| (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace): |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Remove more old coder code gunk. |
| |
| Rubber-stamped by Sam Weinig. |
| |
| * Scripts/webkit/messages.py: |
| (argument_coder_headers_for_type): |
| (handler_function): Deleted. |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the iOS build. |
| |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::startAssistingNode): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::elementDidFocus): |
| |
| 2014-12-29 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177805. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Remove the old user message coder code |
| https://bugs.webkit.org/show_bug.cgi?id=139994 |
| |
| Reviewed by Sam Weinig. |
| |
| * Platform/IPC/HandleMessage.h: |
| (IPC::callMemberFunctionImpl): Deleted. |
| (IPC::callMemberFunction): Deleted. |
| (IPC::handleMessageVariadic): Deleted. |
| * Scripts/webkit/messages.py: |
| (decode_type): |
| (async_message_statement): |
| (sync_message_statement): |
| * Shared/UserMessageCoders.h: Removed. |
| * Shared/mac/ObjCObjectGraphCoders.h: Removed. |
| * Shared/mac/ObjCObjectGraphCoders.mm: Removed. |
| * UIProcess/WebConnectionToWebProcess.cpp: |
| * UIProcess/WebContextUserMessageCoders.h: Removed. |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebProcessPool.cpp: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Removed. |
| * WebProcess/WebConnectionToUIProcess.cpp: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| * WebProcess/WebPage/WebContextMenu.cpp: |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| * WebProcess/WebProcess.cpp: |
| |
| 2014-12-29 Sam Weinig <sam@webkit.org> |
| |
| Move WebPasteboardProxy from Shared to UIProcess, where it should have been all along |
| Rubber-stamped by Anders Carlsson. |
| |
| * Shared/WebPasteboardProxy.cpp: Removed. |
| * Shared/WebPasteboardProxy.h: Removed. |
| * Shared/WebPasteboardProxy.messages.in: Removed. |
| * UIProcess/WebPasteboardProxy.cpp: Copied from Shared/WebPasteboardProxy.cpp. |
| * UIProcess/WebPasteboardProxy.h: Copied from Shared/WebPasteboardProxy.h. |
| * UIProcess/WebPasteboardProxy.messages.in: Copied from Shared/WebPasteboardProxy.messages.in. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-12-29 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the iOS build. |
| |
| * Shared/WebPasteboardProxy.h: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Convert injected bundle message posting to UserData |
| https://bugs.webkit.org/show_bug.cgi?id=139993 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| (WebKit::WebProcessPool::postMessageToInjectedBundle): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::handleInjectedBundleMessage): |
| (WebKit::WebProcess::postInjectedBundleMessage): Deleted. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2014-12-29 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the iOS build. |
| |
| * Shared/WebPasteboardProxy.h: |
| |
| 2014-12-29 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more speculative buildfix after r177794. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-29 Sam Weinig <sam@webkit.org> |
| |
| Try to fix the iOS build. |
| |
| * Shared/WebPasteboardProxy.h: |
| |
| 2014-12-29 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Speculative buildfix after r177793. |
| |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-12-29 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Speculative buildfix after r177794. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-29 Sam Weinig <sam@webkit.org> |
| |
| Removes some unnecessary use of LegacyReceiver |
| https://bugs.webkit.org/show_bug.cgi?id=139992 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebConnection.cpp: |
| (WebKit::WebConnection::didReceiveMessage): Deleted. |
| * Shared/WebConnection.h: |
| * Shared/WebConnection.messages.in: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::didReceiveMessage): Deleted. |
| (WebKit::WebProcessPool::didReceiveSyncMessage): Deleted. |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessPool.messages.in: |
| Remove unnecessary use of LegacyReceiver. |
| |
| * UIProcess/WebPageProxy.h: |
| Remove declarations for functions that don't exist. |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Convert all variadic web process messages to UserData |
| https://bugs.webkit.org/show_bug.cgi?id=139991 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::loadRequest): |
| (WebKit::WebPageProxy::loadFile): |
| (WebKit::WebPageProxy::loadData): |
| (WebKit::WebPageProxy::loadHTMLString): |
| (WebKit::WebPageProxy::loadAlternateHTMLString): |
| (WebKit::WebPageProxy::loadPlainTextString): |
| (WebKit::WebPageProxy::loadWebArchiveData): |
| (WebKit::WebPageProxy::postMessageToInjectedBundle): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::loadRequest): |
| (WebKit::WebPage::loadDataImpl): |
| (WebKit::WebPage::loadString): |
| (WebKit::WebPage::loadData): |
| (WebKit::WebPage::loadHTMLString): |
| (WebKit::WebPage::loadAlternateHTMLString): |
| (WebKit::WebPage::loadPlainTextString): |
| (WebKit::WebPage::loadWebArchiveData): |
| (WebKit::WebPage::postInjectedBundleMessage): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Convert all variadic WebProcessProxy message over to UserData |
| https://bugs.webkit.org/show_bug.cgi?id=139990 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::willGoToBackForwardListItem): |
| (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): |
| (WebKit::WebPageProxy::didFinishLoadForFrame): |
| (WebKit::WebPageProxy::didFailLoadForFrame): |
| (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): |
| (WebKit::WebPageProxy::didReceiveTitleForFrame): |
| (WebKit::WebPageProxy::didFirstLayoutForFrame): |
| (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): |
| (WebKit::WebPageProxy::didLayout): |
| (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): |
| (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): |
| (WebKit::WebPageProxy::didRunInsecureContentForFrame): |
| (WebKit::WebPageProxy::didDetectXSSForFrame): |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): |
| (WebKit::WebPageProxy::decidePolicyForNewWindowAction): |
| (WebKit::WebPageProxy::decidePolicyForResponse): |
| (WebKit::WebPageProxy::decidePolicyForResponseSync): |
| (WebKit::WebPageProxy::unableToImplementPolicy): |
| (WebKit::WebPageProxy::willSubmitForm): |
| (WebKit::WebPageProxy::mouseDidMoveOverElement): |
| (WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): |
| (WebKit::WebPageProxy::didRecognizeLongMousePress): |
| (WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): |
| (WebKit::WebPageProxy::showContextMenu): |
| (WebKit::WebPageProxy::internalShowContextMenu): |
| (WebKit::WebPageProxy::didPerformActionMenuHitTest): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::showSelectionServiceMenu): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::mouseDidMoveOverElement): |
| (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): |
| (WebKit::WebChromeClient::didRecognizeLongMousePress): |
| (WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::detachedFromParent2): |
| (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): |
| (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidLayout): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy): |
| (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): |
| (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): |
| (WebKit::WebFrameLoaderClient::didDisplayInsecureContent): |
| (WebKit::WebFrameLoaderClient::didRunInsecureContent): |
| (WebKit::WebFrameLoaderClient::didDetectXSS): |
| * WebProcess/WebPage/WebContextMenu.cpp: |
| (WebKit::WebContextMenu::show): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2014-12-29 Sam Weinig <sam@webkit.org> |
| |
| Move Pasteboard code out of WebProcessPool and into its own singleton class |
| https://bugs.webkit.org/show_bug.cgi?id=139987 |
| |
| Reviewed by Anders Carlsson. |
| |
| * DerivedSources.make: |
| * Shared/WebPasteboardProxy.cpp: Added. |
| (WebKit::WebPasteboardProxy::shared): |
| (WebKit::WebPasteboardProxy::WebPasteboardProxy): |
| (WebKit::WebPasteboardProxy::addWebProcessProxy): |
| * Shared/WebPasteboardProxy.h: Added. |
| * Shared/WebPasteboardProxy.messages.in: Added. |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: Added. |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::didReceiveSyncMessage): |
| (WebKit::WebProcessPool::dummy): Deleted. |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessPool.messages.in: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::WebProcessProxy): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::writeItemsToPasteboard): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| |
| 2014-12-29 Anders Carlsson <andersca@apple.com> |
| |
| Use UserData for bundle initialization data |
| https://bugs.webkit.org/show_bug.cgi?id=139989 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::~WebProcessCreationParameters): |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-12-28 Anders Carlsson <andersca@apple.com> |
| |
| Use UserData when sending messages to the process pool |
| https://bugs.webkit.org/show_bug.cgi?id=139978 |
| |
| Reviewed by Sam Weinig. |
| |
| * Scripts/webkit/messages.py: |
| (generate_message_handler): |
| Include the connection parameter for legacy receivers as well. |
| |
| * Shared/CoreIPCSupport/WebContextMessageKinds.h: |
| Remove this, it's no longer needed. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::didReceiveMessage): |
| No need to special case the postMessage message. |
| |
| (WebKit::WebProcessPool::didReceiveSyncMessage): |
| No need to special case the postSynchronousMessageMessage message. |
| |
| (WebKit::WebProcessPool::handleMessage): |
| Convert handles to objects and call didReceiveMessageFromInjectedBundle. |
| |
| (WebKit::WebProcessPool::handleSynchronousMessage): |
| Convert handles to objects, call didReceiveSynchronousMessageFromInjectedBundle, and then |
| convert objects back to handles in the reply. |
| |
| (WebKit::WebProcessPool::didReceiveMessageFromInjectedBundle): Deleted. |
| (WebKit::WebProcessPool::didReceiveSynchronousMessageFromInjectedBundle): Deleted. |
| (WebKit::WebProcessPool::dummy): Deleted. |
| * UIProcess/WebProcessPool.h: |
| Add handleMessage and handleSynchronousMessage message handlers. |
| |
| * UIProcess/WebProcessPool.messages.in: |
| Add new messages. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Remove a now unused file. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::postMessage): |
| Convert objects to handles in the message body and then send the HandleMessage to the UI process. |
| |
| (WebKit::InjectedBundle::postSynchronousMessage): |
| Convert objects to handles in the message body, send the HandleSynchronousMessage message to the UI process, |
| and then convert handles back to objects in the reply. |
| |
| 2014-12-28 Anders Carlsson <andersca@apple.com> |
| |
| Transform nested objects inside arrays |
| https://bugs.webkit.org/show_bug.cgi?id=139976 |
| |
| Reviewed by Oliver Hunt. |
| |
| Call transformGraph on each element so that we'll transform other nested objects correctly. |
| |
| * Shared/UserData.cpp: |
| (WebKit::transformGraph): |
| |
| 2014-12-27 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix after r177765. |
| |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::ObjCObjectGraph::encode): |
| |
| 2014-12-27 Anders Carlsson <andersca@apple.com> |
| |
| Switch WebConnection over to sending objects with UserData |
| https://bugs.webkit.org/show_bug.cgi?id=139967 |
| |
| Reviewed by Oliver Hunt. |
| |
| * Shared/WebConnection.cpp: |
| (WebKit::WebConnection::postMessage): |
| No need to construct the message manually anymore. |
| |
| (WebKit::WebConnection::handleMessage): |
| No need to decode the message manually, just get the object from the UserData message body, |
| convert any handles to objects, and dispatch the message. |
| |
| * Shared/WebConnection.h: |
| Remove now unused members. |
| |
| * Shared/WebConnection.messages.in: |
| Give HandleMessage a proper signature. |
| |
| * UIProcess/WebConnectionToWebProcess.cpp: |
| (WebKit::WebConnectionToWebProcess::transformHandlesToObjects): |
| (WebKit::WebConnectionToWebProcess::transformObjectsToHandles): |
| Call the WebProcessProxy version. |
| |
| (WebKit::WebConnectionToWebProcess::encodeMessageBody): Deleted. |
| (WebKit::WebConnectionToWebProcess::decodeMessageBody): Deleted. |
| |
| * UIProcess/WebConnectionToWebProcess.h: |
| * WebProcess/WebConnectionToUIProcess.cpp: |
| (WebKit::WebConnectionToUIProcess::encodeMessageBody): Deleted. |
| (WebKit::WebConnectionToUIProcess::decodeMessageBody): Deleted. |
| * WebProcess/WebConnectionToUIProcess.h: |
| Delete more unused members. |
| |
| 2014-12-27 Anders Carlsson <andersca@apple.com> |
| |
| Encode and decode WKTypeRefWrapper objects |
| https://bugs.webkit.org/show_bug.cgi?id=139966 |
| |
| Reviewed by Oliver Hunt. |
| |
| * Shared/UserData.cpp: |
| (WebKit::UserData::encode): |
| * Shared/UserData.h: |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::typeFromObject): |
| (WebKit::ObjCObjectGraph::encode): |
| (WebKit::ObjCObjectGraph::decode): |
| |
| 2014-12-27 Anders Carlsson <andersca@apple.com> |
| |
| Implement encoding and decoding of ObjCObjectGraph objects |
| https://bugs.webkit.org/show_bug.cgi?id=139965 |
| |
| Reviewed by Oliver Hunt. |
| |
| * Shared/UserData.cpp: |
| (WebKit::UserData::encode): |
| (WebKit::UserData::decode): |
| * Shared/mac/ObjCObjectGraph.h: |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::typeFromObject): |
| (WebKit::ObjCObjectGraph::encode): |
| (WebKit::ObjCObjectGraph::decode): |
| |
| 2014-12-27 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] WKWebProcessPlugInLoadDelegate uses the deprecated WKRenderingProgressEvents enum |
| https://bugs.webkit.org/show_bug.cgi?id=139964 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Removed. |
| |
| * Shared/API/Cocoa/_WKRenderingProgressEvents.h: Added. Moved the enum definition from |
| WKWebViewPrivate.h to here. |
| |
| * Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h: Added. |
| (renderingProgressEvents): Moved from NavigationState.mm to here. |
| |
| * UIProcess/API/Cocoa/WKBrowsingContextController.h: Removed observedRenderingProgressEvents |
| property declaration. |
| * UIProcess/API/Cocoa/WKBrowsingContextController.mm: |
| (layoutMilestones): Deleted. |
| (-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Deleted. This is not |
| needed for binary compatibility. |
| (didLayout): Deleted. |
| (setUpPageLoaderClient): Removed setting up didLayout callback. |
| * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Removed unused delegate method. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: Import definition of _WKRenderingProgressEvents |
| from new header. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::renderingProgressEvents): Moved into its own header. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removeals, and moved |
| WKRenderingProgressEvents.h into a new Deprecated group. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Changed the type of |
| a delegate method parameter to _WKRenderingProgressEvents. |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (didLayout): Pass the new type. |
| |
| 2014-12-26 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Safari build crashes when "zooming into"/choosing a tab from tab view |
| https://bugs.webkit.org/show_bug.cgi?id=139934 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setIgnoresNonWheelEvents:]): |
| Trying to add a nil gesture recognizer raises an exception. Stop assuming that a |
| gesture recognizer is non-nil. |
| |
| 2014-12-26 Anders Carlsson <andersca@apple.com> |
| |
| Handle more types in the UserData encode/decode functions |
| https://bugs.webkit.org/show_bug.cgi?id=139959 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/UserData.cpp: |
| (WebKit::UserData::encode): |
| (WebKit::UserData::decode): |
| |
| 2014-12-26 Anders Carlsson <andersca@apple.com> |
| |
| Move handle encoding functions to their respective implementation files |
| https://bugs.webkit.org/show_bug.cgi?id=139957 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/APIFrameHandle.cpp: |
| (API::FrameHandle::encode): |
| (API::FrameHandle::decode): |
| * Shared/API/APIFrameHandle.h: |
| * Shared/API/APIPageGroupHandle.cpp: |
| (API::PageGroupHandle::PageGroupHandle): |
| (API::PageGroupHandle::encode): |
| (API::PageGroupHandle::decode): |
| * Shared/API/APIPageGroupHandle.h: |
| * Shared/API/APIPageHandle.cpp: |
| (API::PageHandle::encode): |
| (API::PageHandle::decode): |
| * Shared/API/APIPageHandle.h: |
| * Shared/UserData.cpp: |
| (WebKit::UserData::encode): |
| (WebKit::UserData::decode): |
| |
| 2014-12-26 Anders Carlsson <andersca@apple.com> |
| |
| Add the notion of auto-converting page and frame handles |
| https://bugs.webkit.org/show_bug.cgi?id=139954 |
| |
| Reviewed by Dan Bernstein. |
| |
| This makes it possible to tell the difference between page and frame handles that |
| should be converted to their respective UI or web process object representations |
| and handles that should stay the same (for the modern API for example). |
| |
| * Shared/API/APIFrameHandle.cpp: |
| (API::FrameHandle::create): |
| (API::FrameHandle::createAutoconverting): |
| (API::FrameHandle::FrameHandle): |
| * Shared/API/APIFrameHandle.h: |
| (API::FrameHandle::isAutoconverting): |
| * Shared/API/APIPageHandle.cpp: |
| (API::PageHandle::create): |
| (API::PageHandle::createAutoconverting): |
| (API::PageHandle::PageHandle): |
| * Shared/API/APIPageHandle.h: |
| (API::PageHandle::isAutoconverting): |
| * Shared/API/Cocoa/_WKFrameHandle.mm: |
| (-[_WKFrameHandle initWithCoder:]): |
| * Shared/UserData.cpp: |
| (WebKit::shouldTransform): |
| * Shared/UserData.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::printFrame): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::transformHandlesToObjects): |
| (WebKit::WebProcessProxy::transformObjectsToHandles): |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: |
| (-[WKWebProcessPlugInFrame handle]): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| |
| 2014-12-26 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Some modern SPI changes have missing or incorrect availability annotations |
| https://bugs.webkit.org/show_bug.cgi?id=139940 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/API/c/WKDeclarationSpecifiers.h: Renamed WK_DEPRECATED to WK_C_DEPRECATED. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Define WK_DEPRECATED when API availability is not enabled |
| to mean that the declaration is currently deprecated. |
| |
| * Shared/API/c/WKConnectionRef.h: Updated for the renaming of the existing WK_DEPRECATED to |
| WK_C_DEPRECATED. |
| * UIProcess/API/C/WKContext.h: Ditto. |
| * UIProcess/API/C/WKContextConnectionClient.h: Ditto. |
| * UIProcess/API/C/WKContextDownloadClient.h: Ditto. |
| * UIProcess/API/C/WKContextHistoryClient.h: Ditto. |
| * UIProcess/API/C/WKContextInjectedBundleClient.h: Ditto. |
| * UIProcess/API/C/WKCookieManager.h: Ditto. |
| * UIProcess/API/C/WKDatabaseManager.h: Ditto. |
| * UIProcess/API/C/WKGeolocationManager.h: Ditto. |
| * UIProcess/API/C/WKIconDatabase.h: Ditto. |
| * UIProcess/API/C/WKNotificationProvider.h: Ditto. |
| * UIProcess/API/C/WKPageContextMenuClient.h: Ditto. |
| * UIProcess/API/C/WKPageFindClient.h: Ditto. |
| * UIProcess/API/C/WKPageFindMatchesClient.h: Ditto. |
| * UIProcess/API/C/WKPageFormClient.h: Ditto. |
| * UIProcess/API/C/WKPageUIClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundle.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Ditto. |
| * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Ditto. |
| |
| * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added missing availability annotation. |
| |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Changed to use WK_MAC_TBA and WK_IOS_TBA for |
| _WKDebugOverlayRegions enum. Added availability annotations to new properties. |
| |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Added availability annotation to new method. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Annotated new method, changed Mac |
| availability of iOS-only method to NA. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added availability annotation to new enum value, |
| new property, and new method. Added deprecation annotation to one method. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: Annotated new method. |
| |
| * mac/rewrite-availability-macros.sh: Rewrite WK_DEPRECATED to NS_DEPRECATED. |
| |
| 2014-12-26 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain |
| https://bugs.webkit.org/show_bug.cgi?id=139950 |
| |
| Reviewed by David Kilzer. |
| |
| * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so |
| in a manner that works with Xcode 5.1.1. |
| |
| 2014-12-25 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| Fix build warning after r177700 |
| https://bugs.webkit.org/show_bug.cgi?id=139948 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * UIProcess/WebConnectionToWebProcess.cpp: |
| (WebKit::WebConnectionToWebProcess::transformHandlesToObjects): |
| (WebKit::WebConnectionToWebProcess::transformObjectsToHandles): |
| |
| 2014-12-25 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources |
| https://bugs.webkit.org/show_bug.cgi?id=139921 |
| |
| Reviewed by Gavin Barraclough and Alexey Proskuryakov. |
| |
| Call PageCache::pruneToCapacityNow() instead of multiple calls to |
| setCapacity() as it does exactly what we want. Also pass the new |
| PrunedReason argument so help us do better logging. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::releasePageCache): |
| |
| 2014-12-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177712 and r177717. |
| https://bugs.webkit.org/show_bug.cgi?id=139944 |
| |
| Caused flaky assertion failures (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "[iOS] Log better using FeatureCounter why PageCache is |
| failing due to pruned resources" |
| https://bugs.webkit.org/show_bug.cgi?id=139921 |
| http://trac.webkit.org/changeset/177712 |
| |
| "Unreviewed, fix build warning after r177712" |
| http://trac.webkit.org/changeset/177717 |
| |
| 2014-12-24 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] WebKit private headers shouldn’t contain “inappropriate” macros |
| https://bugs.webkit.org/show_bug.cgi?id=139942 |
| |
| Reviewed by Darin Adler. |
| |
| * WebKit2.xcodeproj/project.pbxproj: In the Check For Inappropriate Macros in External |
| Headers script build phase, check the PrivateHeaders directory as well. |
| |
| 2014-12-24 Dan Bernstein <mitz@apple.com> |
| |
| Addressed a linker warning about the definition of a method in a category overridng a method from the class. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView(Private) _targetWindowForMovePreparation]): Deleted. This was identical to the |
| definition in the main WKView implementation above. |
| |
| 2014-12-23 ChangSeok Oh <changseok.oh@collabora.com> |
| |
| [GTK] Build fix after r177692 |
| https://bugs.webkit.org/show_bug.cgi?id=139919 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| This change addresses build failures introduced after r177692. |
| |
| * PlatformEfl.cmake: Renamed WebContextSoup to WebProcessPoolSoup.cpp |
| * PlatformGTK.cmake: ditto. |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| * UIProcess/API/gtk/WebKitDownloadClient.cpp: |
| * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp: |
| (webkitFormSubmissionRequestCreate): |
| (webkit_form_submission_request_get_text_fields): |
| * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h: |
| * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: |
| (didReceiveWebViewMessageFromInjectedBundle): |
| (didReceiveMessageFromInjectedBundle): |
| * UIProcess/API/gtk/WebKitSecurityManager.cpp: |
| (registerSecurityPolicyForURIScheme): |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| (webkit_web_context_prefetch_dns): |
| (webkitWebContextGetContext): |
| * UIProcess/API/gtk/WebKitWebContextPrivate.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_get_snapshot): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseCreate): |
| (webkitWebViewBaseCreateWebPage): |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * UIProcess/API/gtk/WebKitWindowProperties.cpp: |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp. |
| (WebKit::initInspectorServer): |
| (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| (WebKit::WebProcessPool::platformInvalidateContext): |
| (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): |
| (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): |
| (WebKit::WebProcessPool::platformDefaultIconDatabasePath): |
| (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): |
| (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): |
| (WebKit::WebProcessPool::platformDefaultDiskCacheDirectory): |
| (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): |
| (WebKit::WebProcessPool::setIgnoreTLSErrors): |
| * UIProcess/soup/WebProcessPoolSoup.cpp: Renamed from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp. |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: |
| (webkitWebExtensionDidReceiveMessage): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (didInitiateLoadForResource): |
| (willSendRequestForFrame): |
| (didReceiveResponseForResource): |
| (didReceiveContentLengthForResource): |
| (didFinishLoadForResource): |
| (didFailLoadForResource): |
| (webkitWebPageDidReceiveMessage): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h: |
| |
| 2014-12-23 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix |
| |
| * UIProcess/API/Cocoa/WKProcessGroup.mm: |
| (-[WKProcessGroup _geolocationProvider]): |
| |
| 2014-12-23 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL][WK2] Fix a lot of build break since r177692 |
| https://bugs.webkit.org/show_bug.cgi?id=139932 |
| |
| Unreviewed EFL build fix. |
| |
| Rename WebContext with WebProcessPool in EFL port files. |
| |
| * CMakeLists.txt: |
| * UIProcess/API/efl/EwkView.cpp: |
| * UIProcess/API/efl/ewk_context.cpp: |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: |
| (TEST_F): |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| (WebKit::WebView::WebView): |
| * UIProcess/CoordinatedGraphics/WebView.h: |
| * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: |
| (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): |
| (WebKit::CustomProtocolManagerProxy::startLoading): |
| (WebKit::CustomProtocolManagerProxy::stopLoading): |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: |
| (WebKit::WebSoupCustomProtocolRequestManager::create): |
| (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager): |
| (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol): |
| (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol): |
| (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse): |
| (WebKit::WebSoupCustomProtocolRequestManager::didLoadData): |
| (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError): |
| (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading): |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: |
| * UIProcess/WebBatteryManagerProxy.cpp: |
| (WebKit::WebBatteryManagerProxy::create): |
| (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): |
| (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): |
| (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): |
| * UIProcess/WebBatteryManagerProxy.h: |
| * UIProcess/WebTextChecker.cpp: |
| (WebKit::updateStateForAllContexts): |
| * UIProcess/WebVibrationProxy.cpp: |
| (WebKit::WebVibrationProxy::WebVibrationProxy): |
| (WebKit::WebVibrationProxy::~WebVibrationProxy): |
| * UIProcess/efl/RequestManagerClientEfl.h: |
| * UIProcess/efl/WebContextEfl.cpp: |
| (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| (WebKit::WebProcessPool::platformInvalidateContext): |
| (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): |
| (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): |
| (WebKit::WebProcessPool::platformDefaultIconDatabasePath): |
| (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): |
| (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): |
| (WebKit::WebProcessPool::platformDefaultDiskCacheDirectory): |
| (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): |
| (WebKit::WebProcessPool::setIgnoreTLSErrors): |
| (WebKit::WebContext::platformDefaultApplicationCacheDirectory): Deleted. |
| (WebKit::WebContext::platformInitializeWebProcess): Deleted. |
| (WebKit::WebContext::platformInvalidateContext): Deleted. |
| (WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Deleted. |
| (WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Deleted. |
| (WebKit::WebContext::platformDefaultIconDatabasePath): Deleted. |
| (WebKit::WebContext::platformDefaultLocalStorageDirectory): Deleted. |
| (WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Deleted. |
| (WebKit::WebContext::platformDefaultDiskCacheDirectory): Deleted. |
| (WebKit::WebContext::platformDefaultCookieStorageDirectory): Deleted. |
| (WebKit::WebContext::setIgnoreTLSErrors): Deleted. |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| * UIProcess/efl/WebViewEfl.cpp: |
| (WebKit::WebView::create): |
| (WebKit::WebViewEfl::WebViewEfl): |
| * UIProcess/efl/WebViewEfl.h: |
| * UIProcess/soup/WebContextSoup.cpp: |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| (WebKit::WebContext::platformInitializeNetworkProcess): Deleted. |
| * UIProcess/soup/WebCookieManagerProxySoup.cpp: |
| (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): |
| * UIProcess/soup/WebSoupRequestManagerProxy.h: |
| |
| 2014-12-23 Sam Weinig <sam@webkit.org> |
| |
| Remove telephone number context support from ContextMenuContextData, it is unused |
| https://bugs.webkit.org/show_bug.cgi?id=139931 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| m_isTelephoneNumberContext was only ever set to true in the ContextMenuContextData |
| constructor that took a TelephoneNumberContextTag, which never got called. Remove it |
| all. |
| |
| * Shared/ContextMenuContextData.cpp: |
| (WebKit::ContextMenuContextData::ContextMenuContextData): |
| (WebKit::ContextMenuContextData::encode): |
| (WebKit::ContextMenuContextData::decode): |
| * Shared/ContextMenuContextData.h: |
| (WebKit::ContextMenuContextData::ContextMenuContextData): |
| (WebKit::ContextMenuContextData::isTelephoneNumberContext): Deleted. |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| |
| 2014-12-23 Sam Weinig <sam@webkit.org> |
| |
| Attempt to fix the Mountain Lion build. |
| |
| * Shared/ContextMenuContextData.h: |
| (WebKit::ContextMenuContextData::isTelephoneNumberContext): |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Handle WKTypeRefWrapper when converting object graphs |
| https://bugs.webkit.org/show_bug.cgi?id=139927 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Cocoa/WebProcessProxyCocoa.mm: |
| (WebKit::WebProcessProxy::transformHandlesToObjects): |
| (WebKit::WebProcessProxy::transformObjectsToHandles): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| |
| 2014-12-23 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources |
| https://bugs.webkit.org/show_bug.cgi?id=139921 |
| <rdar://problem/19255690> |
| |
| Reviewed by Gavin Barraclough. |
| |
| Call PageCache::pruneToCapacityNow() instead of multiple calls to |
| setCapacity() as it does exactly what we want. Also pass the new |
| PrunedReason argument so help us do better logging. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::releasePageCache): |
| |
| 2014-12-23 Sam Weinig <sam@webkit.org> |
| |
| Attempt to fix the iOS build. |
| |
| * UIProcess/API/Cocoa/WKProcessGroup.mm: |
| (-[WKProcessGroup _geolocationProvider]): |
| * UIProcess/API/ios/WKViewIOS.mm: |
| (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Handle coding object graphs in the UI process |
| https://bugs.webkit.org/show_bug.cgi?id=139925 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/Cocoa/WebProcessProxyCocoa.mm: Added. |
| (WebKit::WebProcessProxy::transformHandlesToObjects): |
| (WebKit::WebProcessProxy::transformObjectsToHandles): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::transformHandlesToObjects): |
| (WebKit::WebProcessProxy::transformObjectsToHandles): |
| * UIProcess/WebProcessProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::transformObjectsToHandles): |
| * WebProcess/WebProcess.h: |
| |
| 2014-12-23 Sam Weinig <sam@webkit.org> |
| |
| ContextMenuContextData should store a ShareableBitmap not a ShareableBitmap::Handle |
| https://bugs.webkit.org/show_bug.cgi?id=139924 |
| |
| Reviewed by Anders Carlsson. |
| |
| Replaces the ShareableBitmap::Handle in ContextMenuContextData with a RefPtr<ShareableBitmap>. |
| Removes the now unnecessary override copy-constructor and assignment-operator. |
| |
| * Shared/ContextMenuContextData.cpp: |
| (WebKit::ContextMenuContextData::ContextMenuContextData): |
| (WebKit::ContextMenuContextData::encode): |
| (WebKit::ContextMenuContextData::decode): |
| (WebKit::ContextMenuContextData::controlledDataIsEditable): |
| (WebKit::ContextMenuContextData::operator=): Deleted. |
| * Shared/ContextMenuContextData.h: |
| (WebKit::ContextMenuContextData::ContextMenuContextData): |
| (WebKit::ContextMenuContextData::controlledImage): |
| (WebKit::ContextMenuContextData::needsServicesMenu): |
| (WebKit::ContextMenuContextData::controlledImageHandle): Deleted. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::internalShowContextMenu): |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::setupServicesMenu): |
| |
| 2014-12-23 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed iOS build fix after 177692. |
| |
| Missing WebKit:: namespace. |
| |
| * UIProcess/ios/WKContentView.h: |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Fix 32-build. |
| |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| |
| 2014-12-23 Timothy Horton <timothy_horton@apple.com> |
| |
| Install a TextIndicator for link immediate actions |
| https://bugs.webkit.org/show_bug.cgi?id=139897 |
| <rdar://problem/19333076> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _defaultAnimationController]): |
| Install the link's TextIndicator. |
| |
| (-[WKImmediateActionController menuItemDidClose:]): |
| Dismiss the TextIndicator and clean up when the item closes. |
| |
| 2014-12-23 Timothy Horton <timothy_horton@apple.com> |
| |
| Expose ElementBoundingBox on WKHitTestResult |
| https://bugs.webkit.org/show_bug.cgi?id=139895 |
| <rdar://problem/19333075> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/C/WKHitTestResult.cpp: |
| (WKHitTestResultGetElementBoundingBox): |
| * UIProcess/API/C/WKHitTestResult.h: |
| Expose the rect. |
| |
| 2014-12-23 Timothy Horton <timothy_horton@apple.com> |
| |
| Remove the custom web page preview code |
| https://bugs.webkit.org/show_bug.cgi?id=139894 |
| <rdar://problem/19333074> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissContentRelativeChildWindows]): |
| (-[WKView _viewForPreviewingURL:initialFrameSize:]): Deleted. |
| (-[WKView _titleForPreviewOfURL:]): Deleted. |
| (-[WKView _setPreviewTitle:]): Deleted. |
| (-[WKView _setPreviewLoading:]): Deleted. |
| (-[WKView _setPreviewOverrideImage:]): Deleted. |
| (-[WKView _finishPreviewingURL:withPreviewView:]): Deleted. |
| (-[WKView _handleClickInPreviewView:URL:]): Deleted. |
| (-[WKView _shouldUseStandardQuickLookPreview]): Deleted. |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController willDestroyView:]): |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]): |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController hidePreview]): Deleted. |
| (-[WKImmediateActionController setPreviewTitle:]): Deleted. |
| (-[WKImmediateActionController setPreviewLoading:]): Deleted. |
| (-[WKImmediateActionController setPreviewOverrideImage:]): Deleted. |
| (-[WKImmediateActionController _animationControllerForCustomPreview]): Deleted. |
| * UIProcess/mac/WKPagePreviewViewController.h: Removed. |
| * UIProcess/mac/WKPagePreviewViewController.mm: Removed. |
| * UIProcess/mac/WKPreviewPopoverAnimationController.h: Removed. |
| * UIProcess/mac/WKPreviewPopoverAnimationController.mm: Removed. |
| * WebKit2.xcodeproj/project.pbxproj: |
| Remove all of the custom web page preview code. Clients that want the custom |
| preview can implement it by overriding the immediate action. |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Add WebProcessProxy::transformHandlesToObjects |
| https://bugs.webkit.org/show_bug.cgi?id=139922 |
| |
| Reviewed by Tim Horton. |
| |
| This will be used to convert between the handles and their respective UI side objects. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::transformHandlesToObjects): |
| (WebKit::WebProcessProxy::transformObjectsToHandles): |
| (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): Deleted. |
| * UIProcess/WebProcessProxy.h: |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Add handle transform functions to WebConnection |
| https://bugs.webkit.org/show_bug.cgi?id=139920 |
| |
| Reviewed by Sam Weinig. |
| |
| This will be used by the web connection code to convert between objects and their respective handles. |
| |
| * Shared/WebConnection.h: |
| * UIProcess/WebConnectionToWebProcess.cpp: |
| (WebKit::WebConnectionToWebProcess::transformHandlesToObjects): |
| (WebKit::WebConnectionToWebProcess::transformObjectsToHandles): |
| * UIProcess/WebConnectionToWebProcess.h: |
| * WebProcess/WebConnectionToUIProcess.cpp: |
| (WebKit::WebConnectionToUIProcess::transformHandlesToObjects): |
| (WebKit::WebConnectionToUIProcess::transformObjectsToHandles): |
| * WebProcess/WebConnectionToUIProcess.h: |
| |
| 2014-12-23 Sam Weinig <sam@webkit.org> |
| |
| Rename ImmutableDictionary to API::Dictionary and merge MutableDictionary into it |
| https://bugs.webkit.org/show_bug.cgi?id=139917 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Renames ImmutableDictionary -> API::Dictionary |
| - Merges MutableDictionary into the new API::Dictionary |
| (as a result WKDictionaryIsMutable() now always returns true) |
| |
| * File list elided * |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Add WebProcess::transformObjectsToHandles |
| https://bugs.webkit.org/show_bug.cgi?id=139918 |
| |
| Reviewed by Tim Horton. |
| |
| This function will be used for transforming bundle objects to their respective handle types |
| when sending messages to the UI process. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| * WebProcess/WebProcess.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Move dynamic_objc_cast to RetainPtr.h |
| https://bugs.webkit.org/show_bug.cgi?id=139915 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::dynamic_objc_cast): Deleted. |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Add WebProcess::transformHandlesToObjects |
| https://bugs.webkit.org/show_bug.cgi?id=139913 |
| |
| Reviewed by Tim Horton. |
| |
| Rename objectGraphByTransformingObjectsToHandles to transformObjectsToHandles and add |
| transformHandlesToObjects that will try to convert handles to the actual bundle type objects. |
| |
| * WebProcess/WebProcess.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::transformObjectsToHandles): |
| (WebKit::WebProcess::objectGraphByTransformingObjectsToHandles): Deleted. |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Add WebProcess::objectGraphByTransformingObjectsToHandles |
| https://bugs.webkit.org/show_bug.cgi?id=139912 |
| |
| Reviewed by Tim Horton. |
| |
| This will be used to convert Objective-C object graphs containing bundle types to their handle counterparts. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::transformHandlesToObjects): |
| (WebKit::WebProcess::apiObjectByConvertingFromHandles): Deleted. |
| Rename apiObjectByConvertingFromHandles to transformHandlesToObjects. |
| |
| * WebProcess/WebProcess.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::objectGraphByTransformingObjectsToHandles): |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Fix UserMessage::transform to only call shouldTransform once |
| https://bugs.webkit.org/show_bug.cgi?id=139911 |
| |
| Reviewed by Sam Weinig. |
| |
| Also, make it possible for transformers to return null objects and change the transformers |
| to return the passed in object when there's no need to do a transform. |
| |
| * Shared/UserData.cpp: |
| (WebKit::transformGraph): |
| (WebKit::UserData::transform): |
| (WebKit::UserData::encode): Deleted. |
| (WebKit::UserData::decode): Deleted. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::apiObjectByConvertingFromHandles): |
| |
| 2014-12-23 Sam Weinig <sam@webkit.org> |
| |
| Rename WebContext to WebProcessPool |
| https://bugs.webkit.org/show_bug.cgi?id=139909 |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| - Major renames: |
| WebContext -> WebProcessPool |
| WebContextConfiguration -> WebProcessPoolConfiguration |
| API::ContextConfiguration -> API::ProcessPoolConfiguration |
| |
| * File list elided * |
| |
| 2014-12-23 Anders Carlsson <andersca@apple.com> |
| |
| Only call shouldTransformGraph once per graph |
| https://bugs.webkit.org/show_bug.cgi?id=139910 |
| |
| Reviewed by Sam Weinig. |
| |
| Don't call shouldTransformGraph for each node in the object graph. Instead, call it once |
| and then transform the entire graph if needed. |
| |
| * Shared/mac/ObjCObjectGraph.h: |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::shouldTransformGraph): |
| (WebKit::transformGraph): |
| (WebKit::ObjCObjectGraph::transform): |
| (WebKit::shouldTransform): Deleted. |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Use a Transformer for UserData as well, to avoid always copying arrays and dictionaries |
| https://bugs.webkit.org/show_bug.cgi?id=139896 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/UserData.cpp: |
| (WebKit::shouldTransform): |
| (WebKit::UserData::transform): |
| * Shared/UserData.h: |
| (WebKit::UserData::Transformer::~Transformer): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::apiObjectByConvertingFromHandles): |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Make it possible to transform Objective-C object graphs, replacing certain elements with others |
| https://bugs.webkit.org/show_bug.cgi?id=139893 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/mac/ObjCObjectGraph.h: |
| (WebKit::ObjCObjectGraph::Transformer::~Transformer): |
| * Shared/mac/ObjCObjectGraph.mm: |
| (WebKit::dynamic_objc_cast): |
| (WebKit::shouldTransform): |
| (WebKit::ObjCObjectGraph::transform): |
| |
| 2014-12-22 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| Unreviewed build fix after r177661 and r177662 |
| |
| * CMakeLists.txt: Add APIPageGroupHandle.cpp to the source list. |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Convert pages and page groups to their respective handle objects |
| https://bugs.webkit.org/show_bug.cgi?id=139891 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::apiObjectByConvertingFromHandles): |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Add a bunch of missing header includes in preparation for making toImpl require the complete type |
| https://bugs.webkit.org/show_bug.cgi?id=139887 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: |
| |
| 2014-12-22 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Log using FeatureCounter user-triggered zooming |
| https://bugs.webkit.org/show_bug.cgi?id=139879 |
| <rdar://problem/19329130> |
| |
| Reviewed by Benjamin Poulain. |
| |
| Log using FeatureCounter user-triggered zooming on iOS. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::willStartUserTriggeredZooming): |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Add an API::PageGroupHandle object |
| https://bugs.webkit.org/show_bug.cgi?id=139881 |
| |
| Reviewed by Sam Weinig. |
| |
| API::PageGroupHandle won't be exposed to any API, it will only be used to facilitate passing page groups |
| between the UI and web process inside UserData objects. |
| |
| * Shared/API/APIObject.h: |
| * Shared/API/APIPageGroupHandle.cpp: Added. |
| (API::PageGroupHandle::create): |
| (API::PageGroupHandle::~PageGroupHandle): |
| (API::PageGroupHandle::PageGroupHandle): |
| * Shared/API/APIPageGroupHandle.h: Added. |
| (API::PageGroupHandle::webPageGroupData): |
| * Shared/UserData.cpp: |
| (WebKit::UserData::UserData): |
| (WebKit::UserData::encode): |
| (WebKit::UserData::decode): |
| * Shared/UserData.h: |
| * UIProcess/WebPageGroup.h: |
| (WebKit::WebPageGroup::data): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-12-22 Daniel Bates <dabates@apple.com> |
| |
| Fix the iOS build after <https://trac.webkit.org/changeset/177639> |
| (https://bugs.webkit.org/show_bug.cgi?id=139866) |
| |
| Substitute APISecurityOrigin.h for WebSecurityOrigin.h as the latter was renamed to the former. |
| |
| * UIProcess/ios/WKGeolocationProviderIOS.mm: |
| |
| 2014-12-22 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177649. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-22 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Last URTBF after r177639, GTK builds now. |
| |
| * UIProcess/API/gtk/WebKitJavascriptResult.cpp: |
| * UIProcess/API/gtk/WebKitUIClient.cpp: |
| * UIProcess/API/gtk/WebKitUserContentManager.cpp: |
| * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp: |
| (webkitUserMediaPermissionRequestCreate): |
| * UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewRunJavaScriptCallback): |
| (webkit_web_view_run_javascript): |
| (resourcesStreamReadCallback): |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Move more API classes from Shared to Shared/API. |
| |
| Rubber-stamped by Sam Weinig. |
| |
| * Shared/API/APIArray.cpp: Renamed from Source/WebKit2/Shared/APIArray.cpp. |
| * Shared/API/APIArray.h: Renamed from Source/WebKit2/Shared/APIArray.h. |
| * Shared/API/APIClient.h: Renamed from Source/WebKit2/Shared/APIClient.h. |
| * Shared/API/APIData.cpp: Renamed from Source/WebKit2/Shared/APIData.cpp. |
| * Shared/API/APIData.h: Renamed from Source/WebKit2/Shared/APIData.h. |
| * Shared/API/APIError.cpp: Renamed from Source/WebKit2/Shared/APIError.cpp. |
| * Shared/API/APIError.h: Renamed from Source/WebKit2/Shared/APIError.h. |
| * Shared/API/APIFrameHandle.cpp: Renamed from Source/WebKit2/Shared/APIFrameHandle.cpp. |
| * Shared/API/APIFrameHandle.h: Renamed from Source/WebKit2/Shared/APIFrameHandle.h. |
| * Shared/API/APIGeometry.cpp: Renamed from Source/WebKit2/Shared/APIGeometry.cpp. |
| * Shared/API/APIGeometry.h: Renamed from Source/WebKit2/Shared/APIGeometry.h. |
| * Shared/API/APINumber.h: Renamed from Source/WebKit2/Shared/APINumber.h. |
| * Shared/API/APIObject.cpp: Renamed from Source/WebKit2/Shared/APIObject.cpp. |
| * Shared/API/APIObject.h: Renamed from Source/WebKit2/Shared/APIObject.h. |
| * Shared/API/APIPageHandle.cpp: Renamed from Source/WebKit2/Shared/APIPageHandle.cpp. |
| * Shared/API/APIPageHandle.h: Renamed from Source/WebKit2/Shared/APIPageHandle.h. |
| * Shared/API/APIString.h: Renamed from Source/WebKit2/Shared/APIString.h. |
| * Shared/API/APIURL.h: Renamed from Source/WebKit2/Shared/APIURL.h. |
| * Shared/API/APIURLRequest.cpp: Renamed from Source/WebKit2/Shared/APIURLRequest.cpp. |
| * Shared/API/APIURLRequest.h: Renamed from Source/WebKit2/Shared/APIURLRequest.h. |
| * Shared/API/APIURLResponse.cpp: Renamed from Source/WebKit2/Shared/APIURLResponse.cpp. |
| * Shared/API/APIURLResponse.h: Renamed from Source/WebKit2/Shared/APIURLResponse.h. |
| |
| 2014-12-22 Csaba Osztrogonác <ossy@webkit.org> |
| |
| One more URTBF after r177639 to try to make GTK happy. |
| |
| * UIProcess/API/gtk/WebKitUserContentManager.cpp: |
| |
| 2014-12-22 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177639 to try to make GTK happy. |
| |
| * UIProcess/API/gtk/WebKitJavascriptResult.cpp: |
| |
| 2014-12-22 Anders Carlsson <andersca@apple.com> |
| |
| Rename a bunch of API classes and move them to Shared/API |
| https://bugs.webkit.org/show_bug.cgi?id=139866 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/APISecurityOrigin.h: Renamed from Source/WebKit2/Shared/WebSecurityOrigin.h. |
| (API::SecurityOrigin::createFromString): |
| (API::SecurityOrigin::create): |
| (API::SecurityOrigin::securityOrigin): |
| (API::SecurityOrigin::SecurityOrigin): |
| * Shared/API/APISerializedScriptValue.h: Renamed from Source/WebKit2/Shared/WebSerializedScriptValue.h. |
| (API::SerializedScriptValue::create): |
| (API::SerializedScriptValue::adopt): |
| (API::SerializedScriptValue::deserialize): |
| (API::SerializedScriptValue::dataReference): |
| (API::SerializedScriptValue::internalRepresentation): |
| (API::SerializedScriptValue::SerializedScriptValue): |
| * Shared/API/APIUserContentURLPattern.h: Renamed from Source/WebKit2/Shared/WebUserContentURLPattern.h. |
| (API::UserContentURLPattern::create): |
| (API::UserContentURLPattern::host): |
| (API::UserContentURLPattern::scheme): |
| (API::UserContentURLPattern::isValid): |
| (API::UserContentURLPattern::matchesURL): |
| (API::UserContentURLPattern::matchesSubdomains): |
| (API::UserContentURLPattern::patternString): |
| (API::UserContentURLPattern::UserContentURLPattern): |
| * Shared/API/c/WKSecurityOrigin.cpp: |
| (WKSecurityOriginGetTypeID): |
| (WKSecurityOriginCreateFromString): |
| (WKSecurityOriginCreateFromDatabaseIdentifier): |
| (WKSecurityOriginCreate): |
| * Shared/API/c/WKSerializedScriptValue.cpp: |
| (WKSerializedScriptValueGetTypeID): |
| (WKSerializedScriptValueCreate): |
| (WKSerializedScriptValueCreateWithInternalRepresentation): |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toCopiedAPI): |
| * Shared/API/c/WKUserContentURLPattern.cpp: |
| (WKUserContentURLPatternGetTypeID): |
| (WKUserContentURLPatternCreate): |
| * Shared/SecurityOriginData.cpp: |
| (WebKit::performAPICallbackWithSecurityOriginDataVector): |
| * Shared/UserData.cpp: |
| (WebKit::UserData::encode): |
| (WebKit::UserData::decode): |
| * Shared/UserMessageCoders.h: |
| (WebKit::UserMessageEncoder::baseEncode): |
| (WebKit::UserMessageDecoder::baseDecode): |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::exceededDatabaseQuota): |
| (API::UIClient::decidePolicyForGeolocationPermissionRequest): |
| (API::UIClient::decidePolicyForUserMediaPermissionRequest): |
| (API::UIClient::decidePolicyForNotificationPermissionRequest): |
| * UIProcess/API/C/WKNotification.cpp: |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView evaluateJavaScript:completionHandler:]): |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::exceededDatabaseQuota): |
| * UIProcess/GenericCallback.h: |
| * UIProcess/Notifications/WebNotification.cpp: |
| (WebKit::WebNotification::WebNotification): |
| * UIProcess/Notifications/WebNotification.h: |
| (WebKit::WebNotification::origin): |
| * UIProcess/Notifications/WebNotificationManagerProxy.cpp: |
| (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy): |
| (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): |
| * UIProcess/Notifications/WebNotificationManagerProxy.h: |
| * UIProcess/Notifications/WebNotificationProvider.cpp: |
| * UIProcess/Notifications/WebNotificationProvider.h: |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::decidePolicyForGeolocationPermissionRequest): |
| * UIProcess/WebApplicationCacheManagerProxy.cpp: |
| (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): |
| * UIProcess/WebApplicationCacheManagerProxy.h: |
| * UIProcess/WebCookieManagerProxy.cpp: |
| * UIProcess/WebDatabaseManagerProxy.cpp: |
| (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): |
| (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): |
| (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): |
| (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): |
| (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): |
| (WebKit::WebDatabaseManagerProxy::didModifyOrigin): |
| (WebKit::WebDatabaseManagerProxy::didModifyDatabase): |
| * UIProcess/WebDatabaseManagerProxy.h: |
| * UIProcess/WebDatabaseManagerProxyClient.cpp: |
| (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin): |
| (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase): |
| * UIProcess/WebDatabaseManagerProxyClient.h: |
| * UIProcess/WebKeyValueStorageManager.cpp: |
| (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): |
| (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): |
| (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): |
| * UIProcess/WebKeyValueStorageManager.h: |
| * UIProcess/WebMediaCacheManagerProxy.cpp: |
| * UIProcess/WebOriginDataManagerProxy.cpp: |
| (WebKit::WebOriginDataManagerProxy::didGetOrigins): |
| (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin): |
| * UIProcess/WebOriginDataManagerProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::runJavaScriptInMainFrame): |
| (WebKit::WebPageProxy::scriptValueCallback): |
| (WebKit::WebPageProxy::exceededDatabaseQuota): |
| (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): |
| (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): |
| (WebKit::WebPageProxy::requestNotificationPermission): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebResourceCacheManagerProxy.cpp: |
| (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin): |
| * UIProcess/WebResourceCacheManagerProxy.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest): |
| * UIProcess/ios/WKContentView.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h: |
| (API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota): |
| (API::InjectedBundle::PageUIClient::didExceedDatabaseQuota): |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: |
| (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota): |
| (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota): |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::exceededDatabaseQuota): |
| (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): |
| |
| 2014-12-21 Sam Weinig <sam@webkit.org> |
| |
| Allow the WebContext's history client to coexist with WKWebView's history delegate |
| https://bugs.webkit.org/show_bug.cgi?id=139857 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Renames API::HistoryClient to API::LegacyContextHistoryClient to make it clear what it is for. |
| - Re-routes the history client functions from the WebProcessProxy to the WebPageProxy. |
| - Add history client functions to API::LoaderClient and implement them for NavigationState's |
| LoaderClient subclass. Removes the need for WKProcessPool to have to setup a history client and |
| forward to the NavigationState. |
| |
| * UIProcess/API/APIHistoryClient.h: Removed. |
| * UIProcess/API/APILegacyContextHistoryClient.h: Copied from Source/WebKit2/UIProcess/API/APIHistoryClient.h. |
| (API::LegacyContextHistoryClient::~LegacyContextHistoryClient): |
| (API::LegacyContextHistoryClient::didNavigateWithNavigationData): |
| (API::LegacyContextHistoryClient::didPerformClientRedirect): |
| (API::LegacyContextHistoryClient::didPerformServerRedirect): |
| (API::LegacyContextHistoryClient::didUpdateHistoryTitle): |
| (API::LegacyContextHistoryClient::populateVisitedLinks): |
| (API::HistoryClient::~HistoryClient): Deleted. |
| (API::HistoryClient::didNavigateWithNavigationData): Deleted. |
| (API::HistoryClient::didPerformClientRedirect): Deleted. |
| (API::HistoryClient::didPerformServerRedirect): Deleted. |
| (API::HistoryClient::didUpdateHistoryTitle): Deleted. |
| (API::HistoryClient::populateVisitedLinks): Deleted. |
| * UIProcess/API/APILoaderClient.h: |
| (API::LoaderClient::didNavigateWithNavigationData): |
| (API::LoaderClient::didPerformClientRedirect): |
| (API::LoaderClient::didPerformServerRedirect): |
| (API::LoaderClient::didUpdateHistoryTitle): |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetHistoryClient): |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _initWithConfiguration:]): |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/Cocoa/HistoryClient.h: Removed. |
| * UIProcess/Cocoa/HistoryClient.mm: Removed. |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::LoaderClient::didNavigateWithNavigationData): |
| (WebKit::NavigationState::LoaderClient::didPerformClientRedirect): |
| (WebKit::NavigationState::LoaderClient::didPerformServerRedirect): |
| (WebKit::NavigationState::LoaderClient::didUpdateHistoryTitle): |
| (WebKit::NavigationState::didNavigateWithNavigationData): Deleted. |
| (WebKit::NavigationState::didPerformClientRedirect): Deleted. |
| (WebKit::NavigationState::didPerformServerRedirect): Deleted. |
| (WebKit::NavigationState::didUpdateHistoryTitle): Deleted. |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::WebContext): |
| (WebKit::WebContext::setHistoryClient): |
| (WebKit::WebContext::populateVisitedLinks): |
| * UIProcess/WebContext.h: |
| (WebKit::WebContext::historyClient): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didNavigateWithNavigationData): |
| (WebKit::WebPageProxy::didPerformClientRedirect): |
| (WebKit::WebPageProxy::didPerformServerRedirect): |
| (WebKit::WebPageProxy::didUpdateHistoryTitle): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didNavigateWithNavigationData): Deleted. |
| (WebKit::WebProcessProxy::didPerformClientRedirect): Deleted. |
| (WebKit::WebProcessProxy::didPerformServerRedirect): Deleted. |
| (WebKit::WebProcessProxy::didUpdateHistoryTitle): Deleted. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::updateGlobalHistory): |
| (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): |
| (WebKit::WebFrameLoaderClient::setTitle): |
| |
| 2014-12-22 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] another outdated comment |
| https://bugs.webkit.org/show_bug.cgi?id=139863 |
| |
| Reviewed by Darin Adler. |
| |
| Remove outdated comment. We nowadays block untrusted connections by |
| default. |
| |
| * WebProcess/gtk/WebProcessMainGtk.cpp: |
| |
| 2014-12-21 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] avoid WebVideoFullscreenManager crash |
| https://bugs.webkit.org/show_bug.cgi?id=139852 |
| <rdar://problem/19319302> |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::didExitFullscreen): NULL-check m_layerHostingContext and m_page. |
| (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): NULL-check m_layerHostingContext. |
| |
| 2014-12-21 David Kilzer <ddkilzer@apple.com> |
| |
| Fix WebKit2 build with newer clang compiler |
| |
| Fixes the following build error: |
| |
| In file included from DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:32: |
| 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 * ...]>' |
| (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))...); |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 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 |
| callMemberFunctionImpl(object, function, std::forward<ArgsTuple>(args), ArgsIndicies()); |
| ^ |
| 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 |
| callMemberFunction(WTF::move(arguments), object, function); |
| ^ |
| 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 |
| IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector>(decoder, this, &WebVideoFullscreenManagerProxy::setSeekableRangesVector); |
| ^ |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector): |
| Make Vector<std::pair<double, double>>& argument const because a |
| temporary is not allowed to bind to a non-const reference. |
| |
| 2014-12-20 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] add optimized fullscreen API |
| https://bugs.webkit.org/show_bug.cgi?id=139833 |
| <rdar://problem/18844486> |
| |
| Reviewed by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE. |
| |
| 2014-12-20 David Kilzer <ddkilzer@apple.com> |
| |
| Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2 |
| <http://webkit.org/b/139463> |
| |
| Reviewed by Mark Rowe. |
| |
| * Configurations/All.xcconfig: |
| - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS. |
| * Configurations/Base.xcconfig: |
| - Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and |
| TOOLCHAINS on OS X. |
| * Configurations/BaseLegacyProcess.xcconfig: |
| - Only set SKIP_INSTALL on iOS. |
| * Configurations/BaseTarget.xcconfig: |
| - Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on |
| SDK, and simply them. |
| * Configurations/BaseXPCService.xcconfig: |
| - Set INSTALL_PATH_ACTUAL_Normal based on SDK. |
| * Configurations/DebugRelease.xcconfig: |
| - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X. |
| - Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK. |
| * Configurations/NetworkProcess.xcconfig: |
| - Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on |
| iOS. |
| * Configurations/NetworkService.Development.xcconfig: |
| - Set INFOPLIST_FILE based on SDK. |
| - Simplify CODE_SIGN_ENTITLEMENTS for iOS. |
| * Configurations/NetworkService.xcconfig: |
| - Set INFOPLIST_FILE based on SDK. |
| - Simplify CODE_SIGN_ENTITLEMENTS for iOS. |
| * Configurations/PluginProcess.xcconfig: |
| - Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS. |
| * Configurations/PluginProcessShim.xcconfig: |
| - Set OTHER_LDFLAGS based on SDK. |
| * Configurations/PluginService.32.xcconfig: |
| - Only set VALID_ARCHS on OS X. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| - Only set SKIP_INSTALL on iOS. |
| * Configurations/PluginService.64.xcconfig: |
| - Set ARCHS based on SDK. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| - Only set SKIP_INSTALL on iOS. |
| * Configurations/PluginService.Development.xcconfig: |
| - Only set SKIP_INSTALL on iOS. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| * Configurations/SecItemShim.xcconfig: |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| * Configurations/Version.xcconfig: |
| - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X. |
| * Configurations/WebContentProcess.xcconfig: |
| - Only set EXCLUDED_SHIM_FILE_NAME on iOS. |
| - Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator. |
| * Configurations/WebContentService.Development.xcconfig: |
| - Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK. |
| - Only set CODE_SIGN_ENTITLEMENTS on iOS hardware. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| * Configurations/WebContentService.xcconfig: Ditto. |
| * Configurations/WebKit.xcconfig: |
| - Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and |
| WK_API_AVAILABILITY_ENABLED based on SDK. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS. |
| * Configurations/WebKit2.xcconfig: |
| - Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE, |
| NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and |
| NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK. |
| - Set SKIP_INSTALL on iOS. |
| * Configurations/WebProcessShim.xcconfig: |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| |
| 2014-12-19 Jessie Berlin <jberlin@webkit.org> |
| |
| Build fix. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| |
| 2014-12-19 Jessie Berlin <jberlin@webkit.org> |
| |
| Simplify the build fixes from r177615 and r177617. |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| |
| 2014-12-19 Jessie Berlin <jberlin@webkit.org> |
| |
| Another attempt at a speculative build fix. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| |
| 2014-12-19 Jessie Berlin <jberlin@webkit.org> |
| |
| Speculative build fix after r177610. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| |
| 2014-12-19 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate |
| https://bugs.webkit.org/show_bug.cgi?id=139835 |
| <rdar://problem/19312042> |
| |
| Reviewed by Anders Carlsson. |
| |
| Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate |
| so that they can be implemented in MobileSafari. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::didEnterFullscreen): |
| (API::UIClient::didExitFullscreen): |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): |
| (WebKit::UIDelegate::UIClient::didEnterFullscreen): |
| (WebKit::UIDelegate::UIClient::didExitFullscreen): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didEnterFullscreen): |
| (WebKit::WebPageProxy::didExitFullscreen): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen): |
| (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen): |
| |
| 2014-12-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Inspector does not reopen correctly after Inspector Process crashes |
| https://bugs.webkit.org/show_bug.cgi?id=139838 |
| |
| Reviewed by Timothy Hatcher. |
| |
| When the WebContentProcess holding the Inspector Frontend crashes, we |
| would properly tear down the inspector objects. However, the next time |
| the inspector is opened, when creating the new page in the Inspector |
| Page Group, a WebPageProxy is created with a Terminated WebProcessProxy. |
| |
| That Terminated WebProcessProxy is automatically replaced with the next |
| load request is given. The newly created process was missing the |
| message listeners and assumed URL access settings that the |
| WebInspectorProxy had set on the old process. |
| |
| So, WebInspectorProxy now listens for and resets the process properties |
| when the inspector process is recreated. |
| |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess): |
| Reset process properties when the process is relaunched. |
| |
| (WebKit::WebInspectorProxy::createInspectorPage): |
| (WebKit::WebInspectorProxy::didClose): |
| Save connection identifier if we need to establish connections later. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]): |
| (-[WKWebInspectorWKView _didRelaunchProcess]): |
| (WebKit::WebInspectorProxy::closeTimerFired): |
| (WebKit::WebInspectorProxy::platformCreateInspectorPage): |
| Send WebInspectorProxy a message when the process underlying the |
| WKView is relaunched. |
| |
| 2014-12-19 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the hardcoded set of structs in the message generation script |
| https://bugs.webkit.org/show_bug.cgi?id=139844 |
| |
| Reviewed by Tim Horton. |
| |
| Instead, make it possible to use 'struct' in front of the type name to declare that the type is a struct. |
| |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * PluginProcess/PluginProcess.messages.in: |
| * PluginProcess/WebProcessConnection.messages.in: |
| * Scripts/webkit/messages.py: |
| (struct_or_class): |
| (forward_declarations_for_namespace): |
| (forward_declarations_and_headers): |
| * Scripts/webkit/model.py: |
| (Parameter.__init__): |
| * Scripts/webkit/parser.py: |
| (parse_parameters_string): |
| * UIProcess/Storage/StorageManager.messages.in: |
| * UIProcess/WebContext.messages.in: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: |
| * WebProcess/OriginData/WebOriginDataManager.messages.in: |
| * WebProcess/ResourceCache/WebResourceCacheManager.messages.in: |
| * WebProcess/WebPage/DrawingArea.messages.in: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2014-12-19 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setIgnoresNonWheelEvents:]): |
| |
| 2014-12-19 Beth Dakin <bdakin@apple.com> |
| |
| Preview popovers don't show an arrow for large links |
| https://bugs.webkit.org/show_bug.cgi?id=139842 |
| -and corresponding- |
| <rdar://problem/19301470> |
| |
| Reviewed by Tim Horton. |
| |
| This patch addresses the case where the link is so large that there is no |
| available space on any side once you factor in screen padding. In that case, we |
| should give up early on not obscuring the link. |
| * UIProcess/mac/WKPreviewPopoverAnimationController.mm: |
| (-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]): |
| (-[WKPreviewPopoverAnimationController _effectivePaddingWithPreviewPadding:]): |
| (-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnYEdgeForOriginRect:withScreenRect:previewPadding:]): |
| (-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnXEdgeForOriginRect:withScreenRect:previewPadding:]): |
| (-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]): |
| |
| 2014-12-19 Timothy Horton <timothy_horton@apple.com> |
| |
| WKView's ignoresNonWheelEvents should ignore immediate actions |
| https://bugs.webkit.org/show_bug.cgi?id=139839 |
| <rdar://problem/19312111> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| (-[WKView _setIgnoresNonWheelEvents:]): |
| Install/uninstall the immediate action gesture recognizer when |
| toggling ignoresNonWheelEvents. |
| |
| 2014-12-19 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177593. |
| |
| * PluginProcess/PluginProcess.h: |
| * PluginProcess/unix/PluginProcessUnix.cpp: |
| (WebKit::PluginProcess::platformInitializePluginProcess): |
| * Shared/WebProcessCreationParameters.h: |
| * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: |
| * WebProcess/WebProcess.h: |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-12-19 Anders Carlsson <andersca@apple.com> |
| |
| Use WebCore::MachSendRights for the compositing render server port |
| https://bugs.webkit.org/show_bug.cgi?id=139834 |
| |
| Reviewed by Tim Horton. |
| |
| * Platform/IPC/HandleMessage.h: |
| (IPC::callMemberFunctionImpl): |
| * Platform/mac/LayerHostingContext.h: |
| * Platform/mac/LayerHostingContext.mm: |
| (WebKit::LayerHostingContext::createForPort): |
| * PluginProcess/PluginControllerProxy.h: |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::PluginProcess): |
| (WebKit::PluginProcess::initializePluginProcess): |
| * PluginProcess/PluginProcess.h: |
| (WebKit::PluginProcess::compositingRenderServerPort): |
| * PluginProcess/mac/PluginControllerProxyMac.mm: |
| (WebKit::PluginControllerProxy::compositingRenderServerPort): |
| * PluginProcess/mac/PluginProcessMac.mm: |
| (WebKit::PluginProcess::platformInitializePluginProcess): |
| * Shared/Plugins/PluginProcessCreationParameters.cpp: |
| * Shared/Plugins/PluginProcessCreationParameters.h: |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/WebProcessCreationParameters.h: |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<MachSendRight>::encode): |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::platformInitializePluginProcess): |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::platformInitializeWebProcess): |
| * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: |
| (WebKit::NPN_GetValue): |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: |
| (WebKit::NetscapePlugin::compositingRenderServerPort): |
| (WebKit::NetscapePlugin::setLayerHostingMode): |
| * WebProcess/Plugins/PluginController.h: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::compositingRenderServerPort): |
| * WebProcess/Plugins/PluginView.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::WebProcess::initializeWebProcess): |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::compositingRenderServerPort): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-12-19 Andreas Kling <akling@apple.com> |
| |
| Ref-ify TextIterator API. |
| <https://webkit.org/b/139823> |
| |
| Reviewed by Antti Koivisto. |
| |
| * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: |
| (-[WKDOMTextIterator currentRange]): |
| |
| 2014-12-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177574. |
| https://bugs.webkit.org/show_bug.cgi?id=139821 |
| |
| "Broke Production builds by installing |
| libWebCoreTestSupport.dylib in the wrong directory" (Requested |
| by ddkilzer on #webkit). |
| |
| Reverted changeset: |
| |
| "Switch from using PLATFORM_NAME to SDK selectors in WebCore, |
| WebInspectorUI, WebKit, WebKit2" |
| https://bugs.webkit.org/show_bug.cgi?id=139463 |
| http://trac.webkit.org/changeset/177574 |
| |
| 2014-12-19 David Kilzer <ddkilzer@apple.com> |
| |
| Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2 |
| <http://webkit.org/b/139463> |
| |
| Reviewed by Mark Rowe. |
| |
| * Configurations/All.xcconfig: |
| - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS. |
| * Configurations/Base.xcconfig: |
| - Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and |
| TOOLCHAINS on OS X. |
| * Configurations/BaseLegacyProcess.xcconfig: |
| - Only set SKIP_INSTALL on iOS. |
| * Configurations/BaseTarget.xcconfig: |
| - Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on |
| SDK, and simply them. |
| * Configurations/BaseXPCService.xcconfig: |
| - Set INSTALL_PATH_ACTUAL_Normal based on SDK. |
| * Configurations/DebugRelease.xcconfig: |
| - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X. |
| - Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK. |
| * Configurations/NetworkProcess.xcconfig: |
| - Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on |
| iOS. |
| * Configurations/NetworkService.Development.xcconfig: |
| - Set INFOPLIST_FILE based on SDK. |
| - Simplify CODE_SIGN_ENTITLEMENTS for iOS. |
| * Configurations/NetworkService.xcconfig: |
| - Set INFOPLIST_FILE based on SDK. |
| - Simplify CODE_SIGN_ENTITLEMENTS for iOS. |
| * Configurations/PluginProcess.xcconfig: |
| - Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS. |
| * Configurations/PluginProcessShim.xcconfig: |
| - Set OTHER_LDFLAGS based on SDK. |
| * Configurations/PluginService.32.xcconfig: |
| - Only set VALID_ARCHS on OS X. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| - Only set SKIP_INSTALL on iOS. |
| * Configurations/PluginService.64.xcconfig: |
| - Set ARCHS based on SDK. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| - Only set SKIP_INSTALL on iOS. |
| * Configurations/PluginService.Development.xcconfig: |
| - Only set SKIP_INSTALL on iOS. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| * Configurations/SecItemShim.xcconfig: |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| * Configurations/Version.xcconfig: |
| - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X. |
| * Configurations/WebContentProcess.xcconfig: |
| - Only set EXCLUDED_SHIM_FILE_NAME on iOS. |
| - Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator. |
| * Configurations/WebContentService.Development.xcconfig: |
| - Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK. |
| - Only set CODE_SIGN_ENTITLEMENTS on iOS hardware. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| * Configurations/WebContentService.xcconfig: Ditto. |
| * Configurations/WebKit.xcconfig: |
| - Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and |
| WK_API_AVAILABILITY_ENABLED based on SDK. |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS. |
| * Configurations/WebKit2.xcconfig: |
| - Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE, |
| NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and |
| NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK. |
| - Set SKIP_INSTALL on iOS. |
| * Configurations/WebProcessShim.xcconfig: |
| - Set OTHER_LDFLAGS based on platform-specific values. |
| |
| 2014-12-18 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| iOS build fix. |
| |
| * UIProcess/mac/WKPreviewPopoverAnimationController.mm: |
| |
| 2014-12-18 Jessie Berlin <jberlin@webkit.org> |
| |
| Speculative build-fix after r177522. |
| |
| * UIProcess/mac/WKPreviewPopoverAnimationController.mm: |
| (-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]): |
| |
| 2014-12-18 Andreas Kling <akling@apple.com> |
| |
| Ref-ify various Document-related things. |
| <https://webkit.org/b/139796> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: |
| (-[WKDOMDocument createTextNode:]): |
| |
| 2014-12-18 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * UIProcess/ProcessThrottler.h: |
| |
| 2014-12-18 Anders Carlsson <andersca@apple.com> |
| |
| Use MachSendRight in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139800 |
| |
| Reviewed by Tim Horton. |
| |
| * Platform/IPC/ArgumentEncoder.h: |
| (IPC::ArgumentEncoder::encode): |
| (IPC::ArgumentEncoder::operator<<): |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::encode): |
| (WebKit::RemoteLayerBackingStore::decode): |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<MachSendRight>::encode): |
| (IPC::ArgumentCoder<MachSendRight>::decode): |
| |
| 2014-12-18 Gavin Barraclough <barraclough@apple.com> |
| |
| Remove custom token mechanism from ProcessThrottler |
| https://bugs.webkit.org/show_bug.cgi?id=139744 |
| |
| Reviewed by Geoff Garen. |
| |
| ProcessThrottler implements its own token-based counter mechanism, but should |
| just use RefCounter. |
| |
| * UIProcess/Cocoa/NavigationState.h: |
| - remove std::unique_ptr. |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::didChangeIsLoading): |
| - remove std::make_unique. |
| * UIProcess/GenericCallback.h: |
| (WebKit::CallbackBase::CallbackBase): |
| (WebKit::GenericCallback::create): |
| (WebKit::GenericCallback::GenericCallback): |
| (WebKit::CallbackMap::put): |
| - remove std::unique_ptr. |
| * UIProcess/ProcessThrottler.cpp: |
| (WebKit::ProcessThrottler::ProcessThrottler): |
| (WebKit::m_backgroundCounter): |
| (WebKit::ProcessThrottler::assertionState): |
| (WebKit::ProcessThrottler::updateAssertion): |
| (WebKit::ProcessThrottler::ForegroundActivityToken::ForegroundActivityToken): Deleted. |
| (WebKit::ProcessThrottler::ForegroundActivityToken::~ForegroundActivityToken): Deleted. |
| (WebKit::ProcessThrottler::BackgroundActivityToken::BackgroundActivityToken): Deleted. |
| (WebKit::ProcessThrottler::BackgroundActivityToken::~BackgroundActivityToken): Deleted. |
| - removed old implementation of ForegroundActivityToken/BackgroundActivityToken. |
| * UIProcess/ProcessThrottler.h: |
| (WebKit::ProcessThrottler::foregroundActivityToken): |
| (WebKit::ProcessThrottler::backgroundActivityToken): |
| - added accessors to create activity tokens. |
| (WebKit::ProcessThrottler::weakPtr): Deleted. |
| - removed members replaced by RefCounter types. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::updateActivityToken): |
| (WebKit::WebPageProxy::validateCommand): |
| (WebKit::WebPageProxy::runJavaScriptInMainFrame): |
| (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): |
| (WebKit::WebPageProxy::getSourceForFrame): |
| (WebKit::WebPageProxy::getContentsAsString): |
| (WebKit::WebPageProxy::getBytecodeProfile): |
| (WebKit::WebPageProxy::getContentsAsMHTMLData): |
| (WebKit::WebPageProxy::getSelectionOrContentsAsString): |
| (WebKit::WebPageProxy::getSelectionAsWebArchiveData): |
| (WebKit::WebPageProxy::getMainResourceDataOfFrame): |
| (WebKit::WebPageProxy::getResourceDataFromFrame): |
| (WebKit::WebPageProxy::getWebArchiveOfFrame): |
| (WebKit::WebPageProxy::getMarkedRangeAsync): |
| (WebKit::WebPageProxy::getSelectedRangeAsync): |
| (WebKit::WebPageProxy::characterIndexForPointAsync): |
| (WebKit::WebPageProxy::firstRectForCharacterRangeAsync): |
| (WebKit::WebPageProxy::takeSnapshot): |
| (WebKit::WebPageProxy::installViewStateChangeCompletionHandler): |
| - remove std::make_unique. |
| * UIProcess/WebPageProxy.h: |
| - remove std::unique_ptr. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::setIsHoldingLockedFiles): |
| - remove std::make_unique. |
| * UIProcess/WebProcessProxy.h: |
| - remove std::unique_ptr. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::selectWithGesture): |
| (WebKit::WebPageProxy::updateSelectionWithTouches): |
| (WebKit::WebPageProxy::requestAutocorrectionData): |
| (WebKit::WebPageProxy::applyAutocorrection): |
| (WebKit::WebPageProxy::executeEditCommand): |
| (WebKit::WebPageProxy::selectTextWithGranularityAtPoint): |
| (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection): |
| (WebKit::WebPageProxy::selectPositionAtPoint): |
| (WebKit::WebPageProxy::beginSelectionInDirection): |
| (WebKit::WebPageProxy::updateSelectionWithExtentPoint): |
| (WebKit::WebPageProxy::requestDictationContext): |
| (WebKit::WebPageProxy::requestAutocorrectionContext): |
| (WebKit::WebPageProxy::selectWithTwoTouches): |
| (WebKit::WebPageProxy::moveSelectionByOffset): |
| (WebKit::WebPageProxy::focusNextAssistedNode): |
| - remove std::make_unique. |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync): |
| - remove std::make_unique. |
| |
| 2014-12-18 Gavin Barraclough <barraclough@apple.com> |
| |
| Add strong typing to RefCounter interface, return value as a bool. |
| https://bugs.webkit.org/show_bug.cgi?id=139776 |
| |
| Reviewed by Geoff Garen. |
| |
| Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>. |
| This means there is no compile time type checking to prevent mistakes. Update the count() |
| method to token<>(), templated on type used to identify the token being returned. |
| Calls to token<T>() will return a result of type RefCounter::Token<T>. |
| |
| There are a few problems with the fact the counter will return you an exact count of the |
| number of outstanding tokens: |
| - It is desirable to only fire the callback on zero-edge changes; it is more consistent |
| to do so if the value is only readable as a boolean. |
| - It is desirable to provide the value as an argument to the callback, however to make |
| this useful for integer values it is also necessary to indicate the direction of change |
| (0->1 is often interesting where 2->1 is not). |
| - There is a mismatch between the precision of returning a count, and the inherent |
| imprecision of a token based mechanism, where it may be difficult to guarantee |
| absolutely no unnecessary refcount churn, and thus unintentional counter values. |
| |
| Removed PluginProcessManager::m_processSuppressionEnabled. Now the callback only fires on |
| zero-edge transitions we no longer need this to filter changes. |
| |
| * UIProcess/Plugins/PluginProcessManager.cpp: |
| (WebKit::PluginProcessManager::PluginProcessManager): |
| - updateProcessSuppressionState -> updateProcessSuppressionDisabled. |
| * UIProcess/Plugins/PluginProcessManager.h: |
| (WebKit::PluginProcessManager::processSuppressionDisabledForPageCount): Deleted. |
| (WebKit::PluginProcessManager::processSuppressionDisabledToken): |
| - processSuppressionDisabledForPageCount -> processSuppressionDisabledToken. |
| (WebKit::PluginProcessManager::processSuppressionEnabled): Deleted. |
| (WebKit::PluginProcessManager::processSuppressionDisabled): |
| - processSuppressionEnabled -> processSuppressionDisabled. |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::didFinishLaunching): |
| - processSuppressionEnabled -> processSuppressionDisabled. |
| * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: |
| (WebKit::PluginProcessManager::updateProcessSuppressionState): Deleted. |
| (WebKit::PluginProcessManager::updateProcessSuppressionDisabled): |
| - updateProcessSuppressionState -> updateProcessSuppressionDisabled |
| * UIProcess/ProcessThrottler.h: |
| - added UserObservablePageToken, ProcessSuppressionDisabledToken types. |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::WebContext): |
| (WebKit::m_processSuppressionDisabledForPageCounter): |
| - lambda now has bool argument. |
| * UIProcess/WebContext.h: |
| (WebKit::WebContext::userObservablePageCount): |
| (WebKit::WebContext::processSuppressionDisabledForPageCount): |
| - count() -> token<>(), changed return type. |
| * UIProcess/WebPageProxy.h: |
| - changed types of token members. |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::updateProcessSuppressionState): |
| renamed m_pluginProcessManagerProcessSuppressionDisabledCount -> m_pluginProcessManagerProcessSuppressionDisabledToken. |
| |
| 2014-12-18 Timothy Horton <timothy_horton@apple.com> |
| |
| Try to fix some builds. |
| |
| * UIProcess/mac/WKPreviewPopoverAnimationController.mm: |
| |
| 2014-12-18 Anders Carlsson <andersca@apple.com> |
| |
| Fix build. |
| |
| * UIProcess/API/mac/WKViewInternal.h: |
| |
| 2014-12-18 Chris Dumez <cdumez@apple.com> |
| |
| Add missing availability annotation on @property _featureCounterEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=139794 |
| <rdar://problem/19266254> |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| Follow-up to r177526 adding availability annotation on @property |
| _featureCounterEnabled. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| |
| 2014-12-18 Beth Dakin <bdakin@apple.com> |
| |
| Need to re-enable action menus |
| https://bugs.webkit.org/show_bug.cgi?id=139795 |
| -and corresponding- |
| rdar://problem/19299367 |
| |
| Reviewed by Tim Horton. |
| |
| Re-enable the menus by un-commenting the code to create the menu and controller. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| |
| performActionMenuHitTest already takes a parameter indicating whether the hit test |
| is for an immediate action or not. The callback didPerformActionMenuHitTest needs |
| that information too so that it knows whether to call into the |
| ActionMenuController or the ImmediateActionController. |
| (-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]): |
| (-[WKView _didPerformActionMenuHitTest:userData:]): Deleted. |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didPerformActionMenuHitTest): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformActionMenuHitTest): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2014-12-18 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Stop using WKPreferencesPrivate API to toggle FeatureCounter support |
| https://bugs.webkit.org/show_bug.cgi?id=139794 |
| <rdar://problem/19266254> |
| |
| Reviewed by Anders Carlsson. |
| |
| Stop using WKPreferencesPrivate API to toggle FeatureCounter support |
| and use WKWebViewConfigurationPrivate API instead. FeatureCounter is |
| not meant to change state after the view has been created. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetFeatureCounterEnabled): Deleted. |
| (WKPreferencesGetFeatureCounterEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _featureCounterEnabled]): Deleted. |
| (-[WKPreferences _setFeatureCounterEnabled:]): Deleted. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _featureCounterEnabled]): |
| (-[WKWebViewConfiguration _setFeatureCounterEnabled:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| |
| 2014-12-18 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setPreviewOverrideImage:]): |
| |
| 2014-12-18 Timothy Horton <timothy_horton@apple.com> |
| |
| Change page preview loading order, and add a TextIndicator |
| https://bugs.webkit.org/show_bug.cgi?id=139793 |
| <rdar://problem/19288547> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Build a TextIndicator for links. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissContentRelativeChildWindows]): |
| (-[WKView _setPreviewTitle:]): |
| (-[WKView _setPreviewLoading:]): |
| Remove unneeded WK_API_ENABLED #ifs. |
| |
| (-[WKView _setPreviewOverrideImage:]): |
| Add; forward to WKImmediateActionController. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController willDestroyView:]): |
| Shut down the WKPreviewPopoverAnimationController. |
| |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]): |
| Don't build an immediate action item here; we'll always build it in |
| willBeginAnimation, and the one we build here is likely to be wrong. |
| |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController hidePreview]): |
| (-[WKImmediateActionController setPreviewTitle:]): |
| (-[WKImmediateActionController setPreviewLoading:]): |
| (-[WKImmediateActionController setPreviewOverrideImage:]): |
| (-[WKImmediateActionController _animationControllerForCustomPreview]): |
| (-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]): Deleted. |
| (-[WKImmediateActionController popoverWillClose:]): Deleted. |
| (targetSizeFitsInAvailableSpace): Deleted. |
| (-[WKImmediateActionController largestPopoverSize]): Deleted. |
| (-[WKImmediateActionController _preferredPopoverSizeWithPreviewPadding:]): Deleted. |
| (-[WKImmediateActionController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]): Deleted. |
| (-[WKImmediateActionController pagePreviewViewController:titleForPreviewOfURL:]): Deleted. |
| (-[WKImmediateActionController pagePreviewViewControllerWasClicked:]): Deleted. |
| Move preview popover code to WKPreviewPopoverAnimationController. |
| Install and uninstall the link text indicator when necessary. |
| |
| * UIProcess/mac/WKPagePreviewViewController.h: |
| * UIProcess/mac/WKPagePreviewViewController.mm: |
| (-[WKPagePreviewViewController setLoading:]): |
| (-[WKPagePreviewViewController loadView]): |
| (-[WKPagePreviewViewController replacePreviewWithImage:atSize:]): |
| Allow overriding the preview with a full-view NSImage. |
| Hide the preview view until the loading spinner goes away. |
| |
| * UIProcess/mac/WKPreviewPopoverAnimationController.h: Copied from Source/WebKit2/UIProcess/mac/WKImmediateActionController.h. |
| * UIProcess/mac/WKPreviewPopoverAnimationController.mm: Added. |
| (+[WKPreviewPopoverAnimationController _shouldImmediatelyShowPreview]): |
| (-[WKPreviewPopoverAnimationController initWithURL:view:page:originRect:eventLocationInView:]): |
| (-[WKPreviewPopoverAnimationController close]): |
| (-[WKPreviewPopoverAnimationController setPreviewLoading:]): |
| (-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]): |
| If we have shown the popover, choose a size strictly smaller than |
| its current size. |
| |
| (-[WKPreviewPopoverAnimationController _hidePreview]): |
| (-[WKPreviewPopoverAnimationController setPreviewTitle:]): |
| (-[WKPreviewPopoverAnimationController _createPreviewPopover]): |
| (-[WKPreviewPopoverAnimationController _showPreview]): |
| (targetSizeFitsInAvailableSpace): |
| (-[WKPreviewPopoverAnimationController largestPopoverSize]): |
| (-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]): |
| (-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]): |
| (-[WKPreviewPopoverAnimationController _previewWatchdogTimerFired:]): |
| (-[WKPreviewPopoverAnimationController recognizerWillBeginAnimation:]): |
| (-[WKPreviewPopoverAnimationController recognizerDidUpdateAnimation:]): |
| (-[WKPreviewPopoverAnimationController recognizerDidCancelAnimation:]): |
| (-[WKPreviewPopoverAnimationController recognizerDidCompleteAnimation:]): |
| (-[WKPreviewPopoverAnimationController recognizerDidDismissAnimation:]): |
| (-[WKPreviewPopoverAnimationController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]): |
| (-[WKPreviewPopoverAnimationController pagePreviewViewController:titleForPreviewOfURL:]): |
| (-[WKPreviewPopoverAnimationController pagePreviewViewControllerWasClicked:]): |
| (-[WKPreviewPopoverAnimationController popoverWillClose:]): |
| Move code in from WKImmediateActionController. |
| Forward NSImmediateActionAnimationControllerDelegate methods |
| to the popover's animation controller if we've popped it. |
| Pop the popover if we've loaded or 1 second has passed, whichever |
| comes first. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-12-18 Anders Carlsson <andersca@apple.com> |
| |
| Add a MachSendRight class to WebCore and use it in IOSurface |
| https://bugs.webkit.org/show_bug.cgi?id=139787 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::encode): |
| |
| 2014-12-18 Daniel Bates <dabates@apple.com> |
| |
| Attempt to fix the iOS build after <http://trac.webkit.org/changeset/177486> |
| (https://bugs.webkit.org/show_bug.cgi?id=139755) |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::selectWithGesture): Wrap return value of Range::create() in RefPtr<Range>() |
| to make the the compiler happy since it wants clauses of the ternary operator to have the same data type |
| and Ref<Range> object does not support nullptr. |
| (WebKit::WebPage::selectWordBackward): Substitute Ref::ptr() for PassRefPtr::get(). |
| (WebKit::WebPage::moveSelectionByOffset): Ditto. |
| (WebKit::WebPage::selectPositionAtPoint): Ditto. |
| (WebKit::WebPage::selectPositionAtBoundaryWithDirection): Ditto. |
| (WebKit::WebPage::requestDictationContext): Ditto. |
| (WebKit::computeAutocorrectionContext): Ditto. |
| |
| 2014-12-18 Antti Koivisto <antti@apple.com> |
| |
| Remove alwaysUseBaselineOfPrimaryFont setting |
| https://bugs.webkit.org/show_bug.cgi?id=139770 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2014-12-18 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Implement webkit_web_view_is_playing_audio() |
| https://bugs.webkit.org/show_bug.cgi?id=138918 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Implements webkit_web_view_is_playing_audio(), and overrides |
| UIClient::isPlayingAudioDidChange() to be able to emit change |
| notification signals for the new WebKitWebView::is-playing-audio |
| property. |
| |
| * UIProcess/API/gtk/WebKitUIClient.cpp: |
| (isPlayingAudioDidChange): Added. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewIsPlayingAudioChanged): Helper function to emit the |
| emit the notify::is-playing-audio signal when needed. |
| (webkitWebViewGetProperty): Handle the WebKitWebView::is-playing-audio |
| property. |
| (webkit_web_view_class_init): Install the |
| WebKitWebView::is-playing-audio property. |
| (webkit_web_view_is_playing_audio): Added. |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add |
| webkit_web_view_is_playing_audio() to the list of public API |
| functions. |
| |
| 2014-12-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Allow to build with ENABLE_NETWORK_CACHE |
| https://bugs.webkit.org/show_bug.cgi?id=139728 |
| |
| Reviewed by Antti Koivisto. |
| |
| Just make it build for now. |
| |
| * CMakeLists.txt: Add new files to compilation. |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): Use |
| ENABLE(SHAREABLE_RESOURCE) when ShareableResource is used. |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::decodeStorageEntry): Ditto. |
| (WebKit::makeCacheKey): Use ENABLE(CACHE_PARTITIONING) for ResourceRequest::cachePartition(). |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCacheStorage::Data::isNull): Move implementation |
| to platform specific files. |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::Data::isNull): Moved from the header. |
| * NetworkProcess/cache/NetworkCacheStorageSoup.cpp: Added. |
| (WebKit::NetworkCacheStorage::Data::Data): |
| (WebKit::NetworkCacheStorage::Data::data): |
| (WebKit::NetworkCacheStorage::Data::isNull): |
| (WebKit::NetworkCacheStorage::open): |
| (WebKit::NetworkCacheStorage::NetworkCacheStorage): |
| (WebKit::NetworkCacheStorage::initializeKeyFilter): |
| (WebKit::NetworkCacheStorage::removeEntry): |
| (WebKit::NetworkCacheStorage::dispatchRetrieveOperation): |
| (WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations): |
| (WebKit::NetworkCacheStorage::retrieve): |
| (WebKit::NetworkCacheStorage::store): |
| (WebKit::NetworkCacheStorage::setMaximumSize): |
| (WebKit::NetworkCacheStorage::clear): |
| * PlatformGTK.cmake: Add NetworkCacheStorageSoup.cpp. |
| * config.h: |
| |
| 2014-12-17 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/19282508> WebKitLegacy is unusable due to bad dylib identifier |
| https://bugs.webkit.org/show_bug.cgi?id=139760 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/WebKit2.xcconfig: |
| |
| 2014-12-17 Beth Dakin <bdakin@apple.com> |
| |
| Page previews are sometimes sized much smaller than it seems they should be |
| https://bugs.webkit.org/show_bug.cgi?id=139754 |
| -and corresponding- |
| rdar://problem/19286550 |
| |
| Reviewed by Tim Horton. |
| |
| Increase the minimum size and add in a missing else!! |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _preferredPopoverSizeWithPreviewPadding:]): |
| |
| 2014-12-17 Anders Carlsson <andersca@apple.com> |
| |
| Ref-ify WebPageProxy and WebProcessProxy creation functions |
| https://bugs.webkit.org/show_bug.cgi?id=139751 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::createNewWebProcess): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::create): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::create): |
| (WebKit::WebProcessProxy::createWebPage): |
| * UIProcess/WebProcessProxy.h: |
| |
| 2014-12-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed iOS Build Fix after r177459. |
| |
| * UIProcess/ios/WebInspectorProxyIOS.mm: |
| (WebKit::WebInspectorProxy::platformInvalidate): |
| (WebKit::WebInspectorProxy::platformHide): |
| Add missing WebInspectorProxy platform methods. |
| |
| 2014-12-17 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] Define button and action should respect profile settings. |
| https://bugs.webkit.org/show_bug.cgi?id=139739 |
| rdar://problem/15461887 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView canPerformAction:withSender:]): |
| (-[WKContentView _define:]): |
| |
| 2014-12-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: [Mac] Occosional Crashes Closing Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=139740 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didReceiveEvent): |
| The WebPageProxy could have gotten destroyed in handling (e.g. keyboard shortcut |
| to close the Inspector Window), so protect the object to avoid destruction |
| during handling. |
| |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| Add platformInvalidate opportunity for the platform to do invalidation work. |
| |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformInvalidate): |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformInvalidate): |
| Empty implementations, these ports do not need to do anything. |
| |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::closeTimerFired): |
| (WebKit::WebInspectorProxy::platformDidClose): |
| (WebKit::WebInspectorProxy::platformInvalidate): |
| When closing / invalidating make sure we close the WKView to clear client |
| for any delayed callbacks. |
| |
| 2014-12-17 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] Make it possible to toggle FeatureCounter support at runtime |
| https://bugs.webkit.org/show_bug.cgi?id=139688 |
| <rdar://problem/19266254> |
| |
| Reviewed by Andreas Kling. |
| |
| Add private settings API to toggle FeatureCounter support on Safari and |
| MobileSafari. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetFeatureCounterEnabled): |
| (WKPreferencesGetFeatureCounterEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _featureCounterEnabled]): |
| (-[WKPreferences _setFeatureCounterEnabled:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2014-12-17 Anders Carlsson <andersca@apple.com> |
| |
| Clean up SQL statement building in SQLiteIDBCursor |
| https://bugs.webkit.org/show_bug.cgi?id=139741 |
| |
| Reviewed by Andreas Kling. |
| |
| This vastly simplifies the code and gets rid of the last |
| uses of DEPRECATED_DEFINE_STATIC_LOCAL in WebKit2. |
| |
| * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: |
| (WebKit::buildIndexStatement): |
| (WebKit::buildObjectStoreStatement): |
| (WebKit::SQLiteIDBCursor::establishStatement): |
| (WebKit::getIndexStatement): Deleted. |
| (WebKit::getObjectStoreStatement): Deleted. |
| |
| 2014-12-17 Andreas Kling <akling@apple.com> |
| |
| Purge PassRefPtr from Frame. |
| <https://webkit.org/b/139731> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::createSubframe): |
| |
| 2014-12-17 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix |
| |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::PageClient::setTextIndicatorAnimationProgress): |
| |
| 2014-12-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ build after r177427. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::setTextIndicatorAnimationProgress): |
| * UIProcess/API/gtk/PageClientImpl.h: |
| |
| 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, EFL build fix since r177427. |
| |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| (WebKit::WebView::setTextIndicatorAnimationProgress): Added. |
| * UIProcess/CoordinatedGraphics/WebView.h: |
| |
| 2014-12-16 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Move WebCore/platform/graphics/surfaces to std::unique_ptr |
| https://bugs.webkit.org/show_bug.cgi?id=139641 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: |
| |
| 2014-12-16 Timothy Horton <timothy_horton@apple.com> |
| |
| Implement and adopt two new TextIndicator presentation animations |
| https://bugs.webkit.org/show_bug.cgi?id=139715 |
| <rdar://problem/19237945> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setTextIndicator:fadeOut:]): |
| (-[WKView _setTextIndicatorAnimationProgress:]): |
| (-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]): Deleted. |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setTextIndicatorAnimationProgress): |
| (WebKit::WebPageProxy::performActionMenuHitTestAtLocation): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::setTextIndicatorAnimationProgress): |
| (WebKit::PageClientImpl::didPerformDictionaryLookup): |
| Remove the completion handler block argument from TextIndicator |
| installation. |
| Plumb animation progress through PageClient to TextIndicatorWindow. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]): |
| (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]): |
| (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]): |
| (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]): |
| (-[WKImmediateActionController _menuItemForDataDetectedText]): |
| (-[WKImmediateActionController _animationControllerForText]): |
| Forward immediate action gesture recognizer animation progress |
| to TextIndicator. Force us to keep the selection when immediate |
| action popovers steal first responder status from the WebView. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::textIndicatorTransitionForActionMenu): |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Factor out the presentation animation decision code. |
| For immediate actions, of the Lookup range is equal to the |
| selection range, use a Crossfade animation; otherwise, use a FadeIn |
| animation. |
| Push whether the actionMenuHitTest is for an immediate action |
| or a menu to the Web process, to make the presentation animation |
| decision code live entirely in the Web process. |
| Avoid extracting encoded image data if we know we're doing |
| an immediate action and will never need it. |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Fix lambda and std::function formatting |
| https://bugs.webkit.org/show_bug.cgi?id=139719 |
| |
| Reviewed by Sam Weinig. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::getOrigins): |
| (WebKit::DatabaseProcess::deleteEntriesForOrigin): |
| (WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates): |
| (WebKit::DatabaseProcess::deleteAllEntries): |
| * DatabaseProcess/DatabaseProcess.h: |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: |
| (WebKit::UniqueIDBDatabase::deleteDatabase): |
| (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): |
| (WebKit::UniqueIDBDatabase::openTransaction): |
| (WebKit::UniqueIDBDatabase::beginTransaction): |
| (WebKit::UniqueIDBDatabase::commitTransaction): |
| (WebKit::UniqueIDBDatabase::resetTransaction): |
| (WebKit::UniqueIDBDatabase::rollbackTransaction): |
| (WebKit::UniqueIDBDatabase::postTransactionOperation): |
| (WebKit::UniqueIDBDatabase::changeDatabaseVersion): |
| (WebKit::UniqueIDBDatabase::createObjectStore): |
| (WebKit::UniqueIDBDatabase::deleteObjectStore): |
| (WebKit::UniqueIDBDatabase::clearObjectStore): |
| (WebKit::UniqueIDBDatabase::createIndex): |
| (WebKit::UniqueIDBDatabase::deleteIndex): |
| (WebKit::UniqueIDBDatabase::putRecord): |
| (WebKit::UniqueIDBDatabase::getRecord): |
| (WebKit::UniqueIDBDatabase::openCursor): |
| (WebKit::UniqueIDBDatabase::cursorAdvance): |
| (WebKit::UniqueIDBDatabase::cursorIterate): |
| (WebKit::UniqueIDBDatabase::count): |
| (WebKit::UniqueIDBDatabase::deleteRange): |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: |
| * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: |
| (WebKit::NetworkCacheStorage::store): |
| * Shared/AsyncTask.h: |
| (WebKit::AsyncTask::AsyncTask): |
| * Shared/ChildProcess.cpp: |
| (WebKit::didCloseOnConnectionWorkQueue): |
| * Shared/WebContextMenuItemData.cpp: |
| (WebKit::WebContextMenuItemData::WebContextMenuItemData): |
| * Shared/WebContextMenuItemData.h: |
| (WebKit::WebContextMenuItemData::selectionHandler): |
| * Shared/mac/SecItemShim.cpp: |
| (WebKit::responseMap): |
| * UIProcess/Plugins/PluginProcessManager.cpp: |
| (WebKit::PluginProcessManager::PluginProcessManager): |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::WebContext): |
| (WebKit::m_processSuppressionDisabledForPageCounter): |
| * UIProcess/WebOriginDataManagerProxy.cpp: |
| (WebKit::CallbackSynchronizer::create): |
| (WebKit::CallbackSynchronizer::CallbackSynchronizer): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (-[WKSelectionHandlerWrapper initWithSelectionHandler:]): |
| (WebKit::nsMenuItemVector): |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: |
| (WebKit::WebIDBServerConnection::deleteDatabase): |
| (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): |
| (WebKit::WebIDBServerConnection::openTransaction): |
| (WebKit::WebIDBServerConnection::beginTransaction): |
| (WebKit::WebIDBServerConnection::commitTransaction): |
| (WebKit::WebIDBServerConnection::resetTransaction): |
| (WebKit::WebIDBServerConnection::rollbackTransaction): |
| (WebKit::WebIDBServerConnection::setIndexKeys): |
| (WebKit::WebIDBServerConnection::createObjectStore): |
| (WebKit::WebIDBServerConnection::createIndex): |
| (WebKit::WebIDBServerConnection::deleteIndex): |
| (WebKit::WebIDBServerConnection::get): |
| (WebKit::WebIDBServerConnection::put): |
| (WebKit::WebIDBServerConnection::count): |
| (WebKit::WebIDBServerConnection::deleteRange): |
| (WebKit::WebIDBServerConnection::clearObjectStore): |
| (WebKit::WebIDBServerConnection::deleteObjectStore): |
| (WebKit::WebIDBServerConnection::changeDatabaseVersion): |
| (WebKit::WebIDBServerConnection::openCursor): |
| (WebKit::WebIDBServerConnection::cursorAdvance): |
| (WebKit::WebIDBServerConnection::cursorIterate): |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: |
| * WebProcess/OriginData/WebOriginDataManagerSupplement.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::getOrigins): |
| (WebKit::WebProcess::deleteEntriesForOrigin): |
| (WebKit::WebProcess::deleteEntriesModifiedBetweenDates): |
| (WebKit::WebProcess::deleteAllEntries): |
| * WebProcess/WebProcess.h: |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of a couple of binds in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139717 |
| |
| Reviewed by Sam Weinig. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::postDatabaseTask): |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: |
| (WebKit::UniqueIDBDatabase::didShutdownBackingStore): |
| (WebKit::UniqueIDBDatabase::postMainThreadTask): |
| (WebKit::UniqueIDBDatabase::performNextMainThreadTask): |
| (WebKit::UniqueIDBDatabase::postDatabaseTask): |
| (WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Deleted. |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::initializeDeadNameSource): |
| * UIProcess/Launcher/ProcessLauncher.cpp: |
| (WebKit::processLauncherWorkQueue): |
| (WebKit::ProcessLauncher::ProcessLauncher): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::unprotectPluginFromDestruction): |
| (WebKit::derefPluginView): Deleted. |
| |
| 2014-12-16 Andreas Kling <akling@apple.com> |
| |
| Use Ref for SecurityOrigin. |
| <https://webkit.org/b/139710> |
| |
| Reviewed by Anders Carlsson. |
| |
| * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: |
| (WebKit::UniqueIDBDatabase::databaseFilenameIdentifier): |
| * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: |
| (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): |
| * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: |
| (WebKit::WebIDBServerConnection::WebIDBServerConnection): |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::addOriginAccessWhitelistEntry): |
| (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry): |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Remove deprecated StorageNamespaceImpl overloads |
| https://bugs.webkit.org/show_bug.cgi?id=139713 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::storageArea): |
| (WebKit::StorageNamespaceImpl::copy): |
| (WebKit::StorageNamespaceImpl::createSessionStorageNamespace): Deleted. |
| (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): Deleted. |
| * WebProcess/Storage/StorageNamespaceImpl.h: |
| |
| 2014-12-16 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _animationControllerForCustomPreview]): |
| |
| 2014-12-16 Beth Dakin <bdakin@apple.com> |
| |
| REGRESSION: Preview popovers obscure the link, look wrong |
| https://bugs.webkit.org/show_bug.cgi?id=139711 |
| -and corresponding- |
| rdar://problem/19271854 |
| |
| Reviewed by Tim Horton. |
| |
| Switch to using NSPopoverAnimationController. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController _animationControllerForCustomPreview]): |
| |
| 2014-12-16 Timothy Horton <timothy_horton@apple.com> |
| |
| Immediate action popovers can get stuck open |
| https://bugs.webkit.org/show_bug.cgi?id=139709 |
| <rdar://problem/19270279> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| Don't clear the animation controller; it breaks things and was unnecessary. |
| |
| 2014-12-16 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Add a progress indicator to the preview popover |
| https://bugs.webkit.org/show_bug.cgi?id=139699 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setPreviewLoading:]): |
| Wrap -[WKImmediateActionController setPreviewLoading:]. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]): |
| Flag the preview view controller as loading before beginning the load. |
| (-[WKImmediateActionController setPreviewLoading:]): |
| Wrap -[WKPagePreviewViewController setLoading:]. |
| |
| * UIProcess/mac/WKPagePreviewViewController.h: |
| * UIProcess/mac/WKPagePreviewViewController.mm: |
| (-[WKPagePreviewViewController setLoading:]): |
| Toggle the progress indicator animation state. |
| (-[WKPagePreviewViewController isLoading]): |
| Accessor. |
| (-[WKPagePreviewViewController loadView]): |
| Create and center an indeterminate progress indicator that won't scale with the preview content. |
| |
| 2014-12-16 Enrica Casucci <enrica@apple.com> |
| |
| Fix iOS builders for 8.0 |
| https://bugs.webkit.org/show_bug.cgi?id=139495 |
| |
| Reviewed by Jer Noble |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _mayAutomaticallyShowVideoOptimized]): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| |
| 2014-12-16 Gavin Barraclough <barraclough@apple.com> |
| |
| Move Mac process suppression from WebCore to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139705 |
| |
| Reviewed by Geoff Garen. |
| |
| Currently PageThrottler constructs the PageActivityState, holds a copy of the ViewState, |
| and an optional UserActivity. |
| |
| Instead, still construct the PageActivityState but just pass this out via the Page to WebPage. |
| Logic From PageThrottler::updateUserActivity merged into WebPage::updateUserActivity. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::setPageActivityState): |
| - added to propagate PageActivityState to WebPage. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| - added setPageActivityState to propagate PageActivityState to WebPage. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| - calls to updateUserActivity. |
| (WebKit::WebPage::setPageActivityState): |
| - calls to updateUserActivity. |
| (WebKit::WebPage::updateUserActivity): |
| - incorporate logic from PageThrottler::updateUserActivity. |
| (WebKit::WebPage::setViewState): |
| - calls to updateUserActivity. |
| (WebKit::WebPage::updatePreferences): |
| - calls to updateUserActivity. |
| * WebProcess/WebPage/WebPage.h: |
| - added setPageActivityState, m_activityState. |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| More StorageManager modernization |
| https://bugs.webkit.org/show_bug.cgi?id=139704 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::createSessionStorageMap): |
| (WebKit::StorageManager::destroyStorageMap): |
| (WebKit::StorageManager::findStorageArea): |
| (WebKit::StorageManager::getOrCreateLocalStorageNamespace): |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Use Ref in another StorageManager function |
| https://bugs.webkit.org/show_bug.cgi?id=139700 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea): |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Use Ref in StorageManager |
| https://bugs.webkit.org/show_bug.cgi?id=139698 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::TransientLocalStorageNamespace::create): |
| (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::StorageArea::create): |
| (WebKit::StorageManager::StorageArea::clone): |
| (WebKit::StorageManager::LocalStorageNamespace::create): |
| (WebKit::StorageManager::SessionStorageNamespace::create): |
| (WebKit::StorageManager::create): |
| * UIProcess/Storage/StorageManager.h: |
| |
| 2014-12-16 Gavin Barraclough <barraclough@apple.com> |
| |
| Split UserActivity from disabled flag in WebPage |
| https://bugs.webkit.org/show_bug.cgi?id=139696 |
| |
| Reviewed by Geoffrey Garen. |
| |
| In preparation for other things driving the UserActivity. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| - initialize new members. |
| (WebKit::WebPage::updateUserActivity): |
| - start/stop the m_userActivity, based on m_processSupressionEnabled |
| (WebKit::WebPage::updatePreferences): |
| - call updateUserActivity to account for m_processSupressionEnabled changes. |
| * WebProcess/WebPage/WebPage.h: |
| - split m_processSuppressionDisabledByWebPreference -> m_processSupressionEnabled, m_userActivity. |
| |
| 2014-12-16 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of PassRefPtr inside StorageManager |
| https://bugs.webkit.org/show_bug.cgi?id=139693 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::StorageArea::create): |
| (WebKit::StorageManager::StorageArea::StorageArea): |
| (WebKit::StorageManager::StorageArea::clone): |
| (WebKit::StorageManager::LocalStorageNamespace::create): |
| (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::SessionStorageNamespace::create): |
| (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::create): |
| * UIProcess/Storage/StorageManager.h: |
| |
| 2014-12-16 Tim Horton <timothy_horton@apple.com> |
| |
| Disable TextIndication for Lookup immediate actions |
| https://bugs.webkit.org/show_bug.cgi?id=139684 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _animationControllerForText]): |
| |
| 2014-12-16 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] WKWebProcessPlugInLoadDelegate can’t tell what type of same-document navigation has happened |
| https://bugs.webkit.org/show_bug.cgi?id=139669 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/Cocoa/_WKSameDocumentNavigationType.h: Added. Moved the |
| _WKSameDocumentNavigationType type definition here from WKNavigationDelegatePrivate.h. |
| * Shared/API/Cocoa/_WKSameDocumentNavigationTypeInternal.h: Added. |
| (WebKit::toWKSameDocumentNavigationType): Moved from NavigationState.mm. |
| |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::toSameDocumentNavigationType): Added this conversion helper. |
| |
| * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Added #import. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::toWKSameDocumentNavigationType): Deleted. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Updated for added headers. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new |
| delegate method that take a navigation type parameter. |
| |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (didSameDocumentNavigationForFrame): Changed to call the new delegate method, passing the |
| navigation type. |
| |
| 2014-12-16 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.3 release. |
| |
| * gtk/NEWS: Add release notes for 2.7.3. |
| |
| 2014-12-16 Antti Koivisto <antti@apple.com> |
| |
| WebKit level persistent caching |
| https://bugs.webkit.org/show_bug.cgi?id=30322 |
| |
| Minor cleanups based on comments by Joseph Pecoraro. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::decodeStorageEntry): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| |
| 2014-12-15 Bartlomiej Gajda <b.gajda@samsung.com> |
| |
| Build fix after r177301. |
| https://bugs.webkit.org/show_bug.cgi?id=139666 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: |
| (WebKit::WebPage::findZoomableAreaForPoint): |
| |
| 2014-12-15 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Possible crash when setting the WKWebViews's scroll view delegate, if the scroll view outlives the web view |
| https://bugs.webkit.org/show_bug.cgi?id=139662 |
| rdar://problem/18083882 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Null out the internal delegate on the WKScrollView when the WKWebView goes away, since |
| it's possible for a client to set its own scroll view delegate, forcing the creation of |
| a WKScrollViewDelegateForwarder, and then retain the UIScrollView past the lifetime of |
| the WKWebView. In this situation, the WKScrollViewDelegateForwarder's internalDelegate |
| would point to a deleted WKWebView. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView dealloc]): |
| |
| 2014-12-15 Beth Dakin <bdakin@apple.com> |
| |
| Make lookup an immediate action instead of an action menu item |
| https://bugs.webkit.org/show_bug.cgi?id=139661 |
| -and corresponding- |
| rdar://problem/19198414 |
| |
| Reviewed by Tim Horton. |
| |
| New type. |
| * Shared/API/c/WKImmediateActionTypes.h: |
| |
| ActionMenuHitTestResult now includes a DictionaryPopupInfo. |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| |
| Remove all lookup menu items. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForText]): |
| (-[WKActionMenuController _defaultMenuItemsForEditableText]): |
| (-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| (-[WKActionMenuController _lookupText:]): Deleted. |
| |
| Set the defaultAnimationController to the lookup-provided animation controller |
| when appropriate. |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController _animationControllerForText]): |
| |
| Re-factor performDictionaryLookupForRange() so that most of the work is done in a |
| new function called dictionaryPopupInfoForRange(). This was that code can be used |
| for both performing a dictionary lookup and just getting the DictionaryPopupInfo |
| for the ActionMenuHitTest. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::dictionaryPopupInfoForRange): |
| (WebKit::WebPage::performDictionaryLookupForRange): |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::lookupTextAtLocation): |
| |
| 2014-12-15 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: Docked inspector repositioned incorrectly when dragging frame borders |
| https://bugs.webkit.org/show_bug.cgi?id=139415 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The _ignoreNextInspectedViewFrameDidChange flag wasn't set back to NO after |
| being tested by inspectedViewFrameDidChange. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): |
| |
| 2014-12-15 Gavin Barraclough <barraclough@apple.com> |
| |
| Simplify tracking of process suppression disabled for PluginProcessManager |
| https://bugs.webkit.org/show_bug.cgi?id=139611 |
| |
| Unreviewed gtk/efl build fix. |
| |
| * UIProcess/Plugins/PluginProcessManager.h: |
| - missing #ifdef |
| |
| 2014-12-15 Timothy Horton <timothy_horton@apple.com> |
| |
| Implement Data Detectors immediate actions for WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139617 |
| <rdar://problem/19198539> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _menuItemForDataDetectedText]): |
| Note that this action context is only for immediate actions. |
| |
| 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Addressing post-review comments in r177035 |
| https://bugs.webkit.org/show_bug.cgi?id=139557 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): Migrate off rendererBoundingBox(). |
| * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: |
| (WebKit::WebPage::findZoomableAreaForPoint): Ditto. |
| |
| 2014-12-15 Timothy Horton <timothy_horton@apple.com> |
| |
| Implement Data Detectors immediate actions for WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139617 |
| <rdar://problem/19198539> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/API/c/WKImmediateActionTypes.h: |
| Add a new type. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView mouseDown:]): |
| Send mouseDown along to the WKImmediateActionController too. |
| |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| Temporarily disable action menus. |
| |
| (-[WKView _dismissContentRelativeChildWindows]): |
| Hide the immediate action preview when detaching child windows. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController willDestroyView:]): |
| Clear the DDActionContext when tearing down the view. |
| |
| (-[WKImmediateActionController wkView:willHandleMouseDown:]): |
| (-[WKImmediateActionController _cancelImmediateAction]): |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]): |
| (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]): |
| (-[WKImmediateActionController _defaultAnimationController]): |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| (-[WKImmediateActionController hidePreview]): |
| (-[WKImmediateActionController popoverWillClose:]): |
| (-[WKImmediateActionController _menuItemForDataDetectedText]): |
| Copy most of the DataDetectors implementation into WKImmediateActionController. |
| |
| 2014-12-15 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Delete Notation because we don't use it |
| https://bugs.webkit.org/show_bug.cgi?id=139171 |
| |
| Reviewed by Kent Tamura. |
| |
| * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: |
| (WebKit::WKDOMNodeClass): |
| * mac/MigrateHeadersFromWebKitLegacy.make: |
| |
| 2014-12-15 David Kilzer <ddkilzer@apple.com> |
| |
| Remove last references to OfflineStorage process |
| <http://webkit.org/b/139648> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Remove last references to |
| the OfflineStorage process. See r154251 and r154256. |
| |
| 2014-12-15 Gavin Barraclough <barraclough@apple.com> |
| |
| Change HysteresisActivity to use a lambda |
| https://bugs.webkit.org/show_bug.cgi?id=139636 |
| |
| Reviewed by Darin Adler. |
| |
| The current implementation provides notifications via callbacks to a delegate. Using a delegate |
| with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks |
| must either be on a separate object (more boilerplate), or the callback must be public for |
| HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra |
| delegate objects it's hard to scale use of these objects - a single object can't serve as a |
| delegate for multiple HysteresisActivity members. |
| |
| Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed |
| HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout). |
| |
| * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp: |
| (WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker): |
| - HysteresisActivity now takes a lambda, not a delegate. |
| (WebKit::WebSQLiteDatabaseTracker::hysteresisUpdated): |
| (WebKit::WebSQLiteDatabaseTracker::started): Deleted. |
| (WebKit::WebSQLiteDatabaseTracker::stopped): Deleted. |
| - started/stopped merged into hysteresisUpdated |
| * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: |
| - HysteresisActivity is no longer templated on delegate type, changed function declarations. |
| |
| 2014-12-15 Antti Koivisto <antti@apple.com> |
| |
| WebKit level persistent caching |
| https://bugs.webkit.org/show_bug.cgi?id=30322 |
| |
| Reviewed by Sam Weinig. |
| |
| We can improve performance and open new optimization possibilities by bringing network caching into WebKit. |
| |
| This patch implements an experimental HTTP cache living in the network process. |
| |
| The main classes are: |
| |
| NetworkCache |
| - Implements HTTP cache validation logic including Vary header |
| - Initially non-range GET only |
| - Fast serialization using WebKit types (ResourcesResponse etc) instead of native network layer types |
| |
| NetworkCacheKey |
| - Unique identifier for cache entries |
| - Keyed on method/partition/URL |
| |
| NetworkCacheStorage |
| - Storage backend |
| - dispatch-IO based implementation (generic posix implementation wouldn't be difficult) |
| - File system only (no SQLite or similar) |
| - One file per resource containing both header and body data |
| - Zero persistent global metadata |
| - Bloom filter for fast fail |
| |
| NetworkCacheEncoder/Decoder |
| - Serializisation support with integrity verification. |
| |
| The code is behind the NETWORK_CACHE feature flag and requires network process to be enabled to use. |
| |
| This patch does not enable the feature yet by default. |
| |
| Test: http/tests/cache/disk-cache-validation.html |
| |
| * NetworkProcess/cache/NetworkCache.cpp: Added. |
| * NetworkProcess/cache/NetworkCache.h: Added. |
| * NetworkProcess/cache/NetworkCacheKey.cpp: Added. |
| * NetworkProcess/cache/NetworkCacheKey.h: Added. |
| * NetworkProcess/cache/NetworkCacheStorage.h: Added. |
| * NetworkProcess/cache/NetworkCacheStorage.mm: Added. |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| (WebKit::NetworkProcess::platformSetCacheModel): |
| * NetworkProcess/ios/NetworkProcessIOS.mm: |
| (WebKit::NetworkProcess::clearCacheForAllOrigins): |
| * NetworkProcess/mac/NetworkProcessMac.mm: |
| (WebKit::NetworkProcess::clearCacheForAllOrigins): |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: |
| (WebKit::tryGetShareableHandleFromCFData): |
| * Platform/Logging.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * config.h: |
| |
| 2014-12-15 Gavin Barraclough <barraclough@apple.com> |
| |
| Simplify tracking of process suppression disabled for PluginProcessManager |
| https://bugs.webkit.org/show_bug.cgi?id=139611 |
| |
| Reviewed by Darin Adler. |
| |
| Previously if process suppression state changed for any context we would |
| iterate over all contexts to recompute. |
| |
| There was also an inconsistency in the code. When plugin processes are |
| created they called processSuppressionIsEnabledForAllContexts(), which |
| checked WebContext::processSuppressionEnabled(), which in turn checks |
| two things - whether any page is currently visible, and whether the |
| suppression is currently disabled for any page. However when updating |
| process supression state we would call |
| processSuppressionPreferenceIsEnabledForAllContexts(), which would just |
| check the value of the key from the context's default PageGroup. |
| |
| We shouldn't be taking visibility into account (this is handled from the |
| content, where we know which pages have instances of which plugins), but |
| we should be checking the current pref value of each page. |
| |
| We already track in each context whether any page has teh pref set to |
| disable throttling; add a counter to the shared PluginProcessManager to |
| coallesce across all contexts. |
| |
| * UIProcess/Plugins/PluginProcessManager.cpp: |
| (WebKit::PluginProcessManager::PluginProcessManager): |
| - added m_processSuppressionDisabledForPageCounter, m_processSuppressionEnabled. |
| * UIProcess/Plugins/PluginProcessManager.h: |
| (WebKit::PluginProcessManager::processSuppressionDisabledForPageCount): |
| - accessor for WebContext to increment count. |
| (WebKit::PluginProcessManager::processSuppressionEnabled): |
| - accessor for PluginProcessProxy. |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::didFinishLaunching): |
| - get initial supression state from the PluginProcessManager, not WebContext. |
| * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: |
| (WebKit::PluginProcessManager::updateProcessSuppressionState): |
| (WebKit::PluginProcessManager::setProcessSuppressionEnabled): Deleted. |
| - setProcessSuppressionEnabled -> updateProcessSuppressionState |
| rather than WebContext setting suppression state, PluginProcessManager detects |
| when this may need to change & determines a new value for itself. |
| * UIProcess/WebContext.h: |
| - removed processSuppressionIsEnabledForAllContexts, processSuppressionPreferenceIsEnabledForAllContexts |
| updateProcessSuppressionState is no longer const (updates m_pluginProcessManagerProcessSuppressionDisabledCount). |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::updateProcessSuppressionState): |
| - instead of explicitly recomputing plugin throttling state from Within the WebContext, just update |
| m_pluginProcessManagerProcessSuppressionDisabledCount to count a RefCounter on the shared PluginProcessManager. |
| (WebKit::WebContext::processSuppressionIsEnabledForAllContexts): Deleted. |
| (WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts): Deleted. |
| - removed. |
| |
| 2014-12-15 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use API::LoaderClient instead of WKPageLoaderClient |
| https://bugs.webkit.org/show_bug.cgi?id=139583 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| It simplifies the code and it will make easier to implement new |
| loader client methods. |
| |
| * UIProcess/API/gtk/WebKitBackForwardList.cpp: |
| (webkitBackForwardListChanged): |
| * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| (LoaderClient::LoaderClient): |
| (attachLoaderClientToView): |
| (didStartProvisionalLoadForFrame): Deleted. |
| (didReceiveServerRedirectForProvisionalLoadForFrame): Deleted. |
| (didFailProvisionalLoadWithErrorForFrame): Deleted. |
| (didCommitLoadForFrame): Deleted. |
| (didFinishLoadForFrame): Deleted. |
| (didFailLoadWithErrorForFrame): Deleted. |
| (didDisplayInsecureContentForFrame): Deleted. |
| (didRunInsecureContentForFrame): Deleted. |
| (didChangeBackForwardList): Deleted. |
| (didReceiveAuthenticationChallengeInFrame): Deleted. |
| (processDidCrash): Deleted. |
| |
| 2014-12-15 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController |
| https://bugs.webkit.org/show_bug.cgi?id=118383 |
| |
| Reviewed by Martin Robinson. |
| |
| Implements an initial version of the Threaded Compositor. |
| |
| Threaded Compositor is a variant of Coordinated Graphics implementation. |
| Basic structure of the implementaion is simliar, thus, Threaded |
| Compositor reuses lots of classes from Coordinated Graphics. However, |
| instead of compositing on UI Process, Threaded Compositor performs |
| compositing on a dedicate thread of Web Process. |
| |
| No new test, because it is in experimental stage. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene): |
| Removed a assertion not to force its creation in the main thread. In |
| the Threaded Compositor, it can be created in the dedicated thread. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added. |
| Implements a surface using ImageBuffer as a backend to use in the Web |
| Process. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added. |
| Implements a compositor which runs on the created thread. It owns |
| SimpleViewportController and CoordinatedGraphicsScene to render scene on the |
| actual surface. |
| |
| * Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added. |
| * Shared/CoordinatedGraphics/SimpleViewportController.h: Added. |
| This class is responsible to handle scale factor and scrolling position |
| with a simplifed logic in the compositing thread. |
| |
| 2014-12-14 Andreas Kling <akling@apple.com> |
| |
| Replace PassRef with Ref/Ref&& across the board. |
| <https://webkit.org/b/139587> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/WebBackForwardList.h: |
| (WebKit::WebBackForwardList::create): |
| * UIProcess/WebBatteryManagerProxy.cpp: |
| (WebKit::WebBatteryManagerProxy::create): |
| * UIProcess/WebBatteryManagerProxy.h: |
| * UIProcess/WebPageGroup.cpp: |
| (WebKit::WebPageGroup::createNonNull): |
| * UIProcess/WebPageGroup.h: |
| * UIProcess/efl/BatteryProvider.cpp: |
| (BatteryProvider::create): |
| * UIProcess/efl/BatteryProvider.h: |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::shouldApplyStyle): |
| * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: |
| (WebKit::WebUserMediaClient::requestPermission): |
| * WebProcess/WebCoreSupport/WebUserMediaClient.h: |
| * WebProcess/WebPage/ViewUpdateDispatcher.cpp: |
| (WebKit::ViewUpdateDispatcher::create): |
| * WebProcess/WebPage/ViewUpdateDispatcher.h: |
| |
| 2014-12-12 Gavin Barraclough <barraclough@apple.com> |
| |
| Split WebPageProxy::m_preventProcessSuppression to track pref/visibility separately |
| https://bugs.webkit.org/show_bug.cgi?id=139600 |
| |
| Reviewed by Geoff Garen. |
| |
| Previously WebPageProxy::m_preventProcessSuppression would be set if either the page was visible |
| or its suppression was disabled by the pref. Instead track these separately. This will make the |
| user observability state applicable on iOS, too. |
| |
| Add a new counter to WebContext, and split the counting in WebPageProxy. |
| ::updateProccessSuppressionState continues to track the pref change (which matches its name), |
| tracking of user observability changes moved to updateActivityToken (which we should further |
| merge with; it already tracks observability to control process state for iOS). |
| |
| * UIProcess/WebContext.cpp: |
| (WebKit::m_processSuppressionDisabledForPageCounter): |
| - added new RefCounter. |
| * UIProcess/WebContext.h: |
| (WebKit::WebContext::processSuppressionDisabledForPageCount): |
| - added new RefCounter. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| - no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken). |
| (WebKit::WebPageProxy::dispatchViewStateChange): |
| - no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken). |
| (WebKit::WebPageProxy::updateActivityToken): |
| - this now also updated the user observability counter. |
| (WebKit::WebPageProxy::updateProccessSuppressionState): |
| - now only tracks whether this is disabled via the preference. |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| - clear the user observability counter; thsi will be reset on reattach. |
| * UIProcess/WebPageProxy.h: |
| - added new RefCounter::Count. |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::processSuppressionEnabled): |
| - processSuppressionEnabled is disabled if *neither*: |
| - there are user observable pages |
| - disabled by pref for any page. |
| |
| 2014-12-12 Beth Dakin <bdakin@apple.com> |
| |
| Need a fake mouse move after hiding data detectors UI |
| https://bugs.webkit.org/show_bug.cgi?id=139608 |
| -and corresponding- |
| rdar://problem/19221935 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::dataDetectorsDidHideUI): |
| |
| 2014-12-12 Anders Carlsson <andersca@apple.com> |
| |
| Handle caches in WebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=139607 |
| <rdar://problem/19107614> |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeNetworkProcessAccessType): |
| |
| 2014-12-12 Enrica Casucci <enrica@apple.com> |
| |
| [iOS] Predictions are not updated when using navigation buttons. |
| https://bugs.webkit.org/show_bug.cgi?id=139567 |
| rdar://problem/19132585 |
| |
| Reviewed by Dan Bernstein. |
| |
| When moving focus programmatically, we need to notify the keyboard so that it |
| can update the prediction bar. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKFormInputSession setAccessoryViewCustomButtonTitle:]): |
| (-[WKContentView requiresAccessoryView]): |
| (-[WKContentView inputAssistantButtonItems]): |
| (-[WKContentView accessoryTab:]): |
| (-[WKContentView _startAssistingKeyboard]): |
| (-[WKContentView _stopAssistingNode]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::focusNextAssistedNode): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::focusNextAssistedNode): |
| |
| 2014-12-12 Timothy Horton <timothy_horton@apple.com> |
| |
| TextIndicator (and other view-relative subwindows) is not dismissed on zoom gesture |
| https://bugs.webkit.org/show_bug.cgi?id=139580 |
| <rdar://problem/19226350> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::dismissContentRelativeChildWindows): |
| (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Deleted. |
| (WebKit::PageClientImpl::dismissActionMenuPopovers): Deleted. |
| Merge dismissDictionaryLookupPanel and dismissActionMenuPopovers into |
| _dismissContentRelativeChildWindows, which also dismisses TextIndicator and the |
| text correction panel. Dismissal of any child windows which are anchored to |
| the page content now bottlenecks through this function. |
| |
| (WebKit::PageClientImpl::navigationGestureDidBegin): |
| Dismiss all anchored subwindows when starting a navigation gesture, not |
| just TextIndicator and action menu popovers. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView scrollWheel:]): |
| No need to dismiss TextIndicator here; we've got this covered in the more-inclusive |
| WebPageProxy::pageDidScroll, and will now dismiss more things. |
| |
| (-[WKView mouseDown:]): |
| Dismiss more things. |
| |
| (-[WKView viewDidMoveToWindow]): |
| Dismiss more things. |
| |
| (-[WKView _dismissContentRelativeChildWindows]): |
| The aforementioned combined dismissal function. |
| |
| (-[WKView magnifyWithEvent:]): |
| (-[WKView smartMagnifyWithEvent:]): |
| (-[WKView setMagnification:centeredAtPoint:]): |
| (-[WKView setMagnification:]): |
| Any time the page magnification changes, dismiss all the things. |
| |
| * UIProcess/API/mac/WKViewPrivate.h: |
| Expose _dismissContentRelativeChildWindows instead of _dismissActionMenuPopovers; |
| for all existing clients, it makes more sense to dismiss all view-relative subwindows |
| than just a subset of them. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| (WebKit::WebPageProxy::pageDidScroll): |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| Make use of dismissAnchoredSubwindows. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| Dismiss more things. |
| |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| (-[WKActionMenuController dismissActionMenuPopovers]): Deleted. |
| dismissActionMenuPopovers is folded into WKView's _dismissContentRelativeChildWindows. |
| |
| (-[WKActionMenuController _showTextIndicator]): Deleted. |
| (-[WKActionMenuController _hideTextIndicator]): Deleted. |
| Fold _showTextIndicator and _hideTextIndicator into their only callers. |
| _isShowingTextIndicator was never necessary, because it's OK to change |
| the current TextIndicator at any time, and a newer one is always more relevant. |
| |
| 2014-12-12 Gavin Barraclough <barraclough@apple.com> |
| |
| Keep single RefCounter to track whether any pages in a context are process suppressible |
| https://bugs.webkit.org/show_bug.cgi?id=139576 |
| |
| Reviewed by Sam Weinig. |
| |
| Currently we keep separate counters in each process, and coallesce these in the |
| context. Instead we should have a counter in the WebContext. |
| |
| Also, changed the name to better describe the state we're tracking, rather than |
| describing what it's currently used for. This counter will also be useful for |
| iOS, to better manage background state of the networking process. |
| |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::WebContext): |
| - initialize m_userObservablePageCounter. |
| * UIProcess/WebContext.h: |
| (WebKit::WebContext::updateProcessSuppressionState): |
| - Added no-op implementation for non-cocoa platforms. |
| (WebKit::WebContext::userObservablePageCount): |
| - Count the number of user visible (audible / visible) pages in Context. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::updateProccessSuppressionState): |
| - WebProcessProxy::processSuppressionCounter -> WebContext::userObservablePageCount |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::WebProcessProxy): |
| (WebKit::WebProcessProxy::didFinishLaunching): |
| - moved all processs supression state tracking to the WebContext. |
| * UIProcess/WebProcessProxy.h: |
| (WebKit::WebProcessProxy::processSuppressionCounter): Deleted. |
| - moved all processs supression state tracking to the WebContext. |
| * UIProcess/ios/WebProcessProxyIOS.mm: |
| (WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted. |
| (WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted. |
| - moved all processs supression state tracking to the WebContext. |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::processSuppressionEnabled): |
| - no need to interate all processes; just have a single counter. |
| * UIProcess/mac/WebProcessProxyMac.mm: |
| (WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted. |
| (WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted. |
| - moved all processs supression state tracking to the WebContext. |
| |
| 2014-12-12 Alexey Proskuryakov <ap@apple.com> |
| |
| Layout Test http/tests/loading/307-after-303-after-post.html is flaky |
| https://bugs.webkit.org/show_bug.cgi?id=73030 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::createNewWebProcess): Added a FIXME comment. |
| (WebKit::WebContext::setIconDatabasePath): Don't enable m_iconDatabase if the path |
| is empty, meaning that the database is disabled (which is not a great way to say |
| that, but WebKit2 icon database doesn't support enabling/disabling cleanly). |
| (WebKit::WebContext::iconDatabasePath): Keep it empty if it was empty. |
| |
| 2014-12-12 Mark Rowe <mrowe@apple.com> |
| |
| Fix the 32-bit build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setPreviewTitle:]): |
| |
| 2014-12-12 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the 32-bit build. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| |
| 2014-12-12 Rohit Kumar <kumar.rohit@samsung.com> |
| |
| Fix Build Warning in WebKit2/UIProcess module for GTK build and WebKit2/NetworkProcess module in GTK and EFL build |
| https://bugs.webkit.org/show_bug.cgi?id=139535 |
| |
| Reviewed by Martin Robinson. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: Use UNUSED_PARAM for conditional #if case |
| (webkitWebViewShowNotification): |
| (webkitWebViewCloseNotification): |
| |
| 2014-12-12 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] Disable all EWK2Accessibility unit tests |
| https://bugs.webkit.org/show_bug.cgi?id=139577 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| WebAccessibility functionality isn't supported by EFL WebKit2 though, |
| EWK2Accessibility unit tests have been tested. That's why those tests have been failed |
| so far. |
| |
| * UIProcess/API/efl/tests/test_ewk2_accessibility.cpp: |
| (TEST_F): |
| |
| 2014-12-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Layer borders on contentsLayers don't correctly toggle with the rest of the borders |
| https://bugs.webkit.org/show_bug.cgi?id=139570 |
| rdar://problem/18007746 |
| |
| Reviewed by Tim Horton. |
| |
| Return nil if the color is invalid, to remove the color from the layer's |
| border or background. |
| |
| * Shared/mac/RemoteLayerTreePropertyApplier.mm: |
| (WebKit::cgColorFromColor): |
| |
| 2014-12-11 Gavin Barraclough <barraclough@apple.com> |
| |
| Track pages preventing suppression in WebProcessProxy using RefCounter |
| https://bugs.webkit.org/show_bug.cgi?id=139108 |
| |
| Reviewed by Benjamin Poulain. |
| |
| The networking process is allowed to app nap if all web pages are also currently in app nap. |
| In order to detect whether any page in any process currently requires the networking process |
| to be active we: |
| - maintain hash sets in every WebProcessProxy of pages that are okay with suppression. |
| - if anything changes, the WebContext iterates every WebProcessProxy to recompute state. |
| |
| This is all crazy - all we actually need is a simple count of the number of pages that need |
| to prevent the networking process from entering app nap. This patch gets us half way there - |
| replace the HashSet with a RefCounter. Next step will be to hoist the RefCounters from the |
| process proxies up to the context to do away with the iteration. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| - make sure we prevent process suppression, per current viewstate & preferences. |
| (WebKit::WebPageProxy::dispatchViewStateChange): |
| - make sure we prevent process suppression, per viewstate change. |
| (WebKit::WebPageProxy::updateProccessSuppressionState): |
| - recompute whether we need to prevent process suppression. |
| (WebKit::WebPageProxy::preferencesDidChange): |
| - when preferences change process supression may be disabled. |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| - we need to drop the old ref, to allow a new one to be taken when we reattach. |
| (WebKit::WebPageProxy::isProcessSuppressible): Deleted. |
| - moreged into updateProccessSuppressionState. |
| * UIProcess/WebPageProxy.h: |
| - added m_preventProcessSuppression. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::WebProcessProxy): |
| - initialize m_pagesPreventingSuppression |
| (WebKit::WebProcessProxy::createWebPage): |
| - moved to WebPageProxy::WebPageProxy |
| (WebKit::WebProcessProxy::addExistingWebPage): |
| - moved to WebPageProxy::reattachToWebProcess |
| (WebKit::WebProcessProxy::removeWebPage): |
| - now implicit; when the page is destroyed the RefPtr will release. |
| (WebKit::WebProcessProxy::pageSuppressibilityChanged): Deleted. |
| - moved to WebPageProxy::dispatchViewStateChange. |
| (WebKit::WebProcessProxy::pagePreferencesChanged): Deleted. |
| - moved to WebPageProxy::preferencesDidChange. |
| * UIProcess/WebProcessProxy.h: |
| (WebKit::WebProcessProxy::preventProcessSuppressionForPage): |
| - reference count m_pagesPreventingSuppression |
| * UIProcess/mac/WebProcessProxyMac.mm: |
| (WebKit::WebProcessProxy::allPagesAreProcessSuppressible): |
| - converted to use m_pagesPreventingSuppression. |
| - removed guard that meant processes with no pages would keep the networking |
| process from entering app nap, which made no sense. |
| |
| 2014-12-11 Anders Carlsson <andersca@apple.com> |
| |
| Temporarily use WebCore session storage for transient local storage |
| https://bugs.webkit.org/show_bug.cgi?id=139574 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.h: |
| Change the header guard so it won't conflict with StorageNamespaceImpl.h in WebCore. |
| |
| * WebProcess/Storage/WebStorageNamespaceProvider.cpp: |
| (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace): |
| Use the WebCore session storage for now, to avoid crashes. |
| |
| 2014-12-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r177081. |
| https://bugs.webkit.org/show_bug.cgi?id=139569 |
| |
| broke iOS video playback (Requested by eric_carlson on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Fix iOS builders for 8.0" |
| https://bugs.webkit.org/show_bug.cgi?id=139495 |
| http://trac.webkit.org/changeset/177081 |
| |
| 2014-12-11 Beth Dakin <bdakin@apple.com> |
| |
| WK2: Need new SPI for Webkit clients to override default immediate action |
| https://bugs.webkit.org/show_bug.cgi?id=139564 |
| -and corresponding- |
| rdar://problem/19225448 |
| |
| Reviewed by Tim Horton. |
| |
| New SPI _immediateActionAnimationControllerForHitTestResult:withType:userData: |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]): |
| |
| Keep at ivar for the userData so that it can be passed to the new SPI. |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController didPerformActionMenuHitTest:userData:]): |
| |
| Always give the SPI a chance to override the animationController. |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| |
| Need to mark WKImmediateActionTypes.h as Private. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-12-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Move the preview popover to WebImmediateActionController |
| https://bugs.webkit.org/show_bug.cgi?id=139563 |
| <rdar://problem/19208291> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| Remove an unnecessary forward declaration. |
| |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController willDestroyView:]): |
| Clear the immediate action recognizer when the view goes away. |
| |
| 2014-12-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| |
| 2014-12-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Move the preview popover to WKImmediateActionController |
| https://bugs.webkit.org/show_bug.cgi?id=139560 |
| <rdar://problem/19208291> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/API/c/WKImmediateActionTypes.h: |
| Add a link preview type. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| Pass the gesture recognizer to the WKImmediateActionController. |
| |
| (-[WKView _setPreviewTitle:]): |
| Forward preview title changes to the WKImmediateActionController, |
| because that's where the preview popover lives now. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| Move WKPagePreviewViewController into its own file. |
| Move page preview popover related code to WKImmediateActionController. |
| |
| * UIProcess/mac/WKImmediateActionController.h: |
| * UIProcess/mac/WKImmediateActionController.mm: |
| Compare the gesture recognizers directly instead of their views, for accuracy. |
| Move page preview popover related code in from WKActionMenuController. |
| Some of this should eventually move to WKPagePreviewViewController, but |
| for now for ease of transition we will move it here. |
| |
| * UIProcess/mac/WKPagePreviewViewController.h: Added. |
| * UIProcess/mac/WKPagePreviewViewController.mm: Added. |
| * WebKit2.xcodeproj/project.pbxproj: |
| Move WKPagePreviewViewController into its own file. |
| |
| 2014-12-11 Tomas Popela <tpopela@redhat.com> |
| |
| [GTK] Minor fixes for documentation and translations |
| https://bugs.webkit.org/show_bug.cgi?id=139450 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| * UIProcess/API/gtk/WebKitNavigationAction.cpp: |
| Fix typo in documentation. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_class_init): |
| Mark zoom-level and is-loading properties names for translation and |
| when touching them also fix the indentation style. |
| |
| 2014-12-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Inspector Process crash when navigating to non-inspectable page |
| https://bugs.webkit.org/show_bug.cgi?id=139508 |
| |
| Reviewed by Zalan Bujtas. |
| |
| The Inspector Process can still receive InspectorFrontendHost messages |
| even though the backend connection has been invalidated and cleared. |
| Only send messages if the connection exists. |
| |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::openInNewTab): |
| (WebKit::WebInspectorUI::sendMessageToBackend): |
| |
| 2014-12-11 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| WebKit2 should expose FirstVisuallyNonEmptyLayout rendering milestone. |
| https://bugs.webkit.org/show_bug.cgi?id=139514 |
| |
| Expose DidFirstVisuallyNonEmptyLayout so that WebKit2 client can listen to visually non-empty layout rendering event. |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/Cocoa/WKRenderingProgressEvents.h: Add WKRenderingProgressEventFirstVisuallyNonEmptyLayout to WKRenderingProgressEvents. |
| * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Also map kWKDidFirstVisuallyNonEmptyLayout to WKRenderingProgressEventFirstVisuallyNonEmptyLayout. |
| (renderingProgressEvents): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (layoutMilestones): Map _WKRenderingProgressEventFirstVisuallyNonEmptyLayout to WebCore::DidFirstVisuallyNonEmptyLayout. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/Cocoa/NavigationState.mm: Add _WKRenderingProgressEventFirstVisuallyNonEmptyLayout to _WKRenderingProgressEventFirstLayout. |
| (WebKit::renderingProgressEvents): Map WebCore::DidFirstVisuallyNonEmptyLayout to _WKRenderingProgressEventFirstVisuallyNonEmptyLayout. |
| |
| 2014-12-11 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Disable backspace key navigation |
| https://bugs.webkit.org/show_bug.cgi?id=136231 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| (WebKit::WebPage::performDefaultBehaviorForKeyEvent): remove handling |
| for backspace and <shift>backspace key combinations. |
| |
| 2014-12-11 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] String changes for the HTTP authentication dialog |
| https://bugs.webkit.org/show_bug.cgi?id=136782 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: |
| (webkitAuthenticationDialogInitialize): Add a title to the dialog, add |
| some missing mnemonics, and tweak a few strings. |
| |
| 2014-12-09 Jeremy Jones <jeremyj@apple.com> |
| |
| Restore interface state when stopping optimized fullscreen. |
| https://bugs.webkit.org/show_bug.cgi?id=139465 |
| |
| Reviewed by Simon Fraser. |
| |
| Implement fullscreenMayReturnToInline() to request the client application show the corresponding tab. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::fullscreenMayReturnToInline): added |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: add declaration |
| * UIProcess/Cocoa/UIDelegate.h: add declaration |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): check for responds to selector |
| (WebKit::UIDelegate::UIClient::fullscreenMayReturnToInline): added |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::fullscreenMayReturnToInline): added. |
| * UIProcess/WebPageProxy.h: add declaration |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: add declaration |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline): show the tab. |
| |
| 2014-12-11 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION (Async Text Input): Text input method state is not reset when reloading a page |
| https://bugs.webkit.org/show_bug.cgi?id=139504 |
| rdar://problem/19034674 |
| |
| Reviewed by Enrica Casucci. |
| |
| WebKit2 used to look at EditorState changes and guess when to cancel a composition. |
| This was quite unreliable, and needlessly complicated - WebCore knows when it decides |
| to destroy a composition, so it now explicitly notifies the clients. |
| |
| * UIProcess/API/mac/WKView.mm: (-[WKView _processDidExit]): Address crashing case too. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::discardedComposition): |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didChangeSelection): |
| (WebKit::WebPage::discardedComposition): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Get rid of the storage strategy |
| https://bugs.webkit.org/show_bug.cgi?id=139519 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkProcessPlatformStrategies.cpp: |
| (WebKit::NetworkProcessPlatformStrategies::createStorageStrategy): Deleted. |
| * NetworkProcess/NetworkProcessPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createStorageStrategy): Deleted. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2014-12-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebKitNotification is defined twice |
| https://bugs.webkit.org/show_bug.cgi?id=139538 |
| |
| Reviewed by Martin Robinson. |
| |
| Remove the typedef from WebKitForwardDeclarations.h since it's |
| already in WebKitNotification.h and include WebKitNotification.h |
| in WebKitWebView.h. |
| |
| * UIProcess/API/gtk/WebKitForwardDeclarations.h: |
| * UIProcess/API/gtk/WebKitWebView.h: |
| |
| 2014-12-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move click counter logic back to WebKitWebViewBase |
| https://bugs.webkit.org/show_bug.cgi?id=137685 |
| |
| Reviewed by Martin Robinson. |
| |
| It was moved to a shared class in platform to be used by both |
| WebKit1 and WebKit2, but it's currently only used by WebKitWebViewBase. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (ClickCounter::reset): |
| (ClickCounter::currentClickCountForGdkButtonEvent): |
| (webkitWebViewBaseButtonPressEvent): |
| |
| 2014-12-11 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [SOUP] [GTK] warning: unused parameter at NetworkProcessSoup.cpp after r177056. |
| https://bugs.webkit.org/show_bug.cgi?id=139534 |
| |
| Reviewed by Martin Robinson. |
| |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::clearDiskCache): Comment the parameter names. |
| |
| 2014-12-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Timers might never be fired during animations |
| https://bugs.webkit.org/show_bug.cgi?id=139062 |
| |
| Reviewed by Martin Robinson. |
| |
| This can happen in old/slow machines where the time to render |
| layers might take more than 0.016. Since the layer flush timer is |
| using a higher priority than WebCore timers, when scheduling all |
| (or several) layer flushes immediately, no other sources with |
| lower priority are dispatched in the main loop. We could detect if |
| we are scheduling layer flushes immediately for too long (100ms) |
| and schedule the next flush after a delay to ensure other sources |
| with lower priority have a chance to be dispatched. Also use a |
| lower priority, GDK_PRIORITY_EVENTS is too high, so we use |
| GDK_PRIORITY_REDRAW - 1 to ensure it's higher than WebCore timers. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::LayerTreeHostGtk): Rename |
| m_lastFlushTime as m_lastImmediateFlushTime. |
| (WebKit::LayerTreeHostGtk::layerFlushTimerFired): Save the |
| fireTime before calling flushAndRenderLayers() and compute the |
| next flush delay based on the elapsed time using monotonically |
| increasing time instead of current time. Use the target delay |
| as next flush delay if we have scheduled flushes immediately for |
| more than 100ms. |
| (WebKit::LayerTreeHostGtk::flushAndRenderLayers): Do not save the |
| layer flush time here, it's done in layerFlushTimerFired() so that |
| we don't need to keep it as a member. |
| (WebKit::LayerTreeHostGtk::scheduleLayerFlush): Use global |
| layerFlushTimerPriority. |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: |
| |
| 2014-12-10 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| [CMake] Fix build after WebStorageNamespaceProvider |
| |
| Unreviewed, fix build. |
| |
| * CMakeLists.txt: Add WebStorageNamespaceProvider.cpp to the source list. |
| |
| 2014-12-10 Sanghyup Lee <sh53.lee@samsung.com> |
| |
| Build fix for EFL and GTK ports since r177104 |
| https://bugs.webkit.org/show_bug.cgi?id=139513 |
| |
| Reviewed by Tim Horton. |
| |
| Moved WebPageProxy::installViewStateChangeCompletionHandler in PLATFORM(MAC) macro. |
| |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPageProxy.h: |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Switch WebKit2 over to using the storage namespace provider |
| https://bugs.webkit.org/show_bug.cgi?id=139509 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): |
| (WebKit::StorageNamespaceImpl::~StorageNamespaceImpl): |
| (WebKit::localStorageNamespaceMap): Deleted. |
| Get rid of the storage namespace map - we have a map inside WebStorageNamespaceProvider now. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::createStorageStrategy): |
| (WebKit::WebPlatformStrategies::populatePluginCache): Deleted. |
| (WebKit::WebPlatformStrategies::localStorageNamespace): Deleted. |
| (WebKit::WebPlatformStrategies::transientLocalStorageNamespace): Deleted. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| Get rid of the storage strategy. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| Set a storage namespace provider. |
| |
| 2014-12-10 Beth Dakin <bdakin@apple.com> |
| |
| Follow-up build fix. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| |
| 2014-12-09 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| Null dereference performing a "TapAndAHalf" gesture in Google search field |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=139506> |
| <rdar://problem/19028828> |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::selectWithGesture): |
| Add a null check in the case that there is no word range for the |
| current position. |
| |
| 2014-12-10 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| |
| 2014-12-10 Beth Dakin <bdakin@apple.com> |
| |
| WK2: Add initial support for immediate actions |
| https://bugs.webkit.org/show_bug.cgi?id=139511 |
| |
| Reviewed by Tim Horton. |
| |
| New enum to track immediate action types as we add them. |
| * Shared/API/c/WKImmediateActionTypes.h: Added. |
| |
| Create an NSImmediateActionGestureRecognizer if possible and a controller. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView dealloc]): |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| (-[WKView _didPerformActionMenuHitTest:userData:]): |
| |
| This basic implementation of the controller will use the delegate methods to |
| perform an ActionMenuHitTest when relevant. Future patches will patch |
| _updateImmediateActionItem to use the hit test result to determine if there is any |
| immediate action that should be taken. |
| * UIProcess/mac/WKImmediateActionController.h: Added. |
| * UIProcess/mac/WKImmediateActionController.mm: Added. |
| (-[WKImmediateActionController willDestroyView:]): |
| (-[WKImmediateActionController _clearImmediateActionState]): |
| (-[WKImmediateActionController didPerformActionMenuHitTest:userData:]): |
| |
| Does much of the work done in Action Menu’s prepareForMenu. |
| (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]): |
| |
| Does much of the work done in Action Menu’s menuNeedsUpdate. |
| (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]): |
| |
| Does much of the work done in Action Menu’s didCloseMenu. |
| (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]): |
| |
| Does much of the work done in Action Menu’s willOpenMenu. |
| (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]): |
| |
| To be filled in. |
| (-[WKImmediateActionController _updateImmediateActionItem]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-12-10 Timothy Horton <timothy_horton@apple.com> |
| |
| Should have copy and paste items in all text menus |
| https://bugs.webkit.org/show_bug.cgi?id=139510 |
| <rdar://problem/19198388> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForText]): |
| Add a disabled paste menu item into the read-only text menu. |
| |
| (-[WKActionMenuController _defaultMenuItemsForWhitespaceInEditableArea]): |
| Add a disabled copy menu item into the editable whitespace text menu. |
| |
| 2014-12-10 Martin Hock <mhock@apple.com> |
| |
| [iOS] Add setting to ignore viewport scaling constraints |
| https://bugs.webkit.org/show_bug.cgi?id=139466 |
| <rdar://problem/19200328> |
| |
| Reviewed by Benjamin Poulain. |
| |
| * Shared/WebPreferencesDefinitions.h: Add ignoreViewportScalingConstraints preference. |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetIgnoreViewportScalingConstraints): |
| (WKPreferencesGetIgnoreViewportScalingConstraints): |
| * UIProcess/API/C/WKPreferencesRef.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2014-12-10 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _targetWindowForMovePreparation]): |
| |
| 2014-12-10 Timothy Horton <timothy_horton@apple.com> |
| |
| Provide SPI to asynchronously move a WKView into a window and know when it has painted |
| https://bugs.webkit.org/show_bug.cgi?id=139460 |
| <rdar://problem/19135389> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Add _prepareForMoveToWindow:withCompletionHandler:, which internally |
| goes through the motions of being parented in that window and calls |
| the completion handler once painting is done and the view is ready |
| to be displayed (upon which we expect the view to actually move into the window). |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView viewWillMoveToWindow:]): |
| If we currently have a _targetWindowForMovePreparation (and are |
| pretending to be in that window), avoid performing viewWillMoveToWindow: |
| for a different window. |
| |
| (-[WKView viewDidMoveToWindow]): |
| (-[WKView doWindowDidChangeScreen]): |
| (-[WKView _intrinsicDeviceScaleFactor]): |
| (-[WKView _colorSpace]): |
| (-[WKView _targetWindowForMovePreparation]): |
| If we have a _targetWindowForMovePreparation, use its properties instead |
| of self.window's. |
| |
| (-[WKView _prepareForMoveToWindow:withCompletionHandler:]): |
| Simulate a move into the target window, but defer sending the view state update. |
| Then, send the view state update after registering the completion handler. |
| |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| Rename m_viewStateChangeWantsReply to m_viewStateChangeWantsSynchronousReply. |
| |
| (WebKit::WebPageProxy::installViewStateChangeCompletionHandler): |
| Added. Allow installing a block that will be called the next time |
| we get a didUpdateViewState back from the WebProcess after pushing the |
| current view state changes. |
| |
| (WebKit::WebPageProxy::viewStateDidChange): |
| Adapt to the aforementioned rename. |
| |
| (WebKit::WebPageProxy::dispatchViewStateChange): |
| Adapt to the aforementioned rename. |
| Send the view state change callback IDs along with SetViewState. |
| |
| (WebKit::WebPageProxy::updateViewState): |
| Adapt to the aforementioned rename. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::activeWindow): |
| (WebKit::PageClientImpl::isViewWindowActive): |
| (WebKit::PageClientImpl::isViewVisible): |
| (WebKit::PageClientImpl::isViewVisibleOrOccluded): |
| (WebKit::PageClientImpl::isViewInWindow): |
| (WebKit::PageClientImpl::viewLayerHostingMode): |
| If we have a _targetWindowForMovePreparation, use its properties instead |
| of the WKView's window's. |
| |
| * WebProcess/WebPage/DrawingArea.h: |
| (WebKit::DrawingArea::viewStateDidChange): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::reinitializeWebPage): |
| (WebKit::WebPage::setViewState): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange): |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange): |
| Push the callback IDs to the WebProcess, and accumulate them in TiledCoreAnimationDrawingArea. |
| |
| (WebKit::TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired): |
| Call all of the callbacks after one runloop cycle, just like DidUpdateViewState. |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Add session storage handling to StorageNamespaceProvider |
| https://bugs.webkit.org/show_bug.cgi?id=139507 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::createSessionStorageNamespace): |
| * WebProcess/Storage/StorageNamespaceImpl.h: |
| * WebProcess/Storage/WebStorageNamespaceProvider.cpp: |
| (WebKit::WebStorageNamespaceProvider::createSessionStorageNamespace): |
| * WebProcess/Storage/WebStorageNamespaceProvider.h: |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Implement the rest of the transient local storage namespace code |
| https://bugs.webkit.org/show_bug.cgi?id=139505 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::TransientLocalStorageNamespace::create): |
| (WebKit::StorageManager::TransientLocalStorageNamespace::~TransientLocalStorageNamespace): |
| (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea): |
| (WebKit::StorageManager::TransientLocalStorageNamespace::clearStorageAreasMatchingOrigin): |
| (WebKit::StorageManager::TransientLocalStorageNamespace::clearAllStorageAreas): |
| (WebKit::StorageManager::TransientLocalStorageNamespace::TransientLocalStorageNamespace): |
| Introduce a new TransientLocalStorageNamespace that's just a glorified SecurityOrigin -> StorageArea HashMap. |
| |
| (WebKit::StorageManager::StorageArea::create): |
| Change the return type to RefPtr. |
| |
| (WebKit::StorageManager::deleteEntriesForOrigin): |
| (WebKit::StorageManager::deleteAllEntries): |
| (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): |
| Use lambdas instead of bind. Delete the transient local storage as well. |
| |
| (WebKit::StorageManager::createTransientLocalStorageMap): |
| Get a transient local storage namespace and ask it for a storage area. |
| |
| (WebKit::StorageManager::getOrCreateTransientLocalStorageNamespace): |
| Look up the namespace from the map and create one if it doesn't exist. |
| |
| (WebKit::StorageManager::deleteEntriesForOriginInternal): Deleted. |
| (WebKit::StorageManager::deleteAllEntriesInternal): Deleted. |
| |
| * UIProcess/Storage/StorageManager.h: |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Begin fixing transient local storage handling |
| https://bugs.webkit.org/show_bug.cgi?id=139503 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::createTransientLocalStorageMap): |
| * UIProcess/Storage/StorageManager.h: |
| Add empty stub implementation of createTransientLocalStorageMap. |
| |
| * UIProcess/Storage/StorageManager.messages.in: |
| Add CreateTransientLocalStorageMap message. |
| |
| * WebProcess/Storage/StorageAreaMap.cpp: |
| (WebKit::StorageAreaMap::StorageAreaMap): |
| If we have a local storage namespace with a non-null top-level origin, create a |
| transient local storage map. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): |
| Pass a null top-level origin to the StorageNamespaceImpl constructor. |
| |
| (WebKit::StorageNamespaceImpl::createTransientLocalStorageNamespace): |
| Create a new StorageNamespaceImpl, passing the top-level origin to the constructor. |
| |
| (WebKit::StorageNamespaceImpl::createSessionStorageNamespace): |
| Pass a null top-level origin to the StorageNamespaceImpl constructor. |
| |
| (WebKit::StorageNamespaceImpl::StorageNamespaceImpl): |
| Add a top-level origin parameter. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.h: |
| (WebKit::StorageNamespaceImpl::topLevelOrigin): |
| Add top-level origin member and getter. |
| |
| * WebProcess/Storage/WebStorageNamespaceProvider.cpp: |
| (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace): |
| Call StorageNamespaceImpl::createTransientLocalStorageNamespace. |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Implement WebStorageNamespaceProvider::createLocalStorageNamespace |
| https://bugs.webkit.org/show_bug.cgi?id=139498 |
| |
| Reviewed by Beth Dakin. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): |
| Add a new overload that takes an identifier + quota. Have the old overload call the new one. |
| |
| * WebProcess/Storage/StorageNamespaceImpl.h: |
| Add new member. |
| |
| * WebProcess/Storage/WebStorageNamespaceProvider.cpp: |
| (WebKit::WebStorageNamespaceProvider::createLocalStorageNamespace): |
| Call StorageNamespaceImpl::createLocalStorageNamespace. |
| |
| 2014-12-10 Anders Carlsson <andersca@apple.com> |
| |
| Add a stubbed out WebStorageNamespaceProvider class to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139497 |
| |
| Reviewed by Beth Dakin. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Storage/WebStorageNamespaceProvider.cpp: Added. |
| (WebKit::storageNamespaceProviders): |
| (WebKit::WebStorageNamespaceProvider::getOrCreate): |
| (WebKit::WebStorageNamespaceProvider::WebStorageNamespaceProvider): |
| (WebKit::WebStorageNamespaceProvider::~WebStorageNamespaceProvider): |
| (WebKit::WebStorageNamespaceProvider::createLocalStorageNamespace): |
| (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace): |
| * WebProcess/Storage/WebStorageNamespaceProvider.h: Added. |
| |
| 2014-12-10 Enrica Casucci <enrica@apple.com> |
| |
| Fix iOS builders for 8.0 |
| https://bugs.webkit.org/show_bug.cgi?id=139495 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _mayAutomaticallyShowVideoOptimized]): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| |
| 2014-12-10 Julien Isorce <j.isorce@samsung.com> |
| |
| [GTK] Enable depth 32 for the RedirectedXCompositeWindow |
| https://bugs.webkit.org/show_bug.cgi?id=139028 |
| |
| On gtk/X11, the layout compositing is done in the web process. |
| If one needs to handle alpha with the rest of the application |
| then it is not enough to make to browser's window as RGBA. |
| The shared redirected window needs to be RGBA as well. |
| (The shared X composite window between UIProcess and WebProcess). |
| |
| This allows an end-to-end RGBA solution when the application |
| wants to interact with the alpha channel at compositing time. |
| For example for transparent Web UI. |
| |
| Reviewed by Martin Robinson. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): |
| (webkitWebViewBaseConstructed): |
| (webkitWebViewRenderAcceleratedCompositingResults): |
| (webkitWebViewBaseUpdatePreferences): |
| (webkitWebViewBaseCreateWebPage): |
| * UIProcess/gtk/RedirectedXCompositeWindow.cpp: |
| (WebKit::RedirectedXCompositeWindow::create): |
| (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): |
| * UIProcess/gtk/RedirectedXCompositeWindow.h: |
| |
| 2014-12-09 Claudio Saavedra <csaavedra@igalia.com> and Gustavo Noronha Silva <gustavo.noronha@collabora.com> |
| |
| [GTK][WK2] Add HTML5 Notifications support |
| https://bugs.webkit.org/show_bug.cgi?id=61140 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformGTK.cmake: add new files to the build. |
| * UIProcess/API/gtk/WebKitForwardDeclarations.h: |
| * UIProcess/API/gtk/WebKitNotification.cpp: Added. New GObject used to expose information about |
| the notification to the API. |
| (webkitNotificationGetProperty): |
| (webkit_notification_class_init): |
| (webkitNotificationCreate): |
| (webkit_notification_get_id): |
| (webkit_notification_get_title): |
| (webkit_notification_get_body): |
| * UIProcess/API/gtk/WebKitNotification.h: Added. |
| * UIProcess/API/gtk/WebKitNotificationPermissionRequest.cpp: Added. Permission request object |
| for notifications. |
| (webkitNotificationPermissionRequestAllow): |
| (webkitNotificationPermissionRequestDeny): |
| (webkit_permission_request_interface_init): |
| (webkitNotificationPermissionRequestDispose): |
| (webkit_notification_permission_request_class_init): |
| (webkitNotificationPermissionRequestCreate): |
| * UIProcess/API/gtk/WebKitNotificationPermissionRequest.h: Added. |
| * UIProcess/API/gtk/WebKitNotificationPermissionRequestPrivate.h: Added. |
| * UIProcess/API/gtk/WebKitNotificationPrivate.h: Added. |
| * UIProcess/API/gtk/WebKitNotificationProvider.cpp: Added. Notification provider that emits signals. |
| The C API allows overriding the notification providers and managers for customizing the handling of |
| notifications. We decided to go for a single manager and a single provider which provide more idiomatic |
| GObject API - signals. |
| (toNotificationProvider): |
| (showCallback): |
| (cancelCallback): |
| (WebKitNotificationProvider::~WebKitNotificationProvider): |
| (WebKitNotificationProvider::create): |
| (WebKitNotificationProvider::WebKitNotificationProvider): |
| (WebKitNotificationProvider::show): |
| (WebKitNotificationProvider::cancel): |
| * UIProcess/API/gtk/WebKitNotificationProvider.h: Added. |
| * UIProcess/API/gtk/WebKitUIClient.cpp: implemented decidePolicyForNotificationPermissionRequest. |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): initialize the notification provider. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewShowNotification): default implementation for showing the notification, currently |
| using GNotification, about to be ported to libnotify. |
| (webkit_web_view_class_init): set the default implementation for the show-notification signal. |
| (webkitWebViewEmitCloseNotification): emit the close-notification signal. |
| (webkitWebViewEmitShowNotification): emit the show-notification signal. |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: list new objects and methods. |
| * UIProcess/API/gtk/webkit2.h: include new headers. |
| |
| 2014-12-10 Grzegorz Czajkowski <g.czajkowski@samsung.com> |
| |
| [EFL][[WK2] test_ewk2_text_checker is failed |
| https://bugs.webkit.org/show_bug.cgi?id=132982 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Insert misspelled word to the input field using execCommand instead of |
| input.value attribute change which stops spell check, tracked by |
| https://bugs.webkit.org/show_bug.cgi?id=139473. |
| |
| Since text checker API tests do not verify spellchecker itself (it's being |
| tested by LayoutTests/editing/spelling) but rather opportunity for overriding |
| its functionality this patch unskips those tests in order to API coverage. |
| |
| * PlatformEfl.cmake: |
| Unskip test_ewk2_text_checker |
| |
| * UIProcess/API/efl/tests/resources/spelling_test.html: |
| Use document.execCommand("InsertText", false, "aa ") instead of |
| input.value = "aa " to trigger spellchecker. |
| |
| 2014-12-10 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| REGRESSION(r177038): [SOUP] [GTK] Debug build broken |
| https://bugs.webkit.org/show_bug.cgi?id=139475 |
| |
| Reviewed by Martin Robinson. |
| |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::clearCacheForAllOrigins): Call clearDiskCache(). |
| (WebKit::NetworkProcess::clearDiskCache): Implement this for SOUP. |
| SoupCache don't seems to have API for clearing a part of the cache, |
| so add a FIXME note regarding that. |
| |
| 2014-12-09 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r177032. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-09 Alexey Proskuryakov <ap@apple.com> |
| |
| Kotoeri sometimes doesn't correctly process the first chanaracter in a text field in Safari 7.1 or 6.2 |
| https://bugs.webkit.org/show_bug.cgi?id=139459 |
| rdar://problem/19017432 |
| rdar://problem/19036869 |
| |
| Reviewed by Enrica Casucci. |
| |
| When inputContext changes, notify the application. We already did this when the context |
| changed due to plug-ins, and this used to sort of make it work on on yahoo.co.jp, |
| which has plug-ins. But that was quite unreliable, as evidenced by the reproducible |
| cases where we didn't use an input method for the first keypress. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::editorStateChanged): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::notifyApplicationAboutInputContextChange): |
| |
| 2014-12-09 Jeremy Jones <jeremyj@apple.com> |
| |
| Enable automatic optimized fullscreen mode. |
| https://bugs.webkit.org/show_bug.cgi?id=139437 |
| |
| Reviewed by Simon Fraser. |
| |
| Anticipate the automatic transition to optimized video fullscreen mode when deciding if the page is visible. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isShowingVideoOptimized]): Renamed. Test precondition. |
| (-[WKWebView _mayAutomaticallyShowVideoOptimized]): Added. |
| (-[WKWebView _isPlayingFullscreenOptimizedVideo]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::isViewVisible): Test for optimized modes even when not in a window. |
| |
| 2014-12-09 Anders Carlsson <andersca@apple.com> |
| |
| Add support for clearing the disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=139458 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteData): |
| If we're asked to clear the disk cache, do so. Clearing the cache is asynchronous, |
| so we make sure not to call the completion handler right away in that case. |
| |
| * NetworkProcess/NetworkProcess.h: |
| Add clearDiskCache member function. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::clearDiskCache): |
| Clear the disk cache, then call the completion handler. |
| |
| * NetworkProcess/mac/NetworkProcessMac.mm: |
| (WebKit::NetworkProcess::clearCacheForAllOrigins): |
| Call the new clearDiskCache function. |
| |
| * Shared/WebsiteData/WebsiteDataTypes.h: |
| Add WebsiteDataTypeDiskCache. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWebsiteDataTypes): |
| Handle WKWebsiteDataTypeDiskCache. |
| |
| 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Delete Node::boundingBox() |
| https://bugs.webkit.org/show_bug.cgi?id=139333 |
| |
| Reviewed by Zalan Bujtas. |
| |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): |
| Use RenderObject::absoluteBoundingBoxRect(). |
| * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: |
| (WebKit::WebPage::findZoomableAreaForPoint): Use |
| RenderObject::absoluteBoundingBoxRect(). |
| |
| 2014-12-09 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Crash when answering notification permission request after navigating |
| https://bugs.webkit.org/show_bug.cgi?id=139429 |
| <rdar://problem/18921122> |
| |
| Reviewed by Andreas Kling. |
| |
| When requesting a notification permission, navigating away and then |
| answering the permission, WebKit2 would crash. This is because upon |
| navigating, the request is cancelled and removed from the HashMaps |
| in NotificationPermissionRequestManager. When |
| didReceiveNotificationPermissionDecision() is later called, it would |
| look for the request identifier in m_idToOriginMap HashMap. As the |
| request was cancelled, HashMap::take() call would return null for |
| the SecurityOrigin*. This security origin pointer is then removed |
| from m_originToIDMap, but the code was failing to do a null check |
| first. Calling HashMap::remove(nullptr) would then crash. |
| |
| This patch adds the missing null check and a layout test to cover |
| this case. |
| |
| Test: http/tests/notifications/legacy/notification-request-permission-then-navigate.html |
| |
| |
| * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: |
| (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): |
| |
| 2014-12-09 Anders Carlsson <andersca@apple.com> |
| |
| Implement clearing of cookies |
| https://bugs.webkit.org/show_bug.cgi?id=139455 |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteData): |
| Handle deleting cookies by finding the right network storage session and deleting the cookies from it. |
| Then, send a DidDeleteWebsiteData message back. |
| |
| * NetworkProcess/NetworkProcess.h: |
| Add new members. |
| |
| * NetworkProcess/NetworkProcess.messages.in: |
| Add new DeleteWebsiteData message. |
| |
| * Shared/WebsiteData/WebsiteDataTypes.h: |
| Move the website data types enum to its own file so it can be shared. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWebsiteDataTypes): |
| Update now that WebsiteDataTypes is its own enum. |
| |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| removeDataModifiedSince was renamed to removeData. |
| |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::generateCallbackID): |
| Helper function to create a callback ID. |
| |
| (WebKit::NetworkProcessProxy::~NetworkProcessProxy): |
| Assert that we have no pending callbacks. |
| |
| (WebKit::NetworkProcessProxy::deleteWebsiteData): |
| Put the completion handler in our map and message the network process. |
| |
| (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): |
| Call all completion handlers. |
| |
| (WebKit::NetworkProcessProxy::didDeleteWebsiteData): |
| Grab the completion handler and call it. |
| |
| * UIProcess/Network/NetworkProcessProxy.h: |
| Add new members. |
| |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| Add DidDeleteWebsiteData callback. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::computeNetworkProcessAccessType): |
| Helper function that computes the type of process access we'd need for the given mask of |
| website data types. |
| |
| (WebKit::WebsiteDataStore::removeData): |
| Gather all the network processes and message them. Use a callback aggregator object to track callbacks |
| so we'll call the completion handler once all callbacks have been invoked. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| Move WebsiteDataTypes to its own file. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| 2014-12-09 Anders Carlsson <andersca@apple.com> |
| |
| Give WebsiteDataStore a unique ID |
| https://bugs.webkit.org/show_bug.cgi?id=139448 |
| |
| Reviewed by Andreas Kling. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::generateIdentifier): |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| (WebKit::WebsiteDataStore::identifier): |
| |
| 2014-12-09 Anders Carlsson <andersca@apple.com> |
| |
| Build fix. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| |
| 2014-12-09 Ting-Wei Lan <lantw44@gmail.com> |
| |
| [GTK] LDFLAGS is ignored when running g-ir-scanner |
| https://bugs.webkit.org/show_bug.cgi?id=138832 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| GTK+ requires libintl on FreeBSD because there is no gettext |
| implementation in FreeBSD libc. In order to link to libintl, which is |
| not located in the default search path of the linker, we need to add |
| the required path via the linker command line. However, LDFLAGS is |
| ignored when running g-ir-scanner starting from r167873, so we have |
| to manually pick required flags from CMAKE_SHARED_LINKER_FLAGS and |
| put them in correct order to prevent g-ir-scanner from linking to |
| the installed version of libraries. |
| |
| * PlatformGTK.cmake: |
| |
| 2014-12-09 Jeremy Jones <jeremyj@apple.com> |
| |
| Enable activating optimized fullscreen mode from standard fulscreen mode. |
| https://bugs.webkit.org/show_bug.cgi?id=139137 |
| |
| Reviewed by Simon Fraser. |
| |
| Going from standard fullscreen mode to optimized fullscreen mode requires the ability to |
| update the fullscreen mode and a new standard-and-optimized-fullscreen mode. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isPlayingFullscreenOptimizedVideo]): |
| Treat new standard-and-optimized as a kind of optimized. |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: IPC fullscreen mode changes |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: ditto |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): dito |
| * WebProcess/ios/WebVideoFullscreenManager.h: ditto |
| * WebProcess/ios/WebVideoFullscreenManager.messages.in: ditto |
| * WebProcess/ios/WebVideoFullscreenManager.mm: dito |
| (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager): ditto |
| (WebKit::WebVideoFullscreenManager::setFullscreenModeChanged): ditto |
| |
| 2014-12-08 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| [EFL] Use DependenciesEFL instead of Dependencies |
| |
| Unreviewed, fix simple typo. |
| |
| * PlatformEfl.cmake: |
| |
| 2014-12-08 Beth Dakin <bdakin@apple.com> |
| |
| Copy and Lookup menu items should be disabled when something is not copyable |
| https://bugs.webkit.org/show_bug.cgi?id=139423 |
| |
| Reviewed by Tim Horton. |
| |
| Add allowsCopy to the WebHitTestResult. |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| * Shared/WebHitTestResult.h: |
| (WebKit::WebHitTestResult::allowsCopy): |
| |
| Set autoenablesItems to NO. It’s messing with our ability to control the enable/ |
| disable state otherwise. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| |
| Disable both lookup and copy when a WebHitTestResult does not allow copy. |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| 2014-12-08 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/18905383> [iOS] Crash due to null m_webPageProxyForBackForwardListForCurrentSwipe in ViewGestureController::endSwipeGesture |
| https://bugs.webkit.org/show_bug.cgi?id=138750 |
| |
| Reviewed by Tim Horton. |
| |
| The snapshot for the current gesture was being removed mid-gesture by the callback from |
| dispatchAfterEnsuringDrawing scheduled by the previous gesture. The fix is to ignore the |
| callback for a gesture if it is made after the snapshot for that gesture has already been |
| removed (which can happen as a result of the watchdog timer firing). |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (WebKit::ViewGestureController::ViewGestureController): Initialize new member variable. |
| (WebKit::addLogEntry): Fixed the log message format. |
| (WebKit::ViewGestureController::endSwipeGesture): When dispatchAfterEnsuringDrawing() calls |
| us back, bail out if the gesture snapshot has already been removed. |
| (WebKit::ViewGestureController::removeSwipeSnapshot): Increment |
| m_gesturePendingSnapshotRemoval. |
| * UIProcess/mac/ViewGestureController.h: Added m_gesturePendingSnapshotRemoval member |
| variable. |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| The website data store should know all its associated pages |
| https://bugs.webkit.org/show_bug.cgi?id=139411 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::close): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::~WebsiteDataStore): |
| (WebKit::WebsiteDataStore::addWebPage): |
| (WebKit::WebsiteDataStore::removeWebPage): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2014-12-08 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/18046692> [iOS] Safari crashes at -[_NSUndoStack popAndInvoke] when trying to undo typing on closed tab |
| https://bugs.webkit.org/show_bug.cgi?id=139408 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView undoManager]): Override to initialize if necessary and return a unique undo |
| manager for this instance. This ensures that undoable operations for this webview don’t get |
| put in other undo managers, and matches UIWebView behavior. |
| |
| 2014-12-08 Chris Dumez <cdumez@apple.com> |
| |
| Revert r176293 & r176275 |
| |
| Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type |
| instead of size_t. There is some disagreement regarding the long-term direction |
| of the API and we shouldn’t leave the API partly transitioned to unsigned type |
| while making a decision. |
| |
| * Platform/IPC/ArgumentCoders.h: |
| * Platform/IPC/DataReference.h: |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Make deleting all cookies after a given date a little more sane |
| https://bugs.webkit.org/show_bug.cgi?id=139409 |
| |
| Reviewed by Antti Koivisto. |
| |
| Change all the doubles to std::chrono::system_clock::time_points instead. |
| |
| * Platform/IPC/ArgumentCoders.cpp: |
| (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::encode): |
| (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::decode): |
| * Platform/IPC/ArgumentCoders.h: |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * UIProcess/API/C/WKCookieManager.cpp: |
| (WKCookieManagerDeleteAllCookiesModifiedAfterDate): |
| * UIProcess/API/C/WKCookieManager.h: |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince): |
| (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Deleted. |
| * UIProcess/WebCookieManagerProxy.h: |
| * WebProcess/Cookies/WebCookieManager.cpp: |
| (WebKit::WebCookieManager::deleteAllCookiesModifiedSince): |
| (WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Deleted. |
| * WebProcess/Cookies/WebCookieManager.h: |
| * WebProcess/Cookies/WebCookieManager.messages.in: |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Move the callback invocation outside of the loop. |
| |
| Rubber-stamped by Tim Horton. |
| |
| * UIProcess/WebKeyValueStorageManager.cpp: |
| (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Add a stub implementation of WebsiteDataStore::removeDataModifiedSince |
| https://bugs.webkit.org/show_bug.cgi?id=139406 |
| |
| Reviewed by Antti Koivisto. |
| |
| Change _WKWebsiteDataStore to call the newly added function. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (toWebsiteDataTypes): |
| (toSystemClockTime): |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::removeDataModifiedSince): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2014-12-08 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK] Let DrawingArea manages setAcceleratedCompositingWindowId |
| https://bugs.webkit.org/show_bug.cgi?id=117230 |
| |
| Reviewed by Anders Carlsson. |
| |
| This is a preparation patch for Threaded Coordinated Graphics. |
| |
| LayerTreeHostGtk uses a native window handle to make glContext for |
| accelerated compositing. Therefore it is natural for DrawingArea to take |
| responsibility for the native window handle. And, in Coordinated |
| Graphics case, WebPage creates LayerTreeHost before receiving a native |
| window handle from UIProcess. It means we need a method to pass the |
| native window handle to already created LayerTreeHost. |
| |
| This patch uses DrawingAreaProxy::setNativeSurfaceHandleForCompositing |
| instead of WebCoreProxy::setAcceleratedCompositingWindowId to set window |
| ID for accelerated compositing. |
| |
| Also, this patch renames the setAcceleratedCompositingWindowId with a |
| more generic name, setNativeSurfaceHandleForCompositing. |
| |
| No new tests. No change in functionality. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseCreateWebPage): |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing): |
| * UIProcess/DrawingAreaProxyImpl.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/gtk/WebPageProxyGtk.cpp: |
| (WebKit::WebPageProxy::setAcceleratedCompositingWindowId): Deleted. |
| * WebProcess/WebPage/DrawingArea.h: |
| (WebKit::DrawingArea::nativeSurfaceHandleForCompositing): |
| * WebProcess/WebPage/DrawingArea.messages.in: |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing): |
| * WebProcess/WebPage/DrawingAreaImpl.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::glContext): |
| (WebKit::LayerTreeHostGtk::initialize): |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| (WebKit::WebPage::platformInitialize): |
| (WebKit::WebPage::setAcceleratedCompositingWindowId): Deleted. |
| |
| 2014-12-08 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK] UserMedia Permission Request API |
| https://bugs.webkit.org/show_bug.cgi?id=136449 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformGTK.cmake: GTK-specific new files. |
| * UIProcess/API/gtk/WebKitUIClient.cpp: DecidePolicy handler |
| implementation for UserMediaPermissionRequest. |
| * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp: Added, |
| WebKitGTK API for UserMediaPermissionRequest, very similar to the |
| one used for Geolocation. |
| (webkitUserMediaPermissionRequestAllow): |
| (webkitUserMediaPermissionRequestDeny): |
| (webkit_permission_request_interface_init): |
| (webkitUserMediaPermissionRequestDispose): |
| (webkit_user_media_permission_get_media_types): |
| (webkitUserMediaPermissionRequestGetProperty): |
| (webkit_user_media_permission_request_class_init): |
| (webkitUserMediaPermissionRequestCreate): |
| * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.h: Added. |
| * UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h: Added. |
| * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Expose new API |
| in documentation. |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto. |
| * UIProcess/API/gtk/webkit2.h: Expose UserMediaPermissionRequest API. |
| |
| 2014-12-08 Anders Carlsson <andersca@apple.com> |
| |
| Add a stubbed out method for clearing out the website data store |
| https://bugs.webkit.org/show_bug.cgi?id=139404 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add stubbed out method that just calls the completion handler. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]): |
| |
| 2014-12-06 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (173394): Support for webcam is broken |
| https://bugs.webkit.org/show_bug.cgi?id=139313 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didReceiveResponseAsync): |
| |
| Don't buffer when handling multipart/x-mixed-replace. Multiple calls to didReceiveResponseAsync break assumptions. |
| |
| 2014-12-08 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [CoordinatedGraphics] Move CoordinatedBackingStore and CoordinatedGraphicsScene to Shared |
| https://bugs.webkit.org/show_bug.cgi?id=139385 |
| |
| Reviewed by Martin Robinson. |
| |
| For the Threaded Compositor, CoordinatedBackingStore and |
| CoordinatedGraphicsScene should be placed at the Shared instead of |
| UIProcess because it can be used in the WebProcess also. |
| |
| No new tests because there is no behavior change. |
| |
| * PlatformEfl.cmake: |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp. |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h. |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp. |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h. |
| |
| 2014-12-08 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/UIProcess module. |
| https://bugs.webkit.org/show_bug.cgi?id=139386 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fix build warning by removing unused parameter name from function |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| |
| 2014-12-07 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [CoordinatedGraphics] Change the namespace of CoordinatedBackingStore and CoordinatedGraphicsScene |
| https://bugs.webkit.org/show_bug.cgi?id=139372 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| CoordinatedBackingStore and CoordinatedGraphicsScene should be declared in the WebKit namespace |
| instead of WebCore namespace. |
| |
| * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp: |
| * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: |
| * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h: |
| (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile): |
| (WebKit::CoordinatedBackingStore::rect): |
| (WebCore::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile): Deleted. |
| (WebCore::CoordinatedBackingStore::rect): Deleted. |
| * UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| * UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| (WebKit::CoordinatedGraphicsScene::setViewBackgroundColor): |
| (WebKit::CoordinatedGraphicsScene::viewBackgroundColor): |
| (WebKit::CoordinatedGraphicsScene::layerByID): |
| (WebKit::CoordinatedGraphicsScene::rootLayer): |
| (WebCore::CoordinatedGraphicsScene::setViewBackgroundColor): Deleted. |
| (WebCore::CoordinatedGraphicsScene::viewBackgroundColor): Deleted. |
| (WebCore::CoordinatedGraphicsScene::layerByID): Deleted. |
| (WebCore::CoordinatedGraphicsScene::rootLayer): Deleted. |
| * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: |
| (WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene): |
| * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h: |
| (WebKit::toImpl): |
| (WebKit::toAPI): |
| (toImpl): Deleted. |
| (toAPI): Deleted. |
| * UIProcess/CoordinatedGraphics/WebView.h: |
| |
| 2014-12-07 Dan Bernstein <mitz@apple.com> |
| |
| Introduce and deploy a function that allocates and returns an instance of a soft-linked class |
| https://bugs.webkit.org/show_bug.cgi?id=139348 |
| |
| Reviewed by Anders Carlsson. |
| |
| In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler |
| picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead |
| to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo |
| doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus |
| avoiding the ambiguity. |
| |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: |
| (-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]): |
| (-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]): |
| (-[WKAirPlayRoutePicker show:fromRect:]): |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[_WKVideoFileUploadItem displayImage]): |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]): |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: |
| (WebKit::PlatformCALayerRemoteCustom::clone): |
| |
| 2014-12-06 Anders Carlsson <andersca@apple.com> |
| |
| Fix build with newer versions of clang. |
| rdar://problem/18978733 |
| |
| Add missing overrides and casts. |
| |
| * NetworkProcess/NetworkProcess.h: |
| * Shared/Downloads/DownloadAuthenticationClient.h: |
| (WebKit::DownloadAuthenticationClient::refAuthenticationClient): Deleted. |
| (WebKit::DownloadAuthenticationClient::derefAuthenticationClient): Deleted. |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration copyWithZone:]): |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h: |
| (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: |
| (WebKit::WebContentProcessMainDelegate::doPreInitializationWork): Deleted. |
| (WebKit::WebContentProcessMainDelegate::getConnectionIdentifier): Deleted. |
| (WebKit::WebContentProcessMainDelegate::getClientIdentifier): Deleted. |
| (WebKit::WebContentProcessMainDelegate::getClientProcessName): Deleted. |
| * WebProcess/IconDatabase/WebIconDatabaseProxy.h: |
| * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: |
| (WebKit::InjectedBundle::initialize): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| * WebProcess/WebPage/WebBackForwardListProxy.h: |
| * WebProcess/WebPage/WebInspector.h: |
| (WebKit::WebInspector::didClose): Deleted. |
| (WebKit::WebInspector::didReceiveInvalidMessage): Deleted. |
| * WebProcess/WebPage/WebInspectorUI.h: |
| (WebKit::WebInspectorUI::didClose): Deleted. |
| (WebKit::WebInspectorUI::didReceiveInvalidMessage): Deleted. |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: |
| * WebProcess/WebProcess.h: |
| * WebProcess/ios/WebVideoFullscreenManager.h: |
| |
| 2014-12-06 Anders Carlsson <andersca@apple.com> |
| |
| Only include TUCallSPI on Mac. |
| |
| * Platform/mac/MenuUtilities.mm: |
| |
| 2014-12-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176905. |
| https://bugs.webkit.org/show_bug.cgi?id=139337 |
| |
| the test case is failing in bots (Requested by anttik on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "REGRESSION (173394): Support for webcam is broken" |
| https://bugs.webkit.org/show_bug.cgi?id=139313 |
| http://trac.webkit.org/changeset/176905 |
| |
| 2014-12-05 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (173394): Support for webcam is broken |
| https://bugs.webkit.org/show_bug.cgi?id=139313 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didReceiveResponseAsync): |
| |
| Don't buffer when handling multipart/x-mixed-replace. Multiple calls to didReceiveResponseAsync break assumptions. |
| |
| 2014-12-05 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| Add a delegate method for didReceiveServerRedirectForProvisionalLoadForFrame. |
| https://bugs.webkit.org/show_bug.cgi?id=139325 |
| |
| Add delegate method webProcessPlugInBrowserContextController:didReceiveServerRedirectForProvisionalLoadForFrame: into |
| WKWebProcessPlugInLoadDelegate to listen to server side redirect in injected bundle. |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (didReceiveServerRedirectForProvisionalLoadForFrame): |
| (setUpPageLoaderClient): |
| |
| 2014-12-05 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF, EFL is happy now. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::createNonPersistent): |
| |
| 2014-12-05 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: one more build fix for GTK builds. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-05 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF, remove duplicated entry due to parallel buildfixing. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-05 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r176849. |
| |
| * CMakeLists.txt: Added WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp. |
| |
| 2014-12-05 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: another build fix for GTK builds. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-05 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: more speculative build fix for GTK builds. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-05 Tim Horton <timothy_horton@apple.com> |
| |
| Use the system string for telephone number menu |
| https://bugs.webkit.org/show_bug.cgi?id=139324 |
| <rdar://problem/18726471> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Platform/mac/MenuUtilities.mm: |
| (WebKit::menuItemTitleForTelephoneNumberGroup): |
| Make use of the SPI to retrieve the string if it exists. |
| |
| 2014-12-05 Tim Horton <timothy_horton@apple.com> |
| |
| If the action menu hit test times out, a menu with a single separator appears |
| https://bugs.webkit.org/show_bug.cgi?id=139320 |
| <rdar://problem/19158331> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController menuNeedsUpdate:]): |
| (-[WKActionMenuController _defaultMenuItems]): |
| Add a new "TimedOut" state, which we get into if the sync wait for |
| didPerformActionMenuHitTest times out. In this case, we'll drop the |
| separator item and give up on the menu. This way, the menu will never |
| have just a single separator item at the end of menuNeedsUpdate:. |
| |
| 2014-12-05 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: speculative build fix for GTK builds. |
| |
| * CMakeLists.txt: |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Fix build. |
| |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Give all web pages a website data store |
| https://bugs.webkit.org/show_bug.cgi?id=139317 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| Set the website data store on the window. |
| |
| * UIProcess/WebContext.cpp: |
| (WebKit::websiteDataStoreConfiguration): |
| Helper function that will create the default website data store configuration for a context. |
| |
| (WebKit::WebContext::WebContext): |
| Create a new, per-context data store. |
| |
| (WebKit::WebContext::createWebPage): |
| If we don't have a data store filled in, use the default per-context one. |
| |
| * UIProcess/WebContext.h: |
| * UIProcess/WebPageProxy.h: |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Move the website data store code to a new file |
| https://bugs.webkit.org/show_bug.cgi?id=139312 |
| |
| Reviewed by Tim Horton. |
| |
| It's weird to have all the website data code in the API class, so move it to a new file. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::WebsiteDataStore): |
| (API::WebsiteDataStore::isNonPersistent): |
| (API::generateNonPersistentSessionID): Deleted. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp. |
| (WebKit::generateNonPersistentSessionID): |
| (WebKit::WebsiteDataStore::createNonPersistent): |
| (WebKit::WebsiteDataStore::create): |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| (WebKit::WebsiteDataStore::~WebsiteDataStore): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h. |
| (WebKit::WebsiteDataStore::isNonPersistent): |
| (WebKit::WebsiteDataStore::sessionID): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-12-05 Tim Horton <timothy_horton@apple.com> |
| |
| Keyboard input should be disabled in the preview popover |
| https://bugs.webkit.org/show_bug.cgi?id=139219 |
| <rdar://problem/19052381> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView performKeyEquivalent:]): |
| (-[WKView keyUp:]): |
| (-[WKView keyDown:]): |
| (-[WKView flagsChanged:]): |
| There are two implementations of each of these methods in this file. |
| Adjust the ones that the original patch missed. |
| |
| 2014-12-05 Antti Koivisto <antti@apple.com> |
| |
| In NetworkResourceLoader always bail out after abort() |
| https://bugs.webkit.org/show_bug.cgi?id=139299 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Invoking abort() may kill the current object. Take care to bail out after it. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didReceiveResponseAsync): |
| (WebKit::NetworkResourceLoader::didReceiveBuffer): |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| |
| Either make sure sendAbortingOnFailure() is called last in callbacks or the results is explicitly tested. |
| |
| (WebKit::NetworkResourceLoader::bufferingTimerFired): |
| (WebKit::NetworkResourceLoader::sendBufferMaybeAborting): |
| |
| Rename and return a boolean to indicate if load should continue. |
| |
| (WebKit::NetworkResourceLoader::sendBuffer): Deleted. |
| * NetworkProcess/NetworkResourceLoader.h: |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Don't use PLATFORM(IOS) in non-project headers. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _allowsAlternateFullscreen]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| |
| 2014-12-05 Sam Weinig <sam@webkit.org> |
| |
| WKBundleCSSStyleDeclarationRef needs to be a real API::Object |
| https://bugs.webkit.org/show_bug.cgi?id=139291 |
| |
| Reviewed by Dan Bernstein. |
| |
| Change WKBundleCSSStyleDeclarationRef from being a WebCore::CSSStyleDeclaration, to |
| being a real API::Object. WKRetain and WKRelease require this. |
| |
| * Shared/APIObject.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: |
| * WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp: Added. |
| (WebKit::domHandleCache): |
| (WebKit::InjectedBundleCSSStyleDeclarationHandle::getOrCreate): |
| (WebKit::InjectedBundleCSSStyleDeclarationHandle::InjectedBundleCSSStyleDeclarationHandle): |
| (WebKit::InjectedBundleCSSStyleDeclarationHandle::~InjectedBundleCSSStyleDeclarationHandle): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.h: Added. |
| * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: |
| (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle): |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Oops, didn't mean to commit this. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Add an API::WebsiteDataStore object and use it for _WKWebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=139304 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/APIObject.h: |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| Make _WKWebsiteDataStore a wrapper for API::WebsiteDataStore instead of API::Session. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: Added. |
| (API::generateNonPersistentSessionID): |
| (API::WebsiteDataStore::defaultDataStore): |
| (API::WebsiteDataStore::createNonPersistentDataStore): |
| (API::WebsiteDataStore::WebsiteDataStore): |
| (API::WebsiteDataStore::~WebsiteDataStore): |
| (API::WebsiteDataStore::isNonPersistent): |
| Add new WebsiteDataStore implementation. Currently it only contains the WebCore Session ID, but more will be |
| added to it in upcoming commits. |
| |
| * UIProcess/API/APIWebsiteDataStore.h: |
| Add header. |
| |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: Added. |
| (API::WebsiteDataStore::defaultDataStoreConfiguration): |
| Platform specific file that returns the default data store configuration. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| Set the session ID from the website data store. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (+[_WKWebsiteDataStore defaultDataStore]): |
| (+[_WKWebsiteDataStore nonPersistentDataStore]): |
| (-[_WKWebsiteDataStore dealloc]): |
| (-[_WKWebsiteDataStore isNonPersistent]): |
| (-[_WKWebsiteDataStore _apiObject]): |
| Update now that we wrap an API::WebsiteDataStore instead. |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: |
| (WebKit::wrapper): |
| Update for API::Session -> API::WebsiteDataStore change. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add new files. |
| |
| 2014-12-05 David Kilzer <ddkilzer@apple.com> |
| |
| FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY |
| <http://webkit.org/b/139286> |
| |
| Reviewed by Daniel Bates. |
| |
| * Configurations/FeatureDefines.xcconfig: Switch back to using |
| PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8. |
| |
| 2014-12-05 Anders Carlsson <andersca@apple.com> |
| |
| Make WebPageProxy hold on to a SessionID instead of an API:Session |
| https://bugs.webkit.org/show_bug.cgi?id=139302 |
| |
| Reviewed by Sam Weinig. |
| |
| This is in preparation for adding API::WebsiteDataStore. Currently we have to keep the |
| Session ID and the WebsiteDataStore separate because we still need to support toggling private browsing. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetSession): |
| * UIProcess/API/C/WKSessionRef.cpp: |
| (WKSessionCreate): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: |
| (+[_WKWebsiteDataStore nonPersistentDataStore]): |
| * UIProcess/APISession.cpp: |
| (API::generateID): |
| (API::Session::Session): |
| (API::Session::createEphemeral): |
| (API::Session::legacyPrivateSession): Deleted. |
| (API::Session::create): Deleted. |
| * UIProcess/APISession.h: |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::createWebPage): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::setSessionID): |
| (WebKit::WebPageProxy::creationParameters): |
| (WebKit::WebPageProxy::setSession): Deleted. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::sessionID): |
| |
| 2014-12-05 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] allow host application to opt-out of alternate fullscreen pt. 2 |
| https://bugs.webkit.org/show_bug.cgi?id=139227 |
| |
| Reviewed by Jer Noble and Anders Carlsson. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add bool param to setupFullscreenWithID. |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: Ditto. |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Ditto. |
| |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Pass new parameter |
| to SetupFullscreenWithID. |
| |
| 2014-12-04 Anders Carlsson <andersca@apple.com> |
| |
| Add missing includes in preparation for making toAPI require that it's passed an API::Object |
| https://bugs.webkit.org/show_bug.cgi?id=139278 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/C/WKAuthenticationChallenge.cpp: |
| * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: |
| * UIProcess/API/C/WKContext.cpp: |
| * UIProcess/API/C/WKDownload.cpp: |
| * UIProcess/API/C/WKFrame.cpp: |
| * UIProcess/API/C/WKGeolocationManager.cpp: |
| * UIProcess/API/C/WKInspector.cpp: |
| * UIProcess/API/C/WKPage.cpp: |
| * UIProcess/GenericCallback.h: |
| * UIProcess/Notifications/WebNotificationProvider.cpp: |
| * UIProcess/WebContextConnectionClient.cpp: |
| * UIProcess/WebContextInjectedBundleClient.cpp: |
| * UIProcess/WebCookieManagerProxyClient.cpp: |
| * UIProcess/WebDatabaseManagerProxyClient.cpp: |
| * UIProcess/WebFindClient.cpp: |
| * UIProcess/WebFormClient.cpp: |
| * UIProcess/WebIconDatabaseClient.cpp: |
| * UIProcess/WebPageContextMenuClient.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| * WebProcess/InjectedBundle/InjectedBundleClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: |
| * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: |
| |
| 2014-12-04 Anders Carlsson <andersca@apple.com> |
| |
| Make API::String copy the underlying strings if needed, for thread safety |
| https://bugs.webkit.org/show_bug.cgi?id=139261 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/API/c/WKString.cpp: |
| (WKStringCreateWithUTF8CString): |
| (WKStringCreateWithJSString): |
| (WKStringCopyJSString): |
| Move the implementations from API::String and directly into the API functions. |
| |
| * Shared/APIString.h: |
| Add a create overload that takes an rvalue reference. Call it from the create overload |
| that takes an lvalue reference, but explicitly copy the string. |
| We call isolatedCopy() again on the string in the rvalue reference overload, but that is a no-op |
| if the string can be sent to another thread. Add assertions in the String constructor that we can |
| send the string to another thread. |
| |
| 2014-12-04 Beth Dakin <bdakin@apple.com> |
| |
| Clients disabling action menus sometimes still invoke action menu behaviors |
| https://bugs.webkit.org/show_bug.cgi?id=139270 |
| -and corresponding- |
| rdar://problem/19147218 |
| |
| Reviewed by Tim Horton. |
| |
| By default, we will keep a single item in the action menu up until the point where |
| _state == ActionMenuState::Ready. So by checking _state here, we are preventing |
| clients from opting out of our choice to wait. Ideally we would always still wait |
| for the Ready state, but this will get the best behavior in the mean time. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _updateActionMenuItems]): |
| |
| 2014-12-04 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r173468): Cannot step in WebInspector |
| https://bugs.webkit.org/show_bug.cgi?id=139260 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Inspector defers all loads and starts a nested runloop when it hits a breakpoint. When continuing it undefers the loads. |
| If the script execution was triggered from the didFinishLoading callback of the main resource then the main resource would |
| already be in the finished state in the network process side and setDefersLoading(false) message would end up restarting its load. |
| Since loads are not meant to restart the generated callbacks would assert or crash the web process when handled in the next |
| nested inspector runloop. |
| |
| Fix by taking care that cleaned up NetworkResourceLoaders are always removed from the loader map of |
| the NetworkConnectionToWebProcess and so can't end up handling late messages. |
| |
| No test, this requires JS debugger to trigger. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader): |
| |
| This is now the only way to remove resource loaders. |
| It is called from NetworkResourceLoader::cleanup only. |
| |
| (WebKit::NetworkConnectionToWebProcess::didClose): |
| (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): |
| |
| Calling abort removes the resource loader (since it calls cleanup) so no need to do it explicitly anymore. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::start): |
| |
| We are guaranteed to be reffed by NetworkConnectionToWebProcess until cleanup so the explicit ref/deref can be removed. |
| |
| (WebKit::NetworkResourceLoader::cleanup): |
| |
| Call to NetworkConnectionToWebProcess::didCleanupResourceLoader to make the loader unreachable. |
| |
| * NetworkProcess/NetworkResourceLoader.h: |
| (WebKit::NetworkResourceLoader::identifier): |
| |
| 2014-12-04 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the 32-bit build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]): |
| |
| 2014-12-04 Tim Horton <timothy_horton@apple.com> |
| |
| TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=139252 |
| <rdar://problem/19140827> |
| |
| Reviewed by Anders Carlsson. |
| |
| It turns out contentsToScreen requires sync IPC in Mac WebKit2, which we |
| really don't want to be doing here (especially since the UI process will often |
| be sitting in waitForAndDispatchImmediately waiting for didPerformActionMenuHitTest). |
| |
| Go back to keeping TextIndicator rects in "window" coordinates and do the conversion |
| in each of the WebKits instead of trying to share that code. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextIndicatorData>::encode): |
| (IPC::ArgumentCoder<TextIndicatorData>::decode): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]): |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::updateFindIndicator): |
| (WebKit::FindController::drawRect): |
| Adjust to the WebCore changes. |
| |
| 2014-12-04 Anders Carlsson <andersca@apple.com> |
| |
| Simplify StorageManager callback functions |
| https://bugs.webkit.org/show_bug.cgi?id=139257 |
| |
| Reviewed by Antti Koivisto. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::getOrigins): |
| (WebKit::StorageManager::getStorageDetailsByOrigin): |
| (WebKit::callCallbackFunction): Deleted. |
| (WebKit::StorageManager::getOriginsInternal): Deleted. |
| (WebKit::StorageManager::getStorageDetailsByOriginInternal): Deleted. |
| * UIProcess/Storage/StorageManager.h: |
| * UIProcess/WebKeyValueStorageManager.cpp: |
| (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): |
| (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): |
| (WebKit::didGetKeyValueStorageOrigins): Deleted. |
| (WebKit::didGetStorageDetailsByOrigin): Deleted. |
| |
| 2014-12-04 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r176794. |
| |
| * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: |
| (WebKit::fileCreationTime): |
| (WebKit::fileModificationTime): |
| |
| 2014-12-03 Anders Carlsson <andersca@apple.com> |
| |
| Add a way to delete local storage origins modified after a given date |
| https://bugs.webkit.org/show_bug.cgi?id=139249 |
| |
| Reviewed by Tim Horton. |
| |
| Also change LocalStorageDatabaseTracker to hold on to WTF::Optional time_t values |
| instead of treating missing values as zero. |
| |
| * UIProcess/LocalStorageDetails.h: |
| * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: |
| (WebKit::fileCreationTime): |
| (WebKit::fileModificationTime): |
| (WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince): |
| (WebKit::LocalStorageDatabaseTracker::details): |
| * UIProcess/Storage/LocalStorageDatabaseTracker.h: |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): |
| * UIProcess/Storage/StorageManager.h: |
| * UIProcess/WebKeyValueStorageManager.cpp: |
| (WebKit::didGetStorageDetailsByOrigin): |
| |
| 2014-12-04 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> |
| |
| [EFL][WK2] Add ewk API to allow accepting a specific TLS certificate for a specific host |
| https://bugs.webkit.org/show_bug.cgi?id=131160 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * UIProcess/API/efl/ewk_context.cpp: |
| (EwkContext::allowSpecificHTTPSCertificateForHost): |
| (ewk_context_tls_certificate_for_host_allow): |
| * UIProcess/API/efl/ewk_context.h: |
| * UIProcess/API/efl/ewk_context_private.h: |
| * UIProcess/API/efl/tests/test_ewk2_ssl.cpp: |
| |
| 2014-12-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176457. |
| https://bugs.webkit.org/show_bug.cgi?id=139247 |
| |
| More iOS breakage (Requested by andersca on #webkit). |
| |
| Reverted changeset: |
| |
| "Fix iOS build." |
| http://trac.webkit.org/changeset/176457 |
| |
| 2014-12-03 Beth Dakin <bdakin@apple.com> |
| |
| <input> elements get whitespace action menu instead of editable text menu |
| https://bugs.webkit.org/show_bug.cgi?id=139241 |
| -and corresponding- |
| rdar://problem/19072083 |
| |
| Reviewed by Sam Weinig. |
| |
| Add isOverTextInsideFormControlElement to WebHitTestResult. |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| * Shared/WebHitTestResult.h: |
| (WebKit::WebHitTestResult::isOverTextInsideFormControlElement): |
| |
| Offer the text menus for text inside form controls. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItems]): |
| |
| We should disallow shadow content in the hit test. This is the default and it is |
| how context menus behave. We originally wanted to text inside shadow content so |
| that we could find the text, but the new function I added to HitTestResult will |
| allow that. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| |
| Adjust to the fact that we don’t hit test shadow content any more. |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::lookupTextAtLocation): |
| (WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult): |
| |
| 2014-12-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176489. |
| https://bugs.webkit.org/show_bug.cgi?id=139242 |
| |
| More iOS breakage (Requested by andersca on #webkit). |
| |
| Reverted changeset: |
| |
| "Unreviewed, iOS build fix after r176452." |
| http://trac.webkit.org/changeset/176489 |
| |
| 2014-12-03 Tim Horton <timothy_horton@apple.com> |
| |
| Implement action menus for tel: URLs |
| https://bugs.webkit.org/show_bug.cgi?id=139240 |
| <rdar://problem/19115662> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/c/WKActionMenuTypes.h: |
| Add a new type. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]): |
| Rename this function as it will work for both mailto and tel URLs. |
| Adjust it to use contextForView:. |
| |
| (-[WKActionMenuController _clearActionMenuState]): |
| (-[WKActionMenuController menuNeedsUpdate:]): |
| (-[WKActionMenuController _defaultMenuItems]): |
| Don't check the menu type when going to interact with _currentActionContext. |
| We'll only have a _currentActionContext if we have a data detected item, |
| and there are multiple menu types that end up using DDActionContext. |
| |
| 2014-12-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176452 and r176559. |
| https://bugs.webkit.org/show_bug.cgi?id=139239 |
| |
| Broke iOS (Requested by andersca on #webkit). |
| |
| Reverted changesets: |
| |
| "Remove alignment code from IPC coders" |
| https://bugs.webkit.org/show_bug.cgi?id=138963 |
| http://trac.webkit.org/changeset/176452 |
| |
| "[WK2] SecComp buildfix after r176452" |
| https://bugs.webkit.org/show_bug.cgi?id=139081 |
| http://trac.webkit.org/changeset/176559 |
| |
| 2014-12-03 Tim Horton <timothy_horton@apple.com> |
| |
| Keyboard input should be disabled in the preview popover |
| https://bugs.webkit.org/show_bug.cgi?id=139219 |
| <rdar://problem/19052381> |
| |
| Reviewed by Anders Carlsson. |
| |
| Make sure that keyboard input, Quick Look, etc. are blocked in preview popovers |
| and WKThumbnailViews. Also block the fake mouseMove events that originate in |
| the Web process upon scrolling, because we were missing those despite blocking |
| ordinary mouseMove events. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| Rename _ignoresNonWheelMouseEvents to _ignoresNonWheelEvents, because it will |
| apply not only to mouse events but also key events, Quick Look events, menu |
| preparation events, swipe events, etc. |
| |
| Add _ignoresAllEvents, which means the same thing as _ignoresNonWheelEvents |
| with the addition of ignoring scrollWheel events. |
| |
| (-[WKView scrollWheel:]): |
| (-[WKView swipeWithEvent:]): |
| (-[WKView mouseMoved:]): |
| (-[WKView mouseDown:]): |
| (-[WKView mouseUp:]): |
| (-[WKView mouseDragged:]): |
| Adjust to the new name. |
| |
| (-[WKView performKeyEquivalent:]): |
| (-[WKView keyUp:]): |
| (-[WKView keyDown:]): |
| (-[WKView flagsChanged:]): |
| (-[WKView quickLookWithEvent:]): |
| (-[WKView prepareForMenu:withEvent:]): |
| (-[WKView willOpenMenu:withEvent:]): |
| (-[WKView didCloseMenu:withEvent:]): |
| Block all of these events as well as those we were previously blocking. |
| |
| (-[WKView _setIgnoresAllEvents:]): |
| (-[WKView _setIgnoresNonWheelMouseEvents:]): |
| (-[WKView _setIgnoresNonWheelEvents:]): |
| (-[WKView _ignoresNonWheelEvents]): |
| (-[WKView _ignoresAllEvents]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| Adjust to the new names and the addition of ignoresAllEvents. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKPagePreviewViewController loadView]): |
| Adjust to the new name. |
| |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| Move bailing from prepareForMenu: up to WKView. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _ignoresNonWheelEvents]): |
| (-[WKWebView _setIgnoresNonWheelEvents:]): |
| (-[WKWebView _ignoresNonWheelMouseEvents]): Deleted. |
| (-[WKWebView _setIgnoresNonWheelMouseEvents:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| Adjust to the new name (without "mouse" in it). |
| |
| * UIProcess/API/Cocoa/_WKThumbnailView.mm: |
| (-[_WKThumbnailView _viewWasUnparented]): |
| (-[_WKThumbnailView _viewWasParented]): |
| Explicitly tell WKView to disable event handling while thumbnailed, |
| instead of having WKView special-case thumbnail views internally. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setShouldDispatchFakeMouseMoveEvents): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::shouldDispatchFakeMouseMoveEvents): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::shouldDispatchFakeMouseMoveEvents): |
| (WebKit::WebPage::setShouldDispatchFakeMouseMoveEvents): |
| * WebProcess/WebPage/WebPage.messages.in: |
| Plumb shouldDispatchFakeMouseMoveEvents from the UI process to the Web process |
| and through to WebKit2's ChromeClient implementation. |
| |
| 2014-12-03 Anders Carlsson <andersca@apple.com> |
| |
| Remove ENABLE_UI_PROCESS_STORAGE define, it's always 1. |
| |
| Rubber-stamped by Beth Dakin. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::localStorageNamespace): |
| (WebKit::WebPlatformStrategies::transientLocalStorageNamespace): |
| (WebKit::WebPlatformStrategies::sessionStorageNamespace): |
| |
| 2014-12-03 Anders Carlsson <andersca@apple.com> |
| |
| Use an @autoreleasepool instead of NSAutoreleasePool. |
| |
| Rubber-stamped by Tim Horton. |
| |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::flushLayers): |
| |
| 2014-12-03 Dan Bernstein <mitz@apple.com> |
| |
| REGRESSION(r176687): Caused webkit2 test assertion failure crashes in WebKit::WebPage::willStartDrag() |
| https://bugs.webkit.org/show_bug.cgi?id=139224 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::mouseEventSyncForTesting): Wait for the UI process to start dragging if |
| needed before handling the event. |
| |
| 2014-12-03 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] outdated comment |
| https://bugs.webkit.org/show_bug.cgi?id=137801 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Remove a comment that is no longer correct. |
| |
| * NetworkProcess/gtk/NetworkProcessMainGtk.cpp: |
| |
| 2014-12-02 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Don't block menu highlighting when presenting a page preview |
| https://bugs.webkit.org/show_bug.cgi?id=139217 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _previewURLFromActionMenu:]): |
| Defer popover presentation to the next turn of the runloop. |
| |
| 2014-12-02 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/mac/WebContextMac.mm: |
| |
| 2014-12-02 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/18441138> [iOS] Text selection in WKWebView with WKSelectionGranularityCharacter only works in the most recent WKWebView to load |
| https://bugs.webkit.org/show_bug.cgi?id=139211 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView becomeFirstResponder]): Override to activate the text selection for when |
| becoming first resopnder. |
| (-[WKContentView resignFirstResponder]): Deactiavte the text selection when resigning first |
| responder. This ensures that if another WKWebView becomes first responder, and it uses |
| block selection, we don’t end up with two active selection views. |
| (-[WKContentView useSelectionAssistantWithMode:]): Only activate the text selection if this |
| is the first responder. This ensures that loading content into a non-first-responder |
| WKWebView doesn‘t deactivate the text selection in the current first responder. |
| |
| 2014-12-02 Alexey Proskuryakov <ap@apple.com> |
| |
| http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests |
| https://bugs.webkit.org/show_bug.cgi?id=139149 |
| |
| Reviewed by Anders Carlsson. |
| |
| This changes API behavior. I think that it's OK, because existing behavior made no sense. |
| We used to delete caches from disk, but they were still active in memory. Now we also |
| obsolete them in memory, so documents that use a cache still work, but new ones don't |
| pick one up. |
| |
| * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: |
| (WebKit::WebApplicationCacheManager::deleteAllEntries): Use the new WebCore function |
| that properly deletes caches. |
| |
| 2014-12-02 Tim Horton <timothy_horton@apple.com> |
| |
| Remove a SnowLeopard-era quirk for QuickLook |
| https://bugs.webkit.org/show_bug.cgi?id=139208 |
| <rdar://problem/19121822> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::platformInitializeWebProcess): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks): Deleted. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::needsQuickLookResourceCachingQuirks): Deleted. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| Build fix. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| More build fix. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| |
| 2014-12-02 Dan Bernstein <mitz@apple.com> |
| |
| REGRESSION: Dragging selected text changes the selection |
| https://bugs.webkit.org/show_bug.cgi?id=139110 |
| |
| Reviewed by Simon Fraser. |
| |
| After it sent the UI process the message to start dragging, the Web process handled mouse |
| move events that had already been in flight, interpreting them as a drag to start a new |
| selection. This is fixed by ignoring any mouse events received after asking the UI process |
| to start dragging. |
| |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::setDragImage): Send the new DidStartDrag message back to the Web |
| process, so that it stops ignoring mouse events. |
| |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::startDrag): Call the new WebPage::willStartDrag, so that it starts |
| ignoring mouse events. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): Initialize new member variable. |
| (WebKit::WebPage::mouseEvent): Don’t handle the event if we have asked the UI process to |
| start dragging. |
| |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::willStartDrag): Added. Sets new member variable m_isStartingDrag to true. |
| (WebKit::WebPage::didStartDrag): Added. Handles the message from the UI process by setting |
| m_isStartingDrag back to false. |
| |
| * WebProcess/WebPage/WebPage.messages.in: Added DidStartDrag. |
| |
| 2014-12-02 Beth Dakin <bdakin@apple.com> |
| |
| Should use standardQuickLookMenuItem for apps that don't implement customizations |
| https://bugs.webkit.org/show_bug.cgi?id=139193 |
| -and corresponding- |
| rdar://problem/18944696 |
| |
| Reviewed by Anders Carlsson. |
| |
| New SPI will allow clients to opt-out of the standardQuickLookMenuItem. By |
| default, opt in. |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _shouldUseStandardQuickLookPreview]): |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| Use [NSMenuItem standardQuickLookMenuItem] unless the client has requested |
| otherwise. |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| |
| Delegate methods to set up the standardQuickLookMenuItem. |
| (-[WKActionMenuController menuItem:viewAtScreenPoint:]): |
| (-[WKActionMenuController menuItem:previewItemAtPoint:]): |
| (-[WKActionMenuController menuItem:preferredEdgeForPoint:]): |
| |
| 2014-12-02 Tim Horton <timothy_horton@apple.com> |
| |
| TextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClose when we should) |
| https://bugs.webkit.org/show_bug.cgi?id=139175 |
| <rdar://problem/19072236> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView scrollWheel:]): |
| (-[WKView mouseDown:]): |
| Work around <rdar://problem/19086993> by always explicitly clearing the |
| active text indicator in mouseDown: and scrollWheel:. |
| This way, even if you manage to get a text indicator that outlives the |
| Look Up popover (or find-in-page, or whatever), it will be dismissed |
| by clicking or scrolling the view. |
| |
| 2014-12-02 Anders Carlsson <andersca@apple.com> |
| |
| Remove visited link handling from PageGroup |
| https://bugs.webkit.org/show_bug.cgi?id=139185 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::populateVisitedLinks): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2014-12-01 Anders Carlsson <andersca@apple.com> |
| |
| Remove WKBundleRemoveAllVisitedLinks |
| https://bugs.webkit.org/show_bug.cgi?id=139163 |
| |
| Reviewed by Sam Weinig. |
| |
| WKBundleRemoveAllVisitedLinks has been a no-op since at least Yosemite; get rid of it. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| (WKBundleRemoveAllVisitedLinks): Deleted. |
| * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::removeAllVisitedLinks): Deleted. |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| |
| 2014-12-02 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> |
| |
| Fix class was previously declared as a struct warnings |
| https://bugs.webkit.org/show_bug.cgi?id=139131 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: |
| * UIProcess/CoordinatedGraphics/WebViewClient.h: |
| |
| 2014-12-02 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] ewk_view_scale_set() doesn't work correctly |
| https://bugs.webkit.org/show_bug.cgi?id=139109 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| When ewk_view_scale_set() is called, it has only updated a scale factor which is maintained by WebPageProxy. |
| It causes WebPageProxy unsynchronized with PageViewportController's scale factor. That's why wrong scale |
| behavior has occured through ewk_view_scale_set(). Besides zooming has similar problem as well. |
| |
| Thus this patch updates m_pageScaleFactor of PageViewportController as well as prohibits to change the scale |
| factor through viewport meta tag update. Because ewk_view_scale_set() means that user wants to set a specific |
| value to scale factor of current viewport. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::updateScaleToPageViewportController): |
| Set m_initiallyFitToViewport to false. And call didChangeContentsVisibility() with new scale and scale position. |
| |
| * UIProcess/API/efl/EwkView.h: |
| * UIProcess/API/efl/ewk_view.cpp: |
| (ewk_view_scale_set): |
| * UIProcess/API/efl/tests/test_ewk2_view.cpp: |
| (TEST_F): |
| * UIProcess/CoordinatedGraphics/PageViewportController.cpp: |
| (WebKit::PageViewportController::didCommitLoad): |
| Set m_initiallyFitToViewport to true in order to fit content to viewport size by default. |
| Initizlize content position with (0, 0). |
| |
| (WebKit::PageViewportController::pageTransitionViewportReady): |
| Do not update scale when m_initiallyFitToViewport is false. |
| |
| (WebKit::PageViewportController::syncVisibleContents): |
| Return false when syncVisibleContents is failed. |
| |
| (WebKit::PageViewportController::didChangeViewportAttributes): |
| Do not update scale when m_initiallyFitToViewport is false. |
| |
| (WebKit::PageViewportController::applyScaleAfterRenderingContents): |
| If syncVisibleContents() is failed, m_pageScaleFactor should be restored with previous value. |
| If not, new scale factor isn't applied though, PageViewportController uses it as own scale factor. |
| |
| (WebKit::PageViewportController::updateMinimumScaleToFit): |
| Do not update scale when m_initiallyFitToViewport is false or m_hadUserInteraction is true. |
| |
| * UIProcess/CoordinatedGraphics/PageViewportController.h: |
| (WebKit::PageViewportController::setInitiallyFitToViewport): |
| |
| 2014-11-20 Jeffrey Pfau <jpfau@apple.com> |
| |
| Add cancelable version of willSendRequest |
| https://bugs.webkit.org/show_bug.cgi?id=138987 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::willSendRequest): |
| |
| 2014-12-01 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Clients need a way to explicitly set the title of a page preview |
| https://bugs.webkit.org/show_bug.cgi?id=139161 |
| |
| Reviewed by Beth Dakin. |
| |
| This implicitly assumes that only one page preview can be associate with a given WKView at a time. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setPreviewTitle:]): |
| Wrap -[WKActionMenuController setPreviewTitle:] |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| Add ivars for the title and the title text field (previously not independently exposed). |
| (-[WKPagePreviewViewController previewTitle]): |
| Accessor. |
| (-[WKPagePreviewViewController setPreviewTitle:]): |
| Accessor; set the text field's string value. |
| (-[WKPagePreviewViewController loadView]): |
| Adopt the _titleTextField ivar; assume that if a client has explicitly set the previewTitle then we don't |
| need to ask for it again. |
| (-[WKActionMenuController setPreviewTitle:]): |
| Wrap -[WKPagePreviewViewController setPreviewTitle:]. |
| |
| 2014-12-01 Anders Carlsson <andersca@apple.com> |
| |
| Make WebKit2 work slightly better with garbage collection |
| https://bugs.webkit.org/show_bug.cgi?id=139159 |
| <rdar://problem/19108390> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::ref): |
| (API::Object::deref): |
| Call CFRetain/CFRelease to prevent the memory from being collected. |
| |
| (API::Object::newObject): |
| Call CFRetain under GC so we'll prevent memory from being collected prematurely. |
| |
| 2014-12-01 Tim Horton <timothy_horton@apple.com> |
| |
| Implement yellow highlight for WebKit1 data detectors |
| https://bugs.webkit.org/show_bug.cgi?id=138956 |
| <rdar://problem/18992185> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextIndicatorData>::encode): |
| (IPC::ArgumentCoder<TextIndicatorData>::decode): |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::updateFindIndicator): |
| (WebKit::FindController::drawRect): |
| Adjust to the fact that TextIndicator keeps screen-relative rects. |
| |
| 2014-12-01 Anders Carlsson <andersca@apple.com> |
| |
| Remove old site specific quirks code that was added in 2009 |
| https://bugs.webkit.org/show_bug.cgi?id=139141 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/RemoteNetworkingContext.h: |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::needsSiteSpecificQuirks): Deleted. |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted. |
| |
| 2014-12-01 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Crash in WebInspectorClient::hideHighlight when page is destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=139136 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebCoreSupport/WebInspectorClient.cpp: |
| (WebKit::WebInspectorClient::hideHighlight): |
| Speculatively fix by null-checking the main frame which |
| can be null during page destruction. |
| |
| 2014-11-30 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| [EFL] Add eldbus to the library list |
| https://bugs.webkit.org/show_bug.cgi?id=139120 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Fix undefined reference errors for eldbus APIs. |
| |
| * PlatformEfl.cmake: |
| |
| 2014-11-29 Anders Carlsson <andersca@apple.com> |
| |
| Crash when calling WKPageClose on the originated page from within createNewPage callback |
| https://bugs.webkit.org/show_bug.cgi?id=139099 |
| <rdar://problem/19052564> |
| |
| Reviewed by Sam Weinig. |
| |
| Null check the namespace ID. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::cloneSessionStorageNamespaceInternal): |
| |
| 2014-11-28 Tim Horton <timothy_horton@apple.com> |
| |
| Stale userData is handed to WKView _actionMenuItemsForHitTestResult under prepareForMenu |
| https://bugs.webkit.org/show_bug.cgi?id=139069 |
| <rdar://problem/19075587> |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController wkView:willHandleMouseDown:]): |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| (-[WKActionMenuController _clearActionMenuState]): |
| Previously, _userData was not being cleared in didCloseMenu, so a subsequent |
| action menu invocation would end up sending stale userData to _actionMenuItemsForHitTestResult. |
| |
| Additionally, factor all of the cleanup code out into _clearActionMenuState, |
| and call it from both wkView:willHandleMouseDown: and didCloseMenu:withEvent:. |
| |
| 2014-11-26 Timothy Horton <timothy_horton@apple.com> |
| |
| DataDetectors PageOverlay callbacks are never called |
| https://bugs.webkit.org/show_bug.cgi?id=139067 |
| <rdar://problem/19086676> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| Encode/decode the PageOverlay ID. |
| |
| 2014-11-28 Simon Fraser <simon.fraser@apple.com> |
| |
| Allow clients of the WKRenderLayerRef C SPI to connect layer trees across frame boundaries |
| https://bugs.webkit.org/show_bug.cgi?id=139021 |
| |
| Reviewed by Dan Bernstein. |
| |
| Add WKRenderLayerGetFrameContentsLayer which returns a WKRenderLayerRef for |
| the content document of a RenderWidget, if its has one (e.g. frames, iframes |
| and <object> with document contents). |
| |
| * Shared/API/c/WKRenderLayer.cpp: |
| (WKRenderLayerGetFrameContentsLayer): |
| * Shared/API/c/WKRenderLayer.h: |
| * Shared/UserMessageCoders.h: |
| (WebKit::UserMessageEncoder::baseEncode): |
| (WebKit::UserMessageDecoder::baseDecode): |
| * Shared/WebRenderLayer.cpp: |
| (WebKit::WebRenderLayer::create): |
| (WebKit::WebRenderLayer::WebRenderLayer): |
| * Shared/WebRenderLayer.h: |
| (WebKit::WebRenderLayer::frameContentsLayer): |
| |
| 2014-11-28 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [WK2] SecComp buildfix after r176452 |
| https://bugs.webkit.org/show_bug.cgi?id=139081 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Shared/linux/SeccompFilters/SeccompBroker.cpp: |
| (WebKit::SeccompBrokerClient::dispatch): |
| (WebKit::SeccompBroker::runLoop): |
| |
| 2014-11-28 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Fix -Wc++11-narrowing error in SeccompFilters.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=139079 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/linux/SeccompFilters/SeccompFilters.cpp: |
| (WebKit::SeccompFilters::addRule): |
| * Shared/linux/SeccompFilters/SeccompFilters.h: |
| |
| 2014-11-28 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [WK2] SecComp buildfix after r168605 and r168999 |
| https://bugs.webkit.org/show_bug.cgi?id=139080 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/linux/SeccompFilters/SyscallPolicy.cpp: |
| (WebKit::SyscallPolicy::addDefaultWebProcessPolicy): |
| |
| 2014-11-27 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Remove E_Dbus dependency |
| https://bugs.webkit.org/show_bug.cgi?id=136355 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * UIProcess/API/efl/ewk_main.cpp: Added init/shutdown for eldbus. |
| (WebKit::EwkMain::initialize): |
| (WebKit::EwkMain::finalize): |
| (WebKit::EwkMain::shutdownInitializedEFLModules): |
| |
| 2014-11-25 Anders Carlsson <andersca@apple.com> |
| |
| Remove user content handling from PageGroup |
| https://bugs.webkit.org/show_bug.cgi?id=139051 |
| |
| Reviewed by Antti Koivisto. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::addUserScript): |
| (WebKit::InjectedBundle::addUserStyleSheet): |
| (WebKit::InjectedBundle::removeUserScript): |
| (WebKit::InjectedBundle::removeUserStyleSheet): |
| (WebKit::InjectedBundle::removeUserScripts): |
| (WebKit::InjectedBundle::removeUserStyleSheets): |
| (WebKit::InjectedBundle::removeAllUserContent): |
| Talk to the user content controller from the passed in WebPageGroupProxy. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| Create the WebPageGroupProxy before creating the page so we can get its user content controller and |
| pass it to the page configuration if necessary. |
| |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::userContentController): |
| New function that lazily creates a user content controller. We don't want to create this eagerly since |
| it's not used with the modern API. |
| |
| (WebKit::WebPageGroupProxy::addUserStyleSheet): |
| (WebKit::WebPageGroupProxy::addUserScript): |
| (WebKit::WebPageGroupProxy::removeAllUserStyleSheets): |
| (WebKit::WebPageGroupProxy::removeAllUserScripts): |
| (WebKit::WebPageGroupProxy::removeAllUserContent): |
| Call through to the user content controller. |
| |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| Add an m_userContentController member. |
| |
| 2014-11-25 Ting-Wei Lan <lantw44@gmail.com> |
| |
| [GTK] Use LD_LIBRARY_PATH to make g-ir-scanner use the newly-built |
| version of libraries when running the temporary executable |
| https://bugs.webkit.org/show_bug.cgi?id=138833 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| This patch modifies LD_LIBRARY_PATH to make sure the dynamic linker |
| find the correct version of libraries when running the temporary |
| executable to generate the .gir file. |
| |
| * PlatformGTK.cmake: |
| |
| 2014-11-25 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL] REGRESSION(r176514): It made performance tests fail |
| https://bugs.webkit.org/show_bug.cgi?id=139037 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * WebProcess/efl/WebProcessMainEfl.cpp: Don't try to load/shutdown eail if eailLibraryPath() is empty. |
| |
| 2014-11-24 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> |
| |
| Remove Qt cruft related to tap higlighting |
| https://bugs.webkit.org/show_bug.cgi?id=139030 |
| |
| Reviewed by Andreas Kling. |
| |
| * CMakeLists.txt: |
| * WebProcess/WebPage/TapHighlightController.cpp: Removed. |
| * WebProcess/WebPage/TapHighlightController.h: Removed. |
| |
| 2014-11-24 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, EFL build fix since r176530. |
| |
| * UIProcess/CoordinatedGraphics/WebView.cpp: Replace pointer with reference. |
| (WebKit::WebView::processDidExit): |
| |
| 2014-11-24 Benjamin Poulain <bpoulain@apple.com> |
| |
| [WK2] Remove some bad stuff from WebPageProxy |
| https://bugs.webkit.org/show_bug.cgi?id=138896 |
| |
| Reviewed by Sam Weinig. |
| |
| The state loadStateAtProcessExit does not seem to be used anywhere. |
| |
| The state urlAtProcessExit only exists to forward the url from |
| WebPageProxy::resetStateAfterProcessExited() to the coordinated graphics code |
| WebView::processDidExit(). |
| |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| (WebKit::WebView::processDidExit): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::urlAtProcessExit): Deleted. |
| (WebKit::WebPageProxy::loadStateAtProcessExit): Deleted. |
| |
| 2014-11-24 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] REGRESSION(176066): It made all performance tests fail |
| https://bugs.webkit.org/show_bug.cgi?id=138865 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Since r176066, there are crash because evas_gl_surface is destroyed with |
| invalid evas_gl instance after evas_gl is destroyed. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::~EwkView): |
| |
| 2014-11-24 Alberto Garcia <berto@igalia.com> |
| |
| Webkit2 doesnt build on powerpc 32 bits |
| https://bugs.webkit.org/show_bug.cgi?id=130837 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Check if libatomic is needed in order to use std::atomic, and add |
| it to the list of WebKit2 libraries. |
| |
| * PlatformGTK.cmake: |
| |
| 2014-11-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.2 release. |
| |
| * gtk/NEWS: Add release notes for 2.7.2. |
| |
| 2014-11-24 Krzysztof Czech <k.czech@samsung.com> |
| |
| [EFL] Utilize Eail library to support accessibility in EFL |
| https://bugs.webkit.org/show_bug.cgi?id=137742 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Initialize EAIL module so that all the listeners and atk-bridge started properly. |
| Dynamic loading of EAIL help us to avoid elementary dependencies in WebKit. |
| |
| * WebProcess/efl/WebProcessMainEfl.cpp: |
| (eailLibraryPath): reads path provided by ACCESSIBILITY_EAIL_LIBRARY_PATH variable. |
| (eail): |
| |
| 2014-11-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] WebKitWebView is created with the wrong web context when using webkit_web_view_new_with_related_view() |
| https://bugs.webkit.org/show_bug.cgi?id=139023 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| The WebKitWebContext is a construct only property, so it's always |
| set to the default value when not provided, during the |
| construction. When a related-view is used to create a new web view |
| we should ensure that the same web context is used for the new web |
| view, instead of the default. We should also ignore any web |
| context given as construct parameter if a related view is alos provided. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewConstructed): Do not set the context to the default |
| one when not given during construction. |
| (webkitWebViewSetProperty): Only use the default web context when |
| not provided as construct parameter and there isn't a related view. |
| |
| 2014-11-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add API to override the default local storage directory |
| https://bugs.webkit.org/show_bug.cgi?id=138828 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Add WebKitWebContext:local-storage-directory construct-only |
| property. If not provided the default will be used. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextGetProperty): |
| (webkitWebContextSetProperty): |
| (webkitWebContextConstructed): |
| (webkit_web_context_class_init): |
| |
| 2014-11-23 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Page previews should have titles |
| https://bugs.webkit.org/show_bug.cgi?id=139020 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Declare -_titleForPreviewOfURL:. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _titleForPreviewOfURL:]): |
| Stub implementation. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (+[WKPagePreviewViewController previewPadding]): |
| Account for the title height. |
| (-[WKPagePreviewViewController loadView]): |
| Set correct autoresize masks on some views; create and configure a title view that is |
| horizontally and vertically centered. |
| (-[WKActionMenuController pagePreviewViewController:titleForPreviewOfURL:]): |
| WKPagePreviewViewControllerDelegate method; wrap -[WKView _titleForPreviewOfURL:]. |
| |
| 2014-11-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Extend WKRenderObject and WKRenderLayer with some more useful data |
| https://bugs.webkit.org/show_bug.cgi?id=139006 |
| |
| Reviewed by Sam Weinig. |
| |
| Implement WKRenderLayerGetBackingStoreMemoryEstimate, |
| WKRenderObjectCopyTextSnippet and WKRenderObjectGetTextLength for improved |
| RenderLayer and RenderTree display in clients of the C SPI. |
| |
| * Shared/API/c/WKRenderLayer.cpp: |
| (WKRenderLayerGetBackingStoreMemoryEstimate): |
| * Shared/API/c/WKRenderLayer.h: |
| * Shared/API/c/WKRenderObject.cpp: |
| (WKRenderObjectCopyTextSnippet): |
| (WKRenderObjectGetTextLength): |
| * Shared/API/c/WKRenderObject.h: |
| * Shared/UserMessageCoders.h: |
| (WebKit::UserMessageEncoder::baseEncode): |
| (WebKit::UserMessageDecoder::baseDecode): |
| * Shared/WebRenderLayer.cpp: |
| (WebKit::WebRenderLayer::create): |
| (WebKit::WebRenderLayer::WebRenderLayer): |
| * Shared/WebRenderLayer.h: |
| (WebKit::WebRenderLayer::backingStoreMemoryEstimate): |
| * Shared/WebRenderObject.cpp: |
| (WebKit::WebRenderObject::create): |
| (WebKit::WebRenderObject::WebRenderObject): |
| * Shared/WebRenderObject.h: |
| (WebKit::WebRenderObject::textSnippet): |
| (WebKit::WebRenderObject::textLength): |
| |
| 2014-11-21 Jer Noble <jer.noble@apple.com> |
| |
| Support multiple signatures of diagnostic logging. |
| https://bugs.webkit.org/show_bug.cgi?id=138690 |
| |
| Reviewed by Anders Carlsson. |
| |
| Extend the existing WKBundlePageDiagnosticLoggingClient interface by deprecating |
| the original logDiagnosticMessage client method in V1 and adding three new, |
| explicit client methods. |
| |
| * CMakeLists.txt: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: |
| (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageDeprecated): |
| Renamed from logDiagnosticMessage(). |
| (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): Pass to the client. |
| (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto. |
| (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto. |
| * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::logDiagnosticMessage): Deleted. |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: Added. |
| (WebKit::WebDiagnosticLoggingClient::WebDiagnosticLoggingClient): Simple constructor. |
| (WebKit::WebDiagnosticLoggingClient::~WebDiagnosticLoggingClient): Simple destructor. |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): Pass to the injected bundle. |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto. |
| (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto. |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: Added. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): Initialize the new client. |
| |
| 2014-11-21 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, EFL build fix since r176459. |
| |
| r176459 removed Timer parameter in timer callbacks only for Mac port. |
| So this patch applies it to remaining classes for EFL port. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::EwkView): |
| (EwkView::displayTimerFired): |
| * UIProcess/API/efl/EwkView.h: |
| * UIProcess/efl/TextCheckerClientEfl.cpp: |
| (TextCheckerClientEfl::TextCheckerClientEfl): |
| (TextCheckerClientEfl::languagesUpdateTimerFired): |
| (TextCheckerClientEfl::spellCheckingSettingChangeTimerFired): |
| * UIProcess/efl/TextCheckerClientEfl.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): |
| (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, iOS build fix after r176462. |
| |
| Fix include path to TextIndicator.h to include WebCore/ |
| as it was moved. |
| |
| * UIProcess/ios/PageClientImplIOS.mm: |
| |
| 2014-11-21 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, iOS build fix after r176452. |
| |
| dencodeFixedLengthData() now only takes 2 arguments instead of |
| 3. |
| |
| * Shared/ios/QuickLookDocumentData.cpp: |
| (WebKit::QuickLookDocumentData::decode): |
| |
| 2014-11-21 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add "show simple line layout debug borders" setting to MiniBrowser. |
| https://bugs.webkit.org/show_bug.cgi?id=138981 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _simpleLineLayoutDebugBordersEnabled]): |
| (-[WKPreferences _setSimpleLineLayoutDebugBordersEnabled:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2014-11-21 Eric Carlson <eric.carlson@apple.com> |
| |
| WebVideoFullscreenManagerProxy must clear pointers when invalidated |
| https://bugs.webkit.org/show_bug.cgi?id=138982 |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy): Call invalidate. |
| (WebKit::WebVideoFullscreenManagerProxy::invalidate): Set WebVideoFullscreenModel and |
| WebVideoFullscreenChangeObserver to NULL. |
| |
| 2014-11-21 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView mouseDown:]): |
| |
| 2014-11-21 Beth Dakin <bdakin@apple.com> |
| |
| The preview action menu item should not have a title |
| https://bugs.webkit.org/show_bug.cgi?id=138989 |
| -and corresponding- |
| rdar://problem/19061959 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| |
| 2014-11-21 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Page previews should have a margin. |
| https://bugs.webkit.org/show_bug.cgi?id=138990 |
| |
| Reviewed by Beth Dakin. |
| |
| Enclose the WKWebView (or client-supplied preview view) in a container slightly larger |
| than the preview view. Adjust sizing code to accommodate the margin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (+[WKPagePreviewViewController previewPadding]): |
| Return the total amount of fixed padding surrounding the preview |
| (-[WKPagePreviewViewController loadView]): |
| Store the actual previewView in an ivar so that clients can distinguish it from the container |
| view; wrap the preview in a container view; set frames appropriately. |
| (-[WKActionMenuController _createPreviewPopover]): |
| Update to reflect method rename; supplement the popover size with the fixed padding. |
| (-[WKActionMenuController _preferredPopoverSizeWithPreviewPadding:]): |
| Renamed from -_preferredPopoverSize; account for the fixed padding when computing the preferred size. |
| (-[WKActionMenuController _clearPreviewPopover]): |
| Use the previewView ivar instead of the view controller's view. |
| (-[WKActionMenuController pagePreviewViewControllerWasClicked:]): |
| Ditto. |
| (-[WKActionMenuController _preferredPopoverSize]): Deleted. |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r176415): Can get stuck, unable to invoke any DataDetectors popovers |
| https://bugs.webkit.org/show_bug.cgi?id=138955 |
| <rdar://problem/19056442> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView mouseDown:]): |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController wkView:willHandleMouseDown:]): |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| (-[WKActionMenuController menuNeedsUpdate:]): |
| Keep track of whether we have called shouldUseActionsWithContext: on a |
| DDActionContext; if we get a mouseDown without having seen didCloseMenu: |
| (and thus don't properly pair the shouldUseActionsWithContext: with a didUseActions), |
| tear down the old DDActionContext before proceeding. |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able |
| https://bugs.webkit.org/show_bug.cgi?id=138960 |
| <rdar://problem/19056715> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| (-[WKActionMenuController _defaultMenuItemsForMailtoLink]): Deleted. |
| Use DataDetectors SPI instead of an explicit blacklist. |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| Crashes while encoding a TextIndicator with no contentImageWithHighlight |
| https://bugs.webkit.org/show_bug.cgi?id=138984 |
| <rdar://problem/19063717> |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextIndicatorData>::encode): |
| (IPC::ArgumentCoder<TextIndicatorData>::decode): |
| encodeImage doesn't deal with null images, so handle that case gracefully. |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able |
| https://bugs.webkit.org/show_bug.cgi?id=138960 |
| <rdar://problem/19056715> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| Blacklist contact results, because they don't have useful menus. If we |
| bail before setting up _currentActionContext, we'll still allow fallthrough |
| to ordinary text actions, avoiding mysterious failure when a contact is detected. |
| |
| This doesn't break the case that r176351 was intended to fix, |
| because in that case we were detecting e.g. addresses. |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| Move TextIndicator{Window} to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138954 |
| <rdar://problem/18992185> |
| |
| Some adjustments by Csaba Osztrogonác. |
| Reviewed by Anders Carlsson. |
| |
| * CMakeLists.txt: |
| Remove TextIndicator.cpp. |
| |
| * Scripts/webkit/messages.py: |
| (struct_or_class): |
| (headers_for_type): |
| Tell messages.py that TextIndicatorData is a struct, and comes from TextIndicator.h. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TextIndicatorData>::encode): |
| (IPC::ArgumentCoder<TextIndicatorData>::decode): |
| Add argument coders for TextIndicatorData. |
| |
| * Shared/DictionaryPopupInfo.h: |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/CoordinatedGraphics/WebView.h: |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| * UIProcess/mac/WKActionMenuController.mm: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| * WebProcess/WebPage/FindController.cpp: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| Adjust to TextIndicator and TextIndicatorWindow's new home. |
| |
| 2014-11-21 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r176238): Mailto links are getting preloaded, which results in a compose window |
| https://bugs.webkit.org/show_bug.cgi?id=138972 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| Only preload links. |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| Remove the Timer parameters from timer callbacks |
| https://bugs.webkit.org/show_bug.cgi?id=138974 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::NetworkResourceLoader): |
| (WebKit::NetworkResourceLoader::bufferingTimerFired): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * Shared/WebMemorySampler.cpp: |
| (WebKit::WebMemorySampler::WebMemorySampler): |
| (WebKit::WebMemorySampler::sampleTimerFired): |
| (WebKit::WebMemorySampler::stopTimerFired): |
| * Shared/WebMemorySampler.h: |
| * Shared/mac/RemoteLayerBackingStoreCollection.h: |
| * Shared/mac/RemoteLayerBackingStoreCollection.mm: |
| (WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection): |
| (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::PluginView): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): |
| (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::WebProcess::processSuspensionCleanupTimerFired): |
| (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): |
| * WebProcess/WebProcess.h: |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| Remove the Timer parameters from timer callbacks |
| https://bugs.webkit.org/show_bug.cgi?id=138974 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::NetworkResourceLoader): |
| (WebKit::NetworkResourceLoader::bufferingTimerFired): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * Shared/WebMemorySampler.cpp: |
| (WebKit::WebMemorySampler::WebMemorySampler): |
| (WebKit::WebMemorySampler::sampleTimerFired): |
| (WebKit::WebMemorySampler::stopTimerFired): |
| * Shared/WebMemorySampler.h: |
| * Shared/mac/RemoteLayerBackingStoreCollection.h: |
| * Shared/mac/RemoteLayerBackingStoreCollection.mm: |
| (WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection): |
| (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::PluginView): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): |
| (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::WebProcess::processSuspensionCleanupTimerFired): |
| (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): |
| * WebProcess/WebProcess.h: |
| |
| 2014-11-21 Antti Koivisto <antti@apple.com> |
| |
| Fix iOS build. |
| |
| * Shared/ios/QuickLookDocumentData.cpp: |
| (WebKit::QuickLookDocumentData::encode): |
| |
| 2014-11-21 Antti Koivisto <antti@apple.com> |
| |
| Remove alignment code from IPC coders |
| https://bugs.webkit.org/show_bug.cgi?id=138963 |
| |
| Reviewed by Anders Carlsson. |
| |
| Alignment code achieves nothing except making the messages somewhat bigger. |
| |
| * Platform/IPC/ArgumentCoders.cpp: |
| (IPC::ArgumentCoder<CString>::encode): |
| (IPC::ArgumentCoder<CString>::decode): |
| (IPC::ArgumentCoder<String>::encode): |
| (IPC::decodeStringText): |
| * Platform/IPC/ArgumentCoders.h: |
| (IPC::SimpleArgumentCoder::encode): |
| (IPC::SimpleArgumentCoder::decode): |
| * Platform/IPC/ArgumentDecoder.cpp: |
| (IPC::ArgumentDecoder::initialize): |
| (IPC::ArgumentDecoder::bufferIsLargeEnoughToContain): |
| (IPC::ArgumentDecoder::decodeFixedLengthData): |
| (IPC::ArgumentDecoder::decodeVariableLengthByteArray): |
| (IPC::ArgumentDecoder::decodeNumber): |
| (IPC::ArgumentDecoder::decode): |
| (IPC::roundUpToAlignment): Deleted. |
| (IPC::alignedBufferIsLargeEnoughToContain): Deleted. |
| (IPC::ArgumentDecoder::alignBufferPosition): Deleted. |
| (IPC::decodeValueFromBuffer): Deleted. |
| * Platform/IPC/ArgumentDecoder.h: |
| (IPC::ArgumentDecoder::isInvalid): |
| (IPC::ArgumentDecoder::markInvalid): |
| (IPC::ArgumentDecoder::bufferIsLargeEnoughToContain): |
| * Platform/IPC/ArgumentEncoder.cpp: |
| (IPC::ArgumentEncoder::ArgumentEncoder): |
| (IPC::ArgumentEncoder::grow): |
| (IPC::ArgumentEncoder::encodeFixedLengthData): |
| (IPC::ArgumentEncoder::encodeVariableLengthByteArray): |
| (IPC::ArgumentEncoder::encode): |
| * Platform/IPC/ArgumentEncoder.h: |
| (IPC::ArgumentEncoder::buffer): |
| (IPC::ArgumentEncoder::mutableBuffer): |
| * Platform/IPC/DataReference.cpp: |
| (IPC::SharedBufferDataReference::encode): |
| * Platform/IPC/MessageEncoder.cpp: |
| (IPC::MessageEncoder::setIsSyncMessage): |
| (IPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply): |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::sendOutgoingMessage): |
| |
| 2014-11-21 Anders Carlsson <andersca@apple.com> |
| |
| Make memoryCache() return a reference |
| https://bugs.webkit.org/show_bug.cgi?id=138939 |
| |
| Reviewed by Antti Koivisto. |
| |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::didCacheResource): |
| * WebProcess/ResourceCache/WebResourceCacheManager.cpp: |
| (WebKit::WebResourceCacheManager::getCacheOrigins): |
| (WebKit::WebResourceCacheManager::clearCacheForOrigin): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::terminate): |
| (WebKit::WebProcess::didClose): |
| (WebKit::WebProcess::clearResourceCaches): |
| (WebKit::getWebCoreMemoryCacheStatistics): |
| (WebKit::WebProcess::setMemoryCacheDisabled): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformSetCacheModel): |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformSetCacheModel): |
| |
| 2014-11-21 Daniel Bates <dabates@apple.com> |
| |
| [iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC |
| https://bugs.webkit.org/show_bug.cgi?id=138930 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Remove forward declaration for NSCachedURLResponse |
| methods as this functionality was incorporated into CFNetworkSPI.h, which is included by this file. |
| * Platform/mac/LayerHostingContext.mm: Moved QuartzCore forward declarations from this file to file |
| QuartzCoreSPI.h and included header QuartzCoreSPI.h. |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Include header XPCSPI.h. |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Remove forward declarations of |
| XPC SPI since these declarations are part of XCPSPI.h, which is included by header XPCServiceEntryPoint.h. |
| * UIProcess/API/Cocoa/WKWebView.mm: Remove unnecessary include of header QuartzCore/CARenderServer.h |
| as it will be included by header QuartzCoreSPI.h. |
| * UIProcess/Network/NetworkProcessProxy.cpp: Include header XPCSPI.h when building for iOS with |
| USE(XPC_SERVICES) enabled. |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Include header MediaPlayerSPI.h instead of including |
| MediaPlayer private headers directly. Also sort the list of #import directives. |
| |
| 2014-11-20 Dan Bernstein <mitz@apple.com> |
| |
| Build fix. |
| |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: |
| (-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]): Cast the return value of |
| [getMPAudioVideoRoutingPopoverControllerClass() alloc] to resolve ambiguity about which |
| -initWithType: we are calling. |
| (-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]): Cast to resolve ambiguity. |
| (-[WKAirPlayRoutePicker show:fromRect:]): Cast for consistency. |
| |
| 2014-11-20 Benjamin Poulain <bpoulain@apple.com> |
| |
| Remove the remaining vestiges of minimal-ui |
| https://bugs.webkit.org/show_bug.cgi?id=138890 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didCommitLoad): |
| (WebKit::WebPage::didFinishDocumentLoad): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::savePageState): |
| (WebKit::WebPage::restorePageState): |
| (WebKit::WebPage::viewportConfigurationChanged): |
| (WebKit::WebPage::updateViewportSizeForCSSViewportUnits): |
| |
| 2014-11-20 Beth Dakin <bdakin@apple.com> |
| |
| Preview popover needs minimum and maximum sizes |
| https://bugs.webkit.org/show_bug.cgi?id=138943 |
| -and corresponding- |
| rdar://problem/18904651 |
| |
| Reviewed by Tim Horton. |
| |
| Quick follow-up to get the right screen. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController largestPopoverSize]): |
| |
| 2014-11-20 Beth Dakin <bdakin@apple.com> |
| |
| Preview popover needs minimum and maximum sizes |
| https://bugs.webkit.org/show_bug.cgi?id=138943 |
| -and corresponding- |
| rdar://problem/18904651 |
| |
| Reviewed by Tim Horton. |
| |
| This patch enforces minimum and maximum popover sizes. If the popover needs to be |
| sized up to be above the minimum, it will end up covering some of the |
| _hitTestResult, so we should compute a new origin rect based on the original |
| event location. |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| (-[WKActionMenuController _previewURLFromActionMenu:]): |
| (-[WKActionMenuController _createPreviewPopover]): |
| (-[WKActionMenuController largestPopoverSize]): |
| (-[WKActionMenuController _preferredPopoverSize]): |
| (-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]): Deleted. |
| |
| 2014-11-20 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Clicks on previews can be recognized multiple times |
| https://bugs.webkit.org/show_bug.cgi?id=138944 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKPagePreviewViewController _clickRecognized:]): |
| Only dispatch the delegate message on the appropriate gesture recognizer state transition. |
| |
| 2014-11-20 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Clients should be able to customize preview click behavior |
| https://bugs.webkit.org/show_bug.cgi?id=138940 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Declare -_handleClickInPreviewView:URL:. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _handleClickInPreviewView:URL:]): |
| Extracted from -[WKActionMenuController pagePreviewViewControllerWasClicked:]. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController pagePreviewViewControllerWasClicked:]): |
| Extract code to -[WKView _handleClickInPreviewView:URL:]. |
| |
| 2014-11-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r176420 to fix non Apple builds. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): |
| |
| 2014-11-20 Anders Carlsson <andersca@apple.com> |
| |
| WebPlugInClient::m_webPage can never be null, use a reference |
| https://bugs.webkit.org/show_bug.cgi?id=138937 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/WebCoreSupport/WebPlugInClient.cpp: |
| (WebKit::WebPlugInClient::WebPlugInClient): |
| (WebKit::WebPlugInClient::shouldAutoStartFromOrigin): |
| * WebProcess/WebCoreSupport/WebPlugInClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin): |
| * WebProcess/WebProcess.h: |
| |
| 2014-11-20 Tim Horton <timothy_horton@apple.com> |
| |
| TextIndicator should have getters for TextIndicator::Data properties |
| https://bugs.webkit.org/show_bug.cgi?id=138920 |
| |
| Reviewed by Beth Dakin. |
| |
| Instead of having clients reach into the data(), add getters. |
| Remove frameRect(), which is identical to the textBoundingRectInWindowCoordinates getter. |
| Remove declarations for draw/drawContentImage, which were already removed. |
| |
| * Shared/TextIndicator.cpp: |
| (WebKit::TextIndicator::frameRect): Deleted. |
| * Shared/TextIndicator.h: |
| (WebKit::TextIndicator::textBoundingRectInWindowCoordinates): |
| (WebKit::TextIndicator::textRectsInBoundingRectCoordinates): |
| (WebKit::TextIndicator::contentImageScaleFactor): |
| (WebKit::TextIndicator::contentImageWithHighlight): |
| (WebKit::TextIndicator::contentImage): |
| * UIProcess/mac/TextIndicatorWindow.mm: |
| (-[WKTextIndicatorView initWithFrame:textIndicator:margin:]): |
| (-[WKTextIndicatorView presentWithCompletionHandler:]): |
| (WebKit::TextIndicatorWindow::setTextIndicator): |
| |
| 2014-11-20 Tim Horton <timothy_horton@apple.com> |
| |
| Cancel DataDetectors menu earlier if we know it can't be presented |
| https://bugs.webkit.org/show_bug.cgi?id=138922 |
| <rdar://problem/18950441> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| If we end up with a menu with no items, don't change selection or anything. |
| |
| (-[WKActionMenuController menuNeedsUpdate:]): |
| Move our call to shouldUseActionsWithContext earlier, to menuNeedsUpdate, |
| and use a bigger hammer (removeAllItems). |
| |
| 2014-11-20 Tim Horton <timothy_horton@apple.com> |
| |
| Don't use a TextIndicator BounceAndCrossfade transition if the selection highlight is never shown |
| https://bugs.webkit.org/show_bug.cgi?id=138919 |
| <rdar://problem/19042207> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/TextIndicator.h: |
| (WebKit::TextIndicator::presentationTransition): |
| (WebKit::TextIndicator::setPresentationTransition): |
| Add getter and setter pair. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| If the selection highlight will never be shown because there's only a single menu item, |
| use a normal bounce animation instead of bounce + crossfade. |
| |
| 2014-11-20 Beth Dakin <bdakin@apple.com> |
| |
| Invalid message WebPageProxy.DidPerformDictionaryLookup on Google stocks result |
| https://bugs.webkit.org/show_bug.cgi?id=138568 |
| -and corresponding- |
| rdar://problem/18904600 |
| |
| Reviewed by Tim Horton. |
| |
| Skip images for lookup. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performDictionaryLookupForRange): |
| |
| 2014-11-20 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Add more ENABLE({TOUCH_EVENTS, IOS_TOUCH_EVENTS})-guards in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=138928 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setupInteraction]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didCommitLoad): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::sendTapHighlightForNodeIfNecessary): |
| |
| 2014-11-20 Anders Carlsson <andersca@apple.com> |
| |
| Add -[WKWebView loadData:MIMEType:textEncodingName:baseURL:] |
| https://bugs.webkit.org/show_bug.cgi?id=138929 |
| <rdar://problem/18683802> |
| |
| Reviewed by Dan Bernstein. |
| |
| Also, re-implement -[WKWebView loadHTMLString:baseURL:] in terms of this newly added function |
| and assume a UTF-8 encoding. This matches what Legacy WebKit does. |
| |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView loadHTMLString:baseURL:]): |
| (-[WKWebView loadData:MIMEType:textEncodingName:baseURL:]): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::loadData): |
| * UIProcess/WebPageProxy.h: |
| |
| 2014-11-20 Antti Koivisto <antti@apple.com> |
| |
| Remove alignment code from cache coders |
| https://bugs.webkit.org/show_bug.cgi?id=138927 |
| |
| Failed to land this file. |
| |
| * NetworkProcess/cache/NetworkCacheCoders.cpp: |
| (WebKit::NetworkCacheCoder<CString>::encode): |
| (WebKit::NetworkCacheCoder<CString>::decode): |
| (WebKit::NetworkCacheCoder<String>::encode): |
| (WebKit::decodeStringText): |
| (WebKit::NetworkCacheCoder<WebCore::CertificateInfo>::encode): |
| (WebKit::NetworkCacheCoder<WebCore::CertificateInfo>::decode): |
| * NetworkProcess/cache/NetworkCacheCoders.h: |
| |
| 2014-11-20 Antti Koivisto <antti@apple.com> |
| |
| Remove alignment code from cache coders |
| https://bugs.webkit.org/show_bug.cgi?id=138927 |
| |
| Reviewed by Anders Carlsson. |
| |
| Alignment code doesn't do anything useful, wastes space and produces wrong results |
| if the encoder and decoder buffers don't have the same 8-byte alignment. |
| |
| * NetworkProcess/cache/NetworkCacheDecoder.cpp: |
| (WebKit::NetworkCacheDecoder::NetworkCacheDecoder): |
| (WebKit::NetworkCacheDecoder::bufferIsLargeEnoughToContain): |
| (WebKit::NetworkCacheDecoder::decodeFixedLengthData): |
| (WebKit::NetworkCacheDecoder::decodeNumber): |
| (WebKit::roundUpToAlignment): Deleted. |
| (WebKit::alignedBufferIsLargeEnoughToContain): Deleted. |
| (WebKit::NetworkCacheDecoder::alignBufferPosition): Deleted. |
| * NetworkProcess/cache/NetworkCacheDecoder.h: |
| (WebKit::NetworkCacheDecoder::currentOffset): |
| (WebKit::NetworkCacheDecoder::isInvalid): |
| (WebKit::NetworkCacheDecoder::markInvalid): |
| (WebKit::NetworkCacheDecoder::bufferIsLargeEnoughToContain): |
| * NetworkProcess/cache/NetworkCacheEncoder.cpp: |
| (WebKit::NetworkCacheEncoder::grow): |
| (WebKit::NetworkCacheEncoder::encodeFixedLengthData): |
| (WebKit::NetworkCacheEncoder::encodeNumber): |
| (WebKit::roundUpToAlignment): Deleted. |
| * NetworkProcess/cache/NetworkCacheEncoder.h: |
| |
| 2014-11-20 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [GTK] URTBF after r176363. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::setTextIndicator): |
| * UIProcess/API/gtk/PageClientImpl.h: |
| |
| 2014-11-19 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| Don't track sub-resources that are started after main frame progress has completed. |
| https://bugs.webkit.org/show_bug.cgi?id=138582 |
| |
| Reviewed by Sam Weinig. |
| |
| After main frame progress has finished, starting loading a sub-resource shouldn't affect |
| UI process's view of page loading status (i.e., the page has already completed loading |
| and the progress shouldn't change). To achive that, don't track the subresources that |
| are started after the main frame has finished, except for those triggered by user interaction. |
| |
| * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Notify WebPage that the main frame progress |
| has started or finished. |
| (WebKit::WebProgressTrackerClient::progressStarted): |
| (WebKit::WebProgressTrackerClient::progressFinished): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::WebPage::addResourceRequest): Don't track the resource request if it is initiated after |
| the main frame is loaded and it is not triggered by user interaction. |
| (WebKit::WebPage::removeResourceRequest): |
| * WebProcess/WebPage/WebPage.h: Rename m_networkResourceRequestIdentifiers to m_trackedNetworkResourceRequestIdentifiers. |
| (WebKit::WebPage::setMainFrameProgressCompleted): |
| |
| 2014-11-19 Sun-woo Nam <sunny.nam@samsung.com> |
| |
| [EFL] Fix build failure since r176363. |
| https://bugs.webkit.org/show_bug.cgi?id=138903 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| The parameter for animation on setTextIndicator() was removed on 'PageClient' class. |
| |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| (WebKit::WebView::setTextIndicator): |
| * UIProcess/CoordinatedGraphics/WebView.h: |
| |
| 2014-11-19 Timothy Horton <timothy_horton@apple.com> |
| |
| Try to fix the iOS build |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::performDictionaryLookupForSelection): |
| (WebKit::WebPage::performDictionaryLookupForRange): |
| |
| 2014-11-19 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the 32-bit build |
| |
| * UIProcess/mac/TextIndicatorWindow.mm: |
| (WebKit::TextIndicatorWindow::setTextIndicator): |
| |
| 2014-11-19 Tim Horton <timothy_horton@apple.com> |
| |
| Add an optional entry transition (from selection highlight) to TextIndicator |
| https://bugs.webkit.org/show_bug.cgi?id=138856 |
| <rdar://problem/18840128> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/TextIndicator.cpp: |
| (WebKit::outsetIndicatorRectIncludingShadow): |
| (WebKit::TextIndicator::createWithRange): |
| (WebKit::snapshotSelectionWithHighlight): |
| (WebKit::TextIndicator::createWithSelectionInFrame): |
| (WebKit::TextIndicator::frameRect): |
| (WebKit::TextIndicator::Data::encode): |
| (WebKit::TextIndicator::Data::decode): |
| Remove TextIndicator::draw and related functions; drawing is handled entirely |
| by the TextIndicatorWindow now, and TextIndicator just stores the required data. |
| |
| Unify outsetIndicatorRectIncludingShadow. |
| |
| Add an argument to createWithRange/createWithSelectionInFrame to indicate |
| if the TextIndicator should transition from the selection highlight to |
| the yellow bubble. |
| |
| If we're doing the transition, paint the selection into a second bitmap, |
| without forcing the text to black and without hiding the blue highlight. |
| |
| Encode/decode the second bitmap. |
| |
| * Shared/TextIndicator.h: |
| * UIProcess/mac/TextIndicatorWindow.h: |
| * UIProcess/mac/TextIndicatorWindow.mm: |
| (-[WKTextIndicatorView initWithFrame:textIndicator:margin:transitionFromSelectionColor:]): |
| (-[WKTextIndicatorView presentWithCompletionHandler:]): |
| (-[WKTextIndicatorView hideWithCompletionHandler:]): |
| (-[WKTextIndicatorView isFlipped]): |
| (WebKit::TextIndicatorWindow::TextIndicatorWindow): |
| (WebKit::TextIndicatorWindow::setTextIndicator): |
| (WebKit::TextIndicatorWindow::closeWindow): |
| (WebKit::TextIndicatorWindow::startFadeOutTimerFired): |
| Re-implement the bounce animation using CoreAnimation instead of |
| the WKSI-based WKWindowBounceAnimation*. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performDictionaryLookupForSelection): |
| (WebKit::WebPage::performDictionaryLookupOfCurrentSelection): |
| (WebKit::WebPage::performDictionaryLookupForRange): |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| Use the aforementioned transition animation for performDictionaryLookupOfCurrentSelection, |
| the context menu lookup item, and for Data Detectors. |
| |
| 2014-11-19 Anders Carlsson <andersca@apple.com> |
| |
| Add a version of API::Data::createWithoutCopying that takes an NSData |
| https://bugs.webkit.org/show_bug.cgi?id=138893 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/APIData.h: |
| * Shared/Cocoa/APIDataCocoa.mm: Added. |
| (API::Data::createWithoutCopying): |
| * UIProcess/API/Cocoa/WKBrowsingContextController.mm: |
| (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): |
| (releaseNSData): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): |
| |
| 2014-11-19 Beth Dakin <bdakin@apple.com> |
| |
| Invoking an action menu on a selection should result in the text menu |
| https://bugs.webkit.org/show_bug.cgi?id=138892 |
| -and corresponding- |
| rdar://problem/18996776 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItems]): |
| |
| 2014-11-19 Anders Carlsson <andersca@apple.com> |
| |
| Fix iOS build. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| |
| 2014-11-19 Anders Carlsson <andersca@apple.com> |
| |
| Rename two Cocoa-only .cpp files to .mm. |
| |
| Rubber-stamped by Sam Weinig. |
| |
| * Shared/APIWebArchive.mm: Renamed from Source/WebKit2/Shared/APIWebArchive.cpp. |
| * Shared/APIWebArchiveResource.mm: Renamed from Source/WebKit2/Shared/APIWebArchiveResource.cpp. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-11-19 Beth Dakin <bdakin@apple.com> |
| |
| Data detected results with no menu items should not fall through to regular text |
| action menus |
| https://bugs.webkit.org/show_bug.cgi?id=138887 |
| -and corresponding- |
| rdar://problem/18971616 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItems]): |
| |
| 2014-11-19 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Make WebKit build with public iOS SDK |
| https://bugs.webkit.org/show_bug.cgi?id=136863 |
| |
| Reviewed by David Kilzer. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: Moved CFNetwork forward declarations |
| from this file to file CFNetworkSPI.h and included header CFNetworkSPI.h. |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Ditto. |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Ditto. |
| * UIProcess/API/Cocoa/WKProcessPool.mm: Ditto. |
| * UIProcess/mac/WebContextMac.mm: Ditto. |
| * WebProcess/cocoa/WebProcessCocoa.mm: Ditto. |
| |
| 2014-11-19 Anders Carlsson <andersca@apple.com> |
| |
| Add APIs for customizing the user agent |
| https://bugs.webkit.org/show_bug.cgi?id=138881 |
| rdar://problem/17233981 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKWebView.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| (-[WKWebView customUserAgent]): |
| (-[WKWebView setCustomUserAgent:]): |
| (-[WKWebView _customUserAgent]): |
| (-[WKWebView _setCustomUserAgent:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (LazyInitialized::set): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (defaultApplicationNameForUserAgent): |
| (-[WKWebViewConfiguration applicationNameForUserAgent]): |
| (-[WKWebViewConfiguration setApplicationNameForUserAgent:]): |
| |
| 2014-11-19 Simon Fraser <simon.fraser@apple.com> |
| |
| [WK2 UI-side compositing] Initialize RemoteLayerTreeTransaction properties which are unset on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=138877 |
| |
| Reviewed by Tim Horton. |
| |
| These data members are unused on Mac, but still encoded, so initialize them with |
| reasonable values. |
| |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction): |
| |
| 2014-11-19 Enrica Casucci <enrica@apple.com> |
| |
| Refactor iOS selection gestures. |
| https://bugs.webkit.org/show_bug.cgi?id=138720 |
| rdar://problem/18964359 |
| |
| Reviewed by Benjamin Poulain. |
| |
| This is a first step towards refactoring the selection gestures code. |
| It introduces more general selection movement functions that can be used to build |
| the gestures. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (toWKTextGranularity): |
| (toWKSelectionDirection): |
| (-[WKContentView selectPositionAtPoint:completionHandler:]): |
| (-[WKContentView selectPositionAtBoundary:inDirection:fromPoint:completionHandler:]): |
| (-[WKContentView selectTextWithGranularity:atPoint:completionHandler:]): |
| (-[WKContentView beginSelectionInDirection:completionHandler:]): |
| (-[WKContentView updateSelectionWithExtentPoint:completionHandler:]): |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::selectTextWithGranularityAtPoint): |
| (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection): |
| (WebKit::WebPageProxy::selectPositionAtPoint): |
| (WebKit::WebPageProxy::beginSelectionInDirection): |
| (WebKit::WebPageProxy::updateSelectionWithExtentPoint): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::selectWithGesture): |
| (WebKit::WebPage::visiblePositionInFocusedNodeForPoint): |
| (WebKit::WebPage::selectPositionAtPoint): |
| (WebKit::WebPage::selectPositionAtBoundaryWithDirection): |
| (WebKit::WebPage::selectTextWithGranularityAtPoint): |
| (WebKit::WebPage::beginSelectionInDirection): |
| (WebKit::WebPage::updateSelectionWithExtentPoint): |
| |
| 2014-11-19 Simon Fraser <simon.fraser@apple.com> |
| |
| [WK2 UI-side Compositing] Fix the position and scroll indicator of the UI-side tiled scrolling indicator |
| https://bugs.webkit.org/show_bug.cgi?id=138876 |
| |
| Reviewed by Beth Dakin. |
| |
| Fix the position of the tiled scrolling indicator in MiniBrowser by taking top |
| content offset into account. |
| |
| On Mac, pass the current scroll position back to the UI process via the RemoteLayerTreeTransaction |
| so that we can use it to show the correctly scroll offset in the indicator. This is temporary until |
| Mac does UI-side scrolling. |
| |
| * Shared/mac/RemoteLayerTreeTransaction.h: |
| (WebKit::RemoteLayerTreeTransaction::scrollPosition): |
| (WebKit::RemoteLayerTreeTransaction::setScrollPosition): |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::encode): |
| (WebKit::RemoteLayerTreeTransaction::decode): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation): |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::willCommitLayerTree): |
| |
| 2014-11-19 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Error in documentation of webkit_print_operation_get_page_setup() |
| https://bugs.webkit.org/show_bug.cgi?id=138868 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Fix copypaste error in documentation of |
| webkit_print_operation_get_page_setup(). |
| |
| * UIProcess/API/gtk/WebKitPrintOperation.cpp: |
| |
| 2014-11-19 Mark Rowe <mrowe@apple.com> |
| |
| Remove an unused file. |
| |
| * version.plist: Removed. |
| |
| 2014-11-18 Benjamin Poulain <bpoulain@apple.com> |
| |
| [WK2] Remove the minimalUI code from the UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=138819 |
| |
| Reviewed by Sam Weinig. |
| |
| It looks like the only interface we have to keep alive is |
| [WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]. |
| |
| Clean up everything else, it is a pile of useless code. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didCommitLoadForMainFrame]): |
| (-[WKWebView _didCommitLayerTree:]): |
| (-[WKWebView _frameOrBoundsChanged]): |
| (-[WKWebView _didRelaunchProcess]): |
| (-[WKWebView _beginAnimatedResizeWithUpdates:]): |
| (-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]): |
| (-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]): |
| (-[WKWebView _setUsesMinimalUI:]): Deleted. |
| (-[WKWebView _usesMinimalUI]): Deleted. |
| (activeMinimumLayoutSizeForMinimalUI): Deleted. |
| (-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/ios/WKViewIOS.mm: |
| (-[WKView _frameOrBoundsChanged]): |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::setUsesMinimalUI): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::dynamicViewportSizeUpdate): |
| (WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSizeForMinimalUI): Deleted. |
| (WebKit::WebPageProxy::setUsesMinimalUI): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::viewportPropertiesDidChange): |
| (WebKit::WebPage::dynamicViewportSizeUpdate): |
| (WebKit::WebPage::setViewportConfigurationMinimumLayoutSizeForMinimalUI): Deleted. |
| |
| 2014-11-18 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Unreviewed. Revision to the build fix in r176304. |
| |
| The guarded method should simply be in the !TARGET_OS_IPHONE block. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| |
| 2014-11-18 Benjamin Poulain <bpoulain@apple.com> |
| |
| iOS8 new "slow tap" heuristic fires mouse compat events despite preventDefault on touchend |
| https://bugs.webkit.org/show_bug.cgi?id=137069 |
| rdar://problem/18481464 |
| |
| Reviewed by Simon Fraser. |
| |
| On WebKit2, we let UIWebTouchEventsGestureRecognizer and _UIWebHighlightLongPressGestureRecognizer |
| run concurrently. This causes a race with an incorrect behavior: |
| 1) If UIWebTouchEventsGestureRecognizer does not cancel the native gestures on start. |
| 2) _UIWebHighlightLongPressGestureRecognizer starts after highlightDelay. |
| 3) When the finger leaves the screen, both gestures end. |
| -> If the touch end sent to JavaScript in [3] ask the priority over native events, that no longer stops |
| the _UIWebHighlightLongPressGestureRecognizer. |
| |
| The two gesture recognizers can run in any order, there is no guarantee on which one runs first. |
| To solve the bug, I must make sure the _UIWebHighlightLongPressGestureRecognizer never trigger a click |
| if the page wants the event. |
| |
| To solve the order problem, I use the fact that event recognition goes in two phases for |
| non cancelled events: |
| 1) Update the gesture recognizers. |
| 2) Trigger the actions. |
| |
| I do not know the order of recognizers in [1], but I know both have run before [2] is executed. |
| I use that to stop _UIWebHighlightLongPressGestureRecognizer from ending with a click in the case of the bug: |
| 1) When _UIWebHighlightLongPressGestureRecognizer starts, I set _highlightLongPressCanClick signaling |
| the gesture can end normally. This is done on a timer and not direct input so I don't really have to worry |
| about a race here. |
| 2) When processing the touch event for UIWebTouchEventsGestureRecognizer, I reset the flag _highlightLongPressCanClick |
| if the page wants the event. |
| 3) When the actions of _UIWebHighlightLongPressGestureRecognizer are processed, the touch event |
| has already been processed by the page and the flag has been cleared if needed. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _webTouchEvent:preventsNativeGestures:]): |
| (-[WKContentView _highlightLongPressRecognized:]): |
| |
| 2014-11-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| iOS build fix after r176299. This method is not defined in WKViewIOS.mm. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| |
| 2014-11-18 David Kilzer <ddkilzer@apple.com> |
| |
| FeatureDefines.xcconfig: Switch from using PLATFORM_NAME to SDK selectors |
| <http://webkit.org/b/138813> |
| |
| Reviewed by Mark Rowe. |
| |
| * Configurations/FeatureDefines.xcconfig: Switch to using SDK |
| selectors. |
| |
| 2014-11-18 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Give clients a way to cancel preview popovers |
| https://bugs.webkit.org/show_bug.cgi?id=138855 |
| |
| Reviewed by Tim Horton. |
| |
| Promote -[WKView _dismissActionMenuPopovers] from internal to private. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissActionMenuPopovers]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| |
| 2014-11-18 Chris Dumez <cdumez@apple.com> |
| |
| Add a setting to toggle DOMTimer throttling support |
| https://bugs.webkit.org/show_bug.cgi?id=138844 |
| <rdar://problem/19020874> |
| |
| Reviewed by Andreas Kling. |
| |
| Add a setting to disable DOM timers throttling, in order to help |
| developers determine if a specific issue is caused by timer |
| throttling. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetDOMTimersThrottlingEnabled): |
| (WKPreferencesGetDOMTimersThrottlingEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2014-11-18 Geoffrey Garen <ggaren@apple.com> |
| |
| Removed the custom allocator for ListHashSet nodes |
| https://bugs.webkit.org/show_bug.cgi?id=138841 |
| |
| Reviewed by Andreas Kling. |
| |
| Uses of ListHashSet no longer need to declare an inline capacity, |
| since that was only used to specify the capacity of the custom allocator. |
| |
| * UIProcess/Plugins/PluginInfoStore.cpp: |
| (WebKit::PluginInfoStore::loadPluginsIfNecessary): |
| |
| 2014-11-18 Eric Carlson <eric.carlson@apple.com> |
| |
| Unreviewed build fix after r176283. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| |
| 2014-11-18 Tim Horton <timothy_horton@apple.com> |
| |
| Avoid re-encoding action menu image data |
| https://bugs.webkit.org/show_bug.cgi?id=138817 |
| <rdar://problem/18840382> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| Store and encode a SharedMemory with the raw encoded image data, |
| instead of re-painting the image into a ShareableBitmap. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _hitTestResultImage]): |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| (-[WKActionMenuController _copyImage:]): |
| (-[WKActionMenuController _addImageToPhotos:]): |
| (-[WKActionMenuController _defaultMenuItems]): |
| (-[WKActionMenuController _canAddMediaToPhotos]): Deleted. |
| Build a temporary filename from a UUID and the image's desired extension. |
| Use the Image's encoded data instead of re-encoding it with CGImageDestination. |
| Build an image menu only if we have an image, URL, data, and extension. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2014-11-18 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] allow host application to opt-out of alternate fullscreen |
| https://bugs.webkit.org/show_bug.cgi?id=138787 |
| |
| Reviewed by Sam Weinig. |
| |
| "allowsAlternateFullscreen" doesn't need to be in the public WKWebView header. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): allowsAlternateFullscreen -> _allowsAlternateFullscreen. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: Remove allowsAlternateFullscreen. |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _allowsAlternateFullscreen]): New. |
| (-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]): New. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declare _allowsAlternateFullscreen. |
| |
| 2014-11-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Subclass CachedFont for SVG fonts |
| https://bugs.webkit.org/show_bug.cgi?id=138686 |
| |
| Reviewed by Simon Fraser. |
| |
| Re-landing due to flakey bots. |
| |
| Update for enum type. |
| |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::maximumBufferingTime): |
| |
| 2014-11-18 Chris Dumez <cdumez@apple.com> |
| |
| Update the Vector API to deal with unsigned types instead of size_t |
| https://bugs.webkit.org/show_bug.cgi?id=138824 |
| |
| Reviewed by Andreas Kling. |
| |
| Update code base to fix build errors related to the typing changes |
| in the Vector API (size_t -> unsigned). |
| |
| * Platform/IPC/ArgumentCoders.h: |
| * Platform/IPC/DataReference.h: |
| |
| 2014-11-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r176264. |
| https://bugs.webkit.org/show_bug.cgi?id=138837 |
| |
| caused many test failures (Requested by litherum on #webkit). |
| |
| Reverted changeset: |
| |
| "Subclass CachedFont for SVG fonts" |
| https://bugs.webkit.org/show_bug.cgi?id=138686 |
| http://trac.webkit.org/changeset/176264 |
| |
| 2014-11-18 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, MobileGestalt |
| SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138802 |
| |
| Reviewed by David Kilzer. |
| |
| Include headers DispatchSPI.h and MachVMSPI.h.h instead of including |
| libdispatch and Mach headers directly. |
| |
| * Platform/mac/SharedMemoryMac.cpp: |
| * UIProcess/ios/WebMemoryPressureHandlerIOS.mm: |
| |
| 2014-11-18 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Subclass CachedFont for SVG fonts |
| https://bugs.webkit.org/show_bug.cgi?id=138686 |
| |
| Reviewed by Simon Fraser. |
| |
| Update for enum type. |
| |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: |
| (WebKit::maximumBufferingTime): |
| |
| 2014-11-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add API to create a WebKitWebContext |
| https://bugs.webkit.org/show_bug.cgi?id=138826 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| We have always used a default web context without providing API to |
| create others. The main reason was that nobody requested it and we |
| haven't needed it either. The main problem of the default web |
| context is that you can't configure anything during |
| construction. This hasn't been a problem so far because all the |
| web context configuration we expose in the API can be configured |
| after construction. But now we need to expose API to allow the |
| user to configure the local storage directory, which is a |
| construct only configuration. The default web context was also a |
| problem for our unit tests, because sharing the same context made |
| it difficult to ensure tests cases are independent to each other. |
| |
| * UIProcess/API/gtk/WebKitGeolocationProvider.cpp: |
| (WebKitGeolocationProvider::~WebKitGeolocationProvider): Reset the |
| provider to avoid crashes when web context is destroyed and a new |
| one is created. |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): Add constructed implementation to |
| create the WebContext and initialize it. |
| (webkitWebContextDispose): Detach web context clients to avoid |
| crashes when a client callback is called on a disposed WebKitWebContext. |
| (webkit_web_context_class_init): Initialize gettext, add |
| constructed implementation and add the pointer to the vmethods |
| when creating signals. |
| (createDefaultWebContext): Simply create a WebKitWebContext. |
| (webkit_web_context_new): New public method to create a WebKitWebContext. |
| (injectedBundleFilename): Deleted. |
| * UIProcess/API/gtk/WebKitWebContext.h: Add virtual methods for |
| signals, so that users can inherit from WebKitWebContext and |
| override the virtual methods. |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. |
| |
| 2014-11-18 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [SOUP] [GnuTLS] Don't use a SSL3.0 record version in client hello. |
| https://bugs.webkit.org/show_bug.cgi?id=138794 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| It seems that following POODLE many sites incorrectly banned SSL 3.0 |
| record packet versions. Since GnuTLS uses a SSL 3.0 record to |
| advertise TLS 1.2, they are effectively banning it even if it doesn't |
| advertise SSL 3.0. That is a server issue, but it can be worked around |
| by using the modifier %LATEST_RECORD_VERSION. |
| |
| With this modifier, GnuTLS will use the latest TLS version record |
| in client hello instead of using the default SSL 3.0. |
| |
| * NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp: |
| (main): |
| * WebProcess/EntryPoint/unix/WebProcessMain.cpp: |
| (main): |
| |
| 2014-11-17 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Page previews should be loaded sooner |
| https://bugs.webkit.org/show_bug.cgi?id=138814 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| Send -_createPreviewPopover.. |
| (-[WKActionMenuController _previewURLFromActionMenu:]): |
| Relocate some logic to the new -_createPreviewPopover; gate early return on popover visibility. |
| (-[WKActionMenuController _createPreviewPopover]): |
| Renamed from -_createPreviewPopoverForURL:originRect:; explicitly send -loadView to warm up the preview view. |
| (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): Deleted. |
| |
| 2014-11-17 Beth Dakin <bdakin@apple.com> |
| |
| Preview is sometimes dismissed too early |
| https://bugs.webkit.org/show_bug.cgi?id=138811 |
| -and corresponding- |
| rdar://problem/18900839 |
| |
| Reviewed by Tim Horton. |
| |
| Don’t make the popover transient until didCloseMenu: time. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| Unreviewed, rolling out r176232. |
| |
| Broke the Mac build. Will investigate offline. |
| |
| Reverted changeset: |
| |
| "[iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, |
| MobileGestalt" |
| https://bugs.webkit.org/show_bug.cgi?id=138802 |
| http://trac.webkit.org/changeset/176232 |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, MobileGestalt |
| SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138802 |
| |
| Reviewed by David Kilzer. |
| |
| Include headers DispatchSPI.h and MachVMSPI.h.h instead of including |
| libdispatch and Mach headers directly. |
| |
| * Platform/mac/SharedMemoryMac.cpp: |
| * UIProcess/ios/WebMemoryPressureHandlerIOS.mm: |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] CoreText and CoreUI SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138760 |
| |
| Reviewed by David Kilzer. |
| |
| Include header CoreTextSPI.h instead of including CoreText private headers. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| |
| 2014-11-17 Tim Horton <timothy_horton@apple.com> |
| |
| DataDetectors PageOverlay callbacks can come in to the wrong overlay |
| https://bugs.webkit.org/show_bug.cgi?id=138801 |
| <rdar://problem/18991369> |
| |
| Reviewed by Anders Carlsson. |
| |
| We can call dataDetectorsDidHideUI on the wrong (or no) PageOverlay, |
| because it's possible to have another performActionMenuHitTestAtLocation |
| between the first one and the dataDetectorsDid*UI that correspond to it. |
| |
| To make sure that the callbacks come to the right PageOverlay, plumb |
| an integer ID through all of the callbacks and find the overlay based on that. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| Store the ID of the PageOverlay that overrode data detection. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| Send the ID back to the Web process when replying from DD callbacks. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Store the ID of the PageOverlay that overrode data detection instead of |
| keeping the PageOverlay itself. |
| |
| (WebKit::WebPage::dataDetectorsDidPresentUI): |
| (WebKit::WebPage::dataDetectorsDidChangeUI): |
| (WebKit::WebPage::dataDetectorsDidHideUI): |
| Find and reply to the correct page overlay. |
| |
| 2014-11-17 Beth Dakin <bdakin@apple.com> |
| |
| Whitespace action menus should focus the HitTestResult and create an insertion |
| point |
| https://bugs.webkit.org/show_bug.cgi?id=138786 |
| -and corresponding- |
| rdar://problem/18944893 |
| |
| Reviewed by Tim Horton. |
| |
| Whitespace menus should cause the HitTestResult to be focused, and they should set |
| the selection based on the HitTest location. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::focusAndSelectLastActionMenuHitTestResult): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController isMenuForTextContent]): |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult): |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] AVKit and MediaPlayer SPI are not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138756 |
| |
| Reviewed by Eric Carlson. |
| |
| Include header MPAVRoutingControllerSPI.h instead of including the |
| private header MPAVRoutingController.h. |
| |
| Additionally, sort the list of #import directives. |
| |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: |
| |
| 2014-11-17 Daniel Bates <dabates@apple.com> |
| |
| [iOS] QuartzCore SPI not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138751 |
| |
| Reviewed by David Kilzer. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: Move CALayer forward declaration |
| from this file to file QuartzCoreSPI.h and include header QuartzCoreSPI.h. |
| * Shared/mac/RemoteLayerTreePropertyApplier.mm: Ditto. |
| * UIProcess/API/Cocoa/WKWebView.mm: Include header QuartzCoreSPI.h instead |
| of including QuartzCore headers directly. |
| * UIProcess/ios/ViewGestureControllerIOS.mm: Ditto. |
| * UIProcess/ios/WKContentView.mm: Ditto. |
| * UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto. |
| * UIProcess/mac/ViewGestureControllerMac.mm: Move CAFilter forward declarations |
| from this file to fileQuartzCoreSPI.h and include header QuartzCoreSPI.h. |
| Also sort the list of #import directives. |
| * UIProcess/mac/ViewSnapshotStore.mm: Include header QuartzCoreSPI.h |
| instead of including QuartzCore headers directly. |
| |
| 2014-11-17 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] allow host application to opt-out of alternate fullscreen |
| https://bugs.webkit.org/show_bug.cgi?id=138787 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetAllowsAlternateFullscreen): |
| (WKPreferencesGetAllowsAlternateFullscreen): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2014-11-16 Benjamin Poulain <bpoulain@apple.com> |
| |
| Start cleaning up minimal UI from WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=138725 |
| |
| Reviewed by Sam Weinig. |
| |
| Start removing the old update path for minimumLayoutSize/maximumUnobscuredSize. |
| |
| Unfortunately, I cannot remove everything yet because the clients still did not have |
| alternatives to [_overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride] |
| and might change the minimal UI options. |
| |
| This patch adds [_overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride] to move |
| in the right direction. Next we'll udpate the client code and get rid of all the useless code. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]): |
| (-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]): |
| (-[WKWebView _minimumLayoutSizeOverrideForMinimalUI]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2014-11-16 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Add typecasting support for GraphicsLayerTextureMapper |
| https://bugs.webkit.org/show_bug.cgi?id=138741 |
| |
| Reviewed by Martin Robinson. |
| |
| Replace uses of toTextureMapperLayer() with downcasting and |
| calling the GraphicsLayerTextureMapper::layer() method. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::initialize): |
| (WebKit::LayerTreeHostGtk::layerFlushTimerFired): |
| (WebKit::LayerTreeHostGtk::compositeLayersToContext): |
| |
| 2014-11-16 Tim Horton <timothy_horton@apple.com> |
| |
| Use TextIndicator instead of the built in Lookup highlight |
| https://bugs.webkit.org/show_bug.cgi?id=138775 |
| <rdar://problem/18953982> |
| |
| Follow-up to r176164. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView dealloc]): |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformDictionaryLookup): |
| Include the softlinking macros directly in the files they're used |
| in, as they're supposed to be used. |
| |
| 2014-11-16 Tim Horton <timothy_horton@apple.com> |
| |
| Use TextIndicator instead of the built in Lookup highlight |
| https://bugs.webkit.org/show_bug.cgi?id=138775 |
| <rdar://problem/18953982> |
| |
| Reviewed by Anders Carlsson. |
| |
| In order to make the yellow highlight for Lookup more accurately match the |
| painted content of the web page (in light of e.g. Web fonts, and interesting |
| text features that only WebKit implements and cannot round-trip through |
| NSAttributedString), use a TextIndicator instead of the built-in Lookup |
| highlight where possible. |
| |
| * Configurations/BaseTarget.xcconfig: |
| Make it possible to include headers from private frameworks. This matches WebCore. |
| |
| * Shared/DictionaryPopupInfo.cpp: |
| (WebKit::DictionaryPopupInfo::encode): |
| (WebKit::DictionaryPopupInfo::decode): |
| * Shared/DictionaryPopupInfo.h: |
| Include the attributed string inside the DictionaryPopupInfo, instead of |
| as a secondary argument to DidPerformDictionaryLookup. |
| Add a TextIndicator to DictionaryPopupInfo, which can be used to highlight |
| the text in the UI process. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView dealloc]): |
| (-[WKView viewDidMoveToWindow]): |
| (-[WKView _dictionaryLookupPopoverWillClose:]): |
| (-[WKView _setTextIndicator:fadeOut:animate:animationCompletionHandler:]): |
| (-[WKView _setTextIndicator:fadeOut:animate:]): |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| (+[WKView hideWordDefinitionWindow]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| Adopt the Lookup SPI header. |
| If we have the requisite API, register the notification that Lookup sends |
| when the popover closes, and hook that up to hide the text indicator. |
| Add a version of _setTextIndicator: that takes an animation completion handler. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::didPerformDictionaryLookup): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::didPerformDictionaryLookup): |
| Adjust to the new didPerformDictionaryLookup signature. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| Remove a WKSI import. |
| |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformDictionaryLookup): |
| If we have the requisite API, disable Lookup's built-in highlight and |
| present a TextIndicator instead. |
| We currently have to run the animations serially (first bounce the TextIndicator, |
| then animate in the Lookup popover) because the act of adding the Lookup popover |
| blocks us from getting any animation events for the TextIndicator, and breaks |
| the bounce. We could also fix this by using a threaded animation for the TextIndicator, |
| but it's not clear that it's safe to do so. |
| |
| (WebKit::PageClientImpl::dismissDictionaryLookupPanel): |
| When explicitly dismissing the Lookup panel, also hide the text indicator. |
| |
| * UIProcess/mac/TextIndicatorWindow.h: |
| * UIProcess/mac/TextIndicatorWindow.mm: |
| (WebKit::TextIndicatorWindow::setTextIndicator): |
| Store the completion handler. |
| |
| (WebKit::TextIndicatorWindow::bounceAnimationDidEnd): |
| Call the completion handler when the animation completes. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| Disable the Lookup item if lookup is not available. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::showDefinitionForAttributedString): |
| Adjust to the new didPerformDictionaryLookup signature. |
| Since PDFPlugin can't trivially repaint the required part of the PDF, |
| we don't build a TextIndicator. This will result in PDFPlugin continuing |
| to use Lookup's built-in highlight. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performDictionaryLookupForRange): |
| Build a TextIndicator from the Lookup range and pass it along with |
| the DictionaryPopupInfo. |
| |
| 2014-11-15 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r176137): iOS build broke after moving DataDetectors scanning code to WebCore |
| |
| This regressed with the following commit: |
| |
| Move DataDetectors scanning code to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138731 |
| <rdar://problem/18877535> |
| |
| * Shared/mac/ActionMenuHitTestResult.mm: Add PLATFORM(MAC) check |
| around the entire implementation since it it unused on iOS. |
| |
| 2014-11-14 Anders Carlsson <andersca@apple.com> |
| |
| Raise an exception if -[WKWebView initWithFrame:configuration:] is passed a nil configuration |
| https://bugs.webkit.org/show_bug.cgi?id=138757 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithFrame:configuration:]): |
| |
| 2014-11-15 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Network process crash when running http/tests/appcache/fallback.html |
| https://bugs.webkit.org/show_bug.cgi?id=138740 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| It happens because ResourceHandle::continueWillSendRequest() is |
| called with a null request. We could handle that case in the |
| ResourceHandle, but the thing is tha the behaviour is |
| not the same for async loads, or when loading in the web |
| process. In WebResourceLoader::willSendRequest(), |
| ResourceRequest::willSendRequest() is called, and cancels the load |
| if the client returns a null request. In this case, the |
| ResourceLoader is detached and WebResourceLoader::willSendRequest() |
| returns early without sending the ContinueWillSendRequest message |
| to the network process. However, for synchronous loads, |
| NetworkResourceLoader::continueWillSendRequest() is always called. |
| |
| Fixes http/tests/appcache/fallback.html for GTK port when using |
| the network process. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::continueWillSendRequest): Do not |
| call ResourceHandle::continueWillSendRequest() if the client |
| request is null, since the load is going to be cancelled. |
| |
| 2014-11-15 Tim Horton <timothy_horton@apple.com> |
| |
| Implement data detectors and mailto action menus for WebKit1 |
| https://bugs.webkit.org/show_bug.cgi?id=138765 |
| <rdar://problem/18877535> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForMailtoLink]): |
| |
| 2014-11-14 Tim Horton <timothy_horton@apple.com> |
| |
| Remove pre-[DDActionContext contextForView:...] fallback path |
| https://bugs.webkit.org/show_bug.cgi?id=138735 |
| <rdar://problem/18982046> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| (hasDataDetectorsCompletionAPI): Deleted. |
| Remove the now-unnecessary fallback path. |
| |
| 2014-11-14 Tim Horton <timothy_horton@apple.com> |
| |
| Frequent crashes under actionContextForResultAtPoint |
| https://bugs.webkit.org/show_bug.cgi?id=138761 |
| <rdar://problem/18990684> |
| |
| Reviewed by Dean Jackson. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: |
| (PageOverlayClientImpl::actionContextForResultAtPoint): |
| Initialize apiRange. |
| |
| 2014-11-14 Daniel Bates <dabates@apple.com> |
| |
| [iOS] CoreGraphics SPI not available in public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138709 |
| |
| Reviewed by David Kilzer. |
| |
| Include header CoreGraphicsSPI.h instead of including headers of |
| CoreGraphics directly. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| * UIProcess/ios/WKScrollView.mm: |
| |
| 2014-11-14 Tim Horton <timothy_horton@apple.com> |
| |
| Move DataDetectors scanning code to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=138731 |
| <rdar://problem/18877535> |
| |
| Reviewed by Anders Carlsson. |
| |
| Move DataDetectors scanning code to WebCore, so that both WebKits can use it. |
| |
| * Shared/TextIndicator.cpp: |
| (WebKit::TextIndicator::createWithRange): |
| Move createWithRange in from WebPageMac's textIndicatorForRange. |
| |
| (WebKit::TextIndicator::createWithSelectionInFrame): |
| * Shared/TextIndicator.h: |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::createSelectionSnapshot): |
| * WebProcess/WebPage/WebFrame.h: |
| Constify some things. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Avoid using the DD result if it didn't come with a non-null Range. |
| Make use of detectItemAroundHitTestResult and TextIndicator::createWithRange. |
| |
| (WebKit::scanForDataDetectedItems): Deleted. |
| (WebKit::textIndicatorForRange): Deleted. |
| Moved these two to other places. |
| |
| 2014-11-14 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/18978497> Wrong (off-by-1) navigation snapshots shown after a mix of gesture and button back/forward navigation |
| https://bugs.webkit.org/show_bug.cgi?id=138753 |
| |
| Reviewed by Tim Horton. |
| |
| Rather than having the UI process record a snapshot jut before the Web Content process’s |
| notion of its current back/forward list item changes, have the UI process record a snapshot |
| right before its own current back/forward list item changes. This ensures that the right |
| snapshot gets attached to the right item in the UI process. |
| |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::addItem): If there is a current item, record a navigation |
| snapshot of it before making the new item current. |
| (WebKit::WebBackForwardList::goToItem): If there is a current item, record a navigation |
| snapshot of it before making another item current. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::willChangeCurrentHistoryItemForMainFrame): Deleted. |
| * UIProcess/WebPageProxy.h: |
| |
| * UIProcess/WebPageProxy.messages.in: Removed willChangeCurrentHistoryItemForMainFrame |
| message. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::willChangeCurrentHistoryItem): Deleted. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Removed declaration of |
| willChangeCurrentHistoryItem override. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::willChangeCurrentHistoryItemForMainFrame): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2014-11-14 Dan Bernstein <mitz@apple.com> |
| |
| Add some tracing to help investigating <rdar://problem/18905383> [iOS] Crash due to null m_webPageProxyForBackForwardListForCurrentSwipe in ViewGestureController::endSwipeGesture |
| https://bugs.webkit.org/show_bug.cgi?id=138750 |
| |
| Reviewed by Tim Horton. |
| |
| Emit trace messages at various points, and log them prior to crashing if the error condition |
| occurs. Otherwise, clear the trace messages. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (WebKit::addLogEntry): Helper function that adds a message, including a time stamp and a |
| backtrace, to m_logEntries. |
| (WebKit::dumpLogEntries): Helper function that logs everything in m_logEntries. |
| (WebKit::ViewGestureController::beginSwipeGesture): Add a log entry. |
| (WebKit::ViewGestureController::endSwipeGesture): If |
| m_webPageProxyForBackForwardListForCurrentSwipe is null, dump the log entries just before |
| crashing. Otherwise, clear m_logEntries. |
| (WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree): Add a log entry. |
| (WebKit::ViewGestureController::removeSwipeSnapshot): Add a log entry. |
| * UIProcess/mac/ViewGestureController.h: Defined ENABLE_VIEW_GESTURE_CONTROLLER_TRACING, |
| and added m_logEntries member variable. |
| |
| 2014-11-14 Beth Dakin <bdakin@apple.com> |
| |
| URLs for some videos are not valid URLs, should not be exposed to action menu |
| https://bugs.webkit.org/show_bug.cgi?id=138746 |
| -and corresponding- |
| rdar://problem/18941927 |
| |
| Reviewed by Tim Horton. |
| |
| If the video cannot be downloaded, that is also an indication that the URL of the |
| video will not be valid on its own. In these cases, we should share or copy the |
| main page’s URL. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForVideo]): |
| (-[WKActionMenuController _copyVideoURL:]): |
| |
| 2014-11-14 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Encode/Decode allowCookies in ResourceRequest |
| https://bugs.webkit.org/show_bug.cgi?id=138730 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| We are not sending this information to the network process, making |
| cookies always available. Fixes |
| http/tests/xmlhttprequest/cross-origin-no-authorization.html when |
| network process is enabled. |
| |
| * Shared/soup/WebCoreArgumentCodersSoup.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): |
| (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): |
| |
| 2014-11-14 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed build fix for the GTK+ port using Clang. |
| |
| * UIProcess/gtk/RedirectedXCompositeWindow.h: Include the <functional> |
| header for the use of std::function<>. |
| |
| 2014-11-13 Dan Bernstein <mitz@apple.com> |
| |
| Two WKWebView internal methods are implemented in a category |
| https://bugs.webkit.org/show_bug.cgi?id=138728 |
| |
| Reviewed by Tim Horton. |
| |
| Moved the implementations from the category to the class. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _ignoresNonWheelMouseEvents]): |
| (-[WKWebView _setIgnoresNonWheelMouseEvents:]): |
| |
| 2014-11-13 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Move FontMac and FontCacheMac off of WKSI |
| https://bugs.webkit.org/show_bug.cgi?id=138633 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| * mac/WebKit2.order: |
| |
| 2014-11-13 Eric Carlson <eric.carlson@apple.com> |
| |
| Context menus should not offer the "Download video" option for videos that cannot |
| be downloaded |
| https://bugs.webkit.org/show_bug.cgi?id=138530 |
| -and corresponding- |
| rdar://problem/18919130 |
| |
| Reviewed by Tim Horton. |
| |
| Expose isDownloadableMedia() to the InjectedBundleHitTestResult. |
| * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: |
| (WKBundleHitTestResultIsDownloadableMedia): |
| * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: |
| * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: |
| (WebKit::InjectedBundleHitTestResult::isDownloadableMedia): |
| * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: |
| |
| 2014-11-13 Daniel Bates <dabates@apple.com> |
| |
| [iOS] NSGeometry data types are not available in the public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=137536 |
| |
| Reviewed by David Kilzer. |
| |
| Substitute header WAKAppKitStubs.h for NSGeometry.h as the latter is a |
| private header. |
| |
| * Shared/ios/NativeWebTouchEventIOS.mm: |
| |
| 2014-11-13 Simon Fraser <simon.fraser@apple.com> |
| |
| [WK2] Fire a layout milestone on session restore based on render tree size |
| https://bugs.webkit.org/show_bug.cgi?id=138711 |
| rdar://problem/16033854 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add a session-restore layout milestone which fires after restoring a session, |
| when the render tree size reaches 50% of the size saved in the session state. |
| |
| * Shared/SessionState.h: Add renderTreeSize. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (layoutMilestones): Translate from SPI to WebCore milestones. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: New iOS-only milestone, er, event. |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::renderingProgressEvents): Translate from WebCore milestone to rendering event. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): Init stuff. |
| (WebKit::WebPageProxy::sessionState): |
| (WebKit::WebPageProxy::restoreFromSessionState): Zero out the target render tree size, |
| then get it out of session state and set the flag to say that we haven't reached it yet. |
| (WebKit::WebPageProxy::listenForLayoutMilestones): Set a flag to know that we should fire |
| the milestone. The other milestones get sent directly to WebCore. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::exceedsRenderTreeSizeSizeThreshold): Return true when we've reached 50%. |
| (WebKit::WebPageProxy::didCommitLayerTree): Fire the milestone when appropriate. |
| * UIProcess/mac/LegacySessionStateCoding.cpp: Rev the session state data for iOS |
| (where doing so is less disruptive). Standardize some CFString constants. |
| (WebKit::encodeSessionHistory): Wrap for legibility. |
| (WebKit::encodeLegacySessionState): Make a CFNumber for render tree size, and store |
| it in the root dictionary. |
| (WebKit::decodeBackForwardTreeNode): Move a comment to match another similar block. |
| (WebKit::decodeLegacySessionState): Decode render tree size and store it. |
| |
| 2014-11-13 Tim Horton <timothy_horton@apple.com> |
| |
| Adjust the WKBundlePageOverlay Data Detectors SPI |
| https://bugs.webkit.org/show_bug.cgi?id=138685 |
| <rdar://problem/18947156> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| Forward DDActionContext callbacks to the Web process. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: |
| * WebProcess/WebPage/WebPageOverlay.cpp: |
| * WebProcess/WebPage/WebPageOverlay.h: |
| Add four DataDetectors-related WebKit2-only page overlay callbacks: |
| |
| (WebKit::WebPageOverlay::actionContextForResultAtPoint): |
| Called during the action menu hit test; clients can reply with a DDActionContext |
| and a DOM range, and WebKit will treat that result and range as if it had |
| detected it itself, building the action menu and showing the yellow highlight as usual. |
| |
| (WebKit::WebPageOverlay::dataDetectorsPresentedUI): |
| (WebKit::WebPageOverlay::dataDetectorsChangedUI): |
| (WebKit::WebPageOverlay::dataDetectorsHidUI): |
| These correspond to the DDActionContext callbacks, and can be used by clients |
| to show/hide corresponding UI while DataDetectors in the UI process is presenting UI. |
| |
| (WebKit::WebPageOverlay::prepareForActionMenu): Deleted. |
| Get rid of prepareForActionMenu, as nobody ever used it. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| Add WebPageOverlay.h so that we can build, because the destructor lives here. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Give all of the WebPageOverlays the first shot at data detection; if none of them |
| reply with a valid DDActionContext/DOM range, we'll go ahead and do our normal detection. |
| |
| (WebKit::WebPage::dataDetectorsPresentedUI): |
| (WebKit::WebPage::dataDetectorsChangedUI): |
| (WebKit::WebPage::dataDetectorsHidUI): |
| Forward these along to the active WebPageOverlay. |
| |
| 2014-11-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] Missing ResourceRequest members encoded/decoded |
| https://bugs.webkit.org/show_bug.cgi?id=138694 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| At least timeoutInterval and priority should also be |
| encoded/decoded. This fixes all http/tests/xmlhttprequest/timeout/ |
| tests when using the network process, since the timeout is always |
| 0 for all requests that we send to the network process. |
| |
| * Shared/soup/WebCoreArgumentCodersSoup.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): |
| (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): |
| |
| 2014-11-12 Ryuan Choi <ryuan.choi@navercorp.com> |
| |
| [EFL] Fix the build with EFL 1.12 |
| https://bugs.webkit.org/show_bug.cgi?id=138245 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because |
| Evas_GL.h can't be included in UniquePtrEfl.h |
| It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL. |
| Second, provided the version of GLES in Evas_GL_Config not to break build with |
| EFL 1.12 |
| (EwkView::EwkView): |
| (EwkView::~EwkView): |
| (EwkView::displayTimerFired): |
| (EwkView::createGLSurface): |
| * UIProcess/API/efl/EwkView.h: |
| |
| 2014-11-12 Ada Chan <adachan@apple.com> |
| |
| Fix the iOS build. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::pageMutedStateDidChange): |
| |
| 2014-11-05 Ada Chan <adachan@apple.com> |
| |
| Implement new plug-in API for muting plug-ins |
| https://bugs.webkit.org/show_bug.cgi?id=138105 |
| |
| Reviewed by Anders Carlsson. |
| |
| Handle the setting of NPNVmuteAudioBool on the plug-in. |
| |
| * PluginProcess/PluginControllerProxy.cpp: |
| (WebKit::PluginControllerProxy::PluginControllerProxy): |
| Initialize m_isMuted. |
| (WebKit::PluginControllerProxy::mutedStateChanged): |
| Tell the plugin about the new muted state. |
| * PluginProcess/PluginControllerProxy.h: |
| * PluginProcess/PluginControllerProxy.messages.in: |
| Add the MutedStateChanged message. |
| * PluginProcess/PluginCreationParameters.cpp: |
| (WebKit::PluginCreationParameters::PluginCreationParameters): |
| Initialize isMuted. |
| (WebKit::PluginCreationParameters::encode): |
| Handle isMuted. |
| (WebKit::PluginCreationParameters::decode): |
| Ditto. |
| * PluginProcess/PluginCreationParameters.h: |
| * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: |
| (WebKit::NPN_GetValue): |
| Get the plug-in's muted state. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::isMuted): |
| Get the muted state from PluginControllerProxy. |
| (WebKit::NetscapePlugin::mutedStateChanged): |
| Call NPP_SetValue with NPNVmuteAudioBool and the updated muted state. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| * WebProcess/Plugins/Plugin.h: |
| (WebKit::Plugin::mutedStateChanged): |
| * WebProcess/Plugins/PluginController.h: |
| * WebProcess/Plugins/PluginProxy.cpp: |
| (WebKit::PluginProxy::initialize): |
| Set m_pendingPluginCreationParameters->isMuted. |
| (WebKit::PluginProxy::mutedStateChanged): |
| Send the MutedStateChanged message to the plugin process. |
| * WebProcess/Plugins/PluginProxy.h: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::pageMutedStateDidChange): |
| Call Plugin::mutedStateChanged() with the page's muted state. |
| (WebKit::PluginView::isMuted): |
| Get the page's current muted state. |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2014-11-12 Tim Horton <timothy_horton@apple.com> |
| |
| Two action menu item titles are swapped |
| https://bugs.webkit.org/show_bug.cgi?id=138667 |
| <rdar://problem/18960409> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| Swap them back. |
| |
| 2014-11-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r175806. |
| https://bugs.webkit.org/show_bug.cgi?id=138666 |
| |
| Capturing CString is not thread safe (Requested by anttik on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[WK2] Use C++ lambdas in IPC::Connection" |
| https://bugs.webkit.org/show_bug.cgi?id=138018 |
| http://trac.webkit.org/changeset/175806 |
| |
| 2014-11-12 Tim Horton <timothy_horton@apple.com> |
| |
| Need to show the text indicator when Data Detectors shows a popover |
| https://bugs.webkit.org/show_bug.cgi?id=138664 |
| <rdar://problem/18869900> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (hasDataDetectorsCompletionAPI): |
| Determine if we have the new API. |
| |
| (-[WKActionMenuController willDestroyView:]): |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| Make use of the new API. |
| If we wanted to show a Data Detectors menu but have no items (or they're all |
| disabled), cancel the menu. |
| If we don't have it, manually manipulate the highlight. |
| |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| Make use of the new API. |
| If we don't have it, manually manipulate the highlight. |
| |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| Set up completion handlers if we have the new API; when DataDetectors |
| presents UI, show the text indicator, when it dismisses, hide it. |
| If we don't have the API, manually manipulate the highlight. |
| |
| 2014-11-12 Tim Horton <timothy_horton@apple.com> |
| |
| Make action menus much more reliable |
| https://bugs.webkit.org/show_bug.cgi?id=138654 |
| <rdar://problem/18909111> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| Remove MenuUpdateStage; nothing actually uses this value, we just pass it around. |
| |
| (-[WKActionMenuController didPerformActionMenuHitTest:userData:]): |
| Update the menu as soon as we have a reply from the Web process. |
| |
| (-[WKActionMenuController menuNeedsUpdate:]): |
| If our sync-wait for the Web process' reply times out, we should still update |
| the menu to remove the placeholder separator item. |
| |
| (-[WKActionMenuController _updateActionMenuItems]): |
| (-[WKActionMenuController _updateActionMenuItemsForStage:]): Deleted. |
| If we have our final answer for this menu (_state == Ready), and the final answer |
| has no items in the menu, cancel tracking on the menu. |
| |
| 2014-11-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move RedirectedXCompositeWindow from platform to WebKit2 layer |
| https://bugs.webkit.org/show_bug.cgi?id=138093 |
| |
| Reviewed by Martin Robinson. |
| |
| It's only used by WebKitWebViewBase. While moving the code the |
| following cleanups have been made: |
| |
| - Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL. |
| - Use a helper class XDamageNotifier to handle the XDamage |
| events filtering and notification. |
| - Use std::function instead of pointer to function for the |
| damage callback. |
| - Pass the X display to the RedirectedXCompositeWindow constructor |
| and keep it as a member to use it everywhere, instead of using |
| the default display in some places and the widget display in others. |
| - Pass the damage notify function as a contructor parameter of |
| RedirectedXCompositeWindow instead of setting the callback |
| right after creating the object. |
| - Remove GLContextNeeded and all the dead code related to the |
| CreateGLContext mode that is no longer used. |
| - Rename cairoSurfaceForWidget() as surface(). |
| - windowId() has been renamed as windowID() and made const. |
| - Use std::unique_ptr instead of PassOwnPtr. |
| - Fix coding style issues. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseConstructed): |
| (webkitWebViewRenderAcceleratedCompositingResults): |
| (webkitWebViewBaseCreateWebPage): |
| (redirectedWindowDamagedCallback): Deleted. |
| * UIProcess/gtk/RedirectedXCompositeWindow.cpp: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.cpp. |
| (WebKit::XDamageNotifier::XDamageNotifier): |
| (WebKit::XDamageNotifier::add): |
| (WebKit::XDamageNotifier::remove): |
| (WebKit::XDamageNotifier::filterXDamageEvent): |
| (WebKit::XDamageNotifier::filterXEvent): |
| (WebKit::xDamageNotifier): |
| (WebKit::supportsXDamageAndXComposite): |
| (WebKit::RedirectedXCompositeWindow::create): |
| (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): |
| (WebKit::RedirectedXCompositeWindow::~RedirectedXCompositeWindow): |
| (WebKit::RedirectedXCompositeWindow::resize): |
| (WebKit::RedirectedXCompositeWindow::cleanupPixmapAndPixmapSurface): |
| (WebKit::RedirectedXCompositeWindow::surface): |
| * UIProcess/gtk/RedirectedXCompositeWindow.h: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h. |
| (WebKit::RedirectedXCompositeWindow::windowID): |
| |
| 2014-09-01 Philippe Normand <pnormand@igalia.com> |
| |
| [WK2] UserMediaClient support |
| https://bugs.webkit.org/show_bug.cgi?id=123158 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Support for UserMediaPermissionRequest in WebKit2. It's |
| implemented similarily to the GeolocationPermissionRequest |
| support. When the WebPage requires this permission it sends a |
| message to the UI process which at some point grants or denies the |
| permission and sends the result back to the WebProcess. |
| |
| * CMakeLists.txt: Generic CMake support for new files. |
| * Shared/API/c/WKBase.h: New type for UserMediaPermissionRequest. |
| * Shared/APIObject.h: Ditto. |
| * UIProcess/API/C/WKAPICast.h: PermissionRequest API mapping. |
| * UIProcess/API/APIUIClient.h: New decidePolicy handler for UserMediaPermissionRequest. |
| (API::UIClient::decidePolicyForUserMediaPermissionRequest): |
| * UIProcess/API/C/WKPage.cpp: Ditto. |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: WKPageUIClient version bump to |
| 5, including the new decidePolicyForUserMediaPermissionRequest member. |
| * UIProcess/API/C/WKUserMediaPermissionRequest.cpp: Added, C API |
| implementation of the UserMediaPermissionRequest. |
| (WKUserMediaPermissionRequestGetTypeID): |
| (WKUserMediaPermissionRequestAllow): |
| (WKUserMediaPermissionRequestDeny): |
| * UIProcess/API/C/WKUserMediaPermissionRequest.h: Added. |
| * UIProcess/API/C/WebKit2_C.h: |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: Added. |
| * UIProcess/UserMediaPermissionRequestProxy.cpp: Added, proxy |
| object for the UserMediaPermissionRequestType. |
| (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): |
| (WebKit::UserMediaPermissionRequestProxy::allow): |
| (WebKit::UserMediaPermissionRequestProxy::deny): |
| (WebKit::UserMediaPermissionRequestProxy::invalidate): |
| * UIProcess/UserMediaPermissionRequestProxy.h: Added. |
| (WebKit::UserMediaPermissionRequestProxy::create): |
| (WebKit::UserMediaPermissionRequestProxy::mediaParameters): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): Defer |
| UserPermissionRequest to the UIClient. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: New message to handle UserMediaPermissionRequests. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: Added, |
| WebProcess side of the UserRequestManager, keeping track of each |
| permission request. |
| (WebKit::generateRequestID): |
| (WebKit::UserMediaPermissionRequestManager::UserMediaPermissionRequestManager): |
| (WebKit::UserMediaPermissionRequestManager::startRequest): |
| (WebKit::UserMediaPermissionRequestManager::cancelRequest): |
| (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: Added. |
| * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: Added, |
| WebProcess implementation of the WebCore::UserMediaClient. |
| (WebKit::WebUserMediaClient::WebUserMediaClient): |
| (WebKit::WebUserMediaClient::pageDestroyed): |
| (WebKit::WebUserMediaClient::requestPermission): |
| (WebKit::WebUserMediaClient::cancelRequest): |
| * WebProcess/WebCoreSupport/WebUserMediaClient.h: Added. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): Create the |
| UserMediaPermissionRequestManager and register the UserMediaClient |
| to the page. |
| (WebKit::WebPage::didReceiveUserMediaPermissionDecision): Dispatch |
| decision to manager. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::userMediaPermissionRequestManager): |
| * WebProcess/WebPage/WebPage.messages.in: New Message to handle |
| permission decision result from the UI process. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Add support for mailto: link action menus |
| https://bugs.webkit.org/show_bug.cgi?id=138641 |
| <rdar://problem/18741567> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/API/c/WKActionMenuTypes.h: |
| Add a new type for mailto links. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForMailtoLink]): |
| Build a DDActionContext and grab menu items for our mailto link. |
| |
| (-[WKActionMenuController _defaultMenuItems]): |
| Get menu items from _defaultMenuItemsForMailtoLink if needed. |
| |
| 2014-11-11 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Clients should be notified when a page preview finishes |
| https://bugs.webkit.org/show_bug.cgi?id=138635 |
| |
| Reviewed by Tim Horton. |
| |
| Add SPI to WKView to allow clients to do any cleanup that might be necessary when the preview closes. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Declare new SPI. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _finishPreviewingURL:withPreviewView:]): |
| Stub SPI implementation. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| Add an ivar for the preview view controller. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): |
| Update to use the ivar. |
| (-[WKActionMenuController _clearPreviewPopover]): |
| Send -_finishPreviewingURL:withPreviewView: and nil out the view controller ivar. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Update artwork for some action menu items |
| https://bugs.webkit.org/show_bug.cgi?id=138634 |
| <rdar://problem/18871984> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Resources/OpenInNewWindowTemplate.pdf: Removed. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| (webKitBundleImageNamed): Deleted. |
| * WebKit2.xcodeproj/project.pbxproj: |
| Get rid of our custom art, and use system art for two more items. |
| |
| 2014-11-11 Alexey Proskuryakov <ap@apple.com> |
| |
| DRT and WKTR touch disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=138622 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Setting a cache model has a very strange behavior in WebKit2, where it ignores |
| sizes that were explicitly passed from UI process, and uses different ones. As |
| setCacheModel() is always called on launch, it always creates a non-empty disk cache. |
| |
| The design needs to be improved one day, but for now, just make sure that we never |
| create a disk cache during testing. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::NetworkProcess): |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| (WebKit::NetworkProcess::platformSetCacheModel): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| (WebKit::WebProcess::initializeWebProcess): |
| * WebProcess/WebProcess.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformSetCacheModel): |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-11-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] a page with video in optimized fullscreen is visible |
| https://bugs.webkit.org/show_bug.cgi?id=138632 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isPlayingFullscreenOptimizedVideo]): New. |
| |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::isViewVisible): Return true if displaying optimized fullscreen |
| video. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Occasional assertion failure under recommendedScrollbarStyleDidChange() |
| https://bugs.webkit.org/show_bug.cgi?id=138604 |
| <rdar://problem/18855914> |
| |
| Reviewed by Beth Dakin. |
| |
| It is possible for AppKit to install tracking areas into our view |
| behind our back, but we have code that depends on knowing exactly |
| the set of tracking areas installed on WKView. |
| |
| Make this more robust by keeping a reference to the tracking area we |
| use for many things and manipulating that instead of making assumptions |
| about the total set of tracking areas on WKView. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _primaryTrackingArea]): |
| (-[WKView _replacePrimaryTrackingArea:]): |
| Provide a 'primary' tracking area setter/getter. |
| |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| Keep a reference to the original tracking area installed at initialization time. |
| |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange): |
| Instead of walking the set of tracking areas, make use of the fact that |
| we know exactly which tracking area we installed, and uninstall just that |
| one, and replace it with our newly-built one. |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Finish moving CTFontGetVerticalGlyphsForCharacters and CTLineCreateWithUniCharProvider out from WKSI |
| https://bugs.webkit.org/show_bug.cgi?id=138623 |
| |
| Reviewed by Geoff Garen. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| * mac/WebKit2.order: |
| |
| 2014-11-11 Timothy Horton <timothy_horton@apple.com> |
| |
| Add a respondsToSelector check to dismissActionMenuPopovers |
| https://bugs.webkit.org/show_bug.cgi?id=138600 |
| <rdar://problem/18932770> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController dismissActionMenuPopovers]): |
| Avoid calling this wherever it doesn't exist. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| DataDetectors' menu items aren't presented in the telephone number menu |
| https://bugs.webkit.org/show_bug.cgi?id=138602 |
| <rdar://problem/18866308> |
| |
| Reviewed by Beth Dakin. |
| |
| We currently round-trip the DataDetectors telephone number NSMenuItems |
| through the very-lossy WebContextMenuItemData, for no real reason. |
| We should avoid this so that DataDetectors' actual NSMenuItems are |
| presented in the final menu, so that they can adjust their items after |
| providing them to us. |
| |
| * Platform/mac/MenuUtilities.h: |
| * Platform/mac/MenuUtilities.mm: |
| (WebKit::menuItemTitleForTelephoneNumber): Deleted. |
| Stop adjusting the menu item titles, as they come correct now. |
| |
| (WebKit::menuItemsForTelephoneNumber): Deleted. |
| (WebKit::menuForTelephoneNumber): |
| Return a fully-formed menu for the single telephone number case. |
| |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::showTelephoneNumberMenu): |
| Present the fully-formed menu, without round-tripping through |
| WebContextMenuItemData, because we do not need to hand the items to |
| the context menu client (and indeed, were not), and because this |
| allows us to use the exact items returned by DataDetectors, so they |
| can keep ahold of the items that we actually present. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::showPlatformContextMenu): |
| Add a Mac-only PageClient function for presenting a NSMenu at a |
| WKView-relative point. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Adopt DDActionContext menu type SPI |
| https://bugs.webkit.org/show_bug.cgi?id=138603 |
| <rdar://problem/18867627> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| Use the new SPI instead of WKSI. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Data Detectors popovers should be dismissed upon scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=138600 |
| <rdar://problem/18932770> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| Dismiss popovers when we start preparing another menu. |
| |
| (-[WKActionMenuController dismissActionMenuPopovers]): |
| Use the new DataDetectors SPI. |
| |
| 2014-11-11 Tim Horton <timothy_horton@apple.com> |
| |
| Localize strings for action menus |
| https://bugs.webkit.org/show_bug.cgi?id=138591 |
| <rdar://problem/18815343> |
| |
| Reviewed by Dan Bates. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _showTextIndicator]): |
| (-[WKActionMenuController _hideTextIndicator]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| Make use of the new strings. |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Cleanup from r175379 |
| https://bugs.webkit.org/show_bug.cgi?id=138616 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| * mac/WebKit2.order: |
| |
| 2014-11-11 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Move CTFontTransformGlyphs out from WKSI |
| https://bugs.webkit.org/show_bug.cgi?id=138599 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| * mac/WebKit2.order: |
| |
| 2014-11-10 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix possible crash when closing the web inspector |
| https://bugs.webkit.org/show_bug.cgi?id=138597 |
| rdar://problem/18872688 |
| |
| Reviewed by Andreas Kling. |
| |
| I reported a crash when reloading a page after inspecting it, possibly caused by |
| r172864. Speculatively fix by null-checking the main frame. |
| |
| * WebProcess/WebCoreSupport/WebInspectorClient.cpp: |
| (WebKit::WebInspectorClient::~WebInspectorClient): |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| Whitespace action menus aren't working properly |
| https://bugs.webkit.org/show_bug.cgi?id=138585 |
| -and corresponding- |
| rdar://problem/18933586 |
| |
| Reviewed by Tim Horton. |
| |
| Treat the whitespace menu as a text menu. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController isMenuForTextContent]): |
| |
| 2014-11-10 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Scroll deceleration rate is wrong |
| https://bugs.webkit.org/show_bug.cgi?id=138574 |
| rdar://problem/18715303 |
| |
| Reviewed by Benjamin Poulain. |
| |
| The CSS Snap Points code incorrectly set the WKScrollView's deceleration rate, |
| overriding the custom value that UIWebScrollView sets. |
| |
| Fix by having WKScrollView store the custom rate at init time, and |
| using that value in -scrollViewWillBeginDragging:. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView scrollViewWillBeginDragging:]): |
| * UIProcess/ios/WKScrollView.h: |
| * UIProcess/ios/WKScrollView.mm: |
| (-[WKScrollView initWithFrame:]): |
| |
| 2014-11-09 Ada Chan <adachan@apple.com> |
| |
| Reset WebPageProxy's isPlayingAudio state after web process crash or page invalidation. |
| https://bugs.webkit.org/show_bug.cgi?id=138559 |
| |
| Reviewed by Andreas Kling. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::resetState): |
| |
| 2014-11-10 Beth Dakin <bdakin@apple.com> |
| |
| WK1: Support default actions for read-only text |
| https://bugs.webkit.org/show_bug.cgi?id=138552 |
| -and corresponding- |
| rdar://problem/18877483 |
| |
| Reviewed by Tim Horton. |
| |
| WK1 now needs to do a lot of dictionary lookup operations that it did not |
| previously have to handle. So this patch takes a lot of that functionality, which |
| was implemented as static functions in WebPageMac for WK2 and moves it into |
| WebCore. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performDictionaryLookupForRange): |
| (WebKit::isPositionInRange): Deleted. |
| (WebKit::shouldUseSelection): Deleted. |
| (WebKit::rangeExpandedAroundPositionByCharacters): Deleted. |
| (WebKit::rangeForDictionaryLookupForSelection): Deleted. |
| (WebKit::rangeForDictionaryLookupAtHitTestResult): Deleted. |
| |
| 2014-11-10 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix. |
| |
| * UIProcess/ios/RemoteLayerTreeHostIOS.mm: |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| |
| 2014-11-10 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WK2] Use C++ lambdas in IPC::Connection |
| https://bugs.webkit.org/show_bug.cgi?id=138018 |
| |
| Reviewed by Anders Carlsson. |
| |
| Replace uses of WTF::bind() in the IPC::Connection class with C++11 lambdas. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::SyncMessageState::processIncomingMessage): |
| (IPC::Connection::dispatchWorkQueueMessageReceiverMessage): |
| (IPC::Connection::invalidate): |
| (IPC::Connection::sendMessage): |
| (IPC::Connection::processIncomingMessage): |
| (IPC::Connection::enqueueIncomingMessage): |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::initializeDeadNameSource): |
| (IPC::Connection::receiveSourceEventHandler): |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::open): |
| |
| 2014-11-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove create() factory function in FooAnimationValue classes |
| https://bugs.webkit.org/show_bug.cgi?id=138206 |
| |
| Reviewed by Darin Adler. |
| |
| As a step to use std::unique_ptr and std::make_unique, this patch removes create() |
| factory function in FooAnimationValue classes. As this changes, FooAnimationValue::create() |
| are changed to std::make_unique<>. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<GraphicsLayerAnimation>::decode): |
| * WebProcess/WebCoreSupport/WebInspectorClient.cpp: |
| (WebKit::WebInspectorClient::showPaintRect): |
| |
| 2014-11-09 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, fix typo in r175796. |
| |
| Rename areEssentialEqualAsFloat to areEssentiallyEqualAsFloat. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::areEssentiallyEqualAsFloat): |
| (WebKit::WebPage::dynamicViewportSizeUpdate): |
| (WebKit::areEssentialEqualAsFloat): Deleted. |
| |
| 2014-11-09 Chris Dumez <cdumez@apple.com> |
| |
| Add a more correct way to compare floating point numbers and use it |
| https://bugs.webkit.org/show_bug.cgi?id=138527 |
| |
| Reviewed by Darin Adler. |
| |
| Use the new WTF::areEssentuallyEqual() utility function from MathExtras.h |
| to compare floating-point numbers. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (withinEpsilon): |
| * UIProcess/CoordinatedGraphics/PageViewportController.cpp: |
| (WebKit::PageViewportController::updateMinimumScaleToFit): |
| (WebKit::fuzzyCompare): Deleted. |
| * UIProcess/CoordinatedGraphics/PageViewportController.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::withinEpsilon): |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (areEssentiallyEqualAsFloat): |
| (-[WKWebView _didCommitLayerTree:]): |
| (withinEpsilon): Deleted. |
| * UIProcess/CoordinatedGraphics/PageViewportController.cpp: |
| (WebKit::PageViewportController::updateMinimumScaleToFit): |
| (WebKit::fuzzyCompare): Deleted. |
| * UIProcess/CoordinatedGraphics/PageViewportController.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::areEssentialEqualAsFloat): |
| (WebKit::WebPage::dynamicViewportSizeUpdate): |
| (WebKit::withinEpsilon): Deleted. |
| |
| 2014-11-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Implement round-rect clipping on video elements |
| https://bugs.webkit.org/show_bug.cgi?id=138537 |
| rdar://problem/9534399 |
| |
| Reviewed by Darin Adler. |
| |
| Support border-radius on video and other layers with composited contents, |
| by pushing a FloatRoundedRect onto the GraphicsLayer as the contentsClippingRect, |
| and, on Mac, using layer corner-radius or a CAShapeLayer mask. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<FloatRoundedRect>::encode): |
| (IPC::ArgumentCoder<FloatRoundedRect>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/mac/RemoteLayerBackingStore.mm: New shape layer type. |
| (WebKit::RemoteLayerBackingStore::drawInContext): |
| * Shared/mac/RemoteLayerTreePropertyApplier.mm: |
| (WebKit::applyPropertiesToLayer): Apply corner-radius and shape path. |
| * Shared/mac/RemoteLayerTreeTransaction.h: Prettify the flags. Yes, I prefer this style. |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): |
| (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): |
| (WebKit::RemoteLayerTreeTextStream::operator<<): |
| (WebKit::dumpChangedLayers): |
| (WebKit::RemoteLayerTreeTransaction::description): |
| * UIProcess/ios/RemoteLayerTreeHostIOS.mm: |
| (+[WKShapeView layerClass]): Make UIViews with a CAShapeLayer layer class. |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| * UIProcess/mac/RemoteLayerTreeHost.mm: |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::updateClonedLayerProperties): |
| (WebKit::isEquivalentLayer): |
| (WebKit::PlatformCALayerRemote::setMask): |
| (WebKit::PlatformCALayerRemote::setClonedLayer): |
| (WebKit::PlatformCALayerRemote::cornerRadius): |
| (WebKit::PlatformCALayerRemote::setCornerRadius): |
| (WebKit::PlatformCALayerRemote::shapeRoundedRect): |
| (WebKit::PlatformCALayerRemote::setShapeRoundedRect): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| |
| 2014-11-09 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Move _ignoresNonWheelMouseEvents implementation to WKView(Private) |
| https://bugs.webkit.org/show_bug.cgi?id=138487 |
| |
| Reviewed by Dan Bernstein. |
| |
| Relocate some methods that should have been in a category implementation. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _setIgnoresNonWheelMouseEvents:]): |
| (-[WKView _ignoresNonWheelMouseEvents]): |
| |
| 2014-11-08 Beth Dakin <bdakin@apple.com> |
| |
| WKActionMenuController methods should be more careful to use the best |
| WebHitTestResult |
| https://bugs.webkit.org/show_bug.cgi?id=138536 |
| -and corresponding- |
| rdar://problem/18919195 |
| |
| Reviewed by Tim Horton. |
| |
| This patch re-names _hitTestResultForStage to _webHitTestResult. The method no |
| longer takes a stage since that value is really not necessary to determine the |
| correct WebHitTestResult. This patch also makes all spots in this file that access |
| a WebHitTestResult go through _webHitTestResult to ensure that they get the most |
| up-to-date option. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| (-[WKActionMenuController _openURLFromActionMenu:]): |
| (-[WKActionMenuController _addToReadingListFromActionMenu:]): |
| (-[WKActionMenuController _previewURLFromActionMenu:]): |
| (-[WKActionMenuController _defaultMenuItemsForVideo]): |
| (-[WKActionMenuController _copyVideoURL:]): |
| (-[WKActionMenuController _saveVideoToDownloads:]): |
| (-[WKActionMenuController _saveImageToDownloads:]): |
| (-[WKActionMenuController _defaultMenuItems]): |
| (-[WKActionMenuController _updateActionMenuItemsForStage:]): |
| (imageForResource:name::switch): Deleted. |
| (-[WKActionMenuController _defaultMenuItems:]): Deleted. |
| |
| 2014-11-08 Beth Dakin <bdakin@apple.com> |
| |
| Implement action menu support for videos |
| https://bugs.webkit.org/show_bug.cgi?id=138534 |
| -and corresponding- |
| rdar://problem/18742164 |
| |
| Reviewed by Tim Horton. |
| |
| New menu type and items types. |
| * Shared/API/c/WKActionMenuItemTypes.h: |
| * Shared/API/c/WKActionMenuTypes.h: |
| |
| Plumb isMediaThatCanBeDownloaded() up to WebHitTestResult. |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| * Shared/WebHitTestResult.h: |
| (WebKit::WebHitTestResult::isMediaThatCanBeDownloaded): |
| |
| Re-name _canAddImageToPhotos to _canAddMediaToPhotos, which is more accurate. We |
| might use this method for videos some day, so now it has an accurate name. |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| Default items and their actions. |
| (-[WKActionMenuController _defaultMenuItemsForVideo]): |
| (-[WKActionMenuController _copyVideoURL:]): |
| (-[WKActionMenuController _saveVideoToDownloads:]): |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| (-[WKActionMenuController _canAddMediaToPhotos]): |
| (-[WKActionMenuController _addImageToPhotos:]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| (-[WKActionMenuController _defaultMenuItems:]): |
| (-[WKActionMenuController _canAddImageToPhotos]): Deleted. |
| |
| We hit test including shadow content to get the desired result for editable text |
| regions. But for media, we want to re-set to the shadow root. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2014-11-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Allow to create a view with a related page in WTR |
| https://bugs.webkit.org/show_bug.cgi?id=138501 |
| |
| Reviewed by Martin Robinson. |
| |
| This is needed when running tests in multi web process mode. |
| |
| * UIProcess/API/C/gtk/WKView.cpp: |
| (WKViewCreate): |
| * UIProcess/API/C/gtk/WKView.h: |
| |
| 2014-11-07 Conrad Shultz <conrad_shultz@apple.com> |
| |
| "Lookup" action menu should read "Look up" |
| https://bugs.webkit.org/show_bug.cgi?id=138509 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| |
| 2014-11-07 Beth Dakin <bdakin@apple.com> |
| |
| Null deref performing Lookup on Apple Trailers full screen button |
| https://bugs.webkit.org/show_bug.cgi?id=138513 |
| -and corresponding- |
| rdar://problem/18909699 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performDictionaryLookupForSelection): |
| |
| 2014-11-07 Anshu Chimala <anshu@apple.com> |
| |
| Make it possible to associate snapshots with back/forward list items other than the current item. |
| https://bugs.webkit.org/show_bug.cgi?id=138490 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Declare -saveBackForwardSnapshotForItem:, an alternative to -saveBackForwardSnapshotForCurrentItem that accepts a |
| back/forward list item as an argument. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView saveBackForwardSnapshotForItem:]): |
| Pass the provided back/forward list item along to WebPageProxy::recordNavigationSnapshot(). |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::recordNavigationSnapshot): |
| Overloaded to optionally take a back/forward list item as an argument. If one isn't provided, default to the current item |
| as before; otherwise, associate the snapshot with whichever item was provided. |
| * UIProcess/WebPageProxy.h: |
| Declare the new recordNavigationSnapshot() overload. |
| |
| * UIProcess/mac/ViewSnapshotStore.h: |
| Make recordSnapshot() take a back/forward list item as an argument. |
| * UIProcess/mac/ViewSnapshotStore.mm: |
| (WebKit::ViewSnapshotStore::recordSnapshot): |
| Store the snapshot in the provided back/forward list item instead of in the current item. |
| |
| 2014-11-07 Tim Horton <timothy_horton@apple.com> |
| |
| Popovers do not dismiss when navigating back and forth using gestures |
| https://bugs.webkit.org/show_bug.cgi?id=138512 |
| <rdar://problem/18900200> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::navigationGestureDidBegin): |
| Dismiss action menu related popovers when navigation gestures begin. |
| |
| 2014-11-07 Beth Dakin <bdakin@apple.com> |
| |
| Action menu preview popover should dismiss on scroll |
| https://bugs.webkit.org/show_bug.cgi?id=138511 |
| -and corresponding- |
| rdar://problem/18901445 |
| |
| Reviewed by Tim Horton. |
| |
| This patch re-names dismissActionMenuDataDetectorPopovers() to |
| dismissActionMenuPopovers() and also calls _clearPreviewPopover from that method |
| as well. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView viewDidMoveToWindow]): |
| (-[WKView _dismissActionMenuPopovers]): |
| (-[WKView _dismissActionMenuDataDetectorPopovers]): Deleted. |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| (WebKit::WebPageProxy::pageDidScroll): |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::dismissActionMenuPopovers): |
| (WebKit::PageClientImpl::dismissActionMenuDataDetectorPopovers): Deleted. |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController dismissActionMenuPopovers]): |
| (-[WKActionMenuController dismissActionMenuDataDetectorPopovers]): Deleted. |
| |
| 2014-11-07 Beth Dakin <bdakin@apple.com> |
| |
| Support action menus for whitespace in editable areas |
| https://bugs.webkit.org/show_bug.cgi?id=138488 |
| -and corresponding- |
| rdar://problem/18877717 |
| |
| Reviewed by Tim Horton. |
| |
| Very simple menu for whitespace in editable areas. |
| * Shared/API/c/WKActionMenuTypes.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForWhitespaceInEditableArea]): |
| (-[WKActionMenuController _defaultMenuItems:]): |
| |
| 2014-11-07 Beth Dakin <bdakin@apple.com> |
| |
| Invoking an action menu should dismiss existing selection |
| https://bugs.webkit.org/show_bug.cgi?id=138496 |
| -and corresponding- |
| rdar://problem/18892787 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| |
| 2014-11-07 Eric Carlson <eric.carlson@apple.com> |
| |
| [iOS] Update optimized fullscreen media controls |
| https://bugs.webkit.org/show_bug.cgi?id=138493 |
| |
| Reviewed by Brent Fulgham. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): Initialize GetMediaUIImageData. |
| |
| 2014-11-07 Antti Koivisto <antti@apple.com> |
| |
| Add cache coders |
| https://bugs.webkit.org/show_bug.cgi?id=138413 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add encoding and decoding support for cache types. |
| |
| This is largely a copy of the IPC coder classes with some unnecessary features removed. |
| The coders compute a type-sensitive checksum that can be used to verify the data integrity. |
| |
| The code is behind ENABLE(NETWORK_CACHE) and not yet used. |
| |
| * NetworkProcess/cache: Added. |
| * NetworkProcess/cache/NetworkCacheCoder.h: Added. |
| * NetworkProcess/cache/NetworkCacheCoders.cpp: Added. |
| * NetworkProcess/cache/NetworkCacheCoders.h: Added. |
| * NetworkProcess/cache/NetworkCacheDecoder.cpp: Added. |
| * NetworkProcess/cache/NetworkCacheDecoder.h: Added. |
| * NetworkProcess/cache/NetworkCacheEncoder.cpp: Added. |
| * NetworkProcess/cache/NetworkCacheEncoder.h: Added. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-11-06 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Clients should be able to customize the view used for page previews |
| https://bugs.webkit.org/show_bug.cgi?id=138447 |
| |
| Reviewed by Tim Horton. |
| |
| Add SPI to WKView that clients can use to customize the view used in the page preview popover. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Declare -_viewForPreviewingURL:initialFrameSize:. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _viewForPreviewingURL:initialFrameSize:]): |
| Return nil in the default implementation. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKPagePreviewViewController loadView]): |
| Only spin up a WKWebView if the delegate (and, therefore, the presenting WKView) doesn't supply a custom view. |
| (-[WKActionMenuController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]): |
| WKPagePreviewViewControllerDelegate method; wrap the WKView SPI. |
| |
| 2014-11-05 Jer Noble <jer.noble@apple.com> |
| |
| De-templatize Timer |
| https://bugs.webkit.org/show_bug.cgi?id=138450 |
| |
| Reviewed by Anders Carlsson. |
| |
| Remove template specifiers from Timer. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::bufferingTimerFired): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * Shared/WebMemorySampler.cpp: |
| (WebKit::WebMemorySampler::sampleTimerFired): |
| (WebKit::WebMemorySampler::stopTimerFired): |
| * Shared/WebMemorySampler.h: |
| * Shared/mac/RemoteLayerBackingStoreCollection.h: |
| * Shared/mac/RemoteLayerBackingStoreCollection.mm: |
| (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired): |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::displayTimerFired): |
| * UIProcess/API/efl/EwkView.h: |
| * UIProcess/efl/TextCheckerClientEfl.cpp: |
| (TextCheckerClientEfl::languagesUpdateTimerFired): |
| (TextCheckerClientEfl::spellCheckingSettingChangeTimerFired): |
| * UIProcess/efl/TextCheckerClientEfl.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::processSuspensionCleanupTimerFired): |
| (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): |
| * WebProcess/WebProcess.h: |
| |
| 2014-11-06 Dean Jackson <dino@apple.com> |
| |
| [filters2] Support for backdrop-filter |
| https://bugs.webkit.org/show_bug.cgi?id=138384 |
| <rdar://problem/18874494> |
| |
| Reviewed by Simon Fraser. |
| |
| Take 2!! Previous patch was rolled out. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::drawInContext): Handle LayerTypeBackdropLayer in the switch. |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::description): Describe a backdrop layer. |
| * UIProcess/ios/RemoteLayerTreeHostIOS.mm: |
| (+[WKBackdropView layerClass]): Define CABackdropLayer and use it as the class. |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| * UIProcess/mac/RemoteLayerTreeHost.mm: Ditto. |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| |
| 2014-11-06 Tim Horton <timothy_horton@apple.com> |
| |
| Data detectors popover points at the first line of the detected item |
| https://bugs.webkit.org/show_bug.cgi?id=138471 |
| <rdar://problem/18893079> |
| |
| Reviewed by Sam Weinig. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::scanForDataDetectedItems): |
| Determine the bounding box of all quads of the detected item's text. |
| This way, the popover will point at the border of the item, instead of |
| right at the very first line. |
| |
| 2014-11-06 Beth Dakin <bdakin@apple.com> |
| |
| Preview views often misplaced inside popover |
| https://bugs.webkit.org/show_bug.cgi?id=138472 |
| |
| Reviewed by Tim Horton. |
| |
| This patch makes the popover maintain aspect ratio, and it uses the final scale of |
| that popover to scale the preview view as well. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKPagePreviewViewController initWithPageURL:mainViewSize:popoverToViewScale:]): |
| (-[WKPagePreviewViewController loadView]): |
| (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): |
| (-[WKActionMenuController _targetSize:fitsInAvailableSpace:]): |
| (-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]): |
| (-[WKPagePreviewViewController initWithPageURL:]): Deleted. |
| |
| 2014-11-06 Tim Horton <timothy_horton@apple.com> |
| |
| TextIndicatorWindow's bounce animation is lopsided when indicating two short lines of text |
| https://bugs.webkit.org/show_bug.cgi?id=138458 |
| |
| Reviewed by Simon Fraser. |
| |
| Previously, the TextIndicator's frame() covered the entire selection highlight bounds. |
| This was undesirable in cases where the highlight included areas far outside the |
| bounds of the selected text, as the TextIndicatorWindow's 'bounce' animation |
| would be misaligned (centered on the highlight instead of on the text). |
| |
| * Shared/TextIndicator.cpp: |
| Get rid of the many-argument TextIndicator::create, because it was only used |
| internally, and have createWithSelectionInFrame make a ::Data instead. |
| |
| (WebKit::TextIndicator::createWithSelectionInFrame): |
| Compute and store the bounding rect of all of the selected text rects, and store |
| all of the text rects relative to that bounding rect instead of relative to the |
| selection highlight bounds. We do this because the selection highlight bounds |
| often includes area which is far outside of the text bounds (in the case of a |
| selection that spans multiple lines), and causes the text indicator bounce |
| animation to bounce in a lopsided manner. |
| |
| (WebKit::TextIndicator::TextIndicator): |
| Adjust to the rename of textRectsInSelectionRectCoordinates -> textRectsInBoundingRectCoordinates. |
| |
| (WebKit::TextIndicator::frameRect): |
| Instead of the TextIndicator's frame being the selection highlight bounds, |
| it is now the bounds of all of the text rects. |
| |
| (WebKit::TextIndicator::draw): |
| Translate into the image by the difference between the selection highlight bounds |
| and the text bounding rect. This is necessary because the content image is still generated |
| covering the entire selection highlight bounds, but the text rects are in text-rect-bounds coordinates. |
| |
| (WebKit::TextIndicator::Data::encode): |
| (WebKit::TextIndicator::Data::decode): |
| Adjust to the rename of textRectsInSelectionRectCoordinates -> textRectsInBoundingRectCoordinates. |
| Encode/decode textBoundingRectInWindowCoordinates. |
| |
| * Shared/TextIndicator.h: |
| (WebKit::TextIndicator::contentImage): Deleted. |
| Get rid of an unnecessary getter and constructor. |
| |
| 2014-11-06 Tim Horton <timothy_horton@apple.com> |
| |
| Only provide a single result to the action menu DDActionContext |
| https://bugs.webkit.org/show_bug.cgi?id=138469 |
| <rdar://problem/18869036> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::scanForDataDetectedItems): |
| Only provide one result; secondary results can be extremely unrelated to |
| the primary one and confuse Data Detectors further down the line. |
| |
| 2014-11-06 Tim Horton <timothy_horton@apple.com> |
| |
| Null deref in rangeForDictionaryLookupAtHitTestResult on occasion |
| https://bugs.webkit.org/show_bug.cgi?id=138459 |
| <rdar://problem/18872825> |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::rangeForDictionaryLookupAtHitTestResult): |
| rangeExpandedAroundPositionByCharacters can return null. |
| |
| 2014-11-06 Tim Horton <timothy_horton@apple.com> |
| |
| Prefer link action menus over images |
| https://bugs.webkit.org/show_bug.cgi?id=138461 |
| <rdar://problem/18768377> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItems:]): |
| Swap the priority of links and images. |
| |
| 2014-11-05 Sam Weinig <sam@webkit.org> |
| |
| Use std::unique_ptr for TileController |
| https://bugs.webkit.org/show_bug.cgi?id=138429 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: |
| (WebKit::PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking): |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: |
| |
| 2014-11-06 Dan Bernstein <mitz@apple.com> |
| |
| iOS build fix. |
| |
| * WebProcess/Plugins/PluginController.h: |
| |
| 2014-11-06 Daniel Bates <dabates@apple.com> |
| |
| [iOS] WebProcess needs to take a background task assertion to prevent being killed |
| for "suspended with locked system files" |
| https://bugs.webkit.org/show_bug.cgi?id=138155 |
| <rdar://problem/17939303> |
| |
| Reviewed by Anders Carlsson. |
| |
| Mitigates an issue where the WebProcess may be killed when suspended holding locked files |
| by allowing the WebProcess to notify the UIProcess when it is holding such files so that |
| both can continue to run for a period of time after the UIProcess transitions to the |
| background. In particular, the WebProcess notifies the UIProcess that it is holding- or |
| relinquished- a locked file when it begins and ends a sequence of SQLite transactions, |
| respectively. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::disconnect): Relinquish an existing background task assertion |
| when the WebProcess disconnects. Among other situations, the WebProcess may disconnect as |
| a result of being suspended holding locked files even when the UIProcess requested a |
| background task assertion (i.e. it may have exceeded its background time limit). |
| (WebKit::WebProcessProxy::setIsHoldingLockedFiles): Added. Either acquires a new background |
| task assertion or relinquishes an existing one. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: Added message SetIsHoldingLockedFiles(bool). The WebProcess |
| dispatches this message to inform the UIProcess that it is holding- or relinquished- a locked file. |
| * WebKit2.xcodeproj/project.pbxproj: Added files WebSQLiteDatabaseTracker.{cpp, h}. |
| * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp: Added. |
| (WebKit::WebSQLiteDatabaseTracker::supplementName): Added. |
| (WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker): Added. |
| (WebKit::WebSQLiteDatabaseTracker::initialize): Register to receive SQLiteDatabaseTrackerClient callbacks. |
| (WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction): Inform the HysteresisActivity object on |
| the main thread that we began a transaction so that it calls WebSQLiteDatabaseTracker::started(). |
| (WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction): Inform the HysteresisActivity object on |
| the main thread that we finished a transaction so that it may eventually call WebSQLiteDatabaseTracker::stopped(). |
| (WebKit::WebSQLiteDatabaseTracker::started): Notify the UIProcess that the WebProcess is holding |
| a locked file. |
| (WebKit::WebSQLiteDatabaseTracker::stopped): Notify the UIProcess that the WebProcess has |
| relinquished the locked file. |
| * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: Added. We use a HysteresisActivity object |
| to coalesce SetIsHoldingLockedFiles(false) messages as an optimization to minimize the number of |
| messages exchanged between the UIProcess and WebProcess when a web page performs SQLite transactions |
| in batches. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): Instantiate the supplement WebSQLiteDatabaseTracker when building |
| for iOS. |
| |
| 2014-11-06 Alberto Garcia <berto@igalia.com> |
| |
| [GTK] [Stable] webkitgtk 2.6.1 fails to load flashplugin |
| https://bugs.webkit.org/show_bug.cgi?id=137849 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| NPPVpluginNeedsXEmbed is a boolean value, so it should normally |
| use an NPBool (1 byte). However some plugins (the Flash player in |
| particular) are using an int instead, so we have to do it as well |
| else we'll end up corrupting the stack. |
| |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| (WebKit::NetscapePlugin::platformPostInitialize): |
| |
| 2014-11-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add context menu API to Web Process Extensions |
| https://bugs.webkit.org/show_bug.cgi?id=138311 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Add WebKitWebPage::context-menu signal, similar to the |
| WebKitWebView one, but that receives a WebKitWebHitTestResult, a |
| class that extends WebKitTestResult to provide the WebKitDOMNode |
| from the Web Process Extensions API. This makes WebKitContextMenu, |
| WebKitContextMenuItem and WebKitTestResult classes shared between |
| UI and Web Extensions APIs. In addition to be able to customize |
| the context menu, it also provides API to set user data, as a |
| GVariant, in the Web Process that is sent to the UI Process. |
| |
| * PlatformGTK.cmake: Add new files. |
| * UIProcess/API/gtk/WebKitContextMenu.cpp: |
| (webkit_context_menu_set_user_data): Add user data to the context |
| menu as a GVariant. |
| (webkit_context_menu_get_user_data): Get the user data previously |
| set with webkit_context_menu_set_user_data() either from the Web |
| or UI processes. |
| * UIProcess/API/gtk/WebKitContextMenu.h: |
| * UIProcess/API/gtk/WebKitContextMenuActions.h: |
| * UIProcess/API/gtk/WebKitContextMenuClient.cpp: |
| (getContextMenuFromProposedMenu): Convert the received user data |
| into a GVariant and pass it to webkitWebViewPopulateContextMenu(). |
| * UIProcess/API/gtk/WebKitContextMenuItem.h: |
| * UIProcess/API/gtk/WebKitForwardDeclarations.h: |
| * UIProcess/API/gtk/WebKitHitTestResult.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewPopulateContextMenu): Set the user data received |
| from the Web Process to the WebKitContextMenu before emitting |
| WebKitWebView::context-menu. |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitWebHitTestResult. |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. |
| * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_web_hit_test_result_get_type. |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.cpp: Added. |
| (webkitWebHitTestResultGetProperty): Add getter for node property. |
| (webkitWebHitTestResultSetProperty): Add setter for node property. |
| (webkit_web_hit_test_result_class_init): Add node property. |
| (webkitWebHitTestResultCreate): Create a new |
| WebKitWebHitTestResult for the given InjectedBundleHitTestResult. |
| (webkit_web_hit_test_result_get_node): Return the WebKitDOMNode. |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.h: Added. |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResultPrivate.h: Added. |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (getContextMenuFromDefaultMenu): Build a WebKitContextMenu and |
| WebKitWebHitTestResult and emit WebKitWebPage::context-menu signal. |
| (webkit_web_page_class_init): Add WebKitWebPage::context-menu signal. |
| (webkitWebPageCreate): Add implementation for getContextMenuFromDefaultMenu. |
| * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: |
| |
| 2014-11-06 Ryuan Choi <ryuan.choi@gmail.com> |
| |
| [EFL] Remove m_scrollPosition from CoordinatedGraphicsScene |
| https://bugs.webkit.org/show_bug.cgi?id=138419 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| m_scrollPosition of CoordinatedGraphicsScene is only to adjust the position |
| of fixed element. But this adjustment is only called by paintToCurrentGLContext() |
| and WebView can pass same information to the parameter of that method. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext): |
| (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers): |
| (WebCore::CoordinatedGraphicsScene::setScrollPosition): Deleted. |
| * UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: |
| (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect): |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| (WebKit::WebView::paintToCurrentGLContext): |
| |
| 2014-11-05 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r175672. |
| https://bugs.webkit.org/show_bug.cgi?id=138455 |
| |
| Tries to make backdrop layers on every layer, asserts on |
| Mavericks (Requested by smfr on #webkit). |
| |
| Reverted changeset: |
| |
| "[filters2] Support for backdrop-filter" |
| https://bugs.webkit.org/show_bug.cgi?id=138384 |
| http://trac.webkit.org/changeset/175672 |
| |
| 2014-11-04 Ada Chan <adachan@apple.com> |
| |
| Figure out whether a plug-in is playing audio. |
| https://bugs.webkit.org/show_bug.cgi?id=137219 |
| |
| Reviewed by Anders Carlsson. |
| |
| Handle the setting of the NPPVpluginIsPlayingAudio variable. |
| |
| * PluginProcess/PluginControllerProxy.cpp: |
| (WebKit::PluginControllerProxy::setPluginIsPlayingAudio): |
| Send a SetPluginIsPlayingAudio message to the WebProcess. |
| * PluginProcess/PluginControllerProxy.h: |
| * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: |
| (WebKit::NPN_SetValue): |
| Handle NPPVpluginIsPlayingAudio. Call NetscapePlugin::setIsPlayingAudio(). |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::setIsPlayingAudio): |
| Call PluginControllerProxy::setPluginIsPlayingAudio(). |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| * WebProcess/Plugins/PluginController.h: |
| * WebProcess/Plugins/PluginProxy.cpp: |
| (WebKit::PluginProxy::setPluginIsPlayingAudio): |
| Call PluginView::setPluginIsPlayingAudio(). |
| * WebProcess/Plugins/PluginProxy.h: |
| * WebProcess/Plugins/PluginProxy.messages.in: |
| Add the SetPluginIsPlayingAudio message. |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::PluginView): |
| Initialize m_pluginIsPlayingAudio. |
| (WebKit::PluginView::~PluginView): |
| Remove itself from the Document's list of AudioProducers. |
| (WebKit::PluginView::initializePlugin): |
| Add itself to the Document's list of AudioProducers. |
| (WebKit::PluginView::pageMutedStateDidChange): |
| Add a FIXME. |
| (WebKit::PluginView::setPluginIsPlayingAudio): |
| If m_pluginIsPlayingAudio has changed, tell the Document to update its audio playing state. |
| * WebProcess/Plugins/PluginView.h: |
| Now inherits AudioProducer. |
| |
| 2014-11-05 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the GTK build. |
| |
| * PlatformGTK.cmake: Removed references to deletion UI resources that have been removed. |
| |
| 2014-11-04 Dean Jackson <dino@apple.com> |
| |
| [filters2] Support for backdrop-filter |
| https://bugs.webkit.org/show_bug.cgi?id=138384 |
| <rdar://problem/18874494> |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::drawInContext): Handle LayerTypeBackdropLayer in the switch. |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::description): Describe a backdrop layer. |
| * UIProcess/ios/RemoteLayerTreeHostIOS.mm: |
| (+[WKBackdropView layerClass]): Define CABackdropLayer and use it as the class. |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| * UIProcess/mac/RemoteLayerTreeHost.mm: Ditto. |
| (WebKit::RemoteLayerTreeHost::createLayer): |
| |
| 2014-11-05 Ryuan Choi <ryuan.choi@gmail.com> |
| |
| [EFL] Improve previous temporary fix against drawing (0,0) position before rendering content of next web page |
| https://bugs.webkit.org/show_bug.cgi?id=138305 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| WebKit2 has freezed layer tree until frame load completion since r101838. |
| In EFL port, we unfreeze it when PageViewportController::pageTransitionViewportReady() is called though, |
| UIProcess on EFL port updates cairo surface during the freezing time of layer tree. |
| Thus UIProcess should not update the layer trees until the layerTreeState is unfrozen. |
| |
| * UIProcess/API/efl/EwkView.h: Removed previous workarounds. |
| (EwkView::setWaitingForNewPage): Deleted. |
| (EwkView::waitingForNewPage): Deleted. |
| (EwkView::didCommitNewPage): Deleted. |
| * UIProcess/CoordinatedGraphics/PageViewportController.cpp: |
| (WebKit::PageViewportController::PageViewportController): |
| (WebKit::PageViewportController::didCommitLoad): |
| (WebKit::PageViewportController::didRenderFrame): |
| (WebKit::PageViewportController::syncVisibleContents): |
| * UIProcess/CoordinatedGraphics/PageViewportController.h: |
| * UIProcess/efl/PageLoadClientEfl.cpp: |
| (WebKit::PageLoadClientEfl::didCommitLoadForFrame): |
| * UIProcess/efl/PageViewportControllerClientEfl.cpp: |
| (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents): |
| * UIProcess/efl/ViewClientEfl.cpp: |
| (WebKit::ViewClientEfl::didRenderFrame): |
| |
| 2014-11-05 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| 2014-11-05 Dan Bernstein <mitz@apple.com> |
| |
| Remove the unused deletion UI feature |
| https://bugs.webkit.org/show_bug.cgi?id=138442 |
| |
| Rubber-stamped by Alexey Proskuryakov. |
| |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::shouldShowDeleteInterface): Deleted. |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| |
| 2014-11-05 Conrad Shultz <conrad_shultz@apple.com> |
| |
| It should be possible to open a page preview by clicking on it |
| https://bugs.webkit.org/show_bug.cgi?id=138445 |
| |
| Reviewed by Tim Horton. |
| |
| Add a click recognizer to WKPagePreviewViewController and plumb it through to WKActionMenuController. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| Declare <WKPagePreviewViewControllerDelegate>, currently home to just a single method. |
| (-[WKPagePreviewViewController loadView]): |
| Configure and add a click gesture recognizer to the WKWebView. |
| (-[WKPagePreviewViewController _clickRecognized:]): |
| Gesture recognizer action; send -pagePreviewViewControllerWasClicked: to the delegate. |
| (-[WKActionMenuController willDestroyView:]): |
| Extract code to -_clearPreviewPopover. |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| Ditto. |
| (-[WKActionMenuController _createPreviewPopoverForURL:]): |
| Set ourself as the delegate of the page preview controller. |
| (-[WKActionMenuController _clearPreviewPopover]): |
| Extracted from various other methods; if appropriate, nil out the preview view controller's delegate. |
| (-[WKActionMenuController popoverWillClose:]): |
| Extract code to -_clearPreviewPopover. |
| (-[WKActionMenuController pagePreviewViewControllerWasClicked:]): |
| WKPagePreviewViewControllerDelegate method; open the URL of the clicked page. |
| |
| 2014-11-05 Beth Dakin <bdakin@apple.com> |
| |
| Page preview popover should show scaled-down web content |
| https://bugs.webkit.org/show_bug.cgi?id=138444 |
| |
| Reviewed by Anders Carlsson. |
| |
| Instead of keeping the preferred size in the controller, keep the main view’s |
| size, and then scale the bounds of the popover’s view using that and the scale |
| factor as a constant. Set the size of the popover explicitly so that it doesn’t |
| get the view’s size. This will cause it to scale the WKWebView. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKPagePreviewViewController initWithPageURL:]): |
| (-[WKPagePreviewViewController loadView]): |
| (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): |
| (-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]): |
| |
| 2014-11-05 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Page preview popovers sometimes cover their originating element |
| https://bugs.webkit.org/show_bug.cgi?id=138437 |
| |
| Reviewed by Beth Dakin. |
| |
| If a popover is sufficiently large, and the originating element is in a particular location, it's |
| possible that the popover can't be positioned in a manner that doesn't occlude the originating element. |
| Address this by scaling down the popover content if it can't fit entirely between the originating |
| element and the screen edge. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _previewURLFromActionMenu:]): |
| Update to use -_createPreviewPopoverForURL:originRect:. |
| (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): |
| Renamed from -_createPreviewPopoverForURL:; extract code to -_preferredSizeForPopoverPresentedFromOriginRect:. |
| (-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]): |
| Compute a size that is as large as possible while keeping the popover between the origin rect and screen edge |
| (with an arbitrary padding applied to keep from directly abutting the screen edge). |
| (-[WKActionMenuController _createPreviewPopoverForURL:]): Deleted. |
| |
| 2014-11-05 Alexey Proskuryakov <ap@apple.com> |
| |
| fast/dom/remove-body-during-body-replacement2.html fails on WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=138334 |
| |
| Reviewed by Anders Carlsson. |
| |
| Added an SPI to focus a frame. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: |
| (WKBundleFrameFocus): |
| * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setViewState): |
| |
| 2014-11-05 Tim Horton <timothy_horton@apple.com> |
| |
| Select Data Detectors results instead of just highlighting them |
| https://bugs.webkit.org/show_bug.cgi?id=138435 |
| <rdar://problem/18877675> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::selectLastActionMenuRange): |
| (WebKit::WebPageProxy::selectLookupTextAtLocation): Deleted. |
| Rename selectLookupTextAtLocation to selectLastActionMenuRange. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| Do a real selection for single-item Data Detector menus; show the yellow highlight otherwise. |
| Adopt selectLastActionMenuRange for non-detected text. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::selectLastActionMenuRange): |
| (WebKit::WebPage::selectLookupTextAtLocation): Deleted. |
| Store the last (detected data or Lookup-derived) action menu range. |
| Select it upon selectLastActionMenuRange. |
| |
| 2014-11-04 Jon Honeycutt <jhoneycutt@apple.com> |
| |
| WebContent crash in WebPage::selectWithGesture() |
| |
| <https://bugs.webkit.org/show_bug.cgi?id=138399> |
| <rdar://problem/18550631> |
| |
| This crash occurs when the web process receives a "TapAndAHalf" gesture |
| with the "Changed" state without having received a "TapAndAHalf" |
| gesture with the "Began" state. |
| |
| No test possible. |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::selectWithGesture): |
| Null check m_currentWordRange before dereferencing it. |
| |
| 2014-11-05 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Disable action menus on page previews |
| https://bugs.webkit.org/show_bug.cgi?id=138431 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _shouldIgnoreMouseEvents]): |
| Renamed from -shouldIgnoreMouseEvents since this isn't actually public. |
| (-[WKView swipeWithEvent:]): |
| (-[WKView mouseMoved:]): |
| (-[WKView mouseDown:]): |
| (-[WKView mouseUp:]): |
| (-[WKView mouseDragged:]): |
| Updated to reflect method rename. |
| (-[WKView shouldIgnoreMouseEvents]): Deleted. |
| |
| * UIProcess/API/mac/WKViewInternal.h: |
| Expose -_shouldIgnoreMouseEvents. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| Cancel the menu if the presenting WKView should ignore mouse events. |
| |
| 2014-11-05 Beth Dakin <bdakin@apple.com> |
| |
| Action menu URL preview should "peek," i.e. appear when the menu item is |
| highlighted |
| https://bugs.webkit.org/show_bug.cgi?id=138432 |
| -and corresponding- |
| rdar://problem/18774264 |
| |
| Reviewed by Anders Carlsson. |
| |
| New ivars. Keep a reference to the popover, and a BOOL that indicates whether we |
| should close the popover when the menu goes away. |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| Re-set the preview bool to NO whenever we are about to pop up a new menu. |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| |
| Close the popover when the menu closes unless _shouldKeepPreviewPopoverOpen has |
| been set. |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| |
| Set _shouldKeepPreviewPopoverOpen. |
| (-[WKActionMenuController _keepPreviewOpen:]): |
| |
| Re-factored to use ivar. |
| (-[WKActionMenuController _previewURLFromActionMenu:]): |
| (-[WKActionMenuController _createPreviewPopoverForURL:]): |
| |
| Now call _previewURLFromActionMenu on menu item highlight. |
| (-[WKActionMenuController menu:willHighlightItem:]): |
| |
| NSPopover delegate method so that we can keep our BOOL and ivar accurate in the |
| case where the popover is closed by some other mechanism than the action menu |
| going away. |
| (-[WKActionMenuController popoverWillClose:]): |
| |
| New selector for the preview. Now when this item is actually selected, we just |
| want to set the BOOL _shouldKeepPreviewPopoverOpen to YES so that we keep the |
| preview open. |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| |
| 2014-11-05 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Disable interaction with action menu page previews |
| https://bugs.webkit.org/show_bug.cgi?id=138400 |
| |
| Reviewed by Tim Horton. |
| |
| Expand on the existing -[WKView shouldIgnoreMouseEvents] by adding facilities to suppress handling |
| of all non-wheel events, effectively creating a scroll-only web view. Deploy this in |
| WKPagePreviewViewController. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Declare the OS X-only ignoresNonWheelMouseEvents SPI. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _ignoresNonWheelMouseEvents]): |
| (-[WKWebView _setIgnoresNonWheelMouseEvents:]): |
| Wrap the underlying WKView methods. |
| |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| Declare the OS X-only ignoresNonWheelMouseEvents property. |
| |
| * UIProcess/API/mac/WKView.mm: |
| Add _ignoresNonWheelMouseEvents to WKViewData. |
| (-[WKView shouldIgnoreMouseEvents]): |
| Include a check for _ignoresNonWheelMouseEvents. |
| (-[WKView _setIgnoresNonWheelMouseEvents:]): |
| Set the ivar in WKViewData. |
| (-[WKView _ignoresNonWheelMouseEvents]): |
| Fetch the ivar in WKViewData. |
| (-[WKView _shouldIgnoreWheelEvents]): |
| Implement the old -shouldIgnoreMouseEvents behavior. |
| (-[WKView scrollWheel:]): |
| -shouldIgnoreMouseEvents -> -_shouldIgnoreWheelEvents. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKPagePreviewViewController loadView]): |
| Configure the WKWebView to ignore non-wheel mouse events; use RetainPtr for the WKWebView. |
| |
| 2014-11-03 Dean Jackson <dino@apple.com> |
| |
| Add ENABLE_FILTERS_LEVEL_2 feature guard. |
| https://bugs.webkit.org/show_bug.cgi?id=138362 |
| |
| Reviewed by Tim Horton. |
| |
| Add a new feature define for Level 2 of CSS Filters. |
| http://dev.w3.org/fxtf/filters-2/ |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2014-11-05 Alberto Garcia <berto@igalia.com> |
| |
| NetscapePlugin: NPP_GetValue should receive a pointer to NPBool, not bool |
| https://bugs.webkit.org/show_bug.cgi?id=138418 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Replace bool with NPBool, which is actually an unsigned char. |
| |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| (WebKit::NetscapePlugin::platformPostInitialize): |
| |
| 2014-11-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add WebKitWebResource::failed-with-tls-errors signal |
| https://bugs.webkit.org/show_bug.cgi?id=137862 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| When a resource load fails due to TLS errors emit WebKitWebResource::failed-with-tls-errors |
| signal instead of WebKitWebResource::failed so that TLS errors information and certificate |
| are provided. |
| |
| * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: |
| (didReceiveWebViewMessageFromInjectedBundle): Check if the error |
| is a TLS failure to emit failed-with-tls-errors instead of failed. |
| * UIProcess/API/gtk/WebKitWebResource.cpp: |
| (webkit_web_resource_class_init): Add WebKitWebResource::failed-with-tls-errors signal. |
| (webkitWebResourceFailedWithTLSErrors): Emit failed-with-tls-errors and finish signals. |
| * UIProcess/API/gtk/WebKitWebResourcePrivate.h: |
| |
| 2014-11-05 Shivakumar JM <shiva.jm@samsung.com> |
| |
| Fix build warning in WebKit2/WebProcess module. |
| https://bugs.webkit.org/show_bug.cgi?id=138410 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fix build warning by removing parameter name |
| |
| * WebProcess/WebPage/WebPageOverlay.h: |
| (WebKit::WebPageOverlay::Client::prepareForActionMenu): |
| |
| 2014-11-05 Antti Koivisto <antti@apple.com> |
| |
| Move HTTPHeaderMap encoding to the class |
| https://bugs.webkit.org/show_bug.cgi?id=138412 |
| |
| Reviewed by Andreas Kling. |
| |
| * PluginProcess/PluginControllerProxy.cpp: |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<HTTPHeaderMap>::encode): Deleted. |
| (IPC::ArgumentCoder<HTTPHeaderMap>::decode): Deleted. |
| |
| Make these HTTPHeaderMap members instead so they can access internals and can be used elsewhere. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| |
| 2014-11-04 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _dismissActionMenuDataDetectorPopovers]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| |
| 2014-11-04 Beth Dakin <bdakin@apple.com> |
| |
| Un-anchor data detector popovers on scroll |
| https://bugs.webkit.org/show_bug.cgi?id=138385 |
| -and corresponding- |
| rdar://problem/18869345 |
| |
| Reviewed by Tim Horton. |
| |
| Whenever we dismiss the dictionary popover, and on scroll, we should try to |
| dismiss the data detector popovers. Right now we don’t have the ability to know if |
| a dismiss succeeded, so we will settle for un-anchoring the popover. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView viewDidMoveToWindow]): |
| (-[WKView _dismissActionMenuDataDetetcorPopovers]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| (WebKit::WebPageProxy::pageDidScroll): |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::dismissActionMenuDataDetetcorPopovers): |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController dismissActionMenuDataDetetcorPopovers]): |
| |
| 2014-11-04 Andy Estes <aestes@apple.com> |
| |
| [iOS] WKPDFView should scroll to a fragment when loading a PDF |
| https://bugs.webkit.org/show_bug.cgi?id=138404 |
| |
| Reviewed by Tim Horton. |
| |
| WKPDFView already knew how to scroll to a page number fragment during a same-document navigation, but it didn't |
| know to do so when loading a PDF whose URL already contained a page number fragment. This could happen if the |
| user long-presses a page number link and taps 'Open in New Tab'. |
| |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView web_setContentProviderData:suggestedFilename:]): Called _scrollToFragment:. |
| (-[WKPDFView _scrollToFragment:]): Moved fragment scrolling code to here from web_didSameDocumentNavigation:. |
| (-[WKPDFView web_didSameDocumentNavigation:]): Called _scrollToFragment. |
| |
| 2014-11-04 Andy Estes <aestes@apple.com> |
| |
| [iOS] Stop using +[NSURL _web_URLWithWTFString:relativeToURL:] in WKPDFView |
| https://bugs.webkit.org/show_bug.cgi?id=138357 |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| During patch review for r175595 I changed from using +URLWithString:relativeToURL: to using |
| +_web_URLWithWTFString:relativeToURL: to append a page number fragment to the document URL. |
| If the base URL already contains a fragment, +_web_URLWithWTFString:relativeToURL: appends to the existing |
| fragment whereas +URLWithString:relativeToURL: replaces the existing fragment. I want the latter behavior. |
| |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView _URLForLinkAnnotation:]): |
| |
| 2014-11-04 Tim Horton <timothy_horton@apple.com> |
| |
| Add bundle SPI allowing PageOverlay to customize the action menu |
| https://bugs.webkit.org/show_bug.cgi?id=138388 |
| <rdar://problem/18875579> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: |
| Bump the BundlePageOverlay client version. |
| |
| (WKBundlePageOverlayCreate): |
| (WKBundlePageOverlaySetAccessibilityClient): |
| Don't return if we have a version; the version check happens later anyway, |
| and now it is valid to have a version >0. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: |
| Bump the BundlePageOverlay client version. |
| Add prepareForActionMenu callback. |
| |
| * WebProcess/WebPage/WebPageOverlay.h: |
| (WebKit::WebPageOverlay::Client::prepareForActionMenu): |
| * WebProcess/WebPage/WebPageOverlay.cpp: |
| (WebKit::overlayMap): |
| (WebKit::WebPageOverlay::WebPageOverlay): |
| (WebKit::WebPageOverlay::~WebPageOverlay): |
| (WebKit::WebPageOverlay::fromCoreOverlay): |
| (WebKit::WebPageOverlay::pageOverlayDestroyed): |
| Keep track of a map of PageOverlay to WebPageOverlay. |
| |
| (WebKit::WebPageOverlay::prepareForActionMenu): |
| Forward prepareForActionMenu to the client. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Iterate through the overlays and let them prepareForActionMenu; |
| the first overlay that returns true wins. If no overlays want to |
| do anything, hand preparation along to the context menu client. |
| |
| 2014-11-03 Jeremy Jones <jeremyj@apple.com> |
| |
| Add button and enable optimized fullscreen. |
| https://bugs.webkit.org/show_bug.cgi?id=138351 |
| |
| Reviewed by Eric Carlson. |
| |
| Add IsOptimizedFullscreenSupported to enable the feature only where appropriate. |
| |
| * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: |
| (InitWebCoreSystemInterface): add IsOptimizedFullscreenSupported |
| |
| 2014-11-04 Andy Estes <aestes@apple.com> |
| |
| [iOS] Add long press support for links in WKPDFView |
| https://bugs.webkit.org/show_bug.cgi?id=138357 |
| |
| Reviewed by Dan Bernstein. |
| |
| Use WKActionSheetAssistant to show a link action sheet in response to long-pressing on a link. Have WKPDFView |
| conform to WKActionSheetAssistantDelegate in order to respond to the open and copy actions as well as to |
| provide the link's URL and position information to WKActionSheetAssistant. The long-pressed link is highlighted |
| for .75 seconds before the sheet is displayed in order to match UIWebPDFView. |
| |
| * UIProcess/ios/WKActionSheetAssistant.h: Made protocol methods that WKPDFView doesn't implement optional. |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant updatePositionInformation]): Checked if delegate responds to |
| updatePositionInformationForActionSheetAssistant: before calling. |
| (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): Checked if delegate responds to |
| actionSheetAssistant:willStartInteractionWithElement: before calling. |
| (-[WKActionSheetAssistant cleanupSheet]): Checked if delegate responds to actionSheetAssistantDidStopInteraction: |
| before calling. |
| * UIProcess/ios/WKPDFView.h: Conformed to WKActionSheetAssistantDelegate. |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView web_initWithFrame:webView:]): Instantiated a WKActionSheetAssistant and set self as its delegate. |
| (-[WKPDFView _highlightLinkAnnotation:forDuration:completionHandler:]): Moved highlight drawing to here from |
| annotation:wasTouchedAtPoint:controller: in order to be reused for long-press. |
| (-[WKPDFView _URLForLinkAnnotation:]): Moved URL creation to here from annotation:wasTouchedAtPoint:controller: |
| in order to be reused for long-press. Generated an absolute URL since this URL might go into the pasteboard. |
| (-[WKPDFView annotation:wasTouchedAtPoint:controller:]): Changed to call |
| _highlightLinkAnnotation:forDuration:completionHandler: and _URLForLinkAnnotation:. |
| (-[WKPDFView annotation:isBeingPressedAtPoint:controller:]): Set values on _positionInformation and called |
| -[WKActionSheetAssistant showLinkSheet] after showing a highlight for .75 seconds. |
| (-[WKPDFView positionInformation]): Returned _positionInformation. |
| (-[WKPDFView performAction:]): Added a UTF-8 text and URL representation of the pressed URL to the pasteboard. |
| (-[WKPDFView openElementAtLocation:]): Called WebPage::navigateToURLWithSimulatedClick(). |
| (-[WKPDFView actionsForElement:defaultActions:]): Returned actions from UIClient::actionsForElement(). |
| (-[WKPDFView _createHighlightViewWithFrame:]): Deleted. |
| |
| 2014-11-04 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the 32-bit build. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| |
| 2014-11-04 Conrad Shultz <conrad_shultz@apple.com> |
| |
| Use a web view for Quick Look in action menus |
| https://bugs.webkit.org/show_bug.cgi?id=138370 |
| |
| Reviewed by Anders Carlsson. |
| |
| Instead of using the QLPreviewBubble SPI, show a popover containing a web view. This currently |
| does not inherit any configuration from the presenting WKView and does not expose any |
| customization options. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| Declare new internal NSViewController subclass, WKPagePreviewViewController. |
| (-[WKPagePreviewViewController initWithPageURL:]): |
| Store the passed-in URL and set a somewhat arbitrary (iPhone 5 screen size) default preferred size. |
| (-[WKPagePreviewViewController loadView]): |
| Create a WKWebView and load the URL passed into the initializer. |
| (-[WKActionMenuController _previewURLFromActionMenu:]): |
| Renamed from -_quickLookURLFromActionMenu:; present the popover returned by -_createPreviewPopoverForURL:. |
| (-[WKActionMenuController _createPreviewPopoverForURL:]): |
| New helper method; return a popover that owns a _WKPagePreviewViewController configured to show a scaled-down web page. |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| Update to reflect method rename. |
| (-[WKActionMenuController _quickLookURLFromActionMenu:]): Deleted. |
| |
| 2014-11-04 Chris Dumez <cdumez@apple.com> |
| |
| Add ptr() method to Ref class |
| https://bugs.webkit.org/show_bug.cgi?id=138361 |
| |
| Reviewed by Darin Adler. |
| |
| Use the new Ref::ptr() method. |
| |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::createWebPage): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setPreferences): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didNavigateWithNavigationData): |
| (WebKit::WebProcessProxy::didPerformClientRedirect): |
| (WebKit::WebProcessProxy::didPerformServerRedirect): |
| (WebKit::WebProcessProxy::didUpdateHistoryTitle): |
| |
| 2014-11-04 Andy Estes <aestes@apple.com> |
| |
| [iOS] Include a WKActionSheetAssistant parameter in WKActionSheetAssistantDelegate methods |
| https://bugs.webkit.org/show_bug.cgi?id=137792 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/_WKElementAction.mm: |
| (+[_WKElementAction elementActionWithTitle:actionHandler:]): |
| (+[_WKElementAction elementActionWithType:customTitle:]): |
| (-[_WKElementAction _runActionWithElementInfo:forActionSheetAssistant:]): |
| * UIProcess/API/Cocoa/_WKElementActionInternal.h: |
| * UIProcess/ios/WKActionSheetAssistant.h: |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]): |
| (-[WKActionSheetAssistant presentationRectInHostViewForSheet]): |
| (-[WKActionSheetAssistant updatePositionInformation]): |
| (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): |
| (-[WKActionSheetAssistant showImageSheet]): |
| (-[WKActionSheetAssistant showLinkSheet]): |
| (-[WKActionSheetAssistant showDataDetectorsSheet]): |
| (-[WKActionSheetAssistant cleanupSheet]): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView positionInformationForActionSheetAssistant:]): |
| (-[WKContentView updatePositionInformationForActionSheetAssistant:]): |
| (-[WKContentView actionSheetAssistant:performAction:]): |
| (-[WKContentView actionSheetAssistant:openElementAtLocation:]): |
| (-[WKContentView actionSheetAssistant:decideActionsForElement:defaultActions:]): |
| (-[WKContentView actionSheetAssistant:willStartInteractionWithElement:]): |
| (-[WKContentView actionSheetAssistantDidStopInteraction:]): |
| |
| 2014-11-04 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r175564 for !PLATFORM(COCOA). |
| |
| * Shared/TextIndicator.cpp: |
| |
| 2014-11-04 Tim Horton <timothy_horton@apple.com> |
| |
| Implement yellow highlight over data detected items |
| https://bugs.webkit.org/show_bug.cgi?id=138340 |
| <rdar://problem/18840102> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/TextIndicator.cpp: Renamed from Source/WebKit2/UIProcess/TextIndicator.cpp. |
| * Shared/TextIndicator.h: Renamed from Source/WebKit2/UIProcess/TextIndicator.h. |
| Move TextIndicator to Shared. |
| Move all of the members to a Data struct. |
| Implement encode/decode for TextIndicator::Data, so it can be passed as |
| the argument to SetTextIndicator, and also as a field on ActionMenuHitTestResult. |
| Add 'createWithSelectionInFrame', which builds a TextIndicator |
| from the selection in the given frame. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| Rename actionBoundingBox to detectedDataBoundingBox. |
| Store/encode/decode detectedDataTextIndicator. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setTextIndicator): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| Create a TextIndicator from the TextIndicator::Data. |
| Add an explicit ClearTextIndicator message instead of sending empty Data. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| If the text indicator is up when preparing for a new menu invocation, hide it. |
| |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| Show the text indicator when the menu opens, for data detected items. |
| |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| Hide the text indicator when the menu closes, unless we only had one item. |
| Then, we'll hide it in the DDActionContext completionHandler block. |
| |
| (-[WKActionMenuController _showTextIndicator]): |
| (-[WKActionMenuController _hideTextIndicator]): |
| Added. Show and hide the text indicator based on the TextIndicator |
| data included in the action menu hit test result. |
| |
| (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]): |
| Hide the text indicator when the data detector popover completes. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::getImageForFindMatch): |
| Make use of the newly-moved createSelectionSnapshot. |
| |
| (WebKit::FindController::updateFindIndicator): |
| Make use of TextIndicator::createWithSelectionInFrame, which allows |
| us to share this code for building a TextIndicator with other callers. |
| |
| (WebKit::FindController::hideFindIndicator): |
| |
| (WebKit::getFindIndicatorBitmap): Deleted. |
| Move getFindIndicatorBitmap to WebFrame::createSelectionSnapshot. |
| |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::createSelectionSnapshot): |
| Moved from FindController's getFindIndicatorBitmap. |
| Now returns a ShareableBitmap instead of going ahead and making a Handle. |
| |
| * WebProcess/WebPage/WebFrame.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::scanForDataDetectedItems): |
| (WebKit::textIndicatorForRange): |
| Temporarily change the selection to the given range, then use |
| TextIndicator::indicatorWithSelectionInFrame to acquire a TextIndicator, |
| then reset the selection. |
| |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Create a TextIndicator from the data detected range. |
| |
| 2014-11-04 Andy Estes <aestes@apple.com> |
| |
| Fix the iOS build after r175549. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::performActionOnElement): |
| |
| 2014-11-04 Darin Adler <darin@apple.com> |
| |
| Eliminate ResourceBuffer and use SharedBuffer directly instead |
| https://bugs.webkit.org/show_bug.cgi?id=138174 |
| |
| Reviewed by Antti Koivisto. |
| |
| * CMakeLists.txt: Removed WebResourceBuffer.cpp. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::sendBuffer): Use a reference instead of pointer. |
| * NetworkProcess/NetworkResourceLoader.h: Ditto. |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.h: Ditto. |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: |
| (WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked): Ditto. |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: |
| (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): Ditto. |
| |
| * Shared/WebResourceBuffer.cpp: Removed. |
| * Shared/WebResourceBuffer.h: Removed. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Removed WebResourceBuffer.cpp/h. |
| |
| * WebProcess/Network/NetworkProcessConnection.cpp: Removed unneeded includes. |
| (WebKit::NetworkProcessConnection::didCacheResource): Use a reference instead |
| of a pointer. |
| |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: Removed unneeded include. |
| * WebProcess/Network/WebResourceLoader.cpp: Ditto. |
| * WebProcess/Network/WebResourceLoader.h: Ditto. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto. |
| (WebKit::WebFrameLoaderClient::finishedLoading): Use SharedBuffer directly. |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::source): Ditto. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::runJavaScriptInMainFrame): Refactored to make the relationship |
| between the buffer and the DataReference clearer and to avoid having a long-lived |
| DataReference pointing to an underlying buffer with unclear lifetime. |
| (WebKit::WebPage::getContentsAsString): Ditto. |
| (WebKit::WebPage::getSelectionAsWebArchiveData): Ditto. |
| (WebKit::WebPage::getMainResourceDataOfFrame): Ditto. Also use SharedBuffer directly. |
| (WebKit::WebPage::getResourceDataFromFrame): Ditto. |
| (WebKit::WebPage::getWebArchiveOfFrame): Ditto. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::containingLinkElement): Use elementLineage. |
| (WebKit::WebPage::performActionOnElement): Use references and SharedBuffer. |
| ALso did a bit of other cleanup in here. |
| (WebKit::isAssistableElement): Take Element& instead of Node*, since that's what |
| the caller has. |
| (WebKit::nextAssistableElement): Changed name to match what the function does. |
| Added an obviously-missing check on the startNode argument. Updated for change |
| to isAssistableElement above. Take a Page& instead of a Page*. |
| (WebKit::hasAssistableElement): Changed name to match what the function does. |
| Updated for change to nextAssistableElement above. Took out incorrect comparison |
| of a C++ pointer to the Objective-C object pointer nil. Take a Page& instead of a Page*. |
| (WebKit::WebPage::focusNextAssistedNode): Updated for above changes. |
| (WebKit::WebPage::getAssistedNodeInformation): Updated for above changes. |
| |
| 2014-11-04 Tim Horton <timothy_horton@apple.com> |
| |
| Dictionary lookup panel pops up at random when clicking on selected text |
| https://bugs.webkit.org/show_bug.cgi?id=138353 |
| <rdar://problem/18861406> |
| |
| * WebProcess/WebPage/WebPage.h: |
| Fix the build; this needs to be public. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::rangeForDictionaryLookupAtHitTestResult): |
| Use the right selection (the one we just tested) in the change from r175517. |
| |
| 2014-11-04 Tim Horton <timothy_horton@apple.com> |
| |
| Dictionary lookup panel pops up at random when clicking on selected text |
| https://bugs.webkit.org/show_bug.cgi?id=138353 |
| <rdar://problem/18861406> |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::rangeForDictionaryLookupForSelection): |
| (WebKit::rangeForDictionaryLookupAtHitTestResult): |
| Factor rangeForDictionaryLookupForSelection out of performDictionaryLookupForSelection. |
| |
| Make use of rangeForDictionaryLookupForSelection in rangeForDictionaryLookupAtHitTestResult, |
| returning the selection-based range if the hit test intersects the selected text. |
| Previously, we were just going forward with performDictionaryLookupForSelection, |
| which would actually *do* the lookup, even if we just wanted to retrieve the range. |
| |
| Make rangeForDictionaryLookup* static. |
| |
| (WebKit::WebPage::performDictionaryLookupForSelection): |
| Make use of rangeForDictionaryLookupForSelection. |
| |
| 2014-11-03 Chris Dumez <cdumez@apple.com> |
| |
| Allow implicit conversion from Ref<T> to T& |
| https://bugs.webkit.org/show_bug.cgi?id=138331 |
| |
| Reviewed by Andreas Kling. |
| |
| Remove unnecessary calls to Ref<T>::get() now that a Ref<T> can be |
| converted implicitly to a T&. |
| |
| 2014-11-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Expose visibleDebugOverlayRegions pref via the WK2 C SPI |
| https://bugs.webkit.org/show_bug.cgi?id=138342 |
| |
| Reviewed by Dan Bernstein. |
| |
| Expose WKDebugOverlayRegions via the C SPI. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetVisibleDebugOverlayRegions): |
| (WKPreferencesGetVisibleDebugOverlayRegions): |
| * UIProcess/API/C/WKPreferencesRef.h: |
| |
| 2014-11-03 Beth Dakin <bdakin@apple.com> |
| |
| Implement action menus for editable text with spelling suggestions |
| https://bugs.webkit.org/show_bug.cgi?id=138333 |
| -and corresponding- |
| rdar://problem/18742371 |
| |
| Reviewed by Tim Horton. |
| |
| New types. |
| * Shared/API/c/WKActionMenuItemTypes.h: |
| * Shared/API/c/WKActionMenuTypes.h: |
| |
| ActionMenuHitTestResult now stores the String result of the lookup. |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| |
| Make getGuessesForWord() public so we can call it from WKActionMenuController. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| Select the text for all types of text menus. |
| (-[WKActionMenuController isMenuForTextContent]): |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| |
| Spelling suggestions are presented in a sub-menu and will replace the selection |
| when chosen. |
| (-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]): |
| (-[WKActionMenuController _changeSelectionToSuggestion:]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| (-[WKActionMenuController _defaultMenuItems:]): |
| |
| New function to store the lookupText as a String on the ActionMenuHitTestResult. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::lookupTextAtLocation): |
| |
| 2014-11-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=138257 |
| |
| Reviewed by Tim Horton. |
| |
| Add private prefs to control visibility of debug-related page region overlays. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _visibleDebugOverlayRegions]): |
| (-[WKPreferences _setVisibleDebugOverlayRegions:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/mac/WebPreferencesMac.mm: |
| (WebKit::setDebugUInt32ValueIfInUserDefaults): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::updatePreferences): Update the overlays. |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Update the overlays. |
| |
| 2014-11-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r175406, r175413, and r175423. |
| https://bugs.webkit.org/show_bug.cgi?id=138327 |
| |
| Multipart tests are still broken (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "Eliminate ResourceBuffer and use SharedBuffer directly |
| instead" |
| https://bugs.webkit.org/show_bug.cgi?id=138174 |
| http://trac.webkit.org/changeset/175406 |
| |
| "Unreviewed, iOS build fix since 175406." |
| http://trac.webkit.org/changeset/175413 |
| |
| "Fix assertion in CachedResource::addDataBuffer" |
| http://trac.webkit.org/changeset/175423 |
| |
| 2014-11-03 Tim Horton <timothy_horton@apple.com> |
| |
| _actionMenuItemsForHitTestResult is given kWKActionMenuLink but an empty array of defaultMenuItems |
| https://bugs.webkit.org/show_bug.cgi?id=138321 |
| <rdar://problem/18855134> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| (-[WKActionMenuController _defaultMenuItems:]): |
| Move the HTTP-family-URLs-only condition to the place where we decide what kind of menu to |
| show. We depend on _defaultMenuItemsForLink returning the link menu, and should never |
| set the link menu type if we aren't going to build a link menu. |
| |
| 2014-11-03 Tim Horton <timothy_horton@apple.com> |
| |
| Use FrameSnapshotting functions in FindController::getFindIndicatorBitmap |
| https://bugs.webkit.org/show_bug.cgi?id=138300 |
| <rdar://problem/18855863> |
| |
| Reviewed by Simon Fraser. |
| |
| Share more code by using WebCore's FrameSnapshotting::snapshotSelection |
| in FindController instead of copying it into FindController wholesale. |
| |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::getFindIndicatorBitmap): |
| Make getFindIndicatorBitmap static, rename it from getFindIndicatorBitmapAndRect, |
| and drop the rect argument because only one caller wanted it, and we no longer need |
| to compute it (this happens in WebCore now). |
| |
| Use snapshotSelection; all of the removed paint behaviors get added by |
| code in or underneath snapshotSelection now. |
| |
| Draw the snapshot into our ShareableBitmap; we could avoid this in a future patch |
| by refactoring the FrameSnapshotting functions to take GraphicsContexts. |
| |
| (WebKit::FindController::getImageForFindMatch): |
| (WebKit::FindController::updateFindIndicator): |
| Adopt the new getFindIndicatorBitmap. |
| |
| * WebProcess/WebPage/FindController.h: |
| Remove getFindIndicatorBitmap(AndRect), which is now static. |
| |
| 2014-11-03 Csaba Osztrogonác <ossy@webkit.org> |
| |
| URTBF after r175476 to make GTK and EFL build happy. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::setTextIndicator): |
| (WebKit::PageClientImpl::setFindIndicator): Deleted. |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/CoordinatedGraphics/WebView.cpp: |
| (WebKit::WebView::setTextIndicator): |
| (WebKit::WebView::setFindIndicator): Deleted. |
| * UIProcess/CoordinatedGraphics/WebView.h: |
| |
| 2014-11-03 Tim Horton <timothy_horton@apple.com> |
| |
| Rename FindIndicator{Window} to TextIndicator{Window} |
| https://bugs.webkit.org/show_bug.cgi?id=138302 |
| <rdar://problem/18855190> |
| |
| Reviewed by Anders Carlsson. |
| |
| Rename FindIndicator{Window} to TextIndicator{Window} (and related), |
| because it will soon be used to indicate ranges of text that are not |
| necessarily find-in-page results. |
| |
| FindController still has things named 'findIndicator' internally, |
| and I left the API alone (because all the API bits are actually find-specific), |
| but the actual FindIndicator/Window and the message to set it up, etc. are all |
| now called Text*. |
| |
| * CMakeLists.txt: |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/TextIndicator.cpp: Renamed from Source/WebKit2/UIProcess/FindIndicator.cpp. |
| * UIProcess/TextIndicator.h: Renamed from Source/WebKit2/UIProcess/FindIndicator.h. |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| * UIProcess/mac/TextIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/mac/FindIndicatorWindow.h. |
| * UIProcess/mac/TextIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/mac/FindIndicatorWindow.mm. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebPage/FindController.cpp: |
| |
| 2014-11-03 Beth Dakin <bdakin@apple.com> |
| |
| Implement action menus for editable text |
| https://bugs.webkit.org/show_bug.cgi?id=138284 |
| -and corresponding- |
| rdar://problem/18742323 |
| |
| Reviewed by Tim Horton. |
| |
| New item type for paste. |
| * Shared/API/c/WKActionMenuItemTypes.h: |
| |
| New menu type for editable text. |
| * Shared/API/c/WKActionMenuTypes.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| willOpenMenu should select text for both regular text menus and editable text |
| menus. |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| |
| Default items for editable text. |
| (-[WKActionMenuController _defaultMenuItemsForEditableText]): |
| (-[WKActionMenuController _paste:]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| |
| New method _hitTestResultForStage:(MenuUpdateStage)stage will figure out whether |
| we can use the WebHitTestResult from the ActionMenuHitTestResult or if we have to |
| use the potentially out-of-date WebHitTestResult that is cached on WebPageProxy. |
| An important difference between these results is that the ActionMenuHitTest |
| result, in addition to being more recent and accurate, also now includes shadow |
| content, which affects some editable regions on important sites such as |
| bugs.webkit.org and nytimes.com. |
| (-[WKActionMenuController _defaultMenuItems:]): |
| (-[WKActionMenuController _updateActionMenuItemsForStage:]): |
| (imageForResource:name::if): Deleted. |
| |
| Allow shadow content in action menu hit testing. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| (WebKit::WebPage::selectLookupTextAtLocation): |
| |
| 2014-11-03 Ada Chan <adachan@apple.com> |
| |
| Persist the page's muted state across web process crashes. |
| https://bugs.webkit.org/show_bug.cgi?id=138195 |
| |
| Reviewed by Anders Carlsson. |
| |
| Store the Page's muted state in WebPageCreationParameters so that state can be properly |
| restored after recovering from a crash in the web process. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| Initialize m_muted. |
| (WebKit::WebPageProxy::setMuted): |
| Update m_muted. |
| (WebKit::WebPageProxy::creationParameters): |
| Set the muted data member in WebPageCreationParameters. |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| Initialize the page's muted state with the muted value from WebPageCreationParameters. |
| |
| 2014-11-03 Ryuan Choi <ryuan.choi@gmail.com> |
| |
| [EFL] Remove dependency of PageViewportController from PageViewportControllerClient |
| https://bugs.webkit.org/show_bug.cgi?id=138301 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| PaeViewportControllerClient does not need to keep the instance of PageViewPortController. |
| This patch removes it to simplify relation between them. |
| In addition, uses a reference for the client of PageViewportController. |
| |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::EwkView): |
| (EwkView::setViewportPosition): |
| * UIProcess/API/efl/EwkView.h: |
| * UIProcess/CoordinatedGraphics/PageViewportController.cpp: |
| (WebKit::PageViewportController::PageViewportController): |
| (WebKit::PageViewportController::didChangeContentsSize): |
| (WebKit::PageViewportController::didRenderFrame): |
| (WebKit::PageViewportController::pageDidRequestScroll): |
| (WebKit::PageViewportController::syncVisibleContents): |
| (WebKit::PageViewportController::didChangeViewportAttributes): |
| * UIProcess/CoordinatedGraphics/PageViewportController.h: |
| * UIProcess/PageViewportControllerClient.h: |
| * UIProcess/efl/PageViewportControllerClientEfl.cpp: |
| (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl): |
| (WebKit::PageViewportControllerClientEfl::setViewportPosition): |
| (WebKit::PageViewportControllerClientEfl::setController): Deleted. |
| * UIProcess/efl/PageViewportControllerClientEfl.h: |
| |
| 2014-11-03 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| AX: Fix some minor typos related to the word "accessibility". |
| https://bugs.webkit.org/show_bug.cgi?id=138299 |
| |
| Reviewed by Chris Fleizach. |
| |
| No new tests, no behavior change. |
| |
| * WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm: |
| |
| 2014-11-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r163656): Remote inspector doesn't work unless preferences change after page initialization |
| https://bugs.webkit.org/show_bug.cgi?id=138246 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| The problem is that initializeWebPage() is still using |
| pageGroup().preferences() instead of m_preferences to check if |
| developer extras are enabled to enable remote inspection of the page. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::initializeWebPage): Use m_preferences |
| instead of pageGroup().preferences(). |
| |
| 2014-11-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(CMake): Make it possible to build without introspection |
| https://bugs.webkit.org/show_bug.cgi?id=138006 |
| |
| Reviewed by Philippe Normand. |
| |
| Do not install introspection files when introspection is disabled. |
| |
| * PlatformGTK.cmake: |
| |
| 2014-10-31 Dan Bernstein <mitz@apple.com> |
| |
| Removed a reference to a file that’s been deleted. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Removed reference to XPCPtr.h. |
| |
| 2014-10-31 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr instead of OwnPtr in CoordinatorDrawingProxy |
| https://bugs.webkit.org/show_bug.cgi?id=138238 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: |
| (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy): Use std::make_unique. |
| (WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode): |
| * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Use std::unique_ptr instead of OwnPtr. |
| |
| 2014-10-31 Sam Weinig <sam@webkit.org> |
| |
| Add bundle SPI to customize the action menu |
| <rdar://problem/18830771> |
| https://bugs.webkit.org/show_bug.cgi?id=138271 |
| |
| Reviewed by Anders Carlsson. |
| |
| - Adds a new function to the WKBundlePageContextMenuClient that allows the client to pass construct |
| user data in the bundle that can be available when customizing the menu in -[WKView _actionMenuItemsForHitTestResult...]. |
| - Changes the signature of -[WKView _actionMenuItemsForHitTestResult...] to add userData. |
| - Makes the actual hit test result available in the second invocation of -[WKView _actionMenuItemsForHitTestResult...] |
| by serializing it in the ActionMenuHitTestResult. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| Adds the WebHitTestResult and the original hit test request location. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| Adds a new version of _actionMenuItemsForHitTestResult that passes userData along. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _didPerformActionMenuHitTest:userData:]): |
| (-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:userData:]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didPerformActionMenuHitTest): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformActionMenuHitTest): |
| Pipe the user data through to the WKView. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| (-[WKActionMenuController didPerformActionMenuHitTest:userData:]): |
| (-[WKActionMenuController menuNeedsUpdate:]): |
| (-[WKActionMenuController _updateActionMenuItemsForStage:]): |
| Differentiate between the two times _updateActionMenuItems was called via a new stage parameter, |
| (it is called once in prepareForMenu, and once in menuNeedsUpdate). Use the last mouse move hit |
| test result in the prepareForMenu case (as we don't have a real result yet), and the hit result |
| passed in via didPerformActionMenuHitTest in the menuNeedsUpdate case (assuming we didn't time out) |
| waiting on the web process. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: |
| (WebKit::InjectedBundlePageContextMenuClient::prepareForActionMenu): |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Adds new bundle SPI to collect user data to pass to the -[WKView _actionMenuItemsForHitTestResult...] method. |
| |
| 2014-10-31 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Use std::unique_ptr for TypeCountSet |
| https://bugs.webkit.org/show_bug.cgi?id=138242 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::getWebCoreStatistics): Use std::unique_ptr<> instead of OwnPtr. |
| |
| 2014-10-30 Jer Noble <jer.noble@apple.com> |
| |
| [WK2] Send origin & deletion requests to WebProcessess in additon to the DatabaseProcess. |
| https://bugs.webkit.org/show_bug.cgi?id=138212 |
| |
| Reviewed by Brady Eidson. |
| |
| Now that the WebProcess has its own WebOriginDataManager, WebOriginDataManagerProxy needs to |
| send its origin and deletion messages to all the WebProcesses. This necessetates synchronizing |
| all the various process's callbacks so that the final callback is only triggered once all the |
| messaged processes reply. |
| |
| Add a simple class, CallbackSynchronizer, which will keep track of outstanding process callbacks |
| and which will trigger the final callback once all of them finish. |
| |
| * UIProcess/WebOriginDataManagerProxy.cpp: |
| (WebKit::CallbackSynchronizer::create): |
| (WebKit::CallbackSynchronizer::~CallbackSynchronizer): |
| (WebKit::CallbackSynchronizer::taskStarted): |
| (WebKit::CallbackSynchronizer::taskCompleted): |
| (WebKit::CallbackSynchronizer::CallbackSynchronizer): |
| (WebKit::createSynchronizedCallback): |
| (WebKit::sendMessageToAllProcessesInContext): |
| (WebKit::WebOriginDataManagerProxy::getOrigins): |
| (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin): |
| (WebKit::WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates): |
| (WebKit::WebOriginDataManagerProxy::deleteAllEntries): |
| |
| Drive-by fix: check the correct enum value for WebMedia origin requests. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::getOrigins): |
| (WebKit::WebProcess::deleteEntriesForOrigin): |
| (WebKit::WebProcess::deleteEntriesModifiedBetweenDates): |
| (WebKit::WebProcess::deleteAllEntries): |
| |
| 2014-10-31 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r175376): Occasional null deref when doing a dictionary lookup |
| https://bugs.webkit.org/show_bug.cgi?id=138261 |
| <rdar://problem/18841709> |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::performDictionaryLookupAtLocation): |
| rangeForDictionaryLookupAtHitTestResult can easily return null. |
| |
| 2014-10-31 Beth Dakin <bdakin@apple.com> |
| |
| Use system art for action menus when possible |
| https://bugs.webkit.org/show_bug.cgi?id=138260 |
| |
| Reviewed by Tim Horton. |
| |
| * Resources/AddImageToPhotosTemplate.pdf: Removed. |
| * Resources/CopyImageTemplate.pdf: Removed. |
| * Resources/SaveImageToDownloadsTemplate.pdf: Removed. |
| * Resources/ShareImageTemplate.pdf: Removed. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-10-31 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build for Yosemite systems after r175417 |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| 2014-10-31 Timothy Horton <timothy_horton@apple.com> |
| |
| Fix the build for pre-Yosemite systems after r175417 |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView dealloc]): |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformActionMenuHitTest): |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| 2014-10-31 Timothy Horton <timothy_horton@apple.com> |
| |
| Remove "Add to iPhoto" from the action menu's sharing menu |
| https://bugs.webkit.org/show_bug.cgi?id=138251 |
| <rdar://problem/18837197> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]): |
| Retain/autorelease the new array. |
| |
| 2014-10-31 Tim Horton <timothy_horton@apple.com> |
| |
| Remove "Add to iPhoto" from the action menu's sharing menu |
| https://bugs.webkit.org/show_bug.cgi?id=138251 |
| <rdar://problem/18837197> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]): |
| Filter out "Add to iPhoto". |
| |
| 2014-10-31 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Support script message handlers WebKitUserContentManager |
| https://bugs.webkit.org/show_bug.cgi?id=133730 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Support user script message handlers in WebKitUserContentManager. |
| This needs building with ENABLE_USER_MESSAGE_HANDLERS, for which |
| an option is added to the CMake build files. The option is disabled |
| globally by default, and the WebKitGTK port enables it. On the API |
| level, two new methods to register and unregister names are provided |
| in the "window.webkit" namespace, and on message reception the |
| "WebKitUserContentManager::script-message-received" signal is |
| emitted, using the registered names as signal detail. |
| |
| * UIProcess/API/gtk/WebKitJavascriptResult.cpp: Add a new private |
| function to construct a WebKitJavascriptResult directly from a |
| WebCore::SerializedScriptValue. |
| (_WebKitJavascriptResult::_WebKitJavascriptResult): Ditto. |
| (webkitJavascriptResultCreate): Ditto. |
| * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Ditto. |
| * UIProcess/API/gtk/WebKitUserContentManager.cpp: |
| (webkit_user_content_manager_class_init): Install the |
| "script-message-received" signal. |
| (webkit_user_content_manager_register_script_message_handler): |
| Added. |
| (webkit_user_content_manager_unregister_script_message_handler): |
| Added. |
| * UIProcess/API/gtk/WebKitUserContentManager.h: Added the new |
| public API methods. |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto. |
| * UIProcess/API/gtk/docs/webkit2gtk.types: Add |
| webkit_user_content_manager_get_type() to the list in order to make |
| gtk-doc to generate documentation for signals. |
| |
| 2014-10-31 Martin Hock <mhock@apple.com> |
| |
| Unreviewed, iOS build fix since 175406. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::performActionOnElement): |
| |
| 2014-10-30 Darin Adler <darin@apple.com> |
| |
| Eliminate ResourceBuffer and use SharedBuffer directly instead |
| https://bugs.webkit.org/show_bug.cgi?id=138174 |
| |
| Reviewed by Antti Koivisto. |
| |
| * CMakeLists.txt: Removed WebResourceBuffer.cpp. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::sendBuffer): Use a reference instead of pointer. |
| * NetworkProcess/NetworkResourceLoader.h: Ditto. |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.h: Ditto. |
| * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: |
| (WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked): Ditto. |
| * NetworkProcess/mac/NetworkResourceLoaderMac.mm: |
| (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): Ditto. |
| |
| * Shared/WebResourceBuffer.cpp: Removed. |
| * Shared/WebResourceBuffer.h: Removed. |
| |
| * WebKit2.xcodeproj/project.pbxproj: Removed WebResourceBuffer.cpp/h. |
| |
| * WebProcess/Network/NetworkProcessConnection.cpp: Removed unneeded includes. |
| (WebKit::NetworkProcessConnection::didCacheResource): Use a reference instead |
| of a pointer. |
| |
| * WebProcess/Network/WebResourceLoadScheduler.cpp: Removed unneeded include. |
| * WebProcess/Network/WebResourceLoader.cpp: Ditto. |
| * WebProcess/Network/WebResourceLoader.h: Ditto. |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto. |
| (WebKit::WebFrameLoaderClient::finishedLoading): Use SharedBuffer directly. |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::source): Ditto. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::runJavaScriptInMainFrame): Refactored to make the relationship |
| between the buffer and the DataReference clearer and to avoid having a long-lived |
| DataReference pointing to an underlying buffer with unclear lifetime. |
| (WebKit::WebPage::getContentsAsString): Ditto. |
| (WebKit::WebPage::getSelectionAsWebArchiveData): Ditto. |
| (WebKit::WebPage::getMainResourceDataOfFrame): Ditto. Also use SharedBuffer directly. |
| (WebKit::WebPage::getResourceDataFromFrame): Ditto. |
| (WebKit::WebPage::getWebArchiveOfFrame): Ditto. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::containingLinkElement): Use elementLineage. |
| (WebKit::WebPage::performActionOnElement): Use references and SharedBuffer. |
| ALso did a bit of other cleanup in here. |
| (WebKit::isAssistableElement): Take Element& instead of Node*, since that's what |
| the caller has. |
| (WebKit::nextAssistableElement): Changed name to match what the function does. |
| Added an obviously-missing check on the startNode argument. Updated for change |
| to isAssistableElement above. Take a Page& instead of a Page*. |
| (WebKit::hasAssistableElement): Changed name to match what the function does. |
| Updated for change to nextAssistableElement above. Took out incorrect comparison |
| of a C++ pointer to the Objective-C object pointer nil. Take a Page& instead of a Page*. |
| (WebKit::WebPage::focusNextAssistedNode): Updated for above changes. |
| (WebKit::WebPage::getAssistedNodeInformation): Updated for above changes. |
| |
| 2014-10-30 Jer Noble <jer.noble@apple.com> |
| |
| [EME] Add Setting for accessing storage location for MediaKeys data |
| https://bugs.webkit.org/show_bug.cgi?id=138147 |
| |
| Reviewed by Brady Eidson. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): Pass from WebMediaKeyStorageManager into Settings. |
| |
| 2014-10-30 Dana Burkart <dburkart@apple.com> |
| |
| Workaround for <rdar://problem/18830639> |
| |
| Unreviewed. |
| |
| * Shared/API/Cocoa/WKFoundation.h: |
| |
| 2014-10-30 Dana Burkart <dburkart@apple.com> |
| |
| <rdar://problem/18821260> Prepare for the mysterious future |
| |
| Reviewed by Lucas Forschler. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/FeatureDefines.xcconfig: |
| * Configurations/Version.xcconfig: |
| * Configurations/WebContentService.Development.xcconfig: |
| * Configurations/WebContentService.xcconfig: |
| * Configurations/WebKit.xcconfig: |
| |
| 2014-10-30 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the iOS build. |
| |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2014-10-30 Tim Horton <timothy_horton@apple.com> |
| |
| Long spins under rangeExpandedAroundPosition on Yahoo Mail |
| https://bugs.webkit.org/show_bug.cgi?id=138223 |
| <rdar://problem/18819547> |
| |
| Reviewed by Enrica Casucci. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::rangeExpandedAroundPositionByCharacters): |
| Reimplement rangeExpandedAroundPosition to operate on characters instead of lines, |
| and to use Position. Moving VisiblePositions by line can be very expensive in some cases, |
| and for generating lookup/Data Detectors context, we don't care about that kind of precision. |
| This makes this function ~1000x faster when it hits on a row in the Yahoo Mail message list. |
| |
| (WebKit::WebPage::performDictionaryLookupAtLocation): |
| (WebKit::scanForDataDetectedItems): |
| Adopt the new rangeExpandedAroundPositionByCharacters, expanding 250 characters |
| before and after, which roughly matches what we were usually getting going by line, |
| and is a reasonable amount of context for these operations. |
| |
| 2014-10-30 Brady Eidson <beidson@apple.com> |
| |
| IndexedDB is deleting data when a PK is shared amongst two objectStores |
| rdar://problem/18479306 and https://bugs.webkit.org/show_bug.cgi?id=137154 |
| |
| Reviewed by Jer Noble. |
| |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: |
| (WebKit::v1RecordsTableSchema): Store away the v1 schema for introspection into the database. |
| (WebKit::v2RecordsTableSchema): Add utility methods to get the v2 schema with different Table names. |
| (WebKit::createOrMigrateRecordsTableIfNecessary): Check to see if the Records table exists with |
| the correct schema. If it is the v1 schema, then migrate the data to a new v2 table, drop the v1 |
| table, then slide the new table into place. |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::ensureValidRecordsTable): Make sure the Records table |
| exists and is v2, and then make sure the uniqueness index exists. |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Don’t bother creating |
| the Records table here as it will have already been established earlier. |
| (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): |
| * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: |
| |
| 2014-10-30 Beth Dakin <bdakin@apple.com> |
| |
| Implement action menus for text |
| https://bugs.webkit.org/show_bug.cgi?id=138220 |
| -and corresponding- |
| rdar://problem/18742297 |
| |
| Reviewed by Tim Horton. |
| |
| Two new types of actions for the two text actions. |
| * Shared/API/c/WKActionMenuItemTypes.h: |
| |
| One new type of menu. |
| * Shared/API/c/WKActionMenuTypes.h: |
| |
| Pass willOpenMenu on to the WKActionMenuController. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView willOpenMenu:withEvent:]): |
| |
| Two new WebPageProxy functions that will pass messages along to the web process. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::selectLookupTextAtLocation): |
| * UIProcess/WebPageProxy.h: |
| |
| At willOpenMenu time, text menus should select text so that it is clear what the |
| menu actions will apply to. |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| Menu items for text menus. |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| (-[WKActionMenuController _defaultMenuItemsForText]): |
| (-[WKActionMenuController _copyText:]): |
| (-[WKActionMenuController _lookupText:]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| (imageForResource:name::if): |
| |
| New messages to the web process. |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| Re-factor performDictionaryLookupAtLocation() to re-use the code that finds the |
| Range for the dictionary lookup. That code now lives in |
| rangeForDictionaryLookupAtHitTestResult() and can be used by |
| performDictionaryLookupAtLocation() and our new function |
| selectLookupTextAtLocation(). |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::rangeForDictionaryLookupAtHitTestResult): |
| (WebKit::WebPage::performDictionaryLookupAtLocation): |
| |
| Since the action menu text is always selected, when the lookup action is chosen, |
| we can just lookup the current selection. |
| (WebKit::WebPage::performDictionaryLookupOfCurrentSelection): |
| |
| Uses the new function rangeForDictionaryLookupAtHitTestResult() to get a lookup |
| range and then select it. |
| (WebKit::WebPage::selectLookupTextAtLocation): |
| |
| 2014-10-30 Dan Bernstein <mitz@apple.com> |
| |
| When a client certificate is rejected, Safari says the website didn’t accept the certificate “unknown” instead of naming the certificate |
| https://bugs.webkit.org/show_bug.cgi?id=138216 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Shared/cf/ArgumentCodersCF.cpp: |
| (IPC::typeFromCFTypeRef): Remove no-longer-necessary platform guards around SecIdentityRef. |
| (IPC::encode): Ditto. |
| (IPC::decode): Ditto. |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<ResourceError>::encodePlatformData): If NSErrorClientCertificateChainKey |
| is present in the error’s userInfo dictionary, assert that it’s an array of identities and |
| certificates, and include it in the filtered dictionary. |
| |
| 2014-10-29 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [CoordinatedGraphics] Use modern for-loops |
| https://bugs.webkit.org/show_bug.cgi?id=138168 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests as there is no change in functionality. |
| |
| * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Use a modern for loop. |
| (WebCore::CoordinatedBackingStore::texture): |
| (WebCore::CoordinatedBackingStore::paintTilesToTextureMapper): |
| * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Use a modern for loop. |
| (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): |
| * UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Use a modern for loop. |
| (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded): |
| (WebCore::CoordinatedGraphicsScene::createLayers): changed the name of argument to be equal with deleteLayer(). |
| (WebCore::CoordinatedGraphicsScene::deleteLayers): |
| (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded): |
| (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded): |
| (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded): |
| (WebCore::CoordinatedGraphicsScene::syncUpdateAtlases): |
| (WebCore::CoordinatedGraphicsScene::syncImageBackings): |
| (WebCore::CoordinatedGraphicsScene::commitSceneState): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: Use a modern for loop. |
| (WebKit::shouldPaintBoundsRect): |
| (WebKit::CoordinatedDrawingArea::display): |
| |
| 2014-10-29 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, EFL build fix since r175349. |
| |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::didRemoveItem): Use PLATFORM(COCOA) for setSnapshot(). |
| |
| 2014-10-29 Tim Horton <timothy_horton@apple.com> |
| |
| Null deref under performActionMenuHitTestAtLocation |
| https://bugs.webkit.org/show_bug.cgi?id=138197 |
| <rdar://problem/18817803> |
| |
| Reviewed by Beth Dakin. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::scanForDataDetectedItems): |
| Null-check the expanded range. |
| |
| 2014-10-28 Ada Chan <adachan@apple.com> |
| |
| Implement WKPageSetMuted(bool). |
| https://bugs.webkit.org/show_bug.cgi?id=138158 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetMuted): |
| * UIProcess/API/C/WKPagePrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setMuted): |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setMuted): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2014-10-29 Anders Carlsson <andersca@apple.com> |
| |
| Clear ViewSnapshots when back/forward list items are removed from their list |
| https://bugs.webkit.org/show_bug.cgi?id=138188 |
| <rdar://problem/18817001> |
| |
| Reviewed by Tim Horton. |
| |
| Ideally we should remove the WebBackForwardListItem objects as well, but this is a somewhat safer fix. |
| |
| Change all the "remove item" codepaths to call WebBackForwardList::didRemoveItem and have it clear out the snapshot. |
| |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::pageClosed): |
| (WebKit::WebBackForwardList::addItem): |
| (WebKit::WebBackForwardList::removeAllItems): |
| (WebKit::WebBackForwardList::clear): |
| (WebKit::WebBackForwardList::didRemoveItem): |
| * UIProcess/WebBackForwardList.h: |
| |
| 2014-10-29 Tim Horton <timothy_horton@apple.com> |
| |
| Hide the 'Add to Photos' item if it isn't available |
| https://bugs.webkit.org/show_bug.cgi?id=138182 |
| <rdar://problem/18814999> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| (-[WKActionMenuController _canAddImageToPhotos]): |
| (-[WKActionMenuController _addImageToPhotos:]): |
| Factor _canAddImageToPhotos out of _addImageToPhotos:, and use it in |
| _defaultMenuItemsForImage to avoid including the menu item in the first place. |
| |
| 2014-10-29 Tim Horton <timothy_horton@apple.com> |
| |
| Rename WebPageProxy::activeActionMenuHitTestResult to lastMouseMoveHitTestResult |
| https://bugs.webkit.org/show_bug.cgi?id=138137 |
| <rdar://problem/18798257> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::mouseDidMoveOverElement): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::lastMouseMoveHitTestResult): |
| (WebKit::WebPageProxy::activeActionMenuHitTestResult): Deleted. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| (-[WKActionMenuController _openURLFromActionMenu:]): |
| (-[WKActionMenuController _addToReadingListFromActionMenu:]): |
| (-[WKActionMenuController _quickLookURLFromActionMenu:]): |
| (-[WKActionMenuController _saveImageToDownloads:]): |
| (imageForResource:name::if): |
| (-[WKActionMenuController _updateActionMenuItems]): |
| Rename to the more accurate and general name. |
| |
| 2014-10-29 Tim Horton <timothy_horton@apple.com> |
| |
| Implement action menus for data detected items |
| https://bugs.webkit.org/show_bug.cgi?id=138178 |
| <rdar://problem/18709436> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/c/WKActionMenuTypes.h: |
| Add a new type. |
| |
| * Shared/WebHitTestResult.cpp: |
| (WebKit::WebHitTestResult::Data::Data): |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| * Shared/WebHitTestResult.h: |
| (WebKit::WebHitTestResult::isTextNode): |
| Determine, store, encode, and decode whether or not the hit node is a text node. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| * Shared/mac/ActionMenuHitTestResult.mm: Renamed from Source/WebKit2/Shared/mac/ActionMenuHitTestResult.cpp. |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| Make ActionMenuHitTestResult an Obj-C++ file. |
| Store, encode, and decode (securely!) a DDActionContext and FloatRect |
| representing the bounding box of the data detected item, if any. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| (-[WKView willOpenMenu:withEvent:]): Deleted. |
| Stop using willOpenMenu; we'll use NSMenuDelegate's menuNeedsUpdate: instead. |
| Hook up WKActionMenuController as our action menu's delegate. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| Call _updateActionMenuItems *after* we've adjusted _state, so that it |
| can depend on the value being correct. |
| |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| (-[WKActionMenuController didPerformActionMenuHitTest:]): |
| Move menu updating to menuNeedsUpdate for more accurate timing. |
| |
| (_updateActionMenuItems): |
| When building the menu, if we have a text node that is not a link, |
| and hit a data detected item, retrieve the menu from the DDActionContext. |
| If we have nothing, make sure to reset _type, and if the final hit-test |
| is still pending, build a menu with a dummy item. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): Moved to WebPageMac. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::rangeExpandedAroundPosition): |
| Factor this out of performDictionaryLookupAtLocation. |
| |
| (WebKit::WebPage::performDictionaryLookupAtLocation): |
| Make use of rangeExpandedAroundPosition. |
| |
| (WebKit::scanForDataDetectedItems): |
| Expand to four lines of context around the hit point. |
| Convert that range to plain text, and feed it to DataDetectors. |
| Find the result that intersects the hit point, and make a DDActionContext |
| for it. Also, store the bounding box of the first quad of the detected |
| text, to provide to Data Detectors as a hint for UI placement. |
| |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| If the hit node is a text node, call scanForDataDetectedItems and |
| store the resultant DDActionContext and bounding rect on our |
| ActionMenuHitTestResult for transfer to the UI process. |
| |
| 2014-10-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS] iPad: Occasional <select> crashes attempting to scroll to non-existing row 0 in viewWillAppear |
| https://bugs.webkit.org/show_bug.cgi?id=138165 |
| |
| Reviewed by David Kilzer. |
| |
| This is a speculative fix for a crash attempting to scroll to a row in a |
| select picker on iPad. In these cases we are trying to scroll to the first |
| row of the first section, but no such row appears to exist. I was unable |
| to reproduce the issue, but if it is happening we should be able to protect |
| safely protect against crashing. |
| |
| * UIProcess/ios/forms/WKFormSelectPopover.mm: |
| (-[WKSelectTableViewController viewWillAppear:]): |
| Protect against trying to scroll to a section/row that does not exist |
| by pre-checking that the section/row is valid. |
| |
| 2014-10-28 Ting-Wei Lan <lantw44@gmail.com> |
| |
| Cast std::chrono::duration.count() to int64_t in ArgumentCoder |
| https://bugs.webkit.org/show_bug.cgi?id=136981 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Explicitly cast the return value of std::chrono::duration.count() to |
| a fixed-size interger type, which prevents compilation error when |
| the return value type matches neither int32_t nor int64_t. |
| |
| * Platform/IPC/ArgumentCoders.h: |
| |
| 2014-10-28 Jer Noble <jer.noble@apple.com> |
| |
| [EME] Pass location for media key storage through from WebKit/WebKit2. |
| https://bugs.webkit.org/show_bug.cgi?id=137120 |
| |
| Reviewed by Anders Carlsson. |
| |
| Allow the location for media key storage to be passed into the WebProcess from the UIProcess |
| through the WebContextConfiguraiton struct. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): Add mediaKeysStorageDirectory. |
| (WebKit::WebProcessCreationParameters::decode): Ditto. |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| (WKContextConfigurationCopyMediaKeysStorageDirectory): Added getter. |
| (WKContextConfigurationSetMediaKeysStorageDirectory): Added setter. |
| * UIProcess/API/C/WKContextConfigurationRef.h: |
| * UIProcess/API/C/WKOriginDataManager.h: |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _initWithConfiguration:]): Provide a default location. |
| * UIProcess/APIContextConfiguration.cpp: |
| (API::ContextConfiguration::webContextConfiguration): Set mediaKeysStorageDirectory. |
| * UIProcess/APIContextConfiguration.h: |
| (API::ContextConfiguration::mediaKeysStorageDirectory): Added getter. |
| (API::ContextConfiguration::setMediaKeysStorageDirectory): Added setter. |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::applyPlatformSpecificConfigurationDefaults): Apply mediaKeysStorageDirectory. |
| (WebKit::WebContext::WebContext): Initialize m_mediaKeysStorageDirectory. |
| (WebKit::WebContext::createNewWebProcess): Create a sandbox extension handle for mediaKeysStorageDirectory. |
| * UIProcess/WebContext.h: |
| * UIProcess/efl/WebContextEfl.cpp: |
| (WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return a default location. |
| * UIProcess/gtk/WebContextGtk.cpp: |
| (WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Ditto. |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return an overridable default location. |
| * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: Added. |
| (WebKit::WebMediaKeyStorageManager::initialize): Pull the mediaKeysStorageDirectory out of configuration. |
| (WebKit::WebMediaKeyStorageManager::supplementName): Return a configuration name. |
| (WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectoryForOrigin): Return the |
| correct storage directory based on the SecureOrigin. |
| (WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins): Return the origins within the |
| storage directory. |
| (WebKit::removeAllMediaKeyStorageForOriginPath): Static, remove contents and directory at path. |
| (WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesForOrigin): Use |
| removeAllMediaKeyStorageForOriginPath to remove origin data. |
| (WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesModifiedBetweenDates): Ditto. |
| (WebKit::WebMediaKeyStorageManager::deleteAllMediaKeyEntries): Ditto. |
| * WebProcess/MediaCache/WebMediaKeyStorageManager.h: Added. |
| (WebKit::WebMediaKeyStorageManager::WebMediaKeyStorageManager): Default constructor. |
| (WebKit::WebMediaKeyStorageManager::~WebMediaKeyStorageManager): Default virtual destructor. |
| (WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectory): Simple accessor. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): Add WebMediaKeyStorageManager as a supplement. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): Create a sandbox extension from the sandbox extension handle. |
| |
| Add new source files to project(s). |
| |
| * PlatformEfl.cmake: |
| * PlatformGTK.cmake: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: |
| (WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins): |
| (WebKit::removeAllMediaKeyStorageForOriginPath): |
| |
| Drive-by fix: references to VoidCallback are ambiguous, since the same name is re-used in multiple namespaces. |
| Make references to WebCore::VoidCallback explicit where the entire WebCore (and other) namespaces are pulled in. |
| |
| * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: |
| (WebKit::NotificationPermissionRequestManager::startRequest): |
| (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): |
| * WebProcess/WebCoreSupport/WebNotificationClient.cpp: |
| (WebKit::WebNotificationClient::requestPermission): |
| |
| 2014-10-28 Jeremy Jones <jeremyj@apple.com> |
| |
| Add optimized fullscreen mode. |
| https://bugs.webkit.org/show_bug.cgi?id=138044 |
| |
| Reviewed by Anders Carlsson. |
| |
| Enable different types of fullscreen video behavior. |
| Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen. |
| |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add fullscreenType parameter |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: ditto |
| * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): ditto |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): ditto |
| * WebProcess/WebCoreSupport/WebChromeClient.h: ditto |
| * WebProcess/ios/WebVideoFullscreenManager.h: ditto |
| * WebProcess/ios/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): ditto |
| (WebKit::WebVideoFullscreenManager::didCleanupFullscreen): ditto |
| |
| 2014-10-28 Dan Bernstein <mitz@apple.com> |
| |
| Added a Radar reference to a comment. |
| |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<Credential>::encodePlatformData): |
| |
| 2014-10-28 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] REGERESSION (r171801): Client certificate authentication is failing |
| https://bugs.webkit.org/show_bug.cgi?id=138144 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| NSURLCredential’s implementation of NSSecureCoding fails to encode identity-based |
| credentials properly. Work around that by encoding the identity, certificate, and |
| persistence individually. |
| |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<Credential>::encodePlatformData): |
| (IPC::ArgumentCoder<Credential>::decodePlatformData): |
| |
| 2014-10-28 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS] iPhone should not allow selecting <optgroup> in <select multiple> |
| https://bugs.webkit.org/show_bug.cgi?id=137991 |
| |
| Reviewed by Darin Adler. |
| |
| We seem to be getting the delegate when we are not supposed to. |
| Workaround the issue as best we can by reseting the styles |
| for the group's content view and not changing selections. |
| |
| * UIProcess/ios/forms/WKFormSelectPicker.mm: |
| (-[WKMultipleSelectPicker pickerView:row:column:checked:]): |
| |
| 2014-10-28 Tim Horton <timothy_horton@apple.com> |
| |
| Remove an inaccurate comment in WKActionMenuController |
| https://bugs.webkit.org/show_bug.cgi?id=138135 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| The comment is wrong; the separator is there for spacing, not just as a workaround. |
| |
| 2014-10-28 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.1 release. |
| |
| * gtk/NEWS: Add release notes for 2.7.1. |
| |
| 2014-10-28 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] OS X Mavericks build broken with public SDK |
| https://bugs.webkit.org/show_bug.cgi?id=138108 |
| |
| Reviewed by Mark Rowe. |
| |
| * Shared/API/Cocoa/WKFoundation.h: Only define the NSEventModifierFlags type when using a |
| version of the OS X SDK that doesn’t define it. |
| |
| 2014-10-27 Conrad Shultz <conrad_shultz@apple.com> |
| |
| NSSharingService protocol conformance should be internal to WKActionMenuController |
| https://bugs.webkit.org/show_bug.cgi?id=138112 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| Move protocol conformance from the interface to a class extension. |
| |
| 2014-10-27 Enrica Casucci <enrica@apple.com> |
| |
| WebContent crash in WebKit::WebPage::expandedRangeFromHandle. |
| https://bugs.webkit.org/show_bug.cgi?id=138023 |
| rdar://problem/18787412 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We must change that we have a valid currentRange before trying |
| to expand or contract. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::changeBlockSelection): |
| |
| 2014-10-27 Alexey Proskuryakov <ap@apple.com> |
| |
| http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots |
| https://bugs.webkit.org/show_bug.cgi?id=138098 |
| |
| Reviewed by Anders Carlsson. |
| |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| Update for the new name of testing session. Memory regions are now of the form |
| "WebKit Test-<pid>-0". |
| |
| 2014-10-27 Chris Dumez <cdumez@apple.com> |
| |
| Use separate HashMaps for common and uncommon headers in HTTPHeaderMap |
| https://bugs.webkit.org/show_bug.cgi?id=138079 |
| |
| Reviewed by Anders Carlsson. |
| |
| Update the WK2 IPC HTTPHeaderMap serialization / deserialization code |
| to leverage the fact that HTTPHeaderMap now stores common HTTP headers |
| and uncommon one in separate HashMaps. This speeds up deserialization |
| as we no longer need to call findHTTPHeaderName() for every decoded |
| header. We already know if the header is a common one or not, and if |
| it is then we already have a HTTPHeaderName type instead of a String. |
| |
| I see that we spend ~40% less time in HTTPHeaderMap decoding when |
| loading http://flickr.com/explore, while the encoding takes about |
| the same amount of time as before. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<HTTPHeaderMap>::encode): |
| (IPC::ArgumentCoder<HTTPHeaderMap>::decode): |
| |
| 2014-10-24 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix the iOS build |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2014-10-24 Beth Dakin <bdakin@apple.com> |
| |
| _actionMenuItemsForHitTestResult should also take a type indicating what the menu |
| was built for |
| https://bugs.webkit.org/show_bug.cgi?id=138063 |
| |
| Reviewed by Dan Bernstein. |
| |
| New type enum that can be used by clients. |
| * Shared/API/c/WKActionMenuTypes.h: Added. |
| |
| Remove the old SPI and add the new. |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:]): |
| (-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]): Deleted. |
| |
| Now keep an ivar for the type. |
| * UIProcess/mac/WKActionMenuController.h: |
| |
| Create a category for the old SPI so that we can still call it if clients have |
| implemented it. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController initWithPage:view:]): |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| (imageForResource:name::if): |
| (-[WKActionMenuController _updateActionMenuItems]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-10-24 Tim Horton <timothy_horton@apple.com> |
| |
| Share sheet doesn't attach to the window |
| https://bugs.webkit.org/show_bug.cgi?id=138062 |
| <rdar://problem/18767397> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| WKActionMenuController is now a NSSharingService{Picker}Delegate. |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| Set us up as the NSSharingServicePicker delegate. |
| |
| (-[WKActionMenuController sharingServicePicker:delegateForSharingService:]): |
| Set us up as the NSSharingService delegate. |
| |
| (-[WKActionMenuController sharingService:sourceWindowForShareItems:sharingContentScope:]): |
| Return the appropriate window to attach to. |
| |
| 2014-10-24 Jer Noble <jer.noble@apple.com> |
| |
| Abstractify WebOriginDataManager to support arbitrary ChildProcess supplements. |
| https://bugs.webkit.org/show_bug.cgi?id=137993 |
| |
| Reviewed by Brady Eidson. |
| |
| To allow different ChildProcess subclasses to handle listing and deletion of origin |
| data, make WebOriginDataManager more generic by having a supplement implement the |
| details, leaving WebOriginDataManager to deal with cross-process messaging. |
| |
| De-virtualize AsyncTask, allowing a task to be created by passing in a |
| function<void()>, rather than an object, method, and arguments. |
| |
| * Shared/AsyncTask.h: |
| (WebKit::AsyncTask::AsyncTask): |
| (WebKit::AsyncTask::performTask): |
| (WebKit::AsyncTask::~AsyncTask): Deleted. |
| |
| Add a new virtual base class, to be implemented by various ChildProcesses, which |
| WebOriginDataManager will use to implement listing and deletion requests. |
| |
| * WebProcess/OriginData/WebOriginDataManager.h: |
| * WebProcess/OriginData/WebOriginDataManagerSupplement.h: Added. |
| (WebKit::WebOriginDataManagerSupplement::WebOriginDataManagerSupplement): |
| (WebKit::WebOriginDataManagerSupplement::~WebOriginDataManagerSupplement): |
| (WebKit::WebOriginDataManagerSupplement::getOrigins): |
| (WebKit::WebOriginDataManagerSupplement::deleteEntriesForOrigin): |
| (WebKit::WebOriginDataManagerSupplement::deleteEntriesModifiedBetweenDates): |
| (WebKit::WebOriginDataManagerSupplement::deleteAllEntries): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| WebOriginDataManager doesn't need to be a ChildSupplement. Remove the DatabaseProcess- |
| specific implementations for its message handlers and replace with clean, generic calls |
| to its supplement. Because these supplements may want to respond to the request |
| asynchronously, pass a completion function in to be called by the supplement once its |
| work is complete. |
| |
| * WebProcess/OriginData/WebOriginDataManager.cpp: |
| (WebKit::WebOriginDataManager::WebOriginDataManager): |
| (WebKit::WebOriginDataManager::getOrigins): |
| (WebKit::WebOriginDataManager::deleteEntriesForOrigin): |
| (WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates): |
| (WebKit::WebOriginDataManager::deleteAllEntries): |
| (WebKit::WebOriginDataManager::supplementName): Deleted. |
| |
| DatabaseProcess already uses WebOriginDataManager, so it will be the first process |
| to fall under the heel of the new regime. DatabaseProcess will subclass |
| WebOriginDataManagerSupplement, and pass itself in twice to the WebOriginDataManager |
| constructor. Create a lambda-based AsyncTask for each request, and call the completion |
| function when each request is complete. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::DatabaseProcess): |
| (WebKit::DatabaseProcess::getIndexedDatabaseOrigins): |
| (WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin): |
| (WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedBetweenDates): |
| (WebKit::DatabaseProcess::deleteAllIndexedDatabaseEntries): |
| (WebKit::DatabaseProcess::getOrigins): |
| (WebKit::DatabaseProcess::deleteEntriesForOrigin): |
| (WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates): |
| (WebKit::DatabaseProcess::deleteAllEntries): |
| (WebKit::DatabaseProcess::doGetIndexedDatabaseOrigins): Deleted. |
| (WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesForOrigin): Deleted. |
| (WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesModifiedBetweenDates): Deleted. |
| (WebKit::DatabaseProcess::doDeleteAllIndexedDatabaseEntries): Deleted. |
| * DatabaseProcess/DatabaseProcess.h: |
| |
| 2014-10-24 Beth Dakin <bdakin@apple.com> |
| |
| Very large images crash in action menu code |
| https://bugs.webkit.org/show_bug.cgi?id=138059 |
| -and corresponding- |
| rdar://problem/18767859 |
| |
| Reviewed by Tim Horton. |
| |
| If the HitTestResult failed to create and image, then don’t go for the image |
| action menu. |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController _defaultMenuItems]): |
| |
| ShareableBitmap::createShareable() can fail. The result needs to be null-checked. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| |
| 2014-10-24 Beth Dakin <bdakin@apple.com> |
| |
| Build fix. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| 2014-10-24 Tim Horton <timothy_horton@apple.com> |
| |
| Blindly try to fix all the builds. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| 2014-10-24 Timothy Horton <timothy_horton@apple.com> |
| |
| Blindly try to fix all the builds. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| |
| 2014-10-24 Timothy Horton <timothy_horton@apple.com> |
| |
| Blindly try to fix the 32-bit build. |
| |
| * UIProcess/mac/WKActionMenuController.h: |
| * UIProcess/mac/WKActionMenuController.mm: |
| |
| 2014-10-24 Tim Horton <timothy_horton@apple.com> |
| |
| [Mac][WebKit2] Move action menu code into its own file |
| https://bugs.webkit.org/show_bug.cgi?id=138034 |
| <rdar://problem/18758758> |
| |
| * UIProcess/mac/WKActionMenuController.mm: |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| (-[WKActionMenuController _addImageToPhotos:]): |
| Review comments that were not previously addressed. |
| |
| 2014-10-24 Tim Horton <timothy_horton@apple.com> |
| |
| [Mac][WebKit2] Move action menu code into its own file |
| https://bugs.webkit.org/show_bug.cgi?id=138034 |
| <rdar://problem/18758758> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| Make a WKActionMenuController if needed. |
| |
| (-[WKView prepareForMenu:withEvent:]): |
| (-[WKView willOpenMenu:withEvent:]): |
| (-[WKView didCloseMenu:withEvent:]): |
| (-[WKView _didPerformActionMenuHitTest:]): |
| Forward these to WKActionMenuController. |
| |
| (-[WKView _openURLFromActionMenu:]): Deleted. |
| (-[WKView _addToReadingListFromActionMenu:]): Deleted. |
| (-[WKView _quickLookURLFromActionMenu:]): Deleted. |
| (-[WKView _createActionMenuItemForTag:]): Deleted. |
| (webKitBundleImageNamed): Deleted. |
| (-[WKView _copyImage:]): Deleted. |
| (-[WKView _saveImageToDownloads:]): Deleted. |
| (temporaryPhotosDirectoryPath): Deleted. |
| (pathToPhotoOnDisk): Deleted. |
| (-[WKView _addImageToPhotos:]): Deleted. |
| (-[WKView _defaultMenuItemsForImage]): Deleted. |
| (-[WKView _defaultMenuItems]): Deleted. |
| (-[WKView _updateActionMenu]): Deleted. |
| Moved to WKActionMenuController. |
| |
| * UIProcess/mac/WKActionMenuController.h: Added. |
| * UIProcess/mac/WKActionMenuController.mm: Added. |
| (-[WKActionMenuController initWithPage:view:]): |
| (-[WKActionMenuController prepareForMenu:withEvent:]): |
| (-[WKActionMenuController willOpenMenu:withEvent:]): |
| (-[WKActionMenuController didCloseMenu:withEvent:]): |
| (-[WKActionMenuController didPerformActionMenuHitTest:]): |
| (-[WKActionMenuController _defaultMenuItemsForLink]): |
| (-[WKActionMenuController _openURLFromActionMenu:]): |
| (-[WKActionMenuController _addToReadingListFromActionMenu:]): |
| (-[WKActionMenuController _quickLookURLFromActionMenu:]): |
| (-[WKActionMenuController _defaultMenuItemsForImage]): |
| (-[WKActionMenuController _copyImage:]): |
| (-[WKActionMenuController _saveImageToDownloads:]): |
| (temporaryPhotosDirectoryPath): |
| (pathToPhotoOnDisk): |
| (-[WKActionMenuController _addImageToPhotos:]): |
| (-[WKActionMenuController _createActionMenuItemForTag:]): |
| (webKitBundleImageNamed): |
| (imageForResource:name::if): |
| (-[WKActionMenuController _updateActionMenuItems]): |
| Moved from WKView. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-10-24 Marcos Chavarría Teijeiro <chavarria1991@gmail.com> |
| |
| [GTK] Implement is_selected method on WebKitHitTestResult |
| https://bugs.webkit.org/show_bug.cgi?id=137110 |
| |
| Reviewed by Tim Horton. |
| |
| Expose CONTEXT_SELECTION for WebKitHitTestResult. |
| |
| * Shared/WebHitTestResult.cpp: Add is_selected field and getter for this field. |
| (WebKit::WebHitTestResult::Data::Data): |
| (WebKit::WebHitTestResult::Data::encode): |
| (WebKit::WebHitTestResult::Data::decode): |
| * Shared/WebHitTestResult.h: |
| (WebKit::WebHitTestResult::isSelected): |
| * UIProcess/API/gtk/WebKitHitTestResult.cpp: Add WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION context and method to check it. |
| (webkitHitTestResultCreate): |
| (webkitHitTestResultCompare): |
| (webkit_hit_test_result_context_is_selection): |
| * UIProcess/API/gtk/WebKitHitTestResult.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: Modify context-menu callback to set the new context option. |
| (webkitWebViewPopulateContextMenu): |
| * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add documentation about new function. |
| |
| 2014-10-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][Cairo] Remove GTK dependency of WidgetBackingStoreGtkX11 |
| https://bugs.webkit.org/show_bug.cgi?id=138004 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| * UIProcess/BackingStore.h: Rename m_backingStore as m_backend, |
| since it's a bit confusing that a BackingStore class has a |
| m_backingStore member and WidgetBackingStore has been renamed as |
| BackingStoreBackendCairo. |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::BackingStore::createBackend): Helper function to create |
| the BackingStore backend depending on the platform. |
| (WebKit::BackingStore::paint): Use m_backend instead of m_backingStore. |
| (WebKit::BackingStore::incorporateUpdate): Ditto. |
| (WebKit::BackingStore::scroll): Ditto. |
| (WebKit::createBackingStoreForGTK): Deleted. |
| |
| 2014-10-23 Benjamin Poulain <bpoulain@apple.com> |
| |
| Fix a bad find-and-replace in r175153 |
| |
| Looks like I messed up the commit on landing. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| |
| 2014-10-23 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS WK2] If a page has the exact same VisibleContentRect as the page before, its VisibleContentRectUpdate can be ignored |
| https://bugs.webkit.org/show_bug.cgi?id=138031 |
| rdar://problem/18739335 |
| |
| Reviewed by Simon Fraser. |
| |
| Since any VisibleContentRectUpdate is costly for the WebProcess, we avoid sending updates |
| if none of the important parameters have changed (scale and geometry). |
| |
| One unintended side effect is that the update of a page can be blocked if the parameters |
| of the previous page were identical. |
| |
| What happen is this: |
| 1) Page [A] sends its content rect update as needed. WebPageProxy saves the last update |
| in m_lastVisibleContentRectUpdate and use that value to avoid useless updates. |
| 2) Page [B] load after page [A] and have the exact VisibleContentRect. When receiving the first |
| layer tree commit after didCommitLoadForFrame, WKWebView sends its VisibleContentRect |
| to WebPageProxy to synchronize the state of the WebProcess with what is on screen. |
| 3) Since the two VisibleContentRect update has the same value as the ones of page [A], WebPageProxy |
| discards the update. The WebProcess has its initialization viewport and is not udpated until |
| a major parameter changes (scale or position). |
| |
| In rdar://problem/18739335, the problem is the similar but with a different failure point: |
| 1) Everything above happened already. |
| 2) The layer tree transaction has a scrolling request. This is processed by WKWebView. |
| 3) Since the scrolling position is invalid, the request is ignored and we send the last |
| VisibleContentRect to the WebProcess with WebPageProxy::resendLastVisibleContentRects(). |
| 4) Since the VisibleContentRect was never updated after didCommitLoadForFrame, the one we send |
| is for the previous page, which the web process correctly ignores. |
| |
| This patch solves the problem by nuking the cached m_lastVisibleContentRectUpdate before |
| any valid VisibleContentRectUpdate for a new page. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::didCommitLayerTree): |
| |
| 2014-10-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Provide a way to have alternate inspector agents |
| https://bugs.webkit.org/show_bug.cgi?id=137901 |
| |
| Reviewed by Brian Burg. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2014-10-23 Tim Horton <timothy_horton@apple.com> |
| |
| Add some SPI headers for NSExtension and NSSharingService{Picker} |
| https://bugs.webkit.org/show_bug.cgi?id=138027 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| * UIProcess/mac/ServicesController.mm: |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| Replace redefinitions with SPI header #imports. |
| |
| 2014-10-23 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS WK2] Make sure any dynamic viewport update schedules a layer tree commit |
| https://bugs.webkit.org/show_bug.cgi?id=138021 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::dynamicViewportSizeUpdate): |
| Sometimes, the clients can do a dynamic viewport update but only change the minimum |
| layout size (see rdar://problem/18755250). |
| |
| When that happens, it is possible to do the full state update without ever scheduling |
| a layer tree commit. For example, if the new minimum layout height is only a few pixels |
| smaller than the old value and the layout of the page is equal or larger than the old value, |
| the layout is done without any side effect to the content (assuming a viewport configuration |
| based on width). |
| |
| The contract with the client is that the next layer tree commit after a dynamic viewport update |
| carries all the valid parameters for the new viewport size. Since the new layout never scheduled |
| a layer tree commit, the UIProcess is just waiting for one, discarding all input. |
| |
| This patch solves the issue by explicitely scheduling a layer flush after updating all the layout |
| and view parameters to their final values. In most cases, this makes no difference since a layer |
| tree commit was already scheduled. In the rare cases where nothing was scheduled, scheduling |
| the layer tree commit ensure we unlock the UIProcess. |
| |
| 2014-10-23 Ryosuke Niwa <rniwa@webkit.org> |
| |
| WebContent crash in WebKit::WebPage::expandedRangeFromHandle |
| https://bugs.webkit.org/show_bug.cgi?id=138023 |
| |
| Reviewed by Enrica Casucci. |
| |
| The crashes are caused by rangeForBlockAtPoint returning a null Range. |
| Exit early or continue if a range is null in various places. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::expandedRangeFromHandle): Continue looking for another point if the range returned by |
| rangeForBlockAtPoint is null. |
| (WebKit::WebPage::contractedRangeFromHandle): Ditto. |
| (WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle): Removed the FIXME now that Enrica has |
| verified that this early exit added in r173788 is correct. |
| |
| 2014-10-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [iOS] iPhone unselecting items in <select multiple> shows incorrect values selected |
| https://bugs.webkit.org/show_bug.cgi?id=137989 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * UIProcess/ios/forms/WKFormSelectPicker.mm: |
| (-[WKMultipleSelectPicker pickerView:row:column:checked:]): |
| The second argument is "allowsMultipleSelection" and should only be set |
| when we are making a selection in a <select multiple>. |
| |
| 2014-10-23 Tim Horton <timothy_horton@apple.com> |
| |
| Assertion failures in ImageKit soft linking |
| https://bugs.webkit.org/show_bug.cgi?id=138009 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/mac/WKView.mm: |
| Soft-link ImageKit correctly. |
| ImageKit is inside the Quartz umbrella framework. |
| |
| 2014-10-23 Daniel Bates <dabates@apple.com> |
| |
| [iOS] Fix the build after <http://trac.webkit.org/changeset/175079> |
| (https://bugs.webkit.org/show_bug.cgi?id=137995) |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| Remove PageClientImpl::didPerformActionMenuHitTest() for iOS. |
| |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didPerformActionMenuHitTest): Deleted. |
| |
| 2014-10-23 Krzysztof Czech <k.czech@samsung.com> |
| |
| [EFL] Fix build problem after r175098 |
| https://bugs.webkit.org/show_bug.cgi?id=138002 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Add ECORE_X dependency to avoid linking problems while building unit tests. |
| |
| * PlatformEfl.cmake: |
| |
| 2014-10-23 Krzysztof Czech <k.czech@samsung.com> |
| |
| [EFL] Set proper default value for WebPageAccessibilityObject |
| https://bugs.webkit.org/show_bug.cgi?id=137951 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| Initial value for WebPageAccessibilityObject should be nullptr. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| |
| 2014-10-23 Krzysztof Czech <k.czech@samsung.com> |
| |
| [EFL] Introduce EFL Accessibility in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=137819 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| EFL Accessibility provides an API that is used to notify clients that certain |
| Accessibility events occur. Utilizing it makes WebKit-EFL coherent with EFL native |
| accessibility approach. |
| |
| * PlatformEfl.cmake: |
| * UIProcess/API/efl/EwkView.cpp: |
| (EwkView::EwkView): |
| * UIProcess/API/efl/EwkView.h: |
| (EwkView::webAccessibility): |
| * UIProcess/API/efl/WebAccessibility.cpp: Added. |
| (WebKit::WebAccessibility::WebAccessibility): |
| (WebKit::WebAccessibility::~WebAccessibility): |
| (WebKit::WebAccessibility::eventHandler): |
| (WebKit::WebAccessibility::executeGestureAction): |
| (WebKit::WebAccessibility::activate): |
| (WebKit::WebAccessibility::read): |
| (WebKit::WebAccessibility::readNext): |
| (WebKit::WebAccessibility::readPrev): |
| (WebKit::WebAccessibility::up): |
| (WebKit::WebAccessibility::down): |
| (WebKit::WebAccessibility::scroll): |
| (WebKit::WebAccessibility::mouse): |
| (WebKit::WebAccessibility::enable): |
| (WebKit::WebAccessibility::disable): |
| * UIProcess/API/efl/WebAccessibility.h: Added. |
| (WebKit::WebAccessibility::activateAction): |
| (WebKit::WebAccessibility::nextAction): |
| (WebKit::WebAccessibility::prevAction): |
| (WebKit::WebAccessibility::readAction): |
| * UIProcess/API/efl/ewk_view.cpp: |
| (ewk_view_accessibility_action_activate_get): |
| (ewk_view_accessibility_action_next_get): |
| (ewk_view_accessibility_action_prev_get): |
| (ewk_view_accessibility_action_read_by_point_get): |
| * UIProcess/API/efl/ewk_view.h: |
| * UIProcess/API/efl/tests/test_ewk2_accessibility.cpp: Added. |
| (EWK2Accessibility::xwindow): |
| (TEST_F): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/efl/WebPageProxyEfl.cpp: |
| (WebKit::WebPageProxy::accessibilityObjectReadByPoint): |
| (WebKit::WebPageProxy::accessibilityObjectReadPrevious): |
| (WebKit::WebPageProxy::accessibilityObjectReadNext): |
| |
| 2014-10-22 Benjamin Poulain <bpoulain@apple.com> |
| |
| [iOS WK2] Protect WKWebView dynamic viewport change against empty sizes |
| https://bugs.webkit.org/show_bug.cgi?id=137988 |
| rdar://problem/17785162 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _beginAnimatedResizeWithUpdates:]): |
| The algorithm behind dynamic size update finds the best content area to put in the viewport |
| after a viewport change. If an initial size or a target size is empty, it is impossible to |
| compute a reasonable area to keep in the view. We end up handling NaN scales |
| and/or sizes and CoreAnimation raises an exception when applying that value. |
| |
| This patch add early exits when that occurs and fallback to the common code. |
| |
| On Input, things are easy. If any of the initial values is empty, we just execute the updateBlock |
| without attempting any of the dynamic behaviors. |
| |
| For the target values, things are trickier. We do not know what the values are going to be before we execute |
| the block. But once we executed the block, we have already skipped all the setters that call the web process. |
| |
| To handle that, every value is set manually on WebPageProxy. This is a bit unfortunate because the setters |
| get yet another entry point. |
| |
| 2014-10-22 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| EFL and GTK ports have broken since r175075 |
| https://bugs.webkit.org/show_bug.cgi?id=137995 |
| |
| Unreviewed, EFL and GTK ports build fix. |
| |
| Need to use PLATFORM(MAC) guard for ActionMenuHitTest functions. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::removeNavigationGestureSnapshot): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2014-10-22 Tim Horton <timothy_horton@apple.com> |
| |
| Add action menu support for images |
| https://bugs.webkit.org/show_bug.cgi?id=137987 |
| <rdar://problem/18717767> |
| |
| Reviewed by Anders Carlsson, Sam Weinig, and Beth Dakin. |
| |
| * Resources/AddImageToPhotos.pdf: Added. |
| * Resources/CopyImage.pdf: Added. |
| * Resources/SaveImageToDownloads.pdf: Added. |
| * Resources/ShareImage.pdf: Added. |
| Add some temporary artwork. |
| |
| * Scripts/webkit/messages.py: |
| (struct_or_class): |
| ActionMenuHitTestResult is a struct. |
| |
| * Shared/API/c/WKActionMenuItemTypes.h: |
| Add new items for image menus. |
| |
| * Shared/mac/ActionMenuHitTestResult.cpp: |
| (WebKit::ActionMenuHitTestResult::encode): |
| (WebKit::ActionMenuHitTestResult::decode): |
| For now, pass the hit image data across to the UI process as a ShareableBitmap. |
| |
| * Shared/mac/ActionMenuHitTestResult.h: |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _createActionMenuItemForTag:]): |
| Refactor action menu item creation into a single function, so that |
| callers can share code and be much simpler. |
| |
| (webKitBundleImageNamed): |
| Add a helper to acquire an image from the WebKit2 bundle. |
| |
| (-[WKView _copyImage:]): |
| (-[WKView _saveImageToDownloads:]): |
| (temporaryPhotosDirectoryPath): |
| (pathToPhotoOnDisk): |
| (-[WKView _addImageToPhotos:]): |
| Add rudimentary implementations of image actions. |
| |
| (-[WKView _defaultMenuItemsForImage]): |
| Support the image menu, plus a submenu acquired from NSSharingServicePicker |
| for the Share menu. |
| |
| (-[WKView _defaultMenuItems]): |
| Call _defaultMenuItemsForImage if needed. |
| |
| (-[WKView _updateActionMenu]): |
| Refactor _updateActionMenu out of prepareForMenu:withEvent:. |
| |
| (-[WKView prepareForMenu:withEvent:]): |
| Ask the Web process to re-hit-test under the location that the menu |
| will appear. Mark the menu as pending. |
| |
| (-[WKView _didPerformActionMenuHitTest:]): |
| When we get the hit test reply, record the result for future use. |
| |
| (-[WKView willOpenMenu:withEvent:]): |
| If we got a hit test reply, rebuild the menu immediately. If not, wait |
| up to 500ms for the reply to come in. This eventually needs to be |
| cancellable if the menu is rejected in the interim. |
| |
| (-[WKView didCloseMenu:withEvent:]): |
| Clear all state when the menu closes. |
| |
| * UIProcess/API/mac/WKViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::performActionMenuHitTestAtLocation): |
| (WebKit::WebPageProxy::didPerformActionMenuHitTest): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didPerformActionMenuHitTest): |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| Plumb didPerformActionMenuHitTest back from WebPageProxy to WKView. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::performActionMenuHitTestAtLocation): |
| Hit test at the given location, recording the image data if there is any, |
| and return the result to the UI process. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| Add the PDFs. |
| |
| 2014-10-22 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove WidgetBackingStoreCairo::create() factory function |
| https://bugs.webkit.org/show_bug.cgi?id=137943 |
| |
| Reviewed by Darin Adler. |
| |
| WidgetBackingStoreCairo::create() can be replaced by std::make_unique<>. |
| Thus this patch removes it, then use std::make_unique<>|std::unique_ptr<>. |
| |
| * UIProcess/BackingStore.h: |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::createBackingStoreForGTK): |
| (WebKit::BackingStore::incorporateUpdate): |
| |
| 2014-10-22 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Remove TextCheckerEnchant::create() factory function |
| https://bugs.webkit.org/show_bug.cgi?id=137944 |
| |
| Reviewed by Darin Adler. |
| |
| TextCheckerEnchant::create() can be replaced by std::make_unique<> and std::unique_ptr<>. |
| |
| * UIProcess/API/gtk/WebKitTextChecker.cpp: |
| (WebKitTextChecker::WebKitTextChecker): |
| * UIProcess/API/gtk/WebKitTextChecker.h: |
| * UIProcess/efl/TextCheckerClientEfl.cpp: |
| (TextCheckerClientEfl::TextCheckerClientEfl): |
| * UIProcess/efl/TextCheckerClientEfl.h: |
| |
| 2014-10-22 Antti Koivisto <antti@apple.com> |
| |
| Revert fix for REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error |
| (https://bugs.webkit.org/show_bug.cgi?id=137493) |
| |
| Turns out the root cause was a bug in MIME type sniffing, https://bugs.webkit.org/show_bug.cgi?id=137855 |
| |
| Remove the workaround. |
| |
| * Shared/Downloads/ios/DownloadIOS.mm: |
| (WebKit::Download::startWithHandle): |
| * Shared/Downloads/mac/DownloadMac.mm: |
| (WebKit::Download::startWithHandle): |
| |
| 2014-10-22 Beth Dakin <bdakin@apple.com> |
| |
| Remove action menu web preference |
| https://bugs.webkit.org/show_bug.cgi?id=137975 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetActionMenuSupportEnabled): Deleted. |
| (WKPreferencesGetActionMenuSupportEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| |
| 2014-10-22 Chris Dumez <cdumez@apple.com> |
| |
| [Mac][WK2] Fix applicationIsSafari() detection |
| https://bugs.webkit.org/show_bug.cgi?id=137893 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Provide an implementation for FrameLoaderClient's new |
| needsQuickLookResourceCachingQuirks(), which accesses the flag stored |
| on the WebProcess, which is initialized upon WebProcess creation. |
| |
| QuickLookMac::computeNeedsQuickLookResourceCachingQuirks() is called |
| on UIProcess side so that it works reliably and the flag is passed as |
| parameter when constructing the WebProcess. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::platformInitializeWebProcess): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::needsQuickLookResourceCachingQuirks): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-10-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ debug build after r175046. |
| |
| Remove invalid ASSERT. |
| |
| * UIProcess/gtk/InputMethodFilter.cpp: |
| (WebKit::InputMethodFilter::setCursorRect): |
| |
| 2014-10-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move GtkInputMethodFilter from Platform to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=137884 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Merge WebViewBaseInputMethodFilter and GtkInputMethodFilter into a |
| single class InputMethodFilter. The code is mostly the same, but |
| instead of having a setWebView method only to get the WebPageProxy, |
| it has a setPage method that passes the WebPageProxy. The GtkIMContext |
| client window is set by the WebView when it's realized/unrealized. |
| |
| * PlatformGTK.cmake: |
| * Shared/NativeWebKeyboardEvent.h: |
| * Shared/gtk/NativeWebKeyboardEventGtk.cpp: |
| (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseRealize): |
| (webkitWebViewBaseUnrealize): |
| (webkit_web_view_base_class_init): |
| (webkitWebViewBaseCreateWebPage): |
| (webkitWebViewBaseEnterFullScreen): Deleted. |
| * UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Removed. |
| * UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Removed. |
| * UIProcess/gtk/InputMethodFilter.cpp: Added. |
| (WebKit::InputMethodFilter::handleCommitCallback): |
| (WebKit::InputMethodFilter::handlePreeditStartCallback): |
| (WebKit::InputMethodFilter::handlePreeditChangedCallback): |
| (WebKit::InputMethodFilter::handlePreeditEndCallback): |
| (WebKit::InputMethodFilter::InputMethodFilter): |
| (WebKit::InputMethodFilter::~InputMethodFilter): |
| (WebKit::InputMethodFilter::setEnabled): |
| (WebKit::InputMethodFilter::setCursorRect): |
| (WebKit::InputMethodFilter::handleKeyboardEvent): |
| (WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults): |
| (WebKit::InputMethodFilter::filterKeyEvent): |
| (WebKit::InputMethodFilter::confirmComposition): |
| (WebKit::InputMethodFilter::updatePreedit): |
| (WebKit::InputMethodFilter::notifyFocusedIn): |
| (WebKit::InputMethodFilter::notifyFocusedOut): |
| (WebKit::InputMethodFilter::notifyMouseButtonPress): |
| (WebKit::InputMethodFilter::confirmCurrentComposition): |
| (WebKit::InputMethodFilter::cancelContextComposition): |
| (WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): |
| (WebKit::InputMethodFilter::handleCommit): |
| (WebKit::InputMethodFilter::handlePreeditStart): |
| (WebKit::InputMethodFilter::handlePreeditChanged): |
| (WebKit::InputMethodFilter::handlePreeditEnd): |
| (WebKit::InputMethodFilter::logHandleKeyboardEventForTesting): |
| (WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting): |
| (WebKit::InputMethodFilter::logConfirmCompositionForTesting): |
| (WebKit::InputMethodFilter::logSetPreeditForTesting): |
| * UIProcess/gtk/InputMethodFilter.h: Added. |
| (WebKit::InputMethodFilter::context): |
| (WebKit::InputMethodFilter::setPage): |
| (WebKit::InputMethodFilter::setTestingMode): |
| (WebKit::InputMethodFilter::events): |
| |
| 2014-10-21 Tim Horton <timothy_horton@apple.com> |
| |
| Quick Look preview bubble has unnecessary controls |
| https://bugs.webkit.org/show_bug.cgi?id=137940 |
| <rdar://problem/18731860> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _quickLookURLFromActionMenu:]): |
| Temporarily use more SPI to allow us to hide the preview bubble's controls. |
| |
| 2014-10-21 Jeff Miller <jeffm@apple.com> |
| |
| Remove const from WKURLRequestRef parameter to WKContextDownloadURLRequest() |
| https://bugs.webkit.org/show_bug.cgi?id=137928 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextDownloadURLRequest): |
| * UIProcess/API/C/WKContext.h: |
| |
| 2014-10-21 Anders Carlsson <andersca@apple.com> |
| |
| WKRemoteObjectCoder should handle floats |
| https://bugs.webkit.org/show_bug.cgi?id=137926 |
| <rdar://problem/18695126> |
| |
| Reviewed by Beth Dakin. |
| |
| * Shared/API/Cocoa/WKRemoteObjectCoder.mm: |
| (encodeInvocation): |
| (-[WKRemoteObjectEncoder encodeFloat:forKey:]): |
| (decodeInvocationArguments): |
| (-[WKRemoteObjectDecoder decodeFloatForKey:]): |
| |
| 2014-10-21 Jeff Miller <jeffm@apple.com> |
| |
| WKContext needs to provide an API to resume a download |
| https://bugs.webkit.org/show_bug.cgi?id=137507 |
| |
| Reviewed by Darin Adler. |
| |
| This patch adds WKContextResumeDownload(), which is only supported on the Mac, and requires the |
| resume data from WKDownloadGetResumeData(). |
| |
| We have to create a sandbox extension for the partially downloaded file in the UI process so the |
| network or web process can resume writing to it. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::resumeDownload): |
| Added, calls through to DownloadManager::resumeDownload(). |
| |
| * NetworkProcess/NetworkProcess.h: |
| Added resumeDownload(). |
| |
| * NetworkProcess/NetworkProcess.messages.in: |
| Added ResumeDownload message. |
| |
| * Shared/Downloads/Download.h: |
| Added resume(). |
| |
| * Shared/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::resumeDownload): |
| Added. The URL being downloaded is part of the opaque resumeData, so we can't specify it when the |
| Download is constructed. |
| |
| * Shared/Downloads/DownloadManager.h: |
| Added resumeDownload(). |
| |
| * Shared/Downloads/ios/DownloadIOS.mm: |
| (WebKit::Download::resume): |
| Added, not implemented on this platform. |
| |
| * Shared/Downloads/mac/DownloadMac.mm: |
| (WebKit::Download::resume): |
| Added. Consumes the sandbox extension, resumes the download, and sets m_request after the |
| NSURLDownload has been created. Note that we already have code to revoke the sandbox extension when |
| the download is finished, canceled, or fails. |
| |
| * Shared/Downloads/soup/DownloadSoup.cpp: |
| (WebKit::Download::resume): |
| Added, not implemented on this platform. |
| |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextResumeDownload): |
| Added. |
| |
| * UIProcess/API/C/WKContext.h: |
| Added WKContextResumeDownload(). |
| |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::resumeDownload): |
| Added. Creates a sandbox extension for the existing file and includes it in the message to the |
| network or web process. |
| |
| * UIProcess/WebContext.h: |
| Added resumeDownload(). |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::resumeDownload): |
| Added, calls through to DownloadManager::resumeDownload(). |
| |
| * WebProcess/WebProcess.h: |
| Added resumeDownload(). |
| |
| * WebProcess/WebProcess.messages.in: |
| Added ResumeDownload message. |
| |
| 2014-10-20 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Change the default TLS errors policy to WEBKIT_TLS_ERRORS_POLICY_FAIL |
| https://bugs.webkit.org/show_bug.cgi?id=137832 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Too many general-purpose browsers that really need this policy |
| are not selecting it, so let's do so for them. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (createDefaultWebContext): |
| |
| 2014-10-21 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [SOUP] Disable SSLv3 |
| https://bugs.webkit.org/show_bug.cgi?id=137859 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Set G_TLS_GNUTLS_PRIORITY if unset. |
| |
| * NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp: |
| (main): |
| * WebProcess/EntryPoint/unix/WebProcessMain.cpp: |
| (main): |
| |
| 2014-10-20 Chris Dumez <cdumez@apple.com> |
| |
| ResourceRequest deserialization unnecessarily calls partitionName() on encoded cache partition |
| https://bugs.webkit.org/show_bug.cgi?id=137797 |
| |
| Reviewed by Darin Adler. |
| |
| This patch adds a |needsValidation| argument to |
| ResourceRequest::setCachePartition() setter so that the caller can |
| indicate that the partition name is valid (because it was already |
| processed by partitionName() before). Use this new argument in |
| ArgumentCoder<ResourceRequest>::decode() to spent a bit less time |
| deserializing resource requests. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::decode): |
| |
| 2014-10-20 Beth Dakin <bdakin@apple.com> |
| |
| Action menu items should have tags |
| https://bugs.webkit.org/show_bug.cgi?id=137898 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Shared/API/c/WKActionMenuItemTypes.h: Added. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _defaultMenuItemsForLink]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2014-10-20 Beth Dakin <bdakin@apple.com> |
| |
| Add support for action menus |
| https://bugs.webkit.org/show_bug.cgi?id=137891 |
| rdar://problem/18451638 |
| rdar://problem/18694470 |
| |
| Reviewed by Anders Carlsson. |
| |
| Temporary artwork needed for menu item. |
| * Resources/OpenInNewWindowTemplate.pdf: Added. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| Add a preference that defaults to false for action menu support. |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetActionMenuSupportEnabled): |
| (WKPreferencesGetActionMenuSupportEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| |
| New SPI. WebKit clients can implement this method to customize the action menu. |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| |
| Create the action menu if it is supported. |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView initWithFrame:context:configuration:webView:]): |
| |
| Methods to implement the default menu actions. |
| (-[WKView _openURLFromActionMenu:]): |
| (-[WKView _addToReadingListFromActionMenu:]): |
| (-[WKView _quickLookURLFromActionMenu:]): |
| |
| Add action menus support for links. Populate the menu at the right time. |
| (-[WKView _defaultMenuItemsForLink]): |
| (-[WKView _defaultMenuItems]): |
| (-[WKView prepareForMenu:withEvent:]): |
| (-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]): |
| |
| New member variable caches the HitTestResult on mouse move. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::mouseDidMoveOverElement): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::activeActionMenuHitTestResult): |
| |
| 2014-10-20 Timothy Hatcher <timothy@apple.com> |
| |
| Web Inspector: Delay and white area when Web Inspector crashes |
| https://bugs.webkit.org/show_bug.cgi?id=137230 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::processDidCrash): Added. |
| (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): Hook up loader client. |
| |
| 2014-10-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Generate all Inspector domains together in JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=137748 |
| |
| Reviewed by Brian Burg. |
| |
| * PlatformGTK.cmake: |
| |
| 2014-10-19 Antti Koivisto <antti@apple.com> |
| |
| Avoid unnecessary NSURLResponse construction for QuickLook on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=137876 |
| |
| Reviewed by Andy Estes. |
| |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didReceiveResponse): |
| |
| Switch to the modified QuickLookHandle interface that does not need NSURLResponse. |
| |
| 2014-10-16 Andy Estes <aestes@apple.com> |
| |
| [iOS] Capture WKActionSheetAssistant's interaction with WKContentView in a @protocol |
| https://bugs.webkit.org/show_bug.cgi?id=137792 |
| |
| Reviewed by Tim Horton. |
| |
| WKPDFView would like to use WKActionSheetAssistant to show an action sheet when long-pressing a link, but it |
| can't so long as WKActionSheetAssistant is tightly coupled to WKContentView. Resolve this by factoring |
| WKActionSheetAssistant's interaction with WKContentView into a new protocol called |
| WKActionSheetAssistantDelegate and having WKContentView conform to this protocol. |
| |
| * UIProcess/API/Cocoa/_WKElementAction.mm: |
| (+[_WKElementAction elementActionWithTitle:actionHandler:]): Changed instances of WKContentView * to id <WKActionSheetAssistantDelegate>. |
| (+[_WKElementAction elementActionWithType:customTitle:]): Ditto. |
| (-[_WKElementAction _runActionWithElementInfo:delegate:]): Ditto. |
| (copyElement): Deleted. |
| (saveImage): Deleted. |
| (-[_WKElementAction _runActionWithElementInfo:view:]): Deleted. |
| * UIProcess/API/Cocoa/_WKElementActionInternal.h: |
| * UIProcess/ios/WKActionSheet.h: |
| * UIProcess/ios/WKActionSheet.mm: |
| (-[WKActionSheet init]): Renamed from initWithView: since WKActionSheet no longer needs to know about a view. |
| (-[WKActionSheet _didRotateAndLayout]): Called -[WKActionSheetDelegate updatePositionInformation]. |
| (-[WKActionSheet initWithView:]): Deleted. |
| * UIProcess/ios/WKActionSheetAssistant.h: |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant delegate]): Added a getter for the delegate property. |
| (-[WKActionSheetAssistant setDelegate:]): Added a setter for the delegate property. |
| (-[WKActionSheetAssistant initWithView:]): Changed argument type from WKContentView * to UIView *. |
| (-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]): Returned CGRectZero if there is no delegate. |
| Otherwise, retrieved positionInformation from the delegate. |
| (-[WKActionSheetAssistant presentationRectInHostViewForSheet]): Ditto. |
| (-[WKActionSheetAssistant updatePositionInformation]): Called -[WKActionSheetAssistantDelegate updatePositionInformation]. |
| (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): Returned early if there is no delegate. |
| Otherwise, retrieved positionInformation from the delegate. |
| (-[WKActionSheetAssistant showImageSheet]): Ditto. |
| (-[WKActionSheetAssistant showLinkSheet]): Ditto. |
| (-[WKActionSheetAssistant showDataDetectorsSheet]): Ditto. |
| (-[WKActionSheetAssistant cleanupSheet]): |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setupInteraction]): Installed self as WKActionSheetAssistant's delegate. |
| (-[WKContentView updatePositionInformation]): Renamed from _updatePositionInformation. |
| (-[WKContentView performAction:]): Renamed from _performAction:. |
| (-[WKContentView openElementAtLocation:]): Called _attemptClickAtLocation:. |
| (-[WKContentView actionsForElement:defaultActions:]): Called API::UIClient::actionsForElement(). |
| (-[WKContentView startInteractionWithElement:]): Called WebPageProxy::startInteractionWithElementAtPosition(). |
| (-[WKContentView stopInteraction]): Called WebPageProxy::stopInteraction(). |
| (-[WKContentView _updatePositionInformation]): Deleted. |
| (-[WKContentView _performAction:]): Deleted. |
| |
| 2014-10-20 Carlos Garnacho <carlosg@gnome.org> |
| |
| [GTK] Improve zooming gesture positioning |
| https://bugs.webkit.org/show_bug.cgi?id=137822 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::ZoomGesture::center): |
| (WebKit::GestureController::ZoomGesture::begin): |
| (WebKit::GestureController::ZoomGesture::handleZoom): |
| (WebKit::GestureController::ZoomGesture::scaleChanged): Calculate |
| the proper view coordinates for the current offset/scale, based |
| on the initial gesture center point in document coordinates, and |
| the current center/scale. |
| * UIProcess/gtk/GestureController.h: |
| * UIProcess/gtk/WebPageProxyGtk.cpp: |
| (WebKit::WebPageProxy::getCenterForZoomGesture): Added. Synchronous |
| call to retrieve the zoom gesture anchor point, in document coordinates. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: Added stub. |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| (WebKit::WebPage::getCenterForZoomGesture): Added. Getter for the |
| translated coordinates used as the anchor point of the zoom gesture. |
| |
| 2014-10-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remove the factory method from DragAndDropHandler |
| https://bugs.webkit.org/show_bug.cgi?id=137872 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Make the constructor public and use std::make_unique instead. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseDragAndDropHandler): |
| * UIProcess/gtk/DragAndDropHandler.cpp: |
| (WebKit::DragAndDropHandler::create): Deleted. |
| * UIProcess/gtk/DragAndDropHandler.h: |
| |
| 2014-10-20 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add initial gestures support |
| https://bugs.webkit.org/show_bug.cgi?id=137812 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Now that GTK+ has support for gestures, we can use it to handle |
| touch events and allow to scroll, zoom and tap with the fingers. |
| |
| * PlatformGTK.cmake: Add new files to compilation. |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::doneWithTouchEvent): When the touch event |
| hasn't been handled by the web process pass it to the |
| GestureController and only fallback to pointer emulation when the |
| GestureController doesn't handle the event. |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseTouchEvent): If the GestureController is |
| currently processing gestures is because the START touch event was |
| not handled by the web process, so pass any successive touch |
| events to the GestureController directly. |
| (webkitWebViewBaseGestureController): Create the GestureController |
| on demand and return a reference. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * UIProcess/gtk/GestureController.cpp: Added. |
| (WebKit::GestureController::create): Create a GestureController. |
| (WebKit::GestureController::GestureController): Initialize the |
| Gesture memebers. |
| (WebKit::GestureController::handleEvent): Pass the event to the gestures. |
| (WebKit::GestureController::isProcessingGestures): Whether |
| Gestures are active. |
| (WebKit::GestureController::Gesture::Gesture): Base class for gestures. |
| (WebKit::GestureController::Gesture::isActive): Whether the |
| gesture is active. |
| (WebKit::GestureController::Gesture::handleEvent): Pass the event |
| to the GtkGesture to process it. |
| (WebKit::GestureController::DragGesture::handleDrag): Send a wheel |
| event corresponding to the drag gesture to the web process. |
| (WebKit::GestureController::DragGesture::handleTap): Send move, |
| press and release events corresponding to a tap gesture to the web process. |
| (WebKit::GestureController::DragGesture::begin): Start a drag |
| gesture and schedule a timer to discard tap gesture in case of |
| long press. |
| (WebKit::GestureController::DragGesture::update): If the actual |
| drag hasn't started yet, check the drag threshold to decide |
| whether to start the drag or not. Otherwise call handleDrag() to |
| send the appropriate events to the web process. |
| (WebKit::GestureController::DragGesture::end): If the drag gesture |
| finishes and the drag didn't happen (it wasn't a long press and |
| drag threshold was not reached), call handleTap() to emulate a |
| click event. |
| (WebKit::GestureController::DragGesture::DragGesture): Initialize |
| the GtkGestureDrag. |
| (WebKit::GestureController::ZoomGesture::begin): Save the current |
| page scale factor and the center point of the gesture. |
| (WebKit::GestureController::ZoomGesture::scaleChanged): Schedule a |
| page scale change in an idle for the given scale value. |
| (WebKit::GestureController::ZoomGesture::ZoomGesture): Initialize |
| the GtkGestureZoom. |
| * UIProcess/gtk/GestureController.h: Added. |
| |
| 2014-10-19 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for all remaining RenderObject subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137845 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for all remaining RenderObject subclasses and |
| clean up the surrounding code. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::pluginProcessCrashed): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::createPlugin): |
| |
| 2014-10-19 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move GtkDragAndDropHelper from Platform to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=137422 |
| |
| Reviewed by Martin Robinson. |
| |
| WebKitWebViewBase is currently the only user of |
| GtkDragAndDropHelper, that was added to share the code with |
| WebKit1. Move all the drag and drop logic to a new class |
| DragAndDropHandler. |
| |
| * PlatformGTK.cmake: Add new files to compilation. |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::startDrag): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseConstructed): |
| (webkitWebViewBaseDragDataGet): |
| (webkitWebViewBaseDragEnd): |
| (webkitWebViewBaseDragDataReceived): |
| (webkitWebViewBaseDragMotion): |
| (webkitWebViewBaseDragLeave): |
| (webkitWebViewBaseDragDrop): |
| (webkitWebViewBaseDragAndDropHandler): |
| (dragExitedCallback): Deleted. |
| (webkitWebViewBaseStartDrag): Deleted. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * UIProcess/gtk/DragAndDropHandler.cpp: Added. |
| (WebKit::DragAndDropHandler::create): |
| (WebKit::DragAndDropHandler::DragAndDropHandler): |
| (WebKit::DragAndDropHandler::DroppingContext::DroppingContext): |
| (WebKit::dragOperationToGdkDragActions): |
| (WebKit::dragOperationToSingleGdkDragAction): |
| (WebKit::gdkDragActionToDragOperation): |
| (WebKit::DragAndDropHandler::startDrag): |
| (WebKit::DragAndDropHandler::fillDragData): |
| (WebKit::DragAndDropHandler::finishDrag): |
| (WebKit::DragAndDropHandler::dataObjectForDropData): |
| (WebKit::DragAndDropHandler::dragEntered): |
| (WebKit::DragAndDropHandler::requestDragData): |
| (WebKit::DragAndDropHandler::dragMotion): |
| (WebKit::DragAndDropHandler::dragLeave): |
| (WebKit::DragAndDropHandler::drop): |
| * UIProcess/gtk/DragAndDropHandler.h: Added. |
| |
| 2014-10-18 Dan Bernstein <mitz@apple.com> |
| |
| WorkQueue dispatches functions but isn’t a FunctionDispatcher |
| https://bugs.webkit.org/show_bug.cgi?id=137853 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Platform/WorkQueue.h: Changed to inherit from FunctionDispatcher. |
| |
| 2014-10-18 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Improve documentation of webkit_web_view_get_tls_info() |
| https://bugs.webkit.org/show_bug.cgi?id=137852 |
| |
| Reviewed by Martin Robinson. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| |
| 2014-10-17 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderBox |
| https://bugs.webkit.org/show_bug.cgi?id=137804 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for RenderBox and clean up the surrounding |
| code. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::determinePrimarySnapshottedPlugIn): |
| (WebKit::WebPage::plugInIsPrimarySize): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::sendTapHighlightForNodeIfNecessary): |
| |
| 2014-10-16 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS] Turn off font autosizing for iOS WebKitTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=137806 |
| |
| Reviewed by Sam Weinig. |
| |
| Confusingly, WKPreferencesSetTextAutosizingEnabled() does nothing on iOS. |
| Instead, we have to add WKPreferencesSetMinimumZoomFontSize() and set it to 0 |
| to disable font autosizing. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetMinimumZoomFontSize): |
| (WKPreferencesGetMinimumZoomFontSize): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| |
| 2014-10-17 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL] REGRESSION(r173929): It broke the Web Inspector |
| https://bugs.webkit.org/show_bug.cgi?id=137522 |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| r173929 let web inspector use a separate web process. Besides it changed that the inspector is shown |
| as docking mode by default. However EFL port doesn't support to show web inspector as docking window yet. |
| This patch is to show web inspector on EFL new window as before. Docking mode should be implemented by |
| upcoming patch. |
| |
| * UIProcess/efl/WebInspectorProxyEfl.cpp: |
| (WebKit::WebInspectorProxy::platformAttach): |
| |
| 2014-10-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds |
| https://bugs.webkit.org/show_bug.cgi?id=137782 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| (WebKit::LayerTreeHostGtk::layerFlushTimerFired): Use microseconds |
| instead of milliseconds. |
| |
| 2014-10-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move touch events handling from Platform to WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=137735 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| GtkTouchContextHelper was only used by WebKitWebViewBase, since |
| it's the only one that can create touch events. The code has been |
| simplified by processing the events in the view, and the native |
| touch events are now created with the native event and touch points. |
| |
| * Shared/NativeWebTouchEvent.h: |
| (WebKit::NativeWebTouchEvent::touchContext): Deleted. |
| * Shared/gtk/NativeWebTouchEventGtk.cpp: |
| (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): Pass touch |
| points instead of touch context to WebEventFactory::createWebTouchEvent(). |
| * Shared/gtk/WebEventFactory.cpp: |
| (WebKit::WebEventFactory::createWebTouchEvent): Create the |
| WebTouchEvent for the given native event and points. |
| (WebKit::touchPhaseFromEvents): Deleted. |
| (WebKit::appendTouchEvent): Deleted. |
| * Shared/gtk/WebEventFactory.h: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (appendTouchEvent): Helper function to create a |
| WebPlatformTouchPoint for the given native event and add it to the |
| list of touch points. |
| (webkitWebViewBaseGetTouchPointForEvent): Build the touch point |
| list for the event. |
| (webkitWebViewBaseTouchEvent): Process the touch event. |
| (webkitWebViewBaseDragDataReceived): Deleted. |
| |
| 2014-10-16 Pascal Jacquemart <p.jacquemart@samsung.com> |
| |
| Removing CUSTOM_PROTOCOLS guard |
| https://bugs.webkit.org/show_bug.cgi?id=137741 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::NetworkProcess): |
| * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: |
| * Shared/Network/CustomProtocols/CustomProtocolManager.h: |
| * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: |
| * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: |
| * Shared/Network/NetworkProcessCreationParameters.cpp: |
| (WebKit::NetworkProcessCreationParameters::encode): |
| (WebKit::NetworkProcessCreationParameters::decode): |
| * Shared/Network/NetworkProcessCreationParameters.h: |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/C/soup/WKAPICastSoup.h: |
| * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: |
| (WKSoupCustomProtocolRequestManagerGetTypeID): |
| (WKSoupCustomProtocolRequestManagerSetClient): |
| * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: |
| * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: |
| * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: |
| * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::NetworkProcessProxy): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::WebContext): |
| (WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers): |
| (WebKit::WebContext::unregisterSchemeForCustomProtocol): |
| * UIProcess/WebContext.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::WebProcessProxy): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/mac/WebContextMac.mm: |
| (WebKit::WebContext::platformInitializeWebProcess): |
| (WebKit::WebContext::platformInitializeNetworkProcess): |
| * WebKit2Prefix.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| * WebProcess/soup/WebKitSoupRequestGeneric.cpp: |
| (webkitSoupRequestGenericSendAsync): |
| (webkitSoupRequestGenericSendFinish): |
| * WebProcess/soup/WebKitSoupRequestGeneric.h: |
| |
| 2014-10-16 Simon Fraser <simon.fraser@apple.com> |
| |
| Crash under RemoteLayerTreeHost::getLayer() when closing a tab |
| https://bugs.webkit.org/show_bug.cgi?id=137796 |
| rdar://problem/18547565 |
| |
| Reviewed by Tim Horton. |
| |
| CA can call our animation delegate after the RemoteLayerTreeHost has been |
| destroyed. CAAnimation retains its delegate, so it's safe for us to null out |
| the WKAnimationDelegate's pointer to the RemoteLayerTreeHost when tearing down |
| the RemoteLayerTreeHost. |
| |
| * UIProcess/mac/RemoteLayerTreeHost.mm: |
| (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost): |
| (WebKit::RemoteLayerTreeHost::animationDidEnd): |
| * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm: |
| (-[WKAnimationDelegate invalidate]): |
| (-[WKAnimationDelegate animationDidStart:]): |
| (-[WKAnimationDelegate animationDidStop:finished:]): |
| |
| 2014-10-16 Tim Horton <timothy_horton@apple.com> |
| |
| Implement selection services menu for Legacy WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=137582 |
| <rdar://problem/18604241> |
| |
| Reviewed by Brady Eidson. |
| |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (-[WKSharingServicePickerDelegate sharingService:didShareItems:]): |
| Add a note that we should transition to using replaceSelectionWithAttributedString. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::handleSelectionServiceClick): |
| Allow editor services in editable-but-not-rich-text areas, just like in WebKit1. |
| |
| 2014-10-16 Tim Horton <timothy_horton@apple.com> |
| |
| Various crashes in ViewGestureControllerIOS when closing a tab while a swipe gesture is in progress |
| https://bugs.webkit.org/show_bug.cgi?id=137770 |
| <rdar://problem/17916459> |
| |
| Reviewed by Dan Bernstein. |
| |
| When tearing down a WKWebView in the middle of a swipe gesture, a variety of |
| UI process crashes were observed. First, two uses of potentially deleted objects |
| (the WebBackForwardListItem and ViewGestureController), which were fixed by |
| extending the object's lifetime and checking for its liveness, respectively. |
| Second, a potential null-deref of DrawingArea if the timing of endSwipeGesture |
| vs. page teardown was such that DrawingArea was null but everything else was in line. |
| Lastly, another case of messaging a potentially deleted object (specifically, |
| the _UIViewControllerTransitionContext's animator) in a callback from CA, which |
| was fixed by nulling out the animator (and a few other properties) when tearing |
| down the ViewGestureController. |
| |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (-[WKSwipeTransitionController invalidate]): |
| Clear the soon-to-be-invalid ViewGestureController pointer. |
| |
| (WebKit::ViewGestureController::~ViewGestureController): |
| Call [WKSwipeTransitionController invalidate] upon destruction. |
| Clear our transition context's interactor and animator, and inform it that |
| the transition is not in flight. This avoids a crash when calling back |
| to the already-destroyed animator later. |
| |
| (WebKit::ViewGestureController::beginSwipeGesture): |
| Keep a reference to the target WebBackForwardListItem; this avoids |
| it being deleted between here and the transition completion block firing. |
| |
| Look up the ViewGestureController by pageID, just like we do in endSwipeGesture, |
| to avoid situations where the callback fires after the WKWebView/ViewGestureController |
| have gone away. |
| |
| Hold on to our _UIViewControllerOneToOneTransitionContext, so that we can do the |
| aforementioned clearing upon deallocation. |
| |
| (WebKit::ViewGestureController::endSwipeGesture): |
| Null check the DrawingArea. If it is null, instead of doing our normal delayed logic |
| for swipe snapshot teardown, just put things back together immediately. |
| |
| (WebKit::ViewGestureController::removeSwipeSnapshot): |
| Clear m_swipeTransitionContext. |
| |
| 2014-10-16 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r173356): Downloading a disk image appends ".txt" to it |
| https://bugs.webkit.org/show_bug.cgi?id=137493 |
| <rdar://problem/18321947> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Shared/Downloads/ios/DownloadIOS.mm: |
| (WebKit::Download::startWithHandle): |
| * Shared/Downloads/mac/DownloadMac.mm: |
| (WebKit::Download::startWithHandle): |
| |
| It appears that the synthesized NS/CFURLResponse fails to serialize the suggested filename correctly |
| unless it has been accessed first. |
| |
| 2014-10-15 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] "Plug-in will handle load" error isn't declared in the modern API |
| https://bugs.webkit.org/show_bug.cgi?id=137747 |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/API/Cocoa/WKError.mm: Define _WKLegacyErrorDomain. |
| * UIProcess/API/Cocoa/WKErrorInternal.h: Changed to import WKErrorPrivate.h. |
| * UIProcess/API/Cocoa/WKErrorPrivate.h: Added. Declares _WKLegacyErrorDomain |
| and _WKLegacyErrorPlugInWillHandleLoad. |
| * WebKit2.xcodeproj/project.pbxproj: Added new private header. |
| |
| 2014-10-15 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for TransformOperation subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137731 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for TransformOperation subclasses and clean |
| up the surrounding code. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<TransformOperations>::encode): |
| |
| 2014-10-15 Alexey Proskuryakov <ap@apple.com> |
| |
| [Mac] Allow some Kerberos related paths in sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=137666 |
| rdar://problem/17965010 |
| |
| Reviewed by Darin Adler. |
| |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2014-10-15 Alexey Proskuryakov <ap@apple.com> |
| |
| [Mac] Allow plug-ins to read managed preferences |
| https://bugs.webkit.org/show_bug.cgi?id=137665 |
| <rdar://problem/18255601> |
| |
| Reviewed by Darin Adler. |
| |
| * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: |
| |
| 2014-10-14 Joonghun Park <jh718.park@samsung.com> |
| |
| [WK2][EFL] Fix the problem that threads created by a DispatchQueueEfl are not destroyed |
| even after the DispatchQueueEfl has been destructed |
| https://bugs.webkit.org/show_bug.cgi?id=137195 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Linux and Unix System's pthreads are created in joinable state by default. |
| If threads aren't destructed explicitly, it will be still live |
| until process which created the thread is dead. |
| Besides it may cause out of capacity range of thread creation in a process. |
| It is one of hidden defects. |
| This patch calls detachThread() to detach thread immediately after it is created. |
| So the thread can be destroyed as soon as the thread's ThreadContext::function() |
| returns. |
| |
| * Platform/efl/DispatchQueueEfl.cpp: |
| (DispatchQueue::ThreadContext::start): |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for PlatformCAAnimation subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137722 |
| |
| Reviewed by Simon Fraser. |
| |
| Use is<>() / downcast<>() for PlatformCAAnimation subclasses and clean |
| up the surrounding code. |
| |
| * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h: |
| * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm: |
| (WebKit::PlatformCAAnimationRemote::copy): |
| (WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom): |
| (WebKit::PlatformCAAnimationRemote::copyFromValueFrom): |
| (WebKit::PlatformCAAnimationRemote::copyToValueFrom): |
| (WebKit::PlatformCAAnimationRemote::copyValuesFrom): |
| (WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom): |
| (WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::addAnimationForKey): |
| (WebKit::PlatformCALayerRemote::animationStarted): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): |
| |
| 2014-10-14 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION (r165356): Issues with Japanese text input |
| https://bugs.webkit.org/show_bug.cgi?id=137719 |
| rdar://problem/18431952 |
| rdar://problem/18483741 |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection): |
| In sync code path, ensure consistent message delivery order by adding |
| a DispatchMessageEvenWhenWaitingForSyncReply flag. This way, delayed |
| EditorStateChanged messages won't confuse UI process. |
| |
| 2014-10-14 Anders Carlsson <andersca@apple.com> |
| |
| Hide the find indicator when starting a swipe |
| https://bugs.webkit.org/show_bug.cgi?id=137711 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::navigationGestureDidBegin): |
| |
| 2014-10-14 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderImage |
| https://bugs.webkit.org/show_bug.cgi?id=137683 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| Use is<>() / downcast<>() for RenderImage. |
| |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::cachedImage): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::performActionOnElement): |
| |
| 2014-10-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][CMake] Non-ninja build is broken since r174422 |
| https://bugs.webkit.org/show_bug.cgi?id=137656 |
| |
| Reviewed by Philippe Normand. |
| |
| Make WebKit2-forwarding-headers depend only on static, |
| non-generated sources. |
| |
| * CMakeLists.txt: |
| * PlatformGTK.cmake: |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for PlatformCALayer subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137661 |
| |
| Reviewed by Simon Fraser. |
| |
| Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up |
| the surrounding code. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::~PlatformCALayerRemote): |
| (WebKit::PlatformCALayerRemote::updateClonedLayerProperties): |
| (WebKit::PlatformCALayerRemote::recursiveBuildTransaction): |
| (WebKit::PlatformCALayerRemote::setSublayers): |
| (WebKit::PlatformCALayerRemote::appendSublayer): |
| (WebKit::PlatformCALayerRemote::insertSublayer): |
| (WebKit::PlatformCALayerRemote::replaceSublayer): |
| (WebKit::PlatformCALayerRemote::adoptSublayers): |
| (WebKit::PlatformCALayerRemote::setMask): |
| (WebKit::PlatformCALayerRemote::copyFiltersFrom): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: |
| (WebKit::RemoteLayerTreeContext::buildTransaction): |
| |
| 2014-10-13 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Filter / FilterOperation subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137644 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for Filter / FilterOperation subclasses. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<WebCore::FilterOperations>::encode): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<FilterOperation>::encode): |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTextStream::operator<<): |
| |
| 2014-10-12 Sergio Villar Senin <svillar@igalia.com> |
| |
| [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents |
| https://bugs.webkit.org/show_bug.cgi?id=137489 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Temporarily set the SoupCache's maximum size to a huge value |
| before calling soup_cache_load() so that the cache is not shrinked |
| to the default value. |
| |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcess): |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2014-10-12 Ryuan Choi <ryuan.choi@gmail.com> |
| |
| [EFL] Introduce EWebKit_Extension |
| https://bugs.webkit.org/show_bug.cgi?id=134921 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| EWebKit2 does not provide the functionality to extend WebProcess. |
| Although there is ewk_context_new_with_injected_bundle_path() in ewebkit2 APIs, |
| application developers can not make bundle object without touching WK APIs |
| which ewebkit2 does not expose. |
| |
| This patch introduces EWebKit_Extension, basic structure for the extension of WebProcess. |
| |
| * PlatformEfl.cmake: |
| Added files for the EWebKit_Extension and install them properly. |
| * UIProcess/API/efl/ewk_context.cpp: |
| (EwkContext::EwkContext): |
| (bundlePathForExtension): |
| (EwkContext::create): |
| (EwkContext::getInjectedBundleInitializationUserData): |
| (EwkContext::setMessageFromInjectedBundleCallback): |
| (ewk_context_new_with_extensions_path): |
| Deleted because ewebkit2 does not have a way to make injected bundle. |
| Instead, Ewk_Extension will cover the same functionalities. |
| (ewk_context_new_with_injected_bundle_path): Deleted. |
| * UIProcess/API/efl/ewk_context.h: |
| * UIProcess/API/efl/ewk_context_private.h: |
| (EwkContext::extensionsPath): |
| * UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Removed. |
| * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: |
| (EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample): |
| (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): Renamed injectedBundleSample to extensionSample. |
| * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: |
| * UIProcess/API/efl/tests/extensions/extension_sample.cpp: Copied from Source/WebKit2/UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp. |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: Renamed ewk_context_new_with_injected_bundle_path to ewk_context_new_with_extensions_path. |
| (TEST_F): |
| * WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: Added. |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: Added. |
| (EwkExtension::append): |
| (EwkExtension::remove): |
| (ewk_extension_client_add): |
| (ewk_extension_client_del): |
| * WebProcess/InjectedBundle/API/efl/ewk_extension.h: Added. |
| * WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: Added. |
| (EwkExtension::EwkExtension): |
| (EwkExtension::~EwkExtension): |
| * WebProcess/efl/ExtensionManagerEfl.cpp: Added. |
| (WebKit::ExtensionManagerEfl::shared): |
| (WebKit::ExtensionManagerEfl::ExtensionManagerEfl): |
| (WebKit::ExtensionManagerEfl::initialize): |
| * WebProcess/efl/ExtensionManagerEfl.h: Added. |
| * WebProcess/efl/WebInjectedBundleMainEfl.cpp: Added. |
| (WKBundleInitialize): |
| * efl/ewebkit2-extension.pc.in: Added. |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Image subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137625 |
| |
| Reviewed by Andreas Kling. |
| |
| Use is<>() / downcast<>() for Image subclasses. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::pluginSnapshotTimerFired): |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for GraphicsLayer subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137595 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for GraphicsLayer subclasses and clean up the |
| surrounding code. |
| |
| * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::flushLayers): |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::layerForTransientZoom): |
| (WebKit::TiledCoreAnimationDrawingArea::shadowLayerForTransientZoom): |
| |
| 2014-10-10 Pascal Jacquemart <p.jacquemart@samsung.com> |
| |
| Fix debug build on EFL after r174584 |
| https://bugs.webkit.org/show_bug.cgi?id=137613 |
| |
| Reviewed by Christophe Dumez. |
| |
| * UIProcess/efl/RequestManagerClientEfl.cpp: |
| (WebKit::RequestManagerClientEfl::RequestManagerClientEfl): |
| |
| 2014-10-10 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderBoxModelObject |
| https://bugs.webkit.org/show_bug.cgi?id=137587 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| Use is<>() / downcast<>() for RenderBoxModelObject and clean up the |
| surrounding code. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::renderer): |
| (WebKit::PluginView::invalidateRect): |
| |
| 2014-10-10 Pascal Jacquemart <p.jacquemart@samsung.com> |
| |
| [SOUP] Remove custom URI schemes implementation |
| https://bugs.webkit.org/show_bug.cgi?id=128169 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/C/soup/WKAPICastSoup.h: |
| * UIProcess/API/C/soup/WKContextSoup.cpp: Removed. |
| * UIProcess/API/C/soup/WKSoupRequestManager.cpp: Removed. |
| * UIProcess/WebContext.cpp: |
| (WebKit::WebContext::WebContext): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didReceiveURIRequest): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/soup/WebSoupRequestManagerClient.cpp: Removed. |
| * UIProcess/soup/WebSoupRequestManagerProxy.cpp: Removed. |
| * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Removed. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): |
| * WebProcess/soup/WebKitSoupRequestGeneric.cpp: |
| (webkitSoupRequestGenericSendAsync): |
| (webkitSoupRequestGenericSendFinish): |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| * WebProcess/soup/WebSoupRequestManager.cpp: Removed. |
| * WebProcess/soup/WebSoupRequestManager.messages.in: Removed. |
| |
| 2014-10-09 Dean Jackson <dino@apple.com> |
| |
| Remove ENABLE_CSS3_CONDITIONAL_RULES |
| https://bugs.webkit.org/show_bug.cgi?id=137571 |
| |
| Reviewed by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2014-10-09 Tim Horton <timothy_horton@apple.com> |
| |
| Move ServicesOverlayController to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=137416 |
| <rdar://problem/18546283> |
| |
| Reviewed by Anders Carlsson. |
| |
| * Platform/Logging.h: |
| Move Services logging channel to WebCore. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::handleTelephoneNumberClick): |
| (WebKit::WebChromeClient::handleSelectionServiceClick): |
| (WebKit::WebChromeClient::hasRelevantSelectionServices): |
| Implement services-related ChromeClient callbacks. |
| Clicks are forwarded to WebPageMac where they do what they used to; |
| hasRelevantSelectionServices is implemented as it was when it lived |
| inside ServicesOverlayController. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged): Deleted. |
| (WebKit::WebEditorClient::selectionRectsDidChange): Deleted. |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| Remove WebEditorClient overrides for now-removed functions. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::WebPage::updatePreferences): |
| Forward serviceControlsEnabled setting to WebCore. |
| |
| (WebKit::WebPage::servicesOverlayController): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::serviceControlsEnabled): Deleted. |
| |
| 2014-10-09 Andy Estes <aestes@apple.com> |
| |
| [iOS] Crash in CFURLDownloadClient.didFail if the download has a null resumeData |
| https://bugs.webkit.org/show_bug.cgi?id=137551 |
| |
| Reviewed by David Kilzer. |
| |
| CFDataGetBytePtr() and CFDataGetLength() crash if passed a null value. |
| |
| * Shared/Downloads/ios/DownloadIOS.mm: |
| (WebKit::setUpDownloadClient): |
| |
| 2014-10-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [X11] Plugin process crashes in NetscapePlugin::platformPostInitialize() |
| https://bugs.webkit.org/show_bug.cgi?id=137426 |
| |
| Reviewed by Darin Adler. |
| |
| For some reason flash crashes when NPP_GetValue is called with |
| NPPVpluginCancelSrcStream, but only in windowed mode. Not calling |
| NPP_GetValue and unconditionally loading the source URL in the |
| browser fixes the crash and plugins work normally. We can handle |
| this particular case with a new quirk. |
| |
| * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: |
| (WebKit::NetscapePluginModule::determineQuirks): Add |
| DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin. |
| * Shared/Plugins/PluginQuirks.h: Add |
| DoNotCancelSrcStreamInWindowedMode quirk. |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin |
| is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present. |
| |
| 2014-10-09 Chris Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for Widget subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137549 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for Widget subclasses and clean up the |
| surrounding code. |
| |
| * Shared/WebRenderObject.cpp: |
| (WebKit::WebRenderObject::WebRenderObject): |
| |
| 2014-10-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use the PageLoadState observer also to monitor title and estimated load progress |
| https://bugs.webkit.org/show_bug.cgi?id=136997 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| (attachLoaderClientToView): Remove implementation of |
| didReceiveTitleForFrame, didStartProgress, didChangeProgress and |
| didFinishProgress. |
| (didReceiveTitleForFrame): Deleted. |
| (didChangeProgress): Deleted. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_get_estimated_load_progress): Return the value |
| directly from the PageLoadState object, since we don't need to |
| cache the value anymore. |
| (webkitWebViewSetTitle): Deleted. |
| (webkitWebViewSetEstimatedLoadProgress): Deleted. |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| |
| 2014-10-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Race condition with WebKitWebView:is-loading after starting page load |
| https://bugs.webkit.org/show_bug.cgi?id=136692 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Use PageLoadState::Observer to update both is-loading and uri |
| properties, instead of manually update them. This ensures that our |
| web view is always in sync with the WebPageProxy so that |
| webkit_web_view_is_loading() returns true right after requesting |
| any load. We still need to manually set the is-loading property |
| only in the case where we delay the emission of the load-changed |
| signals when waiting for the main resource. The bahaviour is a bit |
| different but still consistent with what our API documentation says. |
| |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| (attachLoaderClientToView): Remove |
| didSameDocumentNavigationForFrame implementation, since we are |
| already notified about the URL change by the PageLoadState::Observer. |
| (didSameDocumentNavigationForFrame): Deleted. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewSetIsLoading): No longer update the URI when |
| changing the is-loading property. |
| (webkitWebViewConstructed): Crate a PageLoadStateObserver and add |
| it to the PageLoadState. |
| (webkitWebViewDispose): Remove the PageLoadStateObserver from the PageLoadState. |
| (webkitWebViewEmitLoadChanged): Add isDelayedEvent parameter to |
| update the is-loading property accordingly when emitting the |
| delayed events. |
| (webkitWebViewEmitDelayedLoadEvents): Pass true as isDelayedEvent |
| parameter of webkitWebViewEmitLoadChanged(). |
| (webkitWebViewLoadChanged): Pass false as isDelayedEvent parameter |
| of webkitWebViewEmitLoadChanged(). |
| (webkitWebViewLoadFailed): |
| (webkitWebViewLoadFailedWithTLSErrors): |
| (webkitWebViewUpdateURI): Deleted. |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| |
| 2014-10-08 Christophe Dumez <cdumez@apple.com> |
| |
| Use is<>() / downcast<>() for RenderBlock objects |
| https://bugs.webkit.org/show_bug.cgi?id=137512 |
| |
| Reviewed by Darin Adler. |
| |
| Use is<>() / downcast<>() for RenderBlock objects and clean up the |
| surrounding code. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::rangeForWebSelectionAtPosition): |
| (WebKit::WebPage::contractedRangeFromHandle): |
| |
| 2014-10-08 Ada Chan <adachan@apple.com> |
| |
| Implement WKPageIsPlayingAudio(). |
| https://bugs.webkit.org/show_bug.cgi?id=137048 |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageIsPlayingAudio): |
| |
| 2014-10-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| [EFL][CoordinatedGraphics] All EFL layout tests are broken since r174231 |
| https://bugs.webkit.org/show_bug.cgi?id=137443 |
| |
| Reviewed by Zoltan Herczeg. |
| |
| EFL layout test and MiniBrowser have broken since r174231. r174231 was to move PageOverlay implementation |
| from WebKit2 to WebCore with lazy initializing of PageOverlayController. It caused all EFL layout tests |
| crash and build break. To restore EFL layout test, this patch sets viewOverlayRootLayer through |
| attachViewOverlayGraphicsLayer() as mac port's one in r174231. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: |
| (WebKit::CoordinatedDrawingArea::attachViewOverlayGraphicsLayer): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): |
| (WebKit::CoordinatedLayerTreeHost::updateRootLayers): |
| (WebKit::CoordinatedLayerTreeHost::setViewOverlayRootLayer): |
| (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer): |
| (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| |
| 2014-10-08 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r174335. |
| https://bugs.webkit.org/show_bug.cgi?id=137515 |
| |
| It broke EFL layout test totally (Requested by gyuyoung on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[EFL] Introduce EWebKit_Extension" |
| https://bugs.webkit.org/show_bug.cgi?id=134921 |
| http://trac.webkit.org/changeset/174335 |
| |
| 2014-10-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Make forwarding headers generation depend on source code |
| https://bugs.webkit.org/show_bug.cgi?id=137394 |
| |
| Reviewed by Philippe Normand. |
| |
| Only run generate-forwarding-headers.pl when source code changes |
| and use a different target for the symlinks. |
| |
| * PlatformGTK.cmake: |
| |
| 2014-10-07 Pascal Jacquemart <p.jacquemart@samsung.com> |
| |
| [EFL] Enable custom URI schemes with CustomProtocols |
| https://bugs.webkit.org/show_bug.cgi?id=128177 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Fixing ewk_context_url_scheme_register() ewebkit2 API |
| rely on r162449 - CustomProtocols implementation from Carlos Garcia Campos |
| |
| * PlatformEfl.cmake: |
| * UIProcess/API/efl/ewk_context.h: |
| * UIProcess/API/efl/ewk_url_scheme_request.cpp: |
| (EwkUrlSchemeRequest::EwkUrlSchemeRequest): |
| (EwkUrlSchemeRequest::finish): |
| * UIProcess/API/efl/ewk_url_scheme_request_private.h: |
| (EwkUrlSchemeRequest::create): |
| * UIProcess/API/efl/tests/test_ewk2_context.cpp: |
| (TEST_F): |
| * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: |
| * UIProcess/efl/RequestManagerClientEfl.cpp: |
| (WebKit::RequestManagerClientEfl::RequestManagerClientEfl): |
| (WebKit::RequestManagerClientEfl::startLoading): |
| (WebKit::RequestManagerClientEfl::stopLoading): |
| (WebKit::RequestManagerClientEfl::registerURLSchemeHandler): |
| (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler): Deleted. |
| (WebKit::RequestManagerClientEfl::didReceiveURIRequest): Deleted. |
| * UIProcess/efl/RequestManagerClientEfl.h: |
| * UIProcess/efl/WebContextEfl.cpp: |
| (WebKit::WebContext::platformInitializeWebProcess): |
| * UIProcess/soup/WebContextSoup.cpp: |
| (WebKit::WebContext::platformInitializeNetworkProcess): |
| |
| 2014-10-07 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Remove WKPageCreateSnapshotOfVisibleContent API. |
| https://bugs.webkit.org/show_bug.cgi?id=66979 |
| |
| Reviewed by Darin Adler. |
| |
| After the landing of the first patch of webkit.org/b/66979, |
| WKPageCreateSnapshotOfVisibleContent API has been neglected for years. |
| Currently, this is not used anywhere and does not break the nightlies. |
| So we can remove this. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageCreateSnapshotOfVisibleContent): Deleted. |
| * UIProcess/API/C/WKPagePrivate.h: |
| |
| 2014-10-07 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Remove WKPageSetInvalidMessageFunction. |
| https://bugs.webkit.org/show_bug.cgi?id=137509 |
| |
| Reviewed by Benjamin Poulain. |
| |
| According to the FIXME comment in WKPageSetInvalidMessageFunction, |
| we can remove this function when doing so won't break the nightlies. |
| Currently, this is not used anywhere and does not break the nightlies. |
| So we can remove this. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetInvalidMessageFunction): Deleted. |
| * UIProcess/API/C/WKPagePrivate.h: |
| |
| 2014-10-07 Christophe Dumez <cdumez@apple.com> |
| |
| [WK2] Use is<>() / downcast<>() for DrawingArea subclasses |
| https://bugs.webkit.org/show_bug.cgi?id=137497 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Use is<>() / downcast<>() for DrawingArea subclasses. |
| |
| * WebProcess/WebPage/DrawingArea.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didCommitLoad): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::synchronizeDynamicViewportUpdate): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: |
| |
| 2014-10-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Roll-over Changelogs. |
| |
| * ChangeLog-2014-10-07: Copied from Source/WebKit2/ChangeLog. |
| |
| == Rolled over to ChangeLog-2014-10-07 == |