| 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 == |