blob: f96a365dff13ff5b547af3f14ffbabf3910736fa [file] [log] [blame]
2013-02-06 Anders Carlsson <andersca@apple.com>
Dispatch storage manager messages to the storage work queue
https://bugs.webkit.org/show_bug.cgi?id=109099
Reviewed by Andreas Kling.
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
(WebKit::StorageManager::dispatchMessageOnStorageManagerQueue):
(WebKit):
* UIProcess/Storage/StorageManager.h:
(StorageManager):
2013-02-06 Anders Carlsson <andersca@apple.com>
Pass the document source URL to the pluginLoadPolicy callback
https://bugs.webkit.org/show_bug.cgi?id=109084
<rdar://problem/13154516>
Reviewed by Andreas Kling.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getPluginPath):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::pluginLoadPolicy):
* UIProcess/WebUIClient.h:
(WebUIClient):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
(WebKit::WebPage::canPluginHandleResponse):
2013-02-06 Alexey Proskuryakov <ap@apple.com>
Get rid of unneeded writeable preferences.
Reviewed by Anders Carlsson.
com.apple.HIToolbox.plist and com.apple.WebProcess.plist were made writeable very
early in WebKit2 development, before we moved a lot of functionality to UI process.
They don't appear to be needed any more.
Note that we do not even need to allow reading for com.apple.WebProcess.plist -
it's read at process initialization before we enter the sandbox, and services
have a different plist anyway.
* WebProcess/com.apple.WebProcess.sb.in:
2013-02-06 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][WK2] Assertion failure on MiniBrowser exit
https://bugs.webkit.org/show_bug.cgi?id=108932
Reviewed by Anders Carlsson.
WorkQueue is now refcounted after r141497, so increase ref
count when a new job is scheduled and unref it when it finishes.
* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::performWork):
(WorkQueue::performTimerWork):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
2013-02-06 Simon Hausmann <simon.hausmann@digia.com>, Zoltan Arvai <zarvai@inf.u-szeged.hu>
[WK2][Win] Fix build after MessageID.h related changes and after r141619.
https://bugs.webkit.org/show_bug.cgi?id=108612
Reviewed by Anders Carlsson.
* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::platformInvalidate):
(CoreIPC::Connection::readEventHandler):
(CoreIPC::Connection::open):
(CoreIPC::Connection::sendOutgoingMessage):
* Platform/WorkQueue.h:
(WorkQueue::WorkItemWin::queue):
(WorkItemWin):
* Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::Handle::decode):
* Platform/win/WorkQueueWin.cpp:
(WorkQueue::handleCallback):
(WorkQueue::performWorkOnRegisteredWorkThread):
2013-02-06 Mike West <mkwst@chromium.org>
Add an ENABLE_NOSNIFF feature flag.
https://bugs.webkit.org/show_bug.cgi?id=109029
Reviewed by Jochen Eisinger.
This new flag will control the behavior of 'X-Content-Type-Options: nosniff'
when processing script and other resource types.
* Configurations/FeatureDefines.xcconfig:
2013-02-06 Marja Hölttä <marja@chromium.org>
Take referrer policy into account when clearing the referrer header
https://bugs.webkit.org/show_bug.cgi?id=86000
Reviewed by Alexey Proskuryakov.
The referrer should only be cleared when doing a https -> http redirect,
if the policy is "default". Otherwise the referrer should be left intact.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
* NetworkProcess/SchedulableLoader.cpp:
(WebKit::SchedulableLoader::SchedulableLoader):
* NetworkProcess/SchedulableLoader.h:
(WebKit::SchedulableLoader::shouldClearReferrerOnHTTPSToHTTPRedirect):
(SchedulableLoader):
* NetworkProcess/SyncNetworkResourceLoader.cpp:
(WebKit::SyncNetworkResourceLoader::start):
* NetworkProcess/mac/RemoteNetworkingContext.h:
(WebKit::RemoteNetworkingContext::create):
(RemoteNetworkingContext):
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
(WebKit):
(WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::shouldClearReferrerOnHTTPSToHTTPRedirect):
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebKit::WebResourceLoadScheduler::scheduleLoad):
* WebProcess/Network/WebResourceLoadScheduler.h:
(WebResourceLoadScheduler):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously):
2013-02-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Encapsulate Ewk View evas smart object code inside EwkView class
https://bugs.webkit.org/show_bug.cgi?id=108062
Reviewed by Kenneth Rohde Christiansen.
The Ewk View implementation is encapsulated within EwkView class.
Besides multiple refactoring of Ewk View evas smart object code was made.
* UIProcess/API/C/efl/WKView.cpp:
(createWKView):
Aux function to share WKView creation implementation.
* UIProcess/API/efl/EwkView.cpp:
(smartDataChanged):
(defaultSmartClassInstance):
(toSmartData):
(EwkView::initSmartClassInterface):
(EwkView::toEvasObject):
(EwkView::smartData):
Renamed and moved here from ewk_view.
(EwkViewEventHandler):
(EwkViewEventHandler::subscribe):
(EwkViewEventHandler::unsubscribe):
(::handleEvent):
Added a new template class to encapsulate Ewk View Evas events handling.
(EwkView::EwkView):
(EwkView::~EwkView):
Constructor and desctructor are private.
(EwkView::createEvasObject):
Added factory function for ewk view evas objects creation.
(EwkView::handleEvasObjectAdd):
(EwkView::handleEvasObjectDelete):
(EwkView::handleEvasObjectResize):
(EwkView::handleEvasObjectMove):
(EwkView::handleEvasObjectCalculate):
(EwkView::handleEvasObjectShow):
(EwkView::handleEvasObjectHide):
(EwkView::handleEvasObjectColorSet):
Evas_Smart_Class interface callbacks moved into the EwkView class.
(EwkView::handleEwkViewFocusIn):
(EwkView::handleEwkViewFocusOut):
(EwkView::handleEwkViewMouseWheel):
(EwkView::handleEwkViewMouseDown):
(EwkView::handleEwkViewMouseUp):
(EwkView::handleEwkViewMouseMove):
(EwkView::handleEwkViewKeyDown):
(EwkView::handleEwkViewKeyUp):
Ewk_View_Smart_Class interface callback moved into the EwkView class.
(EwkView::handleTouchDown):
(EwkView::handleTouchUp):
(EwkView::handleTouchMove):
Renamed.
(toEwkView):
Aux function to get the EwkView instance fromevas object.
(isViewEvasObject):
Aux function to check that given evas object is ewk view.
* UIProcess/API/efl/EwkView.h:
(EwkView::evasObject):
(EwkView):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_smart_class_set):
(ewk_view_smart_add):
(ewk_view_add_with_context):
(ewk_view_feed_touch_event):
(Ewk_Page_Contents_Context):
* UIProcess/API/efl/ewk_view_private.h: Removed.
* UIProcess/API/C/efl/WKView.cpp:
(WKViewCreate):
(WKViewCreateWithFixedLayout):
(WKViewCreateSnapshot):
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::incorporateUpdate):
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
(WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
(WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
(WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::processDidCrash):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didChangeBackForwardList):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::takeFocus):
(WebKit::PageUIClientEfl::focus):
(WebKit::PageUIClientEfl::unfocus):
* UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::viewWidget):
Updated due to changes in EwkView interface.
2013-02-05 Tim Horton <timothy_horton@apple.com>
[wk2] TiledCoreAnimationDrawingArea has one more layer in its CAContext when we're in the background
https://bugs.webkit.org/show_bug.cgi?id=108992
<rdar://problem/13087365>
Reviewed by Anders Carlsson.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea): Add storage for m_isInWindow.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): Only set the root layer on our layer
hosting context if we're in the window when swapping out contexts.
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): Update m_isInWindow, and set the root layer
of the layer hosting context (or unset it if we're out of the window).
2013-02-05 Anders Carlsson <andersca@apple.com>
WebKit clients should be able to override loading of blocked plug-ins
https://bugs.webkit.org/show_bug.cgi?id=108968
<rdar://problem/13154516>
Reviewed by Sam Weinig.
Replace the shouldInstantiatePlugin callback with a new pluginLoadPolicy which is called regardless
of whether the plug-in is blocked or not. This lets clients override the plug-in load policy and
force loading of blacklisted plug-ins (and vice versa).
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getPluginPath):
* UIProcess/WebUIClient.cpp:
(WebKit::toWKPluginLoadPolicy):
(WebKit):
(WebKit::toPluginModuleLoadPolicy):
(WebKit::WebUIClient::pluginLoadPolicy):
* UIProcess/WebUIClient.h:
(WebUIClient):
2013-02-05 Simon Hausmann <simon.hausmann@digia.com>
[Qt][WK2] Replace more uses of WebPageProxy with WKPage in QQuickWebView
https://bugs.webkit.org/show_bug.cgi?id=108826
Reviewed by Kenneth Rohde Christiansen and signed off for WK2 by
Benjamin Poulain.
This patch converts a few more usages of WebPageProxy to functions in
the WKPage API.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewLegacyPrivate::zoomFactor):
(QQuickWebViewLegacyPrivate::setZoomFactor):
(QQuickWebViewExperimental::postMessage):
(QQuickWebViewExperimental::userAgent):
(QQuickWebViewExperimental::setUserAgent):
(QQuickWebViewExperimental::evaluateJavaScript):
(QQuickWebViewExperimental::findText):
(QQuickWebView::goBack):
(QQuickWebView::goForward):
(QQuickWebView::stop):
(QQuickWebView::reload):
(QQuickWebView::setUrl):
(QQuickWebView::canGoBack):
(QQuickWebView::canGoForward):
(QQuickWebView::loading):
(QQuickWebView::title):
(QQuickWebView::pageRef):
(QQuickWebView::loadHtml):
(QQuickWebView::runJavaScriptInMainFrame):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
2013-02-04 Gwang Yoon Hwang <ryumiel@company100.net>
Coordinated Graphics : disconnectCustomFilterProgram does not do anything.
https://bugs.webkit.org/show_bug.cgi?id=108807
Reviewed by Anders Carlsson.
We need to add newly created WebCustomFilterProgramProxy to a hashset to
disconnect when CoordinatedLayerTreeHost gets destructed.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
2013-02-04 Benjamin Poulain <bpoulain@apple.com>
Kill suspendAnimation(), resumeAnimation() and numberOfActiveAnimations() from DRT/WTR; use Internals
https://bugs.webkit.org/show_bug.cgi?id=108741
Reviewed by Tony Chang.
Suspending and resuming application has been useless for a one. Someone just
"forgot" WebKit2.
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
* WebProcess/WebPage/WebFrame.cpp:
* WebProcess/WebPage/WebFrame.h:
(WebFrame):
2013-02-04 Jaehun Lim <ljaehun.lim@samsung.com>
[EFL][WK2] Implement runBeforeUnloadConfirmPanel on EFL
https://bugs.webkit.org/show_bug.cgi?id=106979
Reviewed by Benjamin Poulain.
Implement runBeforeUnloadConfirmPanel() to support window.onbeforeunload.
We can show confirmation window when beforeunload event is fired.
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::PageUIClientEfl):
(WebKit::PageUIClientEfl::runBeforeUnloadConfirmPanel):
(WebKit):
* UIProcess/efl/PageUIClientEfl.h:
(PageUIClientEfl):
2013-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] Introduce a WebView class as counterpart for WKViewRef
https://bugs.webkit.org/show_bug.cgi?id=107931
Reviewed by Anders Carlsson.
This is just one step of the new plan for the EFL API.
The plan is to move the public EFL-like API on top of the shared
WK2 C API, plus a few EFL extensions (WKView class mostly).
The EFL-like API can be seen as a convenience API which ties
well into EFL and which makes it easy to add web experiences
to existing and new EFL applications. It provides a smart object
like API and a Evas_Object based view.
For more advanced use cases, such as browser and runtime, it is
possible to use the WK* C API, which is gives more flexibility
while being more low level.
The idea is that the WKView class will not depend on Evas_Object
and X11 (future plan) unlike the current EFL-like API. This should
make it possible to use it for cases where none of these are
available.
This patch introduces the WebView class which serves as our
counterpart for the WKView class, and adds a few needed methods.
The EwkView owns the WebView class (and will be constructing it
in the near future when the EwkView class has been changed to
handle all smart object related code)
The clean up of the smart object related code as the proper
construction of EwkView and WebView will be done in follow-up
patches.
* UIProcess/API/C/efl/WKAPICastEfl.h:
(WebKit):
The WKView API is not based on WebView and not Evas_Object*
* UIProcess/API/C/efl/WKView.cpp:
(WKViewCreate):
(WKViewCreateWithFixedLayout):
(WKViewInitialize):
(WKViewGetPage):
(WKViewSetThemePath):
(WKViewSuspendActiveDOMObjectsAndAnimations):
(WKViewResumeActiveDOMObjectsAndAnimations):
(WKViewGetEvasObject):
(WKViewCreateSnapshot):
Add a few new WKView EFL C methods, and update existing
methods to reflect that the WKViewRef is now a WebView*
The construction methods will be rewritten when the smart
object construction has been solved.
* UIProcess/API/C/efl/WKView.h:
* UIProcess/efl/WebView.cpp: Added.
(WebKit):
(WebKit::WebView::WebView):
(WebKit::WebView::~WebView):
(WebKit::WebView::initialize):
(WebKit::WebView::setThemePath):
(WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
(WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
* UIProcess/efl/WebView.h: Added.
(WebKit):
(WebView):
(WebKit::WebView::pageRef):
(WebKit::WebView::evasObject):
(WebKit::WebView::page):
(WebKit::WebView::type):
Add a new WebKit::WebView class for EFL.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
(EwkView::~EwkView):
(EwkView::wkPage):
(EwkView::setThemePath):
(EwkView::createGLSurface):
Base methods on C API instead of internal API as much
as currently possible.
* UIProcess/API/efl/EwkView.h:
(WebKit):
(WebView):
(EwkView):
(EwkView::wkView):
(EwkView::page):
* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):
(ewk_view_base_add):
(ewk_view_smart_add):
Modify to return the EwkView class for now.
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Updated due to changed API.
2013-02-04 Anders Carlsson <andersca@apple.com>
Set up the storage manager as a connection queue
https://bugs.webkit.org/show_bug.cgi?id=108879
Reviewed by Sam Weinig.
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::processWillOpenConnection):
Add the storage manager as a connection queue client.
(WebKit::StorageManager::processWillCloseConnection):
Remove the storage manager.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::processWillOpenConnection):
Call the storage manager.
(WebKit::WebContext::processWillCloseConnection):
Call the storage manager.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connectionWillOpen):
Call the context.
(WebKit::WebProcessProxy::connectionWillClose):
Call the context.
(WebKit::WebProcessProxy::didFinishLaunching):
Remove a comment.
2013-02-04 Anders Carlsson <andersca@apple.com>
Send message when creating and destroying StorageAreaProxy objects
https://bugs.webkit.org/show_bug.cgi?id=108874
Reviewed by Sam Weinig.
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::fromSecurityOrigin):
* Shared/SecurityOriginData.h:
(SecurityOriginData):
Add helper function for creating a SecurityOriginData object given a WebCore::SecurityOrigin object.
* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::generateStorageAreaID):
New function to create a unique storage area ID.
(WebKit::StorageAreaProxy::StorageAreaProxy):
Send a CreateStorageArea message.
(WebKit::StorageAreaProxy::~StorageAreaProxy):
Send a DestroyStorageArea message.
(WebKit::StorageAreaProxy::contains):
Remove this assertion for now, it fires too often.
* WebProcess/Storage/StorageNamespaceProxy.h:
(WebKit::StorageNamespaceProxy::storageNamespaceID):
Add getter.
2013-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] Use C API inside EwkView
https://bugs.webkit.org/show_bug.cgi?id=108825
Reviewed by Anders Carlsson.
A straight-forward port towards the C API.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView): Use C API for common default preferences.
(EwkView::wkPage): Make it const and remove useless comment.
(EwkView::deviceScaleFactor):
(EwkView::title):
(EwkView::customTextEncodingName):
(EwkView::setCustomTextEncodingName):
(EwkView::informURLChange):
* UIProcess/API/efl/EwkView.h:
(EwkView):
2013-02-04 Alexey Proskuryakov <ap@apple.com>
Remove an unnecessary sandbox rule.
Reviewed by Sam Weinig.
* WebProcess/com.apple.WebProcess.sb.in: We already have a file-read rule for
/Library/Managed Preferences, no need for another rule for something inside it.
2013-02-04 Brady Eidson <beidson@apple.com>
WebProcess crashes handling repeated NetworkProcess crashes.
<rdar://problem/13049867> and https://bugs.webkit.org/show_bug.cgi?id=108861
Reviewed by Alexey Proskuryakov.
- Rename the concept of "unschedulable loader" to "internally failed loader"
- When the NetworkProcess crashes, add all outstanding ResourceLoaders into the unschedulable pile.
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::scheduleLoad):
(WebKit::WebResourceLoadScheduler::scheduleInternallyFailedLoad):
(WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
(WebKit::WebResourceLoadScheduler::remove): Also remove a non-helpful, out of date comment.
(WebKit::WebResourceLoadScheduler::networkProcessCrashed):
* WebProcess/Network/WebResourceLoadScheduler.h:
WebResourceLoader no longer responds to crashes directly, but now exposes its WebCore ResourceLoader:
* WebProcess/Network/WebResourceLoader.cpp:
* WebProcess/Network/WebResourceLoader.h:
(WebKit::WebResourceLoader::resourceLoader):
2013-02-04 Anders Carlsson <andersca@apple.com>
Update message generation to use the new queue client semantics
https://bugs.webkit.org/show_bug.cgi?id=108865
Reviewed by Andreas Kling.
* Scripts/webkit2/messages.py:
(connection_work_queue_message_statement):
(async_message_statement):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/Storage/StorageManager.h:
(StorageManager):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:
(WebProcess):
2013-02-04 Abhishek Arya <inferno@chromium.org>
Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
https://bugs.webkit.org/show_bug.cgi?id=108668
Reviewed by Eric Seidel.
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::HandleArray::operator[]):
2013-02-04 Anders Carlsson <andersca@apple.com>
Change didReceiveMessageOnConnectionWorkQueue semantics
https://bugs.webkit.org/show_bug.cgi?id=108859
Reviewed by Sam Weinig.
Change didReceiveMessageOnConnectionWorkQueue to take a reference to an
OwnPtr<MessageDecoder>. This lets queue clients handle a message later, on a different
work queue for example. Also, get rid of the didHandleMessage boolean, since taking ownership
of the decoder implicitly means that the message was handled.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::processIncomingMessage):
* Platform/CoreIPC/Connection.h:
(QueueClient):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageManager):
(WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/Storage/StorageManager.h:
(WebKit):
(StorageManager):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:
(WebProcess):
2013-02-04 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12884778> Sandbox violation due to MediaAccessibility code trying to access ~/Library/Preferences/com.apple.mediaaccessibility.plist
Reviewed by Sam Weinig.
* WebProcess/com.apple.WebProcess.sb.in:
2013-02-04 Anders Carlsson <andersca@apple.com>
Add didCloseOnConnectionWorkQueue to Connection::QueueClient
https://bugs.webkit.org/show_bug.cgi?id=108853
Reviewed by Andreas Kling.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::connectionDidClose):
* Platform/CoreIPC/Connection.h:
(QueueClient):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didCloseOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::didCloseOnConnectionWorkQueue):
(WebKit):
* UIProcess/Storage/StorageManager.h:
(StorageManager):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didCloseOnConnectionWorkQueue):
(WebKit):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didCloseOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didCloseOnConnectionWorkQueue):
(WebKit):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didCloseOnConnectionWorkQueue):
(WebKit):
* WebProcess/WebProcess.h:
(WebProcess):
2013-02-04 Martin Robinson <mrobinson@igalia.com>
Fix GTK+ 'make dist' in preparation for the 1.11.5 release.
* GNUmakefile.am:
* GNUmakefile.list.am:
2013-02-04 Enrica Casucci <enrica@apple.com>
Add specific EditActions for Bold and Italic commands.
https://bugs.webkit.org/show_bug.cgi?id=108842.
<rdar://problem/13098252>
Reviewed by Ryosuke Niwa.
* UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):
2013-02-04 Anders Carlsson <andersca@apple.com>
Use a separate queue for the connection watchdog callback in the web process
https://bugs.webkit.org/show_bug.cgi?id=108844
Reviewed by Andreas Kling.
Don't pass the connection work queue to the didCloseOnConnectionWorkQueue callback.
Instead, create a new, temporary work queue where the exit call will be dispatched to.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::connectionDidClose):
* Platform/CoreIPC/Connection.h:
(Connection):
* Shared/ChildProcess.cpp:
(WebKit::didCloseOnConnectionWorkQueue):
2013-02-04 Tim Horton <timothy_horton@apple.com>
Allow TiledCoreAnimationDrawingArea overlay layers to become tiled
https://bugs.webkit.org/show_bug.cgi?id=108729
<rdar://problem/13047546>
Reviewed by Anders Carlsson.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea): Add didCommitChangesForLayer and storage for the
current PlatformLayer corresponding to m_pageOverlayLayer.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers): Update the TileCache's visible rect.
(WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Forward exposed rect changes to the page overlay layer, if it's tiled.
(WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): Forward scrollability changes to the page overlay layer, if it's tiled.
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): Allow the page overlay layer to become tiled. Update its exposed rect and whether or not it respects the exposed rect if it's tiled upon creation.
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): If a GraphicsLayer's platform layer changes (because it switched to or from a tiled layer), reparent it. If it's switching to a tiled layer, update the exposed rect and whether or not it should respect the exposed rect.
2013-02-04 Anders Carlsson <andersca@apple.com>
Use UNUSED_PARAM instead of C style comments.
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createStorageArea):
2013-02-04 Christophe Dumez <dchris@gmail.com>
[EFL][WK2] Stop using libsoup in ewk_url_scheme_request
https://bugs.webkit.org/show_bug.cgi?id=108816
Reviewed by Anders Carlsson.
As we are trying to minimize use of external dependencies in our WK2 EFL
API implementation, we should stop using libsoup in
ewk_url_scheme_request and use the WK2 C API instead.
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(EwkUrlSchemeRequest::EwkUrlSchemeRequest):
2013-02-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2][EFL] Weird stripe at the end of the page
https://bugs.webkit.org/show_bug.cgi?id=108820
Reviewed by Noam Rosenthal.
The page scroll bound was artificially enlarged by one causing the artifact appearance.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::boundContentsPositionAtScale):
2013-02-04 David Kilzer <ddkilzer@apple.com>
Sort WebKit2 Xcode project file
* WebKit2.xcodeproj/project.pbxproj:
2013-02-04 Simon Hausmann <simon.hausmann@digia.com>
[WK2][Qt] Replace WebPageGroup usage for user scripts with WKPageGroupRef
https://bugs.webkit.org/show_bug.cgi?id=108651
Reviewed by Sam Weinig.
It's straight-forward port towards the C API.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(readUserScript):
(QQuickWebViewPrivate::updateUserScripts):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
2013-02-04 Balazs Kelemen <kbalazs@webkit.org>
[Soup] Wrap SoupSession by NetworkStorageSession
https://bugs.webkit.org/show_bug.cgi?id=108615
Reviewed by Alexey Proskuryakov.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::storageSession):
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext):
2013-02-03 David Kilzer <ddkilzer@apple.com>
Upstream ENABLE_PDFKIT_PLUGIN settting
<http://webkit.org/b/108792>
Reviewed by Tim Horton.
* Configurations/FeatureDefines.xcconfig: Disable PDFKIT_PLUGIN
on iOS since PDFKit is a Mac-only framework.
2013-02-01 Alexey Proskuryakov <ap@apple.com>
Silently block one more directory needed for NSApplication initialization.
Reviewed by Sam Weinig.
* WebProcess/com.apple.WebProcess.sb.in:
2013-02-03 KwangYong Choi <ky0.choi@samsung.com>
Fix build warning after r141648
https://bugs.webkit.org/show_bug.cgi?id=108784
Reviewed by Kentaro Hara.
Fix -Wunused-parameter build warning.
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createStorageArea):
(WebKit::StorageManager::destroyStorageArea):
2013-02-03 Joanmarie Diggs <jdiggs@igalia.com>
[GTK] Make distcheck fails
https://bugs.webkit.org/show_bug.cgi?id=108756
Reviewed by Kentaro Hara.
* GNUmakefile.list.am: Remove header files which no longer exist
2013-02-02 Sam Weinig <sam@webkit.org>
Remove more LegacyReceivers
https://bugs.webkit.org/show_bug.cgi?id=108758
Reviewed by Anders Carlsson.
* UIProcess/Downloads/DownloadProxy.cpp:
* UIProcess/Downloads/DownloadProxy.messages.in:
* UIProcess/WebApplicationCacheManagerProxy.cpp:
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.messages.in:
* UIProcess/WebCookieManagerProxy.cpp:
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebCookieManagerProxy.messages.in:
* UIProcess/WebDatabaseManagerProxy.cpp:
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebDatabaseManagerProxy.messages.in:
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
* UIProcess/mac/RemoteLayerTreeHost.messages.in:
* UIProcess/mac/RemoteLayerTreeHost.mm:
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
* WebProcess/Cookies/WebCookieManager.cpp:
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/Cookies/WebCookieManager.messages.in:
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
2013-02-02 Sam Weinig <sam@webkit.org>
Convert CustomProtocolManagerProxy, CustomProtocolManager and AuthenticationManager to be non-LegacyReceivers
https://bugs.webkit.org/show_bug.cgi?id=108757
Reviewed by Anders Carlsson.
* Shared/Authentication/AuthenticationManager.cpp:
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/Authentication/AuthenticationManager.messages.in:
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
2013-02-02 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use C API inside ewk_file_chooser_request
https://bugs.webkit.org/show_bug.cgi?id=107811
Reviewed by Sam Weinig.
Use C API inside ewk_file_chooser_request instead of
accessing the internal C++ classes directly, to
avoid violating API layering.
* UIProcess/API/efl/ewk_file_chooser_request.cpp:
(EwkFileChooserRequest::EwkFileChooserRequest):
(EwkFileChooserRequest::~EwkFileChooserRequest):
(EwkFileChooserRequest::allowMultipleFiles):
(EwkFileChooserRequest::acceptedMIMETypes):
(EwkFileChooserRequest::cancel):
(EwkFileChooserRequest::chooseFiles):
(ewk_file_chooser_request_accepted_mimetypes_get):
(ewk_file_chooser_request_files_choose):
(ewk_file_chooser_request_file_choose):
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
(EwkFileChooserRequest::create):
(EwkFileChooserRequest):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::runOpenPanel):
2013-02-02 Sam Weinig <sam@webkit.org>
Stop keeping a frame tree in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=81728
Reviewed by Oliver Hunt.
This patch removes the parent/child relationships of WebFrameProxys
in the UIProcess
* UIProcess/API/C/WKFrame.cpp:
(WKFrameCopyChildFrames):
(WKFrameGetParentFrame):
* UIProcess/API/C/WKFrame.h:
Null out the implementations of WKFrameCopyChildFrames and WKFrameGetParentFrame,
but keep them around as their symbols are still needed for nightlies.
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::WebFrameProxy):
(WebKit::WebFrameProxy::disconnect):
* UIProcess/WebFrameProxy.h:
Remove parent/child connections.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCreateSubframe):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didSaveToPageCache):
(WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createSubframe):
Remove/Update messages that only served to update the parent/child connection.
2013-02-02 Sam Weinig <sam@webkit.org>
Make it possible to modify the connection from ChildProcessProxy subclasses.
Reviewed by Anders Carlsson.
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::ChildProcessProxy):
(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::clearConnection):
(WebKit::ChildProcessProxy::connectionWillOpen):
(WebKit::ChildProcessProxy::connectionWillClose):
* Shared/ChildProcessProxy.h:
(ChildProcessProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionWillClose):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
2013-02-02 David Kilzer <ddkilzer@apple.com>
Upstream iOS FeatureDefines
<http://webkit.org/b/108753>
Reviewed by Anders Carlsson.
* Configurations/FeatureDefines.xcconfig:
- ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
- ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
- FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO. Add
PLATFORM_NAME variant to reduce future merge conflicts.
2013-02-02 Csaba Osztrogonác <ossy@webkit.org>
[Qt][WK2] Unreviewed buildfix after r141648.
* DerivedSources.pri:
2013-02-02 Zan Dobersek <zdobersek@igalia.com>
Follow-up to r141682. Adding build targets for the files that should be generated from the new message.in file.
Unreviewed.
* GNUmakefile.list.am:
2013-02-01 Zan Dobersek <zdobersek@igalia.com>
Unreviewed GTK build fix after r141648.
* GNUmakefile.am: Add UIProcess/Storage to the list of paths that
should be searched for *.messages.in files.
2013-02-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed build fix after r141648
Needs to add StorageManager.messages.in to CMakeLists.txt.
* CMakeLists.txt:
2013-02-01 Benjamin Poulain <bpoulain@apple.com>
Build fix for CustomProtocolManagerMac after r141658.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::supplementName): I accidentally typed "const" twice twice.
2013-02-01 Benjamin Poulain <bpoulain@apple.com>
[WK2] Use light supplement names instead of static AtomicStrings
https://bugs.webkit.org/show_bug.cgi?id=108570
Reviewed by Anders Carlsson.
Since all the supplement names are just string literals and are all different,
we can just use their pointer as the key in the supplement hashmaps.
This is lighter and faster than using AtomicString. WebCore already moved to this
in Supplementable.
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::addSupplement):
(NetworkProcess):
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::supplementName):
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::supplementName):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::supplementName):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::supplementName):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::supplementName):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::supplementName):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::supplementName):
* UIProcess/WebGeolocationManagerProxy.h:
(WebGeolocationManagerProxy):
* UIProcess/WebKeyValueStorageManagerProxy.cpp:
(WebKit::WebKeyValueStorageManagerProxy::supplementName):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::supplementName):
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::supplementName):
* UIProcess/WebResourceCacheManagerProxy.h:
(WebResourceCacheManagerProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::supplementName):
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::supplementName):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::supplementName):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::supplementName):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::supplementName):
* WebProcess/MediaCache/WebMediaCacheManager.h:
(WebMediaCacheManager):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::supplementName):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::supplementName):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebResourceCacheManager):
* WebProcess/Storage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::supplementName):
* WebProcess/Storage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::supplementName):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::addSupplement):
(WebProcess):
2013-02-01 Benjamin Poulain <bpoulain@apple.com>
Clean the String->AtomicString conversion for AnimationController::pauseAnimationAtTime
https://bugs.webkit.org/show_bug.cgi?id=108558
Reviewed by Dean Jackson.
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFramePauseAnimationOnElementWithId):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::pauseAnimationOnElementWithId):
* WebProcess/WebPage/WebFrame.h:
(WebFrame):
2013-02-01 Anders Carlsson <andersca@apple.com>
More work on UI side storage
https://bugs.webkit.org/show_bug.cgi?id=108700
Reviewed by Sam Weinig.
* DerivedSources.make:
Add StorageManager.messages.in.
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::callMemberFunction):
Add new overload.
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::didReceiveMessageOnConnectionWorkQueue):
Call the right function.
(WebKit::StorageManager::createStorageArea):
(WebKit::StorageManager::destroyStorageArea):
Add stubs.
* UIProcess/Storage/StorageManager.messages.in: Added.
Add new messages files.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::~StorageAreaProxy):
Add another FIXME.
(WebKit::StorageAreaProxy::canAccessStorage):
(WebKit::StorageAreaProxy::incrementAccessCount):
(WebKit::StorageAreaProxy::decrementAccessCount):
Implement these.
2013-02-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
[Gtk] [WK2] Fix build after r141619
https://bugs.webkit.org/show_bug.cgi?id=108687
Reviewed by Benjamin Poulain.
Take a reference instead of a pointer for decoding functions.
* Platform/gtk/SharedMemoryGtk.cpp:
(WebKit::SharedMemory::Handle::decode):
* Shared/gtk/ArgumentCodersGtk.cpp:
(CoreIPC::decodeImage):
(CoreIPC::decodeDataObject):
(CoreIPC::::decode):
(CoreIPC::decodeGKeyFile):
(CoreIPC::decode):
* Shared/gtk/ArgumentCodersGtk.h:
* Shared/gtk/LayerTreeContextGtk.cpp:
(WebKit::LayerTreeContext::decode):
2013-02-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
[EFL] [WK2] Fix build after r141619
https://bugs.webkit.org/show_bug.cgi?id=108683
Reviewed by Benjamin Poulain.
Take a reference instead of a pointer for decoding functions.
* Shared/WebBatteryStatus.cpp:
(WebKit::WebBatteryStatus::Data::decode):
* Shared/WebBatteryStatus.h:
(Data):
* Shared/WebNetworkInfo.cpp:
(WebKit::WebNetworkInfo::Data::decode):
* Shared/WebNetworkInfo.h:
(Data):
* Shared/cairo/LayerTreeContextCairo.cpp:
(WebKit::LayerTreeContext::decode):
* Shared/efl/LayerTreeContextEfl.cpp:
(WebKit::LayerTreeContext::decode):
* Shared/soup/PlatformCertificateInfo.cpp:
(WebKit::PlatformCertificateInfo::decode):
* Shared/soup/PlatformCertificateInfo.h:
(PlatformCertificateInfo):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::decodePlatformData):
2013-02-01 Brady Eidson <beidson@apple.com>
Clean up WebArchive loading with the NetworkProcess
<rdar://problem/12695840> and https://bugs.webkit.org/show_bug.cgi?id=108673
Reviewed by Alexey Proskuryakov.
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::servePendingRequestsForQueue): Add new logging.
(WebKit::HostRecord::servePendingRequests): Tweak existing logging.
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::servePendingRequests): Tweak existing logging.
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Handle archive resource scheduling better,
and add new logging to better explore archive loading behavior in the future.
2013-02-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
[Qt] [WK2] Fix build after r141619
https://bugs.webkit.org/show_bug.cgi?id=108680
Reviewed by Benjamin Poulain.
Take a reference instead of a pointer for decoding functions.
* Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):
(CoreIPC::decodeTimingFunction):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::Handle::decode):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
(Handle):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/qt/ArgumentCodersQt.h:
(CoreIPC):
* Shared/qt/LayerTreeContextQt.cpp:
(WebKit::LayerTreeContext::decode):
* Shared/qt/PlatformCertificateInfo.h:
(WebKit::PlatformCertificateInfo::decode):
* Shared/qt/QtNetworkReplyData.cpp:
(WebKit::QtNetworkReplyData::decode):
* Shared/qt/QtNetworkReplyData.h:
(QtNetworkReplyData):
* Shared/qt/QtNetworkRequestData.cpp:
(WebKit::QtNetworkRequestData::decode):
* Shared/qt/QtNetworkRequestData.h:
(QtNetworkRequestData):
* Shared/qt/WebCoreArgumentCodersQt.cpp:
(CoreIPC::::decodePlatformData):
2013-02-01 Anders Carlsson <andersca@apple.com>
Message decoding functions should take a MessageDecoder reference
https://bugs.webkit.org/show_bug.cgi?id=108669
Reviewed by Andreas Kling.
Message encoding functions already take a reference instead of a pointer, so
make the decoding functions take a reference as well.
* Platform/CoreIPC/ArgumentCoder.h:
(CoreIPC::ArgumentCoder::decode):
* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::decode):
(CoreIPC::decodeStringText):
* Platform/CoreIPC/ArgumentCoders.h:
(CoreIPC::SimpleArgumentCoder::decode):
* Platform/CoreIPC/ArgumentDecoder.h:
(CoreIPC::ArgumentDecoder::decode):
* Platform/CoreIPC/Arguments.h:
(CoreIPC::Arguments0::decode):
(CoreIPC::Arguments1::decode):
(CoreIPC::Arguments2::decode):
(CoreIPC::Arguments3::decode):
(CoreIPC::Arguments4::decode):
(CoreIPC::Arguments5::decode):
(CoreIPC::Arguments6::decode):
(CoreIPC::Arguments7::decode):
(CoreIPC::Arguments8::decode):
(CoreIPC::Arguments10::decode):
* Platform/CoreIPC/Attachment.cpp:
(CoreIPC::Attachment::decode):
* Platform/CoreIPC/Attachment.h:
(Attachment):
* Platform/CoreIPC/DataReference.cpp:
(CoreIPC::DataReference::decode):
* Platform/CoreIPC/DataReference.h:
(DataReference):
* Platform/CoreIPC/StringReference.cpp:
(CoreIPC::StringReference::decode):
* Platform/CoreIPC/StringReference.h:
(StringReference):
* Platform/CoreIPC/mac/MachPort.h:
(CoreIPC::MachPort::decode):
* Platform/SharedMemory.h:
(Handle):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::decode):
* PluginProcess/PluginCreationParameters.cpp:
(WebKit::PluginCreationParameters::decode):
* PluginProcess/PluginCreationParameters.h:
(PluginCreationParameters):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::decode):
* Shared/DictionaryPopupInfo.h:
(DictionaryPopupInfo):
* Shared/EditorState.cpp:
(WebKit::EditorState::decode):
* Shared/EditorState.h:
(EditorState):
* Shared/FontInfo.cpp:
(WebKit::FontInfo::decode):
* Shared/FontInfo.h:
(FontInfo):
* Shared/LayerTreeContext.h:
(LayerTreeContext):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
(NetworkProcessCreationParameters):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(NetworkResourceLoadParameters):
* Shared/OriginAndDatabases.cpp:
(WebKit::OriginAndDatabases::decode):
* Shared/OriginAndDatabases.h:
(OriginAndDatabases):
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h:
(PlatformPopupMenuData):
* Shared/Plugins/NPIdentifierData.cpp:
(WebKit::NPIdentifierData::decode):
* Shared/Plugins/NPIdentifierData.h:
(NPIdentifierData):
* Shared/Plugins/NPVariantData.cpp:
(WebKit::NPVariantData::decode):
* Shared/Plugins/NPVariantData.h:
(NPVariantData):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h:
(PluginProcessCreationParameters):
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::decode):
* Shared/PrintInfo.h:
(PrintInfo):
* Shared/SandboxExtension.h:
(Handle):
(HandleArray):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::decode):
* Shared/SecurityOriginData.h:
(SecurityOriginData):
* Shared/SessionState.cpp:
(WebKit::SessionState::decode):
* Shared/SessionState.h:
(SessionState):
* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::Handle::decode):
* Shared/ShareableBitmap.h:
(Handle):
* Shared/ShareableResource.cpp:
(WebKit::ShareableResource::Handle::decode):
* Shared/ShareableResource.h:
(Handle):
* Shared/SharedWorkerProcessCreationParameters.cpp:
(WebKit::SharedWorkerProcessCreationParameters::decode):
* Shared/SharedWorkerProcessCreationParameters.h:
(SharedWorkerProcessCreationParameters):
* Shared/StatisticsData.cpp:
(WebKit::StatisticsData::decode):
* Shared/StatisticsData.h:
(StatisticsData):
* Shared/StringPairVector.h:
(WebKit::StringPairVector::decode):
* Shared/UpdateInfo.cpp:
(WebKit::UpdateInfo::decode):
* Shared/UpdateInfo.h:
(UpdateInfo):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::decode):
* Shared/WebContextMenuItemData.h:
(WebContextMenuItemData):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::decode):
(CoreIPC::decodeImage):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.cpp:
(WebKit::WebEvent::decode):
* Shared/WebEvent.h:
(WebEvent):
(WebMouseEvent):
(WebWheelEvent):
(WebKeyboardEvent):
(WebGestureEvent):
(WebPlatformTouchPoint):
(WebTouchEvent):
* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::Data::decode):
* Shared/WebGeolocationPosition.h:
(Data):
* Shared/WebGestureEvent.cpp:
(WebKit::WebGestureEvent::decode):
* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::decode):
* Shared/WebHitTestResult.h:
(Data):
* Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::decode):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::decode):
* Shared/WebNavigationDataStore.h:
(WebKit::WebNavigationDataStore::decode):
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::decode):
* Shared/WebPageGroupData.h:
(WebPageGroupData):
* Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::decode):
* Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::decode):
* Shared/WebPopupItem.h:
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::decode):
* Shared/WebPreferencesStore.h:
(WebPreferencesStore):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* Shared/WebTouchEvent.cpp:
(WebKit::WebTouchEvent::decode):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::decode):
* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::decode):
* Shared/cf/ArgumentCodersCF.h:
(CoreIPC):
* Shared/mac/ArgumentCodersMac.h:
(CoreIPC):
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::decode):
* Shared/mac/AttributedString.h:
(AttributedString):
* Shared/mac/AttributedString.mm:
(WebKit::AttributedString::decode):
* Shared/mac/ColorSpaceData.h:
(ColorSpaceData):
* Shared/mac/ColorSpaceData.mm:
(WebKit::ColorSpaceData::decode):
* Shared/mac/LayerTreeContextMac.mm:
(WebKit::LayerTreeContext::decode):
* Shared/mac/ObjCObjectGraphCoders.h:
(WebContextObjCObjectGraphDecoder):
(InjectedBundleObjCObjectGraphDecoder):
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::ObjCObjectGraphDecoder::baseDecode):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
(WebKit::WebContextObjCObjectGraphDecoder::decode):
(WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
* Shared/mac/PlatformCertificateInfo.h:
(PlatformCertificateInfo):
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit::PlatformCertificateInfo::decode):
* Shared/mac/RemoteLayerTreeTransaction.h:
(LayerProperties):
(RemoteLayerTreeTransaction):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::decode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::decode):
* Shared/mac/SecItemRequestData.h:
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::decode):
* Shared/mac/SecItemResponseData.h:
(SecItemResponseData):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::decodePlatformData):
(CoreIPC::::decode):
* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageDecoder::decode):
* WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
(WebKit::InjectedBundleUserMessageDecoder::decode):
* WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::Parameters::decode):
* WebProcess/Plugins/Plugin.h:
(Parameters):
2013-02-01 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Adapt WorkQueueGtk to the latest changes in WebKit2 after r141497
https://bugs.webkit.org/show_bug.cgi?id=108607
Reviewed by Anders Carlsson.
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::EventSource::executeEventSource): Remove the is valid
work queue check.
(WorkQueue::EventSource): WorkQueue is now refcounted, so keep a
reference when a new job is scheduled and unref it when it
finishes.
2013-02-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r141319.
http://trac.webkit.org/changeset/141319
https://bugs.webkit.org/show_bug.cgi?id=108629
This patch is causing the UIProcess to hang on GTK port when
loading plugins (Requested by chris-qBT_laptop on #webkit).
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
2013-02-01 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] EwkContext should be based on C WK2 API
https://bugs.webkit.org/show_bug.cgi?id=107666
Reviewed by Andreas Kling.
EwkContext should be based on C WK2 API so that API layering is not violated.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::create):
(EwkContext::cookieManager):
(EwkContext::ensureFaviconDatabase):
(EwkContext::setFaviconDatabaseDirectoryPath):
(EwkContext::addVisitedLink):
(EwkContext::setCacheModel):
(EwkContext::cacheModel):
(EwkContext::setAdditionalPluginPath):
(EwkContext::clearResourceCache):
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):
2013-02-01 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use C API inside ewk_auth_request
https://bugs.webkit.org/show_bug.cgi?id=107806
Reviewed by Andreas Kling.
Use C API inside ewk_auth_request instead of accessing C++ internal
classes directly, to avoid violating layering.
* UIProcess/API/efl/ewk_auth_request.cpp:
(EwkAuthRequest::EwkAuthRequest):
(EwkAuthRequest::suggestedUsername):
(EwkAuthRequest::realm):
(EwkAuthRequest::host):
(EwkAuthRequest::continueWithoutCredential):
(EwkAuthRequest::authenticate):
(EwkAuthRequest::isRetrying):
(ewk_auth_request_authenticate):
* UIProcess/API/efl/ewk_auth_request_private.h:
(EwkAuthRequest::create):
(EwkAuthRequest):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
2013-02-01 Seulgi Kim <seulgikim@company100.net>
[Gtk][WK2] Fix build after recent WebKit2 changes
https://bugs.webkit.org/show_bug.cgi?id=108588
Reviewed by Andreas Kling.
Don't remove WorkQueue during execution.
Following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::EventSource::~EventSource):
(WorkQueue::EventSource::executeEventSource):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
(WorkQueue::dispatchOnTermination):
2013-02-01 Alexis Menard <alexis@webkit.org>
Enable unprefixed CSS transitions by default.
https://bugs.webkit.org/show_bug.cgi?id=108216
Reviewed by Dean Jackson.
Rename the flag CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED which will be used later to
guard the unprefixing work for CSS Transforms and animations.
* Configurations/FeatureDefines.xcconfig:
2013-02-01 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics : Sort Target.pri and class declarations in alphabetical order.
https://bugs.webkit.org/show_bug.cgi?id=108590
Reviewed by Noam Rosenthal.
Sort class declarations in alphabetical order.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):
2013-02-01 Gwang Yoon Hwang <ryumiel@company100.net>
[EFL][WK2] MiniBrowser segfaults on loading google.com
https://bugs.webkit.org/show_bug.cgi?id=108597
Reviewed by Andreas Kling.
* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::processMessage):
oolMessageBody should be properly initialized before it is used.
This patch also adds omitted break statement.
2013-01-31 Jae Hyun Park <jae.park@company100.net>
[Qt] Add MessageFlags.h in Target.pri
https://bugs.webkit.org/show_bug.cgi?id=108583
Reviewed by Kentaro Hara.
Since MessageDecoder and MessageEncoder include MessageFlags.h, it
should be included in Target.pri.
* Target.pri:
2013-01-31 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics : Move CoordinatedGraphics related files to WebCore
https://bugs.webkit.org/show_bug.cgi?id=108149
Reviewed by Noam Rosenthal.
This patch moves Coordinated Graphics related code to WebCore. To
implement Threaded Coordinated Graphics, most of Coordianted Graphics
code should be shared. Therefore, they should reside in WebCore instead of
WebKit2.
When moving to WebCore, two renamings have been done.
1. Rename LayerTreeRenderer to CoordinatedGraphicsScene.
2. Rename WebCustomFilterProgram and WebCustomFilterOperation to
CoordinatedCustomFilterProgram and CoordinatedCustomFilterOperation,
respectively.
No new tests, covered by existing tests.
* CMakeLists.txt:
* Scripts/webkit2/messages.py:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
* Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
* Target.pri:
* UIProcess/API/efl/EwkView.cpp:
* UIProcess/API/efl/EwkView.h:
* UIProcess/API/qt/qquickwebpage.cpp:
* UIProcess/API/qt/raw/qrawwebview.cpp:
* UIProcess/API/qt/raw/qrawwebview_p.h:
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* UIProcess/efl/PageClientBase.cpp:
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
* UIProcess/qt/QtWebPageSGNode.cpp:
* UIProcess/qt/QtWebPageSGNode.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2013-01-31 Rafael Brandao <rafael.lobo@openbossa.org>
[Qt][WK2] Another attempt to fix build after recent WebKit2 changes
https://bugs.webkit.org/show_bug.cgi?id=108548
Reviewed by Anders Carlsson.
* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::platformInvalidate):
(CoreIPC::Connection::processMessage): Change Deque to Vector and do similar
logic as on patch for https://bugs.webkit.org/show_bug.cgi?id=108517
(CoreIPC::Connection::open):
(CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
* Platform/qt/WorkQueueQt.cpp: Reflect changes on Qt WorkQueue to increase ref
count when the execution is started and decrease it when the work item is deleted,
following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544
(WorkQueue::WorkItemQt::~WorkItemQt):
(WorkQueue::WorkItemQt::execute):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getPluginPath): This function was moved from WebProcessProxy but
mac specific code was not protected properly: https://bugs.webkit.org/show_bug.cgi?id=108407
2013-01-31 Changhun Kang <temoochin@company100.net>
Rename from parentOrHost* to parentOrShadowHost* in Node.h.
https://bugs.webkit.org/show_bug.cgi?id=108308
Reviewed by Dimitri Glazkov.
2013-01-31 Anders Carlsson <andersca@apple.com>
StorageManager should be ref-counted
https://bugs.webkit.org/show_bug.cgi?id=108553
Reviewed by Beth Dakin.
It's likely we'd want to have the storage manager outlive its context at times, so make it
reference counted.
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::create):
(WebKit):
* UIProcess/Storage/StorageManager.h:
(StorageManager):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* UIProcess/WebContext.h:
(WebContext):
2013-01-31 Anders Carlsson <andersca@apple.com>
WorkQueue should be a ref-counted class
https://bugs.webkit.org/show_bug.cgi?id=108544
Reviewed by Sam Weinig.
Make WorkQueue a ref-counted class that's implicitly ref()'d when dispatching a function to it, and then
implicitly deref()'d when the function is done executing. This matches the behavior of dispatch queues,
and ensures that the WorkQueue object won't go away while dispatched functions are running.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::Connection):
(CoreIPC::Connection::~Connection):
(CoreIPC::Connection::addQueueClient):
(CoreIPC::Connection::removeQueueClient):
(CoreIPC::Connection::invalidate):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
(CoreIPC::Connection::connectionDidClose):
* Platform/CoreIPC/Connection.h:
(Connection):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::createDataAvailableSource):
(CoreIPC::Connection::open):
(CoreIPC::Connection::initializeDeadNameSource):
* Platform/WorkQueue.cpp:
(WorkQueue::create):
(WorkQueue::WorkQueue):
(WorkQueue::~WorkQueue):
* Platform/WorkQueue.h:
(WorkQueue):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
* Shared/ChildProcess.cpp:
(WebKit::didCloseOnConnectionWorkQueue):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::processLauncherWorkQueue):
(WebKit::ProcessLauncher::ProcessLauncher):
* UIProcess/WebProcessProxy.cpp:
(WebKit::pluginWorkQueue):
(WebKit::WebProcessProxy::getPlugins):
2013-01-31 Rafael Brandao <rafael.lobo@openbossa.org>
[Qt][WK2] Fix build after removal of MessageID.h
https://bugs.webkit.org/show_bug.cgi?id=108534
Reviewed by Anders Carlsson.
* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::MessageInfo::MessageInfo):
(CoreIPC::MessageInfo::setMessageBodyIsOutOfLine):
(CoreIPC::MessageInfo::isMessageBodyIsOutOfLine):
(MessageInfo):
(CoreIPC::Connection::processMessage):
(CoreIPC::Connection::sendOutgoingMessage):
* Target.pri:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
* UIProcess/DrawingAreaProxy.cpp:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
* WebProcess/soup/WebSoupRequestManager.cpp:
2013-01-31 Brady Eidson <beidson@apple.com>
Assertion failure in WebResourceLoadScheduler::remove when loading .webarchives
<rdar://problem/12888145> and https://bugs.webkit.org/show_bug.cgi?id=108520
Reviewed by Alexey Proskuryakov.
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Even if it isn't to be scheduled with the
NetworkProcess, still add this ResourceLoader to the scheduler's records.
2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
Unreviewed trivial Unix build fix.
Use Vector<> instead of Deque<> when iterating
over m_attachments in the USE(UNIX_DOMAIN_SOCKETS)
case.
* Platform/CoreIPC/ArgumentDecoder.cpp:
2013-01-30 Brian Weinstein <bweinstein@apple.com>
Add a call to the page UI client to determine if a plug-in should load
https://bugs.webkit.org/show_bug.cgi?id=108407
<rdar://problem/13066332>
Reviewed by Anders Carlsson.
This patch adds a client call to the WKPageUIClient to be called to determine
whether or not a plug-in should load.
* UIProcess/API/C/WKPage.h: Add shouldLoadPlugin.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getPluginPath): Moved from WebProcessProxy, and added a call to
m_uiClient.shouldInstantiatePlugin.
* UIProcess/WebPageProxy.h:
* UIProcss/WebPageProxy.messages.in: Moved GetPluginPath from WebProcessProxy to WebPageProxy.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPluginPath): Moved to WebPageProxy.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::shouldInstantiatePlugin): Return that we should load the plug-in if
the client function isn't defined, and call the function if it is.
* UIProcess/WebUIClient.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Add an entry for the new
client function.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin): Send the message to the WebPageProxy, not the WebProcessProxy.
(WebKit::WebPage::canPluginHandleResponse): Made a member function, so it can call sendSync, and
send the message to the WebPageProxy, not the WebProcessProxy.
* WebProcess/WebPage/WebPage.h:
2013-01-31 Anders Carlsson <andersca@apple.com>
Use a Vector for IPC attachments
https://bugs.webkit.org/show_bug.cgi?id=108517
Reviewed by Sam Weinig.
We don't need to use a Deque for attachments - we can just deserialize the attachments backwards instead.
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::create):
(CoreIPC::ArgumentDecoder::ArgumentDecoder):
(CoreIPC::ArgumentDecoder::removeAttachment):
* Platform/CoreIPC/ArgumentDecoder.h:
(ArgumentDecoder):
* Platform/CoreIPC/Connection.h:
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::create):
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(MessageDecoder):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::createMessageDecoder):
2013-01-31 Joseph Pecoraro <pecoraro@apple.com>
Disable ENABLE_FULLSCREEN_API on iOS
https://bugs.webkit.org/show_bug.cgi?id=108250
Reviewed by Benjamin Poulain.
* Configurations/FeatureDefines.xcconfig:
2013-01-31 Enrica Casucci <enrica@apple.com>
WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
https://bugs.webkit.org/show_bug.cgi?id=108396.
<rdar://problem/12920461>
Reviewed by Alexey Proskuryakov.
This patch adds new bundle client API to receive notifications
relative the pasteboard activity. There are 2 new API added to
InjectedBundleEditorClient, to receive notification before and
after the pasteboard content is added and one API to provide
additional content to add to the pasteboard.
In order to create content to add to the pasteboard, WKWebArchiveRef
and WKWebArchiveResourcesRef have been added to the set of API level
object.
This work is a joint effort with Sam Weinig who contributed the
support for WKWebArchiveRef, WKWebArchiveResourcesRef and related
files. Sam is the author of the first chunk of changes listed below.
* Shared/API/c/WKBase.h:
* Shared/API/c/WKSharedAPICast.h:
* Shared/API/c/mac/WKWebArchive.cpp: Added.
(WKWebArchiveGetTypeID):
(WKWebArchiveCreate):
(WKWebArchiveCreateWithData):
(WKWebArchiveCreateFromRange):
(WKWebArchiveCopyMainResource):
(WKWebArchiveCopySubresources):
(WKWebArchiveCopySubframeArchives):
(WKWebArchiveCopyData):
* Shared/API/c/mac/WKWebArchive.h: Added.
* Shared/API/c/mac/WKWebArchiveResource.cpp: Added.
(WKWebArchiveResourceGetTypeID):
(WKWebArchiveResourceCreate):
(WKWebArchiveResourceCopyData):
(WKWebArchiveResourceCopyURL):
(WKWebArchiveResourceCopyMIMEType):
(WKWebArchiveResourceCopyTextEncoding):
* Shared/API/c/mac/WKWebArchiveResource.h: Added.
* Shared/APIObject.h:
* Shared/WebArchive.cpp: Added.
(WebKit::WebArchive::create):
(WebKit::WebArchive::WebArchive):
(WebKit::WebArchive::~WebArchive):
(WebKit::WebArchive::mainResource):
(WebKit::WebArchive::subresources):
(WebKit::WebArchive::subframeArchives):
(WebKit::releaseCFData):
(WebKit::WebArchive::data):
(WebKit::WebArchive::coreLegacyWebArchive):
* Shared/WebArchive.h: Added.
(WebKit::WebArchive::type):
* Shared/WebArchiveResource.cpp: Added.
(WebKit::WebArchiveResource::create):
(WebKit::WebArchiveResource::WebArchiveResource):
(WebKit::WebArchiveResource::~WebArchiveResource):
(WebKit::releaseCFData):
(WebKit::WebArchiveResource::data):
(WebKit::WebArchiveResource::URL):
(WebKit::WebArchiveResource::MIMEType):
(WebKit::WebArchiveResource::textEncoding):
(WebKit::WebArchiveResource::coreArchiveResource):
* Shared/WebArchiveResource.h: Added.
(WebKit::WebArchiveResource::type):
* WebKit2.xcodeproj/project.pbxproj:
* Shared/APIClientTraits.cpp: Added versioning to InjectedBundlePageEditorClient.
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard): Added.
(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): Added.
(WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard): Added.
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::didWriteSelectionToPasteboard):
(WebKit::WebEditorClient::willWriteSelectionToPasteboard):
(WebKit::WebEditorClient::getClientPasteboardDataForRange):
* WebProcess/WebCoreSupport/WebEditorClient.h:
2013-01-31 Anders Carlsson <andersca@apple.com>
Remove MessageID.h
https://bugs.webkit.org/show_bug.cgi?id=108516
Reviewed by Sam Weinig.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::sendOutgoingMessages):
(CoreIPC::Connection::dispatchSyncMessage):
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC):
(Connection):
* Platform/CoreIPC/MessageID.h: Removed.
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::sendOutgoingMessage):
(CoreIPC::Connection::receiveSourceEventHandler):
* Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Removed.
* Shared/CoreIPCSupport/WebContextMessageKinds.h:
* UIProcess/DrawingAreaProxy.h:
(CoreIPC):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
* UIProcess/WebApplicationCacheManagerProxy.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebFrameProxy.h:
(CoreIPC):
* UIProcess/WebFullScreenManagerProxy.h:
(CoreIPC):
* UIProcess/WebIconDatabase.h:
(CoreIPC):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
(CoreIPC):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/FullScreen/WebFullScreenManager.cpp:
* WebProcess/FullScreen/WebFullScreenManager.h:
(CoreIPC):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
* WebProcess/InjectedBundle/InjectedBundle.h:
(CoreIPC):
* WebProcess/WebPage/DrawingArea.h:
(CoreIPC):
* WebProcess/WebPage/LayerTreeHost.h:
(CoreIPC):
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
(CoreIPC):
* WebProcess/WebPage/WebPageGroupProxy.h:
(CoreIPC):
2013-01-31 Mike West <mkwst@chromium.org>
Cleanup: Use ScriptExecutionContext::topOrigin when relevant.
https://bugs.webkit.org/show_bug.cgi?id=108476
Reviewed by Anders Carlsson.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::storageBlockingStateChanged):
(WebKit::PluginView::isPrivateBrowsingEnabled):
2013-01-31 Anders Carlsson <andersca@apple.com>
Get rid of IncomingMessage
https://bugs.webkit.org/show_bug.cgi?id=108514
Reviewed by Sam Weinig.
* Platform/CoreIPC/Connection.cpp:
(Connection::SyncMessageState):
(ConnectionAndIncomingMessage):
(CoreIPC::Connection::SyncMessageState::~SyncMessageState):
(CoreIPC::Connection::SyncMessageState::processIncomingMessage):
(CoreIPC::Connection::SyncMessageState::dispatchMessages):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::enqueueIncomingMessage):
(CoreIPC::Connection::dispatchMessage):
(CoreIPC::Connection::dispatchOneMessage):
* Platform/CoreIPC/Connection.h:
(Connection):
2013-01-31 Patrick Gansterer <paroga@webkit.org>
Remove PLATFORM(WIN_CAIRO) from NetscapePluginX11.cpp
https://bugs.webkit.org/show_bug.cgi?id=108439
Reviewed by Brent Fulgham.
PLATFORM(WIN_CAIRO) is Windows only, where no X11 exists.
* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
Unreviewed build fix: Remove Web Intents files from
the Qt build system.
* Target.pri:
2013-01-31 Zan Dobersek <zdobersek@igalia.com>
Unreviewed GTK build fix.
Removing build targets for Web Intents files that were removed in r141448.
* GNUmakefile.list.am:
2013-01-31 Anders Carlsson <andersca@apple.com>
Remove Web Intents code from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=108506
Reviewed by Simon Fraser.
Since nobody builds with Web Intents enabled anymore, and since the code is going to
be removed from WebCore, remove it from WebKit2.
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIObject.h:
* Shared/IntentData.cpp: Removed.
* Shared/IntentData.h: Removed.
* Shared/IntentServiceInfo.cpp: Removed.
* Shared/IntentServiceInfo.h: Removed.
* Shared/WebIntentServiceInfo.cpp: Removed.
* Shared/WebIntentServiceInfo.h: Removed.
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKIntentData.cpp: Removed.
* UIProcess/API/C/WKIntentData.h: Removed.
* UIProcess/API/C/WKIntentServiceInfo.cpp: Removed.
* UIProcess/API/C/WKIntentServiceInfo.h: Removed.
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/C/WKPage.h:
* UIProcess/WebIntentData.cpp: Removed.
* UIProcess/WebIntentData.h: Removed.
* UIProcess/WebLoaderClient.cpp:
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
(WebKit):
* WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Removed.
* WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Removed.
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: Removed.
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: Removed.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Removed.
* WebProcess/InjectedBundle/InjectedBundleIntent.h: Removed.
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: Removed.
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: Removed.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
(WebKit):
(InjectedBundlePageLoaderClient):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
* WebProcess/WebPage/WebFrame.cpp:
* WebProcess/WebPage/WebFrame.h:
(WebCore):
(WebKit):
(WebFrame):
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
(WebCore):
(WebKit):
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
(WebCore):
(WebProcess):
* WebProcess/WebProcess.messages.in:
2013-01-31 Brady Eidson <beidson@apple.com>
Lack of a log level string should not obliterate compiled in logging channel state.
https://bugs.webkit.org/show_bug.cgi?id=108502
Reviewed by Alexey Proskuryakov and Sam Weinig.
* Platform/mac/Logging.mac.mm:
(WebKit::initializeLogChannel): If there's no log level string, leave the channel state alone.
2013-01-31 Alexey Proskuryakov <ap@apple.com>
WebProcess sandbox profile overhaul.
Reviewed by Sam Weinig.
Moves some rules together by susbystem for easier maintenance.
Addresses <rdar://problem/9276393>, <rdar://problem/10844321>, <rdar://problem/12408537>,
<rdar://problem/12558524>.
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
Unreviewed trivial build fix: Pre C++11 the use of
>> in nested templates is ambiguous in the grammar and
requires the insertion of a space here. Since these files are
not Mac specific we don't require C++11 yet and a space
fixes the build.
* Platform/CoreIPC/Connection.h:
(Connection):
* Shared/ChildProcessProxy.h:
(ChildProcessProxy):
2013-01-31 Christophe Dumez <dchris@gmail.com>
[EFL] Disable Web Intents
https://bugs.webkit.org/show_bug.cgi?id=108457
Reviewed by Alexey Proskuryakov.
Remove code related to Web Intents from EFL
WebKit2.
* CMakeLists.txt:
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/ewk_intent.cpp: Removed.
* UIProcess/API/efl/ewk_intent.h: Removed.
* UIProcess/API/efl/ewk_intent_private.h: Removed.
* UIProcess/API/efl/ewk_intent_service.cpp: Removed.
* UIProcess/API/efl/ewk_intent_service.h: Removed.
* UIProcess/API/efl/ewk_intent_service_private.h: Removed.
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/resources/intent-request.html: Removed.
* UIProcess/API/efl/tests/resources/intent-service.html: Removed.
* UIProcess/API/efl/tests/test_ewk2_intents.cpp: Removed.
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h:
(PageLoadClientEfl):
2013-01-31 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed NetworkProcess
Address review comments.
* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-31 Anders Carlsson <andersca@apple.com>
Stop using OutgoingMessage
https://bugs.webkit.org/show_bug.cgi?id=108495
Reviewed by Sam Weinig.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendOutgoingMessages):
* Platform/CoreIPC/Connection.h:
(Connection):
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::~ChildProcessProxy):
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* Shared/ChildProcessProxy.h:
(ChildProcessProxy):
2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
[Qt] Make it possible to compile WebKit2 Qt related files without access to internal WK2 C++ API
https://bugs.webkit.org/show_bug.cgi?id=108472
Reviewed by Andreas Kling.
Add a new module to the qmake build system that represents the part of the WebKit2 Qt integration
that doesn't depend on WebKit2 internals.
Changed qwebnavigationhistory.cpp to not use any internal headers and compile it as part of the
internals-free module.
* Target.pri:
* UIProcess/API/qt/qwebnavigationhistory.cpp:
* WebKit2.pro:
* WebKit2QML.pri: Added.
2013-01-31 Simon Hausmann <simon.hausmann@digia.com>
Unreviewed trivial build fix: Add missing virtual destructor to
LayerTreeRendererClient. Otherwise the build with -Werror breaks, which
complains (rightly so) that we're deleting a sub-class where the super class
doesn't have a virtual destructor.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit::LayerTreeRendererClient::~LayerTreeRendererClient):
2013-01-31 Seulgi Kim <seulgikim@company100.net>
Coordinated Graphics: view the debug border/repaint count of the non composited layer.
https://bugs.webkit.org/show_bug.cgi?id=108401
Reviewed by Noam Rosenthal.
Make non-compositing layer draw debug border and show repaint counter
accroding to settings.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2013-01-31 Paweł Forysiuk <tuxator@o2.pl>
InjectedBundle is being built even with --disable-webkit2
https://bugs.webkit.org/show_bug.cgi?id=108364
Reviewed by Gustavo Noronha Silva.
* GNUmakefile.am: Wrap Injected bundle with ENABLE_WEBKIT2 condition
2013-01-31 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl should be based on C API
https://bugs.webkit.org/show_bug.cgi?id=107685
Reviewed by Benjamin Poulain.
RequestManagerClientEfl, DownloadManagerEfl and ContextHistoryClientEfl
should be based on C API so that API layering is not violated.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
(WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
* UIProcess/efl/ContextHistoryClientEfl.h:
(WebKit::ContextHistoryClientEfl::create):
(ContextHistoryClientEfl):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
(WebKit::DownloadManagerEfl::~DownloadManagerEfl):
* UIProcess/efl/DownloadManagerEfl.h:
(WebKit::DownloadManagerEfl::create):
(DownloadManagerEfl):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
* UIProcess/efl/RequestManagerClientEfl.h:
(WebKit::RequestManagerClientEfl::create):
(RequestManagerClientEfl):
2013-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r141110.
http://trac.webkit.org/changeset/141110
https://bugs.webkit.org/show_bug.cgi?id=108349
This patch broke WK2-EFL unit tests (Requested by grzegorz on
#webkit).
* UIProcess/efl/TextCheckerEfl.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2013-01-31 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics : Remove WebCoordinatedSurface dependency from CoordinatedSurface
https://bugs.webkit.org/show_bug.cgi?id=108259
Reviewed by Noam Rosenthal.
This is a preparation patch for Threaded Coordinated Graphics.
WebCoordinatedSurface dependency should be removed from
CoordinatedSurface so as to share CoordinatedSurface between
WebCoordinatedSurface and CoordinatedSurface of WebKit1, which will be
implemented for Threaded Coordinated Graphics.
This patch introduces CoordinatedSurface::Factory, which is a function
pointer that creates CoordinatedSurfaces. CoordinatedLayerTreeHost sets
static CoordinatedSurface::Factory member variable. Classes that use
CoordinatedSurface, which are CoordinatedImageBacking and UpdateAtlas,
create CoordinatedSurfaces by calling CoordinatedSurface::create, which
will call the function set by CoordinatedLayerTreeHost.
This way, we can remove the WebCoordinatedSurface dependency from
CoordinatedSurface and be able to share the code in Threaded Coordinated
Graphics.
No new tests. No change in behavior.
* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedSurface.cpp: Added.
(WebKit):
(WebKit::CoordinatedSurface::setFactory):
(WebKit::CoordinatedSurface::create):
* Shared/CoordinatedGraphics/CoordinatedSurface.h:
(CoordinatedSurface):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
* Target.pri:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::createCoordinatedSurface):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2013-01-30 Tim Horton <timothy_horton@apple.com>
Unreviewed build fix after http://trac.webkit.org/changeset/141372.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::performDictionaryLookupAtLocation):
2013-01-30 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics : Remove CoordinatedLayerTreeHostProxy dependency from LayerTreeRenderer
https://bugs.webkit.org/show_bug.cgi?id=108164
Reviewed by Benjamin Poulain.
This is a preparation patch for Threaded Coordinated Graphics.
LayerTreeRenderer should not depend on CoordinatedLayerTreeHostProxy so that it
can be moved to WebCore. This patch introduces LayerTreeRendererClient which
is implemented in CoordinatedLayerTreeHostProxy. LayerTreeRenderer uses this
client, instead of using CoordinatedLayerTreeHostProxy directly.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::animationFrameReady):
(WebKit::LayerTreeRenderer::updateViewport):
(WebKit::LayerTreeRenderer::renderNextFrame):
(WebKit::LayerTreeRenderer::purgeBackingStores):
(WebKit::LayerTreeRenderer::detach):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit):
(LayerTreeRendererClient):
(LayerTreeRenderer):
2013-01-30 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Should respond to three-finger tap for dictionary definitions
https://bugs.webkit.org/show_bug.cgi?id=108418
<rdar://problem/13121409>
Reviewed by Simon Fraser.
* WebProcess/Plugins/Netscape/NetscapePlugin.h: Add default implementation of performDictionaryLookupAtLocation.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add getSelectionForWordAtPoint and searchInDictionaryWithSelection.
* WebProcess/Plugins/PDF/PDFPlugin.h: Add performDictionaryLookupAtLocation.
* WebProcess/Plugins/PDF/PDFPlugin.mm: Grab a PDFSelection representing the word encompassing the given point, and
throw up a dictionary popover.
(WebKit::PDFPlugin::performDictionaryLookupAtLocation):
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add default implementation of performDictionaryLookupAtLocation.
* WebProcess/Plugins/Plugin.h: Add performDictionaryLookupAtLocation.
* WebProcess/Plugins/PluginProxy.h: Add default implementation of performDictionaryLookupAtLocation.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performDictionaryLookupAtLocation): Forward performDictionaryLookupAtLocation to the plugin.
* WebProcess/Plugins/PluginView.h: Add performDictionaryLookupAtLocation.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performDictionaryLookupAtLocation): Intercept performDictionaryLookupAtLocation, and give
the main-frame plugin (if it exists) a chance to handle it.
2013-01-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[WK2] Cleanup MessageID parameter after r141332
https://bugs.webkit.org/show_bug.cgi?id=108419
Unreviewed to fix build breaks.
r141332 didn't remove MessageID parameter on some features.
(battery, vibration, coordinate graphics, network info and so on)
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
* UIProcess/WebBatteryManagerProxy.h:
(WebBatteryManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.h:
(WebNetworkInfoManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
* UIProcess/WebVibrationProxy.h:
(WebVibrationProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
* WebProcess/Battery/WebBatteryManager.h:
(WebBatteryManager):
* WebProcess/NetworkInfo/WebNetworkInfoManager.h:
(WebNetworkInfoManager):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
* WebProcess/soup/WebSoupRequestManager.h:
(WebSoupRequestManager):
2013-01-30 Anders Carlsson <andersca@apple.com>
Remove MessageID from MessageSender
https://bugs.webkit.org/show_bug.cgi?id=108413
Reviewed by Andreas Kling.
This is another step towards eliminating MessageID.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::dispatchSyncMessage):
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
(QueueClient):
(CoreIPC::Connection::waitForAndDispatchImmediately):
* Platform/CoreIPC/MessageReceiver.h:
(MessageReceiver):
(CoreIPC::MessageReceiver::didReceiveSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didReceiveMessage):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* Scripts/webkit2/messages.py:
(forward_declarations_and_headers):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveMessage):
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
* Shared/ChildProcessProxy.h:
(ChildProcessProxy):
(WebKit::ChildProcessProxy::send):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::didReceiveMessage):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/Plugins/NPRemoteObjectMap.h:
(NPRemoteObjectMap):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::didReceiveMessage):
* Shared/WebConnection.h:
(WebConnection):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::didReceiveMessage):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveMessage):
(WebKit::DownloadProxy::didReceiveSyncMessage):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
* UIProcess/DrawingAreaProxy.h:
(DrawingAreaProxy):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didReceiveMessage):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didReceiveMessage):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(SharedWorkerProcessProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::dispatchMessage):
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didReceiveMessage):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::didReceiveMessage):
(WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
* UIProcess/WebFullScreenManagerProxy.h:
(WebFullScreenManagerProxy):
* UIProcess/WebGeolocationManagerProxy.h:
(WebGeolocationManagerProxy):
* UIProcess/WebIconDatabase.h:
(WebIconDatabase):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebResourceCacheManagerProxy.h:
(WebResourceCacheManagerProxy):
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::didReceiveMessage):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::didReceiveMessage):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::didReceiveMessage):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::didReceiveMessage):
* WebProcess/FullScreen/WebFullScreenManager.h:
(WebFullScreenManager):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/IconDatabase/WebIconDatabaseProxy.h:
(WebIconDatabaseProxy):
* WebProcess/MediaCache/WebMediaCacheManager.h:
(WebMediaCacheManager):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/NetworkProcessConnection.h:
(NetworkProcessConnection):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebResourceCacheManager):
* WebProcess/Storage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::didReceiveMessage):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPageGroupProxy.h:
(WebPageGroupProxy):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:
(WebProcess):
2013-01-30 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Update scrollbars if PDFLayerController's display mode changes
https://bugs.webkit.org/show_bug.cgi?id=108412
<rdar://problem/13002261>
Reviewed by Simon Fraser.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add pdfLayerController:didChangeDisplayMode:
* WebProcess/Plugins/PDF/PDFPlugin.h: Add notifyDisplayModeChanged().
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate pdfLayerController:didChangeDisplayMode:]): Forward didChangeDisplayMode to notifyDisplayModeChanged.
(WebKit::PDFPlugin::notifyDisplayModeChanged): Update content size and scrollbar size when display mode changes.
2013-01-30 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12695827> PPT: Make loading file URLs work with a sandboxed NetworkProcess
Reviewed by Sam Weinig.
* DerivedSources.make: Preprocess a .sb.in file to build the profile.
* NetworkProcess/mac/NetworkProcessMac.mm:
Don't prevent entering the sandbox. Override sandbox path, because service
gets a differnt one by default.
* WebKit2.xcodeproj/project.pbxproj:
* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Added.
2013-01-30 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: LayerTreeRenderer manages the surface of UpdateAtlas.
https://bugs.webkit.org/show_bug.cgi?id=107224
Reviewed by Benjamin Poulain.
Currently, CoordinatedLayerTreeHostProxy manages the surface of UpdateAtlas, but
all other resources are managed by LayerTreeRenderer. This patch matches the
surface of UpdateAtlas to other resources.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
(WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::createUpdateAtlas):
(WebKit):
(WebKit::LayerTreeRenderer::removeUpdateAtlas):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(TileUpdate):
(WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
(LayerTreeRenderer):
2013-01-30 Anders Carlsson <andersca@apple.com>
Remove MessageID parameter from generated message receivers
https://bugs.webkit.org/show_bug.cgi?id=108379
Reviewed by Beth Dakin.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* PluginProcess/PluginControllerProxy.h:
(PluginControllerProxy):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didReceiveMessage):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveMessage):
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::didReceiveMessage):
* Shared/Plugins/NPObjectMessageReceiver.h:
(NPObjectMessageReceiver):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::didReceiveMessage):
* Shared/WebConnection.h:
(WebConnection):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::didReceiveMessage):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveMessage):
(WebKit::DownloadProxy::didReceiveSyncMessage):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
* UIProcess/DrawingAreaProxy.h:
(DrawingAreaProxy):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didReceiveMessage):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didReceiveMessage):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(SharedWorkerProcessProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didReceiveMessage):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::didReceiveMessage):
(WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
* UIProcess/WebFullScreenManagerProxy.h:
(WebFullScreenManagerProxy):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::didReceiveMessage):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::didReceiveMessage):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::didReceiveMessage):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::didReceiveMessage):
* WebProcess/FullScreen/WebFullScreenManager.h:
(WebFullScreenManager):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/WebResourceLoader.h:
(WebResourceLoader):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/Plugins/PluginProxy.h:
(PluginProxy):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::didReceiveMessage):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebPage/WebInspector.h:
(WebInspector):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:
(WebProcess):
2013-01-30 Christophe Dumez <dchris@gmail.com>
[WK2][UNIX] g_spawn_sync() generates warning in PluginProcessProxy::scanPlugin()
https://bugs.webkit.org/show_bug.cgi?id=108371
Reviewed by Martin Robinson.
g_spawn_sync() was sometimes displaying a warning about the SIGCHLD
signal disposition not being set to SIG_DFL, despite the fix in r133755.
The reason was that the code was only setting the disposition to SIG_DFL
if the previous disposition was SIG_IGN.
In this patch, we set the SIGCHLD signal disposition to SIG_DFL, no
matter what its previous disposition was. Also, the signal disposition
is now restored to its previous state after the call to g_spawn_sync()
to avoid side effects. Finally, we now use SIGCHLD instead of SIDCLD
since this is the more compatible POSIX name.
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::spawnProcessSync):
(WebKit):
(WebKit::PluginProcessProxy::scanPlugin):
2013-01-30 Huang Dongsung <luxtella@company100.net>
[EFL][Qt][WK2] We should consider a page scale factor in WebCore instead of our own scale factor.
https://bugs.webkit.org/show_bug.cgi?id=105978
Reviewed by Simon Fraser.
Currently, PageViewportController sends a page scale factor to Coordinated
Graphics System regardless of the page scale factor in WebCore. This patch makes
Coordinated Graphics System use the page scale factor in WebCore to match other
ports.
When it is needed to change a page scale, PageViewportController sends the scale
to Page in Web Process via WebPageProxy::scalePage. When the page scale in
WebCore is changed, CoordinatedGraphicsLayer gets notified via
deviceOrPageScaleFactorChanged callback. CoordinatedGraphicsLayer uses the page
scale factor like previous our own scale factor.
We set true to applyDeviceScaleFactorInCompositor and
ApplyPageScaleFactorInCompositor in Settings like chromium, because
TiledBackingStore that is a backing store of each GraphicsLayer applies the
scale to our raster graphics engines instead of applying the scale to the local
transform of each render object.
Thank Kenneth Rohde Christiansen for implementing the base patch of this patch.
No new tests. Covered by existing tests.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::updateViewportSize):
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::setSize):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
Does not receive a pageScaleFactor argument because
PageViewportController sends a page scale factor to Page.
However, this method still receives a scroll position because we
enable delegates scrolling.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::setVisibleContentsRect):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::deviceOrPageScaleFactorChanged):
(WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::CoordinatedLayerTreeHost::deviceScaleFactor):
(WebKit):
(WebKit::CoordinatedLayerTreeHost::pageScaleFactor):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUseFixedLayout):
2013-01-30 Zoltan Arvai <zarvai@inf.u-szeged.hu>
[Qt] Fix Win build after r141177
https://bugs.webkit.org/show_bug.cgi?id=108325
Reviewed by Anders Carlsson.
* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::readEventHandler):
(CoreIPC::Connection::sendOutgoingMessage):
2013-01-30 Thiago Marcos P. Santos <thiago.santos@intel.com>
REGRESSION (r141051): Broke plugin support on non-Mac WebKit2 Ports
https://bugs.webkit.org/show_bug.cgi?id=108182
Reviewed by Sam Weinig.
Send the plugin path to the PluginProcess as a parameter.
* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::PluginProcessMain):
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
2013-01-30 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use C API inside ewk_window_features
https://bugs.webkit.org/show_bug.cgi?id=107924
Reviewed by Sam Weinig.
Use C API inside ewk_window_features instead of accessing
internal C++ classes directly, to avoid violating API
layering.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::createNewPage):
* UIProcess/API/efl/EwkView.h:
(EwkView):
* UIProcess/API/efl/ewk_window_features.cpp:
(EwkWindowFeatures::EwkWindowFeatures):
(getWindowFeatureValue):
(EwkWindowFeatures::getWindowFeatureBoolValue):
(EwkWindowFeatures::getWindowFeatureDoubleValue):
(ewk_window_features_geometry_get):
* UIProcess/API/efl/ewk_window_features_private.h:
(EwkWindowFeatures::create):
(EwkWindowFeatures::geometry):
(EwkWindowFeatures::setGeometry):
(EwkWindowFeatures):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::createNewPage):
2013-01-30 Zeno Albisser <zeno@webkit.org>
[Qt] Fix Qt/Mac build after r141024 and r141037
https://bugs.webkit.org/show_bug.cgi?id=108318
Reviewed by Kentaro Hara.
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::platformInvalidate):
Replace nullptr with 0 to allow compiling without C++11 support.
2013-01-30 Kondapally Kalyan <kalyan.kondapally@intel.com>
[EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
https://bugs.webkit.org/show_bug.cgi?id=106878
Reviewed by Benjamin Poulain.
setContentsToCanvas is responsible for marking canvas for creation or deletion.
The issue here is that the canvas is marked for deletion even though it has not
been created. This causes an assert in LayerTreeRenderer::destroyCanvas.
This patch adds a seperate check to ensure that CoordinatedGraphicsLayer
tries to issue a request for canvas deletion only after request for canvas
creation has been handled.
New test: fast/canvas/webgl/canvas-resize-crash.html
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::fixedToViewport):
2013-01-30 Zan Dobersek <zdobersek@igalia.com>
Unreviewed GTK build fix.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Include GraphicsLayerTextureMapper.h
as a forwarding header from WebCore.
2013-01-30 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=107099
Reviewed by Noam Rosenthal.
Instead of queuing the setting of backing stores in LayerTreeRenderer,
and then setting them directly to TextureMapperLayer, we allow
GraphicsLayerTextureMapper's existing queuing mechanism to handle that.
Instead of a m_pendingSyncBackingStores queue, we have a m_backingStores
queue which can be applied much more easily to the layer tree.
In addition, LayerTreeRenderer::purgeGLResources() does not call
TextureMapperLayer::clearBackingStoresRecursive() because
TextureMapperLayer will be destructed soon.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2013-01-29 Anders Carlsson <andersca@apple.com>
Update the expected generated message results
https://bugs.webkit.org/show_bug.cgi?id=108293
Reviewed by Beth Dakin.
* Scripts/webkit2/messages.py:
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
2013-01-29 Sam Weinig <sam@webkit.org>
Replace unnecessary ArgumentDecoder member functions with decode overloads
https://bugs.webkit.org/show_bug.cgi?id=102013
Reviewed by Anders Carlsson.
* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::decode):
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray):
(CoreIPC::ArgumentDecoder::decode):
* Platform/CoreIPC/ArgumentDecoder.h:
(ArgumentDecoder):
(CoreIPC::ArgumentDecoder::decodeEnum):
(CoreIPC):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::decode):
* Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::Handle::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):
(CoreIPC::decodeTimingFunction):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::decode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::decode):
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::decode):
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::ObjCObjectGraphDecoder::baseDecode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::decode):
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::decode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/qt/QtNetworkReplyData.cpp:
(WebKit::QtNetworkReplyData::decode):
* WebProcess/WebPage/DecoderAdapter.cpp:
(WebKit::DecoderAdapter::decodeBool):
(WebKit::DecoderAdapter::decodeUInt16):
(WebKit::DecoderAdapter::decodeUInt32):
(WebKit::DecoderAdapter::decodeUInt64):
(WebKit::DecoderAdapter::decodeInt32):
(WebKit::DecoderAdapter::decodeInt64):
(WebKit::DecoderAdapter::decodeFloat):
(WebKit::DecoderAdapter::decodeDouble):
2013-01-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[WK2] Adjust missing MessageID removals to fix build breaks
https://bugs.webkit.org/show_bug.cgi?id=108276
Unreviewed to fix build breaks.
Some MessageID removals wasn't adjusted into ConnectionUnix.cpp and coordinated graphics.
* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::MessageInfo::MessageInfo):
(CoreIPC::MessageInfo::setMessageBodyIsOutOfLine):
(CoreIPC::MessageInfo::isMessageBodyIsOutOfLine):
(CoreIPC::Connection::processMessage):
(CoreIPC::Connection::sendOutgoingMessage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
* UIProcess/WebProcessProxy.cpp:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
2013-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r140983.
http://trac.webkit.org/changeset/140983
https://bugs.webkit.org/show_bug.cgi?id=108277
Unfortunately, this API has one last client (Requested by
abarth on #webkit).
* Configurations/FeatureDefines.xcconfig:
2013-01-29 Anders Carlsson <andersca@apple.com>
Remove MessageID parameter from Connection::sendMessage
https://bugs.webkit.org/show_bug.cgi?id=108269
Reviewed by Sam Weinig.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
* Platform/CoreIPC/Connection.h:
(Connection):
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendMessage):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
2013-01-29 Anders Carlsson <andersca@apple.com>
Stop generating the message kind enum
https://bugs.webkit.org/show_bug.cgi?id=108258
Reviewed by Beth Dakin.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
(CoreIPC::Connection::waitForAndDispatchImmediately):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Scripts/webkit2/messages.py:
(surround_in_condition):
(message_to_struct_declaration):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
* Scripts/webkit2/model.py:
(Message.__init__):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
2013-01-29 Kiran Muppala <cmuppala@apple.com>
Fix erroneous semicolon causing build failure: if statement has empty body [-Werror,-Wempty-body]
https://bugs.webkit.org/show_bug.cgi?id=108241
Reviewed by Anders Carlsson.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addExistingWebPage): Remove erroneous
semicolon following the if condition.
2013-01-29 Anders Carlsson <andersca@apple.com>
Remove almost everything from MessageID
https://bugs.webkit.org/show_bug.cgi?id=108244
Reviewed by Beth Dakin.
* Platform/CoreIPC/MessageID.h:
(CoreIPC::MessageID::MessageID):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC):
(CoreIPC::Connection::sendOutgoingMessage):
(CoreIPC::createMessageDecoder):
(CoreIPC::Connection::receiveSourceEventHandler):
2013-01-29 Anders Carlsson <andersca@apple.com>
Get rid of MessageID::is()
https://bugs.webkit.org/show_bug.cgi?id=108234
Reviewed by Beth Dakin.
Add explicit message receiver name equality checks instead of using MessageID::is.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* Platform/CoreIPC/MessageID.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
2012-11-28 Jer Noble <jer.noble@apple.com>
Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
https://bugs.webkit.org/show_bug.cgi?id=103558
<rdar://problem/12763112>
Reviewed by Benjamin Poulain.
Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
view when in full screen mode. Add a simple accessor for the existing placeholder view to
WKFullScreenWindowController and WKView.
* UIProcess/API/mac/WKView.mm:
(-[WKView fullScreenPlaceholderView]): Added simple accessor.
* UIProcess/API/mac/WKViewPrivate.h:
* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.
2013-01-29 Huang Dongsung <luxtella@company100.net>
[WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or page scale factor is changed.
https://bugs.webkit.org/show_bug.cgi?id=107802
Reviewed by Simon Fraser.
Currently, LayerTreeHostMac and *GTK call deviceOrPageScaleFactorChanged()
of the non compositing GraphicsLayer when a device scale factor is changed.
There are two problems.
1. We don't notify LayerTreeHost when a page scale factor is changed.
2. When using TiledCoreAnimationDrawingAreaProxy, LayerTreeHostMac does
not receive the device scale factor changed callback.
So this patch changes three points.
1. Rename from deviceScaleFactorDidChange() to deviceOrPageScaleFactorChanged()
in LayerTreeHost.
2. WebPage::setDeviceScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
because of dealing with TiledCoreAnimationDrawingAreaProxy.
3. WebPage::pageScaleFactor() calls LayerTreeHost::deviceScaleFactorDidChange()
to call deviceOrPageScaleFactorChanged() of the non compositing GraphicsLayer.
Unfortunately, I couldn't think of a way to test this in an automated fashion.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updateBackingStoreState):
Don't call LayerTreeHost::deviceScaleFactorDidChange() because this
method calls WebPage::setDeviceScaleFactor() and then
LayerTreeHost::deviceScaleFactorDidChange() is called.
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scalePage):
(WebKit::WebPage::setDeviceScaleFactor):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/LayerTreeHostMac.h:
(LayerTreeHostMac):
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::deviceOrPageScaleFactorChanged):
2013-01-29 Anders Carlsson <andersca@apple.com>
Get rid of MessageID::get()
https://bugs.webkit.org/show_bug.cgi?id=108235
Reviewed by Beth Dakin.
Just check for the message receiver name and message name explicitly instead.
* Platform/CoreIPC/MessageID.h:
(CoreIPC::MessageID::is):
* Shared/CoreIPCSupport/WebContextMessageKinds.h:
(WebContextLegacyMessage::messageReceiverName):
(WebContextLegacyMessage):
(WebContextLegacyMessage::postMessageMessageName):
(WebContextLegacyMessage::postSynchronousMessageMessageName):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
2013-01-29 Kiran Muppala <cmuppala@apple.com>
Add support for enabling process suppression in WebProcesses with no visible pages
https://bugs.webkit.org/show_bug.cgi?id=108054
Reviewed by Anders Carlsson.
Provide a preference to enable process suppression in WebProcesses with
no visible pages even if the application is not completely occluded.
This provides more opportunities for process suppression to take effect.
Replace the messaging of application occlusion status from UI process to
ChildProcesses with messages that indicate the current required process
suppression state. WebProcessProxy should determine if the process is
eligible for process suppression based on both application occlusion
and page visibility. When either of these parameters changes,
the proxy should message the child process of the updated process
suppression state.
* NetworkProcess/NetworkProcess.messages.in: Rename
SetApplicationIsOccluded to SetProcessSuppressionEnabled.
* PluginProcess/PluginProcess.messages.in: Ditto.
* Shared/ChildProcess.h:
(WebKit::ChildProcess::processSuppressionEnabled): Rename
applicationIsOccluded.
* Shared/WebPreferencesStore.h: Add a new preference
pageVisibilityBasedProcessSuppressionEnabled, to enabled/disable
process suppression of WebProcesses when all pages are hidden.
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setProcessSuppressionEnabled): Rename
setApplicationIsOccluded.
(WebKit::ChildProcess::platformInitialize): Replace call to
setApplicationIsOccluded with setProcessSuppressionEnabled.
* SharedWorkerProcess/SharedWorkerProcess.messages.in: Rename
SetApplicationIsOccluded to SetProcessSuppressionEnabled.
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetPageVisibilityBasedProcessSuppressionEnabled):
(WKPreferencesGetPageVisibilityBasedProcessSuppressionEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching): Use setter
to update process suppression state instead of messaging directly.
Use WebContext::canEnableProcessSuppressionForNetworkProcess() helper
method to determine if process suppression should be enabled.
* UIProcess/Network/NetworkProcessProxy.h: Rename
setApplicationIsOccluded to setProcessSuppresionEnabled.
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::setProcessSuppressionEnabled): Ditto.
* UIProcess/Plugins/PluginProcessManager.h: Ditto.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching): Use setter
to update process suppression state instead of messaging directly.
Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
helper method to determine if process suppression should be enabled.
* UIProcess/Plugins/PluginProcessProxy.h: Rename
setApplicationIsOccluded to setProcessSuppresionEnabled.
* UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
(WebKit::PluginProcessManager::setProcessSuppressionEnabled): Ditto.
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::setProcessSuppressionEnabled): Ditto.
* UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Ditto.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didFinishLaunching): Use setter
to update process suppression state instead of messaging directly.
Use WebContext::canEnableProcessSuppressionForGlobalChildProcesses()
helper method to determine if process suppression should be enabled.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Rename
setApplicationIsOccluded to setProcessSuppresionEnabled.
* UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm:
(WebKit::SharedWorkerProcessManager::setProcessSuppressionEnabled):
Ditto.
* UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm:
(WebKit::SharedWorkerProcessProxy::setProcessSuppressionEnabled): Ditto.
* UIProcess/WebContext.h: Replace applicationIsOccluded() getter with
helper methods to determine if a child process can have process
suppression enabled.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewStateDidChange): Notify WebProcessProxy of
page visibility change.
(WebKit::WebPageProxy::preferencesDidChange): Notify WebProcessProxy of
change in preferences.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy): Initialize member variable
tracking process suppression state to false.
(WebKit::WebProcessProxy::createWebPage): Update set of pages which can
be process suppressed and the resulting process suppression state for
the child process.
(WebKit::WebProcessProxy::addExistingWebPage): Ditto.
(WebKit::WebProcessProxy::removeWebPage): Ditto.
(WebKit::WebProcessProxy::pageVisibilityChanged): Ditto.
(WebKit::WebProcessProxy::pagePreferencesChanged): Ditto.
(WebKit::WebProcessProxy::didFinishLaunching): Call
updateProcessSuppressionState().
* UIProcess/WebProcessProxy.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::updateProcessSuppressionStateOfGlobalChildProcesses): Use new
helper method canEnableProcessSuppressionForGlobalChildProcesses() to
determine if process suppression should be enabled.
(WebKit::applicationOcclusionStateChanged): Update renamed methods
and variables.
(WebKit::enableOcclusionNotifications): Move OmitProcessSuppression
user default check into canEnableProcessSuppression methods.
(WebKit::omitProcessSuppression):
(WebKit::WebContext::updateProcessSuppressionStateOfChildProcesses):
Use new helper method canEnableProcessSuppressionForNetworkProcess() to
determine if process suppression should be enabled for NetworkProcess.
Let WebProcess update process suppression state based on application
occlusion state and page visibility.
(WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
(WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
(WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
(WebKit::WebContext::processSuppressionEnabledChanged): Reevaluate if
process suppression is enabled for all contexts and update process
suppression state of global child processes.
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::pageIsProcessSuppressible):
(WebKit::WebProcessProxy::allPagesAreProcessSuppressible):
(WebKit::WebProcessProxy::updateProcessSuppressionState):
* WebProcess/WebProcess.messages.in:
2013-01-29 Anders Carlsson <andersca@apple.com>
Start using the message flag in MessageEncoder/MessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=108227
Reviewed by Beth Dakin.
Stop using the flags in MessageID and store the flags directly in the message instead.
This is another step towards eliminating MessageID.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::processIncomingMessage):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::dispatchSyncMessage):
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
(CoreIPC::MessageDecoder::isSyncMessage):
(CoreIPC):
(CoreIPC::MessageDecoder::shouldDispatchMessageWhenWaitingForSyncReply):
* Platform/CoreIPC/MessageDecoder.h:
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC):
(CoreIPC::MessageEncoder::MessageEncoder):
(CoreIPC::MessageEncoder::~MessageEncoder):
(CoreIPC::MessageEncoder::setIsSyncMessage):
(CoreIPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
* Platform/CoreIPC/MessageEncoder.h:
(MessageEncoder):
* Platform/CoreIPC/MessageFlags.h: Copied from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
(CoreIPC):
* Platform/CoreIPC/MessageID.h:
* WebKit2.xcodeproj/project.pbxproj:
2013-01-29 Anders Carlsson <andersca@apple.com>
Encode/decode message send flags in the message
https://bugs.webkit.org/show_bug.cgi?id=108208
Reviewed by Beth Dakin.
This is another step towards getting rid of MessageID.
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::decodeUInt8):
(CoreIPC):
* Platform/CoreIPC/ArgumentDecoder.h:
(ArgumentDecoder):
(CoreIPC::ArgumentDecoder::decode):
(CoreIPC):
* Platform/CoreIPC/ArgumentEncoder.cpp:
(CoreIPC::ArgumentEncoder::encode):
(CoreIPC):
* Platform/CoreIPC/ArgumentEncoder.h:
(ArgumentEncoder):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendMessage):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(CoreIPC::MessageDecoder::messageSendFlags):
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC):
(CoreIPC::MessageEncoder::MessageEncoder):
(CoreIPC::MessageEncoder::~MessageEncoder):
(CoreIPC::MessageEncoder::setMessageSendFlags):
* Platform/CoreIPC/MessageEncoder.h:
(MessageEncoder):
* UIProcess/Authentication/AuthenticationChallengeProxy.h:
(CoreIPC):
2013-01-29 Mario Sanchez Prada <mario.prada@samsung.com>
[GTK] Missing build flags when building with Harfbuzz
https://bugs.webkit.org/show_bug.cgi?id=108174
Reviewed by Martin Robinson.
Add FREETYPE_CFLAGS and FREETYPE_LIBS to makefiles so -lharfbuzz
parameter will be added to linking lines when needed.
* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* UIProcess/API/gtk/tests/GNUmakefile.am: Ditto.
2013-01-29 Grzegorz Czajkowski <g.czajkowski@samsung.com>
[EFL] Unified text checker implementation.
https://bugs.webkit.org/show_bug.cgi?id=107682
Reviewed by Anders Carlsson.
* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit):
(WebKit::TextChecker::checkTextOfParagraph):
Allow to check spelling for multiple words,
their misspelling location and length are saved to the vector.
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
(WebKit::WebEditorClient::checkTextOfParagraph):
(WebKit):
As spelling implementation is exposed to UIProcess,
send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
2013-01-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to prefetch DNS of a given hostname to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=99695
Reviewed by Anders Carlsson.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_prefetch_dns): Public method to resolve the
domain name in advance for the given hostname.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
webkit_web_context_prefetch_dns.
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
(webkitWebExtensionDidReceiveMessage): Parse PrefetchDNS message
and call WebCore::prefetchDNS() with the given hostname.
(didReceiveMessage): Call webkitWebExtensionDidReceiveMessage().
(webkitWebExtensionCreate): Add implementation for
didReceiveMessage callback.
2013-01-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Implement resources API using injected bundle
https://bugs.webkit.org/show_bug.cgi?id=107457
Reviewed by Sam Weinig.
The ResourceLoaderClient was removed from the UI process in
r140285, and most of the GTK+ API depends on resources. This patch
implements the same API using the ResourceLoaderClient from
injected bundle. It fixes the resources unit tests, as well as
other 14 unit tests that are timing out because they depend on
resource API.
* GNUmakefile.list.am: Add new files to compilation.
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode): Add support for encoding
WebURLResponse and WebError objects in user messages.
(WebKit::UserMessageDecoder::baseDecode): Add support for decoding
WebURLResponse and WebError objects from user messages.
* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Added.
(didReceiveWebViewMessageFromInjectedBundle): Handle messages sent
to the WebView. For now it hanldes all the sresource loader client
messages.
(didReceiveMessageFromInjectedBundle): Handle messages received
from injected bundle.
(attachInjectedBundleClientToContext): Initialize the injected
bundle client.
* UIProcess/API/gtk/WebKitInjectedBundleClient.h: Added.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate): Add a HashMap to map page IDs to
WebKitWebViews.
(createDefaultWebContext): Call
attachInjectedBundleClientToContext() to intialize the injected
bundle client.
(webkitWebContextCreatePageForWebView): Use
webkitWebViewBaseCreateWebPage() to create and initialize a new
WebPageProxy and map the newly created page with the given
WebKitWebView.
(webkitWebContextWebViewDestroyed): Called when the given
WebKitWebView is being destroyed to remove it from the views map.
(webkitWebContextGetWebViewForPage): Returns the WebKitWebView
associated to the given page ID.
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Use
webkitWebContextCreatePageForWebView() instead of
webkitWebViewBaseCreateWebPage() directly.
(webkitWebViewDispose): Call webkitWebContextWebViewDestroyed() to
notify the context.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didInitiateLoadForResource): Send a message to the UI process
with the callback parameters encoded.
(willSendRequestForFrame): Ditto.
(didReceiveResponseForResource): Ditto.
(didReceiveContentLengthForResource): Ditto.
(didFinishLoadForResource): Ditto.
(didFailLoadForResource): Ditto.
(webkitWebPageCreate): Initialize the
WKBundlePageResourceLoadClient.
2013-01-29 Laszlo Gombos <l.gombos@samsung.com>
[Qt] Remove misspelled ENABLE(SPEECH_INPUT) guard
https://bugs.webkit.org/show_bug.cgi?id=105683
Reviewed by Simon Hausmann.
The ENABLE(SPEECH_INPUT) guard is only used in one location
in the source tree and as such it is always 0.
I believe that this guard is a left over and is not needed any more
as the code guarded is not guarded anywhere else.
* WebProcess/qt/WebProcessQt.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
2013-01-29 Zan Dobersek <zdobersek@igalia.com>
Unreviewed build fix after r141024.
Adding new files to the build.
* GNUmakefile.am:
* GNUmakefile.list.am:
2013-01-29 Jinwoo Song <jinwoo7.song@samsung.com>
[WK2] Fix unused parameter build warning
https://bugs.webkit.org/show_bug.cgi?id=108156
Reviewed by Kentaro Hara.
Comment out the unused parameters to fix the build warnings.
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/PluginProxy.h:
2013-01-28 Jae Hyun Park <jae.park@company100.net>
[Qt] Build fix
https://bugs.webkit.org/show_bug.cgi?id=108142
Reviewed by Gyuyoung Kim.
Build fix. Though StorageManager was added to WK2 in r141024,
it is not added to Target.pri for qt port.
* Target.pri:
2013-01-28 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Refactor code related to debug border and repaint count.
https://bugs.webkit.org/show_bug.cgi?id=107910
Reviewed by Noam Rosenthal.
There are two big changes:
1. CoordinatedGraphicsLayer sends debugging visuals to UI Process.
2. When updating a backing store, increment a repaint count.
In addition, we don't use QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
environment. EFL, GTK and QT will use WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
after http://webkit.org/b/107198.
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
(WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
(CoordinatedLayerInfo):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::removeAllTiles):
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
(WebKit::CoordinatedBackingStore::adjustedTransformForRect):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit):
(WebKit::CoordinatedBackingStore::drawBorder):
Override TextureMapperPlatformLayer::drawBorder() to draw the border
for each tile.
(WebKit::CoordinatedBackingStore::drawRepaintCounter):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
(CoordinatedBackingStoreTile):
(CoordinatedBackingStore):
(WebKit::CoordinatedBackingStore::rect):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::setLayerRepaintCount):
(WebKit):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerRepaintCount):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::setDebugBorder):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setLayerRepaintCount):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2013-01-28 Sam Weinig <sam@webkit.org>
Remove support from ArgumentEncoder for deprecated encode functions
https://bugs.webkit.org/show_bug.cgi?id=108155
Reviewed by Dan Bernstein.
* Platform/CoreIPC/ArgumentEncoder.h:
(CoreIPC::ArgumentEncoder::encode):
2013-01-28 Sam Weinig <sam@webkit.org>
Disable default use of the Plug-in XPCService until we can
figure out how to deal with the 32-bit one.
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::shouldUseXPC):
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
2013-01-28 Sam Weinig <sam@webkit.org>
Plug-ins should initialize their sandbox at creation time
https://bugs.webkit.org/show_bug.cgi?id=108098
Reviewed by Anders Carlsson.
Add the ability to add string key/value pairs to process creation parameters
to allow the plugin process to get passed the plugin path which in turn allows
the plugin to initialize its sandbox at the correct time.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(NetworkServiceInitializer):
* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
(WebKit::PluginProcessMainDelegate::getExtraData):
(PluginProcessMainDelegate):
* PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
* PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(WebKit):
(PluginServiceInitializerDelegate):
(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(WebKit::PluginServiceInitializerDelegate::getExtraData):
(PluginServiceInitializer):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeProcess):
(WebKit::PluginProcess::initializePluginProcess):
(WebKit::PluginProcess::initializeProcessName):
(WebKit::PluginProcess::initializeSandbox):
* PluginProcess/PluginProcess.h:
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess):
(WebKit::PluginProcess::platformInitializeProcess):
(WebKit::PluginProcess::initializeProcessName):
(WebKit::PluginProcess::initializeSandbox):
* Shared/ChildProcess.h:
(ChildProcessInitializationParameters):
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
(ChildProcessMainDelegate):
(WebKit::ChildProcessMain):
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
(WebKit::ChildProcessMainDelegate::getExtraData):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Added.
(XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Added.
(WebKit::XPCServiceInitializerDelegate::~XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
(WebKit::XPCServiceInitializerDelegate::getClientIdentifier):
(WebKit::XPCServiceInitializerDelegate::getClientProcessName):
(WebKit::XPCServiceInitializerDelegate::getExtraData):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h:
(PluginProcessCreationParameters):
* UIProcess/Launcher/ProcessLauncher.h:
(LaunchOptions):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
(WebKit::connectToReExecService):
(WebKit::createService):
(WebKit::createProcess):
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit::PluginProcessProxy::platformInitializePluginProcess):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
2013-01-28 Kiran Muppala <cmuppala@apple.com>
Add window occlusion criteria to determine page visibility on Mac
https://bugs.webkit.org/show_bug.cgi?id=107494
Reviewed by Simon Fraser.
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::isViewVisible): Add window occlusion check.
* UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]): Remove self from the all views vector.
(-[WKView addWindowObserversForWindow:]): Register observer for
NSWindowWillOrderOffScreenNotification.
(-[WKView removeWindowObservers]): Unregister observer for
NSWindowWillOrderOffScreenNotification.
(-[WKView viewWillMoveToWindow:]): Disable occlusion notifications.
(-[WKView viewDidMoveToWindow]): Enable occlusion notifications.
(-[WKView _windowWillOrderOffScreen:]): Disable occlusion notifications.
(-[WKView _windowDidOrderOnScreen:]): Enable occlusion notifications.
This notification ensures that occlusion notifications are registered
correctly even if the NSWindow object is assigned a window number after
the viewDidMoveToWindow notification has been received. This occurs
for instance during application launch.
(-[WKView _setIsWindowOccluded:]):
(-[WKView _enableWindowOcclusionNotifications]):
(-[WKView _disableWindowOcclusionNotifications]):
(windowBecameVisible):
(windowBecameOccluded):
(+[WKView _registerWindowOcclusionNotificationHandlers]):
(+[WKView _unregisterWindowOcclusionNotificationHandlers]):
(+[WKView _allViews]):
(-[WKView _isWindowOccluded]):
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Add
self to the all views vector.
* UIProcess/API/mac/WKViewInternal.h:
2013-01-28 Huang Dongsung <luxtella@company100.net>
[TexMap] Enable debug borders and repaint counter via Settings.
https://bugs.webkit.org/show_bug.cgi?id=107198
Reviewed by Benjamin Poulain.
Currently, if the environment variable WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
is set to 1, only CoordinatedBacking shows debug borders and repaint counter.
This patch makes the environment variable change Settings.
In addition, Qt uses WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS instead of
QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS from now.
After Bug 105787, all backing stores and platform layers in TextureMapper can
show debug borders and repaint counter.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
2013-01-28 Anders Carlsson <andersca@apple.com>
Move Mach port handling from WorkQueue to Connection
https://bugs.webkit.org/show_bug.cgi?id=108140
Reviewed by Sam Weinig.
Instead of having WorkQueue know about Mach port sources, just fold that
functionality directly into Connection. This lets us get rid of the generic source
handling from WorkQueue.
* Platform/CoreIPC/Connection.h:
(Connection):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::platformInvalidate):
(CoreIPC::createDataAvailableSource):
(CoreIPC):
(CoreIPC::Connection::open):
(CoreIPC::Connection::initializeDeadNameSource):
* Platform/WorkQueue.h:
(WorkQueue::dispatchQueue):
(WorkQueue):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::platformInvalidate):
2013-01-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Add StorageManager class to cmake ports
Unreviewed build fix. Though StorageManager was added to WK2 in r141024,
it is not added to cmake ports(EFL).
* CMakeLists.txt:
* PlatformEfl.cmake:
2013-01-28 Sam Weinig <sam@webkit.org>
<rdar://problem/13098777>
Add (allow mach-lookup (global-name "com.apple.tccd.system"))
Reviewed by Maciej Stachowiak.
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-28 Brady Eidson <beidson@apple.com>
WebKit2 should notify the client if the NetworkProcess crashes.
<rdar://problem/13090513> and https://bugs.webkit.org/show_bug.cgi?id=108126
Reviewed by Sam Weinig.
Add new client callback to the ContextClient:
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::networkProcessDidCrash):
* UIProcess/WebContextClient.h:
Call out to the client when the NetworkProcess crashes:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::networkProcessCrashed):
* UIProcess/WebContext.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
2013-01-28 Pratik Solanki <psolanki@apple.com>
PLATFORM(IOS) should come before __MAC_OS_X_VERSION_MIN_REQUIRED
https://bugs.webkit.org/show_bug.cgi?id=108101
Reviewed by Benjamin Poulain.
Since iOS does not define __MAC_OS_X_VERSION_MIN_REQUIRED, any usage of
__MAC_OS_X_VERSION_MIN_REQUIRED should be after a PLATFORM(IOS) check.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2013-01-28 Anders Carlsson <andersca@apple.com>
Add StorageManager class
https://bugs.webkit.org/show_bug.cgi?id=108127
Reviewed by Sam Weinig.
The StorageManager will be in charge of handling access to local and session storage
in the UI process.
* UIProcess/Storage/StorageManager.cpp: Added.
* UIProcess/Storage/StorageManager.h: Added.
* WebKit2.xcodeproj/project.pbxproj:
2013-01-28 Anders Carlsson <andersca@apple.com>
More work on UI side local storage
https://bugs.webkit.org/show_bug.cgi?id=108119
Reviewed by Beth Dakin.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Storage/StorageNamespaceProxy.cpp:
(WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
Rename create to createSessionStorageNamespace and make it take a WebPage.
(WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
Add WebPage parameter.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::sessionStorageNamespace):
Add an #ifdef for enabling UI side storage.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::page):
Call new WebPage::fromCorePage helper.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::fromCorePage):
Add new function for getting a WebPage from a WebCore::Page.
2013-01-28 Joseph Pecoraro <pecoraro@apple.com>
Improve PageVisibility API with enums
https://bugs.webkit.org/show_bug.cgi?id=107364
Reviewed by Sam Weinig.
* Shared/API/c/WKPageVisibilityTypes.h: Added.
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toPageVisibilityState):
Create an enum for page visibility APIs and a conversion function
for the WK2 values to WebCore values.
* Target.pri:
* GNUmakefile.list.am:
* WebKit2.xcodeproj/project.pbxproj:
Add WKPageVisibilityTypes.h to the build as a private export.
* UIProcess/API/C/WKPage.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetVisibilityState):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setVisibilityState):
UIProcess API to set visibility state. WebPageProxy already
had m_visibilityState, so update that when setter is used.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.h:
Remove the old SPI for WebKitTestRunner. Tests now use the C API.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setVisibilityState):
* WebProcess/WebPage/WebPage.messages.in:
Update the existing WebPage API to use uint32_t, which matches
other enum message types.
2013-01-28 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use C API inside ewk_download_job
https://bugs.webkit.org/show_bug.cgi?id=107810
Reviewed by Anders Carlsson.
Use C API inside ewk_download_job instead of accessing internal C++
classes directly, to avoid violating API layering.
* UIProcess/API/C/WKDownload.cpp:
(WKDownloadGetID): Add C API to get the download ID as we need it to
support our public API and it seems like a useful addition.
* UIProcess/API/C/WKDownload.h:
* UIProcess/API/efl/ewk_download_job.cpp:
(EwkDownloadJob::EwkDownloadJob):
(EwkDownloadJob::id):
(EwkDownloadJob::request):
(EwkDownloadJob::cancel):
* UIProcess/API/efl/ewk_download_job_private.h:
(EwkDownloadJob::create):
(EwkDownloadJob):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didReceiveResponse):
(WebKit::DownloadManagerEfl::didCreateDestination):
(WebKit::DownloadManagerEfl::didReceiveData):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
(WebKit::DownloadManagerEfl::registerDownloadJob): Rename
registerDownload() to registerDownloadJob() for consistency with
unregisterDownloadJob().
(WebKit::DownloadManagerEfl::ewkDownloadJob): Rename downloadJob() to
ewkDownloadJob() for clarity since it returns a EwkDownload object.
Also take a WKDownloadRef in argument instead of an identifier since
all the callers have a WKDownloadRef and it makes their code simpler.
Finally, make the getter non-const since it returns a non-const pointer.
(WebKit::DownloadManagerEfl::unregisterDownloadJob): Take a
WKDownloadRef in argument instead of an identifier since all the
callers have a WKDownloadRef and it makes their code simpler.
* UIProcess/efl/DownloadManagerEfl.h:
(DownloadManagerEfl):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::handleDownloadRequest):
2013-01-28 Tim Horton <timothy_horton@apple.com>
PDFPlugin: getMainResourceDataOfFrame should return PDFPlugin's data so that Save... works
https://bugs.webkit.org/show_bug.cgi?id=108060
<rdar://problem/13075454>
Reviewed by Sam Weinig.
* WebProcess/Plugins/Netscape/NetscapePlugin.h: Implement getResourceData.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h:
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Implement getResourceData, returning the accumulated
data if it exists and has finished loading.
(WebKit::SimplePDFPlugin::getResourceData):
* WebProcess/Plugins/Plugin.h: Add getResourceData, which hands out a raw pointer/size pair
to the plugin's "main resource" data.
* WebProcess/Plugins/PluginProxy.h: Implement getResourceData.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::getResourceData): Forward getResourceData through to the plugin.
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getMainResourceDataOfFrame): If the requested frame is backed by a PluginDocument,
attempt to ask the PluginView for its resource data.
2013-01-28 Tim Horton <timothy_horton@apple.com>
[wk2] WKView's intrinsicContentSize should only report a flexible width if the content width is less than the minimum width
https://bugs.webkit.org/show_bug.cgi?id=108056
Reviewed by Simon Fraser.
We're currently reporting a flexible width if the intrinsic
content size is less than *or equal* to the minimum layout
width. This is wrong and causes ping-ponging between flexible
and inflexible width in cases where autolayout fits our
view to exactly the intrinsic content size. It should be strictly
less than instead.
* UIProcess/API/mac/WKView.mm:
(-[WKView _setIntrinsicContentSize:]):
2013-01-28 Anders Carlsson <andersca@apple.com>
Add StorageStrategy member functions to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=108105
Reviewed by Tim Horton.
Add default implementations that just chain up to the base class for now.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::localStorageNamespace):
(WebKit::WebPlatformStrategies::sessionStorageNamespace):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
2013-01-28 Adam Barth <abarth@webkit.org>
Remove webkitNotifications.createHTMLNotification
https://bugs.webkit.org/show_bug.cgi?id=107598
Reviewed by Benjamin Poulain.
* Configurations/FeatureDefines.xcconfig:
2013-01-28 Andy Estes <aestes@apple.com>
Fix non-fat builds by excluding PluginService.32 as a target dependency for WebKit2.
* WebKit2.xcodeproj/project.pbxproj:
2013-01-28 Renata Hodovan <reni@webkit.org>
[Qt][Win][WK2] Build fix after r140957.
Rubber-stamped by Csaba Osztrogonác.
<sys/wait.h> is only needed and available on linux therefore it's moved into an ifdef block.
* WebProcess/qt/WebProcessMainQt.cpp:
2013-01-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] Use C API inside ewk_url_response
https://bugs.webkit.org/show_bug.cgi?id=107826
Reviewed by Andreas Kling.
* Shared/API/c/WKURLResponse.cpp:
(WKURLResponseGetExpectedContentsLength):
* Shared/API/c/WKURLResponse.h:
Add new WK2 C API to get the expected contents length.
* UIProcess/API/efl/ewk_url_response.cpp:
(EwkUrlResponse::EwkUrlResponse):
(EwkUrlResponse::httpStatusCode):
(EwkUrlResponse::contentLength):
* UIProcess/API/efl/ewk_url_response_private.h:
(EwkUrlResponse::create):
(EwkUrlResponse):
Change the methods to not call WebCore methods.
2013-01-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
[WK2][EFL] Remove unneeded private methods
https://bugs.webkit.org/show_bug.cgi?id=107693
Reviewed by Andreas Kling.
Care has been taken to verify that the wrappers can
never be null when called.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
2013-01-28 Renata Hodovan <reni@webkit.org>
[WK2] Putting QtWebProcess into a chrooted sandbox
https://bugs.webkit.org/show_bug.cgi?id=90005
Reviewed by Anders Carlsson and Zoltan Herczeg.
This new feature makes possible to run WebProcess inside a chroot. In this case UIProcess calls the
internal SandboxProcess binary what makes up an environment for WebProcess inside the sandbox and runs the WebProcess.
SandboxProcess first creates two needed device files (random and urandom), mounts filesystems (proc and shared memory),
then links run-time dependencies of WebProcess. After this, SandboxProcess moves to a new pid namespace (cloning with
CLONE_NEWPID flag). Then after an other cloning (with CLONE_FS flag) we share our filesystem with our children. This is
needed because we want to call chroot() function from here and jail our child (WebProcess) too. This will be performed
when WebProcess sends a request for it via an socketpair. If sandboxing is done, SandboxProcess exits.
Since chroot() system call needs sudoer rights SandboxProcess binary should have set its suid flag. However we can reduce
its capabilites. First we restrict the capabilities of the process and the number of its possible resources. Furthermore
we fallback to the nobody or the real user.
* Configurations/FeatureDefines.xcconfig:
* SandboxProcess.pro: Added.
* Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Added.
(launchChangeRootHelper):
(setEnvironmentVariablesForChangeRootHelper):
(prepareAndStartChangeRootHelper):
(setCapabilities):
(dropPrivileges):
(fileExists):
(directoryPermissions):
(createDirectory):
(createDirectoryPath):
(createDeviceFiles):
(mountFileSystems):
(linkFile):
(linkDirectory):
(collectRunTimeDependencies):
(setupXauthorityForNobodyUser):
(initSandbox):
(restrictCapabilities):
(moveToNewPidNamespace):
(run):
(main):
* Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Added.
* Shared/linux/SandboxProcess/StringOperations.cpp: Added.
(stringCopy):
(stringConcat):
(stringAppend):
* Shared/linux/SandboxProcess/StringOperations.h: Added.
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):
* WebKit2.pri:
* WebProcess.pro:
* WebProcess/qt/WebProcessMainQt.cpp:
(WebKit):
(WebKit::chrootMe):
(WebKit::WebProcessMainQt):
2013-01-28 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Rely more on C API in ewk_favicon_database
https://bugs.webkit.org/show_bug.cgi?id=108035
Reviewed by Benjamin Poulain.
Rely less on internal C++ API in ewk_favicon_database and use C API
instead of avoid breaking API layering.
* PlatformEfl.cmake:
* UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp: Added.
(WKIconDatabaseTryGetCairoSurfaceForURL): Add C API for getting the
favicon for a given page URL as a cairo_surface_t*.
* UIProcess/API/C/cairo/WKIconDatabaseCairo.h: Added.
* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::didChangeIconForPageURL):
(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::iconDataReadyForPageURL):
2013-01-27 Alexey Proskuryakov <ap@apple.com>
Fix location of sandbox profiles in built products
https://bugs.webkit.org/show_bug.cgi?id=108026
Reviewed by Sam Weinig.
* WebKit2.xcodeproj/project.pbxproj: Sandbox profiles go into WebKit2 framework resources.
2013-01-27 Zoltan Arvai <zarvai@inf.u-szeged.hu>
Fixing atomicIncrement implementation for Windows by dropping support before XP SP2.
https://bugs.webkit.org/show_bug.cgi?id=106740
Reviewed by Benjamin Poulain.
* config.h:
2013-01-27 Sam Weinig <sam@webkit.org>
Add support for launching WebKit2 plugins using XPC
https://bugs.webkit.org/show_bug.cgi?id=108040
Reviewed by Dan Bernstein.
* Configurations/PluginService.32.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
* Configurations/PluginService.64.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
* Configurations/PluginService.Development.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
Add configurations.
* PluginProcess/EntryPoint/mac/XPCService: Added.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.32: Added.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.64: Added.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Added.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Added.
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Added.
(main):
* PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm.
(initializePluginService):
Add entry points.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):
Add plugin process service names and move into correct #ifdef.
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::shouldUseXPC):
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
Opt into xpc using the same rules as the WebProcess.
* WebKit2.xcodeproj/project.pbxproj:
Add files.
2013-01-26 Alexey Proskuryakov <ap@apple.com>
Use shared ChildProcess code to enter plug-in sandbox.
Reviewed by Sam Weinig.
There is one known behavior change from this refactoring: getpwuid_r is used
instead of NSHomeDirectory for home directory, mathcing other client processes.
* PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::enterSandbox):
* PluginProcess/PluginProcess.h:
PluginProcess prevents ChildProcess attempt to enter the sandbox immediately on
launch for now, because we don't have a sandbox profile directory path yet.
It now keeps a copy of ChildProcessInitializationParameters, so that
ChildProcess::initializeSandbox() could be called later.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess): Store a copy of ChildProcessInitializationParameters
for later.
(WebKit::loadSandboxProfile): Build a sandbox profile from a common prefix and
a plugin-specific part.
(WebKit::PluginProcess::platformInitializePluginProcess): We can enter the sandbox now.
(WebKit::PluginProcess::enterSandbox): Prepare SandboxInitializationParameters,
and call ChildProcess::initializeSandbox().
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox): Actually handle system directory suffix
from parameters.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Removed.
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Removed.
2013-01-26 Sam Weinig <sam@webkit.org>
Add support for running the networking process as an XPCService
https://bugs.webkit.org/show_bug.cgi?id=108025
Reviewed by Dan Bernstein.
* Configurations/NetworkService.Development.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.Development.xcconfig.
* Configurations/NetworkService.xcconfig: Copied from Source/WebKit2/Configurations/WebContentService.xcconfig.
Add configurations.
* NetworkProcess/EntryPoint/mac/XPCService: Added.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService: Added.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Added.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm: Copied from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm.
(initializeNetworkService):
Add entry points.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):
(WebKit::connectToServiceForDevelopment):
(WebKit::createServiceForDevelopment):
(WebKit::createService):
(WebKit::createProcess):
(WebKit::ProcessLauncher::launchProcess):
Rework service creation to work for arbitrary services.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getLaunchOptions):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::shouldUseXPC):
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
Opt into xpc using the same rules as the WebProcess.
* WebKit2.xcodeproj/project.pbxproj:
Update files.
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(initializeWebContentService):
Fix the comment to refer to the shim correctly.
2013-01-26 Sam Weinig <sam@webkit.org>
Simplify environment creation in XPC service re-exec
https://bugs.webkit.org/show_bug.cgi?id=108017
Reviewed by Dan Bernstein.
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
(WebKit::XPCServiceEventHandler):
There is no need to copy these strings.
2013-01-26 Alexey Proskuryakov <ap@apple.com>
Remove code for handling NetworkProcess authentication challenges in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=108003
Reviewed by Sam Weinig.
* DerivedSources.make:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
* WebKit2.xcodeproj/project.pbxproj:
* NetworkProcess/NetworkResourceLoader.messages.in: Removed. We no longer have
an messages to NetworkResourceLoader.
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
There is no longer an identifier inside AuthenticationChallenge.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
* NetworkProcess/NetworkResourceLoader.h:
Removed code for receiving authentication responses from WebProcess. Removed
m_currentAuthenticationChallenge - AuthenticationMAnager now keeps track of that.
* WebProcess/Network/WebResourceLoader.cpp:
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
Removed code for handling authentication challenges. They are now sent directly to
UI Process. The only thing WebProcess still does is decide whether is can authenticate
against a particular authentication space.
2013-01-26 Sam Weinig <sam@webkit.org>
Fix the development build.
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
(WebKit::XPCServiceEventHandler):
Use the right stringizer.
2013-01-26 Sam Weinig <sam@webkit.org>
Refactor XPCService initialization to make it easier to add more services
https://bugs.webkit.org/show_bug.cgi?id=108015
Reviewed by Dan Bernstein.
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Added.
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Added.
(WebKit::XPCServiceEventHandler):
Move bootstrapping to Shared (like we have for the legacy process). For now, we use
a macro to define the actual initialization point function to use, in the future, we
could consider alternatives, such as getting the function name from the bundle.
* WebKit2.xcodeproj/project.pbxproj:
Update files.
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
Simplify to use the new XPCServiceBootstrapper.
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.mm.
(initializeWebContentService):
* WebProcess/mac/WebProcessServiceEntryPoints.h: Removed.
* WebProcess/mac/WebProcessServiceEntryPoints.mm: Removed.
Move the entry point to where it belongs and extract the bootstrapping parts.
2013-01-26 Adenilson Cavalcanti <cavalcantii@gmail.com>
[Qt]Qt build fix
https://bugs.webkit.org/show_bug.cgi?id=108013
Changes on process initialization classes broke webkit building with Qt5. This
patch fix it.
Reviewed by Sam Weinig.
* PluginProcess/qt/PluginProcessMainQt.cpp:
2013-01-26 Sam Weinig <sam@webkit.org>
Hoist command line parsing into ChildProcessMain
https://bugs.webkit.org/show_bug.cgi?id=108010
Reviewed by Dan Bernstein.
* NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
(NetworkProcessMain):
* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
(PluginProcessMain):
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
(WebKit::ChildProcessMain):
* SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
(SharedWorkerProcessMain):
* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
(WebContentProcessMain):
2013-01-26 Sam Weinig <sam@webkit.org>
Move LegacyProcess entry points into new EntryPoint directories
https://bugs.webkit.org/show_bug.cgi?id=108008
Reviewed by Anders Carlsson.
Also refactors to remove the need for the overly general WebKitMain, by putting the
framework lazy loading into a helper function each legacy process can call (in ChildProcessMainBootstrapper.h)
* Configurations/NetworkProcess.xcconfig:
* Configurations/PluginProcess.xcconfig:
* Configurations/SharedWorkerProcess.xcconfig:
* Configurations/WebProcess.xcconfig:
* NetworkProcess/EntryPoint: Added.
* NetworkProcess/EntryPoint/mac: Added.
* NetworkProcess/EntryPoint/mac/LegacyProcess: Added.
* NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/NetworkProcess/Info.plist.
* NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessMainMac.mm.
(NetworkProcessMain):
* NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Added.
(main):
* NetworkProcess/Info.plist: Removed.
* NetworkProcess/NetworkProcessMain.h: Removed.
* NetworkProcess/mac/NetworkProcessMainMac.mm: Removed.
* PluginProcess/EntryPoint: Added.
* PluginProcess/EntryPoint/mac: Added.
* PluginProcess/EntryPoint/mac/LegacyProcess: Added.
* PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/PluginProcess/Info.plist.
* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: Copied from Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm.
(PluginProcessMain):
* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Added.
(main):
* PluginProcess/Info.plist: Removed.
* PluginProcess/PluginProcessMain.h: Removed.
* PluginProcess/mac/PluginProcessMainMac.mm: Removed.
* Shared/EntryPointUtilities: Added.
* Shared/EntryPointUtilities/mac: Added.
* Shared/EntryPointUtilities/mac/LegacyProcess: Added.
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Copied from Source/WebKit2/Shared/mac/ChildProcessMain.h.
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Copied from Source/WebKit2/Shared/mac/ChildProcessMain.mm.
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Added.
(closeUnusedFileDescriptors):
(getBootstrapMainFunction):
* Shared/EntryPointUtilities/mac/XPCService: Added.
* Shared/mac/ChildProcessMain.h: Removed.
* Shared/mac/ChildProcessMain.mm: Removed.
* SharedWorkerProcess/EntryPoint: Added.
* SharedWorkerProcess/EntryPoint/mac: Added.
* SharedWorkerProcess/EntryPoint/mac/LegacyProcess: Added.
* SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/SharedWorkerProcess/Info.plist.
* SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm: Copied from Source/WebKit2/SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm.
(SharedWorkerProcessMain):
* SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Added.
(main):
* SharedWorkerProcess/Info.plist: Removed.
* SharedWorkerProcess/SharedWorkerProcessMain.h: Removed.
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: Copied from Source/WebKit2/WebProcess/Info.plist.
* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm.
(WebKit::WebContentProcessMainDelegate::WebContentProcessMainDelegate):
(WebKit):
(WebContentProcessMain):
* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Added.
(main):
* WebProcess/Info.plist: Removed.
* WebProcess/WebKitMain.cpp: Removed.
* WebProcess/WebProcessMain.h: Removed.
* WebProcess/mac/WebProcessMainMac.mm: Removed.
* mac/MainMacProcess.cpp: Removed.
2013-01-25 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use C API inside ewk_database_manager and ewk_storage_manager
https://bugs.webkit.org/show_bug.cgi?id=107920
Reviewed by Benjamin Poulain.
Use C API inside ewk_database_manager and ewk_storage_manager instead
of accessing internal C++ classes directly, to avoid violating API
layering.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
* UIProcess/API/efl/ewk_database_manager.cpp:
(EwkDatabaseManager::EwkDatabaseManager):
(EwkDatabaseManager::getDatabaseOrigins):
* UIProcess/API/efl/ewk_database_manager_private.h:
(EwkDatabaseManager::create):
(EwkDatabaseManager):
* UIProcess/API/efl/ewk_storage_manager.cpp:
(EwkStorageManager::EwkStorageManager):
(EwkStorageManager::getStorageOrigins):
* UIProcess/API/efl/ewk_storage_manager_private.h:
(EwkStorageManager::create):
(EwkStorageManager):
2013-01-25 Andreas Kling <akling@apple.com>
[Mac] Defer loading the Web Inspector bundle until it's necessary.
<http://webkit.org/b/107999>
<rdar://problem/13091861>
Reviewed by Anders Carlsson.
Don't instantiate an NSBundle for the Web Inspector before it's needed.
1.51MB progression on Membuster3.
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::WebInspector):
* WebProcess/WebPage/WebInspector.h:
(WebInspector):
* WebProcess/WebPage/mac/WebInspectorMac.mm:
(WebKit::WebInspector::setInspectorUsesWebKitUserInterface):
(WebKit::WebInspector::localizedStringsURL):
2013-01-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[EFL][WK2] Fix build break after r140891.
Unreviewed build fix. SerializedScriptValue needs to use PassRefPtr in WK2 as well.
* Shared/WebSerializedScriptValue.h:
(WebKit::WebSerializedScriptValue::create):
2013-01-25 Mark Rowe <mrowe@apple.com>
Don't crash when the WKBundlePageUIClient doesn't implement createPlugInExtraStyleSheet.
Reviewed by Dean Jackson.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet): Check that createPlugInExtraStyleSheet
is provided before calling it.
2013-01-25 Andy Estes <aestes@apple.com>
Wrap content filtering code in an object
https://bugs.webkit.org/show_bug.cgi?id=107914
Reviewed by Alexey Proskuryakov.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Updated to reflect changes in WKSI.
2013-01-25 Brady Eidson <beidson@apple.com>
HTTP Authentication should be directly between the NetworkProcess and the UIProcess
<rdar://problem/13074829> and https://bugs.webkit.org/show_bug.cgi?id=107974
Reviewed by Alexey Proskuryakov.
Some of this patch is refactoring to enable more flexibility in the authentication mechanism
and the rest is actually implementing Network->UI process authentication.
Expose the same AuthenticationManager to anyone in the NetworkProcess asking for it:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::authenticationManager):
(WebKit::NetworkProcess::downloadsAuthenticationManager):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Instead of messaging to
the WebProcess, tell the NetworkProcess AuthenticationManager.
Add WebPageID and WebFrameID members to SchedulableLoader that they receive from
* NetworkProcess/SchedulableLoader.cpp:
* NetworkProcess/SchedulableLoader.h:
(WebKit::SchedulableLoader::webPageID):
(WebKit::SchedulableLoader::webFrameID):
Add a 3rd form of "didReceiveAuthenticationChallenge" for NetworkProcess use:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::mapChallengeToIdentifier):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
* Shared/Authentication/AuthenticationManager.h:
* Shared/Authentication/mac/AuthenticationManager.mac.mm:
(WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): Remove a now obsolete comment
Include the WebPage and WebFrame ID for the originator of this request in case it results in a challenge:
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(WebKit::NetworkResourceLoadParameters::webPageID):
(WebKit::NetworkResourceLoadParameters::webFrameID):
Create a AuthenticationChallengeProxy pointing back to the NetworkProcess (instead of a WebProcess),
and send the challenge to the appropriate WebPageProxy:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
Refactor didReceiveAuthenticationChallenge so an outsider can directly hand over an AuthenticationChallengeProxy:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
* UIProcess/WebPageProxy.h:
Add a global WebPageID -> WebPageProxy map so parties with an ID don't need to know which process it belongs to:
* UIProcess/WebProcessProxy.cpp:
(WebKit::globalPageMap):
(WebKit::WebProcessProxy::webPage):
(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
* UIProcess/WebProcessProxy.h:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously): Pass 0 for WebFrameID and WebPageID since synchronous
loads don't go through "normal" authentication channels and don't need them. Yet.
2013-01-25 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/13089261> Crash in WKSandboxExtensionGetSerializedFormat when opening Web Inspector
Reviewed by Brady Eidson.
* WebProcess/com.apple.WebProcess.sb.in: Should be able to issue extensions for
Inspector files.
2013-01-25 Sam Weinig <sam@webkit.org>
Try to fix the debug build.
* WebKit2.xcodeproj/project.pbxproj:
2013-01-25 Sam Weinig <sam@webkit.org>
Move the WebContentServices to WebProcess/EntryPoint/mac/XPCService/.
Reviewed by Anders Carlsson.
* Configurations/WebContentService.Development.xcconfig:
* Configurations/WebContentService.xcconfig:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint: Added.
* WebProcess/EntryPoint/mac: Added.
* WebProcess/EntryPoint/mac/LegacyProcess: Added.
* WebProcess/EntryPoint/mac/XPCService: Added.
* WebProcess/EntryPoint/mac/XPCService/WebContentService: Copied from WebProcessService.
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Copied from WebProcessServiceForWebKitDevelopment.
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Copied from WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm.
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebProcessServiceForWebKitDevelopmentMain.mm: Removed.
* WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Copied from WebProcessService/WebProcessServiceMain.mm.
* WebProcess/EntryPoint/mac/XPCService/WebContentService/WebProcessServiceMain.mm: Removed.
* WebProcessService: Removed.
* WebProcessService/Info.plist: Removed.
* WebProcessService/WebProcessServiceMain.mm: Removed.
* WebProcessServiceForWebKitDevelopment: Removed.
* WebProcessServiceForWebKitDevelopment/Info.plist: Removed.
* WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Removed.
2013-01-25 Ivan Krstić <ike@apple.com>
Prepend common plugin sandbox profile to specific per-plugin one.
<rdar://problem/13044349>
Reviewed by Alexey Proskuryakov.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox):
2013-01-25 Dean Jackson <dino@apple.com>
Add a user agent stylesheet for plugins
https://bugs.webkit.org/show_bug.cgi?id=107890
Reviewed by Alexey Proskuryakov.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h: Rename client callbacks
to have a "create" prefix, making it clear that these generate new Strings.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Actually call into
the injected bundle to retrieve any custom stylesheet for plugins.
(WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient): Add override keyword onto virtual functions now
that the base class has implementations.
2013-01-25 Alexey Proskuryakov <ap@apple.com>
NetworkProcess cannot load files with non-ASCII names
https://bugs.webkit.org/show_bug.cgi?id=107977
Reviewed by Brady Eidson.
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode): Use the correct path accessor.
2013-01-25 Alexey Proskuryakov <ap@apple.com>
REGRESSION: System directory prefix doesn't have a "+"
https://bugs.webkit.org/show_bug.cgi?id=107971
Reviewed by Brady Eidson.
* Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
Re-added the "+".
2013-01-25 Brady Eidson <beidson@apple.com>
New NetworkProcess can ASSERT after old NetworkProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=107970
Reviewed by Alexey Proskuryakov.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Don't tell the scheduler
to remove a loader that doesn't exist, as we might be recovering from a crash.
2013-01-25 Alexey Proskuryakov <ap@apple.com>
Send sandbox extensions for local files to NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=107872
Reviewed by Brady Eidson.
Send sandbox extensions in NetworkResourceLoadParameters, and consume/invalidate
them during loading. Changed NetworkProcess code to only use that class for IPC,
not for actual implementation.
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::scheduleResourceLoader):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::receivedRedirect):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::destinationID):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::resourceHandleStopped):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
* NetworkProcess/SchedulableLoader.cpp:
(WebKit::SchedulableLoader::SchedulableLoader):
(WebKit::SchedulableLoader::consumeSandboxExtensions):
(WebKit::SchedulableLoader::invalidateSandboxExtensions):
* NetworkProcess/SchedulableLoader.h:
(WebKit::SchedulableLoader::identifier):
(WebKit::SchedulableLoader::request):
(WebKit::SchedulableLoader::priority):
(WebKit::SchedulableLoader::contentSniffingPolicy):
(WebKit::SchedulableLoader::allowStoredCredentials):
(WebKit::SchedulableLoader::inPrivateBrowsingMode):
(SchedulableLoader):
* NetworkProcess/SyncNetworkResourceLoader.cpp:
(WebKit::SyncNetworkResourceLoader::start):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(WebKit::NetworkResourceLoadParameters::requestBodyExtensions):
(WebKit::NetworkResourceLoadParameters::resourceSandboxExtension):
2013-01-25 Claudio Saavedra <csaavedra@igalia.com>
Remove stale class include
https://bugs.webkit.org/show_bug.cgi?id=107945
Reviewed by Andreas Kling.
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
GeolocationPermissionRequestProxy has nothing to do here.
2013-01-25 Zan Dobersek <zdobersek@igalia.com>
Unreviewed.
Now searching for *.messages.in in Source/WebKit2/WebProcess/Storage
instead of Source/WebKit2/WebProcess/KeyValueStorage after the
WebKeyValueStorageManager.messages.in was moved there.
* GNUmakefile.am:
2013-01-25 Zan Dobersek <zdobersek@igalia.com>
Unreviewed.
Reincluding the input file for WebKeyValueStorageManager IPC messages
into the extra distribution list after the file was moved.
* GNUmakefile.am:
2013-01-25 Zan Dobersek <zdobersek@igalia.com>
Further GTK build fixing.
Adding Source/WebKit2/WebProcess/Storage to the list of directories
to be searched for header inclusion.
* GNUmakefile.am:
2013-01-25 Zan Dobersek <zdobersek@igalia.com>
Unreviewed GTK build fix.
Adjusting the build targets after WebKeyValueStorageManager.cpp was moved
to a different directory.
* GNUmakefile.list.am:
2013-01-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2][EFL] PagePolicyClientEfl should be based on C WK2 API
https://bugs.webkit.org/show_bug.cgi?id=107854
Reviewed by Benjamin Poulain.
PagePolicyClientEfl should be based on C WK2 API in order not to
break API layering.
* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback):
2013-01-25 Huang Dongsung <luxtella@company100.net>
[Qt][Gtk] build fix after r140752.
https://bugs.webkit.org/show_bug.cgi?id=107908
Reviewed by Kentaro Hara.
Build break after r140752.
Move Authentication and Downloads to Shared.
* DerivedSources.pri:
* GNUmakefile.am:
* WebKit2.pri:
2013-01-24 Tim Horton <timothy_horton@apple.com>
[wk2] Page overlays should do their own animation, instead of relying on implicit animation
https://bugs.webkit.org/show_bug.cgi?id=107896
<rdar://problem/12900058>
Reviewed by Sam Weinig.
Use PageOverlay's animation instead of CA implicit animations for uninstallPageOverlay.
Make WKBundlePageInstallPageOverlay/WKBundlePageUninstallPageOverlay default to no animation.
Add WKBundlePageInstallPageOverlayWithAnimation/WKBundlePageUninstallPageOverlayWithAnimation.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageUninstallPageOverlay): The default for shouldFadeOut is now false, so we don't need to pass it.
(WKBundlePageInstallPageOverlayWithAnimation): Add a version of WKBundlePageInstallPageOverlay that fades in.
(WKBundlePageUninstallPageOverlayWithAnimation): Add a version of WKBundlePageUninstallPageOverlay that fades out.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::highlight): installPageOverlay used to animate by default, now we need to ask for it.
(WebKit::WebInspectorClient::hideHighlight): uninstallPageOverlay used to implicitly animate accidentally, now we need to ask for it.
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll): Ditto.
(WebKit::FindController::hideFindUI): Ditto.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::installPageOverlay): Add shouldFadeIn parameter.
(WebKit::WebPage::uninstallPageOverlay):
* WebProcess/WebPage/WebPage.h:
(WebPage): Add shouldFadeIn to installPageOverlay; make both it and uninstallPageOverlay's shouldFade out default to false.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer): Disable implicit animations when removing a page overlay.
2013-01-24 Huang Dongsung <luxtella@company100.net>
[EFL] Unreviewed build fix after r140752.
https://bugs.webkit.org/show_bug.cgi?id=107886
Build break after r140752.
* PlatformEfl.cmake: Move DownloadSoupErrorsEfl and DownloadSoup to Shared/Downloads.
2013-01-24 Tim Horton <timothy_horton@apple.com>
Fix NetworkProcess loading after r140730.
Reviewed by Sam Weinig.
If a process' sandbox profile path is empty, don't try to initialize the sandbox.
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox):
2013-01-24 Ryosuke Niwa <rniwa@webkit.org>
Mac build fix after r140752.
* DerivedSources.make:
2013-01-24 Jae Hyun Park <jae.park@company100.net>
Redundant LegacyReceiver attribute in WebPage.messages.in
https://bugs.webkit.org/show_bug.cgi?id=107875
Reviewed by Anders Carlsson.
To generate WebPageMessageReceiver with legacy, just one LegacyReceiver
attribute in WebPage.messages.in is enough. This patch removes this
redundant attribute.
* WebProcess/WebPage/WebPage.messages.in:
2013-01-24 Anders Carlsson <andersca@apple.com>
Fix release build.
* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::length):
2013-01-24 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/9971916> [WK2] Update sandbox extension usage
https://bugs.webkit.org/show_bug.cgi?id=107861
Reviewed by Sam Weinig.
* Shared/SandboxExtension.h:
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::wkSandboxExtensionType):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::processDidFinishLaunching):
(WebKit::WebContext::startMemorySampler):
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-24 Brady Eidson <beidson@apple.com>
Move Authentication and Downloads from WebProcess to Shared.
https://bugs.webkit.org/show_bug.cgi?id=107879
Reviewed by Anders Carlsson.
* Shared/Authentication/AuthenticationManager.cpp: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.cpp.
* Shared/Authentication/AuthenticationManager.h: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.h.
* Shared/Authentication/AuthenticationManager.messages.in: Renamed from Source/WebKit2/WebProcess/Authentication/AuthenticationManager.messages.in.
* Shared/Authentication/mac/AuthenticationManager.mac.mm: Renamed from Source/WebKit2/WebProcess/Authentication/mac/AuthenticationManager.mac.mm.
* Shared/Downloads/Download.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/Download.cpp.
* Shared/Downloads/Download.h: Renamed from Source/WebKit2/WebProcess/Downloads/Download.h.
* Shared/Downloads/DownloadAuthenticationClient.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadAuthenticationClient.cpp.
* Shared/Downloads/DownloadAuthenticationClient.h: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadAuthenticationClient.h.
* Shared/Downloads/DownloadManager.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadManager.cpp.
* Shared/Downloads/DownloadManager.h: Renamed from Source/WebKit2/WebProcess/Downloads/DownloadManager.h.
* Shared/Downloads/cfnet/DownloadCFNet.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/cfnet/DownloadCFNet.cpp.
* Shared/Downloads/curl/DownloadCurl.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/curl/DownloadCurl.cpp.
* Shared/Downloads/efl/DownloadSoupErrorsEfl.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp.
* Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp.
* Shared/Downloads/mac/DownloadMac.mm: Renamed from Source/WebKit2/WebProcess/Downloads/mac/DownloadMac.mm.
* Shared/Downloads/qt/DownloadQt.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/qt/DownloadQt.cpp.
* Shared/Downloads/qt/QtFileDownloader.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/qt/QtFileDownloader.cpp.
* Shared/Downloads/qt/QtFileDownloader.h: Renamed from Source/WebKit2/WebProcess/Downloads/qt/QtFileDownloader.h.
* Shared/Downloads/soup/DownloadSoup.cpp: Renamed from Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp.
* Shared/Downloads/soup/DownloadSoupErrors.h: Renamed from Source/WebKit2/WebProcess/Downloads/soup/DownloadSoupErrors.h.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
2013-01-24 Seokju Kwon <seokju.kwon@gmail.com>
[EFL] Unreviewed build fix after r140711
https://bugs.webkit.org/show_bug.cgi?id=107873
Unreviewed build fix.
Build break after r140711.
* CMakeLists.txt: Move WebKeyValueStorageManager to WebProcess/Storage.
2013-01-24 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics: remove SurfaceUpdateInfo::encode/decode
https://bugs.webkit.org/show_bug.cgi?id=107794
Reviewed by Anders Carlsson.
We want to remove the dependency on CoreIPC from SurfaceUpdateInfo
because we will extract Coordinated Graphics from WK2. Since
SurfaceUpdateInfo is only used in Coordinated Graphics, this patch
moves it to Shared/CoordinatedGraphics, and removes CoreIPC
dependency.
No new tests, no change in behavior.
* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebKit):
* Shared/CoordinatedGraphics/SurfaceUpdateInfo.h: Renamed from Source/WebKit2/Shared/SurfaceUpdateInfo.h.
(WebKit):
(SurfaceUpdateInfo):
(WebKit::SurfaceUpdateInfo::SurfaceUpdateInfo):
* Shared/SurfaceUpdateInfo.cpp: Removed.
* Target.pri:
2013-01-24 Anders Carlsson <andersca@apple.com>
More StorageAreaProxy cleanup
https://bugs.webkit.org/show_bug.cgi?id=107870
Reviewed by Beth Dakin.
Remove some unnecessary 'WebCore::' qualifications,
and implement StorageNamespaceProxy::storageArea.
* WebProcess/Storage/StorageAreaProxy.cpp:
* WebProcess/Storage/StorageAreaProxy.h:
* WebProcess/Storage/StorageNamespaceProxy.cpp:
2013-01-24 Sam Weinig <sam@webkit.org>
Cleanup sandbox initialization a bit
https://bugs.webkit.org/show_bug.cgi?id=107847
Reviewed by Alexey Proskuryakov.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeSandbox):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeSandbox):
* PluginProcess/PluginProcess.h:
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeSandbox):
* Shared/ChildProcess.h:
(ChildProcess):
* Shared/SandboxInitializationParameters.h:
(SandboxInitializationParameters):
(WebKit::SandboxInitializationParameters::mode):
(WebKit::SandboxInitializationParameters::setOverrideSandboxProfilePath):
(WebKit::SandboxInitializationParameters::overrideSandboxProfilePath):
(WebKit::SandboxInitializationParameters::setSandboxProfile):
(WebKit::SandboxInitializationParameters::sandboxProfile):
(WebKit::SandboxInitializationParameters::SandboxInitializationParameters):
(WebKit::SandboxInitializationParameters::~SandboxInitializationParameters):
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize):
(WebKit::ChildProcess::initializeSandbox):
* Shared/mac/SandboxInitialiationParametersMac.mm:
(WebKit::SandboxInitializationParameters::SandboxInitializationParameters):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeSandbox):
* WebProcess/WebProcess.h:
* WebProcess/mac/WebProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox):
2013-01-24 Anders Carlsson <andersca@apple.com>
Add stubbed out StorageAreaProxy class
https://bugs.webkit.org/show_bug.cgi?id=107864
Reviewed by Beth Dakin.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Storage/StorageAreaProxy.cpp: Added.
* WebProcess/Storage/StorageAreaProxy.h: Added.
2013-01-24 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed trivial buildfix after r140711.
* DerivedSources.pri:
* Target.pri:
2013-01-24 Mark Hahnenberg <mhahnenberg@apple.com>
Objective-C API: Rename JSValue.h/APIJSValue.h to JSCJSValue.h/JSValue.h
https://bugs.webkit.org/show_bug.cgi?id=107327
Reviewed by Filip Pizlo.
We're renaming these two files, so we have to replace the names everywhere.
* WebProcess/WebPage/WebPage.cpp:
2013-01-24 Dean Jackson <dino@apple.com>
Allow some plugin snapshot UI content to come from Injected Bundle
https://bugs.webkit.org/show_bug.cgi?id=107852
Reviewed by Anders Carlsson.
Hook up three new methods: plugInStartLabelTitle, plugInStartLabelSubtitle and
plugInExtraStyleSheet to allow some custom styling and content to come
from the InjectedBundle.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h: Callbacks added to
WKBundlePageUIClient structure.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Stub implementations
of the three new methods.
(WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
(WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
(WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
(InjectedBundlePageUIClient):
* WebProcess/WebCoreSupport/WebChromeClient.cpp: Call into the injected bundle
for each of these methods.
(WebKit::WebChromeClient::plugInStartLabelTitle):
(WebKit::WebChromeClient::plugInStartLabelSubtitle):
(WebKit::WebChromeClient::plugInExtraStyleSheet):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient): Declare the virtual methods in the Chrome
Client so that they can accessed from WebCore eventually.
2013-01-24 Anders Carlsson <andersca@apple.com>
Add stubbed out StorageNamespaceProxy class
https://bugs.webkit.org/show_bug.cgi?id=107846
Reviewed by Sam Weinig.
Add new class.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Storage/StorageNamespaceProxy.cpp: Added.
* WebProcess/Storage/StorageNamespaceProxy.h: Added.
2013-01-24 Anders Carlsson <andersca@apple.com>
Move WebKeyValueStorageManager to WebProcess/Storage.
Rubber-stamped by Sam Weinig.
Try this again, with DerivedSources.make correctly updated this time.
* DerivedSources.make:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Storage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp.
* WebProcess/Storage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h.
* WebProcess/Storage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in.
2013-01-24 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use C API inside ewk_favicon_database
https://bugs.webkit.org/show_bug.cgi?id=107680
Reviewed by Kenneth Rohde Christiansen.
Use C API inside ewk_favicon_database instead of
accessible the C++ classes and violating layering.
We still rely on some C++ methods but this will be
addressed later since there is no equivalent in
the C API and it will require more refactoring.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::ensureFaviconDatabase):
* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::EwkFaviconDatabase):
(EwkFaviconDatabase::~EwkFaviconDatabase):
(EwkFaviconDatabase::iconURLForPageURL):
(EwkFaviconDatabase::iconForPageURL):
(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::iconDataReadyForPageURL):
(ewk_favicon_database_async_icon_get):
* UIProcess/API/efl/ewk_favicon_database_private.h:
(EwkFaviconDatabase::create):
(EwkFaviconDatabase):
2013-01-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Rename EwkViewImpl class to EwkView
https://bugs.webkit.org/show_bug.cgi?id=107719
Reviewed by Andreas Kling.
Rename EwkViewImpl class to EwkView, due to ewk view
refactoring plan (https://bugs.webkit.org/show_bug.cgi?id=107662#c1).
* PlatformEfl.cmake:
* UIProcess/API/C/efl/WKView.cpp:
(WKViewCreate):
(WKViewCreateWithFixedLayout):
(WKViewGetPage):
(WKViewCreateSnapshot):
* UIProcess/API/efl/EwkView.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/EwkViewImpl.cpp.
(pageViewMap):
(EwkView::addToPageViewMap):
(EwkView::removeFromPageViewMap):
(EwkView::viewFromPageViewMap):
(EwkView::EwkView):
(EwkView::~EwkView):
(EwkView::smartData):
(EwkView::fromEvasObject):
(EwkView::wkPage):
(EwkView::setCursor):
(EwkView::setDeviceScaleFactor):
(EwkView::deviceScaleFactor):
(EwkView::transformFromScene):
(EwkView::transformToScene):
(EwkView::transformToScreen):
(EwkView::layerTreeRenderer):
(EwkView::displayTimerFired):
(EwkView::update):
(EwkView::enterFullScreen):
(EwkView::exitFullScreen):
(EwkView::windowGeometry):
(EwkView::setWindowGeometry):
(EwkView::setImageData):
(EwkView::size):
(EwkView::isFocused):
(EwkView::isVisible):
(EwkView::title):
(EwkView::inputMethodContext):
(EwkView::themePath):
(EwkView::setThemePath):
(EwkView::customTextEncodingName):
(EwkView::setCustomTextEncodingName):
(EwkView::setMouseEventsEnabled):
(EwkView::setTouchEventsEnabled):
(EwkView::informIconChange):
(EwkView::createGLSurface):
(EwkView::enterAcceleratedCompositingMode):
(EwkView::exitAcceleratedCompositingMode):
(EwkView::requestColorPicker):
(EwkView::dismissColorPicker):
(EwkView::showContextMenu):
(EwkView::hideContextMenu):
(EwkView::requestPopupMenu):
(EwkView::closePopupMenu):
(EwkView::requestJSAlertPopup):
(EwkView::requestJSConfirmPopup):
(EwkView::requestJSPromptPopup):
(EwkView::informDatabaseQuotaReached):
(EwkView::informURLChange):
(EwkView::windowFeatures):
(EwkView::createNewPage):
(EwkView::close):
(EwkView::onMouseDown):
(EwkView::onMouseUp):
(EwkView::onMouseMove):
(EwkView::feedTouchEvents):
(EwkView::onTouchDown):
(EwkView::onTouchUp):
(EwkView::onTouchMove):
(EwkView::onFaviconChanged):
(EwkView::takeSnapshot):
* UIProcess/API/efl/EwkView.h: Renamed from Source/WebKit2/UIProcess/API/efl/EwkViewImpl.h.
(WebKit):
(WebCore):
(EwkView):
(EwkView::view):
(EwkView::page):
(EwkView::ewkContext):
(EwkView::settings):
(EwkView::backForwardList):
(EwkView::url):
(EwkView::faviconURL):
(EwkView::mouseEventsEnabled):
(EwkView::touchEventsEnabled):
(EwkView::setNeedsSurfaceResize):
(EwkView::smartCallback):
(EwkView::pageClient):
(EwkView::setPageScaleFactor):
(EwkView::pageScaleFactor):
(EwkView::setPagePosition):
(EwkView::pagePosition):
(EwkView::isHardwareAccelerated):
(EwkView::setDrawsBackground):
(EwkView::evasGLContext):
(EwkView::evasGLSurface):
* UIProcess/API/efl/ewk_context_menu.cpp:
(EwkContextMenu::EwkContextMenu):
* UIProcess/API/efl/ewk_context_menu_private.h:
(EwkContextMenu::create):
(EwkContextMenu):
* UIProcess/API/efl/ewk_download_job.cpp:
(EwkDownloadJob::EwkDownloadJob):
(EwkDownloadJob::view):
* UIProcess/API/efl/ewk_download_job_private.h:
(EwkDownloadJob::create):
(EwkDownloadJob):
* UIProcess/API/efl/ewk_popup_menu.cpp:
(EwkPopupMenu::EwkPopupMenu):
(EwkPopupMenu::close):
* UIProcess/API/efl/ewk_popup_menu_private.h:
(EwkPopupMenu::create):
(EwkPopupMenu):
* UIProcess/API/efl/ewk_settings.cpp:
(EwkSettings::preferences):
* UIProcess/API/efl/ewk_settings_private.h:
(EwkSettings::create):
(EwkSettings::EwkSettings):
(EwkSettings):
* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):
(ewk_view_base_add):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_window_features.cpp:
(EwkWindowFeatures::EwkWindowFeatures):
(EwkWindowFeatures::setToolbarVisible):
(EwkWindowFeatures::setStatusBarVisible):
(EwkWindowFeatures::setMenuBarVisible):
(EwkWindowFeatures::setResizable):
* UIProcess/API/efl/ewk_window_features_private.h:
(EwkWindowFeatures::create):
(EwkWindowFeatures):
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::incorporateUpdate):
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
(WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
(WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
(WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
* UIProcess/efl/ContextMenuClientEfl.cpp:
(ContextMenuClientEfl::ContextMenuClientEfl):
* UIProcess/efl/ContextMenuClientEfl.h:
(WebKit::ContextMenuClientEfl::create):
(ContextMenuClientEfl):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
(WebKit::DownloadManagerEfl::registerDownload):
* UIProcess/efl/DownloadManagerEfl.h:
(DownloadManagerEfl):
* UIProcess/efl/FindClientEfl.cpp:
(WebKit::FindClientEfl::didFindString):
(WebKit::FindClientEfl::didFailToFindString):
(WebKit::FindClientEfl::FindClientEfl):
* UIProcess/efl/FindClientEfl.h:
(WebKit::FindClientEfl::create):
(FindClientEfl):
* UIProcess/efl/FormClientEfl.cpp:
(WebKit::FormClientEfl::willSubmitForm):
(WebKit::FormClientEfl::FormClientEfl):
* UIProcess/efl/FormClientEfl.h:
(WebKit::FormClientEfl::create):
(FormClientEfl):
* UIProcess/efl/InputMethodContextEfl.cpp:
(WebKit::InputMethodContextEfl::InputMethodContextEfl):
(WebKit::InputMethodContextEfl::onIMFInputSequenceComplete):
(WebKit::InputMethodContextEfl::onIMFPreeditSequenceChanged):
(WebKit::InputMethodContextEfl::updateTextInputState):
* UIProcess/efl/InputMethodContextEfl.h:
(WebKit::InputMethodContextEfl::create):
(InputMethodContextEfl):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::PageClientBase):
(WebKit::PageClientBase::view):
(WebKit::PageClientBase::createDrawingAreaProxy):
(WebKit::PageClientBase::setViewNeedsDisplay):
(WebKit::PageClientBase::viewSize):
(WebKit::PageClientBase::isViewFocused):
(WebKit::PageClientBase::isViewVisible):
(WebKit::PageClientBase::processDidCrash):
(WebKit::PageClientBase::didRelaunchProcess):
(WebKit::PageClientBase::toolTipChanged):
(WebKit::PageClientBase::setCursor):
(WebKit::PageClientBase::createPopupMenuProxy):
(WebKit::PageClientBase::createContextMenuProxy):
(WebKit::PageClientBase::enterAcceleratedCompositingMode):
(WebKit::PageClientBase::exitAcceleratedCompositingMode):
(WebKit::PageClientBase::updateTextInputState):
(WebKit::PageClientBase::handleDownloadRequest):
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/efl/PageClientDefaultImpl.cpp:
(WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
(WebKit::PageClientDefaultImpl::updateViewportSize):
(WebKit::PageClientDefaultImpl::convertToDeviceSpace):
(WebKit::PageClientDefaultImpl::convertToUserSpace):
(WebKit::PageClientDefaultImpl::didChangeContentsSize):
* UIProcess/efl/PageClientDefaultImpl.h:
(WebKit::PageClientDefaultImpl::create):
(PageClientDefaultImpl):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
(WebKit::PageClientLegacyImpl::didCommitLoad):
(WebKit::PageClientLegacyImpl::updateViewportSize):
(WebKit::PageClientLegacyImpl::didChangeViewportProperties):
(WebKit::PageClientLegacyImpl::didChangeContentsSize):
(WebKit::PageClientLegacyImpl::pageDidRequestScroll):
(WebKit::PageClientLegacyImpl::didRenderFrame):
(WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
* UIProcess/efl/PageClientLegacyImpl.h:
(WebKit::PageClientLegacyImpl::create):
(PageClientLegacyImpl):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
(WebKit::PageLoadClientEfl::didChangeProgress):
(WebKit::PageLoadClientEfl::didFinishLoadForFrame):
(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
(WebKit::PageLoadClientEfl::didChangeBackForwardList):
(WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
(WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h:
(WebKit::PageLoadClientEfl::create):
(PageLoadClientEfl):
(WebKit::PageLoadClientEfl::view):
* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
(WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
* UIProcess/efl/PagePolicyClientEfl.h:
(WebKit::PagePolicyClientEfl::create):
(PagePolicyClientEfl):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::PageUIClientEfl):
(WebKit::PageUIClientEfl::close):
(WebKit::PageUIClientEfl::takeFocus):
(WebKit::PageUIClientEfl::focus):
(WebKit::PageUIClientEfl::unfocus):
(WebKit::PageUIClientEfl::runJavaScriptAlert):
(WebKit::PageUIClientEfl::runJavaScriptConfirm):
(WebKit::PageUIClientEfl::runJavaScriptPrompt):
(WebKit::PageUIClientEfl::toolbarsAreVisible):
(WebKit::PageUIClientEfl::setToolbarsAreVisible):
(WebKit::PageUIClientEfl::menuBarIsVisible):
(WebKit::PageUIClientEfl::setMenuBarIsVisible):
(WebKit::PageUIClientEfl::statusBarIsVisible):
(WebKit::PageUIClientEfl::setStatusBarIsVisible):
(WebKit::PageUIClientEfl::isResizable):
(WebKit::PageUIClientEfl::setIsResizable):
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):
(WebKit::PageUIClientEfl::runOpenPanel):
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::showColorPicker):
(WebKit::PageUIClientEfl::hideColorPicker):
* UIProcess/efl/PageUIClientEfl.h:
(WebKit::PageUIClientEfl::create):
(PageUIClientEfl):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::drawingArea):
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::create):
(PageViewportControllerClientEfl):
* UIProcess/efl/VibrationClientEfl.cpp:
(VibrationClientEfl::vibrateCallback):
(VibrationClientEfl::cancelVibrationCallback):
(VibrationClientEfl::create):
(VibrationClientEfl::VibrationClientEfl):
(VibrationClientEfl::~VibrationClientEfl):
* UIProcess/efl/VibrationClientEfl.h:
(VibrationClientEfl):
* UIProcess/efl/WebContextMenuProxyEfl.cpp:
(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::showContextMenu):
(WebKit::WebContextMenuProxyEfl::hideContextMenu):
* UIProcess/efl/WebContextMenuProxyEfl.h:
(WebKit::WebContextMenuProxyEfl::create):
(WebContextMenuProxyEfl):
* UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::viewWidget):
* UIProcess/efl/WebPopupMenuProxyEfl.cpp:
(WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
(WebKit::WebPopupMenuProxyEfl::showPopupMenu):
(WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
* UIProcess/efl/WebPopupMenuProxyEfl.h:
(WebKit::WebPopupMenuProxyEfl::create):
(WebPopupMenuProxyEfl):
2013-01-24 Andras Becsi <andras.becsi@digia.com>
Remove nonexistent header from WebKit2/Target.pri
Unreviewed cleanup after r139919.
* Target.pri:
2013-01-24 Michael Brüning <michael.bruning@digia.com>
[Qt][WK2] Pages / resources cannot be loaded from qrc files.
https://bugs.webkit.org/show_bug.cgi?id=107031
Reviewed by Jocelyn Turcotte.
Enables WebKit2 Qt applications to load files from the bundled
qrc files. This is achieved by adding a url scheme handler for
the "qrc" scheme using the application scheme handler and ignoring
all handlers for the qrc application scheme that the application might
set.
* UIProcess/API/qt/qquickurlschemedelegate.cpp:
(QQuickQrcSchemeDelegate::QQuickQrcSchemeDelegate):
(QQuickQrcSchemeDelegate::readResourceAndSend):
* UIProcess/API/qt/qquickurlschemedelegate_p.h:
(QQuickQrcSchemeDelegate):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewExperimental::schemeDelegates_Append):
(QQuickWebViewExperimental::invokeApplicationSchemeHandler):
* UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
* UIProcess/API/qt/tests/qmltests/common/qrctest.html: Added.
* UIProcess/API/qt/tests/qmltests/resources.qrc:
2013-01-24 Krzysztof Czech <k.czech@samsung.com>
[EFL][WK2] Expose accessibility hierarchy in WebKit2-EFL.
https://bugs.webkit.org/show_bug.cgi?id=106216
Reviewed by Andreas Kling.
Create WebPage's accessibility object on WebPage initialization.
Wrap around WebCore's accessibility objects.
Updating accessibility hierarchy. Expands accessibility implementation
of WebKit-GTK to be used in EFL.
* PlatformEfl.cmake:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
(webPageAccessibilityObjectGetIndexInParent):
(web_page_accessibility_object_init):
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit):
(WebKit::WebPage::updateAccessibilityTree):
2013-01-23 Seokju Kwon <seokju.kwon@gmail.com>
[EFL] Unreviewed build fix after r140605
https://bugs.webkit.org/show_bug.cgi?id=107787
Unreviewed build fix.
Build break after r140605.
* UIProcess/WebBatteryManagerProxy.cpp:
* UIProcess/WebBatteryManagerProxy.h:
(WebBatteryManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.cpp:
* UIProcess/WebNetworkInfoManagerProxy.h:
(WebNetworkInfoManagerProxy):
* UIProcess/WebVibrationProxy.cpp:
* UIProcess/WebVibrationProxy.h:
(WebVibrationProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
* WebProcess/Battery/WebBatteryManager.cpp:
* WebProcess/Battery/WebBatteryManager.h:
(WebBatteryManager):
* WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
* WebProcess/NetworkInfo/WebNetworkInfoManager.h:
(WebNetworkInfoManager):
* WebProcess/soup/WebSoupRequestManager.cpp:
* WebProcess/soup/WebSoupRequestManager.h:
(WebSoupRequestManager):
2013-01-23 Sam Weinig <sam@webkit.org>
Cleanup the names of the WebKit2 xpc services
https://bugs.webkit.org/show_bug.cgi?id=107759
Reviewed by Anders Carlsson.
Renames:
com.apple.WebKit2.WebProcessService -> com.apple.WebKit.WebContent
com.apple.WebKit2.WebProcessServiceForWebKitDevelopment -> com.apple.WebKit.WebContent.Development
* Configurations/BaseXPCService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
* Configurations/WebContentService.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessService.xcconfig.
* Configurations/WebContentServiceForDevelopment.xcconfig: Copied from Source/WebKit2/Configurations/WebProcessServiceForWebKitDevelopment.xcconfig.
* Configurations/WebProcessService.xcconfig: Removed.
* Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Removed.
Rename config files to match new service names and add base config.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessService):
* WebKit2.xcodeproj/project.pbxproj:
* WebKit2Service: Removed.
* WebProcessService/Info.plist:
* WebProcessServiceForWebKitDevelopment/Info.plist:
Update for new names.
2013-01-23 Seulgi Kim <seulgikim@company100.net>
Coordinated Graphics : Reduce the number of calls to Functional and number of IPC messages by sending the created/deleted layers in a vector.
https://bugs.webkit.org/show_bug.cgi?id=107625
Reviewed by Benjamin Poulain.
Currently, the number of messages sent by CoordinatedLayerTreeHost is
equal to the number of layers created/deleted even though they requested
in the same cycle.
It's not good since CoreIPC creates functional before sending messages,
and CoordinatedLayerTreeHostProxy creates functional before
create/delete layers.
This patch makes CoordinatedLayerTreeHost send just one
CreateCompositingLayers message and CoordinatedLayerTreeHostProxy create
just one functional in a cycle. The same work has been done with
DeleteCompositingLayers message.
This patch will reduce the number of calls to Functional and number of
IPC messages by sending the created/deleted layers in a vector.
No new tests, no change in behavior.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayers):
(WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayers):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createLayers):
(WebKit):
(WebKit::LayerTreeRenderer::deleteLayers):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
(WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
2013-01-23 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Add LegacyReceiver to messages.in files.
https://bugs.webkit.org/show_bug.cgi?id=107760
Reviewed by Anders Carlsson.
After r140605, LegacyReceiver attribute is needed to use recevier specific
memeber functions.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
2013-01-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r140612.
http://trac.webkit.org/changeset/140612
https://bugs.webkit.org/show_bug.cgi?id=107768
broke the build (Requested by smfr on #webkit).
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.cpp.
(WebKit):
(WebKit::WebKeyValueStorageManager::supplementName):
(WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::initialize):
(WebKit::keyValueStorageOriginIdentifiers):
(WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
(WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.h.
(WebKit):
(WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::localStorageDirectory):
(WebKit::WebKeyValueStorageManager::indexedDBDatabaseDirectory):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/WebKeyValueStorageManager.messages.in.
2013-01-23 Ian Vollick <vollick@chromium.org>
Introduce the "stacking container" concept.
https://bugs.webkit.org/show_bug.cgi?id=107734
Reviewed by Simon Fraser.
A stacking container is treated just like a stacking context. That
is, it has z-order lists, it and its descendants are stacked as a
unit, and when the RenderLayerCompositor does its overlap testing,
the composited regions for all layer lists take effect only once the
stacking container is done being processed.
This patch also adds the function RenderLayer::isStackingContainer().
Currently, this is equivalent to RenderLayer::isStackingContext(),
but in future, the definition of stacking container will be broadened
to encompass more than just stacking contexts.
Other than the addition of this extra function, the patch is mostly
comprised of name changes. Any code that used to refer to the
stacking context concept, but didn't necessarily require a stacking
context in the strict, CSS-sense, was switched to refer to stacking
container. No functionality was changed.
No new tests, no change in functionality.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::updateOffsetFromViewportForSelf):
2013-01-23 Anders Carlsson <andersca@apple.com>
Move Move WebKeyValueStorageManager to WebProcess/Storage.
Rubber-stamped by Sam Weinig.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Storage/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp.
* WebProcess/Storage/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h.
* WebProcess/Storage/WebKeyValueStorageManager.messages.in: Renamed from Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in.
2013-01-23 Anders Carlsson <andersca@apple.com>
Remove LegacyReceiver from a couple of .messages.in files
https://bugs.webkit.org/show_bug.cgi?id=107749
Reviewed by Beth Dakin.
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
* UIProcess/WebGeolocationManagerProxy.cpp:
* UIProcess/WebGeolocationManagerProxy.h:
(WebGeolocationManagerProxy):
* UIProcess/WebGeolocationManagerProxy.messages.in:
* UIProcess/WebIconDatabase.cpp:
* UIProcess/WebIconDatabase.h:
(WebIconDatabase):
* UIProcess/WebIconDatabase.messages.in:
* UIProcess/WebKeyValueStorageManagerProxy.cpp:
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebKeyValueStorageManagerProxy.messages.in:
* UIProcess/WebMediaCacheManagerProxy.cpp:
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.messages.in:
* UIProcess/WebResourceCacheManagerProxy.cpp:
* UIProcess/WebResourceCacheManagerProxy.h:
(WebResourceCacheManagerProxy):
* UIProcess/WebResourceCacheManagerProxy.messages.in:
* WebProcess/Geolocation/WebGeolocationManager.cpp:
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/Geolocation/WebGeolocationManager.messages.in:
* WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
* WebProcess/IconDatabase/WebIconDatabaseProxy.h:
(WebIconDatabaseProxy):
* WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
* WebProcess/MediaCache/WebMediaCacheManager.h:
(WebMediaCacheManager):
* WebProcess/MediaCache/WebMediaCacheManager.messages.in:
* WebProcess/Notifications/WebNotificationManager.cpp:
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/Notifications/WebNotificationManager.messages.in:
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebResourceCacheManager):
* WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit):
* WebProcess/WebPage/WebPageGroupProxy.h:
(WebPageGroupProxy):
* WebProcess/WebPage/WebPageGroupProxy.messages.in:
2013-01-23 Anders Carlsson <andersca@apple.com>
Message receiver generation should work in terms of MessageReceiver objects
https://bugs.webkit.org/show_bug.cgi?id=107742
Reviewed by Beth Dakin.
The generated message receiver code should generate the MessageReceiver
member functions didReceiveMessage and didReceiveSyncMessage instead of
receiver specific member functions.
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoader.messages.in:
* PluginProcess/PluginControllerProxy.messages.in:
* PluginProcess/PluginProcess.messages.in:
* PluginProcess/WebProcessConnection.messages.in:
* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Scripts/webkit2/model.py:
(MessageReceiver.__init__):
(MessageReceiver.has_attribute):
* Scripts/webkit2/parser.py:
(parse):
* Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
* Shared/Plugins/NPObjectMessageReceiver.messages.in:
* Shared/WebConnection.messages.in:
* Shared/mac/SecItemShim.messages.in:
* SharedWorkerProcess/SharedWorkerProcess.messages.in:
* UIProcess/Downloads/DownloadProxy.messages.in:
* UIProcess/DrawingAreaProxy.messages.in:
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/Notifications/WebNotificationManagerProxy.messages.in:
* UIProcess/Plugins/PluginProcessProxy.messages.in:
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in:
* UIProcess/WebApplicationCacheManagerProxy.messages.in:
* UIProcess/WebContext.messages.in:
* UIProcess/WebCookieManagerProxy.messages.in:
* UIProcess/WebDatabaseManagerProxy.messages.in:
* UIProcess/WebFullScreenManagerProxy.messages.in:
* UIProcess/WebGeolocationManagerProxy.messages.in:
* UIProcess/WebIconDatabase.messages.in:
* UIProcess/WebInspectorProxy.messages.in:
* UIProcess/WebKeyValueStorageManagerProxy.messages.in:
* UIProcess/WebMediaCacheManagerProxy.messages.in:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.messages.in:
* UIProcess/WebResourceCacheManagerProxy.messages.in:
* UIProcess/mac/RemoteLayerTreeHost.messages.in:
* UIProcess/mac/SecItemShimProxy.messages.in:
* WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
* WebProcess/Authentication/AuthenticationManager.h:
* WebProcess/Authentication/AuthenticationManager.messages.in:
* WebProcess/Cookies/WebCookieManager.messages.in:
* WebProcess/FullScreen/WebFullScreenManager.messages.in:
* WebProcess/Geolocation/WebGeolocationManager.messages.in:
* WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in:
* WebProcess/MediaCache/WebMediaCacheManager.messages.in:
* WebProcess/Network/NetworkProcessConnection.messages.in:
* WebProcess/Network/WebResourceLoader.messages.in:
* WebProcess/Notifications/WebNotificationManager.messages.in:
* WebProcess/Plugins/PluginProcessConnection.messages.in:
* WebProcess/Plugins/PluginProxy.messages.in:
* WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
* WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebInspector.messages.in:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebPageGroupProxy.messages.in:
* WebProcess/WebProcess.messages.in:
2013-01-23 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: remove CoordinatedLayerInfo::encode/decode.
https://bugs.webkit.org/show_bug.cgi?id=107644
Reviewed by Anders Carlsson.
We want to remove the dependency on CoreIPC from CoordinatedLayerInfo because we
will extract Coordinated Graphics from WK2.
* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebKit):
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Removed.
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
* Target.pri:
2013-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
[WK2] Replace some internal API usage in EwkView with C API
https://bugs.webkit.org/show_bug.cgi?id=107652
Reviewed by Benjamin Poulain.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_url_set):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_stop):
(ewk_view_load_progress_get):
(ewk_view_scale_set):
(ewk_view_scale_get):
(ewk_view_device_pixel_ratio_get):
(ewk_view_back):
(ewk_view_forward):
(ewk_view_back_possible):
(ewk_view_forward_possible):
(ewk_view_html_string_load):
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
(ewk_view_text_matches_count):
(ewk_view_inspector_show):
(ewk_view_inspector_close):
2013-01-23 Alexey Proskuryakov <ap@apple.com>
Build fix.
* Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage):
Copy/paste trouble fix.
2013-01-23 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/13064414> REGRESSION(r139514): didFailToSendSyncMessage is not called by Connection
https://bugs.webkit.org/show_bug.cgi?id=107715
Reviewed by Anders Carlsson.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
Correcting a misapplied edit - didFailToSendSyncMessage should be kept in main
thread message sending, not in secondary thread.
2013-01-23 Brady Eidson <beidson@apple.com>
Recursion handling cancelled authentication challenges in NetworkProcess
<rdar://problem/13024541> and https://bugs.webkit.org/show_bug.cgi?id=107702
Reviewed by Alexey Proskuryakov.
This turned in to both a bug fix with authentication and a minimal refactoring of NetworkResourceLoader.
- Rename ::stop to ::resourceHandleStopped
- Move all cleanup code to ::resourceHandleStopped
- Schedule a resourceHandleStopped call when an authentication cancellation occurs
- Tell the WebResourceLoader to cancel when an authentication cancellation occurs
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::performStops):
(WebKit::NetworkResourceLoader::resourceHandleStopped):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
* NetworkProcess/NetworkResourceLoader.h:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::cancelResourceLoader):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
2013-01-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use C API inside ewk_cookie_manager
https://bugs.webkit.org/show_bug.cgi?id=107661
Reviewed by Alexey Proskuryakov.
Use C API inside ewk_cookie_manager instead of
accessing C++ classes directly and violating
layering.
* PlatformEfl.cmake:
* UIProcess/API/C/soup/WKCookieManagerSoup.cpp: Added.
(toSoupCookiePersistentStorageType):
(WKCookieManagerSetCookiePersistentStorage): Add C API for setting
the persistent storage path and type when using libsoup.
* UIProcess/API/C/soup/WKCookieManagerSoup.h: Added.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::cookieManager):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(EwkCookieManager::EwkCookieManager):
(EwkCookieManager::~EwkCookieManager):
(EwkCookieManager::setPersistentStorage):
(EwkCookieManager::setHTTPAcceptPolicy):
(EwkCookieManager::clearHostnameCookies):
(EwkCookieManager::clearAllCookies):
(EwkCookieManager::watchChanges):
(EwkCookieManager::getHostNamesWithCookies):
(EwkCookieManager::getHTTPAcceptPolicy):
(ewk_cookie_manager_persistent_storage_set):
(ewk_cookie_manager_hostname_cookies_clear):
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(EwkCookieManager::create):
(EwkCookieManager):
2013-01-22 Anders Carlsson <andersca@apple.com>
Use a platforom strategy for local storage
https://bugs.webkit.org/show_bug.cgi?id=107600
Reviewed by Andreas Kling.
Update for new storage strategy.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createStorageStrategy):
(WebKit):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
2013-01-21 Kentaro Hara <haraken@chromium.org>
Implement UIEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=107430
Reviewed by Adam Barth.
Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
UIEvent constructor is implemented under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Safari and Chromium for now.
* Configurations/FeatureDefines.xcconfig:
2013-01-22 Alexey Proskuryakov <ap@apple.com>
Move sandbox initialization to ChildProcess
https://bugs.webkit.org/show_bug.cgi?id=107486
Reviewed by Sam Weinig.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeSandbox): Removed. We no longer need this function
to be implemented in each process type.
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::initializeSandbox): Removed a custom (and incomplete) implementation.
(WebKit::NetworkProcess::processUpdateSandboxInitializationParameters): Clear
sandbox profile path in parameters, telling ChildProcess to not enter a sandbox.
* PluginProcess/PluginProcess.h:
* PluginProcess/mac/PluginProcessMac.mm:
Added FIXMEs, saying that we should switch to ChildProcess implementation.
* Shared/ChildProcess.cpp: Dummy implementations for other platforms.
* Shared/ChildProcess.h: Added processUpdateSandboxInitializationParameters, which
child processes will override to change sandbox initialization parameters.
* Shared/SandboxInitializationParameters.h: Added.
* Shared/mac/SandboxInitialiationParametersMac.mm: Added.
Abstracts out sandbox parameter vector for coding safety. Encapsulates other
things that subclasses will want to do differently.
* Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
Added a shared implementation, based largely on WebProcess version.
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Removed custom sandboxing code.
* WebKit2.xcodeproj/project.pbxproj: Added SandboxInitializationParameters files.
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
Updated dummy implementations to match ChildProcess.
* WebProcess/mac/WebProcessMac.mm:
(WebKit): Moved sandboxing code to ChildProcess.
(WebKit::WebProcess::processUpdateSandboxInitializationParameters): Override
profile path, because default one doesn't work for WebProcessService.
2013-01-22 Joseph Pecoraro <pecoraro@apple.com>
[Mac] Enable Page Visibility (PAGE_VISIBILITY_API)
https://bugs.webkit.org/show_bug.cgi?id=107230
Reviewed by David Kilzer.
* Configurations/FeatureDefines.xcconfig:
2013-01-22 Joseph Pecoraro <pecoraro@apple.com>
Remove empty file WebPageProxyMessageKinds.h
https://bugs.webkit.org/show_bug.cgi?id=107335
Reviewed by Kentaro Hara.
* GNUmakefile.list.am:
* Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
2013-01-22 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Build PDFPlugin everywhere, enable at runtime
https://bugs.webkit.org/show_bug.cgi?id=107117
Reviewed by Alexey Proskuryakov.
Since PDFLayerController SPI is all forward-declared, the plugin should build
on all Mac platforms, and can be enabled at runtime.
* Configurations/FeatureDefines.xcconfig:
2013-01-21 Dirk Schulze <dschulze@adobe.com>
Add build flag for Canvas's Path object (disabled by default)
https://bugs.webkit.org/show_bug.cgi?id=107473
Reviewed by Dean Jackson.
Add CANVAS_PATH build flag to build systems.
* Configurations/FeatureDefines.xcconfig:
2013-01-21 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Add APIs to set/get view source mode
https://bugs.webkit.org/show_bug.cgi?id=106633
Reviewed by Gyuyoung Kim.
Added APIs to set/get view source mode for enabling to load
the source code of the web page.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_source_mode_set):
(ewk_view_source_mode_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setMainFrameInViewSourceMode):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::mainFrameInViewSourceMode):
(WebPageProxy):
2013-01-21 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][WK2] Implement WebInspector::localizedStringsURL() on EFL
https://bugs.webkit.org/show_bug.cgi?id=107363
Reviewed by Benjamin Poulain.
Implement WebInspector::localizedStringsURL() method to return the
file URL of the localizedStrings.js.
This prevents printing warnings about "Localized string not found" in
the console and fixes Web inspector related failing tests on the bots.
* WebProcess/WebPage/efl/WebInspectorEfl.cpp:
(WebKit::WebInspector::localizedStringsURL):
2013-01-21 Kiran Muppala <cmuppala@apple.com>
Enable process suppression by default on Mac
https://bugs.webkit.org/show_bug.cgi?id=106804
Reviewed by Alexey Proskuryakov.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Change initialized value of
m_processSuppressionEnabled from false to true.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitialize): Since process suppression
is no longer disabled on construction, do not disable it for global
child processes either. Instead enable occlusion notifications as
they are needed to trigger process suppression.
2013-01-17 Andy Estes <aestes@apple.com>
Add a USE() macro for content filtering code
https://bugs.webkit.org/show_bug.cgi?id=107098
Reviewed by Mark Rowe.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Use USE(CONTENT_FILTERING).
2013-01-21 Anders Carlsson <andersca@apple.com>
Don't null out the IPC connection in ChildProcess:terminate
https://bugs.webkit.org/show_bug.cgi?id=107469
<rdar://problem/13015294>
Reviewed by Dan Bernstein.
We already invalidate the connection, and Connection::sendMessage checks if a connection
is valid and bails if it isn't, so the only thing that nulling out the connection here does
is that it would force us to add random connection null checks everywhere.
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::terminate):
2013-01-21 Joone Hur <joone.hur@intel.com>
[EFL] API unit tests are running extremely slow on the bots
https://bugs.webkit.org/show_bug.cgi?id=104665
Reviewed by Gyuyoung Kim.
Clear HTTP cache files before running the unit tests, which prevents
performance degradation due to so many cache files.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
2013-01-21 Gustavo Noronha Silva <gns@gnome.org>
REGRESSION (r140285): GTK uses WKPageResourceLoadClient which was removed
https://bugs.webkit.org/show_bug.cgi?id=107421
Unreviewed buildfix.
* GNUmakefile.list.am:
* UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Removed.
* UIProcess/API/gtk/WebKitResourceLoadClient.h: Removed.
* UIProcess/API/gtk/WebKitWebView.cpp: No longer attach unexisting ResourceLoadClient.
(webkitWebViewConstructed):
2013-01-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r139781.
http://trac.webkit.org/changeset/139781
https://bugs.webkit.org/show_bug.cgi?id=107443
This patch seems to cause flakiness on Qt (Requested by chris-
qBT_work on #webkit).
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
2013-01-21 Thiago Marcos P. Santos <thiago.santos@intel.com>
REGRESSION (r140285): EFL uses WKPageResourceLoadClient which was removed
https://bugs.webkit.org/show_bug.cgi?id=107417
Reviewed by Gyuyoung Kim.
We had no choice but remove the ResourceLoadClientEfl after r140285
and thus our public API signals depending on it. The test_ewk2_auth_request
unit test was skipped because it depends these signals and will be fixed in a
different patch.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
* UIProcess/API/efl/ewk_resource.cpp: Removed.
* UIProcess/API/efl/ewk_resource.h: Removed.
* UIProcess/API/efl/ewk_resource_private.h: Removed.
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/efl/ResourceLoadClientEfl.cpp: Removed.
* UIProcess/efl/ResourceLoadClientEfl.h: Removed.
2013-01-20 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
Remove support getting per-resource callbacks in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=107405
Reviewed by Sam Weinig.
EFL, GTK and Qt WebKit2 build fixes after r140285.
Remove from build WebResourceLoadClient.{cpp,h} deleted by r140285.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
2013-01-20 Sam Weinig <sam@webkit.org>
Remove support getting per-resource callbacks in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=107405
Reviewed by Anders Carlsson.
Removes support for the WKPageResourceLoadClient. Access to per-resource
callbacks are still available in the bundle, and via the WebInspector.
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
Stop handling per-resource messages and forwarding them to the API.
* UIProcess/WebResourceLoadClient.cpp: Removed.
* UIProcess/WebResourceLoadClient.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:
Remove the files.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
Stop sending per-resource messages to the UIProcess.
2013-01-20 Gustavo Noronha Silva <gns@gnome.org>
Unreviewed. Simple indentation fix.
* GNUmakefile.am:
2013-01-20 Alexey Proskuryakov <ap@apple.com>
Remove obsolete plug-in sandboxing code.
https://bugs.webkit.org/show_bug.cgi?id=107362
Reviewed by Darin Adler.
* WebKit2.xcodeproj/project.pbxproj:
* DerivedSources.make:
* PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Removed.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox): Fixed a memory leak in code that stays.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
Removed API related parts. Remaining code will move to a better place in a follow-up
patch, just keeping it here for easier reviewing.
(enterSandbox): Removed no longer used arguments.
2013-01-17 Sam Weinig <sam@webkit.org>
Don't initialize AppKit for processes that don't use it
https://bugs.webkit.org/show_bug.cgi?id=107216
Reviewed by Alexey Proskuryakov.
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMainDelegate::doPreInitializationWork):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMainDelegate::doPreInitializationWork):
Move AppKit initialization to the two places it is used, the WebProcessMain and the PluginProcessMain.
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::initialize):
Remove redundant call to InitializeWebKit2().
* Shared/mac/ChildProcessMain.h:
(WebKit::ChildProcessMain):
Remove initialization of AppKit now that the delegate does it if necessary,
and move InitializeWebKit2() to after delegate.doPreInitializationWork(), so
the delegate has a chance to set things up it, in this case, calling
RunLoop::setUseApplicationRunLoopOnMainRunLoop if needed.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeProcess):
Remove now redundant call to RunLoop::setUseApplicationRunLoopOnMainRunLoop().
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(webProcessServiceMain):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
Call WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop() and make call to InitializeWebKit2()
more consistent.
2013-01-18 Tim Horton <timothy_horton@apple.com>
[wk2] Intrinsic content size should report a flexible width if the content is not wider than the minimum layout width
https://bugs.webkit.org/show_bug.cgi?id=107334
<rdar://problem/12960009>
Reviewed by Anders Carlsson.
* UIProcess/API/mac/WKView.mm:
(-[WKView _setIntrinsicContentSize:]): If the content is laid-out at or below the minimum layout width, it's flexible; otherwise, we need to inform autolayout that we require more space via our intrinsic content size.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Allow auto-sizing to expand its width beyond the minimum if needed.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setMinimumLayoutWidth): Allow auto-sizing to expand its width beyond the minimum if needed.
2013-01-18 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/13042826> REGRESSION (r139985): Full Screen Youtube loses keyboard and mouse control
https://bugs.webkit.org/show_bug.cgi?id=107191
Reviewed by Darin Adler.
Moved initialization from platformInitializePluginProcess to platformInitializeProcess,
because the former is called too late. In r139985, I used a correct location for
WebProcess, but not for PluginProcess.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
(WebKit::PluginProcess::platformInitializePluginProcess):
2013-01-18 Brady Eidson <beidson@apple.com>
Rework NetworkProcess resource load identifiers.
<rdar://problem/12934449> and https://bugs.webkit.org/show_bug.cgi?id=107192
Reviewed by Alexey Proskuryakov.
Having the NetworkProcess vend out identifiers to WebProcesses was a bad idea.
This patch reverts that so that WebProcesses are in control of their own unique identifiers.
The NetworkProcess doesn't need identifiers at all.
It can represent outstanding loads with the loaders themselves.
This patch adds a "SchedulableLoader" base class for normal and synchronous loaders.
It reworks each use of identifiers into using SchedulableLoaders instead.
This also gave an opportunity to move the serving of pending requests for a host into the
HostRecord itself which cleans certain things up nicely.
Change HostRecord to have queues of SchedulableLoaders instead of identifiers.
Make HostRecord responsible for actually starting the loaders in its queues:
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::~HostRecord):
(WebKit::HostRecord::scheduleResourceLoader):
(WebKit::HostRecord::addLoaderInProgress):
(WebKit::HostRecord::removeLoader):
(WebKit::HostRecord::hasRequests):
(WebKit::HostRecord::servePendingRequestsForQueue):
(WebKit::HostRecord::servePendingRequests):
(WebKit::HostRecord::limitsRequests):
* NetworkProcess/HostRecord.h:
(WebKit::HostRecord::create): HostRecord is now also RefCounted. new and delete are so 2004.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): Create the loader then schedule
it with the scheduler, instead of having the scheduler create it.
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
Remove maps and sets of identifiers, replacing them with sets of SchedulableLoaders where needed.
Rely on HostRecords to actually manage sets of SchedulableLoaders.
Rely on HostRecord to do the actual serving of its pending requests:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::hostForURL):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::receivedRedirect):
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader):
* NetworkProcess/NetworkResourceLoadScheduler.h:
A new base class for all loaders that the scheduler and HostRecords might need to know about:
* NetworkProcess/SchedulableLoader.cpp:
(WebKit::SchedulableLoader::SchedulableLoader):
(WebKit::SchedulableLoader::~SchedulableLoader):
* NetworkProcess/SchedulableLoader.h:
(WebKit::SchedulableLoader::loadParameters):
(WebKit::SchedulableLoader::connectionToWebProcess):
(WebKit::SchedulableLoader::isSynchronous):
(WebKit::SchedulableLoader::setHostRecord):
(WebKit::SchedulableLoader::hostRecord):
Change to inherit from SchedulableLoader, removing some of the duplicated data and methods:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::connection):
(WebKit::NetworkResourceLoader::destinationID):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::stop):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::create):
Change to inherit from SchedulableLoader, removing some of the duplicated data and methods:
* NetworkProcess/SyncNetworkResourceLoader.cpp:
(WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader):
(WebKit::SyncNetworkResourceLoader::start):
* NetworkProcess/SyncNetworkResourceLoader.h:
(WebKit::SyncNetworkResourceLoader::create):
(WebKit::SyncNetworkResourceLoader::isSynchronous):
Fold the WebProcess resource load identifier in with the load parameters:
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(WebKit::NetworkResourceLoadParameters::identifier):
The identifier is preset in the WebProcess and doesn't come from the NetworkProcess,
so the message to schedule a load can now be asynchronous:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
Update to include a WebProcess generated identifier along with synchronous loads:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebKit2.xcodeproj/project.pbxproj:
2013-01-18 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: CoordinatedTile::updateBackBuffer() returns a dirty rect.
https://bugs.webkit.org/show_bug.cgi?id=107196
Reviewed by Kenneth Rohde Christiansen.
Currently, CoordinatedTile::updateBackBuffer() always returns an empty vector.
This patch makes CoordinatedTile::updateBackBuffer() return a correct dirty rect.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
(WebKit::CoordinatedTile::updateBackBuffer):
2013-01-17 Tim Horton <timothy_horton@apple.com>
[WK2] Minimum layout width auto-sizing should use FrameView::enableAutoSizeMode so that it can shrink the viewport
https://bugs.webkit.org/show_bug.cgi?id=107200
<rdar://problem/12849029>
Reviewed by Simon Fraser.
Make use of FrameView's auto-size mode to allow WKView's computed intrinsic content
size to shrink below the current viewport size.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMinimumLayoutWidth): Forward minimumLayoutWidth changes to WebPage.
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): Remove minimumLayoutWidth argument on updateGeometry.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Enable auto-size mode on the new FrameView if needed.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::updateGeometry): Remove minimumLayoutWidth argument.
* WebProcess/WebPage/DrawingArea.messages.in: Remove minimumLayoutWidth argument on updateGeometry.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialize m_minimumLayoutWidth to 0.
(WebKit::WebPage::setMinimumLayoutWidth): Keep track of minimumLayoutWidth on WebPage. Update auto-sizing state if needed.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::minimumLayoutWidth):
* WebProcess/WebPage/WebPage.messages.in: Add SetMinimumLayoutWidth.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea): Remove storage for m_minimumLayoutWidth. We can get it from WebPage instead.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged): Grab minimumLayoutWidth from WebPage.
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Don't setSize() if auto-sizing is enabled; FrameView will do the right thing.
2013-01-17 Jon Lee <jonlee@apple.com>
Do not track user interaction for plugins that are not snapshotted
https://bugs.webkit.org/show_bug.cgi?id=107211
<rdar://problem/12967277>
Reviewed by Dean Jackson.
When the user interacts with a snapshotted plug-in, we extend that plug-in origin's
expiration date. However, plug-ins may not be snapshotted for other reasons than the
user's initial opt-in. In this case, that plug-in's origin might be not be in the cached
table. This is an edge case that was not initially considered.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::plugInDidReceiveUserInteraction): Convert the assertion to an if
check, and return early if the entry is not found in the cache table.
2013-01-17 Alexey Proskuryakov <ap@apple.com>
REGRESSION (r139516): NetworkResourceLoadScheduler::receivedRedirect is not called.
Rubber-stamped by Brady Eidson.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRequest): Reverted a small part of r139516.
2013-01-17 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove redundant behaviors in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=107084
Reviewed by Noam Rosenthal.
There are two changes.
1. It is redundant to call GraphicsLayer::removeFromParent() or
GraphicsLayer::removeAllChildren() before deleting GraphicsLayer, because the
destructor of GraphicsLayerTextureMapper removes a parent and all children.
2. LayerTreeRenderer::setRootLayerID() does not need to remove all children of
rootLayer because this method can be called only once.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::setRootLayerID):
(WebKit::LayerTreeRenderer::purgeGLResources):
2013-01-17 Timothy Hatcher <timothy@apple.com>
Make logging console messages to STDOUT work in WebKit2 via a new setting.
https://bugs.webkit.org/show_bug.cgi?id=107157
Reviewed by Joseph Pecoraro.
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
(WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::createInspectorPageGroup): Enable logging in debug builds.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Set new setting in WebCore.
2013-01-17 Brady Eidson <beidson@apple.com>
Each NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders
https://bugs.webkit.org/show_bug.cgi?id=107166
Reviewed by Alexey Proskuryakov.
NetworkConnectionToWebProcess now keeps its own id->loader map so it can directly address them as needed:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
* NetworkProcess/NetworkConnectionToWebProcess.h:
NetworkResourceLoadScheduler no longer keeps an identifier -> loader map:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:
There is no longer such a thing as NetworkConnectionToWebProcessObserver:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
* NetworkProcess/NetworkResourceLoader.h:
2013-01-17 Tim Horton <timothy_horton@apple.com>
Remove an incorrect ASSERT() after r140002.
Reviewed by Simon Fraser.
setRootCompositingLayer(null) is valid now.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2013-01-17 Poul Sysolyatin <psytonx@gmail.com>
32-bit build for Qt5 on Mac OS fails.
https://bugs.webkit.org/show_bug.cgi?id=107094
We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
Fixed 32-bit build detection for support Qt5.
Reviewed by Benjamin Poulain.
* Target.pri:
2013-01-17 Martin Robinson <mrobinson@igalia.com>
[GTK] Build with LevelDB when IndexedDB is enabled
https://bugs.webkit.org/show_bug.cgi?id=103220
Reviewed by Gustavo Noronha Silva.
* GNUmakefile.am: When IndexedDatabase is enabled add the leveldb convenience
library to the shared library link phase.
2013-01-17 Tim Horton <timothy_horton@apple.com>
[WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
https://bugs.webkit.org/show_bug.cgi?id=107108
<rdar://problem/12549879>
Reviewed by Darin Adler and Simon Fraser.
Currently, TiledCoreAnimationDrawingArea returns early if asked to unparent
its layer tree, to prevent flashing when switching tabs. We have new plans
to alleviate the flashing, but first, we should reinstate unparenting the root layer,
to allow underlying libraries to better manage the memory backing all compositing layers.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2013-01-17 Tim Horton <timothy_horton@apple.com>
Fix the Mac build sans ENABLE(CSS_FILTERS)
Reviewed by Darin Adler.
Include FloatRect in RemoteGraphicsLayer.mm; it's included by chance currently,
via something that must be compiled out without CSS_FILTERS (or SVG, or shaders, or something).
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
2013-01-16 Alexey Proskuryakov <ap@apple.com>
Don't use NSApplication run loop in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=107061
Reviewed by Anders Carlsson.
Only WebProcess and PluginProcess should use Cocoa APIs that require the run loop.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeProcess):
2013-01-16 Alexey Proskuryakov <ap@apple.com>
Update sandbox rules after r128003
https://bugs.webkit.org/show_bug.cgi?id=106840
Reviewed by Darin Adler.
* WebProcess/com.apple.WebProcess.sb.in: Additional Lion only fixes.
2013-01-16 Sam Weinig <sam@webkit.org>
Make debug-safari --target-web-process work again
https://bugs.webkit.org/show_bug.cgi?id=107088
Reviewed by Anders Carlsson.
--target-web-process was made harder to use during recent refactoring
by requiring users to pass a -ui-process-name parameter in addition to
the -client-executable. Instead, we should conjure up that name from
the information we already have at our disposal.
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMainDelegate::getConnectionIdentifier):
Simplify by making the non-client-executable path use the base
class implementation.
(WebKit::WebProcessMainDelegate::getClientIdentifier):
Ditto.
(WebKit::WebProcessMainDelegate::getClientProcessName):
Added. Create a client process name (its actually not too important what it is, as it
is only used to show a name in Activity Monitor) from the passed in client executable
path.
2013-01-16 Sam Weinig <sam@webkit.org>
Fix crashes on the bots.
The WebKit LoaderStrategy for loading synchronously was only implemented
for the case where you have a network process. When you don't, we should
be using the base implementation.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously):
2013-01-16 Sam Weinig <sam@webkit.org>
Update Owners file.
* Owners:
2013-01-16 Sam Weinig <sam@webkit.org>
Remove unused AddLoadInProgress message
https://bugs.webkit.org/show_bug.cgi?id=107077
Reviewed by Dan Bernstein.
Dead code is dead.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2013-01-16 Anders Carlsson <andersca@apple.com>
Fix crash when destroying a plug-in with pending URL requests
https://bugs.webkit.org/show_bug.cgi?id=107075
<rdar://problem/12513871>
Reviewed by Sam Weinig.
In PluginView::destroyPluginAndReset, make sure to cancel any outstanding URL requests since the PluginView
object will stay around and would otherwise start loading URLs from stopped plug-ins.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::start):
Assert that the plug-in is alive.
(WebKit::PluginView::destroyPluginAndReset):
Empty out the pending URL requests vector and stop the timer.
2013-01-16 Jaehun Lim <ljaehun.lim@samsung.com>
[EFL][WK2] PageUIClientEfl should keep in sync with WKPageUIClient
https://bugs.webkit.org/show_bug.cgi?id=107060
Reviewed by Benjamin Poulain.
Rearrange the order of functions in PageUIClientEfl.
Rename closePage() to close().
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::close):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::PageUIClientEfl):
(WebKit::PageUIClientEfl::close):
(WebKit::PageUIClientEfl::takeFocus):
(WebKit::PageUIClientEfl::focus):
(WebKit::PageUIClientEfl::unfocus):
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::showColorPicker):
(WebKit::PageUIClientEfl::hideColorPicker):
* UIProcess/efl/PageUIClientEfl.h:
(PageUIClientEfl):
2013-01-16 Brady Eidson <beidson@apple.com>
Synchronous XMLHTTPRequests need to go to the NetworkProcess.
<rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826
Reviewed by Sam Weinig and Alexey Proskuryakov.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously): Entry point for WebCore to get
synchronous requests to the NetworkProcess.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): Create a SyncNetworkResourceLoader
and schedule it.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleSyncNetworkResourceLoader):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve synchronous loaders
before async loaders.
* NetworkProcess/NetworkResourceLoadScheduler.h:
A class that encapsulates a synchronous load request and the CoreIPC reply to be made once it is complete:
* NetworkProcess/SyncNetworkResourceLoader.cpp: Added.
(WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader):
(WebKit::SyncNetworkResourceLoader::start):
* NetworkProcess/SyncNetworkResourceLoader.h: Copied from Source/WebKit2/NetworkProcess/HostRecord.h.
(WebKit::SyncNetworkResourceLoader::create):
(WebKit::SyncNetworkResourceLoader::setIdentifier):
(WebKit::SyncNetworkResourceLoader::identifier):
(WebKit::SyncNetworkResourceLoader::loadParameters):
Add a second queue of sync loaders:
* NetworkProcess/HostRecord.h:
(WebKit::HostRecord::syncLoadersPending):
Add comments to explicitly spell out the current reliance on some messages that are currently synchronous:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
* WebKit2.xcodeproj/project.pbxproj:
2013-01-16 Alexey Proskuryakov <ap@apple.com>
WebProcess should not access ~/Library/Caches/com.apple.WebProcess
https://bugs.webkit.org/show_bug.cgi?id=107055
Reviewed by Anders Carlsson.
* WebProcess/com.apple.WebProcess.sb.in: Remove the rule allowing access.
* WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
Use a correct cache directory even if NetworkProcess is in use. Not all loading has
moved to this process yet.
2013-01-16 Anders Carlsson <andersca@apple.com>
Remove CoreIPCMessageKinds.h
https://bugs.webkit.org/show_bug.cgi?id=107048
Reviewed by Beth Dakin.
Use named IPC messages instead.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/CoreIPCMessageKinds.h: Removed.
* Platform/CoreIPC/MessageID.h:
(MessageID):
(CoreIPC::MessageID::stripMostSignificantBit):
(CoreIPC::MessageID::operator==):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::receiveSourceEventHandler):
* WebKit2.xcodeproj/project.pbxproj:
2013-01-15 Jer Noble <jer.noble@apple.com>
Add a Setting to disable QTKit media engine.
https://bugs.webkit.org/show_bug.cgi?id=106972
Reviewed by Eric Carlson.
Add a WebKit2 API to access WebCore QTKitEnabled settings.
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetQTKitEnabled): Pass through to WebCore.
(WKPreferencesGetQTKitEnabled): Ditto.
* UIProcess/API/C/WKPreferences.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Synchronize WebKit2/WebCore settings.
2013-01-16 Kiran Muppala <cmuppala@apple.com>
Groundwork to enable process suppression by default on Mac
https://bugs.webkit.org/show_bug.cgi?id=106513
Reviewed by Alexey Proskuryakov.
Process suppression has so far been controlled by a user default and
disabled by default. This patch provides the groundwork to enable it by
default and adds a private API to enable/disable it on a per-context
basis.
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize): Add comment about
initilization of application occlusion state.
* UIProcess/API/C/mac/WKContextPrivateMac.cpp: Added.
(WKContextGetProcessSuppressionEnabled):
(WKContextSetProcessSuppressionEnabled):
Add private API to enable/disable process suppression on a per-context
basis.
* UIProcess/API/C/mac/WKContextPrivateMac.h: Added.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching): Check if owning
context has process suppression enabled before updating application
occlusion state.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching): Ditto.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching): Check if
process suppression is enabled for global child processes before
updating application occlusion state.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didFinishLaunching): Ditto.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::create): Remove call to
initializeProcessSuppressionSupport, since platformInitialize has been
modified to perform initialization.
(WebKit::WebContext::WebContext): Initialize new member variable
m_processSuppressionEnabled to false.
* UIProcess/WebContext.h:
(WebKit::WebContext::processSuppressionEnabled): Remove "Support"
from the method name.
* UIProcess/mac/WebContextMac.mm:
(WebKit::updateGlobalChildProcessesApplicationOcclusionState):
(WebKit::applicationOcclusionStateChanged): Update the application
occlusion state of child processes having process suppresion enabled.
(WebKit::applicationBecameVisible):
(WebKit::applicationBecameOccluded):
Simplify by moving code to applicationOcclusionStateChanged.
(WebKit::registerOcclusionNotificationHandlers): Fix typos.
(WebKit::unregisterOcclusionNotificationHandlers): Add
method to unregister occlusion notification handlers when no context
has process suppression enabled.
(WebKit::enableOcclusionNotifications):
(WebKit::disableOcclusionNotifications):
(WebKit::enableProcessSuppressionForGlobalChildProcesses):
(WebKit::disableProcessSuppressionForGlobalChildProcesses):
(WebKit::processSuppressionIsEnabledForAnyContext):
(WebKit::processSuppressionIsEnabledForAllContexts):
(WebKit::WebContext::platformInitialize): Disable process suppression
for global child processes since process suppression is disabled for a
context on construction.
(WebKit::WebContext::setProcessSuppressionEnabled):
(WebKit::WebContext::updateChildProcessesApplicationOcclusionState):
(WebKit::WebContext::applicationIsOccluded):
(WebKit::WebContext::processSuppressionEnabledForGlobalChildProcesses):
(WebKit::WebContext::processSuppressionEnabledChanged): Update child
processes application occlusion state, enable/disable occlusion
notifications and enable/disable process suppression for global child
processes.
* WebKit2.xcodeproj/project.pbxproj:
2013-01-15 Anders Carlsson <andersca@apple.com>
Merge LayerTreeHostCA and LayerTreeHostMac
https://bugs.webkit.org/show_bug.cgi?id=106967
Reviewed by Sam Weinig.
There's no need to have a LayerTreeHostCA base class anymore, just merge it into LayerTreeHostMac.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp: Removed.
* WebProcess/WebPage/ca/LayerTreeHostCA.h: Removed.
* WebProcess/WebPage/mac/LayerTreeHostMac.h:
(LayerTreeHostMac):
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::LayerTreeHostMac):
(WebKit::LayerTreeHostMac::~LayerTreeHostMac):
(WebKit::LayerTreeHostMac::layerTreeContext):
(WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
(WebKit):
(WebKit::LayerTreeHostMac::setRootCompositingLayer):
(WebKit::LayerTreeHostMac::invalidate):
(WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
(WebKit::LayerTreeHostMac::scrollNonCompositedContents):
(WebKit::LayerTreeHostMac::forceRepaint):
(WebKit::LayerTreeHostMac::sizeDidChange):
(WebKit::LayerTreeHostMac::deviceScaleFactorDidChange):
(WebKit::LayerTreeHostMac::didInstallPageOverlay):
(WebKit::LayerTreeHostMac::didUninstallPageOverlay):
(WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
(WebKit::LayerTreeHostMac::pauseRendering):
(WebKit::LayerTreeHostMac::resumeRendering):
(WebKit::LayerTreeHostMac::setLayerHostingMode):
(WebKit::LayerTreeHostMac::notifyAnimationStarted):
(WebKit::LayerTreeHostMac::notifyFlushRequired):
(WebKit::LayerTreeHostMac::paintContents):
(WebKit::LayerTreeHostMac::deviceScaleFactor):
(WebKit::LayerTreeHostMac::flushLayers):
(WebKit::LayerTreeHostMac::initialize):
(WebKit::LayerTreeHostMac::performScheduledLayerFlush):
(WebKit::LayerTreeHostMac::flushPendingLayerChanges):
(WebKit::LayerTreeHostMac::createPageOverlayLayer):
(WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
2013-01-15 Tim Horton <timothy_horton@apple.com>
Clamp TileCache visibleRect to WKView's visibleRect
https://bugs.webkit.org/show_bug.cgi?id=106601
<rdar://problem/12843164>
Reviewed by Simon Fraser.
Some clients expand the WKView to be much larger than what is visible on screen, and
control scrolling with their own view. Currently, we will create tiles for the entire
view, consuming a great deal of memory, and can sometimes factor scrollbars which can
never exist into layout. Piggyback on WKView SPI (the property minimumWidthForAutoLayout,
renamed from minimumLayoutWidth) to drop into a mode where we disable main frame scrolling
and respect the WKView's visibleRect when creating tiles.
* UIProcess/API/mac/WKView.mm:
(-[WKView setFrameSize:]): Update the page's viewExposedRect from our visibleRect.
(-[WKView _updateWindowAndViewFrames]): Update the page's viewExposedRect from our visibleRect.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): The main frame is scrollable by default.
(-[WKView enableFrameSizeUpdates]): If frame size updates become enabled, update the
page's viewExposedRect from our visibleRect.
(-[WKView setMinimumLayoutWidth:]): Rename minimumLayoutWidth property to minimumWidthForAutoLayout.
Warn once if the old one is used.
(-[WKView minimumWidthForAutoLayout]):
(-[WKView setMinimumWidthForAutoLayout:]): Adjust the minimum layout width, whether the main frame
is scrollable, and update the page's viewExposedRect if needed.
* UIProcess/API/mac/WKViewPrivate.h: Added minimumWidthForAutoLayout property.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add viewExposedRectChanged/setMainFrameIsScrollable.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::viewExposedRectChanged): Forward viewExposedRectChanged to WebPage.
(WebKit::WebPageProxy::setMainFrameIsScrollable): Forward setMainFrameIsScrollable to WebPage.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Disable scrollbars and scrolling if
main frame scrollability is disabled.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setExposedRect): Added empty default implementation.
(WebKit::DrawingArea::mainFrameScrollabilityChanged): Added empty default implementation.
(DrawingArea):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowAndViewFramesChanged): We don't need the WebCore:: namespace.
(WebKit::WebPage::viewExposedRectChanged): Forward exposed rect changes to DrawingArea (only TiledCoreAnimationDrawingArea cares, for now).
(WebKit::WebPage::setMainFrameIsScrollable): Forward scrollability changes to DrawingArea and the main FrameView.
(WebKit::WebPage::drawRectToImage): We don't need the WebCore:: namespace.
* WebProcess/WebPage/WebPage.h:
(WebPage): Add mainFrameIsScrollable, viewExposedRectChanged, setMainFrameIsScrollable, and storage for m_mainFrameIsScrollable.
(WebKit::WebPage::mainFrameIsScrollable):
* WebProcess/WebPage/WebPage.messages.in: Add ViewExposedRectChanged and SetMainFrameIsScrollable messages.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Forward new exposed rect to TiledBacking (only TileCache cares, for now).
(WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): Ask TiledBacking to clip to the exposedRect if main frame scrolling is disabled.
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Use size instead of viewSize in case we've changed it because of m_minimumLayoutWidth.
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): Update exposedRect and clipsToExposedRect.
2013-01-15 Enrica Casucci <enrica@apple.com>
Add a new set of WebKit2 APIs for text search and
search results management.
https://bugs.webkit.org/show_bug.cgi?id=106834.
<rdar://problem/12597159>
Reviewed by Simon Fraser.
Adding new API to perform text search in WebKit2 without using
the stock UI. The new interface provides all the information
necessary to write a custom UI for search. The main logic is
implemented in the new functions added to FindController.
Added new TextWebKitAPI test.
* UIProcess/API/C/WKPage.cpp:
(WKPageFindStringMatches): Added.
(WKPageGetImageForFindMatch): Added.
(WKPageSelectFindMatch): Added.
(WKPageSetPageFindMatchesClient): Added.
* UIProcess/API/C/WKPage.h: Added the new API definitions.
* UIProcess/WebFindClient.cpp: Added new client callbacks.
(WebKit::WebFindMatchesClient::didFindStringMatches):
(WebKit::WebFindMatchesClient::didGetImageForMatchResult):
* UIProcess/WebFindClient.h:
(WebFindMatchesClient): Added.
* UIProcess/WebPageProxy.cpp: Added proxy methods.
(WebKit::WebPageProxy::initializeFindMatchesClient):
(WebKit::WebPageProxy::findStringMatches):
(WebKit::WebPageProxy::getImageForFindMatch):
(WebKit::WebPageProxy::selectFindMatch):
(WebKit::WebPageProxy::didGetImageForFindMatch):
(WebKit::WebPageProxy::didFindStringMatches):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findStringMatches): Finds all the matching
text according to the find options. All the matching text ranges are
stored in a vector until the next call to findStringMatches or until
hideFindUI is called. The message that is sent back to the UI process
contains a vector containing an entry for each find match (i.e. for each
range) and each entry is represented by a vector of the corresponding
text rects. It also returns the index in the vector of matches corresponding
to the first match after the user selection.
If there is no selection the index is always 0 and if there are no
matches after the user selection, the index returned is -1.
(WebKit::FindController::getFindIndicatorBitmapAndRect): Helper function
to share code between updateFindIndicator and getImageForFindMatch.
(WebKit::FindController::getImageForFindMatch): Creates the image corresponding
to the text matched at the given match index.
(WebKit::FindController::selectFindMatch): creates a selection for the range
corresponding to the given match index.
(WebKit::FindController::hideFindUI): Added logic to clear the vector
of matched ranges.
(WebKit::FindController::updateFindIndicator): Updated to use the
new helper function getFindIndicatorBitmapAndRect.
* WebProcess/WebPage/FindController.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::findStringMatches):
(WebKit::WebPage::getImageForFindMatch):
(WebKit::WebPage::selectFindMatch):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
2013-01-15 Anders Carlsson <andersca@apple.com>
Rename LayerTreeHostCAMac to LayerTreeHostMac.
Rubber-stamped by Deth Bakin.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/LayerTreeHost.cpp:
* WebProcess/WebPage/mac/LayerTreeHostMac.h: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h.
* WebProcess/WebPage/mac/LayerTreeHostMac.mm: Renamed from Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm.
2013-01-15 Dominik Röttsches <dominik.rottsches@intel.com>
[CoordinatedGraphics] Deadlock when running abspos-child-container-changes-from-relative-to-static.html
https://bugs.webkit.org/show_bug.cgi?id=106884
Reviewed by Benjamin Poulain.
We need to return false if m_waitingForUIProcess is true since otherwise
we'll not really repaint in performScheduledLayerFlush() and the
UI process will wait forever. Returning false leads to executing the layer flush
synchronously and immediately, then acknowledging the
callback to the WebProcess - which resolves the deadlock.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::forceRepaintAsync): Return false in order to trigger a synchronous repaint if m_waitingForUIProcess is true.
2013-01-15 Simon Fraser <simon.fraser@apple.com>
Allow tiled WKViews to have transparent backgrounds
https://bugs.webkit.org/show_bug.cgi?id=106400
Reviewed by Anders Carlsson.
When WKViews were set to have transparent backgrounds, they still
obscured content behind the view, for several reasons.
First, when in tiled scrolling mode, WKView set the background
of its layer to opaque white. Fix by using the clearColor (effectively
removing the background color) if the view has a non-opaque background.
Second, RenderLayerBacking just looked at FrameViews's isTransparent()
when deciding to make TileCache tiles non-opaque, but it also needs to
consider FrameViews with a non-opaque base background color. The
same logic was necessary to avoid setting an opaque white background
color on the TileCache layer.
Finally, for views with non-opaque backgrounds, we don't want to display
linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
to return false in that case.
* UIProcess/API/mac/WKView.mm:
(-[WKView updateLayer]):
2013-01-14 Dean Jackson <dino@apple.com>
[ANGLE] Update ANGLE in WebKit
https://bugs.webkit.org/show_bug.cgi?id=106274
Unreviewed attempted build fix.
The khrplatform.h file is now a public header without a directory
prefix. Update the include path to look in the right place.
* PlatformEfl.cmake:
2013-01-14 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12524710> Update sandbox rules after r128003
https://bugs.webkit.org/show_bug.cgi?id=106840
Reviewed by Anders Carlsson.
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-14 Huang Dongsung <luxtella@company100.net>
[EFL] REGRESSION(r139189): MiniBrowser renders abnormally with -r option.
https://bugs.webkit.org/show_bug.cgi?id=106512
Reviewed by Kenneth Rohde Christiansen.
PageViewportController handles only pageScaleFactor after r139189. So
PageViewportControllerClientEFL calls EwkView::setScaleFactor() with
pageScaleFactor instead of pageScaleFactor * deviceScaleFactor.
This patch makes EwkView handle pageScaleFactor.
1. EwkView uses pageScaleFactor * deviceScaleFactor when drawing in
the device unit.
2. EwkView uses pageScaleFactor when notifying the scale to
PageViewportController.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::deviceScaleFactor):
(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
(EwkViewImpl::setPageScaleFactor):
(EwkViewImpl::pageScaleFactor):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didRenderFrame):
* UIProcess/PageViewportControllerClient.h:
(PageViewportControllerClient):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(PageViewportControllerClientEfl):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::setPageScaleFactor):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):
2013-01-14 Max Vujovic <mvujovic@adobe.com>
[ANGLE] Update ANGLE in WebKit
https://bugs.webkit.org/show_bug.cgi?id=106274
Reviewed by Dean Jackson.
Update ANGLE to r1641.
* PlatformEfl.cmake: Add ANGLE/include to the include directories list because ShaderLang.h
now includes "KHR/khrplatform.h", which is located in ANGLE/include/KHR/khrplatform.h.
2013-01-14 Alexey Proskuryakov <ap@apple.com>
NetworkProcess scheduler never resumes resource loads that were postponed
due to connection limit
https://bugs.webkit.org/show_bug.cgi?id=106821
Reviewed by Brady Eidson.
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
* NetworkProcess/NetworkResourceLoadScheduler.h:
Remove an uninitialized variable that could prevent loading.
2013-01-11 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WK2] plugin tests assert in debug
https://bugs.webkit.org/show_bug.cgi?id=106659
Reviewed by Benjamin Poulain.
Fixed the misuse of String::split.
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::truncateToSingleLine):
Add an assert to make sure this function works well. I just walked there
while debugging the bug, and although it was innocent, adding this assertion
is logical.
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
The ASSERT was wrong. We have three lines, each ends in a newline, so split
with allowEmptyEntries=true will devide it to 4 substrings.
2013-01-11 Filip Pizlo <fpizlo@apple.com>
JITThunks should not compile only because of luck
https://bugs.webkit.org/show_bug.cgi?id=105696
Rubber stamped by Sam Weinig.
* Shared/APIObject.cpp:
* Shared/linux/WebMemorySamplerLinux.cpp:
* UIProcess/WebContext.cpp:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/efl/WebProcessMainEfl.cpp:
2013-01-11 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove the dependency of WebCoordinatedSurface::Handle from Coordinated Graphics.
https://bugs.webkit.org/show_bug.cgi?id=104347
Reviewed by Noam Rosenthal.
It is a preparation patch for Threaded Coordinated Graphics on WK1.
Currently, UpdateAtlas and CoordinatedImageBacking use
WebCoordinatedSurface::Handle, but WebCoordinatedSurface::Handle can be
used only IPC-based Coordinated Graphics. So this patch removes the
dependency of WebCoordinatedSurface::Handle from UpdateAtlas and
CoordinatedImageBacking. Now CoordinatedLayerTreeHost converts the
handle to a WebCoordinatedSurface.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
(WebKit::CoordinatedImageBacking::update):
(WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
(Coordinator):
(CoordinatedImageBacking):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::updateImageBacking):
(WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(WebKit):
(CoordinatedLayerTreeHost):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit::UpdateAtlas::~UpdateAtlas):
(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
(UpdateAtlasClient):
(UpdateAtlas):
2013-01-11 Alexey Proskuryakov <ap@apple.com>
[WK2] Network process unblocks all waiting threads when any sync reply arrives
https://bugs.webkit.org/show_bug.cgi?id=106713
Reviewed by Brady Eidson.
Switch to sending sync CoreIPC messages, which is now possible.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::didClose):
We no longer have response maps.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRequest): Just send a sync message.
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace): Ditto.
(WebKit::NetworkResourceLoader::didReceiveDataArray): Added an unrelated assertion.
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkResourceLoader.messages.in:
Removed no longer used reply messages and their handlers.
* Shared/BlockingResponseMap.h: Removed a bool version, which was not perfectly
safe, and only used in NetworkProcess.
(BlockingResponseMap::didReceiveResponse): Updated a still valid FIXME to not refer
to network process.
(BlockingResponseMap::cancel): Ditto.
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
Plumbing to handle sync messages.
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
Updated (simplified) sync messages and their handlers.
2013-01-11 Alexey Proskuryakov <ap@apple.com>
[WK2] Make it possible to send sync messages from secondary threads
https://bugs.webkit.org/show_bug.cgi?id=106708
Apply another review comment (overlooked a "ditto").
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendSyncMessage):
2013-01-11 Alexey Proskuryakov <ap@apple.com>
[WK2] Make it possible to send sync messages from secondary threads
https://bugs.webkit.org/show_bug.cgi?id=106708
Reviewed by Anders Carlsson.
It is hugely beneficial to implement sync messages at Connection level, because
ad hoc code that blocks a thread and wakes it up when a reply arrives on main
thread can't be made equally performant. A CoreOPC MessageDecoder can be moved across
threads, which can't be done with a decoded argument passed by reference to client code.
Sync messages from secondary threads are tracked in much simpler data structure
than client thread ones, because we don't need to be concerned with incoming messages.
* Platform/CoreIPC/Connection.cpp:
(Connection::SecondaryThreadPendingSyncReply):
(CoreIPC::Connection::SecondaryThreadPendingSyncReply::SecondaryThreadPendingSyncReply):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::processIncomingSyncReply):
(CoreIPC::Connection::connectionDidClose):
* Platform/CoreIPC/Connection.h: Also corrected a misleading comment.
2013-01-11 Dan Bernstein <mitz@apple.com>
Exclude unused resources.
Reviewed by Darin Adler.
* Configurations/WebKit2.xcconfig: Defined EXCLUDED_SOURCE_FILE_NAMES.
2013-01-11 Anders Carlsson <andersca@apple.com>
Incoming synchronous messages can sometimes arrive out of order
https://bugs.webkit.org/show_bug.cgi?id=106677
<rdar://problem/12889499>
Reviewed by Andreas Kling.
In cases where synchronous messages come in more than one connection at the same time, we can sometimes deliver
the synchronous messages before any pending asynchronous messages on that connection. This breaks FIFO ordering.
Fix this by separating the "dispatch all incoming synchronous messages" phase out into multiple phases, so we'll
schedule one call per connection instead of one call for all connections.
* Platform/CoreIPC/Connection.cpp:
(Connection::SyncMessageState):
(CoreIPC::Connection::SyncMessageState::SyncMessageState):
(CoreIPC::Connection::SyncMessageState::processIncomingMessage):
(CoreIPC::Connection::SyncMessageState::dispatchMessages):
(CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection):
(CoreIPC::Connection::waitForSyncReply):
2013-01-11 Zan Dobersek <zandobersek@gmail.com>
Unreviewed. Build fix for the GTK debug builds of WebKit2 after r139415.
* WebProcess/gtk/WebGtkExtensionManager.cpp:
2013-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Remove support for global extensions in WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=106646
Reviewed by Xan Lopez.
We have now API to set the web extensions directory. A global web
estensions directory doesn't make sense anymore.
* WebProcess/gtk/WebGtkExtensionManager.cpp:
(WebKit::WebGtkExtensionManager::scanModules): Only scan the given
directory for modules.
(WebKit::WebGtkExtensionManager::initialize): Load modules found
in the given directory only.
* WebProcess/gtk/WebGtkExtensionManager.h:
(WebGtkExtensionManager): Remove appendModuleDirectories().
2013-01-11 KwangYong Choi <ky0.choi@samsung.com>
[EFL][WK2] Add ewk_view_page_contents_get() API
https://bugs.webkit.org/show_bug.cgi?id=106440
Reviewed by Gyuyoung Kim.
Add ewk_view_page_contents_get() API for getting contents of the current page.
Currently, it supports only MHTML type.
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_Page_Contents_Context):
(ewkViewPageContentsCallback):
(ewk_view_page_contents_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(PageContentsCallback):
(TEST_F):
2013-01-11 Krzysztof Czech <k.czech@samsung.com>
[WK2] Missing HAVE(ACCESSIBILITY) guards to some atk/ accessibility files.
https://bugs.webkit.org/show_bug.cgi?id=106447
Reviewed by Andreas Kling.
Files do not have HAVE(ACCESSIBILITY) guards.
This is source of potential build breakes, when macro is not enabled.
* WebProcess/WebPage/atk/WebPageAccessibilityObject.h:
* WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
2013-01-11 KwangYong Choi <ky0.choi@samsung.com>
[EFL] Fix unused parameter build error
https://bugs.webkit.org/show_bug.cgi?id=106639
Reviewed by Kentaro Hara.
Use UNUSED_PARAM macro to fix build error.
* UIProcess/API/efl/ewk_color_picker.cpp:
(ewk_color_picker_color_set):
(ewk_color_picker_color_get):
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_additional_plugin_path_set):
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_fullscreen_enabled_set):
(ewk_settings_fullscreen_enabled_get):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_deliver):
(ewk_view_feed_touch_event):
(ewk_view_touch_events_enabled_set):
(ewk_view_touch_events_enabled_get):
(ewk_view_fullscreen_exit):
2013-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to set the web extensions directory to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=106462
Reviewed by Xan Lopez.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_web_extensions_directory): Set
the given directory as injected bundle initialization user data.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/TestWebExtensions.cpp:
(beforeAll): Update the test to use
webkit_web_context_set_web_extensions_directory()
instead of setting the WEBKIT_WEB_EXTENSIONS_PATH env var.
* WebProcess/gtk/WebGtkExtensionManager.cpp:
(WebKit::WebGtkExtensionManager::scanModules): Append the given
additional web extensions directory to the list of directories to
scan for modules.
(WebKit::WebGtkExtensionManager::initialize): Get the additional
web extensions directory from initialization user data and pass it
to scanModules().
* WebProcess/gtk/WebGtkExtensionManager.h:
(WebGtkExtensionManager): Add userData parameter.
* WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
(WKBundleInitialize): Pass initialization user data to
WebGtkExtensionManager.
2013-01-10 Huang Dongsung <luxtella@company100.net>
[Qt][EFL] Rename from xxxContentsScale() to xxxScale() in PageViewportController.
https://bugs.webkit.org/show_bug.cgi?id=106537
Reviewed by Kenneth Rohde Christiansen.
Rename 3 methods to match the terms of ViewportAttributes.
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::viewport):
(QWebKitTest::contentsScale):
* UIProcess/PageViewportController.h:
(WebKit::PageViewportController::minimumScale):
(WebKit::PageViewportController::maximumScale):
(WebKit::PageViewportController::currentScale):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
2013-01-10 Michael Pruett <michael@68k.org>
[WK2] Set IndexedDB database path in WK2
https://bugs.webkit.org/show_bug.cgi?id=106257
Reviewed by Benjamin Poulain.
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::initialize):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::indexedDBDatabaseDirectory):
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::WebPageGroupProxy):
2013-01-10 Tim Horton <timothy_horton@apple.com>
Ensure that WebPageProxy's notion of pageScaleFactor is reset on didCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=103290
<rdar://problem/12752467>
Reviewed by Darin Adler.
When a standard main frame load is committed, we reset the WebPage's
pageScaleFactor, if it's not the default. However, if the previous
page had a full-main-frame plugin that was handling page scaling itself,
WebPageProxy can have a cached pageScaleFactor != 1, while WebPage
now (since the plugin that was overriding (set)pageScaleFactor is gone)
has a pageScaleFactor of 1, causing us to skip the call to reset the
WebPage's pageScaleFactor.
Therefore, when WebPageProxy is notified that a standard main-frame load
is committed, reset its cached notion of the pageScaleFactor.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame): Add a parameter which corresponds to FrameLoadType, so we can
determine whether a frame load is of FrameLoadTypeStandard (which matches the check to reset page scale in
WebFrameLoaderClient::didCommitLoad), so we can reset m_pageScaleFactor.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add frameLoadType parameter to didCommitLoadForFrame.
* UIProcess/WebPageProxy.messages.in: Add frameLoadType parameter to didCommitLoadForFrame.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): Pass frameLoadType parameter to didCommitLoadForFrame.
2013-01-10 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Cmd-/+ should affect PDF page scale
https://bugs.webkit.org/show_bug.cgi?id=103285
<rdar://problem/12710469>
Reviewed by Darin Adler.
Plugins which support handling page scale themselves should also handle
page zoom, as it is a very similar concept.
This patch disables text zoom in the case of a main-frame plugin which supports
page scale factor changes, as it is not needed in the PDFPlugin case
(we can't do text-only scale for PDF), but it could be added later if needed.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageZoomFactorDidChange):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
Add WebPageProxy::pageZoomFactorDidChange, to notify WebPageProxy of
out-of-band page zoom factor changes (in this case, from PluginView).
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setPageScaleFactor):
Update WebPageProxy's notion of the current page zoom whenever PluginView
is notified of a page scale factor change.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setTextZoomFactor): We don't support text zoom in plugins, but
we also don't want it to silently act on the Frame if we have a plugin that
purports to handle page scale itself. Return early if this is the case.
(WebKit::WebPage::pageZoomFactor): For plugins that support page scale factor,
we equate page scale and page zoom. Return the PluginView's page scale factor
in place of the Frame's page zoom factor.
(WebKit::WebPage::setPageZoomFactor): Make page zoom changes in the aforementioned
case affect the PluginView's page scale.
(WebKit::WebPage::setPageAndTextZoomFactors): Ditto.
2013-01-10 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Header cleanup
https://bugs.webkit.org/show_bug.cgi?id=106540
Reviewed by Andreas Kling.
* WebProcess/Plugins/PDF/PDFPlugin.mm: Remove some unneeded headers.
2013-01-10 Zan Dobersek <zandobersek@gmail.com>
Remove the ENABLE_ANIMATION_API feature define occurences
https://bugs.webkit.org/show_bug.cgi?id=106544
Reviewed by Simon Fraser.
The Animation API code was removed in r137243. The ENABLE_ANIMATION_API
feature define handling still lingers in various build systems and configurations
but is of no use, so it should be removed.
* Configurations/FeatureDefines.xcconfig:
2013-01-10 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Contents gets blurry when page is scrolled down
https://bugs.webkit.org/show_bug.cgi?id=106545
Reviewed by Kenneth Rohde Christiansen.
The bound values for scrolling also should be pixel aligned, otherwise
it leads to page contents blurriness when the page is scrolled down.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::pageDidRequestScroll):
2013-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add support for loading web process extensions
https://bugs.webkit.org/show_bug.cgi?id=105631
Reviewed by Gustavo Noronha Silva.
* GNUmakefile.am: Link to libWebCoreDOM.la and build injected
bundle lib.
* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(injectedBundleDirectory): Helper funtion to get the injected
bundle directory.
(injectedBundleFilename): Helper funtion to get the injected undle
library full path.
(createDefaultWebContext): Create the WebContext with an injected
bundle path.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_page_id): Return the identifier of the web
page associated to the web view.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for
web extensions.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add new types.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/tests/TestMain.cpp:
(main):
* UIProcess/API/gtk/tests/TestWebExtensions.cpp: Added.
(testWebExtension):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebExtensionTest.cpp: Added.
(methodCallCallback):
(webkit_web_extension_initialize):
* UIProcess/API/gtk/tests/WebKitTestBus.cpp: Added.
(WebKitTestBus::WebKitTestBus):
(WebKitTestBus::run):
(WebKitTestBus::~WebKitTestBus):
(WebKitTestBus::connection):
(onNameAppeared):
(WebKitTestBus::createProxy):
* UIProcess/API/gtk/tests/WebKitTestBus.h: Added.
(WebKitTestBus):
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: Added.
(_WebKitWebExtensionPrivate):
(webkitWebExtensionPageCreated): Create a WebKitWebPage for the
newly crated page and emit WebKitWebExtension::page-created
signals.
(webkitWebExtensionPageDestroy): Remove the page from the map.
(didCreatePage): Call webkitWebExtensionPageCreated().
(willDestroyPage): Call webkitWebExtensionPageDestroy().
(webkitWebExtensionCreate): Create a new WebKitWebExtension and
initialize the injected bundle client.
(webkit_web_extension_get_page): Return the WebKitWebPage for the
given page identifier.
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Added.
(_WebKitWebExtension):
(_WebKitWebExtensionClass):
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionDefines.h: Added.
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionPrivate.h: Added.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: Added.
(_WebKitWebPagePrivate):
(webkit_web_page_class_init):
(webkitWebPageCreate): Create a new WebKitWebPage.
(webkit_web_page_get_dom_document): Return the WebKitDOMDocument
loaded in the WebKitWebPage.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Added.
(_WebKitWebPage):
(_WebKitWebPageClass):
* WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h: Added.
* WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: Added.
* WebProcess/gtk/WebGtkExtensionManager.cpp: Added.
(WebKit::WebGtkExtensionManager::shared): Return the global shared
instance.
(WebKit::WebGtkExtensionManager::WebGtkExtensionManager):
(WebKit::WebGtkExtensionManager::appendModuleDirectories): Add
directories to scan for modules.
(WebKit::WebGtkExtensionManager::scanModules): Scan for modules.
(WebKit::WebGtkExtensionManager::initialize): Load and initialize
the modules found.
* WebProcess/gtk/WebGtkExtensionManager.h: Added.
* WebProcess/gtk/WebGtkInjectedBundleMain.cpp: Added.
(WKBundleInitialize): Initialize WebGtkExtensionManager.
2013-01-10 Huang Dongsung <luxtella@company100.net>
REGRESSION(r139189): pixel alignment must be performed in device units.
https://bugs.webkit.org/show_bug.cgi?id=106504
Reviewed by Kenneth Rohde Christiansen.
After r139189, pixel alignment is performed in UI units. If deviceScaleFactor is
fractional number, adjusted scroll position can blur non-composited layer.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::pixelAlignedFloatPoint):
2013-01-10 Arnaud Renevier <a.renevier@sisa.samsung.com>
[WK2] [Gtk] web inspector is not visible.
https://bugs.webkit.org/show_bug.cgi?id=106050
Reviewed by Carlos Garcia Campos.
Use webkitWebViewBaseAddWebInspector when adding web inspector to
webview in order to make webview aware of its existence.
Use gtk_container_add when adding web inspector wiew to its own window
because m_inspectorWindow is not a WebKitWebViewBase.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformAttach):
2013-01-09 Seokju Kwon <seokju.kwon@gmail.com>
[WK2][EFL] Add guard around NativeWebTouchEvent
https://bugs.webkit.org/show_bug.cgi?id=105846
Reviewed by Benjamin Poulain.
Fix EFL build without TOUCH_EVENTS.
* Shared/efl/NativeWebTouchEventEfl.cpp: Add TOUCH_EVENTS guard.
2013-01-09 Huang Dongsung <luxtella@company100.net>
Remove deviceScaleFactor argument in computeMinimumScaleFactorForContentContained().
https://bugs.webkit.org/show_bug.cgi?id=106500
Reviewed by Kenneth Rohde Christiansen.
deviceScaleFactor argument is not used after r139189.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::updateMinimumScaleToFit):
2013-01-09 Huang Dongsung <luxtella@company100.net>
[QT][EFL][WK2] Rename scale members in PageViewportController.
https://bugs.webkit.org/show_bug.cgi?id=106499
Reviewed by Kenneth Rohde Christiansen.
Rename from m_contentsScale to m_pageScaleFactor and from devicePixelRatio() to
deviceScaleFactor() to match terms of WebCore.
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::devicePixelRatio):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::deviceScaleFactor):
(WebKit::PageViewportController::pixelAlignedFloatPoint):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(PageViewportController):
(WebKit::PageViewportController::currentContentsScale):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
2013-01-09 KyungTae Kim <ktf.kim@samsung.com>
[WK2][soup] Get rid of LocalTerminationDisabler
https://bugs.webkit.org/show_bug.cgi?id=106510
Unreviewed build fix.
With r139257(bug 106501), the LocalTerminationDisabler was removed from WebKit::ChildProcess.
So, it should be removed on setCookiePersistentStorage, too.
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::setCookiePersistentStorage):
2013-01-09 Alexey Proskuryakov <ap@apple.com>
[WK2] Get rid of LocalTerminationDisabler
https://bugs.webkit.org/show_bug.cgi?id=106501
Reviewed by Anders Carlsson.
LocalTerminationDisabler is no-op - termination timer can't fire inside its scope
even if not stopped.
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):
* Shared/ChildProcess.h:
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManager::deleteAllEntries):
(WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
(WebKit::WebMediaCacheManager::clearCacheForHostname):
(WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::getCacheOrigins):
(WebKit::WebResourceCacheManager::clearCacheForOrigin):
(WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::deleteAllDatabases):
(WebKit::WebDatabaseManager::setQuotaForOrigin):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getSitesWithPluginData):
(WebKit::WebProcess::clearPluginSiteData):
2013-01-09 Kiran Muppala <cmuppala@apple.com>
Add user defaults to override system proxy settings for NetworkProcess on Mac
https://bugs.webkit.org/show_bug.cgi?id=104197
Reviewed by Brady Eidson.
For internal testing and debugging, it is useful to have a defaults write to set the HTTP and HTTPS proxy specific to a
WebKit2 client application and not affect the system proxy settings on Mac.
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::overrideSystemProxies): Add helper method to parse proxy URLs and populate settings dictionary passed
to WKCFNetworkSetOverrideSystemProxySettings.
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Call overrideSystemProxies if process creation parameters for
http proxy or https proxy is set.
* Shared/Network/NetworkProcessCreationParameters.cpp: Add httpProxy and httpsProxy process creation parameters on Mac.
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeNetworkProcess): Initialize httpProxy and httpsProxy process creation parameters
based on the value of WebKit2HTTPProxyDefaultsKey and WebKit2HTTPSProxyDefaultsKey user default respectively.
2013-01-09 Alexey Proskuryakov <ap@apple.com>
Local builds of NetworkProcess should have a process icon
https://bugs.webkit.org/show_bug.cgi?id=106489
Reviewed by Mark Rowe.
* Resources/WebKit.icns: Copied from Source/WebKit2/WebProcess/mac/WebKit.icns.
* WebProcess/mac/WebKit.icns: Removed.
Copied to a shared location. We don't have different icons, so just using WebKit one.
* Configurations/NetworkProcess.xcconfig:
* NetworkProcess/Info.plist:
* WebKit2.xcodeproj/project.pbxproj:
Same changes as for WebProcess.
2013-01-09 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fix a typo in in the double-tap-to-zoom logic
Rubber-stamped by Csaba Osztrogonác.
The qMin for the upper boundary of the scale was accidentally
changed to qMax in r139189, change it back to fix the Qt API tests.
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
2013-01-09 Andras Becsi <andras.becsi@digia.com>
[Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=106355
Reviewed by Kenneth Rohde Christiansen.
Since r137597 Qt uses the device pixel ratio of the underlying
platform window as the device pixel ratio in WebCore.
The tiles are rendered with the effective scale (scale adjusted with
the device scale factor) and the projection matrix is also adjusted
with the device pixel ratio when painting.
As a result we can follow the same approach as QtQuick and all the
coordinates in PageViewportController need to be in device independent
pixels (UI pixels) thus we do no longer need to adjust with the device
pixel ratio when calculating the viewport attributes.
This simplifies the logic significantly and increases robustness,
but does not allow to set a custom device pixel ratio different from
the factor of the underlying platform (eg. for testing purposes).
This patch is conceptually a follow-up of r137597 and fixes layout
and canvas size on retina display.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::innerBoundedViewportScale):
(WebKit::PageViewportController::outerBoundedViewportScale):
(WebKit::PageViewportController::pixelAlignedFloatPoint):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(WebKit::PageViewportController::currentContentsScale):
(PageViewportController):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
Adjust the viewport size with the device pixel ratio to keep previous
behaviour.
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
* UIProcess/qt/QtWebPageSGNode.cpp:
(WebKit::ContentsSGNode::clipRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
2013-01-09 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck.
* GNUmakefile.list.am: Add missing headers.
2013-01-08 Sam Weinig <sam@webkit.org>
Add Owners file.
* Owners: Added.
2013-01-08 Anders Carlsson <andersca@apple.com>
Unbreak the world.
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-08 Anders Carlsson <andersca@apple.com>
Silence a sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=106386
<rdar://problem/12976435>
Reviewed by Andreas Kling.
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-08 Sam Weinig <sam@webkit.org>
This should be camel case. Must remove to fix.
* OWNERS: Removed.
2013-01-08 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12944813> Network process temporary and cache directories are not set correctly
Reviewed by Sam Weinig.
Set DIRHELPER_USER_DIR_SUFFIX, like we do for WebProcess. Also while in this function,
enabled sandbox-style file quarantine.
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeSandbox):
2013-01-08 Anders Carlsson <andersca@apple.com>
Use correct capitalization in service name
https://bugs.webkit.org/show_bug.cgi?id=106368
Reviewed by Andreas Kling.
* WebProcess/com.apple.WebProcess.sb.in:
2013-01-08 Anders Carlsson <andersca@apple.com>
Tweak sandbox profile
https://bugs.webkit.org/show_bug.cgi?id=106362
<rdar://problem/12884745>
Reviewed by Sam Weinig.
* WebProcess/com.apple.WebProcess.sb.in:
Allow access to com.apple.CoreServices.launchservicesd.
2013-01-08 Sam Weinig <sam@webkit.org>
Add OWNERS file.
* OWNERS: Added.
2013-01-08 Mark Lam <mark.lam@apple.com>
Removed the need for the ProposedDatabase mechanism.
https://bugs.webkit.org/show_bug.cgi?id=106292.
Reviewed by Sam Weinig.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
2013-01-08 Sam Weinig <sam@webkit.org>
Remove dead Connection members in ChildProcess subclasses (and their users)
https://bugs.webkit.org/show_bug.cgi?id=106347
<rdar://problem/12973955>
Reviewed by Alexey Proskuryakov.
This also fixes a crash when entering fullscreen with a plug-in.
* PluginProcess/PluginProcess.h:
Remove dead m_connection member.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::setModalWindowIsShowing):
(WebKit::PluginProcess::setFullscreenWindowIsShowing):
Replace use of m_connection, which is dead, with parentProcessConnection().
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
Remove dead m_connection member.
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::createWebProcessConnection):
Replace use of m_connection, which is dead, with parentProcessConnection().
2013-01-07 Alexey Proskuryakov <ap@apple.com>
[WK2] NetworkProcess should have a Keychain shim
https://bugs.webkit.org/show_bug.cgi?id=106286
Reviewed by Sam Weinig.
Renamed WebProcessShim to SecItemShim. Use it with NetworkProcess, too.
* WebProcess/mac/SecItemShimLibrary.h: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.h.
* WebProcess/mac/SecItemShimLibrary.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessShim.mm.
This code lives in SecItemShim.dylib.
"Library" in the name is to avoid conflicting with SecItemShim class in WebKit2.
* Shared/mac/SecItemShim.cpp:
(WebKit::sendSecItemRequest):
(WebKit::SecItemShim::initialize):
* Shared/mac/SecItemShim.h:
Take a ChildProcess pointer at initialization instead of using using WebProcess::shared().
* UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::addDYLDEnvironmentAdditions):
Use SecItemShim with NetworkProcess too.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeConnection):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeProcess):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMainDelegate::doPreInitializationWork):
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(webProcessServiceMain):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
* WebProcess/mac/WebProcessShim.h: Removed.
* WebProcess/mac/WebProcessShim.mm: Removed.
* WebProcessService/Info.plist:
2013-01-08 Kihong Kwon <kihong.kwon@samsung.com>
Add DeviceProximityController to support Device Proximity Events.
https://bugs.webkit.org/show_bug.cgi?id=97630
Reviewed by Hajime Morita.
Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
But startUpdating and stopUpdating need to be implemented.
* CMakeLists.txt:
* WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.
(WebKit):
(WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::startUpdating):
(WebKit::WebDeviceProximityClient::stopUpdating):
(WebKit::WebDeviceProximityClient::hasLastData):
* WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.
(WebKit):
(WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
2013-01-03 Sergio Villar Senin <svillar@igalia.com>
[GTK] Add WebP image support
https://bugs.webkit.org/show_bug.cgi?id=105915
Reviewed by Martin Robinson.
* GNUmakefile.am: link against WebP library.
2013-01-08 Csaba Osztrogonác <ossy@webkit.org>
[Qt][Win] Unreviewed buildfix, partially revert
r139003, because Qt port still uses these files.
* Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Added.
* Platform/CoreIPC/win/ConnectionWin.cpp: Added.
* Platform/win/SharedMemoryWin.cpp: Added.
* Platform/win/WorkQueueWin.cpp: Added.
2013-01-07 Christophe Dumez <christophe.dumez@intel.com>
[CoordinatedGraphics] compositing/repaint/resize-repaint.html is failing
https://bugs.webkit.org/show_bug.cgi?id=104637
Reviewed by Noam Rosenthal.
r137526 attempted to fix excessive repainting when compositing layers
change size. However, the fix did not suffice for ports using Coordinated
Graphics because CoordinatedGraphicsLayer::setSize() was calling
setNeedsDisplay() causing a full repaint.
This patch removes the call to setNeedsDisplay() in
CoordinatedGraphicsLayer::setSize() so that we don't unconditionally
repaint CoordinatedGraphics layers when their size changes.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setSize):
2013-01-07 Christophe Dumez <christophe.dumez@intel.com>
[CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=106002
Reviewed by Noam Rosenthal.
Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
we can track invalidation in the composited layer.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
of an IntRect to setNeedsDisplayInRect() since it is what it expects.
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
2013-01-07 Anders Carlsson <andersca@apple.com>
Remove PLATFORM(WIN) #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=106279
Reviewed by Sam Weinig.
* Platform/CoreIPC/BinarySemaphore.cpp:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForSyncReply):
* Platform/CoreIPC/Connection.h:
(Client):
* Platform/Module.cpp:
(WebKit::Module::Module):
* Platform/Module.h:
(Module):
* Platform/PlatformProcessIdentifier.h:
(WebKit):
* Shared/CommandLine.h:
(CommandLine):
* Shared/FontSmoothingLevel.h:
* Shared/LayerTreeContext.h:
(LayerTreeContext):
* Shared/NativeWebKeyboardEvent.h:
(NativeWebKeyboardEvent):
* Shared/NativeWebMouseEvent.h:
(NativeWebMouseEvent):
* Shared/NativeWebWheelEvent.h:
(NativeWebWheelEvent):
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h:
(PlatformPopupMenuData):
* Shared/Plugins/PluginModuleInfo.h:
(PluginModuleInfo):
(WebKit::PluginModuleInfo::isolatedCopy):
* Shared/ShareableBitmap.h:
(ShareableBitmap):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.h:
(WebMouseEvent):
* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* Shared/WebPreferencesStore.h:
(WebKit):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* Shared/WebURLRequest.h:
* Shared/WebURLResponse.h:
* Shared/cg/ShareableBitmapCG.cpp:
(WebKit::ShareableBitmap::makeCGImageCopy):
* UIProcess/API/C/WKAPICast.h:
(WebKit::toFontSmoothingLevel):
(WebKit::toAPI):
* UIProcess/API/C/WKPage.cpp:
* UIProcess/BackingStore.h:
(BackingStore):
* UIProcess/PageClient.h:
(WebKit):
(PageClient):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebFullScreenManagerProxy.h:
(WebKit):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::creationParameters):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebKit2Prefix.h:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCopyWebArchiveFilteringSubframes):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
* WebProcess/InjectedBundle/InjectedBundle.h:
(WebKit):
(InjectedBundle):
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin):
* WebProcess/Plugins/PluginController.h:
(PluginController):
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/Plugins/PluginView.h:
(PluginView):
* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
(WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
(WebKit):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebProcess/WebCoreSupport/WebDragClient.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::respondToChangedSelection):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::updateFromElement):
* WebProcess/WebKitMain.cpp:
* WebProcess/WebPage/DrawingArea.h:
(WebKit):
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::createGraphicsContext):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
* WebProcess/WebPage/LayerTreeHost.h:
(WebCore):
(WebKit):
(LayerTreeHost):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit):
* WebProcess/WebPage/WebFrame.h:
(WebFrame):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::installPageOverlay):
(WebKit::WebPage::uninstallPageOverlay):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:
* config.h:
2013-01-07 Alexey Proskuryakov <ap@apple.com>
[WK2] Delete more obsolete Keychain code
https://bugs.webkit.org/show_bug.cgi?id=106276
Reviewed by Sam Weinig.
Deleting dead code.
* Shared/mac/KeychainAttribute.cpp: Removed.
* Shared/mac/KeychainAttribute.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:
2013-01-07 Alexey Proskuryakov <ap@apple.com>
[WK2] Merge SecItemShimMethods files into SecItemShim
https://bugs.webkit.org/show_bug.cgi?id=106278
Reviewed by Anders Carlsson.
Now that we have a SecItemShim class, there is no reason to split implementation
into a separate file.
* Shared/mac/SecItemShim.cpp:
(WebKit::responseMap):
(WebKit::generateSecItemRequestID):
(WebKit::sendSecItemRequest):
(WebKit::webSecItemCopyMatching):
(WebKit::webSecItemAdd):
(WebKit::webSecItemUpdate):
(WebKit::webSecItemDelete):
(WebKit::SecItemShim::secItemResponse):
(WebKit::SecItemShim::install):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/mac/SecItemShimMethods.h: Removed.
* WebProcess/mac/SecItemShimMethods.mm: Removed.
2013-01-07 Ryosuke Niwa <rniwa@webkit.org>
Sorted the xcodeproj file.
* WebKit2.xcodeproj/project.pbxproj:
2013-01-07 Alexey Proskuryakov <ap@apple.com>
[WK2] Make SecItemShim messages work with any process
https://bugs.webkit.org/show_bug.cgi?id=106269
Reviewed by Sam Weinig.
Add SecItemShim and SecItemShimProxy classes to manage message sending, and moved
relevant code from WebProcess(Proxy).
* DerivedSources.make:
* Platform/CoreIPC/MessageID.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
* Shared/mac/SecItemShim.cpp: Added.
(WebKit::SecItemShim::shared):
(WebKit::SecItemShim::SecItemShim):
(WebKit::SecItemShim::secItemResponse):
(WebKit::SecItemShim::install):
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h: Added.
* Shared/mac/SecItemShim.messages.in: Added.
* UIProcess/mac/SecItemShimProxy.cpp: Added.
(WebKit::SecItemShimProxy::shared):
(WebKit::SecItemShimProxy::SecItemShimProxy):
(WebKit::handleSecItemRequest):
(WebKit::dispatchFunctionOnQueue):
(WebKit::SecItemShimProxy::secItemRequest):
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h: Added.
* UIProcess/mac/SecItemShimProxy.messages.in: Added.
* UIProcess/mac/WebProcessProxyMac.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/mac/SecItemShimMethods.mm:
(WebKit::sendSeqItemRequest):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeProcess):
2013-01-07 Anders Carlsson <andersca@apple.com>
Remove Windows files from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=106264
Reviewed by Sam Weinig.
* Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
* Platform/CoreIPC/win/ConnectionWin.cpp: Removed.
* Platform/win/ModuleWin.cpp: Removed.
* Platform/win/SharedMemoryWin.cpp: Removed.
* Platform/win/WorkQueueWin.cpp: Removed.
* Shared/API/c/win/WKBaseWin.h: Removed.
* Shared/API/c/win/WKCertificateInfoWin.cpp: Removed.
* Shared/API/c/win/WKCertificateInfoWin.h: Removed.
* Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
* Shared/cg/win/ShareableBitmapCGWin.cpp: Removed.
* Shared/win/CoalescedWindowGeometriesUpdater.cpp: Removed.
* Shared/win/CoalescedWindowGeometriesUpdater.h: Removed.
* Shared/win/CommandLineWin.cpp: Removed.
* Shared/win/LayerTreeContextWin.cpp: Removed.
* Shared/win/NativeWebKeyboardEventWin.cpp: Removed.
* Shared/win/NativeWebMouseEventWin.cpp: Removed.
* Shared/win/NativeWebWheelEventWin.cpp: Removed.
* Shared/win/PlatformCertificateInfo.cpp: Removed.
* Shared/win/PlatformCertificateInfo.h: Removed.
* Shared/win/ShareableBitmapWin.cpp: Removed.
* Shared/win/WebCoreArgumentCodersWin.cpp: Removed.
* Shared/win/WebEventFactory.cpp: Removed.
* Shared/win/WebEventFactory.h: Removed.
* Shared/win/WebKitBundle.cpp: Removed.
* Shared/win/WebKitBundle.h: Removed.
* Shared/win/WebURLRequestWin.cpp: Removed.
* Shared/win/WebURLResponseWin.cpp: Removed.
* Shared/win/WindowGeometry.cpp: Removed.
* Shared/win/WindowGeometry.h: Removed.
* UIProcess/API/C/win/WKAPICastWin.h: Removed.
* UIProcess/API/C/win/WKContextPrivateWin.h: Removed.
* UIProcess/API/C/win/WKContextWin.cpp: Removed.
* UIProcess/API/C/win/WKView.cpp: Removed.
* UIProcess/API/C/win/WKView.h: Removed.
* UIProcess/API/C/win/WKViewPrivate.cpp: Removed.
* UIProcess/API/C/win/WKViewPrivate.h: Removed.
* UIProcess/Launcher/win/ProcessLauncherWin.cpp: Removed.
* UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Removed.
* UIProcess/win/BackingStoreWin.cpp: Removed.
* UIProcess/win/TextCheckerWin.cpp: Removed.
* UIProcess/win/WebContextMenuProxyWin.cpp: Removed.
* UIProcess/win/WebContextMenuProxyWin.h: Removed.
* UIProcess/win/WebContextWin.cpp: Removed.
* UIProcess/win/WebFullScreenManagerProxyWin.cpp: Removed.
* UIProcess/win/WebInspectorProxyWin.cpp: Removed.
* UIProcess/win/WebPageProxyWin.cpp: Removed.
* UIProcess/win/WebPopupMenuProxyWin.cpp: Removed.
* UIProcess/win/WebPopupMenuProxyWin.h: Removed.
* UIProcess/win/WebProcessProxyWin.cpp: Removed.
* UIProcess/win/WebUndoClient.cpp: Removed.
* UIProcess/win/WebUndoClient.h: Removed.
* UIProcess/win/WebView.cpp: Removed.
* UIProcess/win/WebView.h: Removed.
* WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Removed.
* WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Removed.
* WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Removed.
* WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
* WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebDragSource.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebDragSource.h: Removed.
* WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Removed.
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Removed.
* WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Removed.
* WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Removed.
* WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Removed.
* WebProcess/WebPage/ca/win/WKCACFViewWindow.cpp: Removed.
* WebProcess/WebPage/ca/win/WKCACFViewWindow.h: Removed.
* WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Removed.
* WebProcess/WebPage/win/LayerTreeHostWin.cpp: Removed.
* WebProcess/WebPage/win/WebInspectorWin.cpp: Removed.
* WebProcess/WebPage/win/WebPageWin.cpp: Removed.
* WebProcess/win/WebProcessMainWin.cpp: Removed.
* WebProcess/win/WebProcessWin.cpp: Removed.
2013-01-07 Xianzhu Wang <wangxianzhu@chromium.org>
Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths
https://bugs.webkit.org/show_bug.cgi?id=105546
Reviewed by James Robinson.
Export the new symbol.
* win/WebKit2.def.in:
2013-01-07 Mike West <mkwst@chromium.org>
Make the IFRAME_SEAMLESS flag runtime-enabled.
https://bugs.webkit.org/show_bug.cgi?id=106213
Reviewed by Ojan Vafai.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetSeamlessIFramesEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSeamlessIFramesEnabled):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
Add a toggle for seamless IFrames to InjectedBundle, and set it to
true when beginning testing.
2013-01-07 Alexey Proskuryakov <ap@apple.com>
[WK2] Remove more obsolete shim code
https://bugs.webkit.org/show_bug.cgi?id=106248
Reviewed by Anders Carlsson.
Removing KeychainItemShimCallbacks, and SecItemRequestData::CopyContent, which was
only needed for that obsolete version of shim.
We now use WebProcessSecItemShimCallbacks.
* Shared/mac/SecItemRequestData.h:
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::handleSecItemRequest):
* WebProcess/mac/WebProcessShim.h:
2013-01-05 Sam Weinig <sam@webkit.org>
Merge child process main functions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=106192
Reviewed by Anders Carlsson.
To reduce copied code, this merges the Mac main functions for the WebProcess,
NetworkProcess, PluginProcess, and SharedWorkerProcess. Since slight variations
are needed, it adds a delegate class for hooks into the main function that each
process can override if necessary.
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
Move defaults registration here from PluginProcessMainMac.
* PluginProcess/mac/PluginProcessMainMac.mm:
(PluginProcessMainDelegate):
Add a delegate for the new shared main function that does does PluginProcess
specific work.
(WebKit::PluginProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal and createPluginMIMETypesPreferences special mode
to this pre-initialization hook.
(WebKit::PluginProcessMainDelegate::doPostRunWork):
Move private temporary and cache directories clean up to this post run hook.
(WebKit::PluginProcessMain):
Call the ChildProcessMain shared main function with the PluginProcess as the process
to initialize and PluginProcessMainDelegate as the main delegate.
* Shared/mac/ChildProcessMain.h: Added.
(ChildProcessMainDelegate):
ChildProcessMainDelegate is a helper class that process can subclass to hook into
the main function.
(WebKit::ChildProcessMain):
Add a single version of the "main" function that uses the ChildProcessMainDelegate to
allow processes to hook into it.
* Shared/mac/ChildProcessMain.mm:
(WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate):
(WebKit::ChildProcessMainDelegate::installSignalHandlers):
(WebKit::ChildProcessMainDelegate::doPreInitializationWork):
(WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
(WebKit::ChildProcessMainDelegate::getClientIdentifier):
(WebKit::ChildProcessMainDelegate::getClientProcessName):
(WebKit::ChildProcessMainDelegate::doPostRunWork):
Add default implementations of the delegate hooks, most processes should be able to
use the defaults.
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
* WebProcess/mac/WebProcessMainMac.mm:
(WebProcessMainDelegate):
Add a delegate for the new shared main function that does does WebProcess
specific work.
(WebKit::WebProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal to this this pre-initialization hook.
(WebKit::WebProcessMainDelegate::getConnectionIdentifier):
A custom getConnectionIdentifier is necessary for the WebProcess to keep support for having the WebProcess
be able to launch the UIProcess (for debugging purposes).
(WebKit::WebProcessMainDelegate::getClientIdentifier):
For the same reasons as about, a custom getClientIdentifier is needed.
(WebKit::WebProcessMain):
Call the ChildProcessMain shared main function with the WebProcess as the process
to initialize and WebProcessMainDelegate as the main delegate.
2013-01-07 Simon Fraser <simon.fraser@apple.com>
Make WKViews work when layer-backed
https://bugs.webkit.org/show_bug.cgi?id=106166
Reviewed by Sam Weinig.
When not in TileCache mode, WebKit2 views had redraw problems on scrolling,
if layer-backed.
The issue is that the DrawingAreaProxy code tries to optimize scrolling by
calling -scrollRect:by: on the WKView (an NSView) to copy bits, rather than
repainting the entire view. However, -scrollRect:by: does nothing for NSViews
that have layers.
Fix by plumbing through a canScrollView() function which PageClientImpl()
implements, returning true if the view does not have layer backing.
When canScrollView() is false, DrawingAreaProxyImpl::incorporateUpdate()
dirties the entire view.
* UIProcess/API/gtk/PageClientImpl.h:
(WebKit::PageClientImpl::canScrollView):
* UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::canScrollView):
* UIProcess/API/qt/raw/qrawwebview_p_p.h:
(QRawWebViewPrivate::canScrollView):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::incorporateUpdate):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canScrollView):
* UIProcess/WebPageProxy.h:
* UIProcess/efl/PageClientBase.h:
(WebKit::PageClientBase::canScrollView):
* UIProcess/qt/QtPageClient.h:
(WebKit::QtPageClient::canScrollView):
* UIProcess/win/WebView.h:
(WebKit::WebView::canScrollView):
2013-01-04 Sam Weinig <sam@webkit.org>
Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes
https://bugs.webkit.org/show_bug.cgi?id=106163
Reviewed by Darin Adler.
Adds ChildProcess::initializeProcessName() and the catchall ChildProcess::initializeProcess()
as the last pieces to have all the initialization from WebProcessInitialization and NetworkProcessInitialization
captured in ChildProcess and derived classes.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* NetworkProcess/mac/NetworkProcessInitialization.h: Removed.
* NetworkProcess/mac/NetworkProcessInitialization.mm: Removed.
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeProcess):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessQt.cpp:
(WebKit::PluginProcess::platformInitializeProcess):
(WebKit::PluginProcess::platformInitializePluginProcess):
* PluginProcess/unix/PluginProcessUnix.cpp:
(WebKit::PluginProcess::platformInitializeProcess):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeProcess):
(WebKit::ChildProcess::initializeProcessName):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::initializeConnection):
* Shared/ChildProcess.h:
(ChildProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::initializeSandbox):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/mac/WebProcessInitialization.h: Removed.
* WebProcess/mac/WebProcessInitialization.mm: Removed.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
2013-01-04 Sam Weinig <sam@webkit.org>
Fix failing API test.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::initializeWebProcess):
The WebConnectionToUIProcess needs to be initialized before the injected bundle is,
so that if the user tries to use it, its there.
2013-01-04 Sam Weinig <sam@webkit.org>
Consolidate all the one time initialization functions into a single InitializeWebKit2() super function
https://bugs.webkit.org/show_bug.cgi?id=106161
Reviewed by Simon Fraser.
Adds InitializeWebKit2 and uses it.
* CMakeLists.txt:
* GNUmakefile.list.am:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessInitialization.mm:
(WebKit::initializeNetworkProcess):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* Shared/WebKit2Initialize.cpp: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
(WebKit::InitializeWebKit2):
* Shared/WebKit2Initialize.h: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
(WebKit):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::initializeWebProcess):
2013-01-04 Sam Weinig <sam@webkit.org>
Follow up to https://bugs.webkit.org/show_bug.cgi?id=106144, fixing some
of Alexey's review comments.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):
* Shared/ChildProcess.h:
(WebKit::ChildProcess::parentProcessConnection):
* SharedWorkerProcess/SharedWorkerProcess.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::addVisitedLink):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::getSitesWithPluginData):
(WebKit::WebProcess::clearPluginSiteData):
(WebKit::WebProcess::addPlugInAutoStartOrigin):
(WebKit::WebProcess::plugInDidReceiveUserInteraction):
(WebKit::WebProcess::getWebCoreStatistics):
2013-01-04 Sam Weinig <sam@webkit.org>
Consolidate process initialization in ChildProcess
https://bugs.webkit.org/show_bug.cgi?id=106144
Reviewed by Alexey Proskuryakov.
Consolidate more functionality down into ChildProcess.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::initializeSandbox):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/mac/NetworkProcessInitialization.h:
* NetworkProcess/mac/NetworkProcessInitialization.mm:
(WebKit::initializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::initializePluginProcess):
(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeShim):
(WebKit::initializeCocoaOverrides):
(WebKit::PluginProcess::platformInitialize):
(WebKit::PluginProcess::platformInitializePluginProcess):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessQt.cpp:
(WebKit::PluginProcess::platformInitializePluginProcess):
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* PluginProcess/unix/PluginProcessUnix.cpp:
(WebKit::PluginProcess::platformInitializePluginProcess):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess):
(WebKit::watchdogCallback):
(WebKit::didCloseOnConnectionWorkQueue):
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeConnection):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::terminate):
* Shared/ChildProcess.h:
(ChildProcessInitializationParameters):
(ChildProcess):
(WebKit::ChildProcess::connection):
(WebKit::ChildProcess::destinationID):
(WebKit::ChildProcess::messageReceiverMap):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
(WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::initializeSandbox):
* WebProcess/WebProcess.h:
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk):
* WebProcess/mac/WebProcessInitialization.h:
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::initializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitialize):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
* WebProcess/qt/WebProcessMainQt.cpp:
(WebKit::WebProcessMainQt):
2013-01-04 Tim Horton <timothy_horton@apple.com>
[wk2] Remove non-visible tiles from the layer tree
https://bugs.webkit.org/show_bug.cgi?id=106061
<rdar://problem/12761821>
Reviewed by Simon Fraser.
Add a setting to enable aggressive retention of TileCache tiles. If enabled,
TileCache will generally try to keep around all tiles. This setting is off by default.
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAggressiveTileRetentionEnabled):
(WKPreferencesGetAggressiveTileRetentionEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Forward the setting to the TiledBacking.
2013-01-04 Sam Weinig <sam@webkit.org>
Make process initialization more uniform by renaming initialization methods and removing extraneous parameters
https://bugs.webkit.org/show_bug.cgi?id=106120
Reviewed by Brady Eidson.
Rename FooProcess::initialize() -> FooProcess::initializeConnection() and removes
the RunLoop parameter since it is always the same the as RunLoop::main().
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeConnection):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* NetworkProcess/mac/NetworkProcessInitialization.mm:
(WebKit::initializeNetworkProcess):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeConnection):
* PluginProcess/PluginProcess.h:
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::PluginProcessMain):
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::initializeConnection):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
2013-01-04 Adam Klein <adamk@chromium.org>
Remove ENABLE_MUTATION_OBSERVERS #define
https://bugs.webkit.org/show_bug.cgi?id=105459
Reviewed by Ryosuke Niwa.
* Configurations/FeatureDefines.xcconfig:
2013-01-04 Carlos Garcia Campos <cgarcia@igalia.com>
[WK2] [Gtk] crash when web inspector is attached, and window height is reduced.
https://bugs.webkit.org/show_bug.cgi?id=106052
Reviewed by Martin Robinson.
Do not allocate more size for the inspector view than its parent
size. Also make sure that the view size is always at least 1.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(resizeWebKitWebViewBaseFromAllocation):
2013-01-04 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][Qt] Make compositing messages async again
https://bugs.webkit.org/show_bug.cgi?id=106082
Reviewed by Simon Hausmann.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::cancelComposition):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
2013-01-04 Christophe Dumez <christophe.dumez@intel.com>
Regression(r138728): Causes crashes on the build bots
https://bugs.webkit.org/show_bug.cgi?id=106083
Reviewed by Simon Hausmann.
Update encodeTimingFunction() to encode the x/y members only
if the bezierPreset is set to custom. This is needed because
decodeTimingFunction() only decodes x/y members if the
bezierPreset is set to custom.
This fixes assertion hits on the debug build bots.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::encodeTimingFunction):
2013-01-04 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement
https://bugs.webkit.org/show_bug.cgi?id=106012
Reviewed by Martin Robinson.
* UIProcess/API/C/soup/WKContextSoup.cpp:
(WKContextGetSoupRequestManager):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveURIRequest):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::supplementName):
(WebKit):
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::initializeClient):
(WebKit::WebSoupRequestManagerProxy::contextDestroyed):
(WebKit::WebSoupRequestManagerProxy::processDidClose):
(WebKit::WebSoupRequestManagerProxy::refWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::derefWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::registerURIScheme):
(WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
2013-01-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Remove unneeded EwkViewImpl::informLoadCommitted()
https://bugs.webkit.org/show_bug.cgi?id=106010
Reviewed by Gyuyoung Kim.
Removed EwkViewImpl::informLoadCommitted() method to simplify the code.
* UIProcess/API/efl/EwkViewImpl.cpp:
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
2013-01-03 Jon Lee <jonlee@apple.com>
REGRESSION(r138729): crash and assertion failures in WebKit::WebProcess::plugInDidReceiveUserInteraction
https://bugs.webkit.org/show_bug.cgi?id=106042
<rdar://problem/12953469>
Reviewed by Brady Eidson.
The assertion is hit if plugin snapshotting is disabled, and the user interacts with a plug-in that
comes from an origin not found in the cached dictionary. The proper fix is to check for whether the
setting is enabled. Otherwise, that origin should be in the dictionary since the plugin is running.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginDidReceiveUserInteraction): Check for the setting, and avoid the whole code
path if snapshotting is disabled.
2013-01-03 Roger Fong <roger_fong@apple.com>
Remove all traces of Windows from WebKit2 folder.
https://bugs.webkit.org/show_bug.cgi?id=105585.
Reviewed by Sam Weinig.
* win: Removed.
* win/MainWin.cpp: Removed.
* win/WebKit2.def.in: Removed.
* win/WebKit2.make: Removed.
* win/WebKit2.rc: Removed.
* win/WebKit2.submit.sln: Removed.
* win/WebKit2.vcproj: Removed.
* win/WebKit2Apple.vsprops: Removed.
* win/WebKit2CFLite.vsprops: Removed.
* win/WebKit2Common.vsprops: Removed.
* win/WebKit2Debug.vsprops: Removed.
* win/WebKit2DebugAll.vsprops: Removed.
* win/WebKit2DebugCairoCFLite.vsprops: Removed.
* win/WebKit2DirectX.vsprops: Removed.
* win/WebKit2ExportGenerator.vcproj: Removed.
* win/WebKit2ExportGeneratorBuildCmd.cmd: Removed.
* win/WebKit2ExportGeneratorCommon.vsprops: Removed.
* win/WebKit2ExportGeneratorDebug.vsprops: Removed.
* win/WebKit2ExportGeneratorDebugAll.vsprops: Removed.
* win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Removed.
* win/WebKit2ExportGeneratorPostBuild.cmd: Removed.
* win/WebKit2ExportGeneratorPreBuild.cmd: Removed.
* win/WebKit2ExportGeneratorProduction.vsprops: Removed.
* win/WebKit2ExportGeneratorRelease.vsprops: Removed.
* win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Removed.
* win/WebKit2Generated.make: Removed.
* win/WebKit2Generated.vcproj: Removed.
* win/WebKit2GeneratedCommon.vsprops: Removed.
* win/WebKit2Production.vsprops: Removed.
* win/WebKit2Release.vsprops: Removed.
* win/WebKit2ReleaseCairoCFLite.vsprops: Removed.
* win/WebKit2WebProcess.resources: Removed.
* win/WebKit2WebProcess.resources/Info.plist: Removed.
* win/WebKit2WebProcess.vcproj: Removed.
* win/WebKit2WebProcessCommon.vsprops: Removed.
* win/WebKit2WebProcessDebug.vsprops: Removed.
* win/WebKit2WebProcessDebugAll.vsprops: Removed.
* win/WebKit2WebProcessDebugCairoCFLite.vsprops: Removed.
* win/WebKit2WebProcessPostBuild.cmd: Removed.
* win/WebKit2WebProcessPreBuild.cmd: Removed.
* win/WebKit2WebProcessProduction.vsprops: Removed.
* win/WebKit2WebProcessRelease.vsprops: Removed.
* win/WebKit2WebProcessReleaseCairoCFLite.vsprops: Removed.
* win/WebKitPostBuild.cmd: Removed.
* win/WebKitPreBuild.cmd: Removed.
* win/WebKitPreLink.cmd: Removed.
* win/build-generated-files.sh: Removed.
* win/deleteButton.png: Removed.
* win/deleteButtonPressed.png: Removed.
* win/fsVideoAudioVolumeHigh.png: Removed.
* win/fsVideoAudioVolumeLow.png: Removed.
* win/fsVideoExitFullscreen.png: Removed.
* win/fsVideoPause.png: Removed.
* win/fsVideoPlay.png: Removed.
* win/missingImage.png: Removed.
* win/nullplugin.png: Removed.
* win/panEastCursor.png: Removed.
* win/panIcon.png: Removed.
* win/panNorthCursor.png: Removed.
* win/panNorthEastCursor.png: Removed.
* win/panNorthWestCursor.png: Removed.
* win/panSouthCursor.png: Removed.
* win/panSouthEastCursor.png: Removed.
* win/panSouthWestCursor.png: Removed.
* win/panWestCursor.png: Removed.
* win/resource.h: Removed.
* win/searchCancel.png: Removed.
* win/searchCancelPressed.png: Removed.
* win/searchMagnifier.png: Removed.
* win/searchMagnifierResults.png: Removed.
* win/textAreaResizeCorner.png: Removed.
* win/verticalTextCursor.png: Removed.
* win/xcopy.excludes: Removed.
* win/zoomInCursor.png: Removed.
* win/zoomOutCursor.png: Removed.
2013-01-03 Kiran Muppala <cmuppala@apple.com>
Ensure autorelease pool exists when calling WKNSProcessInfoProcessAssertionWithTypes on Mac
https://bugs.webkit.org/show_bug.cgi?id=105674
Reviewed by Sam Weinig.
The function WKNSProcessInfoProcessAssertionWithTypes returns a autoreleased object and since,
it is called during process initialization prior to the runloop being started in PluginProcess
and SharedWorkerProcess, an autorelease pool must be explictly created.
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain): Enclose process initialization code in an @autoreleasepool block.
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain): Ditto.
2013-01-03 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Unreviewed debug buildfix after r138723.
* WebProcess/qt/QtBuiltinBundle.cpp:
2013-01-02 Jon Lee <jonlee@apple.com>
Revert auto-start plugins to snapshotted plugins after a period of inactivity
https://bugs.webkit.org/show_bug.cgi?id=105973
<rdar://problem/12947865>
Reviewed by Brady Eidson.
Change the set of origin hashes maintained by the web process to a hash map that associates
a timestamp for each hash. If the plug-in's origin is marked for auto-start, we also check
it against the timestamp. If the time is later, then we consider the entry stale, and snapshot
the plug-in instead.
But, if the user interacts with the plug-in, we delay that expiration timestamp out, so that
it expires a month from first interaction. To avoid too much chatter between the web processes
and UI process, we only update the timestamp if a day a passed since the last change to the
timestamp.
* WebProcess/Plugins/PluginView.h:
(PluginView): Add a member variable to flag whether the user had interacted with the plug-in.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::PluginView): Initialize the flag to false.
(WebKit::PluginView::handleEvent): We consider mouse down, up, wheel, context menu, and keyboard
events as user interaction. Do not consider mouse enter, leave, and move events as user
interaction. Also, remove unneeded comments.
(WebKit::PluginView::pluginDidReceiveUserInteraction): If this is the first time the function is
called, tell the web process, so that the expiration timestamp can be updated.
* WebProcess/WebProcess.messages.in: Update the messages to include the expiration time.
* WebProcess/WebProcess.h:
(WebProcess): Update the cached copy of the auto-start origins to include their expiration
timestamps. Update the message signatures. Add a function to update the expiration timestamp
for a specific origin. Rename plugInAutoStartOriginsChanged to resetPlugInAutoStartOrigins.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Instead of individually adding the origins in the
provided vector, just call resetPlugInAutoStartOrigins().
(WebKit::WebProcess::isPlugInAutoStartOrigin): Check to see if the origin is in the table, and if
so, check the current time against the expiration time.
(WebKit::WebProcess::didAddPlugInAutoStartOrigin): Update the cached table.
(WebKit::WebProcess::resetPlugInAutoStartOrigins): Swap the tables between the provided parameter
and the member variable. We can safely do this because the function is called in two cases where
the parameter is afterwards thrown away: when a new web process is created, and when it is called
through an IPC message.
(WebKit::WebProcess::plugInDidReceiveUserInteraction): When invoked, we tell the UI process to
update the expiration time for the given origin if the time difference between the expiration
time and the current time is less than the threshold plugInAutoStartExpirationTimeUpdateThreshold.
* UIProcess/WebContext.messages.in: Add message that is called when the web process wants to
update the expiration timestamp for the plug-in origin.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::plugInDidReceiveUserInteraction): Forward to the provider.
* UIProcess/WebContext.h:
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::expirationTimeFromNow): Returns a new time based on the current time + 1 month.
(WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Refactor. Set the expiration time for the
added origin.
(WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Refactor.
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Refactor to include the expiration
times. Also, check the current time against the expiration time. If we are past the time, remove
the entry from the copy.
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Refactor to extract and duplicate
the provided map of origins and expiration timestamps.
(WebKit::PlugInAutoStartProvider::didReceiveUserInteraction): Look for the origin hash. If found,
update the expiration time. Update all existing web processes with the new expiration time, and
tell the context client that the hashes have changed.
* UIProcess/Plugins/PlugInAutoStartProvider.h:
(PlugInAutoStartProvider): Change the m_autoStartHashes variable to a map of a hash to its domain
entry in the auto-start table. It is used to cross-reference the auto-start table and update
the origin's expiration time.
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters): Switch the creation parameter to seed the origin table to a map.
2013-01-03 Alexis Menard <alexis@webkit.org>
Querying transition-timing-function value on the computed style does not return keywords when it should.
https://bugs.webkit.org/show_bug.cgi?id=105442
Reviewed by Simon Fraser.
Update the code to pass the animations from one process to another as
the constructor of TimingFunction changed to take an extra parameter
holding the type of the cubic-bezier form.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::encodeTimingFunction):
(CoreIPC::decodeTimingFunction):
2013-01-03 Rik Cabanier <cabanier@adobe.com>
Canvas blending tests fail on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=105943
Reviewed by Simon Fraser.
CanvasUsesAcceleratedDrawing preference was not passed to the WebProcess.
* WebProcess/InjectedBundle/InjectedBundle.cpp: Adds support for CanvasUsesAcceleratedDrawing to WK2
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2013-01-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
[Qt] Use WebPageProxy::postMessageToInjectedBundle when passing messages to a specific page in the builtin bundle
https://bugs.webkit.org/show_bug.cgi?id=105928
Reviewed by Simon Hausmann.
Simplify the code since we now can send the contents as is, instead of packaging it inside
an array that also contained the reference for the page. This was made possible after
r126311.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
(QQuickWebViewExperimental::postMessage):
Built the messages and used WebPageProxy::postMessageToInjectedBundle() directly.
* UIProcess/qt/QtWebContext.cpp: Removed functions that now are simpler and were inlined in
qquickwebview.cpp.
* UIProcess/qt/QtWebContext.h: Ditto.
* WebProcess/qt/QtBuiltinBundle.cpp:
(WebKit::QtBuiltinBundle::initialize): Used the callback that gets messages for specific
pages. Also changed the way we create the bundle client: now we fill the struct with zeros,
and then set the fields we care about. This way if another field is added to that client,
this code doesn't need to be changed.
(WebKit::QtBuiltinBundle::didReceiveMessageToPage):
(WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject): Changed to not read the page
reference from the message, since we get it in the callback already.
(WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled): Ditto.
* WebProcess/qt/QtBuiltinBundle.h:
(QtBuiltinBundle):
2013-01-03 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph sync and render.
https://bugs.webkit.org/show_bug.cgi?id=106018
Reviewed by Simon Hausmann.
The main and rendering threads are only guaranteed to be synchronised in
the updatePaintNode call. In every other cases, QQuickItems cannot be
safely accessed from the rendering thread.
Do as the first patch version in
https://bugs.webkit.org/show_bug.cgi?id=104574 was doing and copy the
ratio value directly to fix the issue.
Also add a note about the threading issue in QQuickWebPage::updatePaintNode.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::updatePaintNode):
* UIProcess/qt/QtWebPageSGNode.cpp:
(WebKit::QtWebPageSGNode::QtWebPageSGNode):
* UIProcess/qt/QtWebPageSGNode.h:
(QtWebPageSGNode):
(WebKit::QtWebPageSGNode::devicePixelRatio):
(WebKit::QtWebPageSGNode::setDevicePixelRatio):
2013-01-02 Sam Weinig <sam@webkit.org>
Stop pretending its possible to run the WebProcess in threaded mode
https://bugs.webkit.org/show_bug.cgi?id=105969
Reviewed by Alexey Proskuryakov.
- Removes WebProcess::isSeparateProcess()
- Stop storing a RunLoop on the WebProcess and just use RunLoop::main().
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::NetworkProcessConnection):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::PluginProcessConnection):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::PageOverlay):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::close):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk):
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::initializeWebProcess):
* WebProcess/qt/WebProcessMainQt.cpp:
(WebKit::WebProcessMainQt):
* WebProcess/win/WebProcessMainWin.cpp:
(WebKit::WebProcessMain):
2013-01-02 Sam Weinig <sam@webkit.org>
Factor out NetworkProcess initialization into its own function in preparation of adding a NetworkProcess service
https://bugs.webkit.org/show_bug.cgi?id=105946
Reviewed by Brady Eidson.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/mac/NetworkProcessInitialization.h: Added.
(NetworkProcessInitializationParameters):
* NetworkProcess/mac/NetworkProcessInitialization.mm: Added.
(WebKit::initializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeSandbox):
(WebKit::NetworkProcess::platformInitialize):
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
* WebKit2.xcodeproj/project.pbxproj:
2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r138403.
http://trac.webkit.org/changeset/138403
https://bugs.webkit.org/show_bug.cgi?id=105950
Fixing e138331 which was rolled out in r138403 (Requested by
rfong on #webkit).
* win/WebKit2.def.in:
2013-01-02 Ryosuke Niwa <rniwa@webkit.org>
Yet another Windows build fix attempt. Try exporting more symbols.
* win/WebKit2.def.in:
2013-01-02 Alexey Proskuryakov <ap@apple.com>
REGRESSION (r138464): Safari hangs when opening Privacy preferences
https://bugs.webkit.org/show_bug.cgi?id=105933
Reviewed by Sam Weinig.
Quick and dirty fix - added a special case for main thread. But I'm not sure if
dispatch_sync on main queue is really the best idiom here.
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::getPluginInfoFromCarbonResources):
2013-01-02 Ryosuke Niwa <rniwa@webkit.org>
Don't include a header that has been removed in r138413.
* WebProcess/win/WebProcessWin.cpp:
2013-01-02 Carlos Garcia Campos <cgarcia@igalia.com>
[WK2] Rename SetFrameInViewSourceMode to SetMainFrameInViewSourceMode
https://bugs.webkit.org/show_bug.cgi?id=105885
Reviewed by Martin Robinson.
This way we don't depend on a WebFrameProxy and
webkit_web_view_set_view_mode() works even if the main frame proxy
hasn't been created yet.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_set_view_mode): Call
WebPageProxy::setMainFrameInViewSourceMode() directly.
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::WebFrameProxy): Remove
setInViewSourceMode().
* UIProcess/WebFrameProxy.h:
(WebFrameProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMainFrameInViewSourceMode):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setMainFrameInViewSourceMode):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
2013-01-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
[Qt] Use WebPageGroup to create user scripts instead of Qt-specific function in WebPage
https://bugs.webkit.org/show_bug.cgi?id=105921
Reviewed by Simon Hausmann.
After r131281 the WebPageGroup.h (in UIProcess) exposes a way to add user scripts, so we can
use this directly to implement the user script functionality in Qt. The previous solution was
a Qt-port specific function in WebPage that can be removed now.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::updateUserScripts): Use WebPageGroup functions to manipulate user scripts directly.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Remove now unused function.
* UIProcess/qt/WebPageProxyQt.cpp: Ditto.
* WebProcess/WebPage/WebPage.messages.in: Ditto.
* WebProcess/WebPage/qt/WebPageQt.cpp: Remove now unused function and headers.
2013-01-02 Heikki Paajanen <heikki.paajanen@palm.com>
[Qt][WK2] Add experimental API to find text from page
https://bugs.webkit.org/show_bug.cgi?id=96481
Reviewed by Jocelyn Turcotte.
Expose findString and PageFindClient provided functionality to QtQuick
applications.
* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewExperimental::findText):
(QQuickWebViewPrivate::didFindString):
* UIProcess/API/qt/qquickwebview_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Added.
* UIProcess/qt/QtWebPageFindClient.cpp: Added.
(WebKit):
(WebKit::QtWebPageFindClient::QtWebPageFindClient):
(WebKit::QtWebPageFindClient::didFindString):
(WebKit::toQtWebPageFindClient):
(WebKit::QtWebPageFindClient::didFailToFindString):
* UIProcess/qt/QtWebPageFindClient.h: Added.
(WebKit):
(QtWebPageFindClient):
2013-01-02 Christophe Dumez <christophe.dumez@intel.com>
Regression(r138607): Causes crashes related to WebIconDatabase
https://bugs.webkit.org/show_bug.cgi?id=105909
Reviewed by Gyuyoung Kim.
Add back WebIconDatabase initialization statement
in WebContext constructor. It was removed in
r138607 and causing a lot of crashes on WebKit2.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
2012-12-31 Sam Weinig <sam@webkit.org>
Convert more classes to be WebContextSupplements
https://bugs.webkit.org/show_bug.cgi?id=105890
Reviewed by Dan Bernstein.
* UIProcess/API/C/WKContext.cpp:
(WKContextGetCookieManager):
(WKContextGetDatabaseManager):
(WKContextGetGeolocationManager):
(WKContextGetKeyValueStorageManager):
(WKContextGetMediaCacheManager):
(WKContextGetNotificationManager):
(WKContextGetResourceCacheManager):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::cookieManager):
(EwkContext::clearResourceCache):
* UIProcess/API/efl/ewk_database_manager_private.h:
(EwkDatabaseManager::create):
* UIProcess/API/efl/ewk_storage_manager_private.h:
(EwkStorageManager::create):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
(webkit_web_context_clear_cache):
(webkit_web_context_get_cookie_manager):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::supplementName):
(WebKit):
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
(WebKit::WebNotificationManagerProxy::initializeProvider):
(WebKit::WebNotificationManagerProxy::contextDestroyed):
(WebKit::WebNotificationManagerProxy::processDidClose):
(WebKit::WebNotificationManagerProxy::refWebContextSupplement):
(WebKit::WebNotificationManagerProxy::derefWebContextSupplement):
(WebKit::WebNotificationManagerProxy::didReceiveMessage):
(WebKit::WebNotificationManagerProxy::providerDidShowNotification):
(WebKit::WebNotificationManagerProxy::providerDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
(WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::removeNetworkProcessProxy):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
(WebKit::WebContext::iconDatabase):
* UIProcess/WebContextSupplement.h:
(WebKit):
(WebKit::WebContextSupplement::contextDestroyed):
(WebKit::WebContextSupplement::processDidClose):
(WebContextSupplement):
(WebKit::WebContextSupplement::shouldTerminate):
(WebKit::WebContextSupplement::ref):
(WebKit::WebContextSupplement::deref):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::supplementName):
(WebKit):
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::initializeClient):
(WebKit::WebCookieManagerProxy::contextDestroyed):
(WebKit::WebCookieManagerProxy::processDidClose):
(WebKit::WebCookieManagerProxy::shouldTerminate):
(WebKit::WebCookieManagerProxy::refWebContextSupplement):
(WebKit::WebCookieManagerProxy::derefWebContextSupplement):
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
(WebKit::WebCookieManagerProxy::startObservingCookieChanges):
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::supplementName):
(WebKit):
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
(WebKit::WebDatabaseManagerProxy::initializeClient):
(WebKit::WebDatabaseManagerProxy::contextDestroyed):
(WebKit::WebDatabaseManagerProxy::processDidClose):
(WebKit::WebDatabaseManagerProxy::refWebContextSupplement):
(WebKit::WebDatabaseManagerProxy::derefWebContextSupplement):
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
(WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::supplementName):
(WebKit):
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
(WebKit::WebGeolocationManagerProxy::initializeProvider):
(WebKit::WebGeolocationManagerProxy::contextDestroyed):
(WebKit::WebGeolocationManagerProxy::processDidClose):
(WebKit::WebGeolocationManagerProxy::refWebContextSupplement):
(WebKit::WebGeolocationManagerProxy::derefWebContextSupplement):
(WebKit::WebGeolocationManagerProxy::didReceiveMessage):
(WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
(WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
* UIProcess/WebGeolocationManagerProxy.h:
(WebGeolocationManagerProxy):
* UIProcess/WebKeyValueStorageManagerProxy.cpp:
(WebKit::WebKeyValueStorageManagerProxy::supplementName):
(WebKit):
(WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
(WebKit::WebKeyValueStorageManagerProxy::contextDestroyed):
(WebKit::WebKeyValueStorageManagerProxy::processDidClose):
(WebKit::WebKeyValueStorageManagerProxy::refWebContextSupplement):
(WebKit::WebKeyValueStorageManagerProxy::derefWebContextSupplement):
(WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::supplementName):
(WebKit):
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
(WebKit::WebMediaCacheManagerProxy::contextDestroyed):
(WebKit::WebMediaCacheManagerProxy::processDidClose):
(WebKit::WebMediaCacheManagerProxy::refWebContextSupplement):
(WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement):
(WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
(WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
(WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showNotification):
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::supplementName):
(WebKit):
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
(WebKit::WebResourceCacheManagerProxy::contextDestroyed):
(WebKit::WebResourceCacheManagerProxy::processDidClose):
(WebKit::WebResourceCacheManagerProxy::refWebContextSupplement):
(WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement):
(WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
(WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
(WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
(WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
* UIProcess/WebResourceCacheManagerProxy.h:
(WebResourceCacheManagerProxy):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
2013-01-01 Dan Bernstein <mitz@apple.com>
<rdar://problem/12942239> Update copyright strings
Reviewed by Sam Weinig.
* Info.plist:
* NetworkProcess/Info.plist:
* PluginProcess/Info.plist:
* SharedWorkerProcess/Info.plist:
* WebProcess/Info.plist:
* WebProcessService/Info.plist:
* WebProcessServiceForWebKitDevelopment/Info.plist:
2013-01-01 KwangYong Choi <ky0.choi@samsung.com>
[EFL] Enable MHTML feature
https://bugs.webkit.org/show_bug.cgi?id=105815
Reviewed by Laszlo Gombos.
Add missing include directory for ENABLE_MHTML.
* CMakeLists.txt:
2012-12-30 Sam Weinig <sam@webkit.org>
Add supplementability for WebContext
https://bugs.webkit.org/show_bug.cgi?id=105878
Reviewed by Dan Bernstein.
Add WebContextSupplement and convert WebApplicationCacheManagerProxy to it.
* UIProcess/API/C/WKContext.cpp:
(WKContextGetApplicationCacheManager):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::supplementName):
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
(WebKit::WebApplicationCacheManagerProxy::contextDestroyed):
(WebKit::WebApplicationCacheManagerProxy::processDidClose):
(WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
(WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
(WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
(WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
(WebKit::WebContext::supplement):
(WebKit::WebContext::addSupplement):
* UIProcess/WebContextSupplement.h: Added.
(WebKit::WebContextSupplement::WebContextSupplement):
(WebKit::WebContextSupplement::~WebContextSupplement):
(WebKit::WebContextSupplement::ref):
(WebKit::WebContextSupplement::deref):
(WebKit::WebContextSupplement::context):
(WebKit::WebContextSupplement::clearContext):
* WebKit2.xcodeproj/project.pbxproj:
2012-12-31 Christophe Dumez <christophe.dumez@intel.com>
[EFL[WK2] Regression(r138574): Should not allocate memory in the fork
https://bugs.webkit.org/show_bug.cgi?id=105868
Reviewed by Kenneth Rohde Christiansen.
Store prefixed executable path in a CString before the fork to
avoid allocating memory in the fork by calling String::utf8().
Allocating memory in the fork may lead to deadlocks due to
FastMalloc and the fork not inheriting the threads.
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
2012-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to set a WebKitWebView in view source mode to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=99315
Reviewed by Martin Robinson.
Add a generic API to set/get a view mode. For now there are only
two modes, Web and Source, but the API can be extended if we
eventually support other view modes like Printing for example.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSetProperty): Implement setter for view-mode
property.
(webkitWebViewGetProperty): Implement getter for view-mode
property.
(webkit_web_view_class_init): Add view-source property.
(webkit_web_view_set_view_mode): Public method to set the view
mode.
(webkit_web_view_get_view_mode): Public method to get the view
mode.
* UIProcess/API/gtk/WebKitWebView.h: Add WebKitViewMode enum.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewMode):
(beforeAll):
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::WebFrameProxy): Initialize
m_inViewSourceMode.
(WebKit::WebFrameProxy::setInViewSourceMode): Set
m_inViewSourceMode if it has changed and call
WebPageProxy::setFrameInViewSourceMode() to notify the WebProcess.
* UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::inViewSourceMode): Return whether the
frame is currently in view source mode.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setFrameInViewSourceMode): Send a message
to the WebProcess to set the given frame in view source mode or not.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add setFrameInViewSourceMode().
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setFrameInViewSourceMode): Call
setInViewSourceMode for the main frame.
* WebProcess/WebPage/WebPage.h:
(WebPage): Add setFrameInViewSourceMode().
* WebProcess/WebPage/WebPage.messages.in: Add new message
SetFrameInViewSourceMode.
2012-12-30 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Invalid use of temporary object in ProcessLauncher::launchProcess()
https://bugs.webkit.org/show_bug.cgi?id=105867
Reviewed by Kenneth Rohde Christiansen.
Fix invalid use of temporary object in ProcessLauncher::launchProcess()
for prefixedExecutablePath.
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
2012-12-29 Sam Weinig <sam@webkit.org>
Windows build fix.
* win/WebKit2Common.vsprops:
2012-12-29 Sam Weinig <sam@webkit.org>
Add supplementability to the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=105838
Reviewed by Dan Bernstein.
This patch adds a NetworkProcessSupplement, which is almost identical to
WebProcessSupplement, but has a different initialization override. It also
stops WebProcessSupplement from inheriting from MessageReceiver (and makes
everything that is a WebProcessSupplement also a MessageReceiver) as keeping
that would cause classes that need to be both WebProcessSupplements and
NetworkProcessSupplements inherit from MessageReceiver twice.
* GNUmakefile.list.am:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::downloadsAuthenticationManager):
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcess.h:
(WebKit):
(NetworkProcess):
(WebKit::NetworkProcess::supplement):
(WebKit::NetworkProcess::addSupplement):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/NetworkProcessSupplement.h: Added.
(WebKit):
(NetworkProcessSupplement):
(WebKit::NetworkProcessSupplement::~NetworkProcessSupplement):
(WebKit::NetworkProcessSupplement::initialize):
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
* WebProcess/Authentication/AuthenticationManager.h:
* WebProcess/Cookies/WebCookieManager.h:
* WebProcess/Geolocation/WebGeolocationManager.h:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
* WebProcess/MediaCache/WebMediaCacheManager.h:
* WebProcess/Notifications/WebNotificationManager.h:
* WebProcess/ResourceCache/WebResourceCacheManager.h:
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
* WebProcess/WebProcessSupplement.h:
* win/WebKit2.vcproj:
2012-12-28 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] MiniBrowser could not be launched on specific machine
https://bugs.webkit.org/show_bug.cgi?id=105844
Reviewed by Gyuyoung Kim.
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
Modified to avoid bad use of temporary object.
2012-12-28 Joone Hur <joone.hur@intel.com>
[EFL][WK2] Implement ewk_context_resource_cache_clear
https://bugs.webkit.org/show_bug.cgi?id=104782
The purpose of this API is to clear HTTP caches in local storage and
all resources cached in memory such as images, CSS, JavaScript, XSL,
and fonts.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::clearResourceCache): Call WebResourceCacheManager::ClearCacheForAllOrigins.
(ewk_context_resource_cache_clear):
* UIProcess/API/efl/ewk_context.h: Add ewk_context_resource_cache_clear.
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
2012-12-28 Mark Rowe <mrowe@apple.com>
Move logic for extracting the OS X marketing version in to WebCore
<http://webkit.org/b/105841> / <rdar://problem/10736041>
Reviewed by Dan Bernstein.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::systemMarketingVersionForUserAgentString): Call the WebCore function instead
of the WKSI function.
(WebKit::WebPageProxy::standardUserAgent):
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove the code related to the WKSI symbol.
2012-12-28 Sam Weinig <sam@webkit.org>
Fix assert seen when adding a custom protocol handler before an initial
web process has been created.
* UIProcess/WebContext.h:
(WebKit::WebContext::sendToNetworkingProcess):
2012-12-28 Martin Robinson <mrobinson@igalia.com>
[GTK][WK2] Add support for IME Composition
https://bugs.webkit.org/show_bug.cgi?id=65093
Reviewed by Carlos Garcia Campos.
Add a WebKit2 implementation of the GtkInputMethodFilter and provide
the necessary plumbing to pass composition information along with
input method events.
* GNUmakefile.list.am: Add new files to the source list.
* Shared/EditorState.cpp: The cursorRect is now passed for GTK+ as well as
Qt, so update the encode and decode methods to pass that along.
* Shared/EditorState.h: Add the cursorRect member for GTK+ as well.
* Shared/NativeWebKeyboardEvent.h:
(NativeWebKeyboardEvent): Keyboard events should also have knowledge of
the compositionResults and whether or not the event was faked for composition
purposes.
* Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.
* Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebKeyboardEvent): Copy the logic of PlatformKeyEvent,
for properly setting the windows key code and the event text from the composition
results.
* Shared/gtk/WebEventFactory.h: The createWebKeyboardEvent factory now takes a
CompositionResults argument.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::doneWithKeyEvent): Don't forward keyboard events that
were faked for composition reasons. These events originated from WebKit and should
never be passed to parent classes.
(WebKit::PageClientImpl::updateTextInputState): Plumb through the updateTextInputState
method to the WebViewBase.
* UIProcess/API/gtk/PageClientImpl.h:
(PageClientImpl): Add a updateTextInputState method.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate): Instead of having an input method context as a member
keep a WebViewBaseInputMethodFilter.
(webkitWebViewBaseRealize): Set the filter widget when the WebViewBase is realized.
(webkit_web_view_base_init): No longer create a input method context during init.
(webkitWebViewBaseFocusInEvent): Pass along focus in events to the filter.
(webkitWebViewBaseFocusOutEvent): Pass along focus out events to the filter.
(webkitWebViewBaseKeyPressEvent): Instead of passing key presses directly to the WebProcess,
filter them through the input method filter.
(webkitWebViewBaseKeyReleaseEvent): Ditto.
(webkitWebViewBaseButtonPressEvent): Notify the input method filter about button press events.
(webkitWebViewBaseGetIMContext): The input method filter owns the input method now.
(webkitWebViewBaseSetInputMethodState): Add a bit of plumbing for the PageClient.
(webkitWebViewBaseUpdateTextInputState): Ditto.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add plumbing declarations.
* UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Added. An implementation of GtkInputMethodFilter for WebKit2.
* UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Copied from Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h.
* UIProcess/PageClient.h:
(PageClient): updateInputMethod state is now for both Qt and GTK+.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged): Pass the editor state for GTK+ as well as Qt.
(WebKit::WebPageProxy::setComposition): Moved this method from WebPageProxyQt as it's used for GTK+ now as well.
(WebKit::WebPageProxy::confirmComposition): Ditto.
(WebKit::WebPageProxy::cancelComposition): Ditto.
* UIProcess/WebPageProxy.h:
(WebPageProxy): The setInputMethodState message is for GTK+ as well as Qt now.
* UIProcess/WebPageProxy.messages.in: Ditto.
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::setInputMethodState): Ditto.
* UIProcess/qt/WebPageProxyQt.cpp: Move some methods to the platform-independent file.
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: More closely match the WebKit1
logic for dealing with key events so that composition events will be handled properly.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState): Properly pass the cursorRect for GTK+.
(WebKit::targetFrameForEditing): Moved from the Qt file, because its used by GTK+ as well. They
now pass along the updated EditorState as well, just like the Mac versions.
(WebKit::WebPage::confirmComposition): Ditto.
(WebKit::WebPage::setComposition): Ditto.
(WebKit::WebPage::cancelComposition): Ditto.
* WebProcess/WebPage/WebPage.h: The above messages are now for GTK+ as well as Qt.
* WebProcess/WebPage/WebPage.messages.in: Ditto.
* WebProcess/WebPage/qt/WebPageQt.cpp: Moved some methods to the platform-independent file.
2012-12-28 Sam Weinig <sam@webkit.org>
Appease the Windows Gods.
* WebProcess/Notifications/WebNotificationManager.cpp:
2012-12-27 Sam Weinig <sam@webkit.org>
Make CustomProtocolManager a WebProcessSupplement
https://bugs.webkit.org/show_bug.cgi?id=105814
Reviewed by Dan Bernstein.
This converts CustomProtocolManager from a global singleton, to be a
supplement of the WebProcess. Since it also needs to act as a supplement
of the NetworkProcess, it adds an initialization function for the NetworkProcess
as well, while we await the arrival of the forthcoming NetworkProcessSupplement.
In addition, this moves the handling of registering and unregistering schemes
directly to the CustomProtocolManager, instead of requiring an unnecessary trip
in the ChildProcess.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(+[WKCustomProtocol canInitWithRequest:]):
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
(-[WKCustomProtocol startLoading]):
(-[WKCustomProtocol stopLoading]):
(WebKit::CustomProtocolManager::supplementName):
(WebKit::CustomProtocolManager::CustomProtocolManager):
(WebKit::CustomProtocolManager::initialize):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::registerSchemeForCustomProtocol):
(WebKit::WebContext::unregisterSchemeForCustomProtocol):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
2012-12-27 Sam Weinig <sam@webkit.org>
Convert a few other WebProcess managers to be WebProcessSupplements
https://bugs.webkit.org/show_bug.cgi?id=105812
Reviewed by Dan Bernstein.
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::supplementName):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::supplementName):
* WebProcess/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::supplementName):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::supplementName):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAlwaysAcceptCookies):
(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):
(WebKit::InjectedBundle::webNotificationID):
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::supplementName):
* WebProcess/MediaCache/WebMediaCacheManager.h:
(WebMediaCacheManager):
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::permissionLevel):
(WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
(WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::supplementName):
(WebKit::WebNotificationManager::initialize):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::supplementName):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebResourceCacheManager):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
* WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
(WebKit::WebGeolocationClient::geolocationDestroyed):
(WebKit::WebGeolocationClient::startUpdating):
(WebKit::WebGeolocationClient::stopUpdating):
* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::show):
(WebKit::WebNotificationClient::cancel):
(WebKit::WebNotificationClient::clearNotifications):
(WebKit::WebNotificationClient::notificationObjectDestroyed):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::downloadsAuthenticationManager):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::textCheckerState):
(WebKit::WebProcess::networkAccessManager):
(WebKit::WebProcess::soupRequestManager):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
2012-12-27 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
[EFL][WK2] Regression(138462) Sometimes garbage in snapshots
https://bugs.webkit.org/show_bug.cgi?id=105803
Reviewed by Kenneth Rohde Christiansen.
Instead of creating temporary buffer and then creating cairo surface
from it, create cairo surface 1st and use surface image internal buffer
to read pixels from GL buffer.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::takeSnapshot):
* UIProcess/API/efl/SnapshotImageGL.cpp:
(getImageSurfaceFromFrameBuffer):
* UIProcess/API/efl/SnapshotImageGL.h:
2012-12-27 Sam Weinig <sam@webkit.org>
Actually make use of the WebProcessSupplements by adding a supplement map to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=105804
Reviewed by Dan Bernstein.
This continues the work of adding extensibility to WebProcess by adding a supplement
map, and using it as proof of concept for WebDatabaseManager and WebKeyValueStorageManager.
- A supplement is added to WebProcess by calling:
process->addSupplement<SupplementFoo>();
- A supplement can be used accessed by calling:
process->supplement<SupplementFoo>();
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Switch to using the new supplement accessor.
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::supplementName):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::supplementName):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
Add static supplementName functions. We might want to merge this with
the message class name, but for now we have both.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
Add supplements the new way. This should eventually move to the caller
of WebProcess::initialize, so that we can reduce #ifdefs and ports have
a chance to customize.
(WebKit::WebProcess::initializeWebProcess):
Iterate the supplements to give each a chance to initialize.
* WebProcess/WebProcess.h:
(WebKit::WebProcess::supplement):
(WebKit::WebProcess::addSupplement):
Add functions to add and get WebProcessSupplements.
2012-12-26 Sam Weinig <sam@webkit.org>
Add an initial stab at a generic supplemental interface for WebProcess
https://bugs.webkit.org/show_bug.cgi?id=105779
Reviewed by Darin Adler.
This starts the process of adding a mechanism to WebProcess to extend its
functionality without actually changing it (similar to the Supplement
mechanism in WebCore). This will make it possible for ports to add functionality
that might not be needed or wanted by other ports.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::initialize):
(WebKit):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::localStorageDirectory):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::initialize):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::keyValueStorageManager):
(WebKit):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcessSupplement.h: Added.
(WebKit):
(WebProcessSupplement):
(WebKit::WebProcessSupplement::~WebProcessSupplement):
(WebKit::WebProcessSupplement::initialize):
2012-12-27 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Regression(135935) layout tests snapshots are flaky
https://bugs.webkit.org/show_bug.cgi?id=103468
Reviewed by Kenneth Rohde Christiansen.
Make sure that we wait for pending repaints before taking a
snapshot to avoid flakiness in pixel / ref tests. We also
suspend all animations before taking the snapshot to make
sure we don't wait forever for repaint events to be processed.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::takeSnapshot):
2012-12-26 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed Xmas buildfix after r138479.
* WebProcess/MediaCache/WebMediaCacheManager.h:
2012-12-25 Sam Weinig <sam@webkit.org>
Convert WebKeyValueStorageManager and WebMediaCacheManager to MessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=105751
Reviewed by Andreas Kling.
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
(WebKit::WebKeyValueStorageManager::dispatchDidGetKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
* WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
(WebKeyValueStorageManager): Remove unused m_originsLoaded member variable.
* WebProcess/MediaCache/WebMediaCacheManager.cpp:
(WebKit::WebMediaCacheManager::WebMediaCacheManager):
(WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
(WebKit::WebMediaCacheManager::clearCacheForHostname):
(WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
* WebProcess/MediaCache/WebMediaCacheManager.h:
(WebMediaCacheManager):
Convert the managers to MessageReceiver.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
Add the new managers.
2012-12-25 Sam Weinig <sam@webkit.org>
Fix the Database manager assert, again.
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit):
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::initialize):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
2012-12-25 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Manage the lifecycle of CoordinatedGraphicsLayer explicitly.
https://bugs.webkit.org/show_bug.cgi?id=104990
Reviewed by Noam Rosenthal.
Send explicit commands to the UI process to create/delete compositing
layers, instead of having the UI process decide lazily when to create
them.
Avoid creating a compositing layer at all if it was deleted in the same
cycle.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::createCompositingLayer):
(WebKit):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createCanvas):
(WebKit::LayerTreeRenderer::destroyCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::getLayerByIDIfExists):
(WebKit):
(WebKit::LayerTreeRenderer::createLayer):
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::setRootLayerID):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::ensureRootLayer):
(WebKit::LayerTreeRenderer::setLayerAnimations):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::layerByID):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
(WebKit::CoordinatedLayerTreeHost::createCompositingLayers):
(WebKit):
(WebKit::CoordinatedLayerTreeHost::deleteCompositingLayers):
(WebKit::CoordinatedLayerTreeHost::detachLayer):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2012-12-25 Sam Weinig <sam@webkit.org>
Fix Qt build.
* WebProcess/WebPage/qt/WebPageQt.cpp:
2012-12-24 Sam Weinig <sam@webkit.org>
Reduce the number of includes in WebProcess.h
https://bugs.webkit.org/show_bug.cgi?id=105709
Reviewed by Dan Bernstein.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::downloadsAuthenticationManager):
* NetworkProcess/NetworkProcess.h:
(WebKit):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
* WebProcess/FullScreen/WebFullScreenManager.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/Network/NetworkProcessConnection.cpp:
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebPage/FindController.cpp:
* WebProcess/WebPage/WebContextMenu.cpp:
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::downloadsAuthenticationManager):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::geolocationManager):
(WebKit):
(WebKit::WebProcess::applicationCacheManager):
(WebKit::WebProcess::resourceCacheManager):
(WebKit::WebProcess::cookieManager):
(WebKit::WebProcess::authenticationManager):
(WebKit::WebProcess::databaseManager):
(WebKit::WebProcess::notificationManager):
(WebKit::WebProcess::pluginProcessConnectionManager):
(WebKit::WebProcess::networkProcessConnectionClosed):
(WebKit::WebProcess::webResourceLoadScheduler):
(WebKit::WebProcess::pluginProcessCrashed):
* WebProcess/WebProcess.h:
(WebCore):
(WebKit):
(WebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
2012-12-25 Andreas Kling <akling@apple.com>
[WK2][Mac] Call Carbon resource APIs on main thread only.
<rdar://problem/11760262>
<http://webkit.org/b/105746>
Reviewed by Anders Carlsson.
The Carbon resource APIs are not thread-safe, so use a little libdispatch sugar to make
sure that plugin enumeration never calls them on a secondary thread.
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::getPluginInfoFromCarbonResourcesOnMainThread):
(WebKit::getPluginInfoFromCarbonResources):
2012-12-25 Seokju Kwon <seokju.kwon@gmail.com>
[EFL][WK2] Build breaks with --no-input-type-color
https://bugs.webkit.org/show_bug.cgi?id=105740
Reviewed by Laszlo Gombos.
* UIProcess/API/efl/EwkViewImpl.h: Add INPUT_TYPE_COLOR guard.
(EwkViewImpl):
2012-12-25 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Refactor snapshot taking code
https://bugs.webkit.org/show_bug.cgi?id=105687
Reviewed by Kenneth Rohde Christiansen.
Refactor EFL WK2 snapshot taking code to use
smart pointers when possible and follow naming
conventions.
* UIProcess/API/C/efl/WKView.cpp:
(WKViewCreateSnapshot):
* UIProcess/API/C/efl/WKView.h: Rename WKViewGetSnapshot
to WKViewCreateSnapshot to follow C API naming conventions,
since the returned value needs to be adopted.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::takeSnapshot):
* UIProcess/API/efl/EwkViewImpl.h: Have takeSnapshot() return
a cairo_surface_t instead of a WKType. The value should be
converted to a WKType at C API level.
(EwkViewImpl):
* UIProcess/API/efl/SnapshotImageGL.cpp: Use OwnArrayPtr for the
buffer to avoid manual memory handling. Remove useless call to
glBindTexture() since glReadPixels() reads pixels from the frame
buffer, not from the texture.
(getImageDataFromFrameBuffer):
* UIProcess/API/efl/SnapshotImageGL.h: Rename getImageFromCurrentTexture
to getImageDataFromFrameBuffer for consistency since we technically
return the pixel data of the image and since glReadPixels does not
actually read from the texture. Have the function return a smart
pointer instead of a raw one to avoid manual memory handling.
2012-12-25 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Find-in-page
https://bugs.webkit.org/show_bug.cgi?id=105710
<rdar://problem/12555331>
Reviewed by Alexey Proskuryakov.
Make use of PDFLayerController's find-in-page functionality to mimic WebKit's.
Add two Plugin methods, countFindMatches and findString, and make use of them
if attempting to find-in-page within a PluginDocument.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::countFindMatches): Added. We don't support find-in-page for NetscapePlugin.
(WebKit::NetscapePlugin::findString): Added. We don't support find-in-page for NetscapePlugin.
* WebProcess/Plugins/Netscape/NetscapePlugin.h: Add countFindMatches and findString.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add requisite PDFLayerController interfaces.
* WebProcess/Plugins/PDF/PDFPlugin.h: Add countFindMatches, findString, and nextMatchForString,
as well as storage for the most-recently-searched string.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::writeItemsToPasteboard):
(WebKit::PDFPlugin::countFindMatches):
(WebKit::PDFPlugin::nextMatchForString):
(WebKit::PDFPlugin::findString):
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add countFindMatches and findString.
* WebProcess/Plugins/Plugin.h: Add countFindMatches and findString.
* WebProcess/Plugins/PluginProxy.h: Add countFindMatches and findString, but since PDFPlugin
is in-process, we don't need to forward these calls to the PluginProcess.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::countFindMatches): Forward countFindMatches to the plugin.
(WebKit::PluginView::findString): Forward findString to the plugin.
* WebProcess/Plugins/PluginView.h: Add countFindMatches and findString.
* WebProcess/WebPage/FindController.cpp:
(WebKit::pluginViewForFrame): If the given frame hosts a PluginDocument, grab its PluginView.
(WebKit::FindController::countStringMatches): Forward countStringMatches to PluginView if necessary.
(WebKit::FindController::updateFindUIAfterPageScroll): Only use unmarkAllTextMatches if we're using
ordinary find-in-page and don't have a plugin. If we have a plugin, disable our overlay, as it must
be handled by the plugin itself, and request the number of matches for the search from the plugin.
(WebKit::FindController::findString): If necessary, forward findString to the plugin.
(WebKit::FindController::hideFindUI): Hide the search highlight by searching for an empty string.
2012-12-24 Laszlo Gombos <l.gombos@samsung.com>
Remove wtf/Platform.h includes from {c|cpp} files
https://bugs.webkit.org/show_bug.cgi?id=105678
Reviewed by Kentaro Hara.
Remove wtf/Platform.h from the include list as it is already
included in config.h.
* Shared/qt/QtNetworkRequestData.cpp:
2012-12-24 Sam Weinig <sam@webkit.org>
Assert fix take 2.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
2012-12-24 Sam Weinig <sam@webkit.org>
Fix WebKit2 asserting on launch.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::databaseManager):
(WebProcess):
2012-12-24 Csaba Osztrogonác <ossy@webkit.org>
[Qt][Win] Unreviewed Xmas buildfix after r138433.
* WebProcess/Cookies/WebCookieManager.h:
2012-12-23 Seokju Kwon <seokju.kwon@gmail.com>
Fix the incorrect use of preprocessor statement in API header
https://bugs.webkit.org/show_bug.cgi?id=105675
Reviewed by Sam Weinig.
Remove a preprocessor statement in WKBundlePage.h
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageGetInspector):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2012-12-23 Sam Weinig <sam@webkit.org>
Switch WebCookieManager and AuthenticationManager to use the ChildProcess rather than holding on to a Connection
https://bugs.webkit.org/show_bug.cgi?id=105703
Reviewed by Dan Bernstein.
Also switches WebCookieManager over to be a MessageReceiver while we are at it.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initialize):
(WebKit::NetworkProcess::didReceiveMessage):
* NetworkProcess/NetworkProcess.h:
(WebKit):
* WebProcess/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
* WebProcess/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit):
(WebKit::WebCookieManager::WebCookieManager):
(WebKit::WebCookieManager::didReceiveMessage):
(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::cookiesDidChange):
(WebKit::WebCookieManager::dispatchCookiesDidChange):
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
* WebProcess/Cookies/WebCookieManager.h:
(WebKit):
(WebCookieManager):
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::setCookiePersistentStorage):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAlwaysAcceptCookies):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initialize):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
(WebKit::WebProcess::cookieManager):
2012-12-23 Sam Weinig <sam@webkit.org>
Try to fix the Qt build.
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
2012-12-23 Sam Weinig <sam@webkit.org>
Remove more special cased message receiving code from WebProcess
https://bugs.webkit.org/show_bug.cgi?id=105700
Reviewed by Dan Bernstein.
Makes WebApplicationCacheManager, WebResourceCacheManager and WebDatabaseManager
CoreIPC::MessageReceivers, removes them as special cases in WebProcess.
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManager::deleteAllEntries):
(WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebKit):
(WebApplicationCacheManager):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):
(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::WebResourceCacheManager):
(WebKit::WebResourceCacheManager::getCacheOrigins):
(WebKit::WebResourceCacheManager::clearCacheForOrigin):
(WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebKit):
(WebResourceCacheManager):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit):
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::deleteAllDatabases):
(WebKit::WebDatabaseManager::setQuotaForOrigin):
(WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
(WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebKit):
(WebDatabaseManager):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
(WebKit::WebProcess::applicationCacheManager):
(WebKit::WebProcess::resourceCacheManager):
(WebKit::WebProcess::databaseManager):
2012-12-23 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12808377> Network process should respect cookie accept policy
https://bugs.webkit.org/show_bug.cgi?id=105684
Reviewed by Sam Weinig.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initialize): Tell cookie manager which connection to
make calls on. Now that the code can run in either WebProcess or NetworkProcess,
it cannot use WebProcess singleton.
(WebKit::NetworkProcess::didReceiveMessage): Dispatch WebCookieManager messages.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initialize): Tell cookie manager which connection to
make calls on.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Changed to use
WebContext::networkingProcessConnection() instead of deciding upon the connection here.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage): Call m_webContext->dispatchMessage),
as WebCookieManagerProxy handlers are registered on the context. This may seem wasteful,
but a lot of registered managers will need the ame handling soon.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::networkingProcessConnection): Added a way to get connection
to whichever process performs networking.
(WebKit::WebContext::removeNetworkProcessProxy): Invalidate cookie manager proxy,
so that expected responses could be cleared.
(WebKit::WebContext::disconnectProcess): Updated a FIXME.
* UIProcess/WebContext.h: Deleted deprecatedSharedProcess().
(WebKit::WebContext::networkingProcessConnection): Added.
(WebKit::WebContext::sendToNetworkingProcess): Added.
(WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary): Added.
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::shouldTerminate): Should not prevent WebProcess
termination when NetworkProcess is in use.
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Removed a useless ASSERT
that neiter documents expectations nor helps find bugs. Send a message to correct
process, whether WebProcess or NetworkProcess.
(WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Ditto.
(WebKit::WebCookieManagerProxy::deleteAllCookies): Ditto.
(WebKit::WebCookieManagerProxy::startObservingCookieChanges): Ditto.
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto.
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Ditto.
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): Ditto.
* WebProcess/Cookies/WebCookieManager.h:
* WebProcess/Cookies/WebCookieManager.cpp: Made the class usable in either WebProcess
or NetworkProcess.
(WebKit::WebCookieManager::setConnection): WebCookieManager now remembers which
connection to talk back on.
(WebKit::WebCookieManager::didReceiveMessage): Added an assertion that stored connection
matches the one being used to reciev messages.
(WebKit::WebCookieManager::getHostnamesWithCookies): Use the stored connection to
send a reply.
(WebKit::WebCookieManager::startObservingCookieChanges): Pass a callback function,
so that WebCore doesn't have to use a platform strategy.
(WebKit::WebCookieManager::cookiesDidChange): The new callback.
(WebKit::WebCookieManager::dispatchCookiesDidChange): Use the stored connection.
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy): Use the stored connection.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
Removed notifyCookiesChanged() which is no longer part of CookiesStrategy.
2012-12-22 Sam Weinig <sam@webkit.org>
Make CustomProtocolManager a MessageReceiver to remove more special casing
https://bugs.webkit.org/show_bug.cgi?id=105682
Reviewed by Dan Bernstein.
To avoid storing a Connection in CustomProtocolManager, which is not a great idea without
it being the Connection::Client and therefore getting death notifications, I also made
ChildProcess a MessageSender so that extensions to it, like CustomProtocolManager, can
easily send messages to the parent process.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in
the ChildProcess.
(WebKit::NetworkProcess::didReceiveMessage):
Remove the special case for CustomProtocolManager.
(WebKit::NetworkProcess::initializeNetworkProcess):
Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
* NetworkProcess/NetworkProcess.h:
Add overrides necessary for MessageSender.
* PluginProcess/PluginProcess.h:
Ditto.
* Shared/ChildProcess.h:
(ChildProcess):
Make ChildProcess a MessageSender.
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
(WebKit::CustomProtocolManager::childProcess):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(-[WKCustomProtocol startLoading]):
(-[WKCustomProtocol stopLoading]):
(WebKit::CustomProtocolManager::CustomProtocolManager):
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::connectionEstablished):
Make CustomProtocolManager a MessageReceiver and split initialization and the time when it can
start acting as protocol handler as these happen at different times now. It also now stores a
ChildProcess rather than a Connection.
* SharedWorkerProcess/SharedWorkerProcess.h:
Add overrides necessary for MessageSender.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
Initialize the shared CustomProtocolManager, which will add it to the MessageReceiverMap in
the ChildProcess.
(WebKit::WebProcess::didReceiveMessage):
Remove the special case for CustomProtocolManager.
(WebKit::WebProcess::initializeCustomProtocolManager):
Call connectionEstablished on the CustomProtocolManager to make it start working as a NSURLProtocol handler.
* WebProcess/WebProcess.h:
Add overrides necessary for MessageSender.
2012-12-20 Martin Robinson <mrobinson@igalia.com>
[GTK] Remove plugin process configuration option
https://bugs.webkit.org/show_bug.cgi?id=105564
Reviewed by Carlos Garcia Campos.
Remove the --enable-plugin-process configuration option, opting instead to
always build the plugin process when building WebKit2. It isn't very interesting
for downstream to enable or disable the plugin process. It should always be
enabled for WebKit2 and it's better for us not to have to keep a disabled plugin
process building. Additionally, the in-process plugin isn't functional, since
plugins depend on GTK+ 2 and WebKit2 depends on GTK+ 3.
* GNUmakefile.am: Remove the option.
* GNUmakefile.list.am: Remote the option.
2012-12-22 Sam Weinig <sam@webkit.org>
Give the ChildProcess a MessageReceiverMap
https://bugs.webkit.org/show_bug.cgi?id=105681
Reviewed by Dan Bernstein.
Moving the MessageReceiverMap to the ChildProcess will help shared code
between the WebProcess and NetworkProcess.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
Pass 'this' instead of the MessageReceiverMap, now that ChildProcess
can be used to access the MessageReceiverMap.
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
Remove the now extraneous MessageReceiverMap.
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess):
(WebKit):
(WebKit::ChildProcess::~ChildProcess):
(WebKit::ChildProcess::addMessageReceiver):
(WebKit::ChildProcess::removeMessageReceiver):
* Shared/ChildProcess.h:
(ChildProcess):
Add a MessageReceiverMap and helper functions from WebProcess.
* WebProcess/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
* WebProcess/Authentication/AuthenticationManager.h:
(AuthenticationManager):
Fix the FIXME, passing the ChildProcess rather than the MessageReceiverMap.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
* WebProcess/WebProcess.h:
(WebProcess):
Remove the MessageReceiverMap and helper functions.
2012-12-22 Alexey Proskuryakov <ap@apple.com>
Windows build fix.
* WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2012-12-22 Alexey Proskuryakov <ap@apple.com>
Add a separate class for networking related storage
https://bugs.webkit.org/show_bug.cgi?id=105676
Reviewed by Sam Weinig.
* NetworkProcess/NetworkConnectionToWebProcess.cpp: We no longer need to create
fake RemoteNetworkingContexts here! Use an actual default or private storage session.
* NetworkProcess/mac/NetworkProcessMainMac.mm: Updated form of WebSystemInterface.h include,
it's not a system one.
* NetworkProcess/mac/RemoteNetworkingContext.h: Expose privateBrowsingSession(),
so that NetworkConnectionToWebProcess could use it. We can generalize the interface
one we support more sessions.
* NetworkProcess/mac/RemoteNetworkingContext.mm: This class now only tracks private
browsing session, with most other code being in NetworkStorageSession.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
* WebProcess/WebProcess.cpp:
* WebProcess/efl/WebProcessMainEfl.cpp:
* WebProcess/gtk/WebProcessMainGtk.cpp:
* WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
* WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp:
* WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp:
* WebProcess/Downloads/mac/DownloadMac.mm:
* WebProcess/Network/WebResourceLoader.cpp:
Updated includes for ResourceHandle change. For some ports, the includes could be
made more tight, but I have no practical way to do that.
* WebKit2.xcodeproj/project.pbxproj: Removed WebPlatformStrategiesMac.mm.
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::deleteCookiesForHostname):
(WebKit::WebCookieManager::deleteAllCookies):
Pass a proper session instead of relying on a strategy to call back to WebKit
for default cookie storage (we don't even have strategies initialized in NetworkProcess).
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Initialize WCSI
before calling a function that now uses in in WebCore.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: We no longer need a strategy
for default cookie storage! Updated other functions to use sessions.
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
* WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Removed.
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
WebFrameNetworkingContext is now simpler, with more tracking being donre through WebCore.
2012-12-21 Elliott Sprehn <esprehn@chromium.org>
Replace documentFragmentIsShadowRoot with isTreeScope
https://bugs.webkit.org/show_bug.cgi?id=105345
Reviewed by Dimitri Glazkov.
Expose isTreeScope symbol.
* win/WebKit2.def.in:
2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r138331.
http://trac.webkit.org/changeset/138331
https://bugs.webkit.org/show_bug.cgi?id=105668
Broke Windows clean builds; can't figure out how to fix it
(Requested by rniwa on #webkit).
* win/WebKit2.def.in:
2012-12-21 Brady Eidson <beidson@apple.com>
ASSERT in WebResourceLoadScheduler::scheduleLoad with a crashed NetworkProcess.
<rdar://problem/12924845> and https://bugs.webkit.org/show_bug.cgi?id=105646
Reviewed by Alexey Proskuryakov.
If we fail to schedule a loader with the NetworkProcess it is probably because the NetworkProcess crashed.
Since these loaders will never succeed in loading we should schedule them to fail on a timer.
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::scheduleLoad):
(WebKit::WebResourceLoadScheduler::addUnschedulableLoad):
(WebKit::WebResourceLoadScheduler::unscheduledLoadTimerFired):
(WebKit::WebResourceLoadScheduler::remove):
* WebProcess/Network/WebResourceLoadScheduler.h:
2012-12-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
Unreviewed potential fix EFL/Qt test breakage on WK2
Only disable scrollbars when in fixed layout mode.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2012-12-21 Brady Eidson <beidson@apple.com>
Remove ResourceLoadScheduler::addMainResourceLoad and all related code
<rdar://problem/12925275> and https://bugs.webkit.org/show_bug.cgi?id=105644
Reviewed by Alexey Proskuryakov.
Now that main resources loads are scheduled (bug 49246) we don't need this stuff anymore.
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::remove):
(WebKit::WebResourceLoadScheduler::networkProcessCrashed):
* WebProcess/Network/WebResourceLoadScheduler.h:
2012-12-20 Sam Weinig <sam@webkit.org>
Add WebKit2 SPI to get the current selection as a WebArchive
https://bugs.webkit.org/show_bug.cgi?id=105613
Reviewed by Anders Carlsson.
* UIProcess/API/C/WKPage.cpp:
(WKPageGetSelectionAsWebArchiveData):
* UIProcess/API/C/WKPage.h:
Add SPI.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getSelectionAsWebArchiveData):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::frameWithSelection):
(WebKit::WebPage::getSelectionAsWebArchiveData):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
Pipe getter to the WebProcess and back.
2012-12-21 Brady Eidson <beidson@apple.com>
Perform cleanup in WebProcess if the NetworkProcess crashes.
<rdar://problem/12903117> and https://bugs.webkit.org/show_bug.cgi?id=105592
Reviewed by Alexey Proskuryakov.
If the NetworkProcess crashes, a whole bunch of WebResourceLoaders (and WebCore::ResourceLoaders)
might be orphaned in the WebProcess.
These loaders need to fail once it is apparent they will never finish loading.
* Shared/API/c/WKError.h: Add a new error representing an "WebKit Internal Error."
* WebProcess/WebCoreSupport/WebErrors.h:
* WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
(WebKit::internalError):
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::networkProcessCrashed): Call didFail all outstanding ResourceLoaders
and tell all WebResourceLoaders the NetworkProcess crashed.
* WebProcess/Network/WebResourceLoadScheduler.h:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::networkProcessCrashed): Call didFail with the new InternalError
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::networkProcessConnectionClosed): Tell the scheduled the NetworkProcess crashed.
2012-12-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] Never create WebCore scrollbars for EFL/WK2
https://bugs.webkit.org/show_bug.cgi?id=105632
Reviewed by Antonio Gomes.
Then creating the frame ask to not create scrollbars and
lock it so they won't be created at any later time.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2012-12-21 Seokju Kwon <seokju.kwon@gmail.com>
[EFL] Add guard around ContextMenuItemTagInspectElement
https://bugs.webkit.org/show_bug.cgi?id=105267
Reviewed by Ryosuke Niwa.
Need INSPECTOR guard for using ContextMenuItemTagInspectElement.
* UIProcess/API/efl/ewk_context_menu_item.cpp:
2012-12-21 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] TiledBackingStore: Scroll position is not reset when new page is loaded
https://bugs.webkit.org/show_bug.cgi?id=105627
Reviewed by Kenneth Rohde Christiansen.
Reset scroll position to (0,0) when new page is loaded.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
2012-12-21 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Cannot drop files/URLs on PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=105516
<rdar://problem/12729443>
Reviewed by Alexey Proskuryakov.
Add shouldAllowNavigationFromDrags to Plugin/PluginView/etc., which WebCore will
consult when dragging over a PluginDocument to decide whether or not a drag may result in navigation.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::shouldAllowNavigationFromDrags): Added, always returning false to keep existing behavior.
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin): Added.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h:
(WebKit::SimplePDFPlugin::shouldAllowNavigationFromDrags): Added, always returning true. (Simple)PDFPlugin should
navigate when dropped onto, just like an image or HTML document would.
* WebProcess/Plugins/Plugin.h:
(Plugin): Add shouldAllowNavigationFromDrags.
* WebProcess/Plugins/PluginProxy.h: Add shouldAllowNavigationFromDrags.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::shouldAllowNavigationFromDrags): Forward shouldAllowNavigationFromDrags to the plugin.
* WebProcess/Plugins/PluginView.h: Add shouldAllowNavigationFromDrags.
2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r138357.
http://trac.webkit.org/changeset/138357
https://bugs.webkit.org/show_bug.cgi?id=105622
wrong fix for the problem (the original author actually
already did this, and it's not helping) (Requested by thorton
on #webkit).
* win/WebKit2.def.in:
2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r138338.
http://trac.webkit.org/changeset/138338
https://bugs.webkit.org/show_bug.cgi?id=105621
speculative rollout because fast/dom/shadow/content-element-
distributed-nodes.html is crashing on linux debug. (Requested
by loislo on #webkit).
* win/WebKit2.def.in:
2012-12-21 Tim Horton <timothy_horton@apple.com>
Unreviewed Windows build fix after http://trac.webkit.org/changeset/138338
* win/WebKit2.def.in:
2012-12-21 Tim Horton <timothy_horton@apple.com>
Reducing print preview scale significantly causes a crash
https://bugs.webkit.org/show_bug.cgi?id=105519
<rdar://problem/12807090>
Reviewed by Alexey Proskuryakov.
The bitmap image used for print previews was being created respecting the print preview scale.
This doesn't make any sense, as the scale does not affect the size of the image required to
represent the previewed page. Instead, we should not scale the size, creating the buffer at a
size that is constant regardless of scale, and do the scaling when drawing *into* the buffer instead.
In some cases, this could cause an out-of-memory crash.
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _drawPreview:]): Rename rect to scaledPrintingRect for clarity. Compute print
preview bitmap image size from the original non-scaled drawing size and the device scale factor.
Hand the image size to drawRectToImage. Draw the image without scaling, as it's always created
at the correct size. Don't compute the scale factor from the size of the image, we can know it from WebPageProxy.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::drawRectToImage): Add a parameter to drawRectForImage, imageSize.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add a parameter to drawRectForImage, imageSize.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawRectToImage): Use imageSize to size our buffer, and scale up to make the printing rect
fit in the bitmap's bounds.
* WebProcess/WebPage/WebPage.h:
(WebPage): Add a parameter to drawRectForImage, imageSize.
* WebProcess/WebPage/WebPage.messages.in: Add a parameter to drawRectForImage, imageSize.
2012-12-20 Helder Correia <helder.correia@nokia.com>
[CoordGfx] Make single-argument AreaAllocator constructors explicit
https://bugs.webkit.org/show_bug.cgi?id=105598
Reviewed by Noam Rosenthal.
Follow the coding style for AreaAllocator and GeneralAreaAllocator.
* WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h:
(AreaAllocator):
(GeneralAreaAllocator):
2012-12-20 Elliott Sprehn <esprehn@chromium.org>
Replace documentFragmentIsShadowRoot with isTreeScope
https://bugs.webkit.org/show_bug.cgi?id=105345
Reviewed by Dimitri Glazkov.
Expose isTreeScope symbol.
* win/WebKit2.def.in:
2012-12-20 Kiran Muppala <cmuppala@apple.com>
Set timer coalescing policy for WebKit2 processes on Mac until process visible assertion handles it automatically
https://bugs.webkit.org/show_bug.cgi?id=105594
Reviewed by Mark Rowe.
* Shared/mac/ChildProcessMac.mm:
(WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
for visible applications.
(WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
2012-12-20 Anders Carlsson <andersca@apple.com>
Stop building WebKit2 for Windows
https://bugs.webkit.org/show_bug.cgi?id=105585
Reviewed by Brian Weinstein.
Remove an unneeded export.
* win/WebKit2.def.in:
2012-12-20 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Build break with latest EFL libraries.
https://bugs.webkit.org/show_bug.cgi?id=104827
Reviewed by Laszlo Gombos.
The eo EFL package is introduced and evas and ecore use it since 1.8.
While introducing Eo, EFL changed several structures of Evas and Ecore
from own specific class to Eo.
So, this patch adds FindEo and changes declaration of Evas, Evas_Object,
Ecore_Timer to build with latest EFL libraries.
* PlatformEfl.cmake: Includes eo EFL library.
* UIProcess/API/C/efl/WKAPICastEfl.h: Modified declaration of Evas_Object.
* UIProcess/API/C/efl/WKView.h: Modified declaration of Evas.
* UIProcess/efl/WebPopupMenuProxyEfl.h: Removed unnecessary declaration.
2012-12-20 Helder Correia <helder.correia@nokia.com>
[CoordGfx] Remove CoordinatedLayerUpdateInfo class forwarding
https://bugs.webkit.org/show_bug.cgi?id=105588
Reviewed by Noam Rosenthal.
There is no such class.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(WebKit):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit):
2012-12-20 Pratik Solanki <psolanki@apple.com>
Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK)
https://bugs.webkit.org/show_bug.cgi?id=105578
Reviewed by Alexey Proskuryakov.
* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:
2012-12-20 Alexey Proskuryakov <ap@apple.com>
LocalTerminationDisabler is not needed in WebCookieManager.cpp
https://bugs.webkit.org/show_bug.cgi?id=105581
Reviewed by Anders Carlsson.
All WebCookieManager functions are synchronous, and all LocalTerminationDisabler does
is enable/disable a timer that cannot fire inside the function anyway.
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::deleteCookiesForHostname):
(WebKit::WebCookieManager::deleteAllCookies):
(WebKit::WebCookieManager::startObservingCookieChanges):
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
2012-12-20 Brady Eidson <beidson@apple.com>
NetworkProcess has no need for suspend/resumePendingRequests.
<rdar://problem/12866005> and https://bugs.webkit.org/show_bug.cgi?id=105550
Reviewed by Alexey Proskuryakov.
suspend/resumePendingRequests were important in a single-process, WebKit1 API world to help prevent
client callbacks from occurring during layout/painting.
In a WebKit2 + NetworkProcess world, they aren't important.
Remove the Web->Network process messages:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
* NetworkProcess/NetworkResourceLoadScheduler.h:
For now, still keep the per-WebProcess count to help keep servePendingRequest working as WebCore intends:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::servePendingRequests):
(WebKit::WebResourceLoadScheduler::suspendPendingRequests):
(WebKit::WebResourceLoadScheduler::resumePendingRequests):
2012-12-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to set a TLS errors policy to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=104482
Reviewed by Martin Robinson.
Add an emum for TLS errors policy with values IGNORE and FAIL and
API to WebKitWebContext to set/get the policy.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Encode ignoreTLSErrors.
(WebKit::WebProcessCreationParameters::decode): Decode ignoreTLSErrors.
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters): Add ignoreTLSErrors when building
with soup network backend.
* Shared/soup/PlatformCertificateInfo.cpp:
(WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Add a
constructor that receives a ResourceError.
* Shared/soup/PlatformCertificateInfo.h:
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::encodePlatformData): Encode the
PlatformCertificateInfo as part for the ResourceError.
(CoreIPC::::decodePlatformData): Decode the
PlatformCertificateInfo and set certificate and TLS errors in the
ResourceError.
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didFailProvisionalLoadWithErrorForFrame): Call
webkitWebViewLoadFailedWithTLSErrors() if the load failed due to
TLS errors.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate): Add tlsErrorsPolicy member.
(createDefaultWebContext): Initiales tlsErrorsPolicy.
(webkit_web_context_set_tls_errors_policy): Set the TLS errors
policy notify WebContext to ignore TLS errors or not.
(webkit_web_context_get_tls_errors_policy): Return the current TLS
errors policy.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewLoadFailedWithTLSErrors): Finish the load with an
error if the TLS errors policy is FAIL.
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestSSL.cpp:
(testTLSErrorsPolicy):
(beforeAll):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialize m_ignoreTLSErrors.
* UIProcess/WebContext.h:
(WebContext): Add m_ignoreTLSErrors member.
(WebKit::WebContext::ignoreTLSErrors): Return m_ignoreTLSErrors.
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformInitializeWebProcess): Set
ignoreTLSErrors parameter.
(WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
message to the web process.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess): Set
ignoreTLSErrors parameter.
(WebKit::WebContext::setIgnoreTLSErrors): Send SetIgnoreTLSErrors
message to the web process.
(WebKit):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl): Remove the call to
ResourceHandle::setIgnoreSSLErrors().
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk): Remove the call to
ResourceHandle::setIgnoreSSLErrors().
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::setIgnoreTLSErrors): Call
ResourceHandle::setIgnoreSSLErrors().
(WebKit):
2012-12-20 Dominik Röttsches <dominik.rottsches@intel.com>
[EFL] MiniBrowser does not play Infinite Gangnam Style
https://bugs.webkit.org/show_bug.cgi?id=103531
Reviewed by Kenneth Rohde Christiansen.
WebAudio preference now defaults to switched on.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
2012-12-20 Huang Dongsung <luxtella@company100.net>
Remove GraphicsLayer::setGraphicsLayerFactory().
https://bugs.webkit.org/show_bug.cgi?id=105503
Reviewed by Kenneth Rohde Christiansen.
We don't need GraphicsLayer::setGraphicsLayerFactory() anymore. After r130302,
we have used a graphics layer factory explicitly.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
* WebProcess/qt/WebProcessMainQt.cpp:
(WebKit::WebProcessMainQt):
2012-12-20 Dominik Röttsches <dominik.rottsches@intel.com>
[WK2] WebAudio WKTR support
https://bugs.webkit.org/show_bug.cgi?id=95084
Reviewed by Kenneth Rohde Christiansen.
Implementing audio data dump support for WebKitTestRunner,
by adding the API to the IDL, enabling IPC for transferring
the audio data as bytebuffer and dumping it according
to run-webkit-tests script's expectations.
I am adding a testrunner specific bundle method to extract data
from a Uint8Array into a bytebuffer. This API is used by
WebKitTestRunner's TestRunner to extract the data into a local
variable, then sending it over IPC.
* DerivedSources.pri: Fixing Qt build by adding JSUint8Array.h header to list of forwarding headers.
* Target.pri: Adding missing WKData.* files. Qt build fix.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleCreateWKDataFromUint8Array): Added.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Adding WKBundleCreateWKDataFromUint8Array.
* WebProcess/InjectedBundle/InjectedBundle.cpp: Convert Uint8Array to WebData.
(WebKit::InjectedBundle::createWebDataFromUint8Array):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(WebKit):
(InjectedBundle):
2012-12-19 Kiran Muppala <cmuppala@apple.com>
Adopt new assertion SPI for process suppression on Mac
https://bugs.webkit.org/show_bug.cgi?id=105378
Reviewed by Mark Rowe.
Process suppression for WebKit2 child processes is currently enabled or disabled using AutomaticTermination.
This should be replaced with a new assertion SPI specific to process suppression.
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess): Remove unused member variable m_applicationIsOccluded.
* Shared/ChildProcess.h:
(WebKit::ChildProcess::applicationIsOccluded): Infer occlusion state from m_processVisibleAssertion.
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setApplicationIsOccluded): Use applicationIsOccluded() accessor to check if the
occlusion state has changed and take or release a process visible assertion accordingly.
(WebKit::ChildProcess::platformInitialize): Remove call to initializeTimerCoalescingPolicy(), since taking
a process visible assertion also sets the timer coalescing policy appropriately. Set the occlusion
state to false on initialization.
2012-12-19 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12890242> [WK2 NetworkProcess] Client doesn't receive SSL certificates
https://bugs.webkit.org/show_bug.cgi?id=105467
Reviewed by Brady Eidson.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
Pass certificate chain over IPC, so that we could ultimately send it to client
via WebPageProxy::DidCommitLoadForFrame message.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
Initialize a WKSI function we've been missing.
2012-12-19 Jon Lee <jonlee@apple.com>
Add a function to set the origin hash table
https://bugs.webkit.org/show_bug.cgi?id=105447
<rdar://problem/12910985>
Reviewed by Brian Weinstein.
Add a new API called WKContextSetPlugInAutoStartOriginHashes. It assigns the table of hashes,
keyed by main frame origin, to the WebContext. That, in turn, notifies all existing web
processes, so that each web process can update its copy of the auto-start hashes.
* UIProcess/API/C/WKContext.cpp:
(WKContextSetPlugInAutoStartOriginHashes): To clear the table, an empty dictionary must be
provided.
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setPlugInAutoStartOriginHashes): Forward to PlugInAutoStartProvider.
* UIProcess/WebContext.h:
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Clear the map and set of hashes,
and convert the data from the provided dictionary. Also add it to a temporary vector, which will
be used to pass along to all of the active web processes.
* UIProcess/Plugins/PlugInAutoStartProvider.h:
* WebProcess/WebProcess.messages.in: Add plugInAutoStartOriginsChanged. Takes in a vector of
the new set of hashes.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::plugInAutoStartOriginsChanged): Clear the existing set, and copy the new
hashes.
* WebProcess/WebProcess.h:
2012-12-18 Jon Lee <jonlee@apple.com>
Notify context client of change to table, and allow client to get a copy of it
https://bugs.webkit.org/show_bug.cgi?id=105364
<rdar://problem/12906267>
Reviewed by Brady Eidson.
Add a callback to notify the context client that the origin hashes have changed.
The client may choose to get a copy of that table and save it to disk.
* UIProcess/API/C/WKContext.cpp:
(WKContextCopyPlugInAutoStartOriginHashes): Added to the context client.
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::plugInAutoStartOriginHashes): Return a copy of the origin hash
table.
* UIProcess/WebContext.h:
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::addAutoStartOrigin): When the origin is added to
the table, notify the context client.
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Create a copy of the
table.
* UIProcess/Plugins/PlugInAutoStartProvider.h:
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::plugInAutoStartOriginHashesChanged): Call the client.
* UIProcess/WebContextClient.h:
2012-12-19 Alexis Menard <alexis@webkit.org>
Implement CSS parsing for CSS transitions unprefixed.
https://bugs.webkit.org/show_bug.cgi?id=104804
Reviewed by Dean Jackson.
Add a new flag ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED
to cover the work of unprefixing Transforms, Animations and
Transitions. It will let the possibility of each ports to turn it off
in their release branches until we're confident that these CSS
properties are ready to be unprefixed.
* Configurations/FeatureDefines.xcconfig:
2012-12-19 Kondapally Kalyan <kalyan.kondapally@intel.com>
[EFL][WK2][AC] Avoid creating an empty surface.
https://bugs.webkit.org/show_bug.cgi?id=105410
Reviewed by Kenneth Rohde Christiansen.
Ensure that the view has valid size before creating the surface.
* UIProcess/API/efl/EvasGLSurface.h:
(WebKit::EvasGLSurface::create):
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
2012-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][Qt][WK2] Going back to 47-amazing-css3-animation-demos shows nothing or wrong position
https://bugs.webkit.org/show_bug.cgi?id=104414
Reviewed by Simon Hausmann.
When contents size changes, make sure to apply any pending position
change if possible.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeContentsSize):
2012-12-19 Alberto Garcia <agarcia@igalia.com>
[GTK] [WK2] Trailing semicolon in an #include line
https://bugs.webkit.org/show_bug.cgi?id=105418
Reviewed by Xan Lopez.
* UIProcess/gtk/WebContextGtk.cpp:
Remove trailing semicolon in #include line.
2012-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] Move deviceScaleFactor to our view as it's view related
https://bugs.webkit.org/show_bug.cgi?id=105412
Reviewed by Laszlo Gombos.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::setDeviceScaleFactor):
(EwkViewImpl::transformFromScene):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_device_pixel_ratio_set):
2012-12-19 Zeno Albisser <zeno@webkit.org>
[Qt] Missing vtable for LoadStartedCatcher.
https://bugs.webkit.org/show_bug.cgi?id=105313
Properly splitting class declarations and function
definitions into headers/cpp-files.
This makes including util.moc redundant
and avoids the well known vtable issues with QObject classes.
Reviewed by Simon Hausmann.
* UIProcess/API/qt/tests/util.cpp:
(LoadSpy::LoadSpy):
(LoadSpy::onLoadingChanged):
* UIProcess/API/qt/tests/util.h:
(LoadSpy):
2012-12-19 KyungTae Kim <ktf.kim@samsung.com>
Unused parameters on WebContext.cpp
https://bugs.webkit.org/show_bug.cgi?id=105395
Reviewed by Kentaro Hara.
Because the parameters 'certficate', 'host' are not used if !ENABLE(NETWORK_PROCESS),
use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
2012-12-18 Alexey Proskuryakov <ap@apple.com>
Remove unnecessary functions from CookiesStrategy
https://bugs.webkit.org/show_bug.cgi?id=105369
Reviewed by Brady Eidson.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/Cookies/WebCookieManager.cpp: Call PlatformCookieJar directly.
Cookie messages to NetworkProcess should not be sent through WebProcess. In a future
patch, I'll make WebCookieManagerProxy message NetworkProcess instead.
2012-12-18 Jon Lee <jonlee@apple.com>
[WK2] Create a context client
https://bugs.webkit.org/show_bug.cgi?id=105316
<rdar://problem/12901762>
Reviewed by Brady Eidson.
Web contexts already have clients related to downloads or history.
Miscellaneous callbacks can be grouped into a generic client for the
web context.
* UIProcess/API/C/WKContext.cpp:
(WKContextSetClient): Set the client for the context.
* UIProcess/API/C/WKContext.h: Define a new, empty WKContextClient.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::initializeClient):
* UIProcess/WebContext.h: Add a variable for the new client. Move the
download client so that all the clients are grouped together.
(WebKit::WebContext::client): Returns the context client.
* UIProcess/WebContextClient.cpp: Added. Currently empty, but will be
filled out in a pending patch.
* UIProcess/WebContextClient.h: Added.
Add WebContextClient.{h,cpp}.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
2012-12-18 Ivan Krstić <ike@apple.com>
<rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2 plugins
Reviewed by Sam Weinig, Alexey Proskuryakov, Anders Carlsson.
Previously we assigned each PluginProcess a private temporary and
cache directory based on the bundle name of the plugin that was
running. This sometimes led to overly-long pathnames (sockets on OS X
can only be 103 characters long), and didn't provide isolation between
multiple running instances of the same plugin on behalf of different
processes. We now assign each PluginProcess its own private
temporary and cache directory regardless of which plugin it's running,
and make an attempt to clean these up when the process terminates.
We also pass the temporary directory into the sandbox
profile as a parameter, in case the plugin profile needs to apply
additional rules beyond the default read/write policy.
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
(enterSandbox):
2012-12-18 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=102579
[mac] Enable scaled cursors
Reviewed by Dean Jackson.
* Configurations/FeatureDefines.xcconfig:
2012-12-18 Joseph Pecoraro <pecoraro@apple.com>
[Mac] Add Build Phase to Check Headers for Inappropriate Macros (Platform.h macros)
https://bugs.webkit.org/show_bug.cgi?id=104279
Reviewed by David Kilzer.
Add a build phase to check the public WebKit2 headers for
inappropriate macros. Also set the executable as an input
path on the other check-* build phases.
* WebKit2.xcodeproj/project.pbxproj:
2012-12-18 Jer Noble <jer.noble@apple.com>
REGRESSION: Using the Exit Full Screen button in the menu bar to exit HTML5 / media full screen breaks Safari windows
https://bugs.webkit.org/show_bug.cgi?id=104610
Reviewed by Anders Carlsson.
When a user clicks on the menu-bar exit fullscreen button, that skips notifying the document that
the window is exiting fullscreen and tearing down the placeholder. Manually call that part of the code
when we detect that it has been skipped.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2012-12-18 Brady Eidson <beidson@apple.com>
WebProcesses often crash if they access the network after a NetworkProcess crash.
<rdar://problem/12865789> and https://bugs.webkit.org/show_bug.cgi?id=105338
Reviewed by Alexey Proskuryakov.
After a NetworkProcess crash we should try to re-establish a connection to a new NetworkProcess
when it is needed.
If that attempt fails, then the WebProcess should "cleanly" crash.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::networkConnection):
2012-12-17 Sam Weinig <sam@webkit.org>
Try to fix the Mac build.
* NetworkProcess/mac/NetworkProcessMac.mm:
2012-12-17 Halton Huo <halton.huo@intel.com>
[EFL] Add ecore_imf_evas to FindEcore.cmake
https://bugs.webkit.org/show_bug.cgi?id=105159
Reviewed by Laszlo Gombos.
* PlatformEfl.cmake: Add ECORE_IMF_EVAS_LIBRARIES to WebProcess_LIBRARIES
2012-12-17 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=103959
Reviewed by Kenneth Rohde Christiansen.
Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
It has two problem.
1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
TiledBackingStore from asynchronously sending UpdateTile message to UI
Process.
2. CreateTile and RemoveTile message can be sent to UI Process at any time.
This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
It means only during flushing layer states, CoordinatedGraphicsLayer
calls methods of TiledBackingStore, which indirectly call createTile(),
updateTile() and removeTile().
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::CoordinatedGraphicsLayer::setContentsScale):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2012-12-17 Brady Eidson <beidson@apple.com>
Can't visit sites with untrusted certs with the NetworkProcess.
<rdar://problem/12885641> and https://bugs.webkit.org/show_bug.cgi?id=105235
Reviewed by Sam Weinig.
For Mac the missing functionality is being able to tell the network layer in the
NetworkProcess to temporarily accept a certificate chain for the given host.
This patch adds some SPI supporting the way this works on Mac.
Add a message and Mac implementation for "allowSpecificHTTPSCertificateForHost":
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
Add SPI for the embedding app"
* UIProcess/API/C/WKContext.cpp:
(WKContextAllowSpecificHTTPSCertificateForHost):
* UIProcess/API/C/WKContextPrivate.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
* UIProcess/WebContext.h:
2012-12-17 Huang Dongsung <luxtella@company100.net>
[CoordinatedGraphics] Assertion hit in WebKit::LayerTreeRenderer::setLayerState()
https://bugs.webkit.org/show_bug.cgi?id=104518
Reviewed by Noam Rosenthal.
CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly() must perform
only during flushing pending layer changes in CoordinatedLayerTreeHost.
RenderLayerCompositor can call GraphicsLayer::flushCompositingState() regardless
of CoordinatedLayerTreeHost and it breaks our assumption. It means that
CoordinatedGraphicsLayer can send messages although m_waitingForUIProcess in
CoordinatedLayerTreeHost is true.
Assertion hits because of the same reason. If RenderLayerCompositor calls
flushCompositingState() before the first CoordinatedLayerTreeHost::flushPendingLayerChanges(),
SetCompositingLayerState message can be prior to SetRootCompositingLayer message.
We fix this by ensuring that we perform the layer flush only in the code
path originating from CoordinatedLayerTreeHost.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2012-12-17 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12895354> NetworkProcess should not exit after downloading
https://bugs.webkit.org/show_bug.cgi?id=105209
Reviewed by Anders Carlsson.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::shouldTerminate): This process should never voluntarily
terminate, because it keeps session auth and cookies.
2012-12-17 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] Unit tests process hanging on WK2 Release bots
https://bugs.webkit.org/show_bug.cgi?id=105021
Reviewed by Kenneth Rohde Christiansen.
Follow-up of r137605, which made it more difficult to reproduce
the race condition but doesn't entirely solve the problem. Now
we are handling only points in the middle of the fork()/exec().
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
2012-12-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] window_create doesn't receive the url
https://bugs.webkit.org/show_bug.cgi?id=105184
Reviewed by Alexis Menard.
Pass the url to the window_create method.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createNewPage):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
(createDefaultWindow):
(createWindow):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::createNewPage):
2012-12-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] TiledBackingStore: css3/device-adapt/viewport-width-not-affecting-next-page.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=105131
Reviewed by Kenneth Rohde Christiansen.
The problem was lead by truncation of the scaled result for 'contentFixedSize'.
Fixed now with using FloatSize::scale() instead of IntSize::scale().
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
2012-12-17 Oswald Buddenhagen <oswald.buddenhagen@digia.com>
[Qt] remove some unnecessary CONFIG additions
Reviewed by Simon Hausmann.
qt is already added by spec_pre.prf, warn_on and depend_includepath by
default_pre.prf.
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/WebView.pro:
2012-12-17 Oswald Buddenhagen <oswald.buddenhagen@digia.com>
[Qt] rely on automatic output directory setup
Reviewed by Simon Hausmann.
Now being a proper qt module (by virtue of having load(qt_build_config)
in .qmake.conf), webkit gets the path setup goodies for free.
This also fixes Makefile.api.Debug/Release trying to generate qrc_WebKit.cpp
at the same time, instead of the debug and release version ending up in different
directories as they should.
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/WebView.pro:
2012-12-17 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] Unit tests process hanging on WK2 Release bots
https://bugs.webkit.org/show_bug.cgi?id=105021
Reviewed by Kenneth Rohde Christiansen.
Do not allocate memory in the middle of a fork()/exec().
EFL uses global FastMalloc new operator and when we fork(), the
process is in a very delicate state. We were being lucky most of the
time, but sometimes FastMalloc enters in a busy wait and hangs
because it's data structures cannot be trusted after the fork().
This explains why sometimes we see UIProcess hanging on the bots:
they are in fact UIProcess trying to exec() into a WebProcess but
hanged just after the fork(). CMake test runner kills the original
UIProcess due to timeout and the buggy one stays forever.
* PlatformEfl.cmake:
Set the timeout back to the original value.
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
I'm keeping the original behavior, including the call to
system() when wrapping the WebProcess on Debug mode. This
should be changed to exec() in another patch.
2012-12-17 Csaba Osztrogonác <ossy@webkit.org>
Fix the Qt Windows build after r137803
https://bugs.webkit.org/show_bug.cgi?id=105152
Reviewed by Kentaro Hara.
* Shared/CacheModel.h:
2012-12-16 Tim Horton <timothy_horton@apple.com>
PDFPlugin: The "Open in Preview" HUD button should work
https://bugs.webkit.org/show_bug.cgi?id=102448
<rdar://problem/12695729>
Reviewed by Alexey Proskuryakov.
Implement the "Open in Preview" button for PDFPlugin, by moving the implementation from PDFViewController
onto WebPageProxyMac, and reusing it in PDFViewController and PDFPlugin.
* UIProcess/API/mac/PDFViewController.h:
(PDFViewController): Remove unnecessary members in favor of a UUID that identifies our PDF on disk.
* UIProcess/API/mac/PDFViewController.mm:
(WebKit::PDFViewController::openPDFInFinder): Move PDFViewController's implementation of openPDFInFinder
and related functions to WebPageProxyMac. This will allow it to be shared with PDFPlugin.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add savePDFToFileInTemporaryFolderAndOpenWithNativeApplication,
savePDFToFileInTemporaryFolderAndOpenWithNativeApplicationRaw, and openPDFFromTemporaryFolderWithNativeApplication.
Add m_temporaryPDFFiles, which is used to keep track of the filenames of PDFs that we've saved to disk.
* UIProcess/WebPageProxy.messages.in:
Add SavePDFToFileInTemporaryFolderAndOpenWithNativeApplication and OpenPDFFromTemporaryFolderWithNativeApplication.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::temporaryPDFDirectoryPath): Copied from PDFViewController. Construct the path to a
WebKitPDFs temporary directory into which PDFs to be opened with a native application are downloaded.
(WebKit::pathToPDFOnDisk): Copied from PDFViewController. Combine temporaryPDFDirectoryPath
with the suggested filename for the given PDF, creating a new filename if the file already exists.
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplicationRaw):
(WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
Save the given PDF data to a temporary file, given the suggested filename. This inserts the
filename used into m_temporaryPDFFiles, where it can later be retrieved by UUID when asked
to open the PDF again in a native application. Then, open it with NSWorkspace.
(WebKit::WebPageProxy::openPDFFromTemporaryFolderWithNativeApplication):
Open the previously saved PDF file with NSWorkspace, referenced by UUID.
We identify the file by UUID instead of name so that only the UIProcess needs
to keep track of the actual filename, and so that the WebProcess
cannot hand an arbitrary filename back to the UIProcess to open.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add openWithNativeApplication and storage for the UUID that identifies our PDF on disk.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate openWithPreview]): Forward openWithPreview to PDFPlugin's openWithNativeApplication.
(WebKit::PDFPlugin::saveToPDF):
Hand raw data to WebPage and have it send the message to WebPageProxy instead of using IPC types in PDFPlugin.
(WebKit::PDFPlugin::openWithNativeApplication):
Ask WebPage to save the current PDF to a temporary directory and open it with a native application.
If we've already downloaded the PDF (and have a non-null m_temporaryPDFUUID),
we can just open the existing file.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::savePDFToFileInDownloadsFolder): Hand the PDF data to WebPageProxy to save.
(WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication): Hand the PDF data to WebPageProxy to save and open.
* WebProcess/WebPage/WebPage.h:
(WebPage): Add savePDFToFileInDownloadsFolder and savePDFToTemporaryFolderAndOpenWithNativeApplication.
2012-12-16 Seokju Kwon <seokju.kwon@gmail.com>
[WK2] Remote Web Inspector requires the inspector
https://bugs.webkit.org/show_bug.cgi?id=105088
Reviewed by Sam Weinig.
Inspector server should not be started without inspector.
* config.h:
2012-12-16 Seokju Kwon <seokju.kwon@gmail.com>
Fix unused parameter compile warnings
https://bugs.webkit.org/show_bug.cgi?id=105089
Reviewed by Kentaro Hara.
Use UNUSED_PARAM macro to fix build warning -Wunused-parameter.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_inspector_show):
(ewk_view_inspector_close):
2012-12-16 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Header files of ewk_context_menu should be installed
https://bugs.webkit.org/show_bug.cgi?id=105069
Reviewed by Gyuyoung Kim.
* PlatformEfl.cmake:
Modified to install ewk_context_menu.h and ewk_context_menu_item.h which
are included in EWebKit2.h
2012-12-16 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12886898> Bundle uploads don't work
https://bugs.webkit.org/show_bug.cgi?id=105149
Reviewed by Sam Weinig.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFail):
Clean up generated files when they are no longer needed. This has to be done before FormData
destruction. This duplicates same work done in WebProcess, but duplicaiton is safe, and may
be helpful if one of the sides prematurely exits.
2012-12-16 Jon Lee <jonlee@apple.com>
Allow built-in PDF plugin and plugin documents to auto-start
https://bugs.webkit.org/show_bug.cgi?id=105000
<rdar://problem/12633351>
Reviewed by Sam Weinig.
Overrides PluginViewBase::shouldAlwaysAutoStart().
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::shouldAlwaysAutoStart): If there's no plug-in, return the default,
otherwise return the plug-in's behavior.
* WebProcess/Plugins/PluginView.h:
* WebProcess/Plugins/Plugin.h:
(WebKit::Plugin::shouldAlwaysAutoStart): Added. By default, return false.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Built-in PDF plug-ins should auto-start.
2012-12-16 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=104880
Reviewed by Noam Rosenthal.
This patch changes two points.
1. Remove layerByIDMap() in CoordinatedGraphicsLayer because it is unused.
2. Remove code swapping m_registeredLayers in CoordinatedLayerTreeHost because
setCoordinator(0) does not call detachLayer().
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
2012-12-16 Anders Carlsson <andersca@apple.com>
Remove the random crash thread
https://bugs.webkit.org/show_bug.cgi?id=105147
Reviewed by Sam Weinig.
Remove old crashy code.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initialize):
2012-12-16 Anders Carlsson <andersca@apple.com>
Implement authentication for downloads
https://bugs.webkit.org/show_bug.cgi?id=105146
<rdar://problem/12239483>
Reviewed by Sam Weinig.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initialize):
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::downloadsAuthenticationManager):
* NetworkProcess/NetworkProcess.h:
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
* WebProcess/Downloads/Download.cpp:
(WebKit::Download::didReceiveAuthenticationChallenge):
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::downloadsAuthenticationManager):
* WebProcess/Downloads/DownloadManager.h:
* WebProcess/Downloads/mac/DownloadMac.mm:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadsAuthenticationManager):
(WebKit::WebProcess::didReceiveSyncMessage):
* WebProcess/WebProcess.h:
2012-12-16 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Small refactor of CoordinatedLayerTreeHost and CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=104880
Reviewed by Noam Rosenthal.
Delete backing stores explicitly in ~CoordinatedLayerTreeHost().
Clarify the lifecycle of backing stores in CoordinatedGraphicsLayer.
Currently, CoordinatedGraphicsLayer::removeTile() checks if m_coordinator
exists, because ~CoordinatedLayerTreeHost() sets m_coordinator in
CoordinatedGraphicsLayer to 0. This patch purges backing stores before setting
m_coordinator to 0. This change makes code more readable.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
2012-12-16 Anders Carlsson <andersca@apple.com>
Authentication manager cleanup
https://bugs.webkit.org/show_bug.cgi?id=105144
Reviewed by Sam Weinig.
Some cleanup to make it possible to reuse the authentication manager from the network process.
* UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
(WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
(WebKit::AuthenticationChallengeProxy::useCredential):
(WebKit::AuthenticationChallengeProxy::cancel):
* UIProcess/Authentication/AuthenticationChallengeProxy.h:
(WebKit::AuthenticationChallengeProxy::create):
(AuthenticationChallengeProxy):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
* WebProcess/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
(WebKit::AuthenticationManager::setConnection):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge):
* WebProcess/Authentication/AuthenticationManager.h:
* WebProcess/Downloads/Download.cpp:
(WebKit::Download::didReceiveAuthenticationChallenge):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initialize):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::authenticationManager):
(WebProcess):
2012-12-16 Anders Carlsson <andersca@apple.com>
Rudimentary support for main resource downloads
https://bugs.webkit.org/show_bug.cgi?id=105141
Reviewed by Sam Weinig.
For now, instead of converting a main resource load into a download, just cancel it and start
a new separate download.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::downloadRequest):
Call through to the download manager.
(WebKit::NetworkProcess::cancelDownload):
Call through to the download manager.
* NetworkProcess/NetworkProcess.messages.in:
Add new messages.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
Send the cancel message to the network process when needed.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::download):
Handle the network process case.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForResponse):
Keep track of the current request when calling decidePolicyForResponse.
2012-12-16 Andy Estes <aestes@apple.com>
[WebKit2] CustomProtocolManager should intercept messages of class MessageClassCustomProtocolManager sent to the network process
https://bugs.webkit.org/show_bug.cgi?id=105137
Reviewed by Anders Carlsson.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
2012-12-16 Levi Weintraub <leviw@chromium.org>
Push pixel snapping logic into TransformState
https://bugs.webkit.org/show_bug.cgi?id=101779
Reviewed by Simon Fraser.
Eliminating use of SnapOffsetForTransforms as it's no longer needed.
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::screenRectOfContents):
2012-12-16 Anders Carlsson <andersca@apple.com>
Rename WebFrame::convertHandleToDownload to convertMainResourceLoadToDownload
https://bugs.webkit.org/show_bug.cgi?id=105134
Reviewed by Sam Weinig.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::convertMainResourceLoadToDownload):
* WebProcess/WebPage/WebFrame.h:
(WebFrame):
2012-12-15 Anders Carlsson <andersca@apple.com>
Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
https://bugs.webkit.org/show_bug.cgi?id=105122
Reviewed by Andreas Kling.
Update for WebCore changes.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
2012-12-15 Anders Carlsson <andersca@apple.com>
Another build fix.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createDownloadProxy):
2012-12-15 Andy Estes <aestes@apple.com>
[WebKit2] Have CustomProtocolManager and CustomProtocolManagerProxy store Connections for messaging
https://bugs.webkit.org/show_bug.cgi?id=105124
Reviewed by Anders Carlsson.
Remove CustomProtocolManagerProxy's assumption that all messages go to
a web process. Have it take a ChildProcessProxy instead and extract its
connection.
Similarly, remove CustomProtocolManager's assumption that all messages
go through a shared WebProcess. Initialize the shared CustomProtocolManager
with a Connection object instead.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess): Initialize the
shared CustomProtocolManager with the NetworkProcess's connection to
the UI process.
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(WebKit::CustomProtocolManager::connection): Assert m_connection is
non-0 and return it.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(+[WKCustomProtocol canInitWithRequest:]): Remove an unnecessary
namespace.
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]): Ditto.
(-[WKCustomProtocol startLoading]): Send a message on the
CustomProtocolManager's connection rather than assuming there is a
shared WebProcess in our address space.
(-[WKCustomProtocol stopLoading]): Ditto.
(WebKit::CustomProtocolManager::initialize): Initialize the shared
CustomProtocolManager with a Connection and register our custom
protocol handler with NSURLProtocol.
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(WebKit):
(CustomProtocolManagerProxy): Take a ChildProcessProxy* rather than a
WebProcessProxy*.
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): Ditto.
(WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy): Instantiate a
CustomProtocolManagerProxy for the network process.
(WebKit::NetworkProcessProxy::didReceiveMessage): Route messages of
class MessageClassCustomProtocolManagerProxy to the
CustomProtocolManagerProxy.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage): Assert that we aren't
using the network process since we've received a message from a
web process's CustomProtocolManager.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Break CustomProtocolManager
initialization out into a helper function.
(WebKit::WebProcess::initializeCustomProtocolManager): Initialize our
CustomProtocolManager.
* WebProcess/WebProcess.h:
2012-12-15 Anders Carlsson <andersca@apple.com>
Happy little Qt build fix.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::download):
2012-12-15 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12886312> Cannot upload patches to Bugzilla (<input type=file> doesn't work)
https://bugs.webkit.org/show_bug.cgi?id=105120
Reviewed by Sam Weinig.
Serialize HTTP body. ResourceRequest serialization cannot (and shouldn't) know about
body streams, as used with files.
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
2012-12-15 Anders Carlsson <andersca@apple.com>
Handle downloads in the network process
https://bugs.webkit.org/show_bug.cgi?id=105117
Reviewed by Sam Weinig.
Start using the download manager in the network process.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::startDownload):
Call through to the download manager.
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
Add StartDownload message.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::downloadManager):
Add "singleton" download manager.
(WebKit::NetworkProcess::didCreateDownload):
(WebKit::NetworkProcess::didDestroyDownload):
(WebKit::NetworkProcess::downloadProxyConnection):
Implement DownloadManager::Client.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
Call through to the message receiver map.
* WebProcess/Downloads/Download.cpp:
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::downloadProxyConnection):
* WebProcess/Downloads/DownloadManager.h:
Rename connection to downloadProxyConnection.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
When using the network process, send a message to it with the request that needs to be downloaded.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadProxyConnection):
Return the connection to the UI process.
2012-12-15 Sam Weinig <sam@webkit.org>
NSURLCache should be disabled in the WebProcess when using the NetworkProcess
<rdar://problem/12872266>
https://bugs.webkit.org/show_bug.cgi?id=105119
Reviewed by Alexey Proskuryakov.
Set the size of the NSURLCache to 0 (both disk and memory) in the WebProcess when using
the NetworkProcess.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformInitializeWebProcess):
2012-12-15 Sam Weinig <sam@webkit.org>
The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
<rdar://problem/12848505>
https://bugs.webkit.org/show_bug.cgi?id=105115
Reviewed by Anders Carlsson.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setCacheModel):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitialize):
(WebKit::memorySize):
(WebKit::volumeFreeSize):
(WebKit::NetworkProcess::platformSetCacheModel):
Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
We should eventually move the calculation of this to the WebContext so it can be done
once.
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
(NetworkProcessCreationParameters):
Add the necessary creation parameters to set up the cache.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::setCacheModel):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
* UIProcess/mac/WebContextMac.mm:
(WebKit):
(WebKit::WebContext::platformInitializeNetworkProcess):
Move initializing the NetworkProcess to just after creating (matching the WebProcess),
rather than waiting for it finish loading before sending the creation parameters.
Additionally, this moves the setting up of the creation parameters to the WebContext,
as that is where all the interesting state resides (and also matches the WebProcess).
2012-12-15 Andy Estes <aestes@apple.com>
[WebKit2] Register the custom protocol handler in the network process if it exists
https://bugs.webkit.org/show_bug.cgi?id=105118
Reviewed by Anders Carlsson.
Register our custom protocol handler with NSURLProtocol when starting
up the network process; do not register the custom protocol handler in
web processes if a network process is being used.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
2012-12-15 Sam Weinig <sam@webkit.org>
The network process should use the correct NSURLCache location and set its size correctly for the CacheModel
<rdar://problem/12848505>
https://bugs.webkit.org/show_bug.cgi?id=105115
Reviewed by Anders Carlsson.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setCacheModel):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitialize):
(WebKit::memorySize):
(WebKit::volumeFreeSize):
(WebKit::NetworkProcess::platformSetCacheModel):
Copy code from the WebProcess to set up the NSURLCache correctly (location and size).
We should eventually move the calculation of this to the WebContext so it can be done
once.
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
(NetworkProcessCreationParameters):
Add the necessary creation parameters to set up the cache.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::setCacheModel):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
* UIProcess/mac/WebContextMac.mm:
(WebKit):
(WebKit::WebContext::platformInitializeNetworkProcess):
Move initializing the NetworkProcess to just after creating (matching the WebProcess),
rather than waiting for it finish loading before sending the creation parameters.
Additionally, this moves the setting up of the creation parameters to the WebContext,
as that is where all the interesting state resides (and also matches the WebProcess).
2012-12-15 Andy Estes <aestes@apple.com>
Clean up the previous build fix; access m_networkProcess directly.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::registerSchemeForCustomProtocol):
(WebKit::WebContext::unregisterSchemeForCustomProtocol):
2012-12-15 Andy Estes <aestes@apple.com>
Fix the build.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::registerSchemeForCustomProtocol):
(WebKit::WebContext::unregisterSchemeForCustomProtocol):
2012-12-15 Andy Estes <aestes@apple.com>
[WebKit2] Register schemes with the network process if it is being used
https://bugs.webkit.org/show_bug.cgi?id=105113
Reviewed by Anders Carlsson.
If a WebContext is using the network process, it needs to be told about
scheme (un)registration rather than the context's web processes.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess): Tell the shared
CustomProtocolManager about schemes registered at process creation time.
(WebKit::NetworkProcess::registerSchemeForCustomProtocol): Tell the
shared CustomProtocolManager about a new scheme.
(WebKit::NetworkProcess::unregisterSchemeForCustomProtocol): Remove a
scheme from the shared CustomProtocolManager.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in: Add registration and
unregistration messages for the NetworkProcess.
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode): Encode
urlSchemesRegisteredForCustomProtocols.
(WebKit::NetworkProcessCreationParameters::decode): Decode
urlSchemesRegisteredForCustomProtocols.
* Shared/Network/NetworkProcessCreationParameters.h: Define
urlSchemesRegisteredForCustomProtocols.
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::platformInitializeNetworkProcess): Populate
urlSchemesRegisteredForCustomProtocols with the current set of schemes.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::registerSchemeForCustomProtocol): Send a new
scheme to either the network process or to the context's web processes.
(WebKit::WebContext::unregisterSchemeForCustomProtocol): Ditto for
removing a scheme.
* UIProcess/WebContext.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess): Only populate
urlSchemesRegisteredForCustomProtocols if the network process isn't
being used.
(WebKit::WebContext::registerNotificationObservers):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
urlSchemesRegisteredForCustomProtocols should only be non-empty if the
network process isn't being used. Assert this.
2012-12-15 Anders Carlsson <andersca@apple.com>
Remove the unneeded NetworkProcessCrashed message
https://bugs.webkit.org/show_bug.cgi?id=105114
Reviewed by Sam Weinig.
Remove the NetworkProcessCrashed message; it's not needed since the connection member variable is already
nulled out in WebProcess::networkProcessConnectionClosed which is called when the Connection::Client::didClose member
function is called on the connection between the web process and network process.
Furthermore, this message was handled on the connection queue which runs on a different thread and the handler was not
thread-safe so this could in theory cause bad crashes.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didClose):
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:
2012-12-15 Anders Carlsson <andersca@apple.com>
Add a DownloadProxyMap object to the NetworkProcessProxy object
https://bugs.webkit.org/show_bug.cgi?id=105112
Reviewed by Sam Weinig.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::createDownloadProxy):
(WebKit::NetworkProcessProxy::didClose):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createDownloadProxy):
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
2012-12-15 Anders Carlsson <andersca@apple.com>
Move the download proxy map from the web context to the web process proxy
https://bugs.webkit.org/show_bug.cgi?id=105109
Reviewed by Andreas Kling.
More progress towards making downloads work with the networking process. Since downloads are handled by the
web process when not using a networking process, it makes sense for the download proxy map to live in the
web process proxy object.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::download):
(WebKit::WebContext::createDownloadProxy):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::shouldTerminate):
(WebKit):
(WebKit::WebProcessProxy::createDownloadProxy):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
2012-12-15 Anders Carlsson <andersca@apple.com>
DownloadProxy should keep a strong reference to its associated web context
https://bugs.webkit.org/show_bug.cgi?id=105107
Reviewed by Alexey Proskuryakov.
While this does create a ref-cycle, it's broken when the download completes, fails, is canceled or
if the process that's doing the download crashes.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::processDidClose):
(WebKit::DownloadProxy::didStart):
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::didReceiveResponse):
(WebKit::DownloadProxy::didReceiveData):
(WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
(WebKit::DownloadProxy::didCreateDestination):
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
2012-12-15 Anders Carlsson <andersca@apple.com>
Remove WebContext::downloadFinished
https://bugs.webkit.org/show_bug.cgi?id=105105
Reviewed by Sam Weinig.
Have DownloadProxyMap manage the message receiver map and remove WebContext::downloadFinished.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
* UIProcess/Downloads/DownloadProxyMap.h:
(DownloadProxyMap):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::createDownloadProxy):
* UIProcess/WebContext.h:
2012-12-15 Sam Weinig <sam@webkit.org>
Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
https://bugs.webkit.org/show_bug.cgi?id=105104
Reviewed by Alexey Proskuryakov.
Move to having the WebContext own and manage the NetworkProcessProxy.
* UIProcess/Network/NetworkProcessManager.cpp: Removed.
* UIProcess/Network/NetworkProcessManager.h: Removed.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::create):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
* UIProcess/Network/NetworkProcessProxy.h:
(WebKit):
(NetworkProcessProxy):
* UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::removeNetworkProcessProxy):
(WebKit::WebContext::getNetworkProcessConnection):
(WebKit::WebContext::willStartUsingPrivateBrowsing):
(WebKit::WebContext::willStopUsingPrivateBrowsing):
(WebKit::WebContext::createNewWebProcess):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
(WebKit::WebContext::networkProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getNetworkProcessConnection):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::applicationBecameVisible):
(WebKit::WebContext::applicationBecameOccluded):
* WebKit2.xcodeproj/project.pbxproj:
2012-12-15 Anders Carlsson <andersca@apple.com>
DownloadProxy objects should know which DownloadProxyMap they belong to
https://bugs.webkit.org/show_bug.cgi?id=105102
Reviewed by Andy Estes.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::create):
(WebKit::DownloadProxy::DownloadProxy):
* UIProcess/Downloads/DownloadProxy.h:
(WebKit):
(DownloadProxy):
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
2012-12-15 Andy Estes <aestes@apple.com>
[WebKit2] Move CustomProtocolManager to Shared/
https://bugs.webkit.org/show_bug.cgi?id=105103
Reviewed by Sam Weinig.
CustomProtocolManager can be instantiated either in the NetworkProcess or the WebProcess, so it should live in Shared/.
* DerivedSources.make: Update the path where CustomProtocolManager.messages.in can be found.
* Shared/Network/CustomProtocols/CustomProtocolManager.h: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.h.
* Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Renamed from Source/WebKit2/WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm.
* WebKit2.xcodeproj/project.pbxproj:
2012-12-15 Sam Weinig <sam@webkit.org>
Try to fix the Qt build.
* Target.pri:
2012-12-15 Anders Carlsson <andersca@apple.com>
Get rid of DownloadProxyMap::downloads()
https://bugs.webkit.org/show_bug.cgi?id=105100
Reviewed by Sam Weinig.
Add the needed member functions to DownloadProxyMap and remove the downloads() member function.
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::downloadFinished):
(WebKit::DownloadProxyMap::processDidClose):
(WebKit):
* UIProcess/Downloads/DownloadProxyMap.h:
(WebKit::DownloadProxyMap::isEmpty):
(DownloadProxyMap):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::downloadFinished):
2012-12-15 Sam Weinig <sam@webkit.org>
Move calculation of caches sizes based on the cache model to CacheModel.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=105098
Reviewed by Anders Carlsson.
Move calculation of caches sizes based on the cache model to CacheModel.h/cpp so
that it can be used by more than just the WebProcess.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/CacheModel.cpp: Added.
(WebKit):
(WebKit::calculateCacheSizes):
* Shared/CacheModel.h:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
(WebProcess):
* win/WebKit2.vcproj:
2012-12-15 Anders Carlsson <andersca@apple.com>
DownloadProxyMap shouldn't be a singleton after all
https://bugs.webkit.org/show_bug.cgi?id=105099
Reviewed by Sam Weinig.
Make the DownloadProxyMap be per context instead, and get rid of the m_downloads hash map from WebContext.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::~DownloadProxyMap):
* UIProcess/Downloads/DownloadProxyMap.h:
(DownloadProxyMap):
(WebKit::DownloadProxyMap::downloads):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::createDownloadProxy):
(WebKit::WebContext::downloadFinished):
* UIProcess/WebContext.h:
(WebContext):
2012-12-15 No'am Rosenthal <noam.rosenthal@nokia.com>
Disambiguate "background color" and "contents as solid color" on GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=104842
Reviewed by Simon Fraser.
Rename overloads in coordinated graphics to account for the rename in GraphicsLayer.
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
(CoordinatedLayerInfo):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerState):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToSolidColor):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-12-15 Christophe Dumez <christophe.dumez@intel.com>
[GTK][WK2] Memory leak in ChunkedUpdateDrawingArea::paintIntoUpdateChunk()
https://bugs.webkit.org/show_bug.cgi?id=105095
Reviewed by Martin Robinson.
Adopt the pointer returned by cairo_create() in
ChunkedUpdateDrawingArea::paintIntoUpdateChunk() to avoid leaking
memory.
* WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp:
(WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
2012-12-15 Mark Lam <mark.lam@apple.com>
Added #if ENABLE(SQL_DATABASE) around WebPlatformStrategies::getDatabaseServer().
https://bugs.webkit.org/show_bug.cgi?id=104934..
Not reviewed.
Greening the Qt Linux Release Minimal bot.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
2012-12-15 Mark Lam <mark.lam@apple.com>
Re-landing patch for "Introducing the DatabaseStrategy and database servers".
https://bugs.webkit.org/show_bug.cgi?id=104934.
Not reviewed.
Merged from r137767. Previously reviewed by Sam Weinig.
* CMakeLists.txt:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createDatabaseStrategy):
(WebKit):
(WebKit::WebPlatformStrategies::getDatabaseServer):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
2012-12-14 Anders Carlsson <andersca@apple.com>
DownloadProxy objects should be message receivers
https://bugs.webkit.org/show_bug.cgi?id=105068
Reviewed by Andreas Kling.
This simplifies the WebContext message dispatch code somewhat.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveMessage):
(WebKit::DownloadProxy::didReceiveSyncMessage):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createDownloadProxy):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
2012-12-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r137767.
http://trac.webkit.org/changeset/137767
https://bugs.webkit.org/show_bug.cgi?id=105062
Broke Mac builds. (Requested by mlam on #webkit).
* CMakeLists.txt:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
2012-12-14 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12874760> NetworkProcess loads may get stuck when WebProcess quits
https://bugs.webkit.org/show_bug.cgi?id=105056
Reviewed by Anders Carlsson.
Make response maps per-connection.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didClose): Cancel waiting for responses
from WebProcess, they will never arrive.
* NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::willSendRequestResponseMap):
(WebKit::NetworkConnectionToWebProcess::canAuthenticateAgainstProtectionSpaceResponseMap):
Maps now live here.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): Added a FIXME.
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::willSendRequestHandled):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
Handle the cases where we can't send a request, or can't expect a response any more.
* Shared/BlockingResponseMap.h:
(BlockingResponseMap):
(BlockingResponseMap::BlockingResponseMap):
(BlockingResponseMap::~BlockingResponseMap):
(BlockingResponseMap::waitForResponse):
(BlockingResponseMap::didReceiveResponse):
(BlockingResponseMap::cancel):
(BlockingBoolResponseMap):
(BlockingBoolResponseMap::BlockingBoolResponseMap):
(BlockingBoolResponseMap::~BlockingBoolResponseMap):
(BlockingBoolResponseMap::waitForResponse):
(BlockingBoolResponseMap::didReceiveResponse):
(BlockingBoolResponseMap::cancel):
Added an ability to cancel, and slightly beefed up overall.
2012-12-14 Anders Carlsson <andersca@apple.com>
DownloadProxyMap should keep track of outstanding DownloadProxy objects
https://bugs.webkit.org/show_bug.cgi?id=105053
Reviewed by Andreas Kling.
This is more work towards removing the m_downloads map from every WebContext object.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):
* UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit):
(WebKit::DownloadProxyMap::downloadFinished):
* UIProcess/Downloads/DownloadProxyMap.h:
(DownloadProxyMap):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createDownloadProxy):
2012-12-14 Mark Lam <mark.lam@apple.com>
Introducing the DatabaseStrategy and database servers.
https://bugs.webkit.org/show_bug.cgi?id=104934.
Reviewed by Sam Weinig.
The database server is currently a placeholder that does nothing.
* CMakeLists.txt:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createDatabaseStrategy):
(WebKit):
(WebKit::WebPlatformStrategies::getDatabaseServer):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
2012-12-14 Alexey Proskuryakov <ap@apple.com>
Resource loads sometimes stall
https://bugs.webkit.org/show_bug.cgi?id=104976
Apply the same quick an dirty fix to BlockingBoolResponseMap.
* Shared/BlockingResponseMap.h:
(BlockingBoolResponseMap::didReceiveResponse):
2012-12-14 Anders Carlsson <andersca@apple.com>
Add a DownloadsProxyMap class in preparation for moving the downloads map away from WebContext
https://bugs.webkit.org/show_bug.cgi?id=104980
Reviewed by Andreas Kling.
Currently the DownloadProxyMap doesn't really do anything; this initial change is to make sure that
adding the new files won't break any builds.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/Downloads/DownloadProxyMap.cpp: Added.
(WebKit):
(WebKit::DownloadProxyMap::shared):
(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::~DownloadProxyMap):
(WebKit::DownloadProxyMap::createDownloadProxy):
* UIProcess/Downloads/DownloadProxyMap.h: Added.
(WebKit):
(DownloadProxyMap):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createDownloadProxy):
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
2012-12-14 Anders Carlsson <andersca@apple.com>
Fix assertion failure when the network process is enabled
https://bugs.webkit.org/show_bug.cgi?id=105040
<rdar://problem/12883632>
Reviewed by Alexey Proskuryakov.
Make sure that we don't call into the download manager when running with a network process.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::shouldTerminate):
2012-12-14 Michelangelo De Simone <michelangelo@webkit.org>
[CSS Shaders] Remove code for the other mesh box types (border-box | padding-box | content-box)
https://bugs.webkit.org/show_bug.cgi?id=103776
Reviewed by Dean Jackson.
The MeshBoxType has been removed and the code has been refactored. The specs will be updated shortly
and therefore this feature - even though it was not fully implemented yet - shall not be used anymore.
In this patch we remove everything but the parsing code, which shall be addressed in a different patch
(see: https://bugs.webkit.org/show_bug.cgi?id=103778).
Specification to be updated: http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#ltboxgt
Existing tests have been updated and new parsing legacy cases have been added.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/WebCustomFilterOperation.h:
(WebCore::WebCustomFilterOperation::create):
(WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
2012-12-14 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12880750> RGRESSION: Crash when emptying cookie jar
https://bugs.webkit.org/show_bug.cgi?id=105038
Reviewed by Jessie Berlin.
Handle null context, which is used for cookie management functions.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::getHostnamesWithCookies):
(WebKit::WebPlatformStrategies::deleteCookiesForHostname):
(WebKit::WebPlatformStrategies::deleteAllCookies):
2012-12-14 Alberto Garcia <agarcia@igalia.com>
[GTK] When in private mode WebKitGTK+ should not save HTTP authentication credentials to the persistent storage
https://bugs.webkit.org/show_bug.cgi?id=104910
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
(WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog):
* UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h:
(WebKit2GtkAuthenticationDialog):
GtkAuthenticationDialog has a new credential storage mode
parameter, so add it here too.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewHandleAuthenticationChallenge):
When creating the GtkAuthenticationDialog, set the credential
storage mode using the private browsing setting from the current
page.
2012-12-14 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Fix EFL build after r137718
https://bugs.webkit.org/show_bug.cgi?id=105018
Unreviewed build fix.
The problem was that UNUSED_PARAM(size) was left in the code
for non-existent variable 'size'.
* UIProcess/efl/PageClientDefaultImpl.cpp:
(WebKit::PageClientDefaultImpl::updateViewportSize):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
2012-12-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] Do not pass size to updateViewportSize
https://bugs.webkit.org/show_bug.cgi?id=104994
Reviewed by Gyuyoung Kim.
There is no need to pass size to updateViewportSize as we
have direct access to it. This makes the code differ less
from Qt.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::pageDidRequestScroll):
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/efl/PageClientDefaultImpl.cpp:
(WebKit::PageClientDefaultImpl::updateViewportSize):
* UIProcess/efl/PageClientDefaultImpl.h:
(PageClientDefaultImpl):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
* UIProcess/efl/PageClientLegacyImpl.h:
(PageClientLegacyImpl):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(PageViewportControllerClientEfl):
2012-12-13 Sanghyup Lee <sh53.lee@samsung.com>
Fix build warning
https://bugs.webkit.org/show_bug.cgi?id=104978
Reviewed by Kentaro Hara.
Initialize parameter 'downloadID' to fix 'unused parameter' build warning.
* WebProcess/Downloads/Download.cpp:
(WebKit::Download::Download):
2012-12-13 Alexey Proskuryakov <ap@apple.com>
Resource loads sometimes stall
https://bugs.webkit.org/show_bug.cgi?id=104976
Reviewed by Anders Carlsson.
Quick and dirty partial fix.
* Shared/BlockingResponseMap.h: (BlockingResponseMap::didReceiveResponse):
Wake up all threads, so that non-sequential responses don't break us. This is still
horribly inefficient,but should improve behavior quite a bit.
2012-12-13 Seokju Kwon <seokju.kwon@gmail.com>
Fix unused parameter compile warnings
https://bugs.webkit.org/show_bug.cgi?id=104907
Reviewed by Kentaro Hara.
Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
when ENABLE_INSPECTOR is disabled.
* UIProcess/API/C/WKInspector.cpp:
(WKInspectorGetPage):
(WKInspectorIsVisible):
(WKInspectorIsFront):
(WKInspectorShow):
(WKInspectorClose):
(WKInspectorShowConsole):
(WKInspectorShowResources):
(WKInspectorShowMainResourceForFrame):
(WKInspectorIsAttached):
(WKInspectorAttach):
(WKInspectorDetach):
(WKInspectorIsDebuggingJavaScript):
(WKInspectorToggleJavaScriptDebugging):
(WKInspectorIsProfilingJavaScript):
(WKInspectorToggleJavaScriptProfiling):
(WKInspectorIsProfilingPage):
(WKInspectorTogglePageProfiling):
* UIProcess/API/C/WKPage.cpp:
(WKPageGetInspector):
2012-12-13 Seokju Kwon <seokju.kwon@gmail.com>
[QT][GTK][EFL] Add guard for WebInspectorServer
https://bugs.webkit.org/show_bug.cgi?id=104889
Reviewed by Kenneth Rohde Christiansen.
Add ENABLE(INSPECTOR_SERVER) guard around platform-specific implementation for WebInspectorServer.
* UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
2012-12-13 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Reorder messages to CoordinatedLayerTreeHostProxy
https://bugs.webkit.org/show_bug.cgi?id=103843
Reviewed by Noam Rosenthal.
Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
lifecycle. LayerTreeRenderer, CoordinatedLayerTreeHost and CoordinatedLayerTreeHostProxy
have the same lifecycle to WebPage and the root layer is reused even if loading
new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
than twice.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setRootLayerID):
2012-12-13 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12838354> DOM cookie access functions should respect private browsing
https://bugs.webkit.org/show_bug.cgi?id=104691
Reviewed by Anders Carlsson.
Remove obsolete FIXMEs, and fix one function that I overlooked.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
(WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
(WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
2012-12-13 Anders Carlsson <andersca@apple.com>
DownloadManager shouldn't call the web process directly
https://bugs.webkit.org/show_bug.cgi?id=104946
Reviewed by Antti Koivisto.
Introduce the needed DownloadManager::Client member functions and have Download call them instead of calling the web process directly.
* WebProcess/Downloads/Download.cpp:
(WebKit::Download::Download):
(WebKit::Download::~Download):
(WebKit::Download::connection):
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
(WebKit::DownloadManager::didCreateDownload):
(WebKit::DownloadManager::didDestroyDownload):
(WebKit::DownloadManager::connection):
* WebProcess/Downloads/DownloadManager.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didCreateDownload):
(WebKit::WebProcess::didDestroyDownload):
* WebProcess/WebProcess.h:
2012-12-13 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12838354> Per-Tab WebProcess: DOM cookie access functions should respect private browsing
https://bugs.webkit.org/show_bug.cgi?id=104691
Reviewed by Sam Weinig.
Pass private browsing state from local context to remote one.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::networkingContext):
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
(WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
(WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/mac/RemoteNetworkingContext.h:
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::inPrivateBrowsingMode):
(WebKit::RemoteNetworkingContext::storageSession):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::getHostnamesWithCookies):
(WebKit::WebPlatformStrategies::deleteCookiesForHostname):
(WebKit::WebPlatformStrategies::deleteAllCookies):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::inPrivateBrowsingMode):
(WebKit::WebFrameNetworkingContext::storageSession):
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext::inPrivateBrowsingMode):
2012-12-13 Anders Carlsson <andersca@apple.com>
Get rid of DownloadManager::shared
https://bugs.webkit.org/show_bug.cgi?id=104939
Reviewed by Andreas Kling.
Move the DownloadManager singleton to WebProcess and stub out a DownloadManager::Client class.
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
* WebProcess/Downloads/DownloadManager.h:
(Client):
(WebKit::DownloadManager::Client::~Client):
(DownloadManager):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertHandleToDownload):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadManager):
(WebKit):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::downloadRequest):
(WebKit::WebProcess::cancelDownload):
(WebKit::WebProcess::startTransfer):
* WebProcess/WebProcess.h:
(WebProcess):
2012-12-12 Andy Estes <aestes@apple.com>
[WebKit2] Only register NSNotificationCenter observers once per WebContext
https://bugs.webkit.org/show_bug.cgi?id=104879
Reviewed by Alexey Proskuryakov.
WebContext was mistakenly registering NSNotificationCenter observers
every time a new web process was created. In a multi-WebProcess world,
this caused duplicate observers to be needlessly registered. Fix this
by registering observers at WebContext creation time (and fix a related
bug where two of the observers were never unregistered).
* UIProcess/WebContext.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitialize): Register observers when initializing the context.
(WebKit::WebContext::platformInitializeWebProcess): Don't register observers here.
(WebKit::WebContext::platformInvalidateContext): Unregister observers when invalidating the context.
(WebKit::WebContext::registerNotificationObservers):
(WebKit::WebContext::unregisterNotificationObservers):
2012-12-13 Anders Carlsson <andersca@apple.com>
Download objects should keep track of their associated DownloadManager object
https://bugs.webkit.org/show_bug.cgi?id=104936
Reviewed by Andreas Kling.
This is the first step towards eliminating DownloadManager::shared.
* WebProcess/Downloads/Download.cpp:
(WebKit::Download::create):
(WebKit::Download::Download):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
* WebProcess/Downloads/Download.h:
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
2012-12-13 Anders Carlsson <andersca@apple.com>
Remove unused initiatingPage parameter from download objects
https://bugs.webkit.org/show_bug.cgi?id=104933
Reviewed by Alexey Proskuryakov.
* WebProcess/Downloads/Download.h:
(Download):
* WebProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
* WebProcess/Downloads/DownloadManager.h:
(DownloadManager):
* WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/curl/DownloadCurl.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/mac/DownloadMac.mm:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/qt/DownloadQt.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertHandleToDownload):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadRequest):
2012-12-13 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12870065> Frequent NetworkProcess crashes due to null connection when closing tabs
https://bugs.webkit.org/show_bug.cgi?id=104922
Reviewed by Anders Carlsson.
Don't zero out connection pointers when a connection closes. There doesn't appear
to be any reason to do this.
Tested by hitting breakpoints in all relevant objects destructors to confirm that
this doesn't introduce leaks.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didClose):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
2012-12-13 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] Update the way we set the cookies policy
https://bugs.webkit.org/show_bug.cgi?id=104915
Reviewed by Kenneth Rohde Christiansen.
We are mistakenly assigning the cookie policy to the persistent storage
type which is not correct. This was caused by r137432 and is making
the unit tests fail.
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
2012-12-13 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fix painting on Mac with retina display
https://bugs.webkit.org/show_bug.cgi?id=104574
Unreviewed, removing leftover API test.
This hunk somehow did not make it into the final patch.
* UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.
2012-12-13 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fix painting on Mac with retina display
https://bugs.webkit.org/show_bug.cgi?id=104574
Reviewed by Kenneth Rohde Christiansen.
Since HiDPI support has been added and enabled in Qt we ended up
painting incorrectly scaled content on high-resolution screens.
Because the intrinsic device pixel ratio is always taken into
account by Qt when painting to high-resolution screens we should
automatically obtain the scale ratio from the window in which the
item is rendered instead of setting it in QML.
Qt does not make it possible to override the device pixel ratio
of the native window, therefore our experimental QML API for setting
a custom value is of no use any more and should be removed.
This patch fixes the scaling issue on Mac retina display by querying
the underlying window for the device scale factor and applying it to
the backing store and the scene-graph rendering of the content node.
Additionally removes the experimental API and related API tests.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::updatePaintNode):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewLegacyPrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::onComponentComplete):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::newWebView):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::deviceScaleFactor):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/qt/QtWebPageSGNode.cpp:
(WebKit::ContentsSGNode::ContentsSGNode):
(WebKit::ContentsSGNode::render):
(WebKit::ContentsSGNode::clipRect):
(ContentsSGNode):
(WebKit::QtWebPageSGNode::QtWebPageSGNode):
(WebKit::QtWebPageSGNode::devicePixelRatio):
(WebKit):
(WebKit::QtWebPageSGNode::setRenderer):
* UIProcess/qt/QtWebPageSGNode.h:
(QtWebPageSGNode):
2012-12-13 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] API tests failing because Vibration API is using unsigned as duration since r137410
https://bugs.webkit.org/show_bug.cgi?id=104914
Reviewed by Kenneth Rohde Christiansen.
Update the tests to reflect the data type coming from WebCore.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(VibrationCbData):
(onVibrate):
2012-12-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] Device pixel ratio lost upon relaunch of the web process
https://bugs.webkit.org/show_bug.cgi?id=104913
Reviewed by Simon Hausmann.
Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor
when setting the device pixel ratio to make the setting permanent and
make sure it is set as part of the web process creation parameters.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_device_pixel_ratio_set):
2012-12-13 Jerome Pasion <jerome.pasion@digia.com>
[Qt] Doc: Fixing Qt WebKit reference documentation.
Reviewed by Simon Hausmann.
Fixes:
-added \module for C++ classes and \qmlmodule for QML types
-added links to the Qt WebKit Examples pages
-fixed the qhp settings for Qt Creator
Task-number: QTBUG-28583
Task-number: QTBUG-28418
Task-number: QTBUG-27646
* UIProcess/API/qt/qquickwebview.cpp:
2012-12-13 Jussi Kukkonen <jussi.kukkonen@intel.com>
[EFL][GTK] Don't call deprecated g_type_init when glib => 2.35
https://bugs.webkit.org/show_bug.cgi?id=103209
Reviewed by Kenneth Rohde Christiansen.
g_type_init() is deprecated from 2.35.0 onwards. Don't call it
in that case to avoid warnings and/or build failure.
Also, remove a call to g_type_init() from WebProcessMainGtk():
It is not needed if gtk_init() is called.
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk):
2012-12-13 Joaquim Rocha <jrocha@igalia.com>
REGRESSION (r137432): The /webkit2/WebKitCookieManager/accept-policy unit test is failing
https://bugs.webkit.org/show_bug.cgi?id=104790
Reviewed by Carlos Garcia Campos.
The cookies accept policy and the cookies persistent storage type
were not being correctly assigned.
* UIProcess/WebContext.cpp: Set the default value of the cookie
accept policy.
(WebKit::WebContext::WebContext):
* UIProcess/gtk/WebContextGtk.cpp: Fix setting the cookies persistent
storage type (it was mistakenly assigning the policy instead) and
set the accept policy which was missing.
(WebKit::WebContext::platformInitializeWebProcess):
2012-12-13 Jon Lee <jonlee@apple.com>
plugin snapshotting accepts bad snapshot after 5 seconds
https://bugs.webkit.org/show_bug.cgi?id=104886
<rdar://problem/12838753>
Reviewed by Maciej Stachowiak.
* WebProcess/Plugins/PluginView.cpp: Increase to 60 tries, equating to a little over 60 seconds total.
2012-12-12 Gyuyoung Kim <gyuyoung.kim@samsung.com>
NetworkInfoController needs to support destructor
https://bugs.webkit.org/show_bug.cgi?id=104642
Reviewed by Kentaro Hara.
Though NetworkInfoController can be referenced by each port in order to update network status change,
there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
controller is destroyed.
* UIProcess/efl/NetworkInfoProvider.cpp:
(NetworkInfoProvider::networkInfoControllerDestroyed):
* UIProcess/efl/NetworkInfoProvider.h:
(NetworkInfoProvider):
* WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
(WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed):
(WebKit):
* WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
(WebNetworkInfoClient):
2012-12-12 Andy Estes <aestes@apple.com>
Rename currentMousePosition() to lastKnownMousePosition() and mark it as OVERRIDE.
* WebProcess/Plugins/PDF/PDFPlugin.h:
2012-12-12 Seokju Kwon <seokju.kwon@gmail.com>
[EFL] Refactor duplicate code into EflInspectorUtilities
https://bugs.webkit.org/show_bug.cgi?id=104329
Reviewed by Kenneth Rohde Christiansen.
Remove duplicated work to get the resource path for inspector.
And use WebCore::inspectorResourcePath().
* UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
(WebKit::WebInspectorServer::platformResourceForPath):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::inspectorBaseURL):
2012-12-12 Mark Lam <mark.lam@apple.com>
Encapsulate externally used webdatabase APIs in DatabaseManager.
https://bugs.webkit.org/show_bug.cgi?id=104741.
Reviewed by Sam Weinig.
Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
and DatabaseContext directly. This is to prepare for upcoming webkit2
refactoring.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::initialize):
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::deleteAllDatabases):
(WebKit::WebDatabaseManager::setQuotaForOrigin):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
2012-12-12 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12862512> Crashes in NetworkResourceLoadScheduler::receivedRedirect
https://bugs.webkit.org/show_bug.cgi?id=104844
Reviewed by Sam Weinig.
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::receivedRedirect): The load may be already
canceled.
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponse): Expanded logging a little.
2012-12-12 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fix the build on Mac
Unreviewed build fix.
Add missing virtual destructor with empty
definition to fix missing vtable error
in test util's LoadStartedCatcher.
* UIProcess/API/qt/tests/util.h:
(LoadStartedCatcher::~LoadStartedCatcher):
2012-12-12 Alexey Proskuryakov <ap@apple.com>
Make LOG() work in WebProcess and NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=104718
Reviewed by Tim Horton.
* NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
Initialize WebCore and WebKit2 logging.
* Platform/Logging.cpp: (WebKit::initializeLogChannelsIfNecessary):
Added Network and NetworkScheduling. Re-ordered to match declaration order,
alphabetical clearly doesn't help here.
* WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): Initialize WebKit2
logging in addition to WebCore.
* UIProcess/WebContext.cpp: (WebKit::WebContext::WebContext): Initialize WebKit2
logging in addition to WebCore.
2012-12-12 Simon Pena <spena@igalia.com>
[GTK] Add sections documentation to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=104484
Reviewed by Martin Robinson.
Many of the sections in the WebKit2 GTK+ API documentation were
missing. This commit adds new documentation, in some cases
adapting it from WebKitGtk+ and in others writing it from the
scratch.
It also removes the WebKitWebViewBase class from the documentation
index, since it is not really relevant.
* UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
* UIProcess/API/gtk/WebKitContextMenu.cpp:
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
* UIProcess/API/gtk/WebKitCookieManager.cpp:
* UIProcess/API/gtk/WebKitDownload.cpp:
* UIProcess/API/gtk/WebKitError.cpp:
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
* UIProcess/API/gtk/WebKitFindController.cpp:
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
* UIProcess/API/gtk/WebKitPlugin.cpp:
* UIProcess/API/gtk/WebKitPrintOperation.cpp:
* UIProcess/API/gtk/WebKitSecurityManager.cpp:
* UIProcess/API/gtk/WebKitURIRequest.cpp:
* UIProcess/API/gtk/WebKitURIResponse.cpp:
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
* UIProcess/API/gtk/WebKitVersion.cpp:
* UIProcess/API/gtk/WebKitWebContext.cpp:
* UIProcess/API/gtk/WebKitWebInspector.cpp:
* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkit_web_resource_class_init):
* UIProcess/API/gtk/WebKitWebView.cpp:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
2012-12-12 Kondapally Kalyan <kalyan.kondapally@intel.com>
[EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL.
https://bugs.webkit.org/show_bug.cgi?id=104535.
Reviewed by Kenneth Rohde Christiansen.
GraphicsContext3DEfl does not re-create the surface on canvas resize, this
conflicted with the logic in coordinated graphics Layer.
CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface
in UI-Process should be recreated or not. With this
patch we also check for size of the platform Layer.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-12-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r137438.
http://trac.webkit.org/changeset/137438
https://bugs.webkit.org/show_bug.cgi?id=104798
assertion reached when removing tile (Requested by tmpsantos
on #webkit).
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::CoordinatedGraphicsLayer::setContentsScale):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::adjustVisibleRect):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):
2012-12-12 Mario Sanchez Prada <mario@webkit.org>
[GTK][WK2] New API to detect display/execution of insecure content
https://bugs.webkit.org/show_bug.cgi?id=104578
Reviewed by Martin Robinson.
Added new API and documentation for detecting insecure content.
Implemented needed functions from C API's WKPageLoaderClient
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didDisplayInsecureContentForFrame): Implemented.
(didRunInsecureContentForFrame): Ditto.
(attachLoaderClientToView): Added newly implemented functions.
Added new 'insecure-content-detected' signal to API.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init): Installed new signal.
(webkitWebViewInsecureContentDetected): Helper function aded to
private API to emit the new signal from the page loader client.
* UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass): Added new signal.
* UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype of the
new helper function webkitWebViewInsecureContentDetected().
Added new unit tests.
* UIProcess/API/gtk/tests/TestSSL.cpp:
(testSSL): Updated to the new variable name for the https server.
(testInsecureContent): New unit test.
(httpsServerCallback): Renamed from serverCallback() and updated
to return HTML content linking to external resources in an
insecure (plain http) server, to be used by the new test.
(httpServerCallback): New callback for a new http server, that
will serve a script and an image when requested.
(beforeAll): Run the new http server, besides the https one.
(afterAll): Delete both the http and the https server.
Updated documentation with new API.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added references
to the new WebKitInsecureContentEvent enum type.
2012-12-12 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=103959
Reviewed by Kenneth Rohde Christiansen.
Currently, CoordinatedGraphicsLayer has complex code related to TiledBackingStore.
It has two problem.
1. CoordinatedGraphicsLayer hacks TiledBackingStore to prevent
TiledBackingStore from asynchronously sending UpdateTile message to UI
Process.
2. CreateTile and RemoveTile message can be sent to UI Process at any time.
This patch makes CoordinatedGraphicsLayer use TiledBackingStore more explicitly.
It means only during flushing layer states, CoordinatedGraphicsLayer
calls methods of TiledBackingStore, which indirectly call createTile(),
updateTile() and removeTile().
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::CoordinatedGraphicsLayer::setContentsScale):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setNeedsVisibleRectAdjustment):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):
2012-12-12 Joaquim Rocha <jrocha@igalia.com>
[GTK] Cookies' storage path and policy are not set when the WebProcess is killed and relaunched
https://bugs.webkit.org/show_bug.cgi?id=104370
Reviewed by Carlos Garcia Campos.
This issue happens on ports that use Soup and causes problems like not finding the stored cookies
nor their policy when the WebProcess is relaunched. As an example of a problem caused by this,
a previously logged in user will not be logged in again when the process is relaunched and the
policy used is always the same one.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Encode cookies' persistent storage path,
storage type and acceptance policy.
(WebKit::WebProcessCreationParameters::decode): Decode cookies' persistent storage path,
storage type and acceptance policy.
* Shared/WebProcessCreationParameters.h: Create 3 variables to hold the values mentioned above.
(WebProcessCreationParameters):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Call WebCookieManagerProxySoup::setCookieAcceptPolicy.
* UIProcess/WebCookieManagerProxy.h: Declare new Soup's methods setCookieAcceptPolicy, cookieAcceptPolicy and
cookiePersistentStorage as well as the variables m_cookieAcceptPolicy and m_cookiePersistentStorage.
(WebCookieManagerProxy):
* UIProcess/efl/WebContextEfl.cpp: Assign the parameters' cookiePersistentStoragePath and
cookiePersistentStorageType with the respective values.
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/gtk/WebContextGtk.cpp: Assign the parameters' cookiePersistentStoragePath and
cookiePersistentStorageType with the respective values.
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/soup/WebCookieManagerProxySoup.cpp:
(WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Assign the m_cookiePersistentStorage pair
with the method's parameters.
(WebKit):
(WebKit::WebCookieManagerProxy::getCookiePersistentStorage): Implement this getter.
* WebProcess/Cookies/WebCookieManager.h: Declare setCookiePersistentStorage.
(WebCookieManager):
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Set the cookies' persistent storage and policy
using the WebCookieManager's methods.
2012-12-11 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Duplicated WebPageGroup initialization
https://bugs.webkit.org/show_bug.cgi?id=103229
Reviewed by Kenneth Rohde Christiansen.
WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
is created with default context.
* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):
2012-12-11 Sam Weinig <sam@webkit.org>
Add API to set the maximum number of processes allowed in a WKContext
https://bugs.webkit.org/show_bug.cgi?id=104769
Reviewed by Dan Bernstein.
Switch from using NSUserDefaults to a WKContext API to set the maximum number of processes
for a context.
* UIProcess/API/C/WKContext.cpp:
(WKContextSetMaximumNumberOfProcesses):
(WKContextGetMaximumNumberOfProcesses):
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setMaximumNumberOfProcesses):
(WebKit):
* UIProcess/WebContext.h:
(WebContext):
(WebKit::WebContext::maximumNumberOfProcesses):
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitialize):
2012-12-11 Kihong Kwon <kihong.kwon@samsung.com>
Vibration API: IDL type doesn't match implementation type
https://bugs.webkit.org/show_bug.cgi?id=103899
Reviewed by Kentaro Hara.
According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
Therefore unsigned long need to be changed to unsigned for the Vibration API.
- Change a parameter type of vibrate function from uint64_t to uint_32_t.
* UIProcess/API/C/WKVibration.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/WebVibrationProvider.cpp:
(WebKit::WebVibrationProvider::vibrate):
* UIProcess/WebVibrationProvider.h:
(WebVibrationProvider):
* UIProcess/WebVibrationProxy.cpp:
(WebKit::WebVibrationProxy::vibrate):
* UIProcess/WebVibrationProxy.h:
(WebVibrationProxy):
* UIProcess/WebVibrationProxy.messages.in:
* UIProcess/efl/VibrationClientEfl.cpp:
(VibrationClientEfl::vibrateCallback):
* UIProcess/efl/VibrationClientEfl.h:
(VibrationClientEfl):
* WebProcess/WebCoreSupport/WebVibrationClient.cpp:
(WebKit::WebVibrationClient::vibrate):
* WebProcess/WebCoreSupport/WebVibrationClient.h:
(WebVibrationClient):
2012-12-11 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12857870> [WK2 NetworkProcess] Cannot load HTTPS sites
https://bugs.webkit.org/show_bug.cgi?id=104732
Reviewed by Anders Carlsson.
* Shared/BlockingResponseMap.h: (BlockingBoolResponseMap::waitForResponse):
Fixed to make sense.
2012-12-11 Xianzhu Wang <wangxianzhu@chromium.org>
Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
https://bugs.webkit.org/show_bug.cgi?id=104714
Reviewed by Eric Seidel.
Export symbol Page::mainThreadScrollingReasonsAsText().
* win/WebKit2.def.in:
2012-12-11 Gwang Yoon Hwang <ryumiel@company100.net>
Coordinated Graphics: Rename LayerTreeCoordinator to CoordinatedLayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=104641
Reviewed by Noam Rosenthal.
The name of LayerTreeCoordinator does not match LayerTreeHost. This
patch renames it to CoordinatedLayerTreeHost. And make a getter for
CoordinatedLayerTreeHostProxy in QQuickWebPagePrivate to make a cleaner code.
No new tests - just a refactoring.
* CMakeLists.txt:
* DerivedSources.pri:
* Platform/CoreIPC/MessageID.h:
* Target.pri:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::layerTreeRenderer):
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::paint):
(QQuickWebPagePrivate::coordinatedLayerTreeHostProxy):
(QQuickWebPage::updatePaintNode):
(QQuickWebPagePrivate::updateSize):
* UIProcess/API/qt/qquickwebpage_p_p.h:
(WebKit):
(QQuickWebPagePrivate):
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::setSize):
(QRawWebView::layerTreeRenderer):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp.
(WebKit):
(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::updateViewport):
(WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
(WebKit::CoordinatedLayerTreeHostProxy::createTileForLayer):
(WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
(WebKit::CoordinatedLayerTreeHostProxy::removeTileForLayer):
(WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::deleteCompositingLayer):
(WebKit::CoordinatedLayerTreeHostProxy::setRootCompositingLayer):
(WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerState):
(WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerChildren):
(WebKit::CoordinatedLayerTreeHostProxy::setCompositingLayerFilters):
(WebKit::CoordinatedLayerTreeHostProxy::removeCustomFilterProgram):
(WebKit::CoordinatedLayerTreeHostProxy::createCustomFilterProgram):
(WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
(WebKit::CoordinatedLayerTreeHostProxy::createImageBacking):
(WebKit::CoordinatedLayerTreeHostProxy::updateImageBacking):
(WebKit::CoordinatedLayerTreeHostProxy::clearImageBackingContents):
(WebKit::CoordinatedLayerTreeHostProxy::removeImageBacking):
(WebKit::CoordinatedLayerTreeHostProxy::setContentsSize):
(WebKit::CoordinatedLayerTreeHostProxy::setLayerAnimations):
(WebKit::CoordinatedLayerTreeHostProxy::setAnimationsLocked):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
(WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
(WebKit::CoordinatedLayerTreeHostProxy::animationFrameReady):
(WebKit::CoordinatedLayerTreeHostProxy::didChangeScrollPosition):
(WebKit::CoordinatedLayerTreeHostProxy::createCanvas):
(WebKit::CoordinatedLayerTreeHostProxy::syncCanvas):
(WebKit::CoordinatedLayerTreeHostProxy::destroyCanvas):
(WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h.
(WebKit):
(CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::layerTreeRenderer):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::animationFrameReady):
(WebKit::LayerTreeRenderer::updateViewport):
(WebKit::LayerTreeRenderer::renderNextFrame):
(WebKit::LayerTreeRenderer::purgeBackingStores):
(WebKit::LayerTreeRenderer::detach):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit):
(LayerTreeRenderer):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::didReceiveCoordinatedLayerTreeHostProxyMessage):
* UIProcess/DrawingAreaProxy.h:
(WebKit):
(WebKit::DrawingAreaProxy::coordinatedLayerTreeHostProxy):
(DrawingAreaProxy):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::didReceiveCoordinatedLayerTreeHostProxyMessage):
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
* UIProcess/DrawingAreaProxyImpl.h:
(WebKit):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
* UIProcess/efl/PageClientBase.cpp:
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::didChangeContentsSize):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setRendererActive):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp.
(WebKit):
(WebKit::CoordinatedLayerTreeHost::create):
(WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::setLayerFlushSchedulingEnabled):
(WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):
(WebKit::CoordinatedLayerTreeHost::cancelPendingLayerFlush):
(WebKit::CoordinatedLayerTreeHost::setShouldNotifyAfterNextScheduledLayerFlush):
(WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
(WebKit::CoordinatedLayerTreeHost::invalidate):
(WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
(WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
(WebKit::CoordinatedLayerTreeHost::forceRepaint):
(WebKit::CoordinatedLayerTreeHost::forceRepaintAsync):
(WebKit::CoordinatedLayerTreeHost::sizeDidChange):
(WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay):
(WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
(WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay):
(WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity):
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
(WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
(WebKit::CoordinatedLayerTreeHost::syncLayerState):
(WebKit::CoordinatedLayerTreeHost::syncLayerChildren):
(WebKit::CoordinatedLayerTreeHost::createCanvas):
(WebKit::CoordinatedLayerTreeHost::syncCanvas):
(WebKit::CoordinatedLayerTreeHost::destroyCanvas):
(WebKit::CoordinatedLayerTreeHost::syncLayerFilters):
(WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
(WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
(WebKit::CoordinatedLayerTreeHost::disconnectCustomFilterPrograms):
(WebKit::CoordinatedLayerTreeHost::detachLayer):
(WebKit::updateOffsetFromViewportForSelf):
(WebKit::updateOffsetFromViewportForLayer):
(WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
(WebKit::CoordinatedLayerTreeHost::lockAnimations):
(WebKit::CoordinatedLayerTreeHost::unlockAnimations):
(WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
(WebKit::CoordinatedLayerTreeHost::syncDisplayState):
(WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
(WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
(WebKit::CoordinatedLayerTreeHost::destroyPageOverlayLayer):
(WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
(WebKit::CoordinatedLayerTreeHost::createImageBacking):
(WebKit::CoordinatedLayerTreeHost::updateImageBacking):
(WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
(WebKit::CoordinatedLayerTreeHost::removeImageBacking):
(WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
(WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
(WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
(WebKit::CoordinatedLayerTreeHost::paintContents):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::LayerTreeHost::supportsAcceleratedCompositing):
(WebKit::CoordinatedLayerTreeHost::createTile):
(WebKit::CoordinatedLayerTreeHost::updateTile):
(WebKit::CoordinatedLayerTreeHost::removeTile):
(WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
(WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
(WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
(WebKit::CoordinatedLayerTreeHost::setLayerAnimations):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
(WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
(WebKit::CoordinatedLayerTreeHost::animationFrameReady):
(WebKit::CoordinatedLayerTreeHost::renderNextFrame):
(WebKit::CoordinatedLayerTreeHost::layerTreeTileUpdatesAllowed):
(WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
(WebKit::CoordinatedLayerTreeHost::beginContentUpdate):
(WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
(WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
(WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h.
(WebKit):
(CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::layerTreeContext):
(WebKit::CoordinatedLayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
(WebKit::CoordinatedLayerTreeHost::pauseRendering):
(WebKit::CoordinatedLayerTreeHost::resumeRendering):
(WebKit::CoordinatedLayerTreeHost::deviceScaleFactorDidChange):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in.
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::didReceiveCoordinatedLayerTreeHostMessage):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::didReceiveMessage):
2012-12-11 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12857080> Per-Tab WebProcess: Blue lines between menu tabs at apple.com
https://bugs.webkit.org/show_bug.cgi?id=104709
Reviewed by Sam Weinig.
Data URLs were broken. Removing a no longer valid optimization for now.
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
2012-12-11 Michael Pruett <michael@68k.org>
[JSC] Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=104423
Reviewed by Oliver Hunt.
Add tests for serialization and deserialization mechanisms of
the JSC implementation of SerializedScriptValue. Similar tests
already exist for the V8 implementation.
* win/WebKit2.def.in:
2012-12-11 Jon Lee <jonlee@apple.com>
Initialize new web processes with list of auto-start origins for plug-ins
https://bugs.webkit.org/show_bug.cgi?id=103219
<rdar://problem/12747219>
Reviewed by Anders Carlsson.
Serialize the set of hashes into a vector as a parameter in web process creation.
* Shared/WebProcessCreationParameters.h: Add a parameter for the origin hashes.
* Shared/WebProcessCreationParameters.cpp: Encode/decode that parameter.
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Return a vector copy with contents from the
hash set.
* UIProcess/Plugins/PlugInAutoStartProvider.h:
(PlugInAutoStartProvider):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess): Populate the parameter with the contents of the set.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Add the items in the vector to the web process' copy of the set.
2012-12-11 Andreas Kling <akling@apple.com>
CoreIPC: ArgumentEncoder should have an inline buffer.
<http://webkit.org/b/104622>
Reviewed by Anders Carlsson.
Add a 4K inline buffer to CoreIPC::ArgumentEncoder to avoid malloc/free churn.
It was dominating the transient allocations graph in Instruments.
* Platform/CoreIPC/ArgumentEncoder.cpp:
(CoreIPC::ArgumentEncoder::ArgumentEncoder):
(CoreIPC::ArgumentEncoder::grow):
* Platform/CoreIPC/ArgumentEncoder.h:
(CoreIPC::ArgumentEncoder::buffer):
(ArgumentEncoder):
(CoreIPC::ArgumentEncoder::usesInlineBuffer):
2012-12-11 Mike West <mkwst@chromium.org>
Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
https://bugs.webkit.org/show_bug.cgi?id=66371
Reviewed by Pavel Feldman.
Drops WebCore::MessageLevel from the addMessageToConsole method.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::addMessageToConsole):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
2012-12-11 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] Increase the timeout of the API unit tests
https://bugs.webkit.org/show_bug.cgi?id=104666
Reviewed by Kenneth Rohde Christiansen.
Palliative fix until we find out why the tests are taking so long.
* PlatformEfl.cmake:
2012-12-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt][EFL][WK2] Resizing the window doesn't always result in right content position
https://bugs.webkit.org/show_bug.cgi?id=104416
Reviewed by Simon Hausmann.
Make sure the client is notified about position and scale changed done by us.
Rename the m_*IsLocked to m_pending*Change as that makes the code more obvious.
Patch verified with both Qt and EFL.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didRenderFrame): Notify client and pixel align.
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
* UIProcess/PageViewportController.h:
(PageViewportController):
2012-12-11 Christophe Dumez <christophe.dumez@intel.com>
[CoordinatedGraphics] Use unsigned integers for UpdateAtlas IDs
https://bugs.webkit.org/show_bug.cgi?id=104654
Reviewed by Kenneth Rohde Christiansen.
UpdateAtlas currently uses *signed* integer type for its identifier.
Due to the way we generate those IDs, it is safer to use *unsigned*
integers. This is because the generated ID will overflow at some
point and the C and C++ language standards say that overflow of a
signed value is undefined behaviour.
This patch switches to unsigned integer type for UpdateAtlas IDs
since unsigned integers are guaranteed to wrap around on overflow.
* Shared/SurfaceUpdateInfo.h:
(SurfaceUpdateInfo):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
(WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
(CoordinatedTileClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createUpdateAtlas):
(WebKit::LayerTreeCoordinator::removeUpdateAtlas):
(WebKit::LayerTreeCoordinator::beginContentUpdate):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit::UpdateAtlas::~UpdateAtlas):
(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
(UpdateAtlasClient):
(UpdateAtlas):
2012-12-11 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Create a ewk view object with new context for API tests
https://bugs.webkit.org/show_bug.cgi?id=103692
Reviewed by Gyuyoung Kim.
Bug 103229 fixes the issue which PageGroupID increased even though
the EwkView was created with default context. If the Bug 103229 is
resolved, the EwkViews with same context will have same setting preferences.
Currently, WebKit2/EFL API test is creating the ewk view object
with the default context so the setting values set previously may
influence the following tests. So this patch created a ewk view object
with a new context instead of default one.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
2012-12-10 Dan Winship <danw@gnome.org>
[Soup] Fix spelling of "initiating" in API.
Reviewed by Martin Robinson.
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::send):
2012-12-10 Alexey Proskuryakov <ap@apple.com>
[WK2] Add a user default to limit the number of web processes
https://bugs.webkit.org/show_bug.cgi?id=104606
Reviewed by Sam Weinig.
When the limit is reached, we'll reuse an existing process with fewest pages.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialize m_webProcessCountLimit.
(WebKit::WebContext::platformInitialize): Added a hook for reading the preference,
empty implementation on most platforms.
(WebKit::WebContext::createNewWebProcess): Changed to return a raw pointer. The new
process is put into a vector anyway, so there is no ownership transfer.
(WebKit::WebContext::warmInitialProcess): Don't create a new process if that would
exceed the limit.
(WebKit::WebContext::createNewWebProcessRespectingProcessCountLimit): Added a new
function that wither creates a new process, or picks an existing one.
(WebKit::WebContext::createWebPage): Call the above new function instead of
unconditionally creating a process.
* UIProcess/WebContext.h: createNewWebProcess is no private. All clients should
respect the process count limit.
* UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess):
Respect the process count limit.
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded): Register the new default.
(WebKit::WebContext::platformInitialize): Read the default into a WebContext
member variable.
(WebKit::WebContext::platformInitializeWebProcess): Moved registerUserDefaultsIfNeeded()
from here to platformInitialize(), as that's a better place for it. Also added a
FIXME for an unrelated issue.
2012-12-10 Jon Lee <jonlee@apple.com>
Build fix.
* WebProcess/WebCoreSupport/WebPlugInClient.cpp:
(WebKit::WebPlugInClient::WebPlugInClient): Remove unneeded m_page variable.
* WebProcess/WebCoreSupport/WebPlugInClient.h:
(WebPlugInClient):
2012-12-10 Jon Lee <jonlee@apple.com>
Keep track of plug-in snapshots clicked by user
https://bugs.webkit.org/show_bug.cgi?id=103206
<rdar://problem/12746483>
Reviewed by Anders Carlsson.
Create a new provider class for the web context that maintains a mapping of the plug-in origins
allowed to auto-start for a specific page origin.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Create and set WebPlugInClient.
Implement WebCore::PlugInClient.
* WebProcess/WebCoreSupport/WebPlugInClient.cpp: Added.
(WebKit::WebPlugInClient::WebPlugInClient):
(WebKit::WebPlugInClient::~WebPlugInClient):
(WebKit::WebPlugInClient::pageDestroyed):
(WebKit::WebPlugInClient::isAutoStartOrigin): Forward to WebProcess.
(WebKit::WebPlugInClient::addAutoStartOrigin): Forward to WebProcess.
* WebProcess/WebCoreSupport/WebPlugInClient.h: Added.
* WebProcess/WebProcess.cpp: Maintains a copy of the hash set.
(WebKit::WebProcess::isPlugInAutoStartOrigin): Look for the hash in the set.
(WebKit::WebProcess::addPlugInAutoStartOrigin): Tell the UI process to add the hash for the page.
(WebKit::WebProcess::didAddPlugInAutoStartOrigin): Add the hash to the cached set.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in: Add DidAddPlugInAutoStartOrigin.
Add the auto-start provider.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialize the provider.
(WebKit::WebContext::addPlugInAutoStartOriginHash): Forward to the provider.
* UIProcess/WebContext.h:
* UIProcess/WebContext.messages.in: Add AddPlugInAutoStartOriginHash.
The provider class maintains a map of page domains to hashes, and a set of all the hashes.
The latter will be used to initialize new web processes without having to crawl through the
whole map.
* UIProcess/Plugins/PlugInAutoStartProvider.cpp: Added.
(WebKit::PlugInAutoStartProvider::PlugInAutoStartProvider):
(WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Add the origin to the map and set. Tell
all processes to add the origin to their local copies.
* UIProcess/Plugins/PlugInAutoStartProvider.h: Added.
Add PlugInAutoStartProvider and WebPlugInClient.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
2012-12-10 Anders Carlsson <andersca@apple.com>
Add WKPageSetInvalidMessageFunction stub
https://bugs.webkit.org/show_bug.cgi?id=104614
<rdar://problem/12841671>
Reviewed by Mark Rowe.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetInvalidMessageFunction):
* UIProcess/API/C/WKPagePrivate.h:
2012-12-09 Antti Koivisto <antti@apple.com>
Factor node traversal into standalone functions
https://bugs.webkit.org/show_bug.cgi?id=104507
Reviewed by Eric Seidel.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::containsAnyFormElements):
2012-12-10 Eduardo Lima Mitev <elima@igalia.com>
[GTK] Expose HitTestResult::scrollbar() condition in API
https://bugs.webkit.org/show_bug.cgi?id=104369
Reviewed by Carlos Garcia Campos.
This patch populates WebCore::HitTestResult::scrollbar() condition
in WebKitHitTestResult public API, and includes a corresponding unit
test.
* Shared/WebHitTestResult.cpp: Adds new isScrollbar member to
encoding and decoding methods to carry the scrollbar condition
from Web process to UI process.
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):
* Shared/WebHitTestResult.h:
(Data): Adds new bool member isScrollbar.
(WebKit::WebHitTestResult::Data::Data): Initializes isScrollbar from
WebCore::HitTestResult::scrollbar().
(WebKit::WebHitTestResult::isScrollbar): Method that returns value
of isScrollbar member.
(WebHitTestResult):
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate): Adds scrollbar condition to context upon
initialization.
(webkitHitTestResultCompare): Adds comparison of scrollbar condition.
(webkit_hit_test_result_context_is_scrollbar): Public accessor for
scrollbar presence in context.
* UIProcess/API/gtk/WebKitHitTestResult.h: Adds new flag
WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR to
WebKitHitTestResultContext enum.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Adds new API symbol
to the corresponding documentation sections.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewMouseTarget): Updates mouse-target
test to include assertions for hitting scrollbar condition, and
an new HTML to privide a positive case.
2012-12-10 Alexis Menard <alexis@webkit.org>
[CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
https://bugs.webkit.org/show_bug.cgi?id=104539
Reviewed by Antonio Gomes.
As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.
* Configurations/FeatureDefines.xcconfig:
2012-12-10 Alberto Garcia <agarcia@igalia.com>
WebKitWebViewBase produces a warning if compiled with gcc
https://bugs.webkit.org/show_bug.cgi?id=104561
Reviewed by Carlos Garcia Campos.
* UIProcess/API/gtk/WebKitWebViewBase.h:
since this file can be included from C code, use void to
explicitly specify that webkit_web_view_base_get_type() doesn't
have parameters. Otherwise we get "warning: function declaration
isn't a prototype" with -Wstrict-prototypes.
2012-12-10 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] TiledBackingStore: remove unneeded 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale
https://bugs.webkit.org/show_bug.cgi?id=104544
Reviewed by Kenneth Rohde Christiansen.
Removed 'treatAsInitialValue' parameter from PageViewportControllerClient::setContentsScale()
as it was not used by anyone.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didRenderFrame):
* UIProcess/PageViewportControllerClient.h:
(PageViewportControllerClient):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setContentsScale):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(PageViewportControllerClientEfl):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::setContentsScale):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):
2012-12-10 Zoltan Nyul <zoltan.nyul@intel.com>
Implement testRunner.setViewModeMediaFeature() in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=103886
Reviewed by Kenneth Rohde Christiansen.
Add support for TestRunner::setViewModeMediaFeature().
This functionality is needed by the following LayoutTests:
fast/media/media-query-list-02.html
fast/media/media-query-list-03.html
fast/media/media-query-list-04.html
fast/media/media-query-list-05.html
fast/media/media-query-list-06.html
fast/media/media-query-list-07.html
fast/media/view-mode-media-feature.html
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetViewMode):
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setViewMode):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
2012-12-10 Simon Hausmann <simon.hausmann@digia.com>
[Qt] Fix QtWebProcess discovery on Windows
https://bugs.webkit.org/show_bug.cgi?id=104552
Reviewed by Jocelyn Turcotte.
Make sure to look for QtWebProcess.exe on Windows instead of QtWebProcess.
* Shared/qt/ProcessExecutablePathQt.cpp:
(WebKit::executablePath):
2012-12-10 Martin Robinson <mrobinson@igalia.com>
[GTK] Bring Harfbuzz-ng support to Gtk
https://bugs.webkit.org/show_bug.cgi?id=92098
Reviewed by Gustavo Noronha Silva.
Add a HarfBuzz dependency.
* GNUmakefile.am: Add FreeType/HarfBuzz CFLAGS/LIBS to the libraries.
2012-12-10 Simon Hausmann <simon.hausmann@digia.com>
[Qt] Use QLibraryInfo::LibraryExecutablesPath unconditionally
https://bugs.webkit.org/show_bug.cgi?id=104541
Reviewed by Jocelyn Turcotte.
We now depend on a Qt 5 version that is guaranteed to have this API, so we
can remove the configure checks for it.
* PluginProcess.pro:
* Shared/qt/ProcessExecutablePathQt.cpp:
(WebKit::executablePath):
* WebProcess.pro:
2012-12-10 Simon Hausmann <simon.hausmann@digia.com>
[Qt] Fix build without QtQuick 2
Unreviewed trivial build fix.
This function is defined in QtWebContext, which is only used when QtQuick2 is available.
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::platformInvalidateContext):
2012-12-10 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
https://bugs.webkit.org/show_bug.cgi?id=100819
Reviewed by Kenneth Rohde Christiansen.
It is a follow-up patch of r137117.
There are two changes
1. Add a const qualifier to supportsAlpha().
2. Use << instead of encode() when using ArgumentEncoder.
* Shared/CoordinatedGraphics/CoordinatedSurface.h:
(WebKit::CoordinatedSurface::supportsAlpha):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::Handle::encode):
(WebKit::WebCoordinatedSurface::copyToTexture):
2012-12-10 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics.
https://bugs.webkit.org/show_bug.cgi?id=100819
Reviewed by Kenneth Rohde Christiansen.
WebCoordinatedSurface::copyToTexture should return early if the backend
is GraphicsSurface.
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::copyToTexture):
2012-12-10 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Add CoordinatedSurface to remove the dependency of ShareableSurface from Coordinated Graphics.
https://bugs.webkit.org/show_bug.cgi?id=100819
Reviewed by Noam Rosenthal.
Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
It is a preparation patch for Threaded Coordinated Graphics on WK1.
Create a CoordinatedSurface class that can be the base class both for
the current IPC-based ShareableSurface, renamed here to
WebCoordinatedSurface, and to a future thread-based surface
implementation.
* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedSurface.h: Added.
(WebCore):
(WebKit):
(CoordinatedSurface):
(WebKit::CoordinatedSurface::~CoordinatedSurface):
(WebKit::CoordinatedSurface::supportsAlpha):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Renamed from Source/WebKit2/Shared/ShareableSurface.cpp.
Extends CoordinatedSurface.
(WebKit):
(WebKit::WebCoordinatedSurface::Handle::Handle):
(WebKit::WebCoordinatedSurface::Handle::encode):
(WebKit::WebCoordinatedSurface::Handle::decode):
(WebKit::CoordinatedSurface::create):
(WebKit::WebCoordinatedSurface::create):
(WebKit::WebCoordinatedSurface::createWithSurface):
(WebKit::WebCoordinatedSurface::createGraphicsContext):
(WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
(WebKit::WebCoordinatedSurface::~WebCoordinatedSurface):
(WebKit::WebCoordinatedSurface::createHandle):
(WebKit::WebCoordinatedSurface::copyToTexture):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Renamed from Source/WebKit2/Shared/ShareableSurface.h.
(WebCore):
(WebKit):
(WebCoordinatedSurface):
(Handle):
(WebKit::WebCoordinatedSurface::Handle::graphicsSurfaceToken):
(WebKit::WebCoordinatedSurface::isBackedByGraphicsSurface):
* Target.pri:
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
(WebKit::CoordinatedBackingStoreTile::setBackBuffer):
(WebKit::CoordinatedBackingStore::updateTile):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit):
(CoordinatedBackingStoreTile):
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
(WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::updateImageBacking):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(TileUpdate):
(WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
(WebKit::CoordinatedImageBacking::update):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
(Coordinator):
(CoordinatedImageBacking):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::updateImageBacking):
(WebKit::LayerTreeCoordinator::createUpdateAtlas):
(WebKit::LayerTreeCoordinator::beginContentUpdate):
(WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:
(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
(UpdateAtlasClient):
(UpdateAtlas):
(WebKit::UpdateAtlas::supportsAlpha):
2012-12-09 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=103843
Reviewed by Noam Rosenthal.
Send SetRootCompositingLayer message to the UI process before
flushing compositing states of layer tree.
This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::setRootLayerID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::initializeRootCompositingLayerIfNeeded):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-12-09 Jon Lee <jonlee@apple.com>
[WK2] Move button image to injected bundle
https://bugs.webkit.org/show_bug.cgi?id=104107
<rdar://problem/12813842>
Reviewed by Simon Fraser.
Rely on the injected bundle to create the image used for the button in snapshotted plug-ins.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::plugInStartLabelImage): Forward the call to the injected bundle UI client.
* WebProcess/WebCoreSupport/WebChromeClient.h: Implement plugInStartLabelImage().
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::plugInStartLabelImage): Convert the WebCore enums to WK API enums.
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h: Expose a new callback to generate the button image.
* Shared/API/c/cg/WKImageCG.cpp:
(WKImageCreateFromCGImage): Refactor to use GraphicsContext methods so that the image is flipped appropriately.
2012-12-09 Kangil Han <kangil.han@samsung.com>
Fix unused parameter compile warnings
https://bugs.webkit.org/show_bug.cgi?id=104463
Reviewed by Kentaro Hara.
Remove compile warning messages by omitting parameter name.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createCanvas):
2012-12-08 Seokju Kwon <seokju.kwon@gmail.com>
[EFL][WK2] Add Remote Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=98705
Reviewed by Gyuyoung Kim.
Add Remote Web Inspector to EFL port.
The WebInspectorSever will be started during WebKit context initialization.
The IP address and port number for the server can be set in WEBKIT_INSPECTOR_SERVER.
* CMakeLists.txt:
* PlatformEfl.cmake:
* UIProcess/InspectorServer/WebInspectorServer.h:
(WebInspectorServer):
* UIProcess/InspectorServer/WebSocketServer.h:
(WebSocketServer):
* UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Added.
(WebKit):
(WebKit::inspectorResourcePath):
(WebKit::WebInspectorServer::platformResourceForPath):
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
(WebKit::connectionCallback):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::initializeInspectorServer):
(WebKit):
(WebKit::WebContext::platformInitializeWebProcess):
* config.h:
2012-12-08 Gustavo Noronha Silva <gns@gnome.org>
Unreviewed. Make building the WebKit2 GIR file conditional on building the WebKit2 library.
* GNUmakefile.am:
2012-12-08 Seokju Kwon <seokju.kwon@gmail.com>
Remove unused headers
https://bugs.webkit.org/show_bug.cgi?id=104428
Reviewed by Kentaro Hara.
Header inclusion cleanup.
Remove <WebCore/NotImplement.h>.
* Platform/qt/WorkQueueQt.cpp:
* Platform/win/WorkQueueWin.cpp:
* Shared/qt/ShareableBitmapQt.cpp:
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
* UIProcess/win/TextCheckerWin.cpp:
* UIProcess/win/WebContextMenuProxyWin.cpp:
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2012-12-07 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Remove unused source file from PlatformEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=104430
Reviewed by Kentaro Hara.
Shared/API/c/gtk/WKGraphicsContextGtk.cpp is not used for building WebKit2/EFL.
* PlatformEfl.cmake:
2012-12-07 Jer Noble <jer.noble@apple.com>
Allow the WebProcess access to the CoreMedia preferences file.
https://bugs.webkit.org/show_bug.cgi?id=104320
<rdar://problem/10904519>
Reviewed by Alexey Proskuryakov.
Allow read access to ~/Library/Preferences/com.apple.coremedia.plist and com.apple.avfoundation.plist
by the WebProcess. The QuickTime.plugin uses CoreMedia for playback, so allow PluginProcess
to access those preferences as well.
* PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in:
* WebProcess/com.apple.WebProcess.sb.in:
2012-12-07 Tim Horton <timothy_horton@apple.com>
[wk2] WebProcessServiceForWebKitDevelopment should forward stdout and stderr to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=104418
Reviewed by Simon Fraser.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToWebProcessServiceForWebKitDevelopment): Send stdout and stderr file descriptors to the WebProcess.
* WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
(WebProcessServiceForWebKitDevelopmentEventHandler): Replace the WebProcess' stdout and stderr with those from the UIProcess.
2012-12-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r136993.
http://trac.webkit.org/changeset/136993
https://bugs.webkit.org/show_bug.cgi?id=104415
This patch breaks the mac build (Requested by cabanier on
#webkit).
* win/WebKit2.def.in:
2012-12-07 Alexey Proskuryakov <ap@apple.com>
There is no need to change cached resource storage policy through ResourceHandleClient
https://bugs.webkit.org/show_bug.cgi?id=104413
Reviewed by Brady Eidson.
* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:
Deleted overrides of the removed willCacheResponse.
2012-12-07 Alexey Proskuryakov <ap@apple.com>
Network process should use a correct storage session in private browsing mode
<rdar://problem/12838490>
https://bugs.webkit.org/show_bug.cgi?id=104401
Reviewed by Brady Eidson.
Notify NetworkProcess when it needs to create or destroy a private browsing session,
and add a NetworkResourceLoadParameters member telling if the particular resource
should be requested using it.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
(WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
(WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
Added another dummy argument to dummy networking context.
* NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
Ensure private browsing session if it's needed due to a persistent preference, not
an API call at runtime (which is handled below as ensure/destroy).
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start): Pass private browsing state to RemoteNetworkingContext
used for loading.
(WebKit::NetworkResourceLoader::willCacheResponse): Added an implemntation that
matches WebCore, but may be not needed.
* NetworkProcess/mac/RemoteNetworkingContext.h: (WebKit::RemoteNetworkingContext::create):
Store privateBrowsingEnabled flag.
* NetworkProcess/mac/RemoteNetworkingContext.mm: (WebKit::RemoteNetworkingContext::storageSession):
Return a private session when it's in use.
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
Pass privateBrowsingEnabled flag to the new process.
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(WebKit::NetworkResourceLoadParameters::inPrivateBrowsingMode):
Pass inPrivateBrowsingMode flag for the request.
* UIProcess/Network/NetworkProcessManager.h: (WebKit::NetworkProcessManager::process):
Exposed, so that we can send messages without going through NetworkProcessManager.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::usesNetworkProcess):
(WebKit::anyContextUsesNetworkProcess):
(WebKit::WebContext::willStartUsingPrivateBrowsing):
(WebKit::WebContext::willStopUsingPrivateBrowsing):
Notify NetworkProcess when entering or exiting private browsing.
* UIProcess/WebContext.h: Exposed usesNetworkProcess() for the new static function
anyContextUsesNetworkProcess to use.
* WebProcess/Network/WebResourceLoadScheduler.cpp: (WebKit::WebResourceLoadScheduler::scheduleLoad):
Put current private browsing state over in NetworkResourceLoadParameters.
2012-12-07 Helder Correia <helder.correia@nokia.com>
[CoordGfx] Variable name starts with upper case character
https://bugs.webkit.org/show_bug.cgi?id=104327
Reviewed by Noam Rosenthal.
Just fixing a typo.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
2012-12-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
[WK2][EFL][Qt] Pixel alignment is wrong in some cases involving a non-integral content scale
https://webkit.org/b/103519
Reviewed by Noam Rosenthal.
This patch removes the blurriness by pixel aligning the layers. It
does not fully remove the shaking, only minimizes it.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::pagePosition):
As the pixel alignment of the main layer is moved to the
PageViewportController, rename discretePagePosition to just
pagePosition. It now returns a FloatPoint but the positions
should still be discrete.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
(WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::didChangeScrollPosition):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::visibleContentsRect):
(WebKit::LayerTreeCoordinator::setVisibleContentsRect):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
* WebProcess/WebPage/LayerTreeHost.h:
(WebCore):
(WebKit::LayerTreeHost::setVisibleContentsRect):
Change the internal scroll position/visible contents rect
to be represented as float positions. The rounding to integer
values not happens just before setFixesVisibleContentsRect.
This makes it possible to know our exact positions and
calculate proper scroll deltas.
(WebKit::LayerTreeRenderer::setLayerState):
Group anchor point, position and size together.
* UIProcess/PageViewportController.h:
(PageViewportController):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::boundContentsPositionAtScale):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
Some renaming as what was called viewportPos was actually the
contents position. Rename clampViewportToContents to
boundContentsPosition and remove scale argument which is has
direct access to.
Make the boundContentsPosition allow one extra pixel in each
orientation to allow for pixel alignment of fixed position layers
(WebKit::isIntegral):
(WebKit):
(WebKit::PageViewportController::pixelAlignedFloatPoint):
Introduce way to pixel align the main contents layer. Only in
use for EFL so far.
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::contentPosition):
(PageViewportControllerClientEfl):
Store the contents position as a FloatPoint.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::isIntegral):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::computePositionRelativeToBase):
(WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
Pixel align layers when the effective scale is not an integer
value. This code is based on code from GraphicsLayerCA.
2012-12-07 Alexey Proskuryakov <ap@apple.com>
REGRESSION (r136770): Assertion failure in sendMessage() whenever WebProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=104392
Reviewed by Anders Carlsson.
* Shared/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::sendMessage): Changed
back to using m_conection where it can be null.
2012-12-07 Jaehun Lim <ljaehun.lim@samsung.com>
[EFL][WK2] Add ewk_settings APIs for text autosizing
https://bugs.webkit.org/show_bug.cgi?id=103342
Reviewed by Kenneth Rohde Christiansen.
Add ewk_settings_text_autosizing_enabled_get / set() functions.
Text autosizing is disabled by default.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_text_autosizing_enabled_set):
(ewk_settings_text_autosizing_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-12-06 Rick Byers <rbyers@chromium.org>
CSS cursor property should support webkit-image-set
https://bugs.webkit.org/show_bug.cgi?id=99493
Reviewed by Beth Dakin.
Add ENABLE_MOUSE_CURSOR_SCALE - disabled by default.
* Configurations/FeatureDefines.xcconfig:
2012-12-06 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics: Rename WebLayerTreeInfo to CoordinatedLayerInfo
https://bugs.webkit.org/show_bug.cgi?id=103983
Reviewed by Noam Rosenthal.
This patch refactors WebLayerTreeInfo in 2 areas.
1. WebLayerTreeInfo is only used by Coordinated Graphics. So, the file
should be located in WebKit2/Shared/CoordinatedGraphics instead of
WebKit2/Shared.
2. The name of WebLayerTreeInfo is incorrect. Currently,
WebLayerTreeInfo only has WebLayerInfo struct. Also, it is hard to know
what WebLayer is since we don't use that name anymore. More appropriate
name for WebLayerInfo would be CoordinatedLayerInfo.
No new test, because no behavioral change.
* CMakeLists.txt:
* Scripts/webkit2/messages.py:
(headers_for_type):
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.cpp: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.cpp.
(WebKit):
(WebKit::CoordinatedLayerInfo::encode):
(WebKit::CoordinatedLayerInfo::decode):
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.h: Renamed from Source/WebKit2/Shared/WebLayerTreeInfo.h.
(WebKit):
(WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
(CoordinatedLayerInfo):
* Shared/LayerTreeContext.h:
(LayerTreeContext):
* Shared/efl/LayerTreeContextEfl.cpp:
(WebKit::LayerTreeContext::LayerTreeContext):
(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):
(WebKit::LayerTreeContext::isEmpty):
(WebKit::operator==):
* Shared/qt/LayerTreeContextQt.cpp:
(WebKit::LayerTreeContext::LayerTreeContext):
(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):
(WebKit::LayerTreeContext::isEmpty):
(WebKit::operator==):
* Target.pri:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
(WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
(WebKit::LayerTreeCoordinatorProxy::createCanvas):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
(WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(WebKit):
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::createLayer):
(WebKit::LayerTreeRenderer::createCanvas):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::destroyCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::ensureLayer):
(WebKit::LayerTreeRenderer::setRootLayerID):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::ensureRootLayer):
(WebKit::LayerTreeRenderer::purgeGLResources):
(WebKit::LayerTreeRenderer::setLayerAnimations):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit):
(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::layerByID):
* UIProcess/DrawingAreaProxy.h:
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::layerByIDMap):
(WebCore::toCoordinatedLayerID):
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::id):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::syncLayerState):
(WebKit::LayerTreeCoordinator::syncLayerChildren):
(WebKit::LayerTreeCoordinator::createCanvas):
(WebKit::LayerTreeCoordinator::syncCanvas):
(WebKit::LayerTreeCoordinator::destroyCanvas):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit::LayerTreeCoordinator::createTile):
(WebKit::LayerTreeCoordinator::updateTile):
(WebKit::LayerTreeCoordinator::removeTile):
(WebKit::LayerTreeCoordinator::setLayerAnimations):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-12-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r136900.
http://trac.webkit.org/changeset/136900
https://bugs.webkit.org/show_bug.cgi?id=104318
Unreviewed build for Windows port. (Requested by rfong on
#webkit).
* win/WebKit2.def.in:
2012-12-06 Jon Lee <jonlee@apple.com>
Retry snapshots if they are too empty
https://bugs.webkit.org/show_bug.cgi?id=104174
<rdar://problem/12820146>
Reviewed by Simon Fraser.
* WebProcess/Plugins/PluginView.h: Add a new variable that keeps track of the number of times we've
retried to come up with a snapshot.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::PluginView): Initialize the count to 0.
(WebKit::isAlmostSolidColor): Figure out if the image is almost a solid color by overlaying
a grid of dots, and calculate the differences among them. If the average color difference is greater than
a threshold, we consider it to have meaningful content. For now we expect a minimum size and a specific
bitmap image format, otherwise we return early.
(WebKit::PluginView::pluginSnapshotTimerFired): If we have a snapshot image to look at, and if it is
evaluated to be too empty, then try again.
2012-12-06 Tony Chang <tony@chromium.org>
Unreviewed, Apple Win Debug build fix.
* win/WebKit2.def.in: Add 2 symbols that are needed by the debug build.
2012-12-06 Alexey Proskuryakov <ap@apple.com>
Track private browsing session in network process
https://bugs.webkit.org/show_bug.cgi?id=104281
Reviewed by Jessie Berlin.
Added ensure/destroy messages that match what's done in WebProcess. Also similarly,
ensuring a private session may happen on demand if network process has been restarted
after a crash, or if private browsing is enabled via a persistent preference.
Eventually, we should find a way to share code between WebFrameNetworkingContext
and RemoteNetworkingContext.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::ensurePrivateBrowsingSession):
(WebKit::NetworkProcess::destroyPrivateBrowsingSession):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/mac/RemoteNetworkingContext.h:
(RemoteNetworkingContext):
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::privateBrowsingStorageSessionIdentifierBase):
(WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
(NetworkProcessCreationParameters):
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
2012-12-06 Laszlo Gombos <l.gombos@samsung.com>
[EFL] Remove ENABLE_GLIB_SUPPORT CMake variable
https://bugs.webkit.org/show_bug.cgi?id=104278
Reviewed by Brent Fulgham.
The guards are not required as it is always set for EFL.
* PlatformEfl.cmake:
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
2012-12-06 Tony Chang <tony@chromium.org>
REGRESSION(r135082): Restore the ability to insert author level style sheets from script
https://bugs.webkit.org/show_bug.cgi?id=104042
Reviewed by Antti Koivisto.
Update exports for Internals.cpp.
* win/WebKit2.def.in:
2012-12-06 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
https://bugs.webkit.org/show_bug.cgi?id=104269
Unreviewed, trivialy fixing last minute change.
Move signal emission to the correct place.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::onComponentComplete):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
2012-12-06 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fix QWebKitTest's notification of device pixel ratio change
https://bugs.webkit.org/show_bug.cgi?id=104269
Reviewed by Kenneth Rohde Christiansen.
Since the ViewportInfoItem of MiniBrowser is created before the
WebView finishes construction, thus before the viewport controller
has been instantiated, the shown device pixel ratio was incorrect.
Additionally QWebKitTest's notification signal was also not emitted
when the value changed.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
2012-12-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r136788.
http://trac.webkit.org/changeset/136788
https://bugs.webkit.org/show_bug.cgi?id=104260
Asserts on EFL WebKit2 Debug bot (Requested by yael on
#webkit).
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::setRootLayerID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-12-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r136795.
http://trac.webkit.org/changeset/136795
https://bugs.webkit.org/show_bug.cgi?id=104257
Asserts on EFL WebKit2 Debug bot (Requested by yael on
#webkit).
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setRootLayerID):
2012-12-06 Shinya Kawanaka <shinyak@chromium.org>
Internals.getElementByIdInShadowRoot is nonsense now.
https://bugs.webkit.org/show_bug.cgi?id=104241
Reviewed by Kent Tamura.
* win/WebKit2.def.in:
2012-12-06 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Context clients should unregister themselves when destroyed
https://bugs.webkit.org/show_bug.cgi?id=104113
Reviewed by Kenneth Rohde Christiansen.
Make sure the context clients (History and Download clients)
unregister themselves when destroyed to make sure their
callback functions are never called after the client objects
have been destroyed (i.e. when the parent Ewk_Context has
been destroyed).
This addresses crashing issues after a Ewk_Context object
gets unref'd and destroyed.
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
(WebKit):
(WebKit::ContextHistoryClientEfl::~ContextHistoryClientEfl):
* UIProcess/efl/ContextHistoryClientEfl.h:
(ContextHistoryClientEfl):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::~DownloadManagerEfl):
(WebKit):
* UIProcess/efl/DownloadManagerEfl.h:
(DownloadManagerEfl):
2012-12-05 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=103843
Reviewed by Noam Rosenthal.
Clarify LayerTreeRenderer::setRootLayerID() can be called only once during its
lifecycle. LayerTreeRenderer, LayerTreeCoordinator and LayerTreeCoordinatorProxy
have the same lifecycle to WebPage and the root layer is reused even if loading
new page, so it is impossible to call LayerTreeRenderer::setRootLayerID() more
than twice.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setRootLayerID):
2012-12-05 Brent Fulgham <bfulgham@webkit.org>
[Windows, WinCairo] Regenerate .def files on changes
https://bugs.webkit.org/show_bug.cgi?id=104136
Reviewed by Tim Horton.
The new .def file generator is not regenerating the link
export definitions once it creates the definition file
the first time. You must clean the build directory for
new symbols to be added (or removed).
* win/WebKit2.vcproj: Change the WebKit2.def file reference to
point to the generated version of the file.
* win/WebKit2ExportGenerator.vcproj: Add WebKit2.def.in as a source
file that participates in the build so that Visual Studio knows
to build the project when the file changes.
* win/WebKit2ExportGeneratorBuildCmd.cmd: Added. Refactor build
command into its own shell script.
* win/WebKit2ExportGeneratorPostBuild.cmd: Call new BuildCmd script.
* win/WebKit2ExportGeneratorPreBuild.cmd: Delete the old generator
and definition files to ensure a clean build.
2012-12-05 Halton Huo <halton.huo@intel.com>
[CMake] Unify coding style for CMake files
https://bugs.webkit.org/show_bug.cgi?id=103605
Reviewed by Laszlo Gombos.
Update cmake files(.cmake, CMakeLists.txt) with following style rules:
1. Indentation
1.1 Use spaces, not tabs.
1.2 Four spaces as indent.
2. Spacing
2.1 Place one space between control statements and their parentheses.
For eg, if (), else (), elseif (), endif (), foreach (),
endforeach (), while (), endwhile (), break ().
2.2 Do not place spaces between function and macro statements and
their parentheses. For eg, macro(), endmacro(), function(),
endfunction().
2.3 Do not place spaces between a command or function or macro and its
parentheses, or between a parenthesis and its content. For eg,
message("testing") not message( "testing") or message ("testing" )
2.4 No space at line ending.
3. Lowercase when call commands macros and functions. For eg,
add_executable() not ADD_EXECUTABLE(), set() not SET().
* CMakeLists.txt:
* PlatformEfl.cmake:
* win/WebKit2ExportGenerator.vcproj:
* win/WebKit2ExportGeneratorCommon.vsprops:
2012-12-05 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=103843
Reviewed by Noam Rosenthal.
Send SetRootCompositingLayer message to the UI process in the
constructor instead of sending it on the first flush.
This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::setRootLayerID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::initializeRootCompositingLayer):
(WebKit):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-12-05 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Don't use the C API internally in ewk_cookie_manager
https://bugs.webkit.org/show_bug.cgi?id=103243
Reviewed by Gyuyoung Kim.
Used the C++ classes directly instead of the C API wrappers
to avoid a lot of toImpl/toAPI casts.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::cookieManager):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(EwkCookieManager::EwkCookieManager):
(EwkCookieManager::~EwkCookieManager):
(EwkCookieManager::setPersistentStorage):
(EwkCookieManager::setHTTPAcceptPolicy):
(EwkCookieManager::clearHostnameCookies):
(EwkCookieManager::clearAllCookies):
(EwkCookieManager::watchChanges):
(EwkCookieManager::getHostNamesWithCookies):
(EwkCookieManager::getHTTPAcceptPolicy):
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(EwkCookieManager::create):
(EwkCookieManager):
2012-12-05 No'am Rosenthal <noam@webkit.org>
Coordinated Graphics: Enable support for setContentsToBackgroundColor
https://bugs.webkit.org/show_bug.cgi?id=104128
Reviewed by Kenneth Rohde Christiansen.
Enable setContentsToBackgroundColor in CoordinatedGraphicsLayer, and pass it through to the UI process.
* Shared/WebLayerTreeInfo.h:
(WebLayerInfo):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerState):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToBackgroundColor):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-12-05 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12809890> Should allow sandbox lookup of com.apple.tccd
Reviewed by Beth Dakin and Dan Bernstein.
* WebProcess/com.apple.WebProcess.sb.in:
2012-12-05 Alexey Proskuryakov <ap@apple.com>
[WK2] Would like to queue messages while NetworkProcess is launching
https://bugs.webkit.org/show_bug.cgi?id=104143
Reviewed by Anders Carlsson.
Factored out process launching and message sending code to a ChildProcessProxy class.
Process closing and crashing code should be moved once we better understand common
requirements for the processes.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
Added ChildProcessProxy files.
* Shared/ChildProcessProxy.cpp: Added.
(WebKit::ChildProcessProxy::ChildProcessProxy):
(WebKit::ChildProcessProxy::~ChildProcessProxy):
(WebKit::ChildProcessProxy::fromConnection):
(WebKit::ChildProcessProxy::connect):
(WebKit::ChildProcessProxy::terminate):
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::isLaunching):
(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::clearConnection):
* Shared/ChildProcessProxy.h: Added.
(WebKit::ChildProcessProxy::connection):
(WebKit::ChildProcessProxy::isValid):
(WebKit::ChildProcessProxy::canSendMessage):
(WebKit::ChildProcessProxy::processIdentifier):
(WebKit::ChildProcessProxy::send):
(WebKit::ChildProcessProxy::sendSync):
Moved code from WebProcessProxy. Every ChildProcessProxy is a connection client,
but every one is a connection queue client, so that latter is passed as an argument.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
Removed unused syncMessageSendTimedOut(), thank you OVERRIDE.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getLaunchOptions):
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::setApplicationIsOccluded):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::getLaunchOptions):
(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::didFinishLaunching):
Use shared code.
* UIProcess/WebProcessProxy.h: (WebKit::WebProcessProxy::fromConnection):
NetworkProcess inherits from conneciton client privately, so we need to do most
of the work in ClientProcessProxy, and further upcast here.
* UIProcess/efl/WebProcessProxyEfl.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
* UIProcess/gtk/WebProcessProxyGtk.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
* UIProcess/qt/WebProcessProxyQt.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
* UIProcess/win/WebProcessProxyWin.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
Updated for renaming, platformConnect -> platformGetLaunchOptions().
2012-12-05 Kiran Muppala <cmuppala@apple.com>
WebKit2 child processes need to initialize timer coalescing policy on Mac.
https://bugs.webkit.org/show_bug.cgi?id=103613
Reviewed by Mark Rowe.
Set timer coalescing policy of WebKit2 child processes to that of visible applications
until they can manage the policy based on UI process visibility.
* Shared/mac/ChildProcessMac.mm:
(WebKit::initializeTimerCoalescingPolicy): Set task_latency and task_throughput QOS tiers as appropriate
for visible applications.
(WebKit::ChildProcess::platformInitialize): Add call to initializeTimerCoalescingPolicy.
2012-12-05 Anders Carlsson <andersca@apple.com>
Connection::waitForMessage shouldn't use the message ID
https://bugs.webkit.org/show_bug.cgi?id=104157
Reviewed by Andreas Kling.
Pass the message receiver name and message name to waitForMessage and use them for lookups instead of
the message ID.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::waitForAndDispatchImmediately):
2012-12-05 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics: Move AreaAllocator and UpdateAtlas to CoordinatedGraphics
https://bugs.webkit.org/show_bug.cgi?id=103864
Reviewed by Noam Rosenthal.
AreaAllocator and UpdateAtlas are only used for Coordinated Graphics.
So, these should be moved to CoordinatedGraphics to clarify the code.
No new test, because no change of behavior.
* CMakeLists.txt:
* Target.pri:
* WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.cpp.
(WebKit):
(WebKit::AreaAllocator::AreaAllocator):
(WebKit::AreaAllocator::~AreaAllocator):
(WebKit::AreaAllocator::expand):
(WebKit::AreaAllocator::expandBy):
(WebKit::AreaAllocator::release):
(WebKit::AreaAllocator::overhead):
(WebKit::AreaAllocator::roundAllocation):
(WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
(WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
(WebKit::GeneralAreaAllocator::freeNode):
(WebKit::GeneralAreaAllocator::expand):
(WebKit::fitsWithin):
(WebKit::GeneralAreaAllocator::allocate):
(WebKit::GeneralAreaAllocator::allocateFromNode):
(WebKit::GeneralAreaAllocator::splitNode):
(WebKit::GeneralAreaAllocator::updateLargestFree):
(WebKit::GeneralAreaAllocator::release):
(WebKit::GeneralAreaAllocator::overhead):
* WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h: Renamed from Source/WebKit2/WebProcess/WebPage/AreaAllocator.h.
(WebCore::nextPowerOfTwo):
(WebCore):
(WebKit):
(AreaAllocator):
(WebKit::AreaAllocator::size):
(WebKit::AreaAllocator::minimumAllocation):
(WebKit::AreaAllocator::setMinimumAllocation):
(WebKit::AreaAllocator::margin):
(WebKit::AreaAllocator::setMargin):
(GeneralAreaAllocator):
(Node):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.cpp.
(WebKit):
(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit::UpdateAtlas::~UpdateAtlas):
(WebKit::UpdateAtlas::buildLayoutIfNeeded):
(WebKit::UpdateAtlas::didSwapBuffers):
(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Renamed from Source/WebKit2/WebProcess/WebPage/UpdateAtlas.h.
(WebCore):
(WebKit):
(UpdateAtlasClient):
(UpdateAtlas):
(WebKit::UpdateAtlas::size):
(WebKit::UpdateAtlas::flags):
(WebKit::UpdateAtlas::addTimeInactive):
(WebKit::UpdateAtlas::isInactive):
(WebKit::UpdateAtlas::isInUse):
2012-12-05 Michael Brüning <michael.bruning@digia.com>
Fix compilation for Qt5.0.0 stable branch.
https://bugs.webkit.org/show_bug.cgi?id=103870
Reviewed by Simon Hausmann.
QWindow::pos() and QQuickItem::pos() have been renamed to position().
Patch by Lars Knoll <lars.knoll@digia.com>
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
(WebKit::PageViewportControllerClientQt::setViewportPosition):
2012-12-05 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] EWK2UnitTestBase.ewk_favicon_database_async_icon_get is crashing with new Ewk_Context
https://bugs.webkit.org/show_bug.cgi?id=104110
Reviewed by Laszlo Gombos.
Unregister the WKFaviconDatabase client in EwkFaviconDatabase
destructor to avoid crashing if the callbacks get called
after the EwkFaviconDatabase object has been destroyed (i.e.
the parent EwkContext object was destroyed).
* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::~EwkFaviconDatabase):
2012-12-05 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] REGRESSION(r135399): It made qmltests::DoubleTapToZoom::test_double_zoomInAndBack() API test fail
https://bugs.webkit.org/show_bug.cgi?id=103889
Reviewed by Jocelyn Turcotte.
The client should always be notified in PageViewportController::didChangeViewportAttributes
about the changed attributes not only if the minimum scale changed. This ensures that these
changes are propagated to QWebKitTest and the zoom stack of double-tap-to-zoom is reset correctly.
Also increase precision of scale comparisons since the current value resulted in flakyness in
scale related API tests.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::updateMinimumScaleToFit):
2012-12-05 Christophe Dumez <christophe.dumez@intel.com>
[CoordinatedGraphics] Use unsigned integers for CoordinatedTile IDs
https://bugs.webkit.org/show_bug.cgi?id=103816
Reviewed by Jocelyn Turcotte.
Use unsigned integer for CoordinatedTile identifier type.
CoordinatedTile was previously using signed integers for
its identifier which is unsafe because the generated ID
will overflow at some point and the C and C++ language
standards say that overflow of a signed value is undefined
behaviour.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::createTile):
(WebKit::CoordinatedBackingStore::removeTile):
(WebKit::CoordinatedBackingStore::removeAllTiles):
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
(WebKit):
(WebKit::CoordinatedTile::CoordinatedTile):
(WebKit::CoordinatedTile::~CoordinatedTile):
(WebKit::CoordinatedTile::updateBackBuffer):
(WebKit::CoordinatedTile::isReadyToPaint):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
(CoordinatedTile):
(CoordinatedTileClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createTile):
(WebKit::LayerTreeCoordinator::updateTile):
(WebKit::LayerTreeCoordinator::removeTile):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-12-05 Yuni Jeong <yhnet.jung@samsung.com>
[EFL][WK2] Add APIs to get/set private browsing.
https://bugs.webkit.org/show_bug.cgi?id=102052
Reviewed by Gyuyoung Kim.
Private Browsing allows a user to browse the Internet without saving any information about which sites and pages a user has visited.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_private_browsing_enabled_set):
(ewk_settings_private_browsing_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-12-05 Joaquim Rocha <jrocha@igalia.com>
URL schemes registered as local, no access, display isolated and as CORS enabled are not registered again after a web process crash
https://bugs.webkit.org/show_bug.cgi?id=104013
Reviewed by Darin Adler.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Iterate through the schemes stored in
urlSchemesRegisteredAsLocal, urlSchemesRegisteredAsNoAccess,
urlSchemesRegisteredAsDisplayIsolated and urlSchemesRegisteredAsCORSEnabled and
call the respective (already existing) methods for registering them.
2012-12-04 Yuni Jeong <yhnet.jung@samsung.com>
[EFL][WK2] Add APIs to get/set default font size.
https://bugs.webkit.org/show_bug.cgi?id=101921
Reviewed by Gyuyoung Kim.
Add setting APIs for default font size and a unit test.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_default_font_size_set):
(ewk_settings_default_font_size_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-12-04 Anders Carlsson <andersca@apple.com>
Remove #ifs that are always true
https://bugs.webkit.org/show_bug.cgi?id=104080
Reviewed by Andreas Kling.
__MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 is always true, so remove all the #ifs.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox):
(WebKit::PluginProcess::platformInitialize):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):
* Shared/DictionaryPopupInfo.h:
* Shared/mac/WebEventFactory.mm:
(WebKit::phaseForEvent):
(WebKit::momentumPhaseForEvent):
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
(WebKit::initializeSandbox):
(WebKit::SharedWorkerProcess::platformInitialize):
* UIProcess/API/mac/PDFViewController.mm:
(WebKit::PDFViewScrollView_scrollWheel):
(WebKit::PDFViewController::pdfKitBundle):
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformDictionaryLookup):
(WebKit::PageClientImpl::dismissDictionaryLookupPanel):
(WebKit::PageClientImpl::recordAutocorrectionResponse):
(WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
* UIProcess/API/mac/WKView.mm:
(-[WKView displayIfNeeded]):
(-[WKView draggingUpdated:]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _intrinsicDeviceScaleFactor]):
(-[WKView _cacheWindowBottomCornerRect]):
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
(+[WKView hideWordDefinitionWindow]):
* UIProcess/Launcher/mac/EnvironmentVariables.cpp:
* UIProcess/Launcher/mac/EnvironmentVariables.h:
(EnvironmentVariables):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::addDYLDEnvironmentAdditions):
(WebKit::createWebProcessServiceForWebKitDevelopment):
(WebKit):
(WebKit::tryPreexistingProcess):
(WebKit::createProcess):
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldUsePlugin):
(WebKit::PluginInfoStore::reactivateInactivePlugin):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializePluginProcess):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::recordAutocorrectionResponse):
(WebKit::WebPageProxy::handleAlternativeTextUIResult):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/TextCheckerMac.mm:
(WebKit::initializeState):
(WebKit::TextChecker::getGuessesForWord):
* UIProcess/mac/WKFullScreenWindowController.mm:
(convertRectToScreen):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebKit2Prefix.h:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupForRange):
* WebProcess/mac/SecItemShimMethods.mm:
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::secItemResponse):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcessService/WebProcessServiceMain.mm:
(main):
* WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
(WebProcessServiceForWebKitDevelopmentEventHandler):
(main):
2012-12-04 Anders Carlsson <andersca@apple.com>
Remove more Snow Leopard only code
https://bugs.webkit.org/show_bug.cgi?id=104079
Reviewed by Andreas Kling.
All of the SecKeychainItem code was Snow Leopard only.
* Shared/mac/SecKeychainItemRequestData.cpp: Removed.
* Shared/mac/SecKeychainItemRequestData.h: Removed.
* Shared/mac/SecKeychainItemResponseData.cpp: Removed.
* Shared/mac/SecKeychainItemResponseData.h: Removed.
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
* UIProcess/mac/WebProcessProxyMac.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/mac/KeychainItemShimMethods.h: Removed.
* WebProcess/mac/KeychainItemShimMethods.mm: Removed.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::initializeShim):
* WebProcess/mac/WebProcessShim.mm:
2012-12-04 Anders Carlsson <andersca@apple.com>
Remove PageClient::didChangeScrollbarsForMainFrame
https://bugs.webkit.org/show_bug.cgi?id=104077
Reviewed by Andreas Kling.
The aforementioned function was only used to implement some Snow Leopard specific behavior that we no longer support.
* UIProcess/API/gtk/PageClientImpl.cpp:
* UIProcess/API/gtk/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.mm:
* UIProcess/API/mac/WKView.mm:
(-[WKView viewWillMoveToWindow:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/qt/raw/qrawwebview_p_p.h:
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
* UIProcess/efl/PageClientBase.cpp:
(WebKit):
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/qt/QtPageClient.h:
* UIProcess/win/WebView.cpp:
* UIProcess/win/WebView.h:
(WebView):
2012-12-04 Andy Estes <aestes@apple.com>
[WebKit2] WKWebProcessPlugInBrowserContextControllers should be treated as type WKBrowsingContextControllerType for encoding purposes
https://bugs.webkit.org/show_bug.cgi?id=104063
Reviewed by Sam Weinig.
Objective-C message graphs can include browsing context controller
objects, which are decoded as WKWebProcessPlugInBrowserContextControllers
in the web process plug-in and as WKBrowsingContextControllers in the UI
process. Ensure we correctly encode WKWebProcessPlugInBrowserContextControllers
by treating them as type WKBrowsingContextControllerType.
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::typeFromObject):
2012-12-04 Simon Fraser <simon.fraser@apple.com>
Show a mini visualizer for the tile cache tiles
https://bugs.webkit.org/show_bug.cgi?id=104053
Reviewed by Beth Dakin.
Plumb through a preference that controls the visibility of a tiled
scrolling indicator, and parent that layer in the TiledCoreAnimationDrawingArea.
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetTiledScrollingIndicatorVisible):
(WKPreferencesGetTiledScrollingIndicatorVisible):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::mainFrameTiledBacking):
(WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
2012-12-04 Anders Carlsson <andersca@apple.com>
Set the visible process name before entering the sandbox
https://bugs.webkit.org/show_bug.cgi?id=104030
<rdar://problem/12800317>
Reviewed by Sam Weinig.
Pass the UI process name along as a process initialization parameter so we can set it
before entering the sandbox. Remove the UI process name from WebProcessCreationParameters.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToWebProcessServiceForWebKitDevelopment):
(WebKit::createWebProcessService):
(WebKit::createProcess):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/mac/WebProcessInitialization.h:
(WebProcessInitializationParameters):
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::initializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcess/mac/WebProcessServiceEntryPoints.h:
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
* WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
(WebProcessServiceForWebKitDevelopmentEventHandler):
2012-12-03 Alexey Proskuryakov <ap@apple.com>
[WK2] Track private browsing session explicitly
<rdar://problem/12714532>
https://bugs.webkit.org/show_bug.cgi?id=103953
Reviewed by Jessie Berlin.
* Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode):
Fixed a confusing ifdef - this code is inside PLATFORM(WIN), so PLATFORM(MAC)
makes no sense.
* UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
This is the only place in WK2 where we can learn that private browsing got disabled -
no other functions are called when there are no pages open.
* UIProcess/WebContext.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::willStartUsingPrivateBrowsing):
(WebKit::WebContext::willStopUsingPrivateBrowsing):
Count the number of API calls. We only implement a single shared private browsing
session, not one per page group as API implies. When private browsing gets disabled,
we want to destroy its session.
* WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
Ensure a private browsing session if the current page needs it.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):
Call through to WebFrameNetworkingContext.
2012-12-04 Yuni Jeong <yhnet.jung@samsung.com>
[EFL][WK2] Add APIs to toggle plug-ins support.
https://bugs.webkit.org/show_bug.cgi?id=101920
Reviewed by Gyuyoung Kim.
Add setting APIs to toggle plug-ins support and add corresponding API tests.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_plugins_enabled_set):
(ewk_settings_plugins_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-12-04 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Do not override previously set flags of QQuickWebView when enabling drag&drop
https://bugs.webkit.org/show_bug.cgi?id=103901
Reviewed by Jocelyn Turcotte.
Setting the specific flag instead of resetting all the flags
when enabling QQuickItem::ItemAcceptsDrops.
This fixes clipping of the contents of QQuickWebView.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
2012-12-04 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Avoid unnecessary heap allocations during drag and drop operations
https://bugs.webkit.org/show_bug.cgi?id=87938
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDragDataReceived): Create DragData for the given
DataObjectGtk in the stack.
(webkitWebViewBaseDragMotion): Ditto.
(webkitWebViewBaseDragDrop): Ditto.
2012-12-04 Jaehun Lim <ljaehun.lim@samsung.com>
[EFL][WK2] Use consistent class names inside Ewk classes
https://bugs.webkit.org/show_bug.cgi?id=103015
Reviewed by Gyuyoung Kim.
WebKit EFL doesn't use '_' in class names.
This patch removes the remaining uses of '_' inside Ewk classes.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::~EwkViewImpl):
(EwkViewImpl::informIconChange):
(EwkViewImpl::requestColorPicker):
(EwkViewImpl::requestPopupMenu):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(EwkBackForwardList::nextItem):
(EwkBackForwardList::previousItem):
(EwkBackForwardList::currentItem):
(EwkBackForwardList::itemAt):
(EwkBackForwardList::getFromCacheOrCreate):
(EwkBackForwardList::createEinaList):
* UIProcess/API/efl/ewk_back_forward_list_private.h:
(EwkBackForwardList):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::cookieManager):
(EwkContext::databaseManager):
(EwkContext::ensureFaviconDatabase):
(EwkContext::faviconDatabase):
(EwkContext::storageManager):
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(EwkCookieManager::cookiesDidChange):
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(EwkCookieManager::create):
* UIProcess/API/efl/ewk_database_manager.cpp:
(EwkDatabaseManager::createOriginList):
(getDatabaseOriginsCallback):
* UIProcess/API/efl/ewk_database_manager_private.h:
(EwkDatabaseManager):
* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::didChangeIconForPageURL):
(EwkFaviconDatabase::iconDataReadyForPageURL):
* UIProcess/API/efl/ewk_popup_menu.cpp:
(EwkPopupMenu::EwkPopupMenu):
(EwkPopupMenu::~EwkPopupMenu):
* UIProcess/API/efl/ewk_storage_manager.cpp:
(EwkStorageManager::createOriginList):
(getStorageOriginsCallback):
* UIProcess/API/efl/ewk_storage_manager_private.h:
(EwkStorageManager):
2012-12-03 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=103843
Reviewed by Noam Rosenthal.
Remove updateViewport() in LayerTreeCoordinatorProxy::setRootCompositingLayer()
because LayerTreeCoordinatorProxy::didRenderFrame() is always called after
setting the root layer. There is no behaviour changes because setting the root
layer isn't actually applied to TextureMapperLayer until DidRenderFrame message
is received.
This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2012-12-03 Anders Carlsson <andersca@apple.com>
Make it easier to add more web process initialization parameters
https://bugs.webkit.org/show_bug.cgi?id=103942
Reviewed by Andreas Kling.
Add a WebProcessInitializationParameters struct to make it easier to add more initialization
parameters in the future. Also, fix naming and spelling errors.
* WebProcess/mac/WebProcessInitialization.h:
(WebProcessInitializationParameters):
(WebKit):
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::initializeWebProcess):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcess/mac/WebProcessServiceEntryPoints.h:
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(webProcessServiceMain):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
* WebProcessService/WebProcessServiceMain.mm:
(main):
* WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:
(WebProcessServiceForWebKitDevelopmentEventHandler):
2012-12-03 Tim Horton <timothy_horton@apple.com>
PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
https://bugs.webkit.org/show_bug.cgi?id=103286
<rdar://problem/12752315>
Reviewed by Dan Bernstein.
Style fixes after http://trac.webkit.org/changeset/136316.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::isFullFramePlugin):
2012-12-03 Alexis Menard <alexis@webkit.org>
[Mac] Enable CSS3 background-position offset by default.
https://bugs.webkit.org/show_bug.cgi?id=103905
Reviewed by Simon Fraser.
Turn the flag on by default.
* Configurations/FeatureDefines.xcconfig:
2012-12-03 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Add contents,size,changed signal to the ewk_view API
https://bugs.webkit.org/show_bug.cgi?id=103094
Reviewed by Kenneth Rohde Christiansen.
This patch emits signal to let applications know contents size.
Applications can use this signal to give some additional behavior such as
minimap, external scroll for quick movement.
* UIProcess/API/efl/EwkViewCallbacks.h: Added contents,size,changed signal.
* UIProcess/API/efl/EwkViewImpl.cpp: Removed dead code.
* UIProcess/API/efl/EwkViewImpl.h: Ditto.
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.h: Added test case.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(onContentsSizeChanged):
(TEST_F):
* UIProcess/efl/PageClientDefaultImpl.cpp: Emitted contents,size,changed signal.
(WebKit::PageClientDefaultImpl::didChangeContentsSize):
* UIProcess/efl/PageClientLegacyImpl.cpp: Ditto.
(WebKit::PageClientLegacyImpl::didChangeContentsSize):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::contentsSizeChanged):
Sended DidChangeContentsSize message although TILED_BACKINGSTORE is disabled.
2012-12-03 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed fix after r136292 to make GIT-SVN repositories happy.
* win/WebKit2ExportGenerator.vcproj: Added property svn:eol-style.
* win/WebKit2ExportGeneratorCommon.vsprops: Added property svn:eol-style.
* win/WebKit2ExportGeneratorDebug.vsprops: Added property svn:eol-style.
* win/WebKit2ExportGeneratorDebugAll.vsprops: Added property svn:eol-style.
* win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added property svn:eol-style.
* win/WebKit2ExportGeneratorPostBuild.cmd: Added property svn:eol-style.
* win/WebKit2ExportGeneratorPreBuild.cmd: Added property svn:eol-style.
* win/WebKit2ExportGeneratorProduction.vsprops: Added property svn:eol-style.
* win/WebKit2ExportGeneratorRelease.vsprops: Added property svn:eol-style.
* win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added property svn:eol-style.
2012-12-03 Michael Brüning <michael.bruning@digia.com>
[Qt][WK2] New resize tests fail
https://bugs.webkit.org/show_bug.cgi?id=103875
Reviewed by Jocelyn Turcotte.
Removes reference to unused viewportSpy, adds clearing the sizeSpy to the init method instead.
* UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml:
2012-12-03 Joaquim Rocha <jrocha@igalia.com>
[GTK] Custom URI schemes stop working on Epiphany using WebKit2 after killing the web process
https://bugs.webkit.org/show_bug.cgi?id=103729
Reviewed by Carlos Garcia Campos.
When a URI scheme is registered and the WebProcess is killed,
those schemes would not work anymore after the process is relaunched.
This was observed in Epiphany and possibly affects any port that
uses libsoup.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Encode the registered URI schemes.
(WebKit::WebProcessCreationParameters::decode): Decode the registered URI schemes.
* Shared/WebProcessCreationParameters.h: Add the urlSchemesRegistered Vector to hold the registered URI schemes.
(WebProcessCreationParameters):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
registered in the WebSoupRequestManagerProxy and removed the notImplemented() call.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess): Assign the parameters.urlSchemesRegistered from the URI schemes
registered in the WebSoupRequestManagerProxy.
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::registerURIScheme): Add the given scheme to the m_registeredURISchemes Vector.
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Return the m_registeredURISchemes.
(WebSoupRequestManagerProxy): Define the m_registeredURISchemes to hold the schemes that are registered.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Call m_soupRequestManager.registerURIScheme for each URI scheme
found in the parameters.
* WebProcess/soup/WebSoupRequestManager.h: Make registerURIScheme public.
(WebSoupRequestManager):
2012-12-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
CSS Device Adaptation: window.innerWidth returns wrong value if CSS viewport descriptors are applied
https://bugs.webkit.org/show_bug.cgi?id=103737
Reviewed by Kenneth Rohde Christiansen.
ViewportStyleResolver used frame view visibleContentRect size as initial viewport size.
This however caused a problem when page enabled/disabled CSS stylesheets, having viewport
descriptors. Viewport descriptors from new stylesheet were applied to the visibleContentRect
affected already by the viewport descriptors from the previous stylesheet.
New 'initialViewportSize' property (http://dev.w3.org/csswg/css-device-adapt/#initial-viewport)
was added to frame view so that viewport descriptors can always be applied to the reliable
viewport size.
Both newly added 'initialViewportSize' property and 'fixedVisibleContentRect' property
are assigned appropriately now in WebPage::sendViewportAttributesChanged().
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
2012-12-02 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Reorder messages to LayerTreeCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=103843
Reviewed by Noam Rosenthal.
Send messages to the UI process by the tree order.
This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2012-12-02 Ryuan Choi <ryuan.choi@gmail.com>
[EFL][WK2] Update comments of header files which mentions deprecated API
https://bugs.webkit.org/show_bug.cgi?id=103718
Reviewed by Gyuyoung Kim.
Updated comments which mentions XXX_unref() which was replaced to ewk_object_unref()
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_database_manager.h:
* UIProcess/API/efl/ewk_storage_manager.h:
2012-12-02 Huang Dongsung <luxtella@company100.net>
REGRESSION(r134376): ASSERT(!m_mainBackingStore) hits in CoordinatedGraphicsLayer::syncImageBacking().
https://bugs.webkit.org/show_bug.cgi?id=103845
Reviewed by Noam Rosenthal.
flushCompositingStateForThisLayerOnly() calls syncImageBacking() before calling
updateContentBuffers(). It means there can be the moment that
CoordinatedGraphicsLayer has m_mainBackingStore although
shouldHaveBackingStore() return false.
This patch changes syncImageBacking() to check shouldHaveBackingStore() instead
of m_mainBackingStore.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore):
(WebCore):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-12-02 Seokju Kwon <seokju.kwon@gmail.com>
Rename WebSocketServerGtk.cpp as WebSocketServerSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=103743
Reviewed by Gustavo Noronha Silva.
EFL port is using a GSocket based implementation as well.
WebSocketServerSoup can be used together.
* GNUmakefile.list.am:
* UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: Renamed from Source/WebKit2/UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp.
(WebKit):
(WebKit::connectionCallback):
(WebKit::WebSocketServer::platformInitialize):
(WebKit::WebSocketServer::platformListen):
(WebKit::WebSocketServer::platformClose):
2012-12-02 Christophe Dumez <christophe.dumez@intel.com>
[CoordinatedGraphics] LayerTreeRenderer::removeImageBacking() calls HashMap::find() twice
https://bugs.webkit.org/show_bug.cgi?id=103815
Reviewed by Noam Rosenthal.
Call HashMap::take() in LayerTreeRenderer::removeImageBacking()
to avoid calling HashMap::find() twice. find() was called once
explicitly to get an iterator and a second time to remove the
value from the value from the HashMap. We could have used
remove(iterator) instead of remove(key) but using take() results
in simpler code.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeImageBacking):
2012-12-02 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Images disappear randomly
https://bugs.webkit.org/show_bug.cgi?id=103522
Reviewed by Kenneth Rohde Christiansen.
Currently, we delete layers before synchronizing layer states of layers. It
causes flash. This patch deletes layers after the synchronization.
In addiation, this patch removes updateViewport() in
LayerTreeCoordinatorProxy::deleteCompositingLayer() because
LayerTreeCoordinatorProxy::didRenderFrame() is always called after
deleting layers.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2012-12-02 Brent Fulgham <bfulgham@webkit.org>
[Windows, WinCairo] Revise export definitions to match mac.
https://bugs.webkit.org/show_bug.cgi?id=103687
Reviewed by Tim Horton.
Update export definition files to use the same feature exclusion
macros as other generated ports.
* win/WebKit2.def.in: Added additional build macro guards.
2012-12-02 No'am Rosenthal <noam@webkit.org>
[CoordinatedGraphics] Crash in TextureMapperLayer::setBackingStore()
https://bugs.webkit.org/show_bug.cgi?id=103714
Reviewed by Kenneth Rohde Christiansen.
Remove a layer from the m_pendingSyncBackingStores map when it is deleted.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):
2012-12-02 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] MiniBrowser should have a legacy mode
https://bugs.webkit.org/show_bug.cgi?id=103679
Reviewed by Kenneth Rohde Christiansen.
We need a way to create a web view in legacy mode, while still using the default context.
WKViewCreate creates a legacy view, so change it to create a default context if a context
was not passed.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):
2012-12-01 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Support PDF form editing in <iframe>s
https://bugs.webkit.org/show_bug.cgi?id=103287
<rdar://problem/10326917>
Reviewed by Dan Bernstein.
PDFPlugin form editing depends on having a Document that has the same
size and position as the plugin; this is true not only in the full-main-frame
case, but also in the <iframe> case. Therefore, we can enable form editing
for <iframe> PDFPlugins.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::supportsForms): Support form editing whenever
our Document's widget is our PluginView (which will only be true in the
full-main-frame or <iframe> case).
2012-12-01 Tim Horton <timothy_horton@apple.com>
PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
https://bugs.webkit.org/show_bug.cgi?id=103286
<rdar://problem/12752315>
Reviewed by Dan Bernstein.
Detecting whether or not a PDFPlugin is a full-page plugin or not is not
as simple as checking isMainFrame(), because <embed> and <object> will
cause PDFPlugin to live in the main frame, while still not being full-page.
We also have to check that the main frame's document is a PluginDocument,
and whether that PluginDocument's PluginWidget is our PDFPlugin's PluginView.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add isFullFramePlugin.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::isFullFramePlugin): Check whether the main frame is
backed by a PluginDocument, and that that PluginDocument corresponds
to this PDFPlugin.
(WebKit::PDFPlugin::handlesPageScaleFactor): Use isFullFramePlugin.
(WebKit::PDFPlugin::supportsForms): Use isFullFramePlugin.
2012-12-01 Tim Horton <timothy_horton@apple.com>
[wk2] Use spoolRect instead of snapshots for print preview
https://bugs.webkit.org/show_bug.cgi?id=103798
<rdar://problem/12686749>
Reviewed by Sam Weinig.
Revert to using spoolRect instead of snapshotting for printing; this was a bogus
change I made in http://trac.webkit.org/changeset/133935 which was irrelevant to
the core of that change, and incorrectly disregards the Frame parameter passed to
beginPrinting, instead using the WebPage's current Frame.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawRectToImage):
2012-11-30 Anders Carlsson <andersca@apple.com>
Always listen for the DidFirstLayout layout milestone
https://bugs.webkit.org/show_bug.cgi?id=103795
<rdar://problem/12790268>
Reviewed by Dan Bernstein.
The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
2012-11-30 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Unreviewed speculative Mac build fix after r136232
cleanup an oversight from r136235
* PluginProcess.pro: s/webkit/webkitwidgets/
2012-11-30 Brent Fulgham <bfulgham@webkit.org>
[Windows, WinCairo] Generate library export symbol file.
https://bugs.webkit.org/show_bug.cgi?id=103687
Reviewed by Tim Horton.
Generate the export definition file based on the compile options
and port settings. Get rid of the old hand-written file, and use
a revised master input file that allows using conditional
settings to generate the output, much like the Mac and other
ports do.
* win/WebKit2.def: Removed.
* win/WebKit2.def.in: Added.
* win/WebKit2Apple.vsprops:
* win/WebKit2CFLite.def: Removed.
* win/WebKit2CFLite.vsprops:
* win/WebKit2Common.vsprops:
* win/WebKit2ExportGenerator.vcproj: Added.
* win/WebKit2ExportGeneratorCommon.vsprops: Added.
* win/WebKit2ExportGeneratorDebug.vsprops: Added.
* win/WebKit2ExportGeneratorDebugAll.vsprops: Added.
* win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added.
* win/WebKit2ExportGeneratorPostBuild.cmd: Added.
* win/WebKit2ExportGeneratorPreBuild.cmd: Added.
* win/WebKit2ExportGeneratorProduction.vsprops: Added.
* win/WebKit2ExportGeneratorRelease.vsprops: Added.
* win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added.
2012-11-30 Tim Horton <timothy_horton@apple.com>
(Simple)PDFPlugin: Support conversion of PostScript documents
https://bugs.webkit.org/show_bug.cgi?id=103289
<rdar://problem/10235708>
Reviewed by Dan Bernstein.
SimplePDFPlugin (and PDFPlugin) should support converting PostScript files
to PDF before handing them off to their respective backends.
As PDFPlugin inherits from SimplePDFPlugin, it gets the new functionality automatically.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add convertPostScriptDataIfNeeded(), and m_isPostScript.
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
(WebKit::SimplePDFPlugin::pluginInfo): SimplePDFPlugin should claim to support PDF and PostScript.
(WebKit::convertPostScriptDataSourceToPDF): PS->PDF conversion code, copied from PDFViewController (which I intend to remove).
(WebKit::SimplePDFPlugin::convertPostScriptDataIfNeeded): Check if the loaded data represents a PS file; if so, convert it.
(WebKit::SimplePDFPlugin::streamDidReceiveResponse): Check if the loaded data is of MIME type application/postscript, and store that in m_isPostScript.
(WebKit::SimplePDFPlugin::streamDidFinishLoading): Call convertPostScriptDataIfNeeded when we finish loading.
(WebKit::SimplePDFPlugin::manualStreamDidReceiveResponse): Ditto from streamDidReceiveResponse.
(WebKit::SimplePDFPlugin::manualStreamDidFinishLoading): Ditto from streamDidFinishLoading.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin): Use (Simple)PDFPlugin for PostScript files too.
2012-11-30 Tim Horton <timothy_horton@apple.com>
PDFPlugin: "Show Definition" context menu item should be implemented
https://bugs.webkit.org/show_bug.cgi?id=103389
<rdar://problem/12710751>
Reviewed by Dan Bernstein.
Call existing dictionary popup code when the context menu "Show Definition" item is selected.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add showDefinitionForAttributedString and convertFromPDFViewToRootView.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]): Forward this call to PDFPlugin.
(WebKit::PDFPlugin::showDefinitionForAttributedString): Create a DictionaryPopupInfo with the necessary information.
Ask WebPageProxy to show the dictionary popup.
(WebKit::PDFPlugin::convertFromPDFViewToRootView): Convert a point from PDFLayerController space to the root view space.
2012-11-30 Simon Hausmann <simon.hausmann@digia.com>
Unreviewed trivial Qt build fix:
Always link against WebProcess against QT += webkit and use webkitwidgets only if available.
* WebProcess.pro:
2012-11-30 Simon Hausmann <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
[Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
https://bugs.webkit.org/show_bug.cgi?id=99314
Reviewed by Tor Arne Vestbø.
This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
shared libraries.
It's a big refactoring that mostly involves moving WebCore dependent
code into QtWebKit and accessing it through exported QWebFrameAdapter
and QWebPageAdapter classes.
* UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
* UIProcess/API/qt/tests/publicapi/publicapi.pro:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/WebView.pro:
* UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
* UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
* UIProcess/API/qt/tests/tests.pri:
2012-11-30 Joone Hur <joone.hur@intel.com>
[EFL]Drawing artifacts while resizing the view
https://bugs.webkit.org/show_bug.cgi?id=101288
Reviewed by Kenneth Rohde Christiansen.
An Evas GL surface is recreated when the window is resized, but the update of the surface is
asynchronously done, which gives Evas a chance of painting the empty surface on the screen.
As a result, the flickering problem happens while resizing the view.
So this patch allows to create an Evas GL surface synchronously with the update of the surface.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl): Set m_pendingSurfaceResize to false.
(EwkViewImpl::displayTimerFired): Create an Evas GL surface.
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::setNeedsSurfaceResize): Added.
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate): Set m_pendingSurfaceResize to true.
2012-11-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
https://bugs.webkit.org/show_bug.cgi?id=103428
Reviewed by Kenneth Rohde Christiansen.
Set now appropriate fixed visible content rect before layout when viewport
attributes change.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
2012-11-30 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL] Gardening after r136031 and r136142
https://bugs.webkit.org/show_bug.cgi?id=103734
Unreviewed, API test EWK2UnitTestBase.ewk_view_setting_encoding_custom
is asserting after r136031. So, disabling the test until bug 103732 is
fixed.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-11-30 Zeno Albisser <zeno@webkit.org>
[Qt] Enable WebGL by default.
https://bugs.webkit.org/show_bug.cgi?id=103731
Reviewed by Simon Hausmann.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
2012-11-30 Mihai Maerean <mmaerean@adobe.com>
[CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled
https://bugs.webkit.org/show_bug.cgi?id=101192
Reviewed by Hajime Morita.
Removed the CSS Regions flag in Settings and switched to using the new flag I have added in RuntimeEnabledFeatures.
Tests: No new tests because there is no functional change.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setCSSRegionsEnabled):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
2012-11-29 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Only plain text can be copied out of PDFs
https://bugs.webkit.org/show_bug.cgi?id=103591
<rdar://problem/12555161>
Reviewed by Alexey Proskuryakov.
Don't write zero-length data to the pasteboard, just skip the item.
As mentioned in the comment, we don't expect this to come up, and would like to know if it does,
so we assert that it doesn't happen in debug builds.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::writeItemsToPasteboard):
2012-11-29 Martin Robinson <mrobinson@igalia.com>
[GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite window crashing WebKit in Xvfb
https://bugs.webkit.org/show_bug.cgi?id=103476
Reviewed by Alejandro G. Castro.
Create the RedirectedXCompositeWindow with an argument specifying that it
should never have a GLContext backing it.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
2012-11-29 Rafael Weinstein <rafaelw@chromium.org>
[HTMLTemplateElement] Add feature flag
https://bugs.webkit.org/show_bug.cgi?id=103694
Reviewed by Adam Barth.
This flag will guard the implementation of the HTMLTemplateElement.
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html
* Configurations/FeatureDefines.xcconfig:
2012-11-29 Alexey Proskuryakov <ap@apple.com>
[WK2] Forward cookie jar calls to NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=103457
Reviewed by Darin Adler.
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
Added messages to maniputate CookieJar in network process.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp: Removed unnecessary WebCore:: prefixes,
this file has a using direcive.
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
(WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
(WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
Added implementations that use PlatformCookieJar in the network process.
* Scripts/webkit2/messages.py: (struct_or_class):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
Added support for Cookie.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::getHostnamesWithCookies):
(WebKit::WebPlatformStrategies::deleteCookiesForHostname):
(WebKit::WebPlatformStrategies::deleteAllCookies):
When using the network process, forward cookie calls to it.
2012-11-29 Kiran Muppala <cmuppala@apple.com>
Instantiate snapshot plugins in a PluginProcess with muted audio
https://bugs.webkit.org/show_bug.cgi?id=101536
Reviewed by Anders Carlsson.
Plugins created for generation of a snapshot should be instantiated in a separate process with
muted audio so that any sound generated during the snapshot process is not audible to the user.
* Configurations/WebKit2.xcconfig: Add CoreAudio to the list of linked frameworks.
* PluginProcess/PluginProcess.h: Add PluginProcess::Type enum with values for regular and
snapshot process types. Provide DefaultHash and IsInteger template specializations for the enum
so that PluginProcessConnectionManager can store it in a HashMap.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::muteAudio):
(WebKit::PluginProcess::platformInitialize): Mute audio if the process creation parameters indicate
that the plugin process type is snapshot process.
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h: Add processType process creation parameter.
* UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::getPluginProcessConnection): Add process type parameter.
(WebKit::PluginProcessManager::getSitesWithData): Forward message to regular plugin process only.
(WebKit::PluginProcessManager::clearSiteData): Forward message to regular plugin process only.
(WebKit::PluginProcessManager::pluginProcessWithPath): Add process type parameter.
(WebKit::PluginProcessManager::getOrCreatePluginProcess): Ditto.
* UIProcess/Plugins/PluginProcessManager.h:
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::create): Add process type parameter.
(WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
(WebKit::PluginProcessProxy::didClose): Include process type with the plugin process crashed message.
(WebKit::PluginProcessProxy::didFinishLaunching): Set process type process creation parameter.
* UIProcess/Plugins/PluginProcessProxy.h:
(WebKit::PluginProcessProxy::processType):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPluginProcessConnection): Pass along process type parameter to
PluginProcessManager.
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in: Add process type parameter to GetPluginProcessConnection message.
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::PluginProcessConnection): Add process type parameter.
* WebProcess/Plugins/PluginProcessConnection.h:
(WebKit::PluginProcessConnection::create): Ditto.
(WebKit::PluginProcessConnection::processType): Ditto.
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection): Add process type parameter.
(WebKit::PluginProcessConnectionManager::removePluginProcessConnection): Use process type in addition to
plugin path to find the connection to remove.
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed): Add process type parameter.
* WebProcess/Plugins/PluginProcessConnectionManager.h:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::create): Ditto.
(WebKit::PluginProxy::PluginProxy): Ditto.
(WebKit::PluginProxy::initialize): Add process type parameter in call to
PluginProcessConnectionManager::getPluginProcessConnection.
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin): Determine process type based on display state of plugin element and
pass it to PluginProxy::create.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::pluginProcessCrashed): Pass along process type parameter to
PluginProcessConnectionManager.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in: Add process type parameter to PluginProcessCrashed message.
2012-11-29 Anders Carlsson <andersca@apple.com>
Initialize m_xpcConnection to null if the identifier doesn't have an XPC connection
https://bugs.webkit.org/show_bug.cgi?id=103689
Reviewed by Darin Adler.
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::platformInitialize):
2012-11-29 Christophe Dumez <christophe.dumez@intel.com>
[CoordinatedGraphics] Use OwnPtr for LayerMap's layers in LayerTreeRenderer
https://bugs.webkit.org/show_bug.cgi?id=103650
Reviewed by Noam Rosenthal.
We currently store raw pointers to WebCore::GraphicsLayer in the LayerMap
meaning that we need to delete them manually. This patch leverages smart
pointers and stores layers as OwnPtr in the LayerMap so that the layers
are owned by the HashMap and we don't have to handle memory manually.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::ensureLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2012-11-29 Anders Carlsson <andersca@apple.com>
Add a minimumLayoutWidth WKView property
https://bugs.webkit.org/show_bug.cgi?id=103660
<rdar://problem/11791729>
Reviewed by Beth Dakin.
When minimumLayoutWidth is set to a positive value, the WKView will update its intrinsic content size given the layout width.
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::intrinsicContentSizeDidChange):
Call the WKView.
* UIProcess/API/mac/WKView.mm:
(-[WKView intrinsicContentSize]):
Override the intrinsicContentSize getter.
(-[WKView _setIntrinsicContentSize:]):
Update the intrinsic content size and mark it as invalid.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
By default, the WKView should have no intrinsic size.
(-[WKView minimumLayoutWidth]):
(-[WKView setMinimumLayoutWidth:]):
Call through to the WebPageProxy object.
* UIProcess/API/mac/WKViewPrivate.h:
Add the SPI here.
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::minimumLayoutWidthDidChange):
(WebKit::DrawingAreaProxy::didUpdateGeometry):
(WebKit::DrawingAreaProxy::intrinsicContentSizeDidChange):
Add empty stubs.
* UIProcess/DrawingAreaProxy.messages.in:
Update the DidUpdateGeometry signature and add IntrinsicContentSizeDidChange.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Initialize the minimum layout width.
(WebKit::WebPageProxy::setMinimumLayoutWidth):
Update the minimum layout width and call the drawing area proxy.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::minimumLayoutWidth):
Add getter.
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
(TiledCoreAnimationDrawingAreaProxy):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutWidthDidChange):
Update the geometry if needed.
(WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
Update the intrinsic content size.
(WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
Call through to WebPageProxy::intrinsicContentSizeDidChange.
(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
Pass along the minimum layout width.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::intrinsicContentSizeDidChange):
Call through to the page client.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::contentsSizeChanged):
Call DrawingArea::mainFrameContentSizeChanged.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::mainFrameContentSizeChanged):
Add empty stub.
(WebKit::DrawingArea::updateGeometry):
Update signature.
* WebProcess/WebPage/DrawingArea.messages.in:
Add minimumLayoutWidth to UpdateGeometry.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
If the content size change is not coming from updateGeometry, send an InstrinsicContentSizeDidChange message.
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
If m_minimumLayoutWidth is positive, do an initial layout pass to figure out the height of the page and then do another
layout with the viewport set to that height.
2012-11-29 Anders Carlsson <andersca@apple.com>
CoreIPC::Connection should retain its xpc_connection_t
https://bugs.webkit.org/show_bug.cgi?id=103671
<rdar://problem/12717331>
Reviewed by Beth Dakin.
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::platformInitialize):
Retain the xpc_connection_t object here to balance the xpc_object_release in platformInvalidate.
2012-11-29 Brent Fulgham <bfulgham@webkit.org>
[Windows, WinCairo] Unreviewed build fix. Build was failing
because the export definition file included a debug-only
symbol. It's not needed and shouldn't be included for export.
* win/WebKit2.def: Don't require notSolidColor to be exported.
* win/WebKit2CFLite.def: Ditto.
2012-11-29 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Only plain text can be copied out of PDFs
https://bugs.webkit.org/show_bug.cgi?id=103591
<rdar://problem/12555161>
Reviewed by Alexey Proskuryakov.
Enable rich data to be copied from PDFKit to the pasteboard.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add writeItemsToPasteboard.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Move implementation to PDFPlugin.
(WebKit::PDFPlugin::writeItemsToPasteboard): Don't round-trip through WebCore for pasteboard operations,
use WebContext directly. This provides a simple way to hand over a buffer for complex pasteboard types
(RTF, HTML, etc.). Use this interface for arbitrary non-plain-text pasteboard data that PDFKit hands us.
2012-11-29 Martin Robinson <mrobinson@igalia.com>
[GTK] [WebKit2] Embed the HTTP authentication dialog into the WebView
https://bugs.webkit.org/show_bug.cgi?id=103277
Reviewed by Carlos Garcia Campos.
Embed the WebKit2 HTTP authentication dialog into the WebView. Add the dialog as a child
of the WebKitWebViewBase container (like the web inspector).
We do not yet properly handle pages that require authentication for more than one resource.
As that is an uncommon situation, it will be handled in another patch.
* UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:
(WebKit::drawSignal): We have to override the draw signal of the dialog to draw
a GtkWindow background on the widget. This is required because the widget doesn't
have a real GtkWindow to draw its background.
(WebKit::loadChangedSignal): When a new load starts in the WebView destroy the dialog. This
is so that the dialog doesn't stick around when the user chooses to navigate away from the
page requiring authentication.
(WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog): Create an eventbox
and frame to hold the dialog contents. Also append the 'background' widget class to the
event box, so that it can draw a GtkWindow background in the draw signal handler.
(WebKit::WebKit2GtkAuthenticationDialog::~WebKit2GtkAuthenticationDialog): Disconnect the
load status changed signal handler.
(WebKit::WebKit2GtkAuthenticationDialog::show): When it's time to show the dialog, add it to
WebKitWebViewBase.
* UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Add some new methods for handling the
embedded dialog.
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didReceiveAuthenticationChallengeInFrame): Collapse the creation of the dialog into one line.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate): Add the dialog as a property of the private structure.
(webkitWebViewChildIsInternalWidget): Added this helper used for determining when a child widget
is "internal" (ie the web inspector or the authentication dialog).
(webkitWebViewBaseContainerAdd): Only add non-internal widgets to the children map.
(webkitWebViewBaseAddAuthenticationDialog): Added.
(webkitWebViewBaseAddWebInspector): Added this more-foolproof method of adding a web inspector
to the WebView. This also aligns it with the way the authentication dialog is added.
(webkitWebViewBaseContainerRemove): When removing the authentication dialog, zero out the
field in the private structure.
(webkitWebViewBaseContainerForall): Add support for the authentication dialog here too.
(webkitWebViewBaseChildMoveResize): Don't pass on move_resize events to internal children.
(webkit_web_view_base_init): Zero out the authentication dialog member on init.
(webkitWebViewBaseDraw): If the authentication dialog is active, draw a shadow over web content.
(resizeWebKitWebViewBaseFromAllocation): Make the authentication dialog centered in the view.
(webkitWebViewBaseKeyPressEvent): Pass on key events to the authentication dialog if active.
(webkitWebViewBaseButtonPressEvent): If the authentication dialog is active don't pass button events
to web content.
(webkitWebViewBaseButtonReleaseEvent): Ditto.
(webkitWebViewBaseScrollEvent): Ditto.
(webkitWebViewBaseMotionNotifyEvent): Ditto.
(webkitWebViewBaseFocus): Pass on focus events to the authentication dialog so that tabbing between
elements in the dialog works correctly.
(webkit_web_view_base_class_init): Hook up the focus event.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add new methods for adding the authentication dialog
and the web inspector.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::createInspectorWindow): Use the new method for adding the web inspector.
2012-11-29 Andrei Bucur <abucur@adobe.com>
Fix the build after r136095
https://bugs.webkit.org/show_bug.cgi?id=103629
Unreviewed.
Add a static_cast to fix the build.
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::ObjCObjectGraphEncoder::baseEncode):
2012-11-29 Christophe Dumez <christophe.dumez@intel.com>
[CoordinatedGraphics] Have LayerTreeRenderer::ensureLayer() return the layer
https://bugs.webkit.org/show_bug.cgi?id=103645
Reviewed by Noam Rosenthal.
The current LayerTreeRenderer code keep calling ensureLayer() and then
LayerMap::find() to retrieve the layer. Since ensureLayer() already has
a pointer to the layer, we can simply have the function return it.
This is slightly more efficient and it makes the code a bit simpler.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::ensureLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2012-11-29 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] TiledBackingStore: User events are sent to web page before it is shown
https://bugs.webkit.org/show_bug.cgi?id=101753
Reviewed by Jocelyn Turcotte.
User events are suppressed on WEB process side while drawing area is frozen.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::gestureEvent):
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::sendIfEventCannotBeHandled):
(WebKit):
(WebKit::WebPage::didCompletePageTransition):
* WebProcess/WebPage/WebPage.h:
(WebPage):
2012-11-29 Allan Sandfeld Jensen <allan.jensen@digia.com>
Possible to resize out of bounds
https://bugs.webkit.org/show_bug.cgi?id=103521
Reviewed by Jocelyn Turcotte.
Enforce the viewportBounds after resize, and ensure a user fitted page remains
fit on viewport resize, but not on content growth.
* UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(PageViewportController):
2012-11-29 Michael Brüning <michael.bruning@digia.com>
[Qt][WK2] Commit the preedit string in the input method when focus is about to be moved.
https://bugs.webkit.org/show_bug.cgi?id=97774
Reviewed by Kenneth Rohde Christiansen.
Implements the handler for willSetInputMethodState in WebKit2 in Qt.
This is needed to tell the input method instance in Qt to commit its
preedit content when the focus has moved to another node to prevent a
bug where the old preedit string was kept as the preedit string and
the editor moved focus back to the old node when continuing to enter
text via the input method.
This behavior is analog to the behavior of the QtQuick text input
elements.
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebViewPrivate::handleWillSetInputMethodState):
* UIProcess/API/qt/raw/qrawwebview_p_p.h:
(QRawWebViewPrivate):
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/qt/QtPageClient.cpp:
(WebKit::QtPageClient::handleWillSetInputMethodState):
(WebKit):
* UIProcess/qt/QtPageClient.h:
(QtPageClient):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::handleWillSetInputMethodState):
(WebKit):
* UIProcess/qt/QtWebPageEventHandler.h:
(QtWebPageEventHandler):
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::willSetInputMethodState):
(WebKit):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::willSetInputMethodState):
2012-11-28 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] The WebView should be flickable only using touch events
https://bugs.webkit.org/show_bug.cgi?id=100964
Reviewed by Kenneth Rohde Christiansen.
Let a user interacting with the WebView using a mouse the same way that a
desktop browser would.
This allows normal behaviors like text selecting, hover events, mouse cursors
as well as avoid touch highlighting and touch adjustment.
To do so we let all mouse events to be handled by the page directly instead
of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
pushed back to the PageClient like touch events does, this have the intended
behavior of not letting mouse events affect QQuickFlickable.
* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewFlickablePrivate):
2012-11-29 Andras Becsi <andras.becsi@digia.com>
[Qt] Fix installation of QtWebProcess binary
https://bugs.webkit.org/show_bug.cgi?id=101735
Reviewed by Simon Hausmann.
If available use QLibraryInfo::LibraryExecutablesPath to find
the web process and the plugin process and deploy both helper
processes to QT_INSTALL_LIBEXECS.
The effective fallback used to find the helper processes becomes:
1. Application directory
2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
3. Qt binaries directory (QLibraryInfo::BinariesPath)
4. No absolute path used
* PluginProcess.pro:
* Shared/qt/ProcessExecutablePathQt.cpp:
(WebKit::executablePath):
* WebProcess.pro:
2012-11-28 Ryuan Choi <ryuan.choi@gmail.com>
[EFL] Generate big_button_theme.edj
https://bugs.webkit.org/show_bug.cgi?id=103511
Reviewed by Gyuyoung Kim.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
(EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):
(EWK2UnitTest):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
(EWK2UnitTestEnvironment):
* UIProcess/API/efl/tests/resources/big_button_theme.edj: Removed.
* UIProcess/API/efl/tests/test_ewk2_view.cpp: Modified to use generated big_button_theme.edj
(TEST_F):
2012-11-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135973.
http://trac.webkit.org/changeset/135973
https://bugs.webkit.org/show_bug.cgi?id=103604
It made API test crash on EFL bots (Requested by gyuyoung on
#webkit).
* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):
2012-11-28 Michael Pruett <michael@68k.org>
IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=103554
Reviewed by Kentaro Hara.
In r135022, duplicate createFromWire() and toWireString() methods
were added to the JSC version of SerializedScriptValue. In
order to allow the JSC SerializedScriptValue to compile when
ENABLE(INDEXED_DATABASE) is turned on, these new methods have
been removed and the old methods have been moved outside the
ENABLE(INDEXED_DATABASE) guard.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-28 Sam Weinig <sam@webkit.org>
Fix 32bit build.
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
2012-11-28 Sam Weinig <sam@webkit.org>
Add an objc object graph wrapper and coder for WKConnection message bodies
https://bugs.webkit.org/show_bug.cgi?id=103589
Reviewed by Anders Carlsson.
Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
WKBrowsingContextController across the wire.
* Shared/APIClient.h:
(APIClient):
(WebKit::APIClient::client):
Add accessor for the ClientInterface.
* Shared/APIObject.h:
Add new TypeObjCObjectGraph type.
* Shared/mac/ObjCObjectGraph.h: Added.
(ObjCObjectGraph):
(WebKit::ObjCObjectGraph::create):
(WebKit::ObjCObjectGraph::root):
(WebKit::ObjCObjectGraph::ObjCObjectGraph):
(WebKit::ObjCObjectGraph::type):
* Shared/mac/ObjCObjectGraph.mm: Added.
Wraps
* Shared/mac/ObjCObjectGraphCoders.h: Added.
(WebContextObjCObjectGraphEncoder):
(WebContextObjCObjectGraphDecoder):
(InjectedBundleObjCObjectGraphEncoder):
(InjectedBundleObjCObjectGraphDecoder):
* Shared/mac/ObjCObjectGraphCoders.mm: Added.
(WebKit::typeFromObject):
(ObjCObjectGraphEncoder):
(WebKit::ObjCObjectGraphEncoder::baseEncode):
(WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
(ObjCObjectGraphDecoder):
(WebKit::ObjCObjectGraphDecoder::baseDecode):
(WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
(WebContextObjCObjectGraphEncoderImpl):
(WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
(WebContextObjCObjectGraphDecoderImpl):
(WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(InjectedBundleObjCObjectGraphEncoderImpl):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
(InjectedBundleObjCObjectGraphDecoderImpl):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
(WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
(WebKit::WebContextObjCObjectGraphEncoder::encode):
(WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
(WebKit::WebContextObjCObjectGraphDecoder::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
(WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):
(WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
Added.
* UIProcess/API/mac/WKBrowsingContextController.mm:
(+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
* UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
Expose the accessor to get the WKPageRef from a WKBrowsingContextController and add a
new method to get a WKBrowsingContextController from a WKPageRef.
* UIProcess/API/mac/WKConnection.mm:
(-[WKConnection sendMessageWithName:body:]):
(didReceiveMessage):
Switch WKConnection to use ObjCObjectGraph to encode the messageBody.
* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):
* WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):
Proxy to ObjCObjectGraph coders when user message encoding/decoding ObjCObjectGraph APIObjects.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
(-[WKWebProcessPlugInController _browserContextControllerForBundlePageRef:]):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
Add method to get WKWebProcessPlugInController from the WKBundlePageRef.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
2012-11-28 Sergio Villar Senin <svillar@igalia.com>
[WK2][Qt] Add drag&drop support to Flickable webView
https://bugs.webkit.org/show_bug.cgi?id=100778
Reviewed by Jocelyn Turcotte.
Enable the ItemAcceptsDrops flag in the flickable WebView. This
will allow the WebView to receive drag&drop events.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
2012-11-28 Shinya Kawanaka <shinyak@chromium.org>
[Shadow] Move Distribution stuffs from ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=103481
Reviewed by Hajime Morita.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-28 Tim Horton <timothy_horton@apple.com>
[mac] Dictionary lookup bubble loses intrarange formatting
https://bugs.webkit.org/show_bug.cgi?id=103496
<rdar://problem/12762172>
Reviewed by Alexey Proskuryakov.
Pass an NSAttributedString (made via WebHTMLConverter on the WebProcess side) through
when showing dictionary popups, so that we preserve more formatting in the yellow dictionary
highlight. Also, remove the fontInfo member from DictionaryPopupInfo, since we don't need it anymore.
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::encode): Don't encode the now-removed fontInfo member.
(WebKit::DictionaryPopupInfo::decode): Don't decode the now-removed fontInfo member.
* Shared/DictionaryPopupInfo.h: Remove the fontInfo member.
* UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl): didPerformDictionaryLookup should take an AttributedString instead of a plain String, and
no longer needs to take the page scale factor.
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformDictionaryLookup): Use the AttributedString we're handed from the WebProcess
instead of constructing one ourselves; this way, we have all the attributes instead of just a single font.
* UIProcess/PageClient.h:
(PageClient): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
* UIProcess/WebPageProxy.h:
(WebPageProxy): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
* UIProcess/WebPageProxy.messages.in: DidPerformDictionaryLookup should take an AttributedString instead of a plain String.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::didPerformDictionaryLookup): didPerformDictionaryLookup should take an AttributedString instead of a plain String.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performDictionaryLookupForRange): performDictionaryLookupForRange should hand WebPageProxy an AttributedString
constructed via WebHTMLConverter instead of a plain text string paired with a single font descriptor.
Also, scale the size of every font attribute by the current pageScaleFactor.
2012-11-28 peavo@outlook.com <peavo@outlook.com>
[WinCairo] Crash when requesting favicon.
https://bugs.webkit.org/show_bug.cgi?id=102689
Reviewed by Brent Fulgham.
* win/WebKit2CFLite.def: Link fixes.
* win/WebKit2.def: Link fixes.
2012-11-28 Christophe Dumez <christophe.dumez@intel.com>
Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
https://bugs.webkit.org/show_bug.cgi?id=103527
Reviewed by Jocelyn Turcotte.
Make sure m_pendingSyncBackingStores is cleared in
LayerTreeRenderer::purgeGLResources() to avoid trying to assign
backing store to layers after everything has been invalidated.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::purgeGLResources):
2012-11-28 Christophe Dumez <christophe.dumez@intel.com>
Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
https://bugs.webkit.org/show_bug.cgi?id=103498
Reviewed by Kenneth Rohde Christiansen.
We hit the !m_pedningSyncBackingStores.contains(layer) assertion
in LayerTreeRenderer when 2 asynchronous backing store operations
are pending. The current code checks if the layer already has a
backing store in its guard but this is insufficient as it is not
checking the m_pendingSyncBackingStores hash for pending backing
store changes.
In this patch, we improve the guards in createBackingStoreIfNeeded()
and removeBackingStoreIfNeeded() to check not only if the layer has
already a backing store but also check m_pendingSyncBackingStores
for pending changes. This is safer and it allows for optimizations
in the cases where we have both a removal and a creation pending.
In those cases, we can simply cancel the pending operation instead
of queueing a new one.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2012-11-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
https://bugs.webkit.org/show_bug.cgi?id=103079
Reviewed by Simon Hausmann.
The problem was caused because we moved the page inside our viewport
in non-discrete units.
Now instead of changing the content visible in our viewport by
applying scale, and then transforming the CSS offset, we now first
discretely position the page in UI coordinates.
This patch also removes some dead code.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):
Transform according to the page position.
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::setPagePosition): Now stores a float.
(EwkViewImpl::discretePagePosition): Returns the discrete page position.
(EwkViewImpl):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
(WebKit::PageClientLegacyImpl::pageDidRequestScroll):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
from the view directly.
(WebKit::PageViewportControllerClientEfl::contentPosition):
(PageViewportControllerClientEfl):
2012-11-28 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
https://bugs.webkit.org/show_bug.cgi?id=103505
Reviewed by Kenneth Rohde Christiansen.
No need to export GL data members from EwkViewImpl class,
those are internal implementation objects not used by anyone outside the class.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
(EwkViewImpl::evasGLContext):
(EwkViewImpl::evasGLSurface):
2012-11-28 Joone Hur <joone.hur@intel.com>
[EFL][WK2][AC] Clear the viewport with white color
https://bugs.webkit.org/show_bug.cgi?id=103495
When initializing a GL surface, we should clear the buffer with white color.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
2012-11-27 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Duplicated WebPageGroup initialization
https://bugs.webkit.org/show_bug.cgi?id=103229
Reviewed by Gyuyoung Kim.
WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.
As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
is created with default context.
* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):
2012-11-27 Huang Dongsung <luxtella@company100.net>
REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
https://bugs.webkit.org/show_bug.cgi?id=103171
Reviewed by Noam Rosenthal.
Ensure that TextureMapperLayer has a backing store when the layer has
drawsContent and contentsVisible properties and the size of the layer is not
empty.
LayerTreeRenderer::setLayerState() must not set a backing store to
TextureMapperLayer because setLayerState() just changes states of
GraphicsLayerTextureMapper instead of TextureMapperLayer.
Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
states to TextureMapperLayer.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::flushLayerChanges):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebCore):
2012-11-27 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Should not be able to edit read-only text annotations
https://bugs.webkit.org/show_bug.cgi?id=103387
<rdar://problem/12752313>
Reviewed by Alexey Proskuryakov.
Don't allow read-only annotations to become active.
* WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
* WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h
2012-11-27 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=103298
Reviewed by Noam Rosenthal.
This patch makes LayerTreeRenderer assign a content backing store to
TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
the backing store to TextureMapperLayer and it can break the invariant condition
of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
the layer has following conditions: drawsContent, contentsVisible and non empty
size.
In addition, the modified code about creating and removing a backing store
matches the same purpose code of CoordinatedGraphicsLayer and
GraphicsLayerTextureMapepr.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::layerShouldHaveBackingStore):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStore):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.
2012-11-27 James Simonsen <simonjam@chromium.org>
Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=102151
Reviewed by Adam Barth.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
2012-10-22 Jer Noble <jer.noble@apple.com>
[WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
https://bugs.webkit.org/show_bug.cgi?id=100025
Reviewed by Dan Bernstein.
Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with
instructions to click the placeholder to exit full screen.
* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
(-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
(-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
(-[WKFullScreenWindowController enterFullScreen:]): Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
(-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting
from full screen mode when the full screen window is not on screen.
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
(-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
(-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
(-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
(-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:
2012-11-27 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] 3D pixel tests are failing
https://bugs.webkit.org/show_bug.cgi?id=102833
Reviewed by Kenneth Rohde Christiansen.
Added an API for generating a snapshot, to be used from WebKitTestRunner.
* PlatformEfl.cmake:
* UIProcess/API/C/efl/WKView.cpp:
(WKViewGetSnapshot):
* UIProcess/API/C/efl/WKView.h:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::onFaviconChanged):
(EwkViewImpl::takeSnapshot):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/SnapshotImageGL.cpp: Added.
(getImageFromCurrentTexture):
* UIProcess/API/efl/SnapshotImageGL.h: Added.
2012-11-27 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Page scale factor should affect subframe PDFs
https://bugs.webkit.org/show_bug.cgi?id=103291
<rdar://problem/12555249>
Reviewed by Darin Adler.
For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
so it can scale its drawing appropriately.
* WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
instead of manually updating PDFLayerController's device scale factor.
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
the "underlying" (non-zoom) content scale, which is the product of the
device scale and the page scale.
(WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
(WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
PDFLayerController's notion of the page scale up to date when the plugin's
geometry changes.
2012-11-27 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Scroll bars do not grow on hover
https://bugs.webkit.org/show_bug.cgi?id=103382
<rdar://problem/12555262>
Reviewed by Beth Dakin.
PDFPlugin needs to forward relevant mouse events to the scrollbars.
In addition, it needs to implement currentMousePosition so ScrollableArea and friends
can find the mouse position at arbitrary times.
I also took this opportunity to factor some coordinate space conversion functions out.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
(WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
(PDFPlugin):
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
(WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
(WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
(WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
If the mouse is currently over the scroll corner, bail, because nobody should get those events.
2012-11-27 Dan Bernstein <mitz@apple.com>
Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
https://bugs.webkit.org/show_bug.cgi?id=103358
Reviewed by Adele Peterson.
To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
prevent media from starting automatically when the view is put in a window.
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
(WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
* UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
to true, the value matching the current behavior.
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
(WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
process creation parameters.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
m_mayStartMediaWhenInWindow.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
parameters.
(WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
conditional on m_mayStartMediaWhenInWindow.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
already in a window when changing from false to true, starts m_setCanStartMediaTimer.
* WebProcess/WebPage/WebPage.h:
(WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
* WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
2012-11-27 Pratik Solanki <psolanki@apple.com>
objc/objc-runtime.h does not exist on all PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=101780
Reviewed by Brent Fulgham.
Clean up header includes so we don't include objc/objc-runtime.h.
* PluginProcess/mac/PluginProcessShim.mm:
* UIProcess/API/mac/PDFViewController.mm:
2012-11-27 Alexey Proskuryakov <ap@apple.com>
[WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
https://bugs.webkit.org/show_bug.cgi?id=103433
<rdar://problem/12543513>
Reviewed by Jessie Berlin.
* UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect
assertion, and modified code to not rely on its condition being true.
2012-11-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][Qt][WK2] Tiles not always painted
https://bugs.webkit.org/show_bug.cgi?id=103271
Reviewed by Kenneth Rohde Christiansen.
The problem turned up because visible content was synchromized before the new fixed
layout size had been applied in the web process.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeViewportSize):
(WebKit::PageViewportController::didChangeViewportAttributes):
2012-11-27 Yael Aharon <yael.aharon@intel.com>
[EFL] Graphics layer edges are sometimes very pixelated
https://bugs.webkit.org/show_bug.cgi?id=103302
Reviewed by Kenneth Rohde Christiansen.
The call setEnableEdgeDistanceAntialiasing(true) was lost in the refactoring of
http://trac.webkit.org/changeset/135401.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
2012-11-27 KwangYong Choi <ky0.choi@samsung.com>
[X11] Allow empty plugin name and description during scan plugin
https://bugs.webkit.org/show_bug.cgi?id=103234
Reviewed by Simon Hausmann.
Empty entries should be allowed when split the output string of scan plugin
because the plugin name and the description can be empty string.
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
2012-11-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135819.
http://trac.webkit.org/changeset/135819
https://bugs.webkit.org/show_bug.cgi?id=103388
It broke many tests on Qt and EFL WK2 platforms (Requested by
Ossy on #webkit).
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* UIProcess/API/C/WKPage.cpp:
(WKPageCopyRelatedPages):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setIsInWindow):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
2012-11-27 Kyungjin Kim <gen.kim@samsung.com>
[WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=103008
Reviewed by Gyuyoung Kim.
Fix API names in WKPreferences from 2d to 2D.
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAccelerated2DCanvasEnabled):
(WKPreferencesGetAccelerated2DCanvasEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
2012-11-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135786.
http://trac.webkit.org/changeset/135786
https://bugs.webkit.org/show_bug.cgi?id=103379
It made 3 plugin tests timeout on several platforms (Requested
by Ossy on #webkit).
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
(WebKit::WebPage::linkClicked):
2012-11-27 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=103297
Reviewed by Noam Rosenthal.
Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135822.
http://trac.webkit.org/changeset/135822
https://bugs.webkit.org/show_bug.cgi?id=103369
Undo the revert of r135818, since that change does not affect
code used by Chromium (Requested by apavlov on #webkit).
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsVisible):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
2012-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135818.
http://trac.webkit.org/changeset/135818
https://bugs.webkit.org/show_bug.cgi?id=103368
platform/chromium/virtual/threaded/compositing/visibility
/visibility-simple-webgl-layer.html crash on Mountain Lion
(Requested by apavlov on #webkit).
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsVisible):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
2012-11-26 Dan Bernstein <mitz@apple.com>
<rdar://problem/11931191> Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
https://bugs.webkit.org/show_bug.cgi?id=103358
Reviewed by Adele Peterson.
To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
prevent media from starting automatically when the view is put in a window.
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
(WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
* UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
to true, the value matching the current behavior.
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
(WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
process creation parameters.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
m_mayStartMediaWhenInWindow.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
parameters.
(WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
conditional on m_mayStartMediaWhenInWindow.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
already in a window when changing from false to true, starts m_setCanStartMediaTimer.
* WebProcess/WebPage/WebPage.h:
(WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
* WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
2012-11-26 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
https://bugs.webkit.org/show_bug.cgi?id=103297
Reviewed by Noam Rosenthal.
GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
mask layer in setContentsVisible() and setMaskLayer() like setting a size.
This patch is needed because RenderLayerBacking does not set the visibility to a
mask layer like the size.
This patch does not change user experience because an invisible layer is not
rendered although the mask layer is rendered. In that sense, it is an
optimization patch.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsVisible):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
2012-11-26 Kyungjin Kim <gen.kim@samsung.com>
[WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=103008
Reviewed by Gyuyoung Kim.
Add setting APIs for accelerated 2d canvas in WebKit2.
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAccelerated2dCanvasEnabled):
(WKPreferencesGetAccelerated2dCanvasEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
2012-11-26 Tim Horton <timothy_horton@apple.com>
Ensure that plugins are initialized before using handleEditingCommand/isEditingCommandEnabled/shouldAllowScripting
https://bugs.webkit.org/show_bug.cgi?id=103288
Reviewed by Dan Bernstein.
Other PluginView methods that use m_plugin null-check m_plugin and check
that the plugin has finished initializing before using it. These three
should do the same thing.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::handleEditingCommand):
(WebKit::PluginView::isEditingCommandEnabled):
(WebKit::PluginView::shouldAllowScripting):
2012-11-26 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Subframe PDF context menus are in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=103284
<rdar://problem/12727972>
Reviewed by Dan Bernstein.
Event position is in window coordinates, not content coordinates.
Since we have no windowToScreen(), use windowToContents and contentsToScreen
to get to screen coordinate space, which WKPopupContextMenu wants.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::handleContextMenuEvent):
2012-11-26 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Ctrl-click opens a link in a PDF in addition to context menu
https://bugs.webkit.org/show_bug.cgi?id=103282
<rdar://problem/12710892>
Reviewed by Dan Bernstein.
Don't send standard mouse events to PDFKit if a click will also show/hide the context menu.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::handleMouseEvent):
2012-11-26 Ryuan Choi <ryuan.choi@gmail.com>
[EFL] Unreviewed build fix after r135767 without Tiled Backing Store
https://bugs.webkit.org/show_bug.cgi?id=103320
Unreviewed build fix.
* WebProcess/Plugins/Plugin.cpp:
* WebProcess/Plugins/Plugin.h:
(WebCore):
2012-11-26 James Simonsen <simonjam@chromium.org>
Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=102151
Reviewed by Adam Barth.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
2012-11-26 Jon Lee <jonlee@apple.com>
Pass clicks through to the restarted plugin
https://bugs.webkit.org/show_bug.cgi?id=102150
<rdar://problem/12695575>
Reviewed by Simon Fraser.
Expose convertToRootView() as a public function for all plugins. It converts the click point
from local plugin coordinates to root view coordinates. When the events are sent to the
plugin, the coordinate gets converted back to the local reference frame.
* WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::convertToRootView): Default implementation should not be reached.
* WebProcess/Plugins/Plugin.h: Promote convertToRootView() from NetscapePlugin.h.
* WebProcess/Plugins/Netscape/NetscapePlugin.h: An implementation already existed. Make the
method virtual.
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::convertToRootView): Apply the transform to the provided point to return
a point in root view coordinates.
Change the threshold state to PlayingWithPendingMouseClick instead of Playing, since that is
the earliest state where the plugin is playing.
* WebProcess/Plugins/PluginView.cpp: Give the snapshot a little more time to generate.
(WebKit::PluginView::didInitializePlugin): When the plugin has initialized, tell the plugin
element to dispatch the pending mouse click.
(WebKit::PluginView::paint):
(WebKit::PluginView::createWebEvent): Helper function to convert a WebCore mouse event to a
WebMouseEvent.
(WebKit::PluginView::handleEvent): If the event is simulated, there is no source event from
the UI process. So we fabricate one based on the simulated event.
(WebKit::PluginView::invalidateRect):
(WebKit::PluginView::isAcceleratedCompositingEnabled):
* WebProcess/Plugins/PluginView.h:
2012-11-26 Kalev Lember <kalevlember@gmail.com>
[GTK] Explicitly link against librt
https://bugs.webkit.org/show_bug.cgi?id=103194
Reviewed by Martin Robinson.
Fixes broken build with undefined references to shm_open / shm_unlink
symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
* GNUmakefile.am:
2012-11-26 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add setting to enable / disable HTML5 local storage functionality
https://bugs.webkit.org/show_bug.cgi?id=103224
Reviewed by Laszlo Gombos.
Add API to ewk_settings to enable / disable the HTML5
local storage functionality. The functionality is
enabled by default.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_local_storage_enabled_set):
(ewk_settings_local_storage_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F): Add API test for ewk_settings_local_storage_enabled_get / set.
2012-11-26 Rafael Brandao <rafael.lobo@openbossa.org>
[CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
https://bugs.webkit.org/show_bug.cgi?id=101341
Reviewed by Noam Rosenthal.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::syncRemoteContent): The previous swap already clears the
vector on m_renderQueue. It is also done in a thread-safe way, so clearing it afterward
can be harmful as we've already released the lock.
2012-11-26 Jaehun Lim <ljaehun.lim@samsung.com>
Text Autosizing: Add Text Autosizing APIs for WK2
https://bugs.webkit.org/show_bug.cgi?id=100633
Reviewed by Sam Weinig.
Implement basic Text Autosizing APIs for WK2.
Text Autosizing is a useful feature for mobile browsers. It adjusts the font size
of text in wide columns, and makes text more legible.
This patch adds setting APIs for Text Autosizing in WK2.
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetTextAutosizingEnabled):
(WKPreferencesGetTextAutosizingEnabled):
* UIProcess/API/C/WKPreferences.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
2012-11-26 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] REGRESSION(r135575): It made all tests assert
https://bugs.webkit.org/show_bug.cgi?id=103169
Reviewed by Simon Hausmann.
This fixes another regression introduced in r135515:
initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
since it can be called from WebKit2 to initialize QStyle for testing.
This would then lead to things such as PlatformStrategies being
initialized twice.
* qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
(WebKit):
(main):
2012-11-26 Huang Dongsung <luxtella@company100.net>
REGRESSION(134142): ASSERT(!m_size.isZero()) hits in CoordinatedBackingStore::paintToTextureMapper().
https://bugs.webkit.org/show_bug.cgi?id=103217
Reviewed by Noam Rosenthal.
It is possible for CoordinatedBackingStore of directed composited image to not
have tiles, because CoordinatedImageBacking does not create tiles when the image
is invisible.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
2012-11-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] TiledBackingStore: page contents is scaled wrongly
https://bugs.webkit.org/show_bug.cgi?id=103090
Reviewed by Kenneth Rohde Christiansen.
Before this change the page contents scaling in PageViewportController was
defined all the times by m_rawAttributes.initialScale. If initial scale had not
been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
PageViewportController::didChangeViewportAttributes().
The problem was that m_minimumScaleToFit could have wrong value as contents size
might have not be updated by the time PageViewportController::didChangeViewportAttributes()
was invoked.
The solution is to use m_minimumScaleToFit for contents scaling if initial scale
is not specified in the viewport meta tag, as it is updated all the time.
Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
whether m_minimumScaleToFit should be used for scaling.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::didChangeViewportAttributes):
* UIProcess/PageViewportController.h:
(PageViewportController):
2012-11-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Stop the mess with DECLARE_EWK_VIEW_CALLBACK arg type definition
https://bugs.webkit.org/show_bug.cgi?id=103187
Reviewed by Kenneth Rohde Christiansen.
Now the client should pass to DECLARE_EWK_VIEW_CALLBACK macro exacly the
same arg type s/he wants to have in the Ewk_View callback.
* UIProcess/API/efl/EwkViewCallbacks.h:
(EvasObjectHolder):
(EwkViewCallbacks::EvasObjectHolder::EvasObjectHolder):
(EwkViewCallbacks):
2012-11-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Check errors in EwkView callbacks usage at compile time
https://bugs.webkit.org/show_bug.cgi?id=103177
Reviewed by Kenneth Rohde Christiansen.
Errors in EwkView callbacks usage are now checked at compile time.
* UIProcess/API/efl/EwkViewCallbacks.h:
(CallBack):
(EwkViewCallbacks::CallBack::CallBack):
(EwkViewCallbacks::CallBack::call):
2012-11-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135575.
http://trac.webkit.org/changeset/135575
https://bugs.webkit.org/show_bug.cgi?id=103169
It made all tests assert (Requested by Ossy on #webkit).
* qt/MainQt.cpp:
(WebKit):
(main):
2012-11-23 Alexis Menard <alexis@webkit.org>
[CSS3 Backgrounds and Borders] Implement new CSS3 background-position parsing.
https://bugs.webkit.org/show_bug.cgi?id=102104
Reviewed by Julien Chaffraix.
Protect the new feature behind a feature flag.
* Configurations/FeatureDefines.xcconfig:
2012-11-23 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Match the behavior of selfOrAncestorHaveNonAffineTransforms() to its name.
https://bugs.webkit.org/show_bug.cgi?id=103097
Reviewed by Noam Rosenthal.
CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms() does
not check its ancestor. This patch makes this method check its ancestor
to match its name.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
2012-11-23 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: LayerTreeRenderer::removeTile() does not remove tiles actually.
https://bugs.webkit.org/show_bug.cgi?id=103030
Reviewed by Noam Rosenthal.
LayerTreeRenderer::removeTile() must add a backing store into
m_backingStoresWithPendingBuffers. Otherwise, tiles are not removed.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeTile):
2012-11-23 Huang Dongsung <luxtella@company100.net>
[TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.
https://bugs.webkit.org/show_bug.cgi?id=103046
Reviewed by Noam Rosenthal.
This patch makes GraphicsLayerTextureMapper create its own backing
store. However, LayerTreeRenderer also creates its own backing store. So
when LayerTreeRenderer uses GraphicsLayerTextureMapper,
LayerTreeRenderer needs GraphicsLayerTextureMapper to not create its own
backing store.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createLayer):
(WebKit::LayerTreeRenderer::getBackingStore):
2012-11-23 Huang Dongsung <luxtella@company100.net>
REGRESSION(r135486): ASSERT(isMainThread()) hit in LayerTreeRenderer::setActive(bool)
https://bugs.webkit.org/show_bug.cgi?id=103077
Reviewed by Noam Rosenthal.
Currently, the painting thread uses purgeGLResources() and setActive().
QQuickWebPage::updatePaintNode() indirectly calls both methods after
locking the main thread.
This patch changes two points.
1. Remove ASSERT(isMainThread()) in methods that the painting thread can
call.
2. Make purgeGLResources() and setActive() call methods of
LayerTreeCoordinatorProxy via dispatchOnMainThread().
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::renderNextFrame):
(WebKit::LayerTreeRenderer::purgeGLResources):
(WebKit):
(WebKit::LayerTreeRenderer::purgeBackingStores):
(WebKit::LayerTreeRenderer::setActive):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
2012-11-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2][AC] EwkViewImpl::transformToScreen() does not retrieve the Ecore_X_Window properly
https://bugs.webkit.org/show_bug.cgi?id=103133
Reviewed by Kenneth Rohde Christiansen.
If accelerated compositing is enabled, EwkViewImpl::transformToScreen() should
attempt to retrieve the Ecore_X_Window using ecore_evas_gl_x11_window_get() first
and only fall back to ecore_evas_software_x11_window_get().
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::transformToScreen):
2012-11-23 Wojciech Bielawski <w.bielawski@samsung.com>
[WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()
https://bugs.webkit.org/show_bug.cgi?id=86881
Reviewed by Kenneth Rohde Christiansen.
InjectedBundle API extended to retrieve contextMenu entries names.
WebContextMenu exteded with function to retrieve menu items.
This API is required by layout tests.
Common code in WebContextMenu.cpp moved to separate method menuItemsWithUserData().
Behaviour of dependend methods is unchanged.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageGetContextMenuEntriesNames):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::items):
(WebKit):
* WebProcess/WebPage/WebContextMenu.h:
(WebContextMenu):
2012-11-22 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Avoid initializing PlatformStrategies twice.
Rubber-stamped by Simon Hausmann.
This fixes another regression introduced in r135515:
initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
since it can be called from WebKit2 to initialize QStyle for testing.
This would then lead to things such as PlatformStrategies being
initialized twice.
* qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
(WebKit):
(main):
2012-11-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Use custom private macros to define GObjects
https://bugs.webkit.org/show_bug.cgi?id=99705
Reviewed by Martin Robinson.
Add WEBKIT_DEFINE_TYPE macros, similar and compatible with
G_DEFINE_TYPE macros, to define GObject types. These macros also
define the init and finalize functions reducing the GObject
boilerplate and hiding the placement new syntax that causes some
confusion. The patch replaces the use of G_DEFINE_TYPE macros by
WEBKIT_DEFINE_TYPE ones and removes the init and finalize
implementations, moving custom code when needed to the private
struct constructor/destructor or constructed/dispose virtual
methods when appropriate.
* UIProcess/API/gtk/WebKitBackForwardList.cpp:
* UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
(webkit_back_forward_list_item_class_init):
* UIProcess/API/gtk/WebKitContextMenu.cpp:
(webkitContextMenuDispose):
(webkit_context_menu_class_init):
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
(_WebKitContextMenuItemPrivate::~_WebKitContextMenuItemPrivate):
(_WebKitContextMenuItemPrivate):
(webkit_context_menu_item_class_init):
* UIProcess/API/gtk/WebKitCookieManager.cpp:
(_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
(_WebKitCookieManagerPrivate):
* UIProcess/API/gtk/WebKitDownload.cpp:
(webkit_download_class_init):
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(webkit_favicon_database_class_init):
* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkitFileChooserRequestDispose):
(webkit_file_chooser_request_class_init):
* UIProcess/API/gtk/WebKitFindController.cpp:
(webkit_find_controller_class_init):
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
(webkitFormSubmissionRequestDispose):
(webkit_form_submission_request_class_init):
* UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
(webkitGeolocationPermissionRequestDispose):
(webkit_geolocation_permission_request_class_init):
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkit_hit_test_result_class_init):
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
(webkit_navigation_policy_decision_class_init):
* UIProcess/API/gtk/WebKitPlugin.cpp:
(_WebKitPluginPrivate::~_WebKitPluginPrivate):
(_WebKitPluginPrivate):
(webkit_plugin_class_init):
* UIProcess/API/gtk/WebKitPolicyDecision.cpp:
(webkitPolicyDecisionDispose):
(webkit_policy_decision_class_init):
(webkit_policy_decision_use):
(webkit_policy_decision_ignore):
(webkit_policy_decision_download):
* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
(_WebKitPrintOperationPrivate):
(webkit_print_operation_class_init):
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
(webkit_response_policy_decision_class_init):
* UIProcess/API/gtk/WebKitSecurityManager.cpp:
(webkit_security_manager_class_init):
* UIProcess/API/gtk/WebKitSettings.cpp:
(_WebKitSettingsPrivate::_WebKitSettingsPrivate):
(_WebKitSettingsPrivate):
(webkit_settings_class_init):
* UIProcess/API/gtk/WebKitURIRequest.cpp:
(webkit_uri_request_class_init):
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkit_uri_response_class_init):
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkit_uri_scheme_request_class_init):
* UIProcess/API/gtk/WebKitWebContext.cpp:
* UIProcess/API/gtk/WebKitWebInspector.cpp:
(_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate):
(_WebKitWebInspectorPrivate):
(webkit_web_inspector_class_init):
* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkit_web_resource_class_init):
* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
(_WebKitWebViewPrivate):
(webkitWebViewConstructed):
(webkitWebViewDispose):
(webkit_web_view_class_init):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
(_WebKitWebViewBasePrivate):
(_WebKitWebViewBasePrivate::~_WebKitWebViewBasePrivate):
(webkitWebViewBaseDispose):
(webkitWebViewBaseConstructed):
(webkit_web_view_base_class_init):
* UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp:
(webkit_web_view_base_accessible_class_init):
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
(webkit_window_properties_class_init):
2012-11-22 KwangYong Choi <ky0.choi@samsung.com>
[EFL][WK2] Buildfix when ENABLE_NETSCAPE_PLUGIN_API is disabled
https://bugs.webkit.org/show_bug.cgi?id=103044
Reviewed by Kentaro Hara.
enum ProcessType has PluginProcess only if ENABLE(PLUGIN_PROCESS) is enabled.
So, guard PluginProcess with ENABLE(PLUGIN_PROCESS).
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
2012-09-26 Gustavo Noronha Silva <gns@gnome.org>
[GTK] Split SVG from WebCore to work-around make limitation
https://bugs.webkit.org/show_bug.cgi?id=97735
Reviewed by Carlos Garcia Campos.
Add a new libtool convenience library, libWebCoreSVG.la, to work-around
make limitation when linking libWebCore.
* GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.
2012-11-22 Simon Hausmann <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
[Qt] Separate QWidget dependant code into separate WebKitWidgets static library
https://bugs.webkit.org/show_bug.cgi?id=102800
Reviewed by Tor Arne Vestbø.
This patch separates code that needs to use QWidget related APIs in
WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
static library. WebKit1 is compiled without QT += widgets and therefore
any widget related dependency has been moved "up" and out of WebKit1 into
the WebKitWidgets library.
Between the code in WebKit.a and WebKitWidgets.a new adapters and
interfaces have been introduced, such as QWebPageAdapter and
QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
call out into the API layer, implemented by QWebPage (QWebPagePrivate).
The other way around if QWebPage wants to access WebCore or
WebCoreSupport related functionality, it will go through
QWebPageAdapater (as base class). The separation in the direction up
into the API layer is complete with this patch, no code in WebKit1
depends on QtWidgets. The separation the other way around, code in the
API layer not using any WebCore types, is not complete yet.
Some classes such as QWebSettings, QWebElement or
DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
they do not depend on widget related Qt APIs and they make much more
use of WebCore internal APIs and therefore are easier to keep in
WebKit1.
In the future we plan to place a real shared library boundary between
WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
part of the QtWebKit shared library and by turning the WebKitWidgets
static library into a shared one.
* qt/MainQt.cpp:
(WebKit):
(main):
2012-11-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
[WK2][EFL] No need to remove surface before replacing
https://bugs.webkit.org/show_bug.cgi?id=103055
Rubberstamped by Simon Hausmann.
The surface is stored in a OwnPtr which automatically
frees the existing surface after replacing it with a new
one. For some reason, this also fixes resizing issues on
my Nvidia driver.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
2012-11-22 Christophe Dumez <christophe.dumez@intel.com>
WebKitTestRunner needs layoutTestController.setCacheModel
https://bugs.webkit.org/show_bug.cgi?id=42684
Reviewed by Kenneth Rohde Christiansen.
Add Bundle C API for WebKitTestRunner to set the
cache model.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetCacheModel):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setCacheModel):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/WebProcess.h:
(WebProcess):
2012-11-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
REGRESSION(r135399): Wrong assertion causing an assertion failure: m_rawAttributes.initialScale > 0
https://bugs.webkit.org/show_bug.cgi?id=102971
Reviewed by Kenneth Rohde Christiansen.
m_rawAttributes.initialScale has to be initialized even if m_minimumScaleToFit hasn't changed
it's value.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeViewportAttributes):
2012-11-22 Eunmi Lee <eunmi15.lee@samsung.com>
[EFL][WK2] Correct the parameters of WebPlatformTouchPoint.
https://bugs.webkit.org/show_bug.cgi?id=102865
Reviewed by Kenneth Rohde Christiansen.
Set the screen position as a third parameter and contents position as
a fourth parameter of WebPlatformTouchPoint().
* Shared/efl/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebTouchEvent):
2012-11-22 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102894
Reviewed by Kenneth Rohde Christiansen.
CoordinatedGraphicsLayer does not need to have a backing store
if (!drawsContent() || !contentsAreVisible() || m_size.isEmpty()).
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
2012-11-22 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: refactor LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=103004
Reviewed by Noam Rosenthal.
This patch changes two subjects.
1. Add ASSERT(isMainThread()) in all methods that are called in the main thread.
In addition, make dispatchOnMainThread() use callOnMainThread(const Function<void()>&
function) instead of its own implementation.
2. Remove setAccelerationMode() because we don't use m_accelerationMode member
except for the setter.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit):
(WebKit::LayerTreeRenderer::dispatchOnMainThread):
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::animationFrameReady):
(WebKit::LayerTreeRenderer::updateViewport):
(WebKit::LayerTreeRenderer::renderNextFrame):
(WebKit::LayerTreeRenderer::purgeGLResources):
(WebKit::LayerTreeRenderer::detach):
(WebKit::LayerTreeRenderer::setActive):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::createDrawingAreaProxy):
2012-11-21 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Use consistent class names in the clients
https://bugs.webkit.org/show_bug.cgi?id=102684
Reviewed by Gyuyoung Kim.
WebKit EFL classes do not use '_' since r135117 but '_' is still remained
in some clients classes. This patch removed the '_' to make class names
to be consistent.
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::didFail):
* UIProcess/efl/FormClientEfl.cpp:
(WebKit::FormClientEfl::willSubmitForm):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::runOpenPanel):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler):
(WebKit::RequestManagerClientEfl::didReceiveURIRequest):
(WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
* UIProcess/efl/RequestManagerClientEfl.h:
(RequestManagerClientEfl):
* UIProcess/efl/ResourceLoadClientEfl.cpp:
(WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
(WebKit::ResourceLoadClientEfl::didSendRequestForResource):
(WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
(WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
(WebKit::ResourceLoadClientEfl::didFailLoadForResource):
* UIProcess/efl/ResourceLoadClientEfl.h:
(ResourceLoadClientEfl):
2012-11-21 Jaehun Lim <ljaehun.lim@samsung.com>
[EFL][WK2] Remove #include "ewk_view_private.h" in PageViewportControllerClientEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=102773
Reviewed by Gyuyoung Kim.
PageViewportControllerClientEfl.cpp doesn't need to include ewk_view_private.h.
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
2012-11-21 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: refactor changing children code in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102896
Reviewed by Noam Rosenthal.
When changing children, we don't need to sync a layer state because
there is no more need to send the parent ID every time the layer tree
hierarchy changes. So this patch removes didChangeLayerState() in
methods which change children.
In addition, purgeBackingStores() does not need to call didChangeChildren()
because purgeBackingStores() does not change children.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::removeFromParent):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
2012-11-21 Huang Dongsung <luxtella@company100.net>
REGRESSION(r135212): Fix crash due to an infinite rect.
https://bugs.webkit.org/show_bug.cgi?id=102891
Reviewed by Noam Rosenthal.
When CoordinatedGraphicsLayer has a 3D transform, tiledBackingStoreVisibleRect()
can calculate an infinite rect. However, TiledBackingStore cannot handle the
infinite rect. This patch clamps the infinite rect to avoid crash in
TiledBackingStore.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::clampToContentsRectIfRectIsInfinite):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
2012-11-21 Allan Sandfeld Jensen <allan.jensen@digia.com>
Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139
Reviewed by Julien Chaffraix.
Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.
* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::show):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::characterIndexForPoint):
2012-11-21 Simon Hausmann <simon.hausmann@digia.com>
Unreviewed Qt/Windows build fix.
https://bugs.webkit.org/show_bug.cgi?id=102787
Remove inclusion of QtQml, which drags in QtNetwork, which drags in qnetworksession.h, which
defines a member function called "interface". Since windows headers also define a pre-processor
macro called "interface", it has to do that. However we have now a dependency between combaseapi.h,
which #defines interface and is included earlier (before qnetworksession.h) and shlwapi.h, which _needs_
the interface macro and is included afterwards. Since this module-wide QtQml inclusion is unnecessary
and just slows down the build, this patch removes it.
* UIProcess/API/qt/qwebkittest_p.h:
2012-11-21 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: refactor LayerTreeRenderer::syncRemoteContent().
https://bugs.webkit.org/show_bug.cgi?id=102900
Reviewed by Noam Rosenthal.
Currently, QQuickWebPage::updatePaintNode() calls
LayerTreeRenderer::syncRemoteContent() with locking the main thread.
syncRemoteContent() is heavy, so we should not call syncRemoteContent() in
updatePaintNode(). Calling syncRemoteContent() in the painting thread is
thread-safe because syncRemoteContent() does not access any data
structures, which the main thread use.
After this patch, syncRemoteContent() is used only internally, so
syncRemoteContent() becomes private.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::updatePaintNode):
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::paint):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::ensureRootLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
2012-11-21 Andras Becsi <andras.becsi@digia.com>
[WK2] Viewport meta tag broken after r134801
https://bugs.webkit.org/show_bug.cgi?id=102801
Reviewed by Kenneth Rohde Christiansen.
If the initial-scale attribute is not explicitly specified it is left -1 by the
viewport meta algorithm and if the content is not scalable the min and max scales
are restricted by restrictScaleFactorToInitialScaleIfNotUserScalable() which resulted
in negative scales on the UI side.
Make sure that the minimum scale to fit the viewport is calculated before restricting
the scales and use this scale as the initial scale if no explicit initial scale was set.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::updateMinimumScaleToFit):
2012-11-21 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[EFL][WK2] Support Context Menu
https://bugs.webkit.org/show_bug.cgi?id=96200
Reviewed by Laszlo Gombos.
This patch supports WK2 EFL's context menu as WK1 implementation because we can't use elementary in inside WebKit.
Only basic functionalities of context menu are supported. Beside this implementation follows GTK's implementation.
For example, ewk_context_menu_new, ewk_context_menu_item_append, ewk_context_menu_item_remove are supported.
In addition, ewk_defines.h file is added in order to support cross inclusion as GTK port.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::showContextMenu):
(EwkViewImpl::hideContextMenu):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
* UIProcess/API/efl/ewk_context_menu.cpp: Added.
(EwkContextMenu::EwkContextMenu):
(EwkContextMenu::~EwkContextMenu):
(EwkContextMenu::hide):
(Ewk_Context_Menu::appendItem):
(Ewk_Context_Menu::removeItem):
(EwkContextMenu::contextMenuItemSelected):
(ewk_context_menu_new):
(ewk_context_menu_new_with_items):
(ewk_context_menu_item_append):
(ewk_context_menu_item_remove):
(ewk_context_menu_hide):
(ewk_context_menu_items_get):
(ewk_context_menu_item_select):
* UIProcess/API/efl/ewk_context_menu.h: Added.
* UIProcess/API/efl/ewk_context_menu_item.cpp: Added.
(EwkContextMenuItem::EwkContextMenuItem):
(ewk_context_menu_item_new):
(ewk_context_menu_item_new_with_submenu):
(ewk_context_menu_item_type_get):
(ewk_context_menu_item_type_set):
(ewk_context_menu_item_action_get):
(ewk_context_menu_item_action_set):
(ewk_context_menu_item_title_get):
(ewk_context_menu_item_title_set):
(ewk_context_menu_item_checked_get):
(ewk_context_menu_item_checked_set):
(ewk_context_menu_item_enabled_get):
(ewk_context_menu_item_enabled_set):
* UIProcess/API/efl/ewk_context_menu_item.h: Added.
* UIProcess/API/efl/ewk_context_menu_item_private.h: Added.
(EwkContextMenuItem):
(EwkContextMenuItem::create):
(EwkContextMenuItem::action):
(EwkContextMenuItem::setAction):
(EwkContextMenuItem::title):
(EwkContextMenuItem::setTitle):
(EwkContextMenuItem::type):
(EwkContextMenuItem::setType):
(EwkContextMenuItem::checked):
(EwkContextMenuItem::setChecked):
(EwkContextMenuItem::enabled):
(EwkContextMenuItem::setEnabled):
* UIProcess/API/efl/ewk_context_menu_private.h: Added.
(WebKit):
(EwkContextMenu):
(EwkContextMenu::create):
(EwkContextMenu::items):
* UIProcess/API/efl/ewk_defines.h: Added.
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: Added.
(checkBasicContextMenuItem):
(showContextMenu):
(TEST_F):
* UIProcess/efl/ContextMenuClientEfl.cpp: Added.
(toContextClientEfl):
(ContextMenuClientEfl::ContextMenuClientEfl):
(ContextMenuClientEfl::getContextMenuFromProposedMenu):
* UIProcess/efl/ContextMenuClientEfl.h: Added.
(WebKit):
(ContextMenuClientEfl):
(WebKit::ContextMenuClientEfl::create):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::createContextMenuProxy):
* UIProcess/efl/WebContextMenuProxyEfl.cpp: Added.
(WebKit):
(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::~WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::showContextMenu):
(WebKit::WebContextMenuProxyEfl::hideContextMenu):
(WebKit::WebContextMenuProxyEfl::contextMenuItemSelected):
* UIProcess/efl/WebContextMenuProxyEfl.h: Added.
(WebKit):
(WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::create):
2012-11-21 Jongseok Yang <js45.yang@samsung.com>
[EFL][WK2] Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX
https://bugs.webkit.org/show_bug.cgi?id=102867
Reviewed by Gyuyoung Kim.
Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX.
ewk_view_setting_encoding_custom_XXX APIs might be misunderstanded as the "setting" word
because ewk_view_setting_encoding_custom_set triggers the "reload" operation.
And ewk_view_setting_XXX is not correct because there is ewk_settings object for settings.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_encoding_custom_get):
(ewk_view_encoding_custom_set):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-11-20 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Remove unnecessary #include in API test
https://bugs.webkit.org/show_bug.cgi?id=102674
Reviewed by Laszlo Gombos.
Removed duplicated header files from the API test cases.
Now, EWK2UnitTestBase.h includes the basic header files,
so test cases may only include this one and add the addtional
header files if necessary.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
* UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
* UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
* UIProcess/API/efl/tests/test_ewk2_context_history_callbacks.cpp:
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
* UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
* UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
* UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
* UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
* UIProcess/API/efl/tests/test_ewk2_intents.cpp:
* UIProcess/API/efl/tests/test_ewk2_object.cpp:
* UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
* UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
* UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
2012-11-19 Sam Weinig <sam@webkit.org>
Simplify WebConnection by removing its underlying CoreIPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=102771
Reviewed by Anders Carlsson.
Instead of having WebConnection subclasses own the CoreIPC::Connection,
move back to having the WebProcess and WebProcessProxy own it (and be
its Connection::Client) and use the new MessageReceiver class to vend
messages to the WebConnection.
* Shared/WebConnection.cpp:
(WebKit::WebConnection::WebConnection):
(WebKit::WebConnection::postMessage):
(WebKit::WebConnection::didClose):
(WebKit::WebConnection::didReceiveMessage):
* Shared/WebConnection.h:
Make WebConnection both a MessageReceiver and MessageSender
and add virtual functions for derived classes to fill in.
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::create):
(WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
(WebKit::WebConnectionToWebProcess::invalidate):
(WebKit::WebConnectionToWebProcess::decodeMessageBody):
(WebKit::WebConnectionToWebProcess::connection):
(WebKit::WebConnectionToWebProcess::destinationID):
(WebKit::WebConnectionToWebProcess::hasValidConnection):
* UIProcess/WebConnectionToWebProcess.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::fromConnection):
(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::addMessageReceiver):
(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didReceiveInvalidMessage):
(WebKit::WebProcessProxy::didFinishLaunching):
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::connection):
(WebProcessProxy):
(WebKit::WebProcessProxy::webConnection):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::create):
(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
(WebKit):
(WebKit::WebConnectionToUIProcess::invalidate):
(WebKit::WebConnectionToUIProcess::connection):
(WebKit::WebConnectionToUIProcess::destinationID):
(WebKit::WebConnectionToUIProcess::hasValidConnection):
* WebProcess/WebConnectionToUIProcess.h:
(WebConnectionToUIProcess):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initialize):
(WebKit::WebProcess::terminate):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::connection):
(WebKit::WebProcess::webConnectionToUIProcess):
Move the CoreIPC::Connection back to the processes.
2012-11-20 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Add Ewk_Window_Features API and related UI callbacks
https://bugs.webkit.org/show_bug.cgi?id=99114
Reviewed by Gyuyoung Kim.
Added Ewk_Window_Features API so that we can create new windows
with various window features such as location, size, toolbar, menubar,
statusbar, locationbar, scrollbar, resizable, and fullscreen.
UI client callbacks related to window features also implemented
so that it is possible to retrieve the window object property values.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
(EwkViewCallbacks):
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::windowFeatures):
(EwkViewImpl::createNewPage):
(EwkViewImpl::closePage):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::toolbarsAreVisible):
(WebKit):
(WebKit::PageUIClientEfl::setToolbarsAreVisible):
(WebKit::PageUIClientEfl::menuBarIsVisible):
(WebKit::PageUIClientEfl::setMenuBarIsVisible):
(WebKit::PageUIClientEfl::statusBarIsVisible):
(WebKit::PageUIClientEfl::setStatusBarIsVisible):
(WebKit::PageUIClientEfl::isResizable):
(WebKit::PageUIClientEfl::setIsResizable):
(WebKit::PageUIClientEfl::PageUIClientEfl):
* UIProcess/efl/PageUIClientEfl.h:
(PageUIClientEfl):
2012-11-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135295.
http://trac.webkit.org/changeset/135295
https://bugs.webkit.org/show_bug.cgi?id=102834
This patch causes assertion to some layout tests on chromium
(Requested by jianli on #webkit).
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
(WebKit::WebPage::linkClicked):
2012-11-20 James Simonsen <simonjam@chromium.org>
Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=102151
Reviewed by Adam Barth.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
2012-11-20 peavo@outlook.com <peavo@outlook.com>
WinCairo build fails to link.
https://bugs.webkit.org/show_bug.cgi?id=102804
Reviewed by Alexey Proskuryakov.
* win/WebKit2CFLite.def:
2012-11-20 Thiago Marcos P. Santos <thiago.santos@intel.com>
[WTR] WebKitTestRunner should be able to run tests using fixed layout
https://bugs.webkit.org/show_bug.cgi?id=102517
Reviewed by Kenneth Rohde Christiansen.
Update EFL private API so we can create a view with fixed layout. We
can keep this as private as I don't see a real life use case for it
outside WTR and the WebInspector.
* UIProcess/API/C/efl/WKView.cpp:
(WKViewCreate):
(WKViewCreateWithFixedLayout):
* UIProcess/API/C/efl/WKView.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
https://bugs.webkit.org/show_bug.cgi?id=102790
Reviewed by Kenneth Rohde Christiansen.
Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
but instead return whether it has changed the minimumScaleToFit.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(PageViewportController):
2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] No test of double-click to zoom out
https://bugs.webkit.org/show_bug.cgi?id=102810
Reviewed by Kenneth Rohde Christiansen.
Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
that zoom out always goes to lower zoom levels.
* UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] Large areas highlighted on touch
https://bugs.webkit.org/show_bug.cgi?id=97216
Reviewed by Simon Hausmann.
Restrict highlighting of scripted event-handlers to inline elements only.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::highlightPotentialActivation):
2012-11-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] Zoom logic confused by page and pinch resize
https://bugs.webkit.org/show_bug.cgi?id=102803
Reviewed by Kenneth Rohde Christiansen.
Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
zoom-out and zoom-back when the zoom-out stack is empty.
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
(WebKit::PageViewportControllerClientQt::setContentsScale):
(WebKit::PageViewportControllerClientQt::pinchGestureStarted):
(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):
2012-11-19 KyungTae Kim <ktf.kim@samsung.com>
[WK2] Unused parameters on CoordinatedGraphicsLayer.cpp
https://bugs.webkit.org/show_bug.cgi?id=102760
Reviewed by Laszlo Gombos.
Because the 'platformLayer' parameter is not used when !USE(GRAPHICS_SURFACE),
use UNUSED_PARAM macro to fix build warning -Wunused-parameter
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
2012-11-19 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove tiles of a layer when they are off the viewport.
https://bugs.webkit.org/show_bug.cgi?id=102313
Reviewed by Noam Rosenthal.
Currently, we don't remove tiles of the layer with the special properties: a
transform animation and non affine transform. If a page has a lot of layers with
a transform animation, we will encounter OOM. So this patch removes the
privilege of the layer.
There are two changes.
1. computeTransformedVisibleRect() calculates a layer transform using the
current local transform which a transform animation applied.
2. tiledBackingStoreVisibleRect() calculates a visible
rect of all layers, even if the layer includes the property: a transform
animation or non affine transform.
Test: animations/animation-offscreen-to-onscreen.html
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
(WebCore):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-19 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove a texture if an direct composited image is off the viewport.
https://bugs.webkit.org/show_bug.cgi?id=102449
Reviewed by Noam Rosenthal.
Currently, once uploading textures for composited images, Coordinated Graphics
does not release the textures until all layers using images are destroyed.
This patch removes a texture if we don't need to render an image. This mechanism
is similar how TiledBackingStore removes invisible tiles.
When all layers are invisible, we wait 3 seconds to remove the content
of the image, because we want to prevent a transform animation from
creating and destroying a texture over and over again.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::removeAllTiles):
(WebKit):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::clearImageBackingContents):
(WebKit):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::clearImageBackingContents):
(WebKit):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
(WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::addHost):
(WebKit::CoordinatedImageBacking::removeHost):
(WebKit::CoordinatedImageBacking::update):
(WebKit):
(WebKit::CoordinatedImageBacking::updateVisibilityIfNeeded):
(WebKit::CoordinatedImageBacking::clearContentsTimerFired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
(Coordinator):
(Host):
(CoordinatedImageBacking):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::clearImageBackingContents):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r135201.
http://trac.webkit.org/changeset/135201
https://bugs.webkit.org/show_bug.cgi?id=102725
Broke all non-Mac WK2 builds. (Requested by rakuco on
#webkit).
* Shared/mac/PlatformCertificateInfo.h:
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Authentication/AuthenticationManager.cpp:
* WebProcess/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Copied from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
(WebKit):
(WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
2012-11-19 Brady Eidson <beidson@apple.com>
Move tryUsePlatformCertificateInfoForChallenge from AuthenticationManager to PlatformCertificateInfo.
https://bugs.webkit.org/show_bug.cgi?id=102718
Reviewed by Sam Weinig.
Add the shared PlatformCertificateInfo version of the method:
* Shared/mac/PlatformCertificateInfo.h:
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit::tryUsePlatformCertificateInfoForChallenge):
Use the new shared version:
* WebProcess/Authentication/AuthenticationManager.cpp:
Remove the old member version:
* WebProcess/Authentication/AuthenticationManager.h:
* WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj:
2012-11-19 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
https://bugs.webkit.org/show_bug.cgi?id=102664
Reviewed by Noam Rosenthal.
This patch makes sync canvas code handle the lifecycle of the canvas
GraphicsSurface in the similar style to a directly image compositing and
an update atlas code. This patch moves the canvas lifecycle handling
code from LayerTreeRenderer to CoordinatedGraphicsLayer, because
CoordinatedGraphicsLayer knows best when to create and remove the canvas
GraphicsSurface.
After this patch, we can remove the canvas GraphicsSurface in UI Process as soon
as the canvas platform layer is unset in Web Process.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createCanvas):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
(WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createCanvas):
(WebKit):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::destroyCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createCanvas):
(WebKit):
(WebKit::LayerTreeCoordinator::syncCanvas):
(WebKit::LayerTreeCoordinator::destroyCanvas):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-19 Brady Eidson <beidson@apple.com>
Replace an unneeded #include with a forward declaration after r135179.
Reviewed by nobody, but suggested by Alexey Proskuryakov.
* WebProcess/Network/WebResourceLoader.h:
2012-11-19 Martin Robinson <mrobinson@igalia.com>
[GTK] REGRESSION(r134955): Plugins are broken due to unresolved symbol in plugin process
https://bugs.webkit.org/show_bug.cgi?id=102613
Unreviewed build fix.
* GNUmakefile.am: Fix the build after one of my previous patches introduced
a link dependency on libsecret.
2012-11-19 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] Web Inspector crashes if evas_gl is not available
https://bugs.webkit.org/show_bug.cgi?id=102531
Reviewed by Kenneth Rohde Christiansen.
Teach Web Inspector to fallback gracefully to the software path when evas_gl engine is not available.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
2012-11-19 Brady Eidson <beidson@apple.com>
Remove the source files for NetworkRequest from the repository.
They were obsoleted and removed from the project file awhile ago, but I forgot to nuke the source.
Unreviewed.
* NetworkProcess/NetworkRequest.cpp: Removed.
* NetworkProcess/NetworkRequest.h: Removed.
2012-11-19 Brady Eidson <beidson@apple.com>
Add 64-bit specializations for atomicIncrement and atomicDecrement
https://bugs.webkit.org/show_bug.cgi?id=102702
Reviewed by Eric Carlson.
Move away from the Darwin-specific OSAtomicIncrement64Barrier and use WTF::atomicIncrement instead.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::generateWillSendRequestID): Adopt WTF::atomicIncrement.
(WebKit::generateCanAuthenticateAgainstProtectionSpaceID): Ditto.
* WebProcess/mac/KeychainItemShimMethods.mm:
(WebKit::generateSecKeychainItemRequestID): Ditto.
* WebProcess/mac/SecItemShimMethods.mm:
(WebKit::generateSecItemRequestID): Ditto.
2012-11-19 Brady Eidson <beidson@apple.com>
NetworkProcess Authentication.
https://bugs.webkit.org/show_bug.cgi?id=102592
Reviewed by Alexey Proskuryakov.
This get's basic HTTP authentication working with the NetworkProcess by dispatching authentication
related events to the WebProcess and relying on existing client APIs to answer them.
Implement ResourceHandleClient methods related to auth challenges and message them to the WebProcess.
Also implement messaging back from the WebProcess to response to those auth challenges:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::willSendRequestResponseMap):
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::willSendRequestHandled):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
(WebKit::NetworkResourceLoader::receivedCancellation):
(WebKit::NetworkResourceLoader::receivedAuthenticationCredential):
(WebKit::NetworkResourceLoader::receivedRequestToContinueWithoutAuthenticationCredential):
(WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
(WebKit::canAuthenticateAgainstProtectionSpaceResponseMap):
(WebKit::generateCanAuthenticateAgainstProtectionSpaceID):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkResourceLoader.messages.in:
Implement messaging to response to auth challenges from the NetworkProcess, and implement
AuthenticationClient to response to auth responses from WebProcess clients:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebKit::WebResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::WebResourceLoader::didCancelAuthenticationChallenge):
(WebKit::WebResourceLoader::receivedCredential):
(WebKit::WebResourceLoader::receivedRequestToContinueWithoutCredential):
(WebKit::WebResourceLoader::receivedCancellation):
* WebProcess/Network/WebResourceLoader.h:
(WebKit::WebResourceLoader::refAuthenticationClient):
(WebKit::WebResourceLoader::derefAuthenticationClient):
* WebProcess/Network/WebResourceLoader.messages.in:
Add a BlockingResponseMap for bool responses, which don't need OwnPtr trickery:
* Shared/BlockingResponseMap.h:
(BlockingBoolResponseMap::waitForResponse):
(BlockingBoolResponseMap::didReceiveResponse):
Add "allowsStoredCredentials" to NetworkResourceLoadParameters so the NetworkProcess
already has the answer when the question is asked:
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(WebKit::NetworkResourceLoadParameters::allowStoredCredentials):
Grab the value for "allowsStoredCredentials" when scheduling the load in the NetworkProcess:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
Add a FIXME for client certs:
* WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
(WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
Add a FIXME for downloads:
* WebProcess/Downloads/mac/DownloadMac.mm:
Remove unused messaging related methods:
* WebProcess/Network/NetworkProcessConnection.cpp:
* WebProcess/Network/NetworkProcessConnection.h:
2012-11-19 Kihong Kwon <kihong.kwon@samsung.com>
Add PROXIMITY_EVENTS feature
https://bugs.webkit.org/show_bug.cgi?id=102658
Reviewed by Kentaro Hara.
Add PROXIMITY_EVENTS feature to xcode project for WebKit2.
* Configurations/FeatureDefines.xcconfig:
2012-11-19 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Fix possible crash in EwkViewImpl::displayTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=102682
Reviewed by Kenneth Rohde Christiansen.
Add NULL check for DrawingAreaProxy and LayerTreeCoordinatorProxy
in displayTimerFired() to avoid crashing if those have already
been destroyed by the time to timer is fired.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::layerTreeRenderer):
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):
(EwkViewImpl::enterAcceleratedCompositingMode):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
2012-11-19 Christophe Dumez <christophe.dumez@intel.com>
[WK2][WTR] Memory leak in TestController::initialize()
https://bugs.webkit.org/show_bug.cgi?id=102616
Reviewed by Kenneth Rohde Christiansen.
Export a few additional WTF symbols for windows port.
* win/WebKit2.def:
2012-11-19 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test /webkit2/WebKitWebView/create-ready-close is failing after r134586
https://bugs.webkit.org/show_bug.cgi?id=102668
Reviewed by Philippe Normand.
Check only that window properties match when creating a new window
if the expected window properties has been set. Also remove a
FIXME and actually check that x and y are equal to the expected
one, now that the issue is fixed.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2012-11-19 Balazs Kelemen <kbalazs@webkit.org>
Unreviewed buildfix.
Fix -Wdelete-non-virtual-destructor error with gcc 4.7 after r135056.
* Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
(WebCustomFilterProgramProxy): This is a polymorphic derived class
so the destructor should be virtual.
2012-11-19 Christophe Dumez <christophe.dumez@intel.com>
[CG][WK2] Assertion in CoordinatedGraphicsLayer::setContentsToImage(WebCore::Image*)
https://bugs.webkit.org/show_bug.cgi?id=102652
Reviewed by Kenneth Rohde Christiansen.
Handle null return of nativeImageForCurrentFrame similarly to Chromium
port in r130610. This can happen if there is an error early in the
decoding of an image.
Test: Already covered by compositing/images/truncated-direct-png-image.html
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
2012-11-18 Jaehun Lim <ljaehun.lim@samsung.com>
[EFL][WK2] Remove underscore characters in Ewk class names.
https://bugs.webkit.org/show_bug.cgi?id=102641
Reviewed by Gyuyoung Kim.
WebKit EFL doesn't use '_' in C++ class names.
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::settings):
(EwkViewImpl::backForwardList):
(EwkViewImpl):
* UIProcess/API/efl/ewk_auth_request.h:
* UIProcess/API/efl/ewk_auth_request_private.h:
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(EwkBackForwardList::EwkBackForwardList):
(EwkBackForwardList::nextItem):
(EwkBackForwardList::previousItem):
(EwkBackForwardList::currentItem):
(EwkBackForwardList::itemAt):
(EwkBackForwardList::size):
(EwkBackForwardList::backList):
(EwkBackForwardList::forwardList):
(EwkBackForwardList::getFromCacheOrCreate):
(EwkBackForwardList::createEinaList):
(EwkBackForwardList::update):
* UIProcess/API/efl/ewk_back_forward_list.h:
* UIProcess/API/efl/ewk_back_forward_list_item.h:
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
* UIProcess/API/efl/ewk_back_forward_list_private.h:
(EwkBackForwardList::create):
(EwkBackForwardList):
* UIProcess/API/efl/ewk_color_picker.cpp:
(EwkColorPicker::EwkColorPicker):
(EwkColorPicker::setColor):
(EwkColorPicker::color):
* UIProcess/API/efl/ewk_color_picker.h:
* UIProcess/API/efl/ewk_color_picker_private.h:
(EwkColorPicker::create):
(EwkColorPicker):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(EwkCookieManager::EwkCookieManager):
(EwkCookieManager::~EwkCookieManager):
(EwkCookieManager::setPersistentStorage):
(EwkCookieManager::setHTTPAcceptPolicy):
(EwkCookieManager::clearHostnameCookies):
(EwkCookieManager::clearAllCookies):
(EwkCookieManager::watchChanges):
(EwkCookieManager::isWatchingForChanges):
(EwkCookieManager::getHostNamesWithCookies):
(EwkCookieManager::getHTTPAcceptPolicy):
(EwkCookieManager::cookiesDidChange):
* UIProcess/API/efl/ewk_cookie_manager.h:
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(EwkCookieManager::create):
(EwkCookieManager):
* UIProcess/API/efl/ewk_database_manager.cpp:
(EwkDatabaseManager::EwkDatabaseManager):
(EwkDatabaseManager::getDatabaseOrigins):
(EwkDatabaseManager::createOriginList):
* UIProcess/API/efl/ewk_database_manager.h:
* UIProcess/API/efl/ewk_database_manager_private.h:
(EwkDatabaseManager::create):
(EwkDatabaseManager):
* UIProcess/API/efl/ewk_download_job.h:
* UIProcess/API/efl/ewk_download_job_private.h:
* UIProcess/API/efl/ewk_error.cpp:
(EwkError::EwkError):
(EwkError::url):
(EwkError::description):
(EwkError::domain):
(EwkError::errorCode):
(EwkError::isCancellation):
* UIProcess/API/efl/ewk_error.h:
* UIProcess/API/efl/ewk_error_private.h:
(EwkError::create):
(EwkError):
* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::EwkFaviconDatabase):
(EwkFaviconDatabase::~EwkFaviconDatabase):
(EwkFaviconDatabase::iconURLForPageURL):
(EwkFaviconDatabase::watchChanges):
(EwkFaviconDatabase::unwatchChanges):
(EwkFaviconDatabase::iconForPageURL):
(EwkFaviconDatabase::didChangeIconForPageURL):
(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::iconDataReadyForPageURL):
* UIProcess/API/efl/ewk_favicon_database.h:
* UIProcess/API/efl/ewk_favicon_database_private.h:
(EwkFaviconDatabase::create):
(EwkFaviconDatabase):
* UIProcess/API/efl/ewk_file_chooser_request.h:
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
* UIProcess/API/efl/ewk_form_submission_request.h:
* UIProcess/API/efl/ewk_form_submission_request_private.h:
* UIProcess/API/efl/ewk_intent.h:
* UIProcess/API/efl/ewk_intent_private.h:
* UIProcess/API/efl/ewk_intent_service.h:
* UIProcess/API/efl/ewk_intent_service_private.h:
* UIProcess/API/efl/ewk_navigation_data.h:
* UIProcess/API/efl/ewk_navigation_data_private.h:
* UIProcess/API/efl/ewk_navigation_policy_decision.h:
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
* UIProcess/API/efl/ewk_object.h:
* UIProcess/API/efl/ewk_object_private.h:
(EwkObject::~EwkObject):
(ewk_object_is_of_type):
(ewk_object_cast_check):
(ewk_object_cast):
* UIProcess/API/efl/ewk_popup_menu.cpp:
(EwkPopupMenu::EwkPopupMenu):
(EwkPopupMenu::~EwkPopupMenu):
(EwkPopupMenu::close):
(EwkPopupMenu::items):
(EwkPopupMenu::selectedIndex):
(EwkPopupMenu::setSelectedIndex):
* UIProcess/API/efl/ewk_popup_menu.h:
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(EwkPopupMenuItem::EwkPopupMenuItem):
(EwkPopupMenuItem::type):
(EwkPopupMenuItem::textDirection):
(EwkPopupMenuItem::text):
(EwkPopupMenuItem::tooltipText):
(EwkPopupMenuItem::accessibilityText):
(EwkPopupMenuItem::hasTextDirectionOverride):
(EwkPopupMenuItem::isEnabled):
(EwkPopupMenuItem::isLabel):
(EwkPopupMenuItem::isSelected):
* UIProcess/API/efl/ewk_popup_menu_item.h:
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
(EwkPopupMenuItem::create):
(EwkPopupMenuItem):
* UIProcess/API/efl/ewk_popup_menu_private.h:
(EwkPopupMenu::create):
(EwkPopupMenu):
* UIProcess/API/efl/ewk_resource.h:
* UIProcess/API/efl/ewk_resource_private.h:
* UIProcess/API/efl/ewk_security_origin.h:
* UIProcess/API/efl/ewk_security_origin_private.h:
* UIProcess/API/efl/ewk_settings.cpp:
(EwkSettings::preferences):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/ewk_settings_private.h:
(EwkSettings::create):
(EwkSettings::EwkSettings):
* UIProcess/API/efl/ewk_storage_manager.cpp:
(EwkStorageManager::EwkStorageManager):
(EwkStorageManager::getStorageOrigins):
(EwkStorageManager::createOriginList):
* UIProcess/API/efl/ewk_storage_manager.h:
* UIProcess/API/efl/ewk_storage_manager_private.h:
(EwkStorageManager::create):
(EwkStorageManager):
* UIProcess/API/efl/ewk_url_request.h:
* UIProcess/API/efl/ewk_url_request_private.h:
* UIProcess/API/efl/ewk_url_response.h:
* UIProcess/API/efl/ewk_url_response_private.h:
* UIProcess/API/efl/ewk_url_scheme_request.h:
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
* UIProcess/API/efl/tests/test_ewk2_object.cpp:
(TEST_F):
2012-11-18 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] Wrong transform when using software path.
https://bugs.webkit.org/show_bug.cgi?id=102549
Reviewed by Kenneth Rohde Christiansen.
When using the software path, our transform is not correct and results
in drawing the wrong part of the page. This becomes more obvious after scrolling.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
2012-11-18 Carlos Garcia Campos <cgarcia@igalia.com>
[WK2] REGRESSION: After web process crash a new web process is created for every existing page
https://bugs.webkit.org/show_bug.cgi?id=102520
Reviewed by Alexey Proskuryakov.
When process model is SharedSecondaryProcess a new shared process
should be created instead of a new process per page.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
process and return it.
(WebKit::WebContext::createWebPage): Update to change in
ensureSharedWebProcess() that returns the shared web process now.
* UIProcess/WebContext.h:
(WebContext): Remove relaunchProcessIfNecessary().
(WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
process for SharedSecondaryProcess model or create a new web
process for multi-process models.
2012-11-17 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Remove 8-bit related assertion from NetscapePluginModuleX11.
https://bugs.webkit.org/show_bug.cgi?id=102588
Reviewed by Andreas Kling.
Follow-up to r135043: since String::fromUTF8() is not guaranteed
to give us a 16-bit string, the assertion in
truncateToSingleLine() will fail in that case.
This should make the EFL WK2 Debug bot stop failing all
plugin-related tests because "WebKit Test Plugin" is returned as
an 8-bit string.
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::truncateToSingleLine):
2012-11-17 Alexandru Chiculita <achicu@adobe.com>
[Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=101801
Reviewed by Noam Rosenthal.
Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
about the removed CustomFilterProgram.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
(CoreIPC):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):
* Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.
(WebCore):
(WebCustomFilterOperation):
(WebCore::WebCustomFilterOperation::create):
(WebCore::WebCustomFilterOperation::programID):
(WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
* Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
(WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit):
(WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
(WebKit::LayerTreeRenderer::createCustomFilterProgram):
(WebKit::LayerTreeRenderer::removeCustomFilterProgram):
(WebKit::LayerTreeRenderer::setLayerAnimations):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebCore):
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::setLayerAnimations):
2012-11-17 Brady Eidson <beidson@apple.com>
Add an integer identifier field to AuthenticationChallengeBase.
https://bugs.webkit.org/show_bug.cgi?id=102593
Reviewed by Darin Adler.
Properly encode/decode the identifier when sending the challenge over CoreIPC.
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
2012-11-17 Balazs Kelemen <kbalazs@webkit.org>
8bit-unaware String usage in NetscapePluginModuleX11.cpp
https://bugs.webkit.org/show_bug.cgi?id=102482
Reviewed by Michael Saboff.
String::fromUTF8 is not guaranteed to give a 16 bit string.
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.
2012-11-16 Jaehun Lim <ljaehun.lim@samsung.com>
[EFL][WK2] Remove unnecessary #include statemtns
https://bugs.webkit.org/show_bug.cgi?id=102577
Reviewed by Anders Carlsson.
ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.
* UIProcess/API/efl/ewk_auth_request_private.h:
* UIProcess/API/efl/ewk_database_manager.cpp:
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
* UIProcess/API/efl/ewk_form_submission_request_private.h:
* UIProcess/API/efl/ewk_navigation_data_private.h:
* UIProcess/API/efl/ewk_resource_private.h:
* UIProcess/API/efl/ewk_storage_manager.cpp:
2012-11-16 Sam Weinig <weinig@apple.com>
Fix the windows build.
* WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::defaultCookieStorage):
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::cachedResponseForURL):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::WebProcess::platformInitializeWebProcess):
2012-11-16 Alec Flett <alecflett@chromium.org>
Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818
Reviewed by Adam Barth.
Add exports for SerializedScriptValue changes.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-16 Kiran Muppala <cmuppala@apple.com>
Set task priority of WebKit2 processes to zero on Mac
https://bugs.webkit.org/show_bug.cgi?id=102567
Reviewed by Mark Rowe.
Explicitly set task priority of WebKit2 processes to zero, to
override automatic priority determination by the system.
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
move MAC specific call to disableProcessSuppression to platformInitialize.
(WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.
* Shared/ChildProcess.h:
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize): Add call to setpriority().
2012-11-16 Brady Eidson <beidson@apple.com>
Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=102570
Reviewed by Alexey Proskuryakov.
This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.
This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
loader related messaging going forward.
Build/infrastructure stuff:
* Platform/CoreIPC/MessageID.h:
* WebKit2.xcodeproj/project.pbxproj:
* DerivedSources.make:
Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
Hang on to a master map of identifiers to NetworkResourceLoaders:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:
Change the way "willSendRequestHandled" comes in to be a direct message:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::willSendRequestHandled):
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkResourceLoader.messages.in:
Make WebResourceLoader a MessageSender:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::connection):
(WebKit::WebResourceLoader::destinationID):
(WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.
* WebProcess/Network/WebResourceLoader.h:
2012-11-16 Tony Chang <tony@chromium.org>
Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
https://bugs.webkit.org/show_bug.cgi?id=102554
Reviewed by Andreas Kling.
As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
we're going to revist this feature once additional vendor support is
achieved.
* Configurations/FeatureDefines.xcconfig:
2012-11-16 Brent Fulgham <bfulgham@webkit.org>
[WinCairo] Build correction after r134960.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Stub out
calls to CFNetwork-based implementation.
2012-11-16 Martin Robinson <mrobinson@igalia.com>
Move authentication dialog to the UIProcess
[GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=101843
Reviewed by Gustavo Noronha Silva.
Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
the GTK+ widgets. This will allow us to to embed the dialog into the WebView
in the future and to test authentication with the WebKit2 C API.
* GNUmakefile.list.am: Add the new class to the source list and remove the
GTK+-only WebFrameLoader implementation file.
* UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog
which uses the WebKit2 classes to do the UIProcess-side authentication.
* UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
* UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.
(didReceiveAuthenticationChallengeInFrame): Added.
(attachLoaderClientToView): Use the new callback.
* UIProcess/Authentication/AuthenticationChallengeProxy.h:
(WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
again.
* WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
2012-11-15 Alexey Proskuryakov <ap@apple.com>
Private Browsing is a per-page setting that sets a global value
https://bugs.webkit.org/show_bug.cgi?id=67870
Reviewed by Sam Weinig.
* NetworkProcess/mac/RemoteNetworkingContext.h: Added storageSession().
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::storageSession): Just always fall back to default
so far.
* WebKit2.xcodeproj/project.pbxproj: Added WebPlatformStrategiesMac.mm for strategy
code that uses Objective C.
* WebProcess/Cookies/mac/WebCookieManagerMac.mm:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use WebFrameNetworkingContext
instead of hardcoding access to sessiosn here.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPrivateBrowsingEnabled): Create and destroy private
browsing session as appropriate.
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Use WebFrameNetworkingContext
instead of hardcoding access to sessiosn here.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Added.
(WebKit::WebPlatformStrategies::defaultCookieStorage):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::defaultCookieStorage):
Implemented defaultCookieStorage() through WebFrameNetworkingContext.
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
Moved code for dealing with global contexts here from WebCore.
* WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
Create a global private session when any page enters private browsing, and
delete it when any page exits private browsing. This is handling a preference
change, so all pages get it once.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformHasLocalDataForURL): Use main frame's context.
(WebKit::cachedResponseForURL): Ditto.
* WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Updated
to talk to WebFrameNetworkingContext instead of ResourceHandle for global session.
2012-11-16 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
[EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
https://bugs.webkit.org/show_bug.cgi?id=102000
Reviewed by Kenneth Rohde Christiansen.
Add matching of view background color to the page background. This helps to reduce
visibility of flicker during scrolling/scaling/repainting where page tiles are not
ready. View background color matching is disabled by default and can be enabled
with new API function ewk_view_draws_page_background_set .
View background color can interfere with semi-transparent pages and should be
disabled by default.
Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::setDrawsBackground):
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_draws_page_background_set):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
(WebKit):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::paintToGraphicsContext):
(WebKit::LayerTreeRenderer::setBackgroundColor):
(WebKit):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::setDrawsBackground):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::setBackgroundColor):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::setBackgroundColor):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::mainFrameDidLayout):
* WebProcess/WebPage/WebPage.h:
(WebPage):
2012-11-16 Krzysztof Czech <k.czech@samsung.com>
[WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=101748
Reviewed by Martin Robinson.
Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.
(WebKit):
(_WebPageAccessibilityObject):
(_WebPageAccessibilityObjectClass):
* WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.
(accessibilityRootObjectWrapper):
(webPageAccessibilityObjectInitialize):
(webPageAccessibilityObjectGetIndexInParent):
(webPageAccessibilityObjectGetNChildren):
(webPageAccessibilityObjectRefChild):
(web_page_accessibility_object_init):
(web_page_accessibility_object_class_init):
(webPageAccessibilityObjectNew):
(webPageAccessibilityObjectRefresh):
2012-11-16 Alexandru Chiculita <achicu@adobe.com>
[Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
https://bugs.webkit.org/show_bug.cgi?id=102414
Reviewed by Noam Rosenthal.
This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
filters are not needed anymore.
The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
will fix that and try to reuse existing custom filters.
* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
* Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.
(WebKit):
(WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):
* Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.
(WebKit):
(WebCustomFilterProgramProxyClient):
(WebCustomFilterProgramProxy):
(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::id):
(WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::setClient):
(WebKit::WebCustomFilterProgramProxy::client):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
* Target.pri:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit):
(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-16 Peter Gal <galpeter@inf.u-szeged.hu>
[Qt][Mac] Fix the build after r124873
https://bugs.webkit.org/show_bug.cgi?id=102475
Reviewed by Noam Rosenthal.
Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.
* Shared/WebLayerTreeInfo.h:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2012-11-16 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][WK2] Unset the tooltip when the web process has crashed
https://bugs.webkit.org/show_bug.cgi?id=102232
Reviewed by Gyuyoung Kim.
Emit 'tooltip,text,unset' signal to unset the tooltip
when the web process has crashed.
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::processDidCrash):
2012-11-16 Helder Correia <helder.correia@nokia.com>
[CoordGfx] Follow coding style on explicit constructors
https://bugs.webkit.org/show_bug.cgi?id=102451
Reviewed by Noam Rosenthal.
Use the explicit keyword on single argument constructors.
No new tests needed.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
(CoordinatedTileBackend):
2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r134908.
http://trac.webkit.org/changeset/134908
https://bugs.webkit.org/show_bug.cgi?id=102473
Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r134913.
http://trac.webkit.org/changeset/134913
https://bugs.webkit.org/show_bug.cgi?id=102472
Incorrect fix. (Requested by dydx on #webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-16 Daniel Bates <dbates@webkit.org>
Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
(https://bugs.webkit.org/show_bug.cgi?id=102354).
Add symbol.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-16 KyungTae Kim <ktf.kim@samsung.com>
[WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
https://bugs.webkit.org/show_bug.cgi?id=102465
Reviewed by Noam Rosenthal.
The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r134865.
http://trac.webkit.org/changeset/134865
https://bugs.webkit.org/show_bug.cgi?id=102466
Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
Avoid copying of ViewportArguments in computeViewportAttributes function
https://bugs.webkit.org/show_bug.cgi?id=102354
Reviewed by Kenneth Rohde Christiansen.
Update exported symbols.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-15 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Refactor code related to directly composited images.
https://bugs.webkit.org/show_bug.cgi?id=101023
Reviewed by Noam Rosenthal.
Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
Currently, LayerTreeCoordinator manages composited images using
ShareableBitmap. This patch introduces CoordinatedImageBacking which
plays a role in managing composited images. CoordinatedImageBacking makes us
gather code related to a directly composited image into a single class.
We create only one CoordinatedImageBacking per image. For example, in the leaves
demo, we create only 3 textures of leaves.
* CMakeLists.txt:
* Shared/WebLayerTreeInfo.h:
(WebKit::WebLayerInfo::WebLayerInfo):
(WebLayerInfo):
* Target.pri:
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createImageBacking):
(WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeImageBacking):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::createImageBacking):
(WebKit::LayerTreeRenderer::updateImageBacking):
(WebKit::LayerTreeRenderer::removeImageBacking):
(WebKit):
(WebKit::LayerTreeRenderer::assignImageBackingToLayer):
(WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
(WebKit::LayerTreeRenderer::flushLayerChanges):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.
(WebKit):
(WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
(WebKit::CoordinatedImageBacking::create):
(WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::addLayerClient):
(WebKit::CoordinatedImageBacking::removeLayerClient):
(WebKit::CoordinatedImageBacking::markDirty):
(WebKit::CoordinatedImageBacking::update):
(WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.
(WebCore):
(WebKit):
(CoordinatedImageBacking):
(Coordinator):
(WebKit::CoordinatedImageBacking::id):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
(WebKit::LayerTreeCoordinator::createImageBacking):
(WebKit::LayerTreeCoordinator::updateImageBacking):
(WebKit::LayerTreeCoordinator::removeImageBacking):
(WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
(WebKit::LayerTreeCoordinator::purgeBackingStores):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-15 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102309
We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
a TiledBackingStore and every tiles.
This patch caches the inverse transform to reuse it.
Reviewed by Noam Rosenthal.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-15 Alec Flett <alecflett@chromium.org>
Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818
Reviewed by Adam Barth.
Add exports for SerializedScriptValue changes.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-15 Gustavo Noronha Silva <gns@gnome.org>
[GTK] Split WebCore/platform into a separate library
https://bugs.webkit.org/show_bug.cgi?id=94435
Reviewed by Martin Robinson.
More people have been reporting problems when linking WebCore because
the command line limit is being exceeded. Splitting WebCore a bit more
is in order.
* GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
2012-11-15 Anders Carlsson <andersca@apple.com>
Consolidate four accelerated compositing WKView methods into a single method
https://bugs.webkit.org/show_bug.cgi?id=102419
Reviewed by Andreas Kling.
Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
the existing PageClientImpl member functions call it. Also, add a new
PageClient member function, setAcceleratedCompositingRootLayer.
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
* UIProcess/API/mac/WKView.mm:
(-[WKView _processDidCrash]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
2012-11-15 Rick Byers <rbyers@chromium.org>
No tests for changing mouse cursors
https://bugs.webkit.org/show_bug.cgi?id=100550
Reviewed by Brent Fulgham.
Add necessary exports for Internals::getCurrentCursorInfo
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-15 Kenneth Rohde Christiansen <kenneth@webkit.org>
Remove initiallyFitToViewport attribute
https://bugs.webkit.org/show_bug.cgi?id=102392
Reviewed by Noam Rosenthal.
Remove the initiallyFitToViewport which shouldn't have been
added in the first place. We now reset userScalable to auto (-1)
in case it was not explicitly set by the web author.
Same behavior, covered by existing tests.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::pageTransitionViewportReady):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
2012-11-15 Balazs Kelemen <kbalazs@webkit.org>
Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703
Reviewed by Noam Rosenthal.
Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::suspendAnimations):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::resumeAnimations):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-15 Yuni Jeong <yhnet.jung@samsung.com>
[EFL][WK2] Add APIs to get/set whether scripts can open new windows.
https://bugs.webkit.org/show_bug.cgi?id=102054
Reviewed by Gyuyoung Kim.
Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_scripts_can_open_windows_set):
(ewk_settings_scripts_can_open_windows_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r134691, r134703, r134715, r134716,
and r134733.
http://trac.webkit.org/changeset/134691
http://trac.webkit.org/changeset/134703
http://trac.webkit.org/changeset/134715
http://trac.webkit.org/changeset/134716
http://trac.webkit.org/changeset/134733
https://bugs.webkit.org/show_bug.cgi?id=102342
"Broke the Apple Windows Debug and GTK builds." (Requested by
dydx on #webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r134741.
http://trac.webkit.org/changeset/134741
https://bugs.webkit.org/show_bug.cgi?id=102337
"Change is incorrect." (Requested by dydx on #webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-14 Daniel Bates <dbates@webkit.org>
Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
(https://bugs.webkit.org/show_bug.cgi?id=96818)
Export symbols of the form:
?deserializeBuffer@Internals@WebCore[...]
?serializeObject@Internals@WebCore[...]
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-14 Alec Flett <alecflett@chromium.org>
Fix windows build exports (again)
https://bugs.webkit.org/show_bug.cgi?id=102324
Unreviewed windows-only build fix.
Add one more export that was causing unit tests to fail to link.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-14 Brent Fulgham <bfulgham@webkit.org>
[WinCairo] Build correction after r134703.
* win/WebKit2CFLite.def: Add exports to CFLite version of
Windows build to match Alec's last update.
2012-11-14 Alec Flett <alecflett@chromium.org>
Fix Windows exports for TestWebKit
https://bugs.webkit.org/show_bug.cgi?id=102302
Unreviewed, fixing Safari Win build.
Add missing exports.
* win/WebKit2.def:
2012-11-14 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102172
Reviewed by Noam Rosenthal.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-14 Brady Eidson <beidson@apple.com>
Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=102259
Reviewed by Alexey Proskuryakov.
Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
WebResourceLoaders directly.
Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
directly into WebResourceLoader.
Build-system infrastructure stuff:
* DerivedSources.make:
* Platform/CoreIPC/MessageID.h:
* WebKit2.xcodeproj/project.pbxproj:
Message directly to WebResourceLoader instead of NetworkProcessConnection:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::connection):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequest):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::destinationID):
For now handle the only relevant message class which is the WebResourceLoader class:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
Allow access to WebResourceLoaders by identifier:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
* WebProcess/Network/WebResourceLoadScheduler.h:
(WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
2012-11-14 Andy Estes <aestes@apple.com>
Fix the Lion build after r134681.
* WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2012-11-08 Andy Estes <aestes@apple.com>
[WebKit2] Need API in UIProcess to enable loading of custom protocols
https://bugs.webkit.org/show_bug.cgi?id=101674
Reviewed by Brady Eidson.
Enable clients of WebKit2 to implement NSURLProtocol subclasses to
control the loading of resources with schemes that WebKit2 cannot
handle natively. Since loading happens in a different process, we
accomplish this by registering a global NSURLProtocol in the web
process and proxying NSURLProtocol and NSURLProtocolClient calls to
the client's NSURLProtocol in the UI process.
* DerivedSources.make: Addded new .messages.in files.
* Platform/CoreIPC/MessageID.h:
* Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/mac/WKBrowsingContextController.h:
* UIProcess/API/mac/WKBrowsingContextController.mm:
(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
Added a class method where a client can register a scheme that it supports.
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
Added a class method where a client can unregister a scheme that it no longer supports.
(+[WKBrowsingContextController customSchemes]):
* UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.
Implemented an NSURLConnectionDelegate that proxies messages to the
equivalent NSURLProtocolClient in the web process:
(-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
(-[WKCustomProtocolLoader dealloc]):
(-[WKCustomProtocolLoader connection:didFailWithError:]):
(-[WKCustomProtocolLoader connection:willCacheResponse:]):
(-[WKCustomProtocolLoader connection:didReceiveResponse:]):
(-[WKCustomProtocolLoader connection:didReceiveData:]):
(-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
(-[WKCustomProtocolLoader connectionDidFinishLoading:]):
Implemented a proxy that recieves -startLoading and -stopLoading
messages from the NSURLProtocol in the web process and starts an
NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
(WebKit::CustomProtocolManagerProxy::startLoading):
(WebKit::CustomProtocolManagerProxy::stopLoading):
* UIProcess/WebContext.h: Declared strings that store names of
NSNotifications used for scheme registration in the UI process.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
CustomProtocolManagerProxy.
* UIProcess/WebProcessProxy.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess): Added the currently
registered schemes to the WebProcessCreationParameters and register
NSNotification observers for new scheme registration that forwards to
the context's web processes.
* WebKit2.xcodeproj/project.pbxproj:
* WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
* WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
* WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
* WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.
(generateCustomProtocolID): Generate a per-WebProcess unique ID.
Implemented a global NSURLProtocol that claims to support all schemes
registered in the UI process. When NSURLConnection calls -startLoading
and -stopLoading, we forward these messages to the client's NSURLProtocol
in the UI process:
(+[WKCustomProtocol canInitWithRequest:]):
(+[WKCustomProtocol canonicalRequestForRequest:]):
(+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
(-[WKCustomProtocol startLoading]):
(-[WKCustomProtocol stopLoading]):
Implemented a manager that receives NSURLConnectionDelegate messages
forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
(WebKit::CustomProtocolManager::shared):
(WebKit::CustomProtocolManager::registerCustomProtocolClass):
(WebKit::CustomProtocolManager::addCustomProtocol):
(WebKit::CustomProtocolManager::removeCustomProtocol):
(WebKit::CustomProtocolManager::registerScheme):
(WebKit::CustomProtocolManager::unregisterScheme):
(WebKit::CustomProtocolManager::supportsScheme):
(WebKit::CustomProtocolManager::didReceiveMessage):
(WebKit::CustomProtocolManager::didFailWithError):
(WebKit::CustomProtocolManager::didLoadData):
(WebKit::CustomProtocolManager::didReceiveResponse):
(WebKit::CustomProtocolManager::didFinishLoading):
(WebKit::CustomProtocolManager::protocolForID):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
shared CustomProtocolManager.
(WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
scheme received from the UI process.
(WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
scheme received from the UI process.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in: Declared messages for passing
supported schemes from the UI process the web process.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Register the
schemes contained in the WebProcessCreationParameters.
2012-11-14 Helder Correia <helder.correia@nokia.com>
[TexMap][Cairo] Accelerated compositing debug visuals
https://bugs.webkit.org/show_bug.cgi?id=101883
Reviewed by Kenneth Rohde Christiansen.
No new tests, just introducing a debug feature.
Add a Cairo implementation to complement the patch from bug 90116
(http://trac.webkit.org/changeset/122275).
For this feature to be enabled, the environment variable
WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
both repaint counters and tile borders will be painted.
A Cairo-specific drawRepaintCounter() implementation was added to
TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
the counters. It is then uploaded to a BitmapTexture acquired
from the pool and finally draw by TextureMapper. The actual compositing
happens inside LayerBackingStore::paintToTextureMapper(). Each
LayerBackingStoreTile has a repaint counter which gets incremented in
LayerBackingStore::updateTile().
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::shouldShowTileDebugVisuals):
2012-11-14 No'am Rosenthal <noam.rosenthal@nokia.com>
Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
https://bugs.webkit.org/show_bug.cgi?id=102133
Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
Also, there is no need for calling setCoordinator every time the tree changes,
since we can call it once when the layer is created, now that LayerTreeCoordinator
is the GraphicsLayerFactory.
Reviewed by Kenneth Rohde Christiansen
No change in functionality.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::paintContents):
2012-11-14 Anders Carlsson <andersca@apple.com>
More steps towards actually hosting layers in the UI process
https://bugs.webkit.org/show_bug.cgi?id=102275
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::rootLayerID):
Add a getter for the root layer ID.
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
Initialize the root layer to null.
(WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
(WebKit::RemoteLayerTreeHost::notifyFlushRequired):
(WebKit::RemoteLayerTreeHost::paintContents):
Add empty stubs.
(WebKit::RemoteLayerTreeHost::commit):
Try to get the root layer.
(WebKit::RemoteLayerTreeHost::getOrCreateLayer):
Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.
2012-11-14 Brady Eidson <beidson@apple.com>
Fix the Production build after r134640 broke it.
* WebProcess/Network/WebResourceLoader.h:
(WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.
2012-11-14 Tim Horton <timothy_horton@apple.com>
PDFPlugin should make use of PDFKit's fluid zooming
https://bugs.webkit.org/show_bug.cgi?id=101962
<rdar://problem/12555229>
Reviewed by Anders Carlsson.
Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
inform the injected bundle whether or not the frame handles scaling itself.
* WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
the scale factor immediately.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).
* WebProcess/WebPage/WebFrame.h:
(WebFrame):
2012-11-14 Tim Horton <timothy_horton@apple.com>
PDFPlugin should support downloading PDFs
https://bugs.webkit.org/show_bug.cgi?id=102152
<rdar://problem/12555313>
Reviewed by Alexey Proskuryakov.
Clicking on the "Download PDF" HUD button should download the current
PDF to the Downloads folder.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
PDF data to disk, in the Downloads folder. This will only save files with
the .pdf extension, and of MIME type "application/pdf".
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add savePDFToFileInDownloadsFolder.
* UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add saveToPDF().
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
(WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
current PDF, which it will save to the Downloads folder. We receive
the suggested filename during loading.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h:
(WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
(WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.
2012-11-14 Brady Eidson <beidson@apple.com>
Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
https://bugs.webkit.org/show_bug.cgi?id=102259
Reviewed by Alexey Proskuryakov.
WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.
We should create a WebResourceLoader that will eventually act as an intermediary between
WebCore::ResourceLoader and NetworkResourceLoader.
This patch is prep-work: It adds a new skeleton class to the WebProcess.
* WebKit2.xcodeproj/project.pbxproj:
Add the new WebResourceLoader class which is a very thin skeleton for now:
* WebProcess/Network/WebResourceLoader.cpp: Added.
(WebKit::WebResourceLoader::create):
(WebKit::WebResourceLoader::WebResourceLoader):
(WebKit::WebResourceLoader::~WebResourceLoader):
* WebProcess/Network/WebResourceLoader.h: Added.
(WebKit::WebResourceLoader::coreLoader):
Adapt WebResourceLoadScheduler to use this new class where appropriate:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
(WebKit::WebResourceLoadScheduler::addMainResourceLoad):
(WebKit::WebResourceLoadScheduler::remove):
(WebKit::WebResourceLoadScheduler::willSendRequest):
(WebKit::WebResourceLoadScheduler::didReceiveResponse):
(WebKit::WebResourceLoadScheduler::didReceiveData):
(WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
(WebKit::WebResourceLoadScheduler::didReceiveResource):
(WebKit::WebResourceLoadScheduler::didFailResourceLoad):
* WebProcess/Network/WebResourceLoadScheduler.h:
2012-11-14 Brady Eidson <beidson@apple.com>
Deliver data from NetworkProcess to resources progressively.
https://bugs.webkit.org/show_bug.cgi?id=102171
Reviewed by Alexey Proskuryakov.
Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
to deliver data progressively.
This allows progressive parsing of textual resources and progressive rendering of images,
as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather
pass it straight through to the WebProcess.
(WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of
delivering a chunk of buffered data.
(WebKit::NetworkResourceLoader::didFail):
* NetworkProcess/NetworkResourceLoader.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
(WebKit::NetworkProcessConnection::didFinishResourceLoad):
(WebKit::NetworkProcessConnection::didFailResourceLoad):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
(WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
* WebProcess/Network/WebResourceLoadScheduler.h:
2012-11-14 Anton Obzhirov <a.obzhirov@samsung.com>
Add platform implementation of remote web inspector server for GTK port.
https://bugs.webkit.org/show_bug.cgi?id=88094
Reviewed by Gustavo Noronha Silva.
The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
The server listens on port 2999 by default. IP address of the server can be set
in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
The server is started during WebKit context initialization.
Once a page is loaded insector server can be accessed via other WebKit based browser.
New WebKit API gtk tests have beed added.
inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.
Test: test-page-list, test-remote-debugging-message, test-open-debugging-session
* GNUmakefile.am:
* GNUmakefile.list.am:
* Platform/Logging.cpp:
(WebKit):
(WebKit::getChannelFromName):
(WebKit::initializeLogChannelsIfNecessary):
* Platform/Logging.h:
(WebKit):
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.
(loadChangedCallback):
(main):
* UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.
(stopTestServer):
(sigAbortHandler):
(testServerMonitorThreadFunc):
(startTestServerMonitor):
(startTestServer):
(testInspectorServerPageList):
(testRemoteDebuggingMessage):
(openRemoteDebuggingSession):
(beforeAll):
(afterAll):
* UIProcess/InspectorServer/WebInspectorServer.h:
(WebInspectorServer):
* UIProcess/InspectorServer/WebSocketServer.h:
(WebSocketServer):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::shutdownNow):
(WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
(WebKit::WebSocketServerConnection::didCloseSocketStream):
(WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
(WebKit):
(WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
* UIProcess/InspectorServer/WebSocketServerConnection.h:
(WebSocketServerConnection):
* UIProcess/InspectorServer/front-end: Added.
* UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
* UIProcess/InspectorServer/gtk: Added.
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.
(WebKit):
(WebKit::WebInspectorServer::platformResourceForPath):
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.
(WebKit):
(WebKit::connectionCallback):
(WebKit::WebSocketServer::platformInitialize):
(WebKit::WebSocketServer::platformListen):
(WebKit::WebSocketServer::platformClose):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::initInspectorServer):
(WebKit):
(WebKit::WebContext::platformInitializeWebProcess):
* WebKit2.qrc:
* config.h:
* qt/Resources/inspectorPageIndex.html: Removed.
2012-11-14 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2][AC] Print out warning if we fallback back to software mode
https://bugs.webkit.org/show_bug.cgi?id=102188
Reviewed by Kenneth Rohde Christiansen.
Print out a warning if accelerated compositing is enabled but the
implementation is falling back to software mode for some reason.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
2012-11-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r134531.
http://trac.webkit.org/changeset/134531
https://bugs.webkit.org/show_bug.cgi?id=102193
Makes >70 tests crash on EFL and Qt bots. (Requested by drott
on #webkit).
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::createGraphicsLayer):
2012-11-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[EFL][WK2] Add a button parameter to mouseClick, mouseDown, mouseUp functions
https://bugs.webkit.org/show_bug.cgi?id=102065
Reviewed by Laszlo Gombos.
mouseClick(), mouseDown() and mouseUp() test functions are only able to test a left button of mouse now.
However, EFL API test framwork needs to test various mouse buttons. For example, context menu test needs
to simulate a right mouse button. So, button type parameter needs to be added for it.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::mouseClick):
(EWK2UnitTest::EWK2UnitTestBase::mouseDown):
(EWK2UnitTest::EWK2UnitTestBase::mouseUp):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTestBase):
2012-11-13 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] New window size should consult the window attributes
https://bugs.webkit.org/show_bug.cgi?id=102122
Reviewed by Kenneth Rohde Christiansen.
Pass the size that was specified in window.open to the embedder.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createNewPage):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::createNewPage):
2012-11-13 No'am Rosenthal <noam.rosenthal@nokia.com>
Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
https://bugs.webkit.org/show_bug.cgi?id=102133
Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
Also, there is no need for calling setCoordinator every time the tree changes,
since we can call it once when the layer is created, now that LayerTreeCoordinator
is the GraphicsLayerFactory.
Reviewed by Kenneth Rohde Christiansen.
No change in functionality.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::paintContents):
2012-11-13 Brady Eidson <beidson@apple.com>
REGRESSION(r134328) - ASSERT(isMainThread()) when subresources redirect in the NetworkProcessPass through
https://bugs.webkit.org/show_bug.cgi?id=102167
Reviewed by Simon Fraser.
willSendRequest comes in on a background thread but we need to do HostRecord accounting on the main thread.
So we'll just dispatch the receivedRedirect call to the main thread RunLoop.
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRequest):
2012-11-13 Timothy Hatcher <timothy@apple.com>
Make InspectorFrontendHost.moveWindowBy work in WebKit2 for Mac.
https://bugs.webkit.org/show_bug.cgi?id=102154
Reviewed by Joseph Pecoraro.
* UIProcess/WebInspectorProxy.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::getWindowFrame): Added. Call setInspectorWindowFrame.
(WebKit::setWindowFrame): Added. Call inspectorWindowFrame.
(WebKit::WebInspectorProxy::setInspectorWindowFrame): Added.
(WebKit::WebInspectorProxy::inspectorWindowFrame): Added.
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Create and set the WKPageUIClient
with getWindowFrame and setWindowFrame.
2012-11-13 Jon Lee <jonlee@apple.com>
Reduce snapshot waiting time
https://bugs.webkit.org/show_bug.cgi?id=102147
<rdar://problem/12695539>
Reviewed by Brian Weinstein.
* WebProcess/Plugins/PluginView.cpp: Reduce to 1 second. Improves impressions of responsiveness.
2012-11-13 Anders Carlsson <andersca@apple.com>
Factor the code to enter accelerated compositing given a layer out into a separate method
https://bugs.webkit.org/show_bug.cgi?id=102155
Reviewed by Andreas Kling.
* UIProcess/API/mac/WKView.mm:
(-[WKView _enterAcceleratedCompositingMode:]):
(-[WKView _enterAcceleratedCompositingModeWithRootLayer:]):
* UIProcess/API/mac/WKViewInternal.h:
2012-11-13 Anders Carlsson <andersca@apple.com>
RemoteGraphicsLayer destructor should call GraphicsLayer::willBeDestroyed
https://bugs.webkit.org/show_bug.cgi?id=102135
Reviewed by Andreas Kling.
Call GraphicsLayer::willBeDestroyed from the RemoteGraphicsLayer destructor and move
the call to RemoteLayerTreeContext::layerWillBeDestroyed to the overridden
willBeDestroyed member function.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
(RemoteGraphicsLayer):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::~RemoteGraphicsLayer):
(WebKit::RemoteGraphicsLayer::willBeDestroyed):
(WebKit):
2012-11-13 Brady Eidson <beidson@apple.com>
Split NetworkRequest up into a request class and a loading class.
https://bugs.webkit.org/show_bug.cgi?id=102049
Reviewed by Alexey Proskuryakov.
NetworkRequest unintentionally grew into a class that managed actual loading.
This patch splits it into "NetworkResourceLoadParameters" for all request-related data
and "NetworkResourceLoader" for handling the actual load itself.
Change HostRecord to manage NetworkResourceLoaders instead of NetworkRequests:
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::~HostRecord):
(WebKit::HostRecord::schedule):
(WebKit::HostRecord::addLoadInProgress):
(WebKit::HostRecord::remove):
(WebKit::HostRecord::hasRequests):
(WebKit::HostRecord::limitRequests):
* NetworkProcess/HostRecord.h:
(WebKit::HostRecord::loadersPending):
A new class to be a container for all the data required to start a network load:
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(WebKit::NetworkResourceLoadParameters::request):
(WebKit::NetworkResourceLoadParameters::priority):
(WebKit::NetworkResourceLoadParameters::contentSniffingPolicy):
Pass a single NetworkResourceLoadParameters around instead of multiple bits of data:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
* NetworkProcess/NetworkResourceLoadScheduler.h:
The actual ResourceHandleClient that does the actual loading:
* NetworkProcess/NetworkResourceLoader.cpp: Renamed from Source/WebKit2/NetworkProcess/NetworkRequest.cpp.
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::priority):
(WebKit::NetworkResourceLoader::start):
(WebKit::requestsToStopMutex):
(WebKit::requestsToStop):
(WebKit::NetworkResourceLoader::scheduleStopOnMainThread):
(WebKit::NetworkResourceLoader::performStops):
(WebKit::NetworkResourceLoader::stop):
(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::responseMap):
(WebKit::generateWillSendRequestID):
(WebKit::didReceiveWillSendRequestHandled):
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::didSendData):
(WebKit::NetworkResourceLoader::didReceiveCachedMetadata):
(WebKit::NetworkResourceLoader::wasBlocked):
(WebKit::NetworkResourceLoader::cannotShowURL):
(WebKit::NetworkResourceLoader::willCacheResponse):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
(WebKit::NetworkResourceLoader::receivedCancellation):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebKit::NetworkResourceLoader::supportsDataArray):
(WebKit::NetworkResourceLoader::didReceiveDataArray):
(WebKit::NetworkResourceLoader::willStopBufferingData):
(WebKit::NetworkResourceLoader::createAsyncFileStream):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::create):
(WebKit::NetworkResourceLoader::identifier):
(WebKit::NetworkResourceLoader::connectionToWebProcess):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad):
2012-11-13 Anders Carlsson <andersca@apple.com>
Store destroyed layers in the remote layer tree transaction
https://bugs.webkit.org/show_bug.cgi?id=102127
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
(RemoteLayerTreeTransaction):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
(WebKit):
(WebKit::RemoteLayerTreeTransaction::dump):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
(RemoteGraphicsLayer):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::~RemoteGraphicsLayer):
(WebKit::RemoteGraphicsLayer::removeFromParent):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
(RemoteLayerTreeContext):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
(WebKit::RemoteLayerTreeContext::flushLayers):
2012-11-13 Timothy Hatcher <timothy@apple.com>
Adjust the Web Inspector window title frame if needed to prevent it from intersecting the dock button.
https://bugs.webkit.org/show_bug.cgi?id=102073
Reviewed by Joseph Pecoraro.
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorWindow _customTitleFrame]): Added. Adjust the title frame.
2012-11-13 Anders Carlsson <andersca@apple.com>
Store layer positions and sizes in the transaction
https://bugs.webkit.org/show_bug.cgi?id=102115
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
(LayerProperties):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
(RemoteGraphicsLayer):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::setPosition):
(WebKit::RemoteGraphicsLayer::setSize):
2012-11-13 Anders Carlsson <andersca@apple.com>
The layer tree transaction should include the root layer
https://bugs.webkit.org/show_bug.cgi?id=102109
Reviewed by Andreas Kling.
Keep the root layer ID in the layer tree transaction and encode/decode and dump it.
* Shared/mac/RemoteLayerTreeTransaction.h:
(RemoteLayerTreeTransaction):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setRootLayerID):
(WebKit):
(WebKit::RemoteLayerTreeTransaction::dump):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
(RemoteLayerTreeContext):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
(WebKit::RemoteLayerTreeContext::setRootLayer):
(WebKit::RemoteLayerTreeContext::flushLayers):
2012-11-13 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] TiledBackingStore: WebChromeClient::pageRect() should consider viewport size
https://bugs.webkit.org/show_bug.cgi?id=101946
Reviewed by Noam Rosenthal.
WebChromeClient::pageRect() should consider viewport size when TILED_BACKING_STORE enabled.
Based on patch by Kenneth Rohde Christiansen.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::pageRect):
2012-11-13 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Directly composited animated GIFs only render the first image.
https://bugs.webkit.org/show_bug.cgi?id=102043
Reviewed by Noam Rosenthal.
CoordinatedGraphicsLayer::setContentsToImage() checks the pointer to the image,
not nativeImagePtr, so Coordinated Graphics currently draws only the first frame
of gif animations. This patch makes Coordinated Graphics draw gif animations.
In addition, this patch modifies the style of direct image compositing
code to match other parts of CoordinatedGraphicsLayer.
Test: ManualTests/animated-gif-on-compositing-layer.html
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didChangeImageBacking):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-12 Huang Dongsung <luxtella@company100.net>
[Qt] REGRESSION(134142): overscaled tiles in pixel test results and MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=101918
Reviewed by Noam Rosenthal.
Currently, CoordinatedBackingStore can keep out-dated contents size, because the
size of CoordinatedBackingStore is set by only LayerTreeRenderer::createTile().
Although the size of GraphicsLayer is changed, LayerTreeRenderer::createTile()
is not called. However, LayerTreeRenderer::createTile() is always called, when
the contents scale of GraphicsLayer is changed.
This patch makes sure that we reset the backing store's size to the
layer size when UpdateTile or RemoveTile are called.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::setSize):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::createTile):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
(WebKit::CoordinatedTile::updateBackBuffer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
(CoordinatedTileClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createTile):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-12 Sam Weinig <sam@webkit.org>
<rdar://problem/12445176>
WebProcess needs permission to open AppleUpstreamUserClient
Rubber-stamped by Dan Bernstein.
* WebProcess/com.apple.WebProcess.sb.in:
2012-11-12 Simon Fraser <simon.fraser@apple.com>
Build fix after r134346 and 134347.
Use frameView.isFlipped, not frameView.flipped in the assertion.
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::createInspectorWindow):
2012-11-12 Timothy Hatcher <timothy@apple.com>
Add a dock button to the top right corner of the Web Inspector window (similar to the full screen button).
https://bugs.webkit.org/show_bug.cgi?id=102023
Reviewed by Anders Carlsson.
* Resources/Dock.pdf: Added.
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::attach): Set the SetAttachedWindow message.
(WebKit::WebInspectorProxy::detach): Ditto.
(WebKit::WebInspectorProxy::attachAvailabilityChanged): Added. Call platformAttachAvailabilityChanged.
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebInspectorProxy.messages.in: Added AttachAvailabilityChanged message.
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter attach:]): Added. Call WebInspectorProxy::attach.
(-[WKWebInspectorWindow _cursorForResizeDirection:]): Added.
(WebKit::WebInspectorProxy::createInspectorWindow): Create the dock button and add it.
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added. Update hidden state of the dock button.
* WebKit2.xcodeproj/project.pbxproj: Added Dock.pdf.
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::setAttachedWindow): Added. Call through to the frontend client.
(WebKit::WebInspector::updateDockingAvailability): Send AttachAvailabilityChanged message.
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebInspector.messages.in: Added SetAttachedWindow message.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Added stub.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
* UIProcess/qt/WebInspectorProxyQt.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
* UIProcess/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Ditto.
2012-11-12 Anders Carlsson <andersca@apple.com>
Include child layers in the remote layer tree transaction
https://bugs.webkit.org/show_bug.cgi?id=102026
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
Encode and decode child layer IDs.
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
Grab all child layer IDs and stick them in a vector.
(WebKit::dumpChangedLayers):
Dump child layer IDs as well.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::setChildren):
(WebKit::RemoteGraphicsLayer::addChild):
(WebKit::RemoteGraphicsLayer::addChildAtIndex):
(WebKit::RemoteGraphicsLayer::addChildAbove):
(WebKit::RemoteGraphicsLayer::addChildBelow):
(WebKit::RemoteGraphicsLayer::replaceChild):
Call noteSublayersChanged.
(WebKit::RemoteGraphicsLayer::noteSublayersChanged):
Note that the Children property changed.
2012-11-12 Anders Carlsson <andersca@apple.com>
Send along the current remote layer tree transaction with the commit message
https://bugs.webkit.org/show_bug.cgi?id=102014
Reviewed by Tim Horton.
Add encode and decode member functions to RemoteLayerTreeTransaction and RemoteLayerTreeTransaction::LayerProperties.
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
* UIProcess/mac/RemoteLayerTreeHost.h:
* UIProcess/mac/RemoteLayerTreeHost.messages.in:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::flushLayers):
2012-11-12 Brady Eidson <beidson@apple.com>
Get rid of the CrossOriginRedirectReceived message to the NetworkProcess.
https://bugs.webkit.org/show_bug.cgi?id=102010
Reviewed by Alexey Proskuryakov.
This message was a stop-gap measure for when the NetworkProcess did scheduling but not loading.
Now that the NetworkProcess does loading it doesn't need to be told when redirect is received.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in: Get rid of the message to the NetworkProcess.
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::willSendRequest): After willSendRequest is dispatched to the WebProcess, directly call
"receivedRedirect" on the NetworkResourceLoadScheduler.
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::receivedRedirect): Renamed from crossOriginRedirectReceived, as the
function already checks to see if the redirect was actually cross-origin.
* NetworkProcess/NetworkResourceLoadScheduler.h:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): A no-op so the WebProcess doesn't
do any host record accounting of its own.
2012-11-12 Tim Horton <timothy_horton@apple.com>
PDFPlugin should use PDFKit's context menu instead of the default WebKit one
https://bugs.webkit.org/show_bug.cgi?id=101896
<rdar://problem/12555173>
Reviewed by Anders Carlsson.
Show the context menu that PDFKit vends us instead of the default WebKit one
when PDFPlugin is told to show a context menu.
Also, react to the didChangeContentScaleFactor callback, so that when the context
menu (or HUD) is used to change the scale factor, we can inform PluginView.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
Add pdfLayerController:didChangeContentScaleFactor: delegate callback.
Rename tileScaleFactor to contentScaleFactor.
Add rightMouseDown: and menuForEvent: on PDFLayerController.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin):
Add notifyContentScaleFactorChanged, handleContextMenuEvent, and nsEventForWebMouseEvent.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate pdfLayerController:didChangeContentScaleFactor:]): Forward content scale factor changes to PDFPlugin.
(WebKit::PDFPlugin::pdfDocumentDidLoad): Rename tileScaleFactor to contentScaleFactor.
(WebKit::PDFPlugin::geometryDidChange): Rename tileScaleFactor to contentScaleFactor.
(WebKit::eventTypeFromWebEvent): It turns out we can infer whether the mouse is being dragged during a MouseMove event
by whether it has a mouse button associated with it or not, so we don't need to track this state manually.
(WebKit::PDFPlugin::nsEventForWebMouseEvent): Factor the part of handleMouseEvent that creates NSEvents* out into its own function.
(WebKit::PDFPlugin::handleMouseEvent):
Don't track mouseButtonIsDown manually, make use of the new nsEventForWebMouseEvent.
Hand rightMouseDown: to PDFLayerController instead of mouseDown: if necessary.
(WebKit::PDFPlugin::handleContextMenuEvent): Grab the relevant NSMenu from PDFKit and display it.
(WebKit::PDFPlugin::handleKeyboardEvent): Don't pass a bogus mouseButtonIsDown to eventTypeFromWebEvent.
(WebKit::PDFPlugin::notifyContentScaleFactorChanged): Update PluginView and co.'s notion of page scale when
PDFKit changes it (generally from the context menu/HUD). Also update page size and scrollbar size/position.
(WebKit::PDFPlugin::setScrollOffset): Don't call SimplePDFPlugin's implementation, as PDFKit handles invalidation itself.
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Make m_scrollOffset protected.
2012-11-12 Anders Carlsson <andersca@apple.com>
Add a RemoteLayerTreeHost object in the UI process
https://bugs.webkit.org/show_bug.cgi?id=101999
Reviewed by Tim Horton.
Add a (mostly empty) RemoteLayerTreeHost class that will live in the UI process and host the layer tree.
* DerivedSources.make:
Add RemoteLayerTreeHost.messages.in.
* Platform/CoreIPC/MessageID.h:
Add a RemoteLayerTreeHost message class.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addMessageReceiver):
(WebKit::WebProcessProxy::removeMessageReceiver):
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
Add a message receiver map to the web process proxy.
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
Add a RemoteLayerTreeHost member variable.
* UIProcess/mac/RemoteLayerTreeHost.h:
Add new class.
* UIProcess/mac/RemoteLayerTreeHost.messages.in:
Add new messages file with a single Commit message.
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
Add the layer tree host as a message receiver.
(WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
Remote the layer tree host as a message receiver.
(WebKit::RemoteLayerTreeHost::didReceiveMessage):
Call the generated member function.
(WebKit::RemoteLayerTreeHost::commit):
Add an empty stub for now.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::flushLayers):
Send a commit message to the remote layer tree host.
2012-11-12 Tim Horton <timothy_horton@apple.com>
PDFPlugin should support non-1 device scale factor
https://bugs.webkit.org/show_bug.cgi?id=101923
Reviewed by Alexey Proskuryakov.
Do the appropriate plumbing to ensure that PDFPlugin handles device scale factor > 1
(it's called contentsScaleFactor in plugins), both for normal drawing and for snapshotting.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add deviceScaleFactor setter/getter to PDFLayerController.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Override contentsScaleFactorChanged.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pdfDocumentDidLoad): Plumb device scale factor through to PDFLayerController.
(WebKit::PDFPlugin::contentsScaleFactorChanged): Plumb device scale factor through to PDFLayerController
when we're notified that it has changed.
(WebKit::PDFPlugin::snapshot): Create snapshots with the device scale factor applied.
2012-11-12 Anders Carlsson <andersca@apple.com>
Rename RemoteLayerTreeController to RemoteLayerTreeContext
https://bugs.webkit.org/show_bug.cgi?id=101993
Reviewed by Andreas Kling.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
(RemoteGraphicsLayer):
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::create):
(WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
(WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
* WebProcess/WebPage/mac/RemoteLayerTreeContext.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.h.
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.mm.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
(RemoteLayerTreeDrawingArea):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
2012-11-12 Anders Carlsson <andersca@apple.com>
Add debug only code to dump the contents of a transaction
https://bugs.webkit.org/show_bug.cgi?id=101991
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::writeIndent):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::dump):
2012-11-12 Anders Carlsson <andersca@apple.com>
Store name changes in the layer transaction
https://bugs.webkit.org/show_bug.cgi?id=101981
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
(LayerProperties):
Add new LayerProperties class.
(RemoteLayerTreeTransaction):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
Find the changed layer properties for the given layer and apply the changed properties.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
(WebKit::RemoteGraphicsLayer::layerID):
Add new getter.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::generateLayerID):
(WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
Give each remote graphics layer a unique ID.
2012-11-12 Brady Eidson <beidson@apple.com>
NetworkProcess: Use an accurate shouldContentSniff value when creating ResourceHandles
https://bugs.webkit.org/show_bug.cgi?id=101872
Reviewed by Alexey Proskuryakov.
The WebProcess now passes "shouldContentSniff" over to the NetworkProcess with the requests so it can be respected.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::NetworkRequest):
(WebKit::NetworkRequest::start):
* NetworkProcess/NetworkRequest.h:
(WebKit::NetworkRequest::create):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
* NetworkProcess/NetworkResourceLoadScheduler.h:
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Update to pass through "shouldContentSniff"
2012-11-12 Anders Carlsson <andersca@apple.com>
More work towards packaging layer changes up into a transaction object
https://bugs.webkit.org/show_bug.cgi?id=101969
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):
(WebKit::RemoteLayerTreeTransaction::~RemoteLayerTreeTransaction):
(WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
Add empty stubs.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
Call layerPropertiesChanged on the current transaction.
* WebProcess/WebPage/mac/RemoteLayerTreeController.h:
* WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
(WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
Initialize m_currentTransaction till 0.
(WebKit::RemoteLayerTreeController::currentTransaction):
Add getter. This may only be called from beneath flushLayers.
(WebKit::RemoteLayerTreeController::flushLayers):
Create a transaction before flusing the compositing state.
2012-11-12 Anders Carlsson <andersca@apple.com>
More work on remote layer flushing
https://bugs.webkit.org/show_bug.cgi?id=101960
Reviewed by Andreas Kling.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::flushCompositingState):
Call recursiveCommitChanges.
(WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
Add stub function for now.
(WebKit::RemoteGraphicsLayer::recursiveCommitChanges):
Call flushCompositingStateForThisLayerOnly and then call recursiveCommitChanges recursively on all the child layers.
* WebProcess/WebPage/mac/RemoteLayerTreeController.h:
* WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
(WebKit::RemoteLayerTreeController::create):
(WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
This now takes a web page.
(WebKit::RemoteLayerTreeController::setRootLayer):
Add empty function.
(WebKit::RemoteLayerTreeController::layerFlushTimerFired):
Call flushLayers explicitly.
(WebKit::RemoteLayerTreeController::flushLayers):
Force a layout and then sync all the compositing layers.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
RemoteLayerTreeController::create now takes a web page.
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
Call the remote layer tree controller.
2012-11-12 Anders Carlsson <andersca@apple.com>
Layer property changes should schedule a remote layer flush
https://bugs.webkit.org/show_bug.cgi?id=101951
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
New class. For now this just contains the changed layer properties flags but this will be extended
to cover changed layers as well.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
Initialize m_uncommittedLayerChanges.
(WebKit::RemoteGraphicsLayer::setName):
Set the name and call noteLayerPropertiesChanged.
(WebKit::RemoteGraphicsLayer::noteLayerPropertiesChanged):
Notify that a flush is required (if required).
* WebProcess/WebPage/mac/RemoteLayerTreeController.h:
Add a layer flush timer.
* WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
(WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
Initialize the layer flush timer.
(WebKit::RemoteLayerTreeController::scheduleLayerFlush):
Schedule the layer flush timer if needed.
(WebKit::RemoteLayerTreeController::layerFlushTimerFired):
Empty stub for now.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
Call the remote layer tree controller.
2012-11-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL] Add implementations of device - user conversion methods
https://bugs.webkit.org/show_bug.cgi?id=101938
Reviewed by Laszlo Gombos.
Consider the deviceScaleFactor when convertion to/from user
and device units.
This affects DOM API's such as window.moveTo, resizeTo etc.
* UIProcess/efl/PageClientBase.cpp:
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/efl/PageClientDefaultImpl.cpp:
(WebKit::PageClientDefaultImpl::convertToDeviceSpace):
(WebKit):
(WebKit::PageClientDefaultImpl::convertToUserSpace):
* UIProcess/efl/PageClientDefaultImpl.h:
(PageClientDefaultImpl):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::convertToDeviceSpace):
(WebKit):
(WebKit::PageClientLegacyImpl::convertToUserSpace):
* UIProcess/efl/PageClientLegacyImpl.h:
(PageClientLegacyImpl):
2012-11-12 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Black screen when applications use software backend.
https://bugs.webkit.org/show_bug.cgi?id=101659
Reviewed by Kenneth Rohde Christiansen.
If creating openGL context fails, automatically fallback to software rendering.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):
(EwkViewImpl::enterAcceleratedCompositingMode):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::hardwareAccelerationEnabled):
(EwkViewImpl):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::ensureRootLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit::LayerTreeRenderer::setAccelerationMode):
(LayerTreeRenderer):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::createDrawingAreaProxy):
2012-11-12 Thiago Marcos P. Santos <thiago.santos@intel.com>
[WK2] Indentation nit on WebPage
https://bugs.webkit.org/show_bug.cgi?id=101928
Reviewed by Kenneth Rohde Christiansen.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setViewportSize):
2012-11-12 Jiyeon Kim <jiyeon0402.kim@samsung.com>
[EFL][WK2] Add ewk_settings_offline_web_application_cache_enabled set/get APIs
https://bugs.webkit.org/show_bug.cgi?id=101688
Reviewed by Gyuyoung Kim.
Add ewk_settings_offline_web_application_cache_get API to be used for enabling disabling the web application cache.
Add ewk_settings_offline_web_application_cache_set API to be used for getting the web application cache status.
In addition, offline web application cache is enabled by default.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_offline_web_application_cache_enabled_set):
(ewk_settings_offline_web_application_cache_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-11-11 Shinya Kawanaka <shinyak@chromium.org>
[Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
https://bugs.webkit.org/show_bug.cgi?id=101180
Reviewed by Dimitri Glazkov.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r134144.
http://trac.webkit.org/changeset/134144
https://bugs.webkit.org/show_bug.cgi?id=101876
seems to break win 7 chromium browser test (Requested by
hayato on #webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-11 Kenichi Ishibashi <bashi@chromium.org>
WTFString::utf8() should have a mode of conversion to use replacement character
https://bugs.webkit.org/show_bug.cgi?id=101678
Reviewed by Alexey Proskuryakov.
Update the symbol for String::utf8().
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-10 Zeno Albisser <zeno@webkit.org>
[Qt][WK2] Use QLibraryInfo to search for executables.
https://bugs.webkit.org/show_bug.cgi?id=101774
Reviewed by Simon Hausmann.
This allows finding the WebProcess or the PluginProcess
in it's installed location. This is necessary when
deploying QtWebKit with an installer.
* Shared/qt/ProcessExecutablePathQt.cpp:
(WebKit::executablePath):
2012-11-09 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Rename tileRect from targetRect.
https://bugs.webkit.org/show_bug.cgi?id=101705
Reviewed by Noam Rosenthal.
Messages::LayerTreeCoordinatorProxy::CreateTileForLayer contains the targetRect
variable. The targetRect stands for the rect of the tile created. This patch
renames tileRect to enhance the clearity.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):
(WebKit::CoordinatedBackingStoreTile::setBackBuffer):
(WebKit::CoordinatedBackingStore::updateTile):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStoreTile):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::updateTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(TileUpdate):
(WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
(CoordinatedTileClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createTile):
(WebKit::LayerTreeCoordinator::updateTile):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-09 Noam Rosenthal <noam.rosenthal@nokia.com>
Allow ports to decide whether an image should be directly composited
https://bugs.webkit.org/show_bug.cgi?id=101827
Reviewed by Simon Fraser.
Implement shouldDirectlyCompositeImage for coordinated graphics, effectively disabling direct
compositing of images with width or height larger than 2000 pixels.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::shouldDirectlyCompositeImage):
(WebCore):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-09 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Antialias the edge-tiles of CoordinatedBackingStore.
https://bugs.webkit.org/show_bug.cgi?id=101818
Reviewed by Noam Rosenthal.
Since we now have the entire surfaceRect, we can antialias the edge-tiles.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
2012-11-09 Rick Byers <rbyers@chromium.org>
No tests for changing mouse cursors
https://bugs.webkit.org/show_bug.cgi?id=100550
Reviewed by Adam Barth.
Add necessary exports for Internals::getCurrentCursorInfo
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-09 Vivek Galatage <vivekgalatage@gmail.com>
Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def
https://bugs.webkit.org/show_bug.cgi?id=101816
Reviewed by Anders Carlsson.
Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def to fix win-cairo build.
* win/WebKit2CFLite.def:
2012-11-09 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Amend CoordinatedBackingStore::paintToTextureMapper to fit its own semantic.
https://bugs.webkit.org/show_bug.cgi?id=101701
Reviewed by Noam Rosenthal.
Currently, all subclasses of TextureMapperPlatformLayer implement
paintToTextureMapper to draw its own texture on the given targetRect. Subclasses
can scale the texture to fit the size of the targetRect. However, only
CoordinatedBackingStore::paintToTextureMapper draws its texture using its own
texture size. There is no bug yet, because TextureMapperLayer uses
CoordinatedBackingStore only as a backing store, not a content layer. So,
TextureMapperLayer always request CoordinatedBackingStore to draw using its own
texture size. However, we can use CoordinatedBackingStore as a content layer in
the future. So this patch fixes this potential bug.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::setSize):
(WebKit):
(WebKit::mapToContents):
(WebKit::paintTilesToTextureMapper):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::createTile):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
(WebKit::CoordinatedTile::updateBackBuffer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
(CoordinatedTileClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createTile):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-09 Brady Eidson <beidson@apple.com>
Implement NetworkProcess willSendRequest
https://bugs.webkit.org/show_bug.cgi?id=101812
Reviewed by Alexey Proskuryakov.
Message to the WebProcess to get the new request, if any.
Because network callbacks are coming in on a background thread we have to jump through hoops to synchronously
ask the WebProcess, but these hoops follow an established pattern of using async messaging with BlockingResourceMap.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::willSendRequestHandled): Pass the new request back to NetworkRequest for handling.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::didFail):
(WebKit::responseMap):
(WebKit::generateWillSendRequestID):
(WebKit::didReceiveWillSendRequestHandled):
(WebKit::NetworkRequest::willSendRequest): Asynchronously message the WebProcess but synchronous wait for a reply back.
* NetworkProcess/NetworkRequest.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::willSendRequest): Ask the WebResourceLoadScheduler for the new request then
message back to the NetworkProcess with the reply.
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::willSendRequest):
* WebProcess/Network/WebResourceLoadScheduler.h:
2012-11-09 Tim Horton <timothy_horton@apple.com>
PDFPlugin should support clicking on external links
https://bugs.webkit.org/show_bug.cgi?id=101647
<rdar://problem/12555222>
Reviewed by Alexey Proskuryakov.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add details about clickedLinkWithURL: callback.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add clickedLink() and storage for the last mouse event that was dispatched.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate pdfLayerController:clickedLinkWithURL:]): Forward the URL to PDFPlugin.
(WebKit::PDFPlugin::handleMouseEvent): Store the last mouse event that was dispatched.
We use this to get the correct mouse button and modifier keys, so that command-clicking, etc. links works.
(WebKit::PDFPlugin::clickedLink): Request a load given the new URL.
* PluginProcess/PluginControllerProxy.h:
(PluginControllerProxy):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::shouldAllowScripting):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
* WebProcess/Plugins/Plugin.h:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::shouldAllowScripting):
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::shouldAllowScripting):
* WebProcess/Plugins/PluginView.h:
Add shouldAllowScripting() function to Plugin (and plumb through PluginProxy and PluginView, etc.)
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::allowScript): Override allowScript(); if the frame is hosting a PluginDocument,
ask its plugin whether it should allow execution of JavaScript and JavaScript URLs or not.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Disable scripting for SimplePDFPlugin (and, by inheritance, PDFPlugin).
2012-11-09 Brady Eidson <beidson@apple.com>
Implement WebResourceBuffer::isEmpty()
https://bugs.webkit.org/show_bug.cgi?id=101805
Reviewed by Alexey Proskuryakov.
This is required to make the existing subresource loading in NetworkProcess work correctly,
as there's an isEmpty() check in the WebProcess that decides whether or not to actually deliver
the data to the ResourceLoader.
* Shared/WebResourceBuffer.cpp:
(WebKit::WebResourceBuffer::isEmpty):
* Shared/WebResourceBuffer.h:
2012-11-09 Hurnjoo Lee <hurnjoo.lee@samsung.com>
[EFL][WK2][AC] Fixed layers are shaking when scrolling
https://bugs.webkit.org/show_bug.cgi?id=101549
Reviewed by Kenneth Rohde Christiansen.
At the time of adjusting positions for fixed layers, the locations of
fixed layers are calculated incorrectly because the contentsSize is empty.
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize): Call the
setContentsSize function in LayerTreeCoordinatorProxy in order to calculate
the locations of fixed layers correctly.
2012-11-09 Brady Eidson <beidson@apple.com>
NetworkRequest refactoring
https://bugs.webkit.org/show_bug.cgi?id=101777
Reviewed by Alexey Proskuryakov.
Move all of the ResourceHandleClient stubs from the .h to the .cpp in one patch
to make future patches cleaner.
Also completely remove the declaration for shouldCacheResponse() for now.
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::willSendRequest):
(WebKit::NetworkRequest::didSendData):
(WebKit::NetworkRequest::didReceiveCachedMetadata):
(WebKit::NetworkRequest::wasBlocked):
(WebKit::NetworkRequest::cannotShowURL):
(WebKit::NetworkRequest::willCacheResponse):
(WebKit::NetworkRequest::shouldUseCredentialStorage):
(WebKit::NetworkRequest::didReceiveAuthenticationChallenge):
(WebKit::NetworkRequest::didCancelAuthenticationChallenge):
(WebKit::NetworkRequest::receivedCancellation):
(WebKit::NetworkRequest::canAuthenticateAgainstProtectionSpace):
(WebKit::NetworkRequest::supportsDataArray):
(WebKit::NetworkRequest::didReceiveDataArray):
(WebKit::NetworkRequest::willStopBufferingData):
(WebKit::NetworkRequest::createAsyncFileStream):
* NetworkProcess/NetworkRequest.h:
2012-11-09 Alexey Proskuryakov <ap@apple.com>
CookieJar uses Document class, which is a layering violation
https://bugs.webkit.org/show_bug.cgi?id=101621
Reviewed by Brady Eidson.
* UIProcess/API/C/WKAPICast.h: Don't include CookieJar.h, its completely unnecessary.
2012-11-09 peavo@outlook.com <peavo@outlook.com>
WinCairo build fails to link
https://bugs.webkit.org/show_bug.cgi?id=101739
Reviewed by Kentaro Hara.
* win/WebKit2CFLite.def:
2012-11-09 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][WK2] REGRESSION (r134043): API tests crashes
https://bugs.webkit.org/show_bug.cgi?id=101742
Reviewed by Kenneth Rohde Christiansen.
Do not assert on PassRefPtr<WebContext> after it becomes 0.
* UIProcess/efl/BatteryProvider.cpp:
(BatteryProvider::BatteryProvider):
* UIProcess/efl/NetworkInfoProvider.cpp:
(NetworkInfoProvider::NetworkInfoProvider):
2012-11-09 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Random crashes in layout tests on the bot
https://bugs.webkit.org/show_bug.cgi?id=101687
Reviewed by Kenneth Rohde Christiansen.
Speculative fix for a crash on the bot.
If didCommitLoad() is called before the view size was set, we will
try to paint an empty area, and that will crash.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::update):
2012-11-09 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Make classes for client use WebContext instead of WKContext
https://bugs.webkit.org/show_bug.cgi?id=101564
Reviewed by Kenneth Rohde Christiansen.
EwkContext class has been refactored to use WebContext instead of WKContext in r133844,
so this patch makes client classes use WebContext
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
* UIProcess/efl/BatteryProvider.cpp:
(BatteryProvider::~BatteryProvider):
(BatteryProvider::create):
(BatteryProvider::BatteryProvider):
(BatteryProvider::didChangeBatteryStatus):
* UIProcess/efl/BatteryProvider.h:
(BatteryProvider):
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
* UIProcess/efl/ContextHistoryClientEfl.h:
(WebKit::ContextHistoryClientEfl::create):
(ContextHistoryClientEfl):
* UIProcess/efl/NetworkInfoProvider.cpp:
(NetworkInfoProvider::create):
(NetworkInfoProvider::NetworkInfoProvider):
(NetworkInfoProvider::~NetworkInfoProvider):
* UIProcess/efl/NetworkInfoProvider.h:
(NetworkInfoProvider):
2012-11-09 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Fix build warning in test_ewk2_context.cpp: [-Wwrite-strings]
https://bugs.webkit.org/show_bug.cgi?id=101666
Reviewed by Kenneth Rohde Christiansen.
Use constant character pointer to fix [-Wwrite-strings] warning.
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
2012-11-09 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add support for custom cursors
https://bugs.webkit.org/show_bug.cgi?id=101723
Reviewed by Kenneth Rohde Christiansen.
EwkViewImpl::setCursor() now properly handles custom
cursors.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::setCursor):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
2012-11-08 Grzegorz Czajkowski <g.czajkowski@samsung.com>
[EFL] Add a method to the TextCheckerEnchant class to check whether any dictionary is loaded
https://bugs.webkit.org/show_bug.cgi?id=101570
Reviewed by Gustavo Noronha Silva.
To do not get the vector of loaded languages, WebKit2-EFL calls
TextCheckerEnchant::hasDictionary() method to check whether the
dictionaries vector is empty.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_continuous_spell_checking_enabled_set):
* UIProcess/API/efl/ewk_text_checker.cpp:
(Ewk_Text_Checker::hasDictionary):
(Ewk_Text_Checker):
* UIProcess/API/efl/ewk_text_checker_private.h:
(Ewk_Text_Checker):
2012-11-08 Timothy Hatcher <timothy@apple.com>
Always use a textured window for the Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=101693
Reviewed by Joseph Pecoraro.
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::createInspectorWindow): Removed the conditional for a textured window.
2012-11-08 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Don't send the messages for releasing resources during purging.
https://bugs.webkit.org/show_bug.cgi?id=101685
Reviewed by Noam Rosenthal.
We don't need to send the messages related to releasing resources to UI Process
during purging, because UI Process already had removed all resources.
This patch gives us reducing slight messaging overhead and increasing readability.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::purgeReleasedImages):
(WebKit::LayerTreeCoordinator::removeTile):
(WebKit::LayerTreeCoordinator::removeUpdateAtlas):
(WebKit::LayerTreeCoordinator::purgeBackingStores):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-08 KyungTae Kim <ktf.kim@samsung.com>
[WK2] Unused parameters on LayerTreeRenderer.cpp
https://bugs.webkit.org/show_bug.cgi?id=101653
Reviewed by Noam Rosenthal.
Because the 'tileID' parameter is not used now,
comment out it to fix build warning -Wunused-parameter
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
2012-11-08 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add proper support for fullscreen API to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=101615
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::enterFullScreen):
* UIProcess/API/efl/ewk_security_origin.cpp:
(EwkSecurityOrigin::EwkSecurityOrigin):
* UIProcess/API/efl/ewk_security_origin_private.h:
(EwkSecurityOrigin::create): Add factory method to construct a
EwkSecurityOrigin from a KURL.
(EwkSecurityOrigin):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_fullscreen_exit): Add public API function to exit
fullscreen mode.
* UIProcess/API/efl/ewk_view.h: Add security origin parameter
to fullscreen_enter smart function since this information is
useful to the user agent.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(fullScreenCallback):
(fullScreenExitCallback):
(TEST_F):
2012-11-08 Brady Eidson <beidson@apple.com>
Have NetworkProcess do the actual loading of subresources.
https://bugs.webkit.org/show_bug.cgi?id=101640
Reviewed by Alexey Proskuryakov.
This adds actual loading of subresources in the NetworkProcess.
Currently a resource just gets its entire buffer of data built up and then delivered to the WebProcess in one chunk.
Many FIXMEs point the path towards much better behavior.
Project file stuff:
* WebKit2.xcodeproj/project.pbxproj:
Add a new Logging channel for scheduling so the one for loading can be separate:
* Platform/Logging.cpp:
* Platform/Logging.h:
Add an enhancement FIXME:
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::remove):
NetworkRequest now derives from ResourceHandleClient and does actual loading, messaging WebProcess as it does:
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::NetworkRequest):
(WebKit::NetworkRequest::~NetworkRequest):
(WebKit::NetworkRequest::start):
(WebKit::requestsToStopMutex):
(WebKit::requestsToStop):
(WebKit::NetworkRequest::scheduleStopOnMainThread): Stop
(WebKit::NetworkRequest::performStops):
(WebKit::NetworkRequest::stop): Does NetworkRequest cleanup that happens no matter the state of the network load.
(WebKit::NetworkRequest::didReceiveResponse):
(WebKit::NetworkRequest::didReceiveData):
(WebKit::NetworkRequest::didFinishLoading):
(WebKit::NetworkRequest::didFail):
* NetworkProcess/NetworkRequest.h:
Change some logging and now invalid asserts, as well as starting requests in-process instead of relying on WebProcess:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
(WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoadIdentifiers):
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoadIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:
(NetworkResourceLoadScheduler):
Add a "ShareableResource" which includes a SharedMemory block, an offset into that block, and a size:
* Shared/ShareableResource.cpp: Added.
(WebKit::ShareableResource::Handle::Handle):
(WebKit::ShareableResource::Handle::encode):
(WebKit::ShareableResource::Handle::decode):
(WebKit::ShareableResource::create):
(WebKit::ShareableResource::ShareableResource):
(WebKit::ShareableResource::~ShareableResource):
(WebKit::ShareableResource::createHandle):
(WebKit::ShareableResource::data):
(WebKit::ShareableResource::size):
* Shared/ShareableResource.h:
(WebKit::ShareableResource::Handle::isNull):
(WebKit::ShareableResource::Handle::size):
Add an implementation of WebCore::ResourceBuffer that wraps a ShareableResource instead of a SharedBuffer:
* Shared/WebResourceBuffer.cpp:
(WebKit::WebResourceBuffer::WebResourceBuffer):
(WebKit::WebResourceBuffer::~WebResourceBuffer):
(WebKit::WebResourceBuffer::data):
(WebKit::WebResourceBuffer::size):
* Shared/WebResourceBuffer.h:
(WebResourceBuffer):
(WebKit::WebResourceBuffer::create):
Add messaging that responds to resource load events from the NetworkProcess and passes them to the scheduler:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveResponse):
(WebKit::NetworkProcessConnection::didReceiveResource):
(WebKit::NetworkProcessConnection::didFailResourceLoad):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
Takes resource load events passed from the NetworkProcess and hands them off directly to WebCore ResourceLoaders:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Update some logging.
(WebKit::WebResourceLoadScheduler::addMainResourceLoad): Ditto.
(WebKit::WebResourceLoadScheduler::remove): Ditto.
(WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Ditto.
(WebKit::WebResourceLoadScheduler::servePendingRequests): Ditto.
(WebKit::WebResourceLoadScheduler::didReceiveResponse): Call through to ResourceLoader.
(WebKit::WebResourceLoadScheduler::didReceiveResource): Ditto.
(WebKit::WebResourceLoadScheduler::didFailResourceLoad): Ditto.
* WebProcess/Network/WebResourceLoadScheduler.h:
2012-11-08 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=101424
Reviewed by Noam Rosenthal.
We must remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
Currently, CoordinatedGraphicsLayer only removes a TiledBackingStore if
!drawsContent() while TextureMapperLayer::updateBackingStore() removes a backing
store if (!m_state.drawsContent || !m_state.contentsVisible || m_size.isEmpty()).
CoordinatedGraphicsLayer must have the same behavior.
In addition, this patch makes LayerTreeRenderer remove a backing store from
GraphicsLayerTextureMapper when CoordinatedBackingStore does not have any tiles.
Test: compositing/nested-direct-image-compositing.html
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::removeTile):
(WebKit::CoordinatedBackingStore::isEmpty):
(WebKit):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit):
(WebKit::LayerTreeRenderer::removeTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
2012-11-08 Tim Horton <timothy_horton@apple.com>
[WK2] Print preview should vend images to the UIProcess instead of PDFs
https://bugs.webkit.org/show_bug.cgi?id=101382
<rdar://problem/9866766>
Reviewed by Alexey Proskuryakov.
In the interests of keeping PDF processing inside the WebProcess, we should
remove print preview's reliance on PDFs, by handing bitmaps back instead.
* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::create): Add an optional SharedMemory::Protection argument, so we can make
ShareableBitmaps from read-only handles if desired. Defaults to read-write as previously.
(WebKit::ShareableBitmap::createHandle): Add an optional SharedMemory::Protection argument, so we can make
read-only handles if desired. Defaults to read-write as previously.
* Shared/ShareableBitmap.h:
* UIProcess/API/mac/WKPrintingView.h:
(WebImage): Store WebImages instead of raw PDF data for previews.
* UIProcess/API/mac/WKPrintingView.mm:
(pageDidDrawToImage): Add a callback for when a preview we've requested is done rendering into an image.
Cache the image in _pagePreviews if appropriate.
(pageDidDrawToPDF): Do not handle PDF data unless we are expecting a real print callback (not a preview).
(-[WKPrintingView _drawPreview:]): Request an image instead of PDF data when doing a print preview.
* UIProcess/GenericCallback.h:
(ImageCallback): Add a callback type with one argument: a ShareableBitmap::Handle.
I can't use the GenericCallback template because ShareableBitmap::Handle doesn't have a corresponding WK type.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close): Add support for ImageCallback.
(WebKit::WebPageProxy::imageCallback): Add support for ImageCallback.
(WebKit::WebPageProxy::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Rename drawRectToPDF to drawRectToImage, add support for ImageCallback.
* UIProcess/WebPageProxy.messages.in: Add support for ImageCallback.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
Make drawRectToImage create a bitmap snapshot of the page (using the normal snapshotting code),
or, if the page is backed by a *PDFPlugin, draw the PDF document into a bitmap and use that.
* WebProcess/WebPage/WebPage.h:
(WebPage): Rename drawRectToPDF to drawRectToImage.
* WebProcess/WebPage/WebPage.messages.in: Rename drawRectToPDF to drawRectToImage.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::drawPDFDocument): Rename drawRectToPDFFromPDFDocument to drawPDFDocument,
because it's more like drawImage than anything else.
2012-11-08 Simon Hausmann <simon.hausmann@digia.com>
[Qt] Fix build without WebKit1
https://bugs.webkit.org/show_bug.cgi?id=101583
Reviewed by Tor Arne Vestbø.
WebProcess needs access to the QStyle themeing via the initializeWebKit2Theme() function from
WebKit1. Try to access it depending on whether WebKit1 is built or not, not depending on whether
widgets are available not.
* WebProcess.pro:
* qt/MainQt.cpp:
(WebKit):
(main):
2012-11-08 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
[EFL] Unreviewed build fix after r133880.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::setAdditionalPluginPath):
2012-11-08 KwangYong Choi <ky0.choi@samsung.com>
[EFL][WK2] Add ewk_context_additional_plugin_path_set API
https://bugs.webkit.org/show_bug.cgi?id=101530
Reviewed by Gyuyoung Kim.
Add ewk_context_additional_plugin_path_set() to set additional plugin directory.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::setAdditionalPluginPath):
(ewk_context_additional_plugin_path_set):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
2012-11-08 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Use explicit constructor in BatteryProvider, DownloadManagerEfl, NetworkInfoProvider
https://bugs.webkit.org/show_bug.cgi?id=101567
Reviewed by Kentaro Hara.
Added explicit keyword in constructors of BatteryProvider, DownloadManagerEfl,
and NetworkInfoProvider in order to avoid implicit type conversion.
* UIProcess/efl/BatteryProvider.h:
(BatteryProvider):
* UIProcess/efl/DownloadManagerEfl.h:
(DownloadManagerEfl):
* UIProcess/efl/NetworkInfoProvider.h:
(NetworkInfoProvider):
2012-11-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Use smart pointers in EwkContext more actively
https://bugs.webkit.org/show_bug.cgi?id=101565
Reviewed by Gyuyoung Kim.
Since we're using WebContext instead of WKContext starting r133844 we should
use smart pointers accordingly including PassRefPtr.
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::create):
(EwkContext::cookieManager):
(EwkContext::ensureFaviconDatabase):
(EwkContext::setFaviconDatabaseDirectoryPath):
(EwkContext::addVisitedLink):
(EwkContext::setCacheModel):
(EwkContext::cacheModel):
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
(EwkContext::webContext):
* UIProcess/API/efl/ewk_database_manager_private.h:
(Ewk_Database_Manager::create):
* UIProcess/API/efl/ewk_storage_manager_private.h:
(Ewk_Storage_Manager::create):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
2012-11-08 Kangil Han <kangil.han@samsung.com>
[EFL][MiniBrowser] Add encoding detector option.
https://bugs.webkit.org/show_bug.cgi?id=100931
Reviewed by Gyuyoung Kim.
Add triggering Settings::setUsesEncodingDetector for WK2 UI process.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
2012-11-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebKitWebView doesn't notify of favicon changes for known favicons but new pages
https://bugs.webkit.org/show_bug.cgi?id=98874
Reviewed by Martin Robinson.
If the page is unknown (not registered in the icon database) but
the icon is known (registered by another page) favicon-ready
signal is not emitted because the icon has already been imported
from the database. The view always asks for the favicon when the
load has been committed, but it's usually too early and the
favicon of the page is still unkown. We can use
didChangeIconForPageURLCallback to know when to ask for the
favicon emitting a favicon-changed signal. The callback
iconDataReadyForPageURLCallback is still useful to process pending
icon requests, but the favicon-ready signal can be removed in
favor of favicon-changed.
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(_WebKitFaviconDatabasePrivate): Keep a map of page icons that has
been imported to make sure we only emit favicon-changed signal
when the favicon URI has actually changed, because
didChangeIconForPageURLCallback can be called multiple times for
the same favicon URI in some cases.
(webkit_favicon_database_class_init): Remove favicon-ready signal
and add favicon-changed that includes the new favicon URI for the
given page URI.
(didChangeIconForPageURLCallback): Emit favicon-changed signal if
the favicon URI is new or has changed for the given page URI.
(iconDataReadyForPageURLCallback): Process pending icon requests.
(webkitFaviconDatabaseCreate): Add implementation for
didChangeIconForPageURLCallback.
* UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate): Add favicon URI to make sure we only ask for a
new favicon when the favicon URI has changed.
(webkitWebViewUpdateFavicon): Update the favicon and emit
notify::favicon if it has changed.
(gotFaviconCallback): Update the favicon if the request hasn't
been cancelled.
(webkitWebViewRequestFavicon): Ask for the page favicon.
(webkitWebViewUpdateFaviconURI): Updated the favicon URI and
request the page favicon if the favicon URI has changed.
(faviconChangedCallback): Call webkitWebViewUpdateFaviconURI() with
the given favicon URI.
(webkitWebViewWatchForChangesInFavicon): Connect to
WebKitFaviconDatabase::favicon-changed.
(webkitWebViewDisconnectFaviconDatabaseSignalHandlers): Disconnect
WebKitFaviconDatabase::favicon-changed signal.
(webkitWebViewLoadChanged): Call webkitWebViewUpdateFaviconURI()
with the current favicon URI when the load has been committed.
* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
(serverCallback):
(testNotInitialized):
(testGetFavicon):
(testGetFaviconURI):
(testWebViewFavicon):
(beforeAll):
* UIProcess/API/gtk/webkit2marshal.list: Add new marshaler.
2012-11-08 Anders Carlsson <andersca@apple.com>
Attempt to silence a compiler warning.
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
2012-11-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r133841.
http://trac.webkit.org/changeset/133841
https://bugs.webkit.org/show_bug.cgi?id=101542
Reverted patches were innocent (Requested by shinyak on
#webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-07 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Make ewk_context use WebContext instead of WKContext
https://bugs.webkit.org/show_bug.cgi?id=101477
Reviewed by Gyuyoung Kim.
Refactor ewk_context to use WebContext as ewk_context is encapsulated in a C++ classes.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::create):
(EwkContext::defaultContext):
(EwkContext::cookieManager):
(EwkContext::ensureFaviconDatabase):
(EwkContext::setFaviconDatabaseDirectoryPath):
(EwkContext::addVisitedLink):
(EwkContext::setCacheModel):
(EwkContext::cacheModel):
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
(EwkContext::webContext):
* UIProcess/API/efl/ewk_database_manager.cpp:
(Ewk_Database_Manager::Ewk_Database_Manager):
(Ewk_Database_Manager::getDatabaseOrigins):
* UIProcess/API/efl/ewk_database_manager_private.h:
(Ewk_Database_Manager::create):
(Ewk_Database_Manager):
* UIProcess/API/efl/ewk_storage_manager.cpp:
(Ewk_Storage_Manager::Ewk_Storage_Manager):
(Ewk_Storage_Manager::getStorageOrigins):
* UIProcess/API/efl/ewk_storage_manager_private.h:
(Ewk_Storage_Manager::create):
(Ewk_Storage_Manager):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
2012-11-07 Shinya Kawanaka <shinyak@chromium.org>
Unreviewed, rolling out r133428 and r133749
https://bugs.webkit.org/show_bug.cgi?id=101533
These patches might cause memory regression.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-07 Anders Carlsson <andersca@apple.com>
Add RemoteGraphicsLayer class
https://bugs.webkit.org/show_bug.cgi?id=101535
Reviewed by Simon Fraser.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
Add RemoteGraphicsLayer, a subclass of WebCore::GraphicsLayer.
* WebProcess/WebPage/mac/RemoteLayerTreeController.h:
Make RemoteLayerTreeController a GraphicsLayerFactory.
* WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
(WebKit::RemoteLayerTreeController::createGraphicsLayer):
Create a new RemoteGraphicsLayer.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
Return the layer tree controller.
2012-11-07 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Make WebVibrationProxy to be a member of WebPageProxy.
https://bugs.webkit.org/show_bug.cgi?id=100334
Reviewed by Anders Carlsson.
WebVibrationProxy should be a member of WebPageProxy, because the IPC
messages of WebVibrationProxy have page destination ID.
The r132386 proposed a way to add/delete message receivers that can
handle IPC messages with destination ID.
Previous implementation that creating WebVibrationProxy as a WebContext
member and using the global message receiver for the proxy can make
assertions after r132386.
To handle the vibration IPC messages properly, this patch will do the
followings.
1) Instead of WebContext, WebPageProxy will have the WebVibrationProxy.
2) WebVibrationProxy will add itself to the message receiver map of
the WebContext with page destination ID.
3) When WebProcessProxy received vibration ipc messages, it will
forward the messages to the WebContext first. Then the message
receiver map of the WebContext will handle the messages with the
registered WebVibrationProxy.
4) APIs will be modified to apply these changes.
a) WK API to get WKVibrationRef will use WKPageRef not WKContextRef.
b) EFL APIs and API test for the vibration will also be changed.
- EwkViewImpl will have vibration client. (EwkContext will not
have it)
- Previous API to register the vibration callback will be removed.
- New signals for vibration will be added to the EwkViewImpl.
- VibrationProxy will be renamed to VibrationClient for the
consistency with other clients in EwkViewImpl.
- VibrationClient will use EwkViewImpl instead of EwkContext.
- Previous API test for vibration will be moved from context test
to view test, and it will use the changed API.
* PlatformEfl.cmake:
* UIProcess/API/C/WKContext.cpp:
* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageGetVibration):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
(EwkViewCallbacks):
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(WebKit):
(EwkContext):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(VibrationCbData):
(onVibrate):
(onCancelVibration):
(loadVibrationHTMLString):
(TEST_F):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::processDidCrash):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
(WebKit::WebPageProxy::vibration):
* UIProcess/WebVibrationProxy.cpp:
(WebKit::WebVibrationProxy::create):
(WebKit::WebVibrationProxy::WebVibrationProxy):
(WebKit::WebVibrationProxy::~WebVibrationProxy):
(WebKit::WebVibrationProxy::invalidate):
* UIProcess/WebVibrationProxy.h:
(WebKit):
(WebVibrationProxy):
* UIProcess/efl/VibrationClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.cpp.
(toVibrationClient):
(VibrationClientEfl::vibrateCallback):
(VibrationClientEfl::cancelVibrationCallback):
(VibrationClientEfl::create):
(VibrationClientEfl::VibrationClientEfl):
(VibrationClientEfl::~VibrationClientEfl):
* UIProcess/efl/VibrationClientEfl.h: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.h.
(WebKit):
(VibrationClientEfl):
2012-11-07 Anders Carlsson <andersca@apple.com>
Add empty RemoteLayerTree class
https://bugs.webkit.org/show_bug.cgi?id=101524
Reviewed by Simon Fraser.
Add a new RemoteLayerTree class which will contain the remote graphics layers.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/mac/RemoteLayerTree.h: Added.
* WebProcess/WebPage/mac/RemoteLayerTree.mm: Added.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
(RemoteLayerTreeDrawingArea):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
2012-11-07 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Allow client to override setWindowFrame() / getWindowFrame()
https://bugs.webkit.org/show_bug.cgi?id=101496
Reviewed by Kenneth Rohde Christiansen.
Add window_geometry_set() / window_geometry_get() smart functions to
ewk_view allowing the client to provide its own implementation for
those.
This is particularly useful if the application uses elm_win because
the default implementation will not behave correctly in this case.
This is due to the fact that the default implementation interacts
with the Ecore_Evas that contains the view and is not aware of the
parent window widget.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::windowGeometry):
(EwkViewImpl::setWindowGeometry):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):
2012-11-07 Alexandru Chiculita <achicu@adobe.com>
CoordinatedGraphicsArgumentCoders should use ValidatedCustomFitlerOperation instead
https://bugs.webkit.org/show_bug.cgi?id=100905
Reviewed by Noam Rosenthal.
The code now knows how to read a ValidatedCustomFitlerOperation and serialize it to the UI process.
No new tests, the code path is not used yet.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
2012-11-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Add ewk_settings_preferred_minimum_contents_width_get/set API
https://bugs.webkit.org/show_bug.cgi?id=101467
Reviewed by Kenneth Rohde Christiansen.
Added ewk_settings_preferred_minimum_contents_width_get/set API which is used for setting/getting
of default minimum contents width for non viewport meta element sites.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_preferred_minimum_contents_width_set):
(ewk_settings_preferred_minimum_contents_width_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-11-07 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Avoid creating an empty surface
https://bugs.webkit.org/show_bug.cgi?id=101464
Reviewed by Kenneth Rohde Christiansen.
Make sure we have a valid view size before creating a GL surface.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
2012-11-07 Christophe Dumez <christophe.dumez@intel.com>
[WK2][UNIX] Crash in WebKit::PluginProcessProxy::scanPlugin()
https://bugs.webkit.org/show_bug.cgi?id=101446
Reviewed by Kenneth Rohde Christiansen.
Make sure that the disposition of the SIGCHLD signal is reset to the default
before calling g_spawn_sync(). If the disposition is set to SIG_IGN, then
g_spawn_sync() will not be able to return the exit status of the child
process, our exit failure check will be useless and the following warning
will be printed:
GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process
was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received
by waitpid(), so exit status can't be returned. This is a bug in the
program calling g_spawn_sync(); either don't request the exit status, or
don't set the SIGCHLD action.
This patch also adds a NULL-check for stdOut to avoid crashing in such
case and makes use of String::split() to parse stdOut instead of doing it
manually.
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
2012-11-07 Shinya Kawanaka <shinyak@chromium.org>
[Shadow] Use setPseudo() instead of setShadowPseudoId().
https://bugs.webkit.org/show_bug.cgi?id=101306
Reviewed by Kent Tamura.
Exposes necessary symbols.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Make EWK classes Ewk_Objects
https://bugs.webkit.org/show_bug.cgi?id=101057
Reviewed by Kenneth Rohde Christiansen.
Now all the existing EWK classes share common Ewk_Object ref/unref API.
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_database_manager.cpp:
(Ewk_Database_Manager::createOriginList):
* UIProcess/API/efl/ewk_database_manager_private.h:
* UIProcess/API/efl/ewk_file_chooser_request.cpp:
(EwkFileChooserRequest::EwkFileChooserRequest):
(EwkFileChooserRequest::~EwkFileChooserRequest):
(EwkFileChooserRequest::allowMultipleFiles):
(EwkFileChooserRequest::acceptedMIMETypes):
(EwkFileChooserRequest::cancel):
(EwkFileChooserRequest::chooseFiles):
(ewk_file_chooser_request_allow_multiple_files_get):
(ewk_file_chooser_request_accepted_mimetypes_get):
(ewk_file_chooser_request_cancel):
(ewk_file_chooser_request_files_choose):
(ewk_file_chooser_request_file_choose):
* UIProcess/API/efl/ewk_file_chooser_request.h:
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
(EwkFileChooserRequest):
(EwkFileChooserRequest::create):
* UIProcess/API/efl/ewk_form_submission_request.cpp:
(EwkFormSubmissionRequest::EwkFormSubmissionRequest):
(EwkFormSubmissionRequest::~EwkFormSubmissionRequest):
(EwkFormSubmissionRequest::fieldValue):
(EwkFormSubmissionRequest::fieldNames):
(EwkFormSubmissionRequest::submit):
(ewk_form_submission_request_field_names_get):
(ewk_form_submission_request_field_value_get):
(ewk_form_submission_request_submit):
* UIProcess/API/efl/ewk_form_submission_request.h:
* UIProcess/API/efl/ewk_form_submission_request_private.h:
(EwkFormSubmissionRequest):
(EwkFormSubmissionRequest::create):
* UIProcess/API/efl/ewk_intent.cpp:
(EwkIntent::EwkIntent):
(EwkIntent::webIntentData):
(EwkIntent::action):
(EwkIntent::type):
(EwkIntent::service):
(EwkIntent::suggestions):
(EwkIntent::extra):
(EwkIntent::extraKeys):
(ewk_intent_action_get):
(ewk_intent_type_get):
(ewk_intent_service_get):
(ewk_intent_suggestions_get):
(ewk_intent_extra_get):
(ewk_intent_extra_names_get):
* UIProcess/API/efl/ewk_intent.h:
* UIProcess/API/efl/ewk_intent_private.h:
(EwkIntent):
(EwkIntent::create):
* UIProcess/API/efl/ewk_intent_service.cpp:
(EwkIntentService::EwkIntentService):
(EwkIntentService::action):
(EwkIntentService::type):
(EwkIntentService::href):
(EwkIntentService::title):
(EwkIntentService::disposition):
(ewk_intent_service_action_get):
(ewk_intent_service_type_get):
(ewk_intent_service_href_get):
(ewk_intent_service_title_get):
(ewk_intent_service_disposition_get):
* UIProcess/API/efl/ewk_intent_service.h:
* UIProcess/API/efl/ewk_intent_service_private.h:
(EwkIntentService):
(EwkIntentService::create):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
(EwkNavigationPolicyDecision::~EwkNavigationPolicyDecision):
(EwkNavigationPolicyDecision::navigationType):
(EwkNavigationPolicyDecision::mouseButton):
(EwkNavigationPolicyDecision::modifiers):
(EwkNavigationPolicyDecision::frameName):
(EwkNavigationPolicyDecision::request):
(EwkNavigationPolicyDecision::accept):
(EwkNavigationPolicyDecision::reject):
(EwkNavigationPolicyDecision::download):
(ewk_navigation_policy_navigation_type_get):
(ewk_navigation_policy_mouse_button_get):
(ewk_navigation_policy_modifiers_get):
(ewk_navigation_policy_frame_name_get):
(ewk_navigation_policy_request_get):
(ewk_navigation_policy_decision_accept):
(ewk_navigation_policy_decision_reject):
(ewk_navigation_policy_decision_download):
* UIProcess/API/efl/ewk_navigation_policy_decision.h:
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(EwkNavigationPolicyDecision):
(EwkNavigationPolicyDecision::create):
* UIProcess/API/efl/ewk_resource.cpp:
(EwkResource::EwkResource):
(EwkResource::url):
(EwkResource::isMainResource):
(ewk_resource_url_get):
(ewk_resource_main_resource_get):
* UIProcess/API/efl/ewk_resource.h:
* UIProcess/API/efl/ewk_resource_private.h:
(EwkResource):
(EwkResource::create):
* UIProcess/API/efl/ewk_security_origin.cpp:
(EwkSecurityOrigin::EwkSecurityOrigin):
(EwkSecurityOrigin::host):
(EwkSecurityOrigin::protocol):
(EwkSecurityOrigin::port):
(ewk_security_origin_host_get):
(ewk_security_origin_protocol_get):
(ewk_security_origin_port_get):
* UIProcess/API/efl/ewk_security_origin.h:
* UIProcess/API/efl/ewk_security_origin_private.h:
(EwkSecurityOrigin):
(EwkSecurityOrigin::create):
* UIProcess/API/efl/ewk_storage_manager.cpp:
(Ewk_Storage_Manager::createOriginList):
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
(EwkUrlSchemeRequest):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_deliver):
* UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
(onFileChooserRequest):
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
(TEST_F):
* UIProcess/efl/FormClientEfl.cpp:
(WebKit::FormClientEfl::willSubmitForm):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::runOpenPanel):
* UIProcess/efl/ResourceLoadClientEfl.cpp:
(WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
* UIProcess/efl/ResourceLoadClientEfl.h:
2012-11-07 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
[WK2] Return earlier if a plugin snapshot cannot be created.
https://bugs.webkit.org/show_bug.cgi?id=101445
Reviewed by Kenneth Rohde Christiansen.
Currently only the Mac port has support for creating snapshots of
Netscape plugins. Return earlier in PluginProxy::snapshot() so
that we do not pass a null handler to ShareableBitmap::create()
and avoid crashing when running pixel tests with plugins.
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::snapshot):
2012-11-07 Kangil Han <kangil.han@samsung.com>
[EFL][WK2] Change encoding detector API names
https://bugs.webkit.org/show_bug.cgi?id=101450
Reviewed by Gyuyoung Kim.
To make settings API name consistent, we need to change two APIs with respect to encoding detector.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_encoding_detector_enabled_set):
(ewk_settings_encoding_detector_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-11-07 Grzegorz Czajkowski <g.czajkowski@samsung.com>
WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
https://bugs.webkit.org/show_bug.cgi?id=93611
Reviewed by Gyuyoung Kim.
When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
it happens that the WebProcess is still not launched (although it is already created).
In this case, isValid() method returns false.
This fix sends a message to the WebProcess messages queue, and the message
will be handled once the WebProcess is ready.
* Target.pri:
Adds missing files to compile spellcheking feature for WebKit2-Qt
to use WebKit C API from WKTextChecker.h.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::updateTextCheckerState):
Uses canSendMessage() method instead of isValid() to check whether the message to
the WebProcess can be sent.
* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
Calls TextChecker::setContinuousSpellCheckingEnabled which additionaly invokes the client's method.
WK2-EFL settings for text checker (ewk_settings.cpp) set the default language (if it wasn't set earlier) to
perform the spelling. It allows to pass the tests from editing/spelling directory.
2012-11-07 Christophe Dumez <christophe.dumez@intel.com>
Add replaceWithLiteral() method to WTF::String
https://bugs.webkit.org/show_bug.cgi?id=101257
Reviewed by Benjamin Poulain.
Substitute String::replace() calls by String::replaceWithLiteral() where
adequate, for efficiency.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::makeURLString):
2012-11-06 Vivek Galatage <vivekgalatage@gmail.com>
Move DrawingAreaImpl methods graphicsLayerFactory, setRootCompositingLayer & scheduleCompositingLayerSync under ACCELERATED_COMPOSITING
https://bugs.webkit.org/show_bug.cgi?id=101427
Reviewed by Anders Carlsson.
Moving these methods under the ACCELERATED_COMPOSITING flag.
This fixes broken wincairo due to use of override specifier.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
2012-11-06 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
[EFL][WK2] API test crash with accelerated compositing on.
https://bugs.webkit.org/show_bug.cgi?id=101384
Reviewed by Gyuyoung Kim.
If accelerated compositing is enabled API tests should create GL evas engine
instead of default one.
Also, in API tests first window resize and display often comes earlier
than enterAcceleratedCompositingMode call, so let's create GL surface in
_ewk_view_smart_calculate on first window resize.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
2012-11-06 Anders Carlsson <andersca@apple.com>
Update Java related WKSI function names
https://bugs.webkit.org/show_bug.cgi?id=101414
Reviewed by Sam Weinig.
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldUsePlugin):
(WebKit::PluginInfoStore::policyForPlugin):
(WebKit::PluginInfoStore::reactivateInactivePlugin):
2012-11-06 Kiran Muppala <cmuppala@apple.com>
Add application occlusion criterion to enable/disable process suppression on Mac
https://bugs.webkit.org/show_bug.cgi?id=100997
Reviewed by Alexey Proskuryakov.
Provide support for enabling and disabling process suppression when application is completely occluded on Mac.
* NetworkProcess/NetworkProcess.messages.in: Added message to update application occlusion status.
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain): Removed call to take process suppression assertion since ChildProcess
takes one on constrution.
* PluginProcess/PluginProcess.messages.in: Added message to update application occlusion status.
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain): Removed call to take process suppression assertion since ChildProcess
takes one on construction.
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess): Take process suppression assertion on construction.
* Shared/ChildProcess.h:
(WebKit::ChildProcess::applicationIsOccluded):
* Shared/mac/ChildProcessMac.mm: Added.
(WebKit::ChildProcess::setApplicationIsOccluded): Release process suppression assertion if application
becomes occluded or take a new assertion if application becomes visible.
(WebKit::ChildProcess::disableProcessSuppression):
(WebKit::ChildProcess::enableProcessSuppression):
Helper methods to take and release process suppression assertion.
* SharedWorkerProcess/SharedWorkerProcess.messages.in: Added message to update application occlusion status.
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain): Removed call to take process suppression assertion since ChildProcess
takes one on construction.
* UIProcess/Network/NetworkProcessManager.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching): Update application occlusion status post launch.
* UIProcess/Network/NetworkProcessProxy.h:
(WebKit::NetworkProcessProxy::isValid):
* UIProcess/Network/mac/NetworkProcessManagerMac.mm: Added.
(WebKit::NetworkProcessManager::setApplicationIsOccluded):
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::setApplicationIsOccluded):
* UIProcess/Plugins/PluginProcessManager.h:
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching): Update application occlusion status post launch.
* UIProcess/Plugins/PluginProcessProxy.h:
(WebKit::PluginProcessProxy::isValid):
* UIProcess/Plugins/mac/PluginProcessManagerMac.mm: Added.
(WebKit::PluginProcessManager::setApplicationIsOccluded):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::setApplicationIsOccluded):
* UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didFinishLaunching): Update application occlusion status post launch.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(WebKit::SharedWorkerProcessProxy::isValid):
* UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm: Added.
(WebKit::SharedWorkerProcessManager::setApplicationIsOccluded):
* UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm: Added.
(WebKit::SharedWorkerProcessProxy::setApplicationIsOccluded):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::create): Added call to initialize process suppression support.
* UIProcess/WebContext.h:
(WebKit::WebContext::applicationIsOccluded):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching): Update application occlusion status post launch.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::applicationBecameVisible):
(WebKit::WebContext::applicationBecameOccluded):
Notification handlers for informing non UI WebKit2 processes of changes to application occlusion state.
(WebKit::WebContext::registerOcclusionNotificationHandlers):
(WebKit::WebContext::initializeProcessSuppressionSupport):
Helper method to register occlusion notification handlers if process suppression support is enabled.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.messages.in: Added message to update application occlusion status.
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::InitializeWebProcess): Removed call to take process supression assertion since ChildProcess
takes one on construction.
2012-11-06 Alexey Proskuryakov <ap@apple.com>
Clean up which storage cookie jar functions use
https://bugs.webkit.org/show_bug.cgi?id=101395
Reviewed by Brady Eidson.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
Updated for two new functions.
2012-11-06 Jihye Kang <jye.kang@samsung.com>
[EFL][WK2] Add ewk_database_manager APIs
https://bugs.webkit.org/show_bug.cgi?id=101193
Reviewed by Gyuyoung Kim.
Add ewk_database_manager to manage web database and
ewk_database_manaager_origins_get to get origins list of web storage.
Add unit tests for ewk_database_manager APIs.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(Ewk_Context::databaseManager):
(ewk_context_database_manager_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_database_manager.cpp: Added.
(Ewk_Database_Manager::Ewk_Database_Manager):
(Ewk_Database_Manager::getDatabaseOrigins):
(Ewk_Database_Manager::createOriginList):
(Ewk_Database_Origins_Async_Get_Context):
(Ewk_Database_Origins_Async_Get_Context::Ewk_Database_Origins_Async_Get_Context):
(getDatabaseOriginsCallback):
(ewk_database_manager_origins_get):
* UIProcess/API/efl/ewk_database_manager.h: Added.
* UIProcess/API/efl/ewk_database_manager_private.h: Added.
(Ewk_Database_Manager):
(Ewk_Database_Manager::create):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: Added.
(OriginData):
(OriginData::OriginData):
(getDatabaseOriginsCallback):
(timerCallback):
(TEST_F):
2012-11-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Refactor Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job to be Ewk_Objects
https://bugs.webkit.org/show_bug.cgi?id=101383
Reviewed by Kenneth Rohde Christiansen.
Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job are Ewk_Objects now.
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_auth_request.cpp:
(EwkAuthRequest::EwkAuthRequest):
(EwkAuthRequest::~EwkAuthRequest):
(EwkAuthRequest::suggestedUsername):
(EwkAuthRequest::realm):
(EwkAuthRequest::host):
(EwkAuthRequest::continueWithoutCredential):
(EwkAuthRequest::authenticate):
(EwkAuthRequest::isRetrying):
(ewk_auth_request_suggested_username_get):
(ewk_auth_request_cancel):
(ewk_auth_request_authenticate):
(ewk_auth_request_retrying_get):
(ewk_auth_request_realm_get):
(ewk_auth_request_host_get):
* UIProcess/API/efl/ewk_auth_request.h:
* UIProcess/API/efl/ewk_auth_request_private.h:
(EwkAuthRequest):
(EwkAuthRequest::create):
* UIProcess/API/efl/ewk_back_forward_list.h:
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/API/efl/ewk_download_job.cpp:
(EwkDownloadJob::EwkDownloadJob):
(EwkDownloadJob::id):
(EwkDownloadJob::viewImpl):
(ewk_download_job_state_get):
(EwkDownloadJob::state):
(ewk_download_job_request_get):
(EwkDownloadJob::request):
(ewk_download_job_response_get):
(EwkDownloadJob::response):
(ewk_download_job_destination_get):
(EwkDownloadJob::destination):
(ewk_download_job_destination_set):
(EwkDownloadJob::setDestination):
(ewk_download_job_suggested_filename_get):
(EwkDownloadJob::suggestedFileName):
(ewk_download_job_cancel):
(EwkDownloadJob::cancel):
(ewk_download_job_estimated_progress_get):
(EwkDownloadJob::estimatedProgress):
(ewk_download_job_elapsed_time_get):
(EwkDownloadJob::elapsedTime):
(EwkDownloadJob::setResponse):
(EwkDownloadJob::setSuggestedFileName):
(EwkDownloadJob::incrementReceivedData):
(EwkDownloadJob::setState):
* UIProcess/API/efl/ewk_download_job.h:
* UIProcess/API/efl/ewk_download_job_private.h:
(EwkDownloadJob):
(EwkDownloadJob::create):
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(EwkUrlSchemeRequest::EwkUrlSchemeRequest):
(EwkUrlSchemeRequest::id):
(EwkUrlSchemeRequest::url):
(EwkUrlSchemeRequest::scheme):
(EwkUrlSchemeRequest::path):
(EwkUrlSchemeRequest::finish):
(ewk_url_scheme_request_scheme_get):
(ewk_url_scheme_request_url_get):
(ewk_url_scheme_request_path_get):
(ewk_url_scheme_request_finish):
* UIProcess/API/efl/ewk_url_scheme_request.h:
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
(EwkUrlSchemeRequest):
(EwkUrlSchemeRequest::create):
* UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
(onAuthenticationRequest):
(TEST_F):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didReceiveResponse):
(WebKit::DownloadManagerEfl::didCreateDestination):
(WebKit::DownloadManagerEfl::didReceiveData):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
(WebKit::DownloadManagerEfl::registerDownload):
(WebKit::DownloadManagerEfl::downloadJob):
* UIProcess/efl/DownloadManagerEfl.h:
(DownloadManagerEfl):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::didReceiveURIRequest):
2012-11-06 Yael Aharon <yael.aharon@intel.com>
[WK2] Wrong scroll position when going back in history
https://bugs.webkit.org/show_bug.cgi?id=101358
Reviewed by Kenneth Rohde Christiansen.
Reset the contentsSize after a new load was committed. We should not continue
to use the contentsSize of the previous page in any calculation.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didCommitLoad):
2012-11-06 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Declare all smart callbacks in EwkViewCallbacks.h
https://bugs.webkit.org/show_bug.cgi?id=101360
Reviewed by Kenneth Rohde Christiansen.
Declare all EwkView smart callbacks in EwkViewCallbacks.h
and remove remaining calls to evas_object_smart_callback_call().
It is a good idea to have all the callbacks declared in one
place for convenience and consistency. We also have better
argument type checking if we use the new callback mechanism.
* UIProcess/API/efl/EwkViewCallbacks.h:
(EwkViewCallbacks::CallBack::call):
(CallBack):
(EwkViewCallbacks):
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::informIconChange):
(EwkViewImpl::informURLChange):
(EwkViewImpl::createNewPage):
(EwkViewImpl::closePage):
2012-11-05 Anders Carlsson <andersca@apple.com>
Hook up the remote layer tree drawing area to an environment variable
https://bugs.webkit.org/show_bug.cgi?id=101267
Reviewed by Andreas Kling.
* UIProcess/API/mac/WKView.mm:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
(WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange):
2012-11-06 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fit-to-width broken on pages with viewport meta tag
https://bugs.webkit.org/show_bug.cgi?id=99715
Reviewed by Jocelyn Turcotte.
The initial scale from the viewport attributes should only
be applied if the scale was explicitly specified in the
viewport meta tag.
If the initial scale is auto it should be calculated using
the final contents size, which might be larger than the
layout size, so that the content fits horizontally into
the view.
Also add QML unit tests that cover this functionality.
* UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
* UIProcess/API/qt/tests/qmltests/common/test5.html: Added.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::pageTransitionViewportReady):
2012-11-06 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove a parent member in WebLayerInfo.
https://bugs.webkit.org/show_bug.cgi?id=101142
Reviewed by Noam Rosenthal.
The parent member is not used in UI Process, and GraphicsLayer::setParent is
internally used only, so we don't need to send the parent layer id to UI Process.
* Shared/WebLayerTreeInfo.h:
(WebKit::WebLayerInfo::WebLayerInfo):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
2012-11-06 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Remove two methods' virtual modifiers in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=101141
Reviewed by Noam Rosenthal.
The methods exist for only CoordinatedGraphicsLayer and we have no plan to
extend CoordinatedGraphicsLayer.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-06 Balazs Kelemen <kbalazs@webkit.org>
[CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
https://bugs.webkit.org/show_bug.cgi?id=101341
Reviewed by Noam Rosenthal.
The queue can be accessed from public API so we should make
sure it is not updated concurrently with a threaded render loop.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::syncRemoteContent):
(WebKit::LayerTreeRenderer::appendUpdate):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
2012-11-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Make Ewk_Context Ewk_Object
https://bugs.webkit.org/show_bug.cgi?id=101322
Reviewed by Kenneth Rohde Christiansen.
Ewk_Context is Ewk_Object now and using common ref/unref API.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::ewkContext):
(EwkViewImpl):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::create):
(EwkContext::defaultContext):
(EwkContext::cookieManager):
(EwkContext::ensureFaviconDatabase):
(EwkContext::setFaviconDatabaseDirectoryPath):
(EwkContext::faviconDatabase):
(EwkContext::storageManager):
(EwkContext::requestManager):
(EwkContext::vibrationProvider):
(EwkContext::addVisitedLink):
(EwkContext::setCacheModel):
(EwkContext::cacheModel):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_directory_set):
(ewk_context_favicon_database_get):
(ewk_context_storage_manager_get):
(EwkContext::wkContext):
(EwkContext::downloadManager):
(EwkContext::historyClient):
(ewk_context_default_get):
(ewk_context_new):
(ewk_context_new_with_injected_bundle_path):
(ewk_context_url_scheme_register):
(ewk_context_vibration_client_callbacks_set):
(ewk_context_history_callbacks_set):
(ewk_context_visited_link_add):
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):
(ewk_view_base_add):
(ewk_view_smart_add):
(ewk_view_add_with_context):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
* UIProcess/efl/DownloadManagerEfl.h:
(WebKit::DownloadManagerEfl::create):
(DownloadManagerEfl):
* UIProcess/efl/PageClientBase.cpp:
(WebKit::PageClientBase::handleDownloadRequest):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
* UIProcess/efl/RequestManagerClientEfl.h:
(WebKit::RequestManagerClientEfl::create):
(RequestManagerClientEfl):
2012-11-06 Balazs Kelemen <kbalazs@webkit.org>
[CoordinatedGraphics] compositing/iframes/connect-compositing-iframe.html crashes
https://bugs.webkit.org/show_bug.cgi?id=101232
Reviewed by Jocelyn Turcotte.
The crash is happening in CoordinatedGraphicsLayer::flushCompositingState
because we dereferencing a null m_coordinatedGraphicsLayerClient.
This happens when the root layer became composited because it has content overlapping
with an inner iframe that is composited. In this case the RenderLayerCompositor attaches
the layer with RootLayerAttachedViaEnclosingFrame attachment flag and do not call
ChromeClient::attachRootGraphcisLayer so we don't have a chance to set m_coordinatedGraphicsLayerClient.
The solution is to set the client early in the factory method.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createGraphicsLayer):
2012-11-06 Viatcheslav Ostapenko <v.ostapenko@samsung.com>
[EFL] [WK2] Random crash in Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=101241
Reviewed by Gyuyoung Kim.
Do not clear GL context and GL surface in exitAcceleratedCompositing.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
(EwkViewImpl::enterAcceleratedCompositingMode):
(EwkViewImpl::exitAcceleratedCompositingMode):
2012-11-05 Sam Weinig <sam@webkit.org>
Need a way to send and receive messages between the WKWebProcessPlugIn object and the client
https://bugs.webkit.org/show_bug.cgi?id=101282
Reviewed by Anders Carlsson.
API wise, this adds:
- A connection property on the WKWebProcessPlugInController
- A method to send messages across a WKConnection (sendMessageWithName:body).
It also implements message sending and receiving for WKConnection. Message bodies are currently
restricted to being object graphs with values that are property list types, but in the future, should
support all types conforming to the NSSecureCoding protocol.
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
(WebKit::WebConnection::handleMessage):
* Shared/WebConnection.h:
(WebConnection):
* Shared/WebConnection.messages.in:
Switch HandleMessage to be a variadic message to avoid an extra copy and support attachments correctly.
* Shared/mac/ArgumentCodersMac.h:
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::typeFromObject):
(CoreIPC::encode):
(CoreIPC::decode):
Add support for encoding/decoding NSArray, NSDate and NSData.
* UIProcess/API/mac/WKConnection.h:
* UIProcess/API/mac/WKConnection.mm:
(-[WKConnection sendMessageWithName:body:]):
(didReceiveMessage):
Implement message sending and receiving.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
(-[WKWebProcessPlugInController connection]):
Add a wrapper for the WKConnectionRef vended via WKBundleGetApplicationConnection() and expose it as
API on the WKWebProcessPlugInController.
2012-11-05 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Fix wrong coding style in the boilerplates
https://bugs.webkit.org/show_bug.cgi?id=101283
Reviewed by Gyuyoung Kim.
Fix boilerplate which have wrong coding style.
* UIProcess/efl/InputMethodContextEfl.cpp:
* UIProcess/efl/InputMethodContextEfl.h:
* UIProcess/efl/PageClientDefaultImpl.cpp:
* UIProcess/efl/PageClientDefaultImpl.h:
* UIProcess/efl/PageClientLegacyImpl.cpp:
* UIProcess/efl/PageClientLegacyImpl.h:
2012-11-05 KyungTae Kim <ktf.kim@samsung.com>
[EFL][WK2] Fix build warning in PageClientLegacyImpl.cpp
https://bugs.webkit.org/show_bug.cgi?id=101266
Reviewed by Laszlo Gombos.
The 'size' is not used when !USE(TILED_BACKING_STORE)
Use UNUSED_PARAM macro for removing -Wunused-parameter warning
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
2012-11-05 Anders Carlsson <andersca@apple.com>
Begin stubbing out the new remote layer tree drawing area
https://bugs.webkit.org/show_bug.cgi?id=101256
Reviewed by Andreas Kling.
* Shared/DrawingAreaInfo.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/DrawingArea.cpp:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2012-11-05 Alexey Proskuryakov <ap@apple.com>
Get rid of setCookieStoragePrivateBrowsingEnabled.
https://bugs.webkit.org/show_bug.cgi?id=101247
Reviewed by Brady Eidson.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Added a FIXME.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
We no longer have this function.
2012-11-05 Simon Fraser <simon.fraser@apple.com>
Fix layer borders to cleaning appear and disappear on switching
https://bugs.webkit.org/show_bug.cgi?id=101136
Reviewed by Sam Weinig.
Remove the GraphicsLayerClient methods showDebugBorders() and
showRepaintCounter().
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
* WebProcess/WebPage/ca/LayerTreeHostCA.h:
(LayerTreeHostCA):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2012-11-05 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] Allow using ACCELERATED_COMPOSITING without COORDINATED_GRAPHICS
https://bugs.webkit.org/show_bug.cgi?id=100674
Reviewed by Kenneth Rohde Christiansen.
Make a distinction between calling ewk_view_base_add and ewk_view_smart_add.
Calling ewk_view_base_add creates a desktop style view, that does not support
fixed layout size, while calling ewk_view_smart_add does support fixed layout size.
As a result, WebKitTestRunner and the inspector window do not support
fixed layout size, while MiniBrowser does. This change allows many DumpAsText
layout tests to pass without modification, when AC is enabled.
* PlatformEfl.cmake:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::transformFromScene):
(EwkViewImpl::informLoadCommitted):
(EwkViewImpl::enterAcceleratedCompositingMode):
(EwkViewImpl::informContentsSizeChange):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
(EwkViewImpl::pageClient):
(EwkViewImpl::setScaleFactor):
(EwkViewImpl::scaleFactor):
(EwkViewImpl::setScrollPosition):
(EwkViewImpl::scrollPosition):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
(createEwkView):
(ewk_view_base_add):
* UIProcess/efl/PageClientBase.cpp: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.cpp.
(WebKit::PageClientBase::PageClientBase):
(WebKit::PageClientBase::~PageClientBase):
(WebKit::PageClientBase::viewImpl):
(WebKit::PageClientBase::createDrawingAreaProxy):
(WebKit::PageClientBase::setViewNeedsDisplay):
(WebKit::PageClientBase::displayView):
(WebKit::PageClientBase::scrollView):
(WebKit::PageClientBase::viewSize):
(WebKit::PageClientBase::isViewWindowActive):
(WebKit::PageClientBase::isViewFocused):
(WebKit::PageClientBase::isViewVisible):
(WebKit::PageClientBase::isViewInWindow):
(WebKit::PageClientBase::processDidCrash):
(WebKit::PageClientBase::didRelaunchProcess):
(WebKit::PageClientBase::pageClosed):
(WebKit::PageClientBase::toolTipChanged):
(WebKit::PageClientBase::setCursor):
(WebKit::PageClientBase::setCursorHiddenUntilMouseMoves):
(WebKit::PageClientBase::registerEditCommand):
(WebKit::PageClientBase::clearAllEditCommands):
(WebKit::PageClientBase::canUndoRedo):
(WebKit::PageClientBase::executeUndoRedo):
(WebKit::PageClientBase::convertToDeviceSpace):
(WebKit::PageClientBase::convertToUserSpace):
(WebKit::PageClientBase::screenToWindow):
(WebKit::PageClientBase::windowToScreen):
(WebKit::PageClientBase::doneWithKeyEvent):
(WebKit::PageClientBase::doneWithTouchEvent):
(WebKit::PageClientBase::createPopupMenuProxy):
(WebKit::PageClientBase::createContextMenuProxy):
(WebKit::PageClientBase::createColorChooserProxy):
(WebKit::PageClientBase::setFindIndicator):
(WebKit::PageClientBase::enterAcceleratedCompositingMode):
(WebKit::PageClientBase::exitAcceleratedCompositingMode):
(WebKit::PageClientBase::updateAcceleratedCompositingMode):
(WebKit::PageClientBase::didChangeScrollbarsForMainFrame):
(WebKit::PageClientBase::didCommitLoadForMainFrame):
(WebKit::PageClientBase::didFinishLoadingDataForCustomRepresentation):
(WebKit::PageClientBase::customRepresentationZoomFactor):
(WebKit::PageClientBase::setCustomRepresentationZoomFactor):
(WebKit::PageClientBase::flashBackingStoreUpdates):
(WebKit::PageClientBase::findStringInCustomRepresentation):
(WebKit::PageClientBase::countStringMatchesInCustomRepresentation):
(WebKit::PageClientBase::updateTextInputState):
(WebKit::PageClientBase::handleDownloadRequest):
* UIProcess/efl/PageClientBase.h: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.h.
(PageClientBase):
* UIProcess/efl/PageClientDefaultImpl.cpp: Added.
(WebKit):
(WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
(WebKit::PageClientDefaultImpl::didCommitLoad):
(WebKit::PageClientDefaultImpl::updateViewportSize):
(WebKit::PageClientDefaultImpl::didChangeViewportProperties):
(WebKit::PageClientDefaultImpl::didChangeContentsSize):
(WebKit::PageClientDefaultImpl::pageDidRequestScroll):
(WebKit::PageClientDefaultImpl::didRenderFrame):
(WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
* UIProcess/efl/PageClientDefaultImpl.h: Added.
(WebKit):
(PageClientDefaultImpl):
(WebKit::PageClientDefaultImpl::create):
(WebKit::PageClientDefaultImpl::~PageClientDefaultImpl):
* UIProcess/efl/PageClientImpl.cpp: Removed.
* UIProcess/efl/PageClientImpl.h: Removed.
* UIProcess/efl/PageClientLegacyImpl.cpp: Added.
(WebKit):
(WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
(WebKit::PageClientLegacyImpl::didCommitLoad):
(WebKit::PageClientLegacyImpl::updateViewportSize):
(WebKit::PageClientLegacyImpl::didChangeViewportProperties):
(WebKit::PageClientLegacyImpl::didChangeContentsSize):
(WebKit::PageClientLegacyImpl::pageDidRequestScroll):
(WebKit::PageClientLegacyImpl::didRenderFrame):
(WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
* UIProcess/efl/PageClientLegacyImpl.h: Added.
(WebKit):
(PageClientLegacyImpl):
(WebKit::PageClientLegacyImpl::create):
(WebKit::PageClientLegacyImpl::~PageClientLegacyImpl):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setContentsScale):
* UIProcess/efl/PageViewportControllerClientEfl.h:
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::viewWidget):
2012-11-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data Ewk_Objects
https://bugs.webkit.org/show_bug.cgi?id=101205
Reviewed by Gyuyoung Kim.
Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data are using common Ewk_Object interface now.
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_download_job.cpp:
(Ewk_Download_Job::request):
(Ewk_Download_Job::response):
(Ewk_Download_Job::setResponse):
* UIProcess/API/efl/ewk_download_job_private.h:
(Ewk_Download_Job):
* UIProcess/API/efl/ewk_navigation_data.cpp:
(EwkNavigationData::EwkNavigationData):
(EwkNavigationData::originalRequest):
(EwkNavigationData::title):
(EwkNavigationData::url):
(ewk_navigation_data_title_get):
(ewk_navigation_data_original_request_get):
(ewk_navigation_data_url_get):
* UIProcess/API/efl/ewk_navigation_data.h:
* UIProcess/API/efl/ewk_navigation_data_private.h:
(EwkNavigationData):
(EwkNavigationData::create):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
(Ewk_Navigation_Policy_Decision::request):
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(Ewk_Navigation_Policy_Decision::create):
(Ewk_Navigation_Policy_Decision):
* UIProcess/API/efl/ewk_url_request.cpp:
(EwkUrlRequest::EwkUrlRequest):
(EwkUrlRequest::url):
(EwkUrlRequest::firstParty):
(EwkUrlRequest::httpMethod):
(ewk_url_request_url_get):
(ewk_request_cookies_first_party_get):
(ewk_url_request_http_method_get):
* UIProcess/API/efl/ewk_url_request.h:
* UIProcess/API/efl/ewk_url_request_private.h:
(EwkUrlRequest):
(EwkUrlRequest::create):
* UIProcess/API/efl/ewk_url_response.cpp:
(EwkUrlResponse::EwkUrlResponse):
(EwkUrlResponse::httpStatusCode):
(EwkUrlResponse::url):
(EwkUrlResponse::mimeType):
(EwkUrlResponse::contentLength):
(ewk_url_response_url_get):
(ewk_url_response_status_code_get):
(ewk_url_response_mime_type_get):
(ewk_url_response_content_length_get):
* UIProcess/API/efl/ewk_url_response.h:
* UIProcess/API/efl/ewk_url_response_private.h:
(EwkUrlResponse):
(EwkUrlResponse::create):
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::didReceiveResponse):
* UIProcess/efl/ResourceLoadClientEfl.cpp:
(WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
(WebKit::ResourceLoadClientEfl::didSendRequestForResource):
(WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
2012-11-05 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] EWK2UnitTestBase.ewk_auth_request_cancel API test is failing after r133389
https://bugs.webkit.org/show_bug.cgi?id=101203
Reviewed by Kenneth Rohde Christiansen.
Attempt for continue without credential when the client cancels
authentication (or does not handle the authentication request)
instead of cancelling the load. We now get a 402 error when
when cancelling the authentication, which is the behavior we
want (and the behavior we used to have before r133389).
* UIProcess/API/efl/ewk_auth_request.cpp:
(Ewk_Auth_Request::~Ewk_Auth_Request):
(Ewk_Auth_Request::continueWithoutCredential):
(ewk_auth_request_cancel):
* UIProcess/API/efl/ewk_auth_request_private.h:
(Ewk_Auth_Request):
* UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
(TEST_F):
2012-11-05 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] The icon database path should be set by the client
https://bugs.webkit.org/show_bug.cgi?id=101182
Reviewed by Kenneth Rohde Christiansen.
No longer set the favicon database path in database instance getter.
Instead, a new ewk_context_favicon_database_directory_set() API
function was added to let the client set the icon database path.
This is needed because the icon database path can only be set once
and setting it unconditionally in the getter prevents the client
from setting it.
This will also avoid crashes in WebKitTestRunner since WKTR was
setting the path once and ewk_context was attempting to override it.
Note that the favicon database functionality is disabled until the
client sets its path.
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::ensureFaviconDatabase):
(Ewk_Context::setFaviconDatabaseDirectoryPath):
(Ewk_Context::faviconDatabase):
(ewk_context_favicon_database_directory_set):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_favicon_database.cpp:
(Ewk_Favicon_Database::Ewk_Favicon_Database):
(Ewk_Favicon_Database::~Ewk_Favicon_Database):
(Ewk_Favicon_Database::iconURLForPageURL):
(Ewk_Favicon_Database::iconForPageURL):
(Ewk_Favicon_Database::getIconSurfaceSynchronously):
* UIProcess/API/efl/ewk_favicon_database_private.h:
(WebKit):
(Ewk_Favicon_Database::create):
(Ewk_Favicon_Database):
* UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
(TEST_F):
2012-11-04 Halton Huo <halton.huo@intel.com>
[EFL] Use _LIBRARIES instead of _LIBRARY
https://bugs.webkit.org/show_bug.cgi?id=101042
Reviewed by Gyuyoung Kim.
In CMake Find files, _LIBRARY is intended for internal use, should
use _LIBRARIES instead.
* PlatformEfl.cmake: s/_LIBRARY}/_LIBRARIES}
2012-11-04 Jon Lee <jonlee@apple.com>
Expose security origin to BundleFrame
https://bugs.webkit.org/show_bug.cgi?id=101139
<rdar://problem/12629900>
Reviewed by Darin Adler.
Create a WebSecurityOrigin instance, sharing the security origin instance
that comes directly from the frame's document. We can do this because the
WK2 API only retrieves information about the origin, and because those
results are returned as copies. The security origin holds no references
that could lead to a retain cycle, avoiding the possibility that the
injected bundle accidentally keeps something alive.
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedAPI): Create copied API for WebCore::SecurityOrigin
instances.
* Shared/WebSecurityOrigin.h:
(WebKit::WebSecurityOrigin::create): Add a new create() function that
takes a PassRefPtr to a WebCore SecurityOrigin instance.
(WebKit::WebSecurityOrigin::createFromString): Refactor to use new create()
function.
(WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): Refactor to
use new create() function.
(WebKit::WebSecurityOrigin::create): Refactor to use new create()
function.
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCopySecurityOrigin): Add function to retrieve the security
origin as a WK2 API object.
* WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2012-11-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL] Unify transforms in WK2
https://bugs.webkit.org/show_bug.cgi?id=101051
Reviewed by Simon Hausmann.
Move our transforms into EwkViewImpl and use them
everywhere needed.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::smartData):
(EwkViewImpl::transformFromScene):
(EwkViewImpl::transformToScene):
(EwkViewImpl::transformToScreen):
(EwkViewImpl::displayTimerFired):
* UIProcess/API/efl/EwkViewImpl.h:
(WebCore):
(EwkViewImpl):
(EwkViewImpl::pageViewportControllerClient):
(EwkViewImpl::pageViewportController):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(ewk_view_feed_touch_event):
2012-11-03 Alexey Proskuryakov <ap@apple.com>
Get rid of USE(CFURLSTORAGESESSIONS)
https://bugs.webkit.org/show_bug.cgi?id=101131
Reviewed by Sam Weinig.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* UIProcess/win/WebContextWin.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/Cookies/mac/WebCookieManagerMac.mm:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformHasLocalDataForURL):
(WebKit::cachedResponseForURL):
* WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::cachedResponseForURL):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
2012-11-03 Pavel Feldman <pfeldman@chromium.org>
REGRESSION (r132014-r132047): Webkit Inspector Window docking broken
https://bugs.webkit.org/show_bug.cgi?id=101125
Reviewed by Vsevolod Vlasov.
Migrated from ?docked= to ?dockSide= format.
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):
2012-10-25 Martin Robinson <mrobinson@igalia.com>
[GTK] Move soup authentication from GtkAuthenticationDialog to WebCore
https://bugs.webkit.org/show_bug.cgi?id=99914
Reviewed by Carlos Garcia Campos.
Instead of passing the libsoup objects to the GtkAuthenticationDialog, pass the
AuthenticationChallenge itself.
* WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2012-11-02 Anders Carlsson <andersca@apple.com>
Very speculative ArgumentDecoder crash fix
https://bugs.webkit.org/show_bug.cgi?id=101130
<rdar://problem/11917046>
Reviewed by Sam Weinig.
Switch from fastMalloc/fastFree to system malloc/free in the hopes that it'll give more information about
a crash inside TCMalloc when freeing the argument data. (It seems unlikely that this is a bug in TCMalloc, but
switching to the system malloc could potentially give better error reporting).
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::~ArgumentDecoder):
(CoreIPC::ArgumentDecoder::initialize):
2012-11-02 Anders Carlsson <andersca@apple.com>
Don't instantiate the Java plug-in if it's inactive
https://bugs.webkit.org/show_bug.cgi?id=101102
<rdar://problem/12595679>
Reviewed by Andreas Kling.
* Shared/Plugins/PluginModuleInfo.h:
Add a PluginModuleLoadPolicy enum.
* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::policyForPlugin):
* UIProcess/Plugins/PluginInfoStore.h:
(PluginInfoStore):
Rename shouldBlockPlugin to policyForPlugin and make it return an enum so we can handle inactive plug-ins.
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::shouldBlockPlugin):
Add helper function.
(WebKit::PluginInfoStore::policyForPlugin):
If the Java plug-in is inactive, return PluginModuleInactive.
(WebKit::PluginInfoStore::reactivateInactivePlugin):
If the given plug-in is the Java plug-in, call WKJLReportWebComponentsUsed() to reactivate it.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
If the plug-in is inactive, try to reactivate it and reload the page if reactivation succeeded.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPluginPath):
* UIProcess/WebProcessProxy.h:
This now returns a plug-in load policy.
* UIProcess/WebProcessProxy.messages.in:
GetPluginPack now returns a load policy enum.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
Change this to a switch statement and always return true for RenderEmbeddedObject::PluginInactive.
(WebKit::WebChromeClient::unavailablePluginButtonClicked):
Add RenderEmbeddedObject::PluginInactive to the assertion.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
Update now that GetPluginPath returns a pluginLoadPolicy enum.
(WebKit::canPluginHandleResponse):
Ditto.
2012-11-02 Alexey Proskuryakov <ap@apple.com>
[Mac] ResourceHandle changes for network process
https://bugs.webkit.org/show_bug.cgi?id=101111
Reviewed by Jessie Berlin.
* NetworkProcess/mac/NetworkProcessMainMac.mm: (WebKit::NetworkProcessMain):
We want to use WebKitSystemInterface in network process.
* NetworkProcess/mac/RemoteNetworkingContext.h:
(WebKit::RemoteNetworkingContext::create): Added a constructor and a create function.
Switched from scheduledRunLoopPairs() to the new scheduledOperationQueue().
* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
(WebKit::RemoteNetworkingContext::scheduledOperationQueue):
Ditto.
2012-11-02 Simon Fraser <simon.fraser@apple.com>
Enable SUBPIXEL_LAYOUT on Mac
https://bugs.webkit.org/show_bug.cgi?id=101076
Reviewed by Dave Hyatt.
Define ENABLE_SUBPIXEL_LAYOUT and include it in FEATURE_DEFINES.
* Configurations/FeatureDefines.xcconfig:
2012-11-02 Anders Carlsson <andersca@apple.com>
Add a PluginInactive plug-in unavailability reason
https://bugs.webkit.org/show_bug.cgi?id=101089
Reviewed by Sam Weinig.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
2012-11-02 Adam Barth <abarth@webkit.org>
ENABLE(UNDO_MANAGER) is disabled everywhere and is not under active development
https://bugs.webkit.org/show_bug.cgi?id=100711
Reviewed by Eric Seidel.
* Configurations/FeatureDefines.xcconfig:
2012-11-02 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Crash when calling WebOpenPanelResultListenerProxy::cancel() after PageClient is destroyed
https://bugs.webkit.org/show_bug.cgi?id=100977
Reviewed by Alexey Proskuryakov.
Call WebPageProxy::close() in EwkViewImpl's destructor to avoid crashes
if other objects keep a reference to the WebPageProxy and try to use
it after the view (and therefore the PageClient) is destroyed.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::~EwkViewImpl):
2012-11-02 Martin Robinson <mrobinson@igalia.com>
[GTK] Remove dependency on SoupPasswordManager
https://bugs.webkit.org/show_bug.cgi?id=100775
Reviewed by Carlos Garcia Campos.
Add a libsecret dependency to the build. This is necessary so that we can remove
a dependency on SoupPasswordManager.
* GNUmakefile.am: Add libsecret CFLAGS to the WebKit2 build.
2012-11-02 Byungwoo Lee <bw80.lee@samsung.com>
[EFL][WK2] Change the scope of locking in WorkQueueEfl.cpp.
https://bugs.webkit.org/show_bug.cgi?id=98978
Reviewed by Kenneth Rohde Christiansen.
Release the m_workItemQueueLock and m_timerWorkItemsLock mutexes
immediately after the protected resource is no longer modified to
prevent a possible source of a deadlock.
And additional mutex locker for the m_writeToPipeDescriptor is added
to ensure thread-safety of the sendMessageToThread() function.
* Platform/WorkQueue.h:
(WorkQueue):
* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::insertTimerWorkItem):
(WorkQueue::performTimerWork):
(WorkQueue::sendMessageToThread):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
2012-11-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Add API unit tests for Ewk_Object
https://bugs.webkit.org/show_bug.cgi?id=101037
Reviewed by Kenneth Rohde Christiansen.
Added API unit tests for Ewk_Object.
* PlatformEfl.cmake:
* UIProcess/API/efl/tests/test_ewk2_object.cpp: Added.
(TestEwkObject1):
(TestEwkObject1::create):
(TestEwkObject1::~TestEwkObject1):
(TestEwkObject2):
(TestEwkObject2::create):
(TEST_F):
2012-11-02 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
REGRESSION (r133075): plugins/plugin-javascript-access.html is failing
https://bugs.webkit.org/show_bug.cgi?id=101045
Reviewed by Kenneth Rohde Christiansen.
Encode the plugin filename in ArgumentCoder<PluginInfo> so that
plugin.filename returns the filename instead of name of the plugin.
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
2012-11-01 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Wrong translation of mouse events
https://bugs.webkit.org/show_bug.cgi?id=100983
Reviewed by Kenneth Rohde Christiansen.
The transform that we build for mouse events is scaled by the scale factor.
The url bar should not be scaled, so it should be scaled in the oposite
direction to compensate for that.
* UIProcess/API/efl/ewk_view.cpp:
(toWebContentTransform):
2012-11-02 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Add missing variable initialization in PageViewportController
Reviewed by Jocelyn Turcotte.
Updating the viewport state depends on uninitialized booleans
which it should not.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
2012-11-02 Byungwoo Lee <bw80.lee@samsung.com>
[EFL][WK2] Use MutexLocker instead of lock()/unlock().
https://bugs.webkit.org/show_bug.cgi?id=101015
Reviewed by Kenneth Rohde Christiansen.
Instead of lock()/unlock(), use MutexLocker in WorkQueue::performWork()
and WorkQueue::performTimerWork().
The locking scope will be more clear and simple with using MutexLocker.
* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::performWork):
(WorkQueue::insertTimerWorkItem):
(WorkQueue::performTimerWork):
(WorkQueue::dispatchAfterDelay):
2012-11-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Common ref and unref functions for EFL WK2 objects
https://bugs.webkit.org/show_bug.cgi?id=100751
Reviewed by Kenneth Rohde Christiansen.
Added common Ewk_Object class with ref/unref API also added several aux functions for safe
Ewk_Object conversion. Used new approach on ewk_back_forward_list_item as example.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(Ewk_Back_Forward_List::getFromCacheOrCreate):
(Ewk_Back_Forward_List::createEinaList):
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(EwkBackForwardListItem::EwkBackForwardListItem):
(EwkBackForwardListItem::url):
(EwkBackForwardListItem::title):
(EwkBackForwardListItem::originalURL):
(ewk_back_forward_list_item_url_get):
(ewk_back_forward_list_item_title_get):
(ewk_back_forward_list_item_original_url_get):
* UIProcess/API/efl/ewk_back_forward_list_item.h:
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
(EwkBackForwardListItem):
(EwkBackForwardListItem::create):
* UIProcess/API/efl/ewk_back_forward_list_private.h:
* UIProcess/API/efl/ewk_object.cpp: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
(ewk_object_ref):
(ewk_object_unref):
* UIProcess/API/efl/ewk_object.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
* UIProcess/API/efl/ewk_object_private.h: Added.
(Ewk_Object):
(Ewk_Object::~Ewk_Object):
(ewk_object_is_of_type):
(ewk_object_cast_check):
(ewk_object_cast):
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(freeEinaList):
2012-11-02 Nandor Huszka <hnandor@inf.u-szeged.hu>
[Qt][Mac][Win] Unreviewed build fix after r133182
https://bugs.webkit.org/show_bug.cgi?id=100995
Remove two methods' OVERRIDE and virtual modifiers, because they cannot be found in any base class.
Also relocate their prototypes, because they mix with the overridden ones.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-11-02 Jihye Kang <jye.kang@samsung.com>
[EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
https://bugs.webkit.org/show_bug.cgi?id=92827
Reviewed by Gyuyoung Kim.
Add ewk_security_origin APIs to get security origin.
These APIs will be used to get host, protocol and port of security
origin.
Add ewk_storage_manager to manage web storage and
ewk_storage_manager_origins_get to get origins list of web storage.
Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::storageManager):
(ewk_context_storage_manager_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_security_origin.cpp: Added.
(Ewk_Security_Origin::Ewk_Security_Origin):
(Ewk_Security_Origin::host):
(Ewk_Security_Origin::protocol):
(Ewk_Security_Origin::port):
(ewk_security_origin_ref):
(ewk_security_origin_unref):
(ewk_security_origin_host_get):
(ewk_security_origin_protocol_get):
(ewk_security_origin_port_get):
* UIProcess/API/efl/ewk_security_origin.h: Added.
* UIProcess/API/efl/ewk_security_origin_private.h: Added.
(Ewk_Security_Origin):
(Ewk_Security_Origin::create):
* UIProcess/API/efl/ewk_storage_manager.cpp: Added.
(Ewk_Storage_Manager::Ewk_Storage_Manager):
(Ewk_Storage_Manager::getStorageOrigins):
(Ewk_Storage_Manager::createOriginList):
(_Ewk_Storage_Origins_Async_Get_Context):
(_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
(getStorageOriginsCallback):
(ewk_storage_manager_origins_get):
* UIProcess/API/efl/ewk_storage_manager.h: Added.
* UIProcess/API/efl/ewk_storage_manager_private.h: Added.
(Ewk_Storage_Manager):
(Ewk_Storage_Manager::create):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
(getStorageOriginsCallback):
(TEST_F):
2012-11-02 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Manage the lifecycle of shareable surfaces precisely.
https://bugs.webkit.org/show_bug.cgi?id=100797
Reviewed by Noam Rosenthal.
Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
This patch makes UpdateAtlas manage the lifecycle of shareable surfaces
containing the updates in the way how CoordinatedTile manages the lifecycle of
tiles. Currently, UI Process creates the shareable surface when receiving an
UpdateTileForLayer message, but there is no exact point to remove the shareable
surface. Now, we introduce new two messages to handle the lifecycle:
CreateUpdateAtlas and RemoveUpdateAtlas.
This patch gives us two benefits.
1. Reduce file and mmap operations. Web Process does not need to duplicate a
file handle every tile update. UI Process does not need to create a
ShareableSurface every UpdateTileForLayer message.
2. Save memory. We can remove a ShareableSurface in UI Process when UpdateAtlas
in Web Process is removed.
* Shared/SurfaceUpdateInfo.cpp:
(WebKit::SurfaceUpdateInfo::encode):
(WebKit::SurfaceUpdateInfo::decode):
* Shared/SurfaceUpdateInfo.h:
(SurfaceUpdateInfo):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
(WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
(WebKit::CoordinatedTile::updateBackBuffer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
(CoordinatedTileClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::createUpdateAtlas):
(WebKit):
(WebKit::LayerTreeCoordinator::removeUpdateAtlas):
(WebKit::LayerTreeCoordinator::beginContentUpdate):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/UpdateAtlas.cpp:
(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit):
(WebKit::UpdateAtlas::~UpdateAtlas):
(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
* WebProcess/WebPage/UpdateAtlas.h:
(UpdateAtlasClient):
(WebKit):
(UpdateAtlas):
2012-11-02 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Remove redundant internal function
https://bugs.webkit.org/show_bug.cgi?id=100969
Reviewed by Gyuyoung Kim.
Remove ewk_view_text_found() in ewk_view.cpp which is not used anymore.
Now, "text,found" signal is emitted by DECLARE_EWK_VIEW_CALLBACK(TextFound, "text,found", unsigned)
in EwkViewCallback.h
* UIProcess/API/efl/ewk_view.cpp:
2012-11-01 Anders Carlsson <andersca@apple.com>
Reformat the annotationStyle initializer to appease update-webkit-localizable-strings.
Rubber-stamped by Dan Bernstein.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
2012-11-01 Alexandru Chiculita <achicu@adobe.com>
[CSS Shaders] Move MeshBoxType out of CustomFilterOperation
https://bugs.webkit.org/show_bug.cgi?id=100782
Reviewed by Dean Jackson.
Renamed the CustomFilterOperation::MeshBoxType to CustomFilterMeshBoxType.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):
2012-11-01 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=100917
There should be a way to dump the scrolling tree from the layout tests
Reviewed by Simon Fraser.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-11-01 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Clean up headers of Coordinated Graphics.
https://bugs.webkit.org/show_bug.cgi?id=100907
Reviewed by Noam Rosenthal.
This patch performs:
1. Remove unused methods.
2. Change public methods to private if needed.
3. Put virtual, OVERRIDE and explicit keywords if needed.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::fixedToViewport):
(WebCore::CoordinatedGraphicsLayer::setMaskTarget):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-11-01 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add Ewk_Auth_Request API
https://bugs.webkit.org/show_bug.cgi?id=100858
Reviewed by Kenneth Rohde Christiansen.
Add Ewk_Auth_Request API for the client to handle
HTTP authentication.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
(EwkViewCallbacks):
* UIProcess/API/efl/ewk_auth_request.cpp: Added.
(Ewk_Auth_Request::Ewk_Auth_Request):
(Ewk_Auth_Request::~Ewk_Auth_Request):
(Ewk_Auth_Request::suggestedUsername):
(Ewk_Auth_Request::realm):
(Ewk_Auth_Request::host):
(Ewk_Auth_Request::cancel):
(Ewk_Auth_Request::authenticate):
(Ewk_Auth_Request::isRetrying):
(ewk_auth_request_ref):
(ewk_auth_request_unref):
(ewk_auth_request_suggested_username_get):
(ewk_auth_request_cancel):
(ewk_auth_request_authenticate):
(ewk_auth_request_retrying_get):
(ewk_auth_request_realm_get):
(ewk_auth_request_host_get):
* UIProcess/API/efl/ewk_auth_request.h: Added.
* UIProcess/API/efl/ewk_auth_request_private.h: Added.
(WebKit):
(Ewk_Auth_Request):
(Ewk_Auth_Request::create):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: Added corresponding API tests.
(serverCallback):
(onAuthenticationRequest):
(TEST_F):
(onResourceLoadResponse):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
(WebKit):
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h:
(PageLoadClientEfl):
2012-11-01 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Fix the Mac breakage
https://bugs.webkit.org/show_bug.cgi?id=100383
Reviewed by Kenneth Rohde Christiansen.
acceleratedCompositingForFixedPositionEnabled needs to be enabled
for fixed layout to work efficiently but it's wrong to force it
to false if fixed layout isn't enabled.
Separate hard requirements for fixed layout from rendering optimizations
and guard the later with USE(COORDINATED_GRAPHICS).
Also add an early return to make sure that ports always having a false
useFixedLayout creation parameter won't get their settings adjusted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUseFixedLayout):
2012-10-24 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
WebIconDatabase: Properly clean up on destruction
https://bugs.webkit.org/show_bug.cgi?id=100237
Reviewed by Brady Eidson.
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::invalidate):
Make sure that IconDatabaseBase::iconDatabase won't return a dangling pointer.
2012-11-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL] Fix event mapping for WebKit2 with coordinated graphics
https://bugs.webkit.org/show_bug.cgi?id=100956
Reviewed by Alexis Menard.
Apply scale after translation.
* UIProcess/API/efl/ewk_view.cpp:
(toWebContentTransform):
2012-11-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
[EFL] Correct our use of the coordinated graphics
https://bugs.webkit.org/show_bug.cgi?id=100947
Reviewed by Alexis Menard.
Replace the display(...) call with a regular update() on the view.
In the coordinated graphics case this updates our view using
paintToCurrentGLContext with our viewmodel matrix and clips it to
the viewport. This avoid the need to manually joining update regions.
Unneeded update calls have also been removed and the resizing
logic has been improved.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::update):
* UIProcess/API/efl/EwkViewImpl.h:
(WebCore):
(EwkViewImpl):
(EwkViewImpl::clearEvasGLSurface):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
* UIProcess/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::setViewNeedsDisplay):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(PageViewportControllerClientEfl):
2012-11-01 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Double clicks/taps aren't passed down to the page
https://bugs.webkit.org/show_bug.cgi?id=100949
Reviewed by Kenneth Rohde Christiansen.
Since we are passing double click events as press events and that
they are preceeded by a real press event, double clicks are passed
down to the page as triple clicks.
Ignore double click events and let WebCore::EventHandler handle it
through press and release events.
* Shared/qt/WebEventFactoryQt.cpp:
(WebKit::webEventTypeForEvent):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::handleMouseEvent):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::handleInputEvent):
2012-11-01 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[AC][EFL][WK2] Rename PageViewportControllerClientEfl::m_pageViewportController to m_controller
https://bugs.webkit.org/show_bug.cgi?id=100933
Reviewed by Kenneth Rohde Christiansen.
PageViewportControllerClientEfl::m_pageViewportController has to be renamed to m_controller
to keep consistency with other ports. Assertinons were also added.
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
(WebKit::PageViewportControllerClientEfl::setController):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(PageViewportControllerClientEfl):
2012-11-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r133126.
http://trac.webkit.org/changeset/133126
https://bugs.webkit.org/show_bug.cgi?id=100925
This made EFL API test break on EFL buildbots (Requested by
gyuyoung on #webkit).
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_security_origin.cpp: Removed.
* UIProcess/API/efl/ewk_security_origin.h: Removed.
* UIProcess/API/efl/ewk_security_origin_private.h: Removed.
* UIProcess/API/efl/ewk_storage_manager.cpp: Removed.
* UIProcess/API/efl/ewk_storage_manager.h: Removed.
* UIProcess/API/efl/ewk_storage_manager_private.h: Removed.
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
* UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Removed.
2012-11-01 Yuni Jeong <yhnet.jung@samsung.com>
[WK2] Add APIs to get/set encoding detector
https://bugs.webkit.org/show_bug.cgi?id=100066
Reviewed by Gyuyoung Kim.
Add setting APIs for encoding dector and a unit test.
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetUsesEncodingDetector):
(WKPreferencesGetUsesEncodingDetector):
* UIProcess/API/C/WKPreferences.h:
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_setting_uses_encoding_detector_set):
(ewk_setting_uses_encoding_detector_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-10-31 Jihye Kang <jye.kang@samsung.com>
[EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
https://bugs.webkit.org/show_bug.cgi?id=92827
Reviewed by Gyuyoung Kim.
Add ewk_security_origin APIs to get security origin.
These APIs will be used to get host, protocol and port of security
origin.
Add ewk_storage_manager to manage web storage and
ewk_storage_manager_origins_get to get origins list of web storage.
Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::storageManager):
(ewk_context_storage_manager_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_security_origin.cpp: Added.
(Ewk_Security_Origin::Ewk_Security_Origin):
(Ewk_Security_Origin::host):
(Ewk_Security_Origin::protocol):
(Ewk_Security_Origin::port):
(ewk_security_origin_ref):
(ewk_security_origin_unref):
(ewk_security_origin_host_get):
(ewk_security_origin_protocol_get):
(ewk_security_origin_port_get):
* UIProcess/API/efl/ewk_security_origin.h: Added.
* UIProcess/API/efl/ewk_security_origin_private.h: Added.
(Ewk_Security_Origin):
(Ewk_Security_Origin::create):
* UIProcess/API/efl/ewk_storage_manager.cpp: Added.
(Ewk_Storage_Manager::Ewk_Storage_Manager):
(Ewk_Storage_Manager::getStorageOrigins):
(Ewk_Storage_Manager::createOriginList):
(_Ewk_Storage_Origins_Async_Get_Context):
(_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
(getStorageOriginsCallback):
(ewk_storage_manager_origins_get):
* UIProcess/API/efl/ewk_storage_manager.h: Added.
* UIProcess/API/efl/ewk_storage_manager_private.h: Added.
(Ewk_Storage_Manager):
(Ewk_Storage_Manager::create):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
(getStorageOriginsCallback):
(TEST_F):
2012-10-31 Alexandru Chiculita <achicu@adobe.com>
CustomFilterOperation parameters list is not decoded correctly in CoordinatedGraphicsArgumentCoders
https://bugs.webkit.org/show_bug.cgi?id=100889
Reviewed by Noam Rosenthal.
The custom filters parameters list was initialized with a specific size and then
the decoder was expected to fill it with all the decoded parameters. The decoder was
using the append command which added the paramters at the end, so it doubled the size
of the vector leaving empty spaces at the beginning of the list. Fixed it by writting
directly into the allocated space.
No new tests, the code path is not activated yet.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):
2012-10-31 Sam Weinig <sam@webkit.org>
Convert the rest of the encoders to take the encoder as a reference
https://bugs.webkit.org/show_bug.cgi?id=100821
Reviewed by Anders Carlsson.
* Platform/CoreIPC/ArgumentCoders.h:
(CoreIPC::SimpleArgumentCoder::encode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::encodeTimingFunction):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode):
* Shared/SessionState.cpp:
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::Data::encode):
* Shared/WebLayerTreeInfo.cpp:
(WebKit::WebLayerInfo::encode):
* Shared/gtk/ArgumentCodersGtk.cpp:
(CoreIPC::encodeImage):
(CoreIPC::encodeDataObject):
(CoreIPC::::encode):
(CoreIPC::encodeGKeyFile):
(CoreIPC::encode):
* Shared/gtk/ArgumentCodersGtk.h:
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::encodePlatformData):
(CoreIPC::::encode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::encode):
* Shared/qt/ArgumentCodersQt.h:
(CoreIPC):
* Shared/qt/WebCoreArgumentCodersQt.cpp:
(CoreIPC::::encodePlatformData):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::encodePlatformData):
* Shared/win/WebCoreArgumentCodersWin.cpp:
(CoreIPC::::encodePlatformData):
* WebProcess/WebPage/DecoderAdapter.cpp:
(WebKit::DecoderAdapter::decodeBytes):
* WebProcess/WebPage/EncoderAdapter.cpp:
(WebKit::EncoderAdapter::encodeBytes):
2012-10-31 Jesse van den Kieboom <jessevdk@gnome.org>
Enable webkit2 introspection
https://bugs.webkit.org/show_bug.cgi?id=94313
Reviewed by Martin Robinson.
This patch enables generation of introspection information for webkit2
in the same was as it is done for webkit. The resulting gir and
typelib file are named WebKit2-3.0.{gir,typelib}.
* GNUmakefile.am:
* UIProcess/API/gtk/WebKitBackForwardList.cpp:
2012-10-31 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add Ewk_File_Chooser_Request API
https://bugs.webkit.org/show_bug.cgi?id=100818
Reviewed by Kenneth Rohde Christiansen.
Add Ewk_File_Chooser_Request API so that the client
can handle file chooser requests (e.g. Show a file
picker dialog) when the user clicks on an input
element of type "file".
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
(EwkViewCallbacks):
* UIProcess/API/efl/ewk_file_chooser_request.cpp: Added.
(Ewk_File_Chooser_Request::Ewk_File_Chooser_Request):
(Ewk_File_Chooser_Request::~Ewk_File_Chooser_Request):
(Ewk_File_Chooser_Request::allowMultipleFiles):
(Ewk_File_Chooser_Request::acceptedMIMETypes):
(Ewk_File_Chooser_Request::cancel):
(Ewk_File_Chooser_Request::chooseFiles):
(ewk_file_chooser_request_ref):
(ewk_file_chooser_request_unref):
(ewk_file_chooser_request_allow_multiple_files_get):
(ewk_file_chooser_request_accepted_mimetypes_get):
(ewk_file_chooser_request_cancel):
(ewk_file_chooser_request_files_choose):
(ewk_file_chooser_request_file_choose):
* UIProcess/API/efl/ewk_file_chooser_request.h: Added.
* UIProcess/API/efl/ewk_file_chooser_request_private.h: Added.
(WebKit):
(Ewk_File_Chooser_Request):
(Ewk_File_Chooser_Request::create):
(Ewk_File_Chooser_Request::wasHandled):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/resources/file_chooser.html: Added.
* UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: Added corresponding
unit tests.
(onFileChooserRequest):
(compareStrings):
(freeStringList):
(TEST_F):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::runOpenPanel):
(WebKit):
(WebKit::PageUIClientEfl::PageUIClientEfl):
* UIProcess/efl/PageUIClientEfl.h:
(PageUIClientEfl):
2012-10-31 Noam Rosenthal <noam.rosenthal@nokia.com>
[Texmap] Enable filter animations in GraphicsLayerAnimation
https://bugs.webkit.org/show_bug.cgi?id=100318
Reviewed by Kenneth Rohde Christiansen.
Encode/decode KeyframeValues of type FilterOperations.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
2012-10-31 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2][AC] Avoid storing dirty rects in a Vector inside EwkViewImpl
https://bugs.webkit.org/show_bug.cgi?id=100736
Reviewed by Kenneth Rohde Christiansen.
No longer store dirty rectangles in a temporary Vector and construct
a WebCore::Region directly from them instead. This avoid having to
iterate over the Vector in EwkViewImpl::displayTimerFired() to construct
a Region object, which should be more efficient.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::redrawRegion):
* UIProcess/API/efl/EwkViewImpl.h:
(WebCore):
(EwkViewImpl):
2012-10-30 Anders Carlsson <andersca@apple.com>
Connection::Client::didReceiveInvalidMessage should take the full message name
https://bugs.webkit.org/show_bug.cgi?id=100788
Reviewed by Sam Weinig.
Change Connection::Client::didReceiveInvalidMessage to take the message receiver name and message name as parameters
and make WebProcessProxy::didReceiveInvalidMessage print out the full message name.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveInvalidMessage):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
(Client):
* Platform/CoreIPC/StringReference.cpp:
(CoreIPC::StringReference::toString):
(CoreIPC):
* Platform/CoreIPC/StringReference.h:
(StringReference):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didReceiveInvalidMessage):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveInvalidMessage):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::didReceiveInvalidMessage):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didReceiveInvalidMessage):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didReceiveInvalidMessage):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(SharedWorkerProcessProxy):
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
* UIProcess/WebConnectionToWebProcess.h:
(WebConnectionToWebProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveInvalidMessage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
* WebProcess/Network/NetworkProcessConnection.h:
(NetworkProcessConnection):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveInvalidMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
* WebProcess/WebConnectionToUIProcess.h:
(WebConnectionToUIProcess):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveInvalidMessage):
* WebProcess/WebProcess.h:
(WebProcess):
2012-10-31 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2][AC] Use smart pointers for Evas_GL types
https://bugs.webkit.org/show_bug.cgi?id=100745
Reviewed by Kenneth Rohde Christiansen.
Replace raw pointers to Evas_GL, Evas_GL_Context and
Evas_GL_Surface by smart pointers in EwkViewImpl.
C++ wrappers were added for Evas_GL_Context and
Evas_GL_Surface in order to use OwnPtr. This is needed
because their destroy functions need the Evas_GL.
* PlatformEfl.cmake:
* UIProcess/API/efl/EvasGLContext.cpp: Added.
(WebKit):
(WebKit::EvasGLContext::EvasGLContext):
(WebKit::EvasGLContext::~EvasGLContext):
* UIProcess/API/efl/EvasGLContext.h: Added.
(WebKit):
(EvasGLContext):
(WebKit::EvasGLContext::create):
(WebKit::EvasGLContext::context):
* UIProcess/API/efl/EvasGLSurface.cpp: Added.
(WebKit):
(WebKit::EvasGLSurface::EvasGLSurface):
(WebKit::EvasGLSurface::~EvasGLSurface):
* UIProcess/API/efl/EvasGLSurface.h: Added.
(WebKit):
(EvasGLSurface):
(WebKit::EvasGLSurface::create):
(WebKit::EvasGLSurface::surface):
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):
(EwkViewImpl::enterAcceleratedCompositingMode):
(EwkViewImpl::exitAcceleratedCompositingMode):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::evasGL):
(EwkViewImpl::evasGLContext):
(EwkViewImpl::evasGLSurface):
(EwkViewImpl::resetEvasGLSurface):
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
2012-10-31 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WK2] Fix "Unable to find a renderable master window QQuickView" warnings in tst_QQuickWebView
https://bugs.webkit.org/show_bug.cgi?id=100247
Reviewed by Jocelyn Turcotte.
Make sure we have a visible window for tests that want to render.
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::showWebView):
(tst_QQuickWebView::removeFromCanvas):
(tst_QQuickWebView::multipleWebViewWindows):
(tst_QQuickWebView::multipleWebViews):
(tst_QQuickWebView::basicRenderingSanity):
(tst_QQuickWebView::transparentWebViews):
Removed some unnecessary resize now that the window have a default size.
* UIProcess/API/qt/tests/testwindow.h:
(TestWindow): Resize the window to a default size at construction.
2012-10-31 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] WebContext::platformDefaultIconDatabasePath() should return a path to a file
https://bugs.webkit.org/show_bug.cgi?id=100679
Reviewed by Kenneth Rohde Christiansen.
This patch aligns the EFL implementation with other ports. Before
that, we had an inconsistence: the return value of the getter could
not be used on the setter (the setter expects a full path, not a
directory).
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::faviconDatabase):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultIconDatabasePath):
2012-10-31 Ian Vollick <vollick@chromium.org>
Add support for text-based repaint testing
https://bugs.webkit.org/show_bug.cgi?id=100584
Reviewed by Simon Fraser.
Allows tracked repaint rects to be dumped as text.
* mac/WebKit2.order:
* win/WebKit2.def:
* win/WebKit2CFLite.def:
Exports for:
FrameView::setTracksRepaints(bool)
Frame::trackedRepaintRectsAsText() const
2012-10-31 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL] Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set API test
https://bugs.webkit.org/show_bug.cgi?id=100839
Unreviewed, Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set
API test since it is failing on the bots.
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
2012-10-31 KyungTae Kim <ktf.kim@samsung.com>
[WK2][EFL] Assert check need to be changed in InputMethodContextEfl::InputMethodContextEfl
https://bugs.webkit.org/show_bug.cgi?id=100840
Reviewed by Kenneth Rohde Christiansen.
Because 'context' is already set to 'm_context', assert check need to be done for m_context.
* UIProcess/efl/InputMethodContextEfl.cpp:
(WebKit::InputMethodContextEfl::InputMethodContextEfl):
2012-10-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
[WK2/EFL] Make sure all our events are transformed correctly
https://bugs.webkit.org/show_bug.cgi?id=100836
Reviewed by Alexis Menard.
When moving to using the tiled backing store, we need to
transform our events before sending them to the web process.
We needed to do that before as well, as the webkit view
doesn't have to be positioned at (0,0), but it was done in
a hacking way in the WebEvent creating.
Now we generate two transforms, one for transforming points
to the web content, and one for transforming them into the
device screen coordinate system.
This fixes the global position which was wrong before.
* Shared/NativeWebMouseEvent.h:
(NativeWebMouseEvent):
* Shared/NativeWebTouchEvent.h:
(NativeWebTouchEvent):
* Shared/NativeWebWheelEvent.h:
(NativeWebWheelEvent):
* Shared/efl/NativeWebMouseEventEfl.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
* Shared/efl/NativeWebTouchEventEfl.cpp:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* Shared/efl/NativeWebWheelEventEfl.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
* Shared/efl/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* Shared/efl/WebEventFactory.h:
(WebEventFactory):
* UIProcess/API/efl/ewk_view.cpp:
(toDeviceScreenTransform):
(toWebContentTransform):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(ewk_view_feed_touch_event):
2012-10-31 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Change the scope of locking in CoreIPC::Connection class.
https://bugs.webkit.org/show_bug.cgi?id=98998
Reviewed by Laszlo Gombos.
Release the m_incomingMessagesLock and m_outgoingMessagesLock mutexes
immediately after the protected resource is no longer modified to
prevent a possible source of a deadlock.
The change allows the EFL port to prevent an actual dead-lock
situation with some upcoming changes.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::enqueueIncomingMessage):
2012-10-31 Tim Horton <timothy_horton@apple.com>
Unreviewed, fix header sorting in r132992.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
2012-10-31 Tim Horton <timothy_horton@apple.com>
Unreviewed, fix 32bit build breakage.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::updateGeometry):
2012-10-31 Tim Horton <timothy_horton@apple.com>
Full-page PDFPlugin should support inline form editing
https://bugs.webkit.org/show_bug.cgi?id=100155
Reviewed by Dan Bernstein.
Add form controls corresponding to Text and Choice PDF annotations,
allowing for single- and multi-line text input, and <select>-like input.
Currently, forms are only implemented for full-page PDF documents.
* Shared/mac/PDFKitImports.h:
(WebKit): Add pdfAnnotationTextWidgetClass and pdfAnnotationChoiceWidgetClass.
* Shared/mac/PDFKitImports.mm:
(WebKit::pdfAnnotationTextWidgetClass): Add pdfAnnotationTextWidgetClass.
(WebKit::pdfAnnotationChoiceWidgetClass): Add pdfAnnotationChoiceWidgetClass.
* WebKit2.xcodeproj/project.pbxproj: Add PDFLayerControllerDetails, PDFPluginTextAnnotation, PDFPluginChoiceAnnotation,
and PDFPluginAnnotation.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Added. Extract PDFLayerController details category into a header.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add m_activeAnnotation, to keep track of the active PDFPluginAnnotation, and m_annotationContainer,
the <div> that form controls are inserted into.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate pdfLayerController:didChangeActiveAnnotation:]): Forward active annotation changes to PDFPlugin.
(WebKit::PDFPlugin::PDFPlugin): Add a <div> to the PluginDocument <body>, which will contain <input>, <select>, and <textarea> elements
corresponding to the active annotation. This div is made to fit to the body, and is "overflow: hidden" so that form elements scrolled
out of the viewport do not cause the Document to expand to be larger than the Plugin.
(WebKit::PDFPlugin::pdfDocumentDidLoad): Update PDFPlugin's notion of the scroll position immediately after the document loads, in case
the scroll position is constrained by PDFKit.
(WebKit::PDFPlugin::destroy): Tear down any forms for the active annotation.
(WebKit::PDFPlugin::geometryDidChange): Notify the current annotation that it should update its geometry when the Plugin's geometry changes.
(WebKit::PDFPlugin::setScrollOffset): Notify the current annotation that it should update its geometry when we scroll.
(WebKit::PDFPlugin::setActiveAnnotation): Commit changes to the current annotation, if there is one, then make a new PDFPluginAnnotation
corresponding to the newly active annotation, and attach it to our document.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Added.
(WebKit::PDFPluginAnnotation::element): Return the Element corresponding to this object.
(WebKit::PDFPluginAnnotation::annotation): Return the PDFAnnotation corresponding to this object.
(WebKit::PDFPluginAnnotation::plugin): Return the Plugin that created this object.
(WebKit::PDFPluginAnnotation::commit): Commit changes from the form to the PDFAnnotation. This is implemented in subclasses.
(WebKit::PDFPluginAnnotation::attach): Attach a PDFPluginAnnotation to its parent Element.
(WebKit::PDFPluginAnnotation::parent): Return the parent Element that we're attach()ed to.
(WebKit::PDFPluginAnnotation::pdfLayerController): Return the pdfLayerController that the PDFAnnotation comes from.
(PDFPluginAnnotationEventListener): Add an event listener to respond to "change" and "blur" events from m_element.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Added.
(WebKit::PDFPluginAnnotation::create): Create the appropriate PDFPluginAnnotation subclass (PDFPluginTextAnnotation or
PDFPluginChoiceAnnotation based on the class of the PDFAnnotation).
(WebKit::PDFPluginAnnotation::attach): Lazily create the HTML form element corresponding to this annotation. Add it to its parent
element. Add event listeners for "change" and "blur".
(WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Tear down the annotation, by removing event listeners and removing
the form element from its parent element.
(WebKit::PDFPluginAnnotation::updateGeometry): Update the size and position of the form element, given the current PDF scale and scrolling position.
(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): If we get a blur or change event, we should remove the
form control to match the behavior of PDFKit.
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h: Added.
(WebKit::PDFPluginChoiceAnnotation::choiceAnnotation): Return annotation() with the appropriate cast.
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: Added.
(WebKit::PDFPluginChoiceAnnotation::updateGeometry): Update the font size of the choice widget given the current PDF scale.
(WebKit::PDFPluginChoiceAnnotation::commit): Save the value of the currently selected <option> into the PDFAnnotationChoiceWidget.
(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Create a <select> element, populated with <option> elements
for the PDFAnnotationChoiceWidget's available choices. Select the correct <option> initially.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h: Added.
(WebKit::PDFPluginTextAnnotation::textAnnotation): Return annotation() with the appropriate cast.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Added.
(WebKit::cssAlignmentValueForNSTextAlignment): Return the CSS alignment value for a given NSTextAlignment.
(WebKit::PDFPluginTextAnnotation::createAnnotationElement): Create a <textarea> or <input> element, depending on whether the
PDFAnnotationTextWidget supports multiline editing or not.
(WebKit::PDFPluginTextAnnotation::updateGeometry): Update the font size of the text widget given the current PDF scale.
(WebKit::PDFPluginTextAnnotation::commit): Save the current string in the form element into the PDFAnnotationTextWidget.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::focusedPluginViewForFrame): Return the PluginView for a Frame only if the Plugin's element is focused.
(WebKit::WebPage::executeEditingCommand): Only forward editing commands to PluginView if the plugin itself is focused.
(WebKit::WebPage::isEditingCommandEnabled): Ditto.
(WebKit::WebPage::validateCommand): Ditto.
2012-10-30 Joseph Pecoraro <pecoraro@apple.com>
[Mac] Make WebKit2 Build with NETWORK_PROCESS disabled
https://bugs.webkit.org/show_bug.cgi?id=100798
Reviewed by David Kilzer.
Wrap a few remaining NetworkProcess files and related code in
ENABLE(NETWORK_PROCESS) guards to avoid being compiled when disabled.
* NetworkProcess/HostRecord.cpp:
* NetworkProcess/HostRecord.h:
* NetworkProcess/NetworkRequest.cpp:
* NetworkProcess/NetworkRequest.h:
* NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
* UIProcess/Network/NetworkProcessManager.cpp:
* UIProcess/Network/NetworkProcessManager.h:
Wrap files in guards.
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
Wrap NetworkProcess enum access in guards.
* WebProcess/WebKitMain.cpp:
(WebKitMain):
Wrap NetworkProcess enum switch case in guards.
* WebKit2Prefix.h:
Remove an extraneous close and reopen of the same guard.
2012-10-30 Jae Hyun Park <jae.park@company100.net>
Coordinated Graphics: Remove unused methods
https://bugs.webkit.org/show_bug.cgi?id=100799
Reviewed by Noam Rosenthal.
Currently, there are several unused methods regarding Coordinated
Graphics. This patch removes those unused methods.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/DrawingAreaProxy.h:
2012-10-30 Joseph Pecoraro <pecoraro@apple.com>
[Mac] Sync up FeatureDefine Configuration Files
https://bugs.webkit.org/show_bug.cgi?id=100171
Reviewed by David Kilzer.
Follow up to better coordinate with iOS feature defines. Make:
- ENABLE_FILTERS always on
- ENABLE_INPUT_* iphonesimulator values point to the iphoneos values
* Configurations/FeatureDefines.xcconfig:
2012-10-30 Joseph Pecoraro <pecoraro@apple.com>
[Mac] Sync up FeatureDefine Configuration Files
https://bugs.webkit.org/show_bug.cgi?id=100171
Reviewed by David Kilzer.
Ensure an identical FeatureDefine files across all projects. Changes:
- ENABLE_CSS_BOX_DECORATION_BREAK should be in all
- ENABLE_PDFKIT_PLUGIN should be in all
- ENABLE_RESOLUTION_MEDIA_QUERY should be in all
- ENABLE_ENCRYPTED_MEDIA should be in all
- ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING with corrected value
- Some alphabetical ordering cleanup
* Configurations/FeatureDefines.xcconfig:
2012-10-30 Christophe Dumez <christophe.dumez@intel.com>
Regression(r132887): Caused segfault in a EWK2UnitTestBase.ewk_view_text_find
https://bugs.webkit.org/show_bug.cgi?id=100781
Reviewed by Kenneth Rohde Christiansen.
Make sure we pass a pointer to zero instead of a NULL pointer
as parameter to the "text,found" in case the text could not
be found. This prevents crashing in
EWK2UnitTestBase.ewk_view_text_find when trying to dereference
the parameter pointer.
* UIProcess/efl/FindClientEfl.cpp:
(WebKit::FindClientEfl::didFailToFindString):
2012-10-30 Brady Eidson <beidson@apple.com>
Crash in WebProcess at com.apple.WebCore: WebCore::ResourceLoader::start
<rdar://problem/12596761> and https://webkit.org/b/100792
Reviewed by Tim Hatcher.
In release builds we can sometimes end up with a null ResourceLoader due to a race condition
with the WebProcess telling the NetworkProcess to remove a resource load at the very same time
the NetworkProcess is about to start that load.
Until we can resolve that race condition an early return will be necessary.
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::startResourceLoad):
2012-10-30 Jesse van den Kieboom <jessevdk@gnome.org>
Fixed transfer annotation for default web context
https://bugs.webkit.org/show_bug.cgi?id=94314
Reviewed by Martin Robinson.
Add a missing colon which prevented the transfer annotation of
webkit_web_context_get_default to be parsed correctly.
* UIProcess/API/gtk/WebKitWebContext.cpp:
2012-10-30 Anders Carlsson <andersca@apple.com>
Use the message name when dispatching messages
https://bugs.webkit.org/show_bug.cgi?id=100774
Reviewed by Andreas Kling.
Change the message generator to decide which function to call based on the message name instead
of the MessageID. This is yet another step towards eliminating MessageID completely.
* Scripts/webkit2/messages.py:
(async_message_statement):
(sync_message_statement):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::send):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
2012-10-29 Sam Weinig <sam@webkit.org>
Switch more class to use the new << form of encode
https://bugs.webkit.org/show_bug.cgi?id=100725
Reviewed by Anders Carlsson.
- Switches many uses of encoder.encode(foo) to encoder << foo.
- Switches a few places to take an ArgumentEncoder& rather than an ArgumentEncoder*.
- Switches a few places away from using encoder.encodeVariableLengthByteArray(foo) to
using encoder << CoreIPC::DataReference(foo).
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::handleMessage):
(CoreIPC::handleMessageVariadic):
* Platform/CoreIPC/StringReference.cpp:
(CoreIPC::StringReference::encode):
(CoreIPC::StringReference::decode):
* Platform/CoreIPC/mac/MachPort.h:
(CoreIPC::MachPort::encode):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::encode):
* PluginProcess/PluginCreationParameters.cpp:
(WebKit::PluginCreationParameters::encode):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::encode):
* Shared/EditorState.cpp:
(WebKit::EditorState::encode):
* Shared/FontInfo.cpp:
(WebKit::FontInfo::encode):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
* Shared/OriginAndDatabases.cpp:
(WebKit::OriginAndDatabases::encode):
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::encode):
* Shared/Plugins/NPIdentifierData.cpp:
(WebKit::NPIdentifierData::encode):
* Shared/Plugins/NPVariantData.cpp:
(WebKit::NPVariantData::encode):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode):
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::encode):
* Shared/SessionState.cpp:
(WebKit::SessionState::encode):
* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::Handle::encode):
* Shared/SharedWorkerProcessCreationParameters.cpp:
(WebKit::SharedWorkerProcessCreationParameters::encode):
* Shared/StatisticsData.cpp:
(WebKit::StatisticsData::encode):
* Shared/StringPairVector.h:
(WebKit::StringPairVector::encode):
* Shared/UpdateInfo.cpp:
(WebKit::UpdateInfo::encode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::encode):
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::encode):
* Shared/WebEvent.cpp:
(WebKit::WebEvent::encode):
* Shared/WebGestureEvent.cpp:
(WebKit::WebGestureEvent::encode):
* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::encode):
* Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::encode):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::encode):
* Shared/WebNavigationDataStore.h:
(WebKit::WebNavigationDataStore::encode):
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode):
* Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::encode):
* Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::encode):
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::encode):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
* Shared/WebTouchEvent.cpp:
(WebKit::WebTouchEvent::encode):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::encode):
* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::encode):
(CoreIPC::decode):
* Shared/cf/ArgumentCodersCF.h:
(CoreIPC):
* Shared/mac/ArgumentCodersMac.h:
(CoreIPC):
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::encode):
* Shared/mac/AttributedString.mm:
(WebKit::AttributedString::encode):
* Shared/mac/ColorSpaceData.mm:
(WebKit::ColorSpaceData::encode):
* Shared/mac/KeychainAttribute.cpp:
(CoreIPC::encode):
* Shared/mac/KeychainAttribute.h:
(CoreIPC):
* Shared/mac/LayerTreeContextMac.mm:
(WebKit::LayerTreeContext::encode):
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit::PlatformCertificateInfo::encode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::encode):
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::encode):
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::encode):
* Shared/mac/SecKeychainItemRequestData.cpp:
(WebKit::SecKeychainItemRequestData::encode):
(WebKit::SecKeychainItemRequestData::decode):
* Shared/mac/SecKeychainItemResponseData.cpp:
(WebKit::SecKeychainItemResponseData::encode):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::encodePlatformData):
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::encodeMessageBody):
* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageEncoder::encode):
* WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
(WebKit::InjectedBundleUserMessageEncoder::encode):
* WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::Parameters::encode):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::encodeMessageBody):
2012-10-29 Anders Carlsson <andersca@apple.com>
Build WebKit as C++11 on Mac
https://bugs.webkit.org/show_bug.cgi?id=100720
Reviewed by Daniel Bates.
* Configurations/Base.xcconfig:
Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x.
* UIProcess/mac/WebCookieManagerProxyMac.mm:
(WebKit::WebCookieManagerProxy::persistHTTPCookieAcceptPolicy):
* WebProcess/Cookies/mac/WebCookieManagerMac.mm:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
Add explicit casts to NSHTTPCookieAcceptPolicy.
2012-10-30 Sergio Villar Senin <svillar@igalia.com>
[WK2][Qt] Enable hover and mouse events in flickable WebView
https://bugs.webkit.org/show_bug.cgi?id=100296
Reviewed by Kenneth Rohde Christiansen.
Flickable WebView is now allowed to handle both hover and mouse
events. Flickable was initially meant to be the mobile interface and
was only handling touch events, but now the idea is that it will be
the WebView for both mobile and desktop environments.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize): refactored hover and mouse
event handling from children classes.
(QQuickWebViewLegacyPrivate::initialize):
(QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
2012-10-29 Anders Carlsson <andersca@apple.com>
String::createCFString should return a RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=100419
Reviewed by Andreas Kling.
Update callers of String::createCFString.
* Platform/mac/ModuleMac.mm:
(WebKit::Module::load):
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox):
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::getPluginInfo):
(WebKit::NetscapePluginModule::createPluginMIMETypesPreferences):
* UIProcess/cf/WebBackForwardListCF.cpp:
(WebKit::WebBackForwardList::createCFDictionaryRepresentation):
* UIProcess/cf/WebPageProxyCF.cpp:
(WebKit::WebPageProxy::sessionStateData):
(WebKit::autosaveKey):
(WebKit::WebPageProxy::saveRecentSearches):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::clearCacheForOrigin):
* WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::cachedResponseForURL):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformInitializeWebProcess):
2012-10-30 Kondapally Kalyan <kalyan.kondapally@intel.com>
Regression(r132647)-Enable WebGL in EwkView.
https://bugs.webkit.org/show_bug.cgi?id=100552.
Reviewed by Kenneth Rohde Christiansen.
WebGL is enabled with following changeset: http://trac.webkit.org/changeset/132627.
Some changes are lost after the following changeset: http://trac.webkit.org/changeset/132647
i.e setWebGLEnabled(true); in EwkViewImpl.cpp.
This patch re-applies the lost changes.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
2012-10-30 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt] Animations jump when the page is suspended
https://bugs.webkit.org/show_bug.cgi?id=100673
Reviewed by Kenneth Rohde Christiansen.
GraphicsLayerAnimations::pause() should accept time from start and not an offset.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addAnimation):
(WebCore::CoordinatedGraphicsLayer::pauseAnimation):
(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
2012-10-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Fix EFL build after r132887
https://bugs.webkit.org/show_bug.cgi?id=100748
Reviewed by Gyuyoung Kim.
Fixed EFL build failure with WTF_USE_TILED_BACKING_STORE enabled caused by http://trac.webkit.org/changeset/132887.
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
2012-10-30 Max Vujovic <mvujovic@adobe.com>
[CSS Shaders] Reject vertex shaders with custom attributes
https://bugs.webkit.org/show_bug.cgi?id=98973
Reviewed by Dean Jackson.
Replace CustomFilterOperation::MeshType with CustomFilterMeshType from
CustomFilterConstants.h.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
Read the shader strings directly from the CustomFilterProgram instead of asking for a
CustomFilterProgramInfo object. Also, encode the meshType earlier so that decoding can
can use it to create a WebCustomFilterProgram, which now requires a meshType.
(CoreIPC::::decode):
Decode the meshType earlier to pass it to the new WebCustomFilterProgram constructor.
* Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
(WebKit::WebCustomFilterProgram::create):
Add a meshType parameter to pass to the base class constructor.
(WebKit::WebCustomFilterProgram::WebCustomFilterProgram): Ditto.
2012-10-30 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Remove ViewportUpdateDeferrer from PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=100665
Reviewed by Jocelyn Turcotte.
Since the original use case of delayed viewport updates and the issue
of infinite loop conditions between the programmatic adjustmet of the
viewport and the Qt notification signals are not present any more the
ViewportUpdateDeferrer became an unnecessary legacy and can be removed.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::pageDidRequestScroll):
* UIProcess/PageViewportController.h:
(WebKit):
(PageViewportController):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
(WebKit::PageViewportControllerClientQt::animateContentRectVisible):
(WebKit::PageViewportControllerClientQt::flickMoveStarted):
(WebKit::PageViewportControllerClientQt::flickMoveEnded):
(WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
(WebKit::PageViewportControllerClientQt::touchBegin):
(WebKit::PageViewportControllerClientQt::touchEnd):
(WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
(WebKit::PageViewportControllerClientQt::pinchGestureStarted):
(WebKit::PageViewportControllerClientQt::pinchGestureEnded):
(WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):
2012-10-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Simplify signal emitting API in EwkViewImpl
https://bugs.webkit.org/show_bug.cgi?id=100506
Reviewed by Kenneth Rohde Christiansen.
Now signal emitting API in EwkViewImpl is simplified so that
there is one EwkViewImpl::smartCallback template method
returning EwkViewCallbacks::CallBack class instance
which encapsulates Ewk_view callback info and also provide
arguments type checking.
* UIProcess/API/efl/EwkViewCallbacks.h: Added.
(EwkViewCallbacks):
(CallBackInfo):
(EwkViewCallbacks::CallBackInfo::name):
(EwkViewCallbacks::CallBackInfo::hasArguments):
(CallBack):
(EwkViewCallbacks::CallBack::CallBack):
(EwkViewCallbacks::CallBack::call):
* UIProcess/API/efl/EwkViewImpl.cpp:
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
(EwkViewImpl::smartCallback):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
* UIProcess/efl/FindClientEfl.cpp:
(WebKit::FindClientEfl::didFindString):
(WebKit::FindClientEfl::didFailToFindString):
* UIProcess/efl/FormClientEfl.cpp:
(WebKit::FormClientEfl::willSubmitForm):
* UIProcess/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::processDidCrash):
(WebKit::PageClientImpl::toolTipChanged):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
(WebKit::PageLoadClientEfl::didChangeProgress):
(WebKit::PageLoadClientEfl::didFinishLoadForFrame):
(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
(WebKit::PageLoadClientEfl::didChangeBackForwardList):
* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
* UIProcess/efl/ResourceLoadClientEfl.cpp:
(WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
(WebKit::ResourceLoadClientEfl::didSendRequestForResource):
(WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
(WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
(WebKit::ResourceLoadClientEfl::didFailLoadForResource):
(WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
(WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
2012-10-30 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Coordinated Graphics: Unrelease adopted images
https://bugs.webkit.org/show_bug.cgi?id=100671
Reviewed by Kenneth Rohde Christiansen.
Reloading could cause a crash since r132640 where the directly composited
image would be re-adopted with the same key before it was properly released
in the UI process.
Cancel the release when this happens rather than creating a new image.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
2012-10-30 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Let Ecore_Evas own the cursor object
https://bugs.webkit.org/show_bug.cgi?id=100731
Reviewed by Kenneth Rohde Christiansen.
Ecore_Evas takes care of calling evas_object_del() on
the cursor object when it is no longer used (e.g. when
it is replaced by another cursor object). Therefore,
we don't need to keep a RefPtr to the cursor Evas
Object as a data member of EwkViewImpl. We pass
ownership of the cursor object to Ecore_Evas.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::setCursor):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
2012-10-30 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Simplify getting impl from ewk_view evas object instance
https://bugs.webkit.org/show_bug.cgi?id=100505
Reviewed by Kenneth Rohde Christiansen.
Macros are removed from EwkViewImpl.h. New macro added to EwkViewImpl.cpp
so that it's possible to get impl directly from ewk view.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_focus_in):
(_ewk_view_smart_focus_out):
(mapToWebContent):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_smart_key_down):
(_ewk_view_smart_key_up):
(_ewk_view_on_show):
(_ewk_view_on_hide):
(_ewk_view_smart_calculate):
(_ewk_view_smart_color_set):
(ewk_view_context_get):
(ewk_view_url_set):
(ewk_view_url_get):
(ewk_view_icon_url_get):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_stop):
(ewk_view_settings_get):
(ewk_view_title_get):
(ewk_view_load_progress_get):
(ewk_view_scale_set):
(ewk_view_scale_get):
(ewk_view_device_pixel_ratio_set):
(ewk_view_device_pixel_ratio_get):
(ewk_view_theme_set):
(ewk_view_theme_get):
(ewk_view_back):
(ewk_view_forward):
(ewk_view_intent_deliver):
(ewk_view_back_possible):
(ewk_view_forward_possible):
(ewk_view_back_forward_list_get):
(ewk_view_html_string_load):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
(ewk_view_text_matches_count):
(ewk_view_mouse_events_enabled_set):
(ewk_view_mouse_events_enabled_get):
(ewk_view_feed_touch_event):
(ewk_view_touch_events_enabled_set):
(ewk_view_touch_events_enabled_get):
(ewk_view_inspector_show):
(ewk_view_inspector_close):
(ewk_view_pagination_mode_set):
(ewk_view_pagination_mode_get):
2012-10-30 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Remove incorrect use of preprocessor macro in API headers.
https://bugs.webkit.org/show_bug.cgi?id=100722
Reviewed by Gyuyoung Kim.
Remove the preprocessor macro ENABLE(INSPECTOR) from the WKAPICast.h
and WKInspector.h.
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKInspector.cpp:
(WKInspectorGetTypeID):
(WKInspectorGetPage):
(WKInspectorIsVisible):
(WKInspectorIsFront):
(WKInspectorShow):
(WKInspectorClose):
(WKInspectorShowConsole):
(WKInspectorShowResources):
(WKInspectorShowMainResourceForFrame):
(WKInspectorIsAttached):
(WKInspectorAttach):
(WKInspectorDetach):
(WKInspectorIsDebuggingJavaScript):
(WKInspectorToggleJavaScriptDebugging):
(WKInspectorIsProfilingJavaScript):
(WKInspectorToggleJavaScriptProfiling):
(WKInspectorIsProfilingPage):
(WKInspectorTogglePageProfiling):
* UIProcess/API/C/WKInspector.h:
2012-10-29 Sergio Villar Senin <svillar@igalia.com>
REGRESSION(r130755): All WebKit2 unit tests are failing in WebKit2 bot
https://bugs.webkit.org/show_bug.cgi?id=98864
Reviewed by Martin Robinson.
Use a dedicated directory to store WebKit2 generated resources.
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestMain.cpp:
(registerGResource): load the resource from the new directory.
2012-10-29 Huang Dongsung <luxtella@company100.net>
Coordinated Graphics: Delete cached ShareableSurfaces when purging backingStores.
https://bugs.webkit.org/show_bug.cgi?id=100705
Reviewed by Noam Rosenthal.
LayerTreeCoordinatorProxy can be used after calling
LayerTreeCoordinatorProxy::purgeBackingStores(). So we should clear cached
ShareableSurfaces.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
2012-10-28 Mark Rowe <mrowe@apple.com>
Simplify Xcode configuration settings that used to vary between OS versions.
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig:
* Configurations/WebKit2.xcconfig:
2012-10-28 Mark Rowe <mrowe@apple.com>
Remove references to unsupported OS and Xcode versions.
Reviewed by Anders Carlsson.
* Configurations/Base.xcconfig:
* Configurations/CompilerVersion.xcconfig: Removed.
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* DerivedSources.make:
* WebKit2.xcodeproj/project.pbxproj:
2012-10-29 Alexey Proskuryakov <ap@apple.com>
[WK2] Add a NetworkingContext for NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=100708
Reviewed by Anders Carlsson.
Each request will have a context, because these are so lightweight on Mac, and
other platforms will need ResourceHandle refactored anyway to use NetworkProcess.
* NetworkProcess/mac/RemoteNetworkingContext.h: Added.
* NetworkProcess/mac/RemoteNetworkingContext.mm: Added.
These go mac/ subdirectory, because NetworkingContext interface is different on
each platform, as ResourceHandle needs dictate.
* WebKit2.xcodeproj/project.pbxproj:
2012-10-29 Michael Saboff <msaboff@apple.com>
buildHTTPHeaders() should use a StringBuilder.appendLiteral() for separator
https://bugs.webkit.org/show_bug.cgi?id=100689
Reviewed by Darin Adler.
Changed from using a String temporary for the separator to using StringBuilder.appendLiteral(": ").
* WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
2012-10-29 Michael Saboff <msaboff@apple.com>
WKStringCopyCFString() should directly use 8 bit Strings data instead of up converting
https://bugs.webkit.org/show_bug.cgi?id=100579
Reviewed by Oliver Hunt.
Changed to use CFStringCreateWithBytes() for 8 bit strings using characters8() for an 8 bit argument string.
Changed the current call to characters16().
* Shared/API/c/cf/WKStringCF.cpp:
(WKStringCopyCFString):
2012-10-29 Enrica Casucci <enrica@apple.com>
Add ENABLE_USERSELECT_ALL feature flag.
https://bugs.webkit.org/show_bug.cgi?id=100559
Reviewed by Eric Seidel.
* Configurations/FeatureDefines.xcconfig:
2012-10-29 Christophe Dumez <christophe.dumez@intel.com>
[WK2][WKTR] Enable Shadow DOM at runtime if compiled with SHADOW_DOM support
https://bugs.webkit.org/show_bug.cgi?id=100668
Reviewed by Kenneth Rohde Christiansen.
Add Bundle API to enable Shadow DOM functionality. This is
now needed by WebKitTestRunner.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetShadowDOMEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setShadowDOMEnabled):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
2012-10-29 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Fix cursor change detection in EwkViewImpl::setCursor()
https://bugs.webkit.org/show_bug.cgi?id=100662
Reviewed by Kenneth Rohde Christiansen.
Cursor change detection in EwkViewImpl::setCursor() relies on
addresses returned by Cursor::platformCursor(). However, the
value returned is currently assigned to a WKEinaSharedString
instead of a raw pointer. Therefore, the address is always
different and we keep recreating Evas Objects for the same
cursor.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::setCursor): Call smartData() after same cursor
detection since it is not needed if the cursor has not changed
and it may affect performance.
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
2012-10-29 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Coordinated Graphics: Make sure that we release images immediately when purging resources
https://bugs.webkit.org/show_bug.cgi?id=100661
Reviewed by Noam Rosenthal.
When we purge, we do both on the UI and web process at the same time,
both are expected to release references of the other process.
This creates problem when delaying the release of directly composited
images.
Release them immediately in that case.
Fixes the tst_QQuickWebView::removeFromCanvas API test.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::purgeReleasedImages):
(WebKit):
(WebKit::LayerTreeCoordinator::purgeBackingStores):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-10-29 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Avoid useless assignment in EwkViewImpl::setCustomTextEncodingName()
https://bugs.webkit.org/show_bug.cgi?id=100667
Reviewed by Kenneth Rohde Christiansen.
Remove useless m_customEncoding assignment in EwkViewImpl::setCustomTextEncodingName()
since the member is anyway assigned in EwkViewImpl::customTextEncodingName().
Have EwkViewImpl::setCustomTextEncodingName() take a String in argument instead
of a const char* to make the API more C++ and since we don't need a const char*
to assign to m_customEncoding anymore.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::setCustomTextEncodingName):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_setting_encoding_custom_set):
2012-10-29 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[WK2] Enable delegated scrolling as soon as the FrameView is created when using fixed layout
https://bugs.webkit.org/show_bug.cgi?id=100383
Reviewed by Kenneth Rohde Christiansen.
Scroll requests and PageTransitionViewportReady messages depend on
delegated scrolling being set properly on the FrameView to behave
properly. Since we were waiting for the viewport information to be
ready before setting the flag this could cause those messages to be avoided.
This patch takes most of the flag set by setResizesToContentsUsingLayoutSize
and apply them as soon as possible in WebPage::setUseFixedLayout and
WebFrameLoaderClient::transitionToCommittedForNewPage.
The behavior should be the same except for the following settings which are
now set outside of USE(TILED_BACKING_STORE) if we're using fixed layout:
- setAcceleratedCompositingForFixedPositionEnabled
- setFixedElementsLayoutRelativeToFrame
- setFixedPositionCreatesStackingContext
This fixes the tst_QQuickWebView::scrollRequest auto test and improves the
reliability of the loadVisuallyCommitted signal with pages loaded from disk.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
(WebKit::WebPage::setUseFixedLayout):
(WebKit::WebPage::setFixedLayoutSize):
* WebProcess/WebPage/WebPage.h:
(WebPage):
2012-10-29 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Unreviewed build fix after r132709.
* Shared/WebMemorySampler.cpp: Include unistd.h for getpid(3).
2012-10-28 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Fix the incorrect use of preprocessor statement in API header.
https://bugs.webkit.org/show_bug.cgi?id=100610
Reviewed by Timothy Hatcher.
Remove the preprocessor statement to check 'ENABLE_INSPECTOR' feature
from the WKPage.h.
* UIProcess/API/C/WKPage.cpp:
(WKPageGetInspector):
* UIProcess/API/C/WKPage.h:
2012-10-28 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Viewport size does not change when the window size changes
https://bugs.webkit.org/show_bug.cgi?id=100573
Reviewed by Kenneth Rohde Christiansen.
The viewport size is set when we create the window the first time
and does not change automatically afterwards. When we change the window size,
we need to explicitly change the viewport size as well.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
2012-10-27 Noam Rosenthal <noam.rosenthal@nokia.com>
Unreviewed build fix for breakage to minimal bot caused by r132742.
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
Added appropriate ENABLE(REQUEST_ANIMATION_FRAME) flag.
2012-10-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r132740.
http://trac.webkit.org/changeset/132740
https://bugs.webkit.org/show_bug.cgi?id=100603
"Causing many crashes" (Requested by weinig on #webkit).
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::DownloadProxy):
(WebKit::DownloadProxy::invalidate):
(WebKit):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createDownloadProxy):
(WebKit::WebContext::downloadFinished):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebKit):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::~WebPageProxy):
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebPageProxy.h:
(CoreIPC):
(WebPageProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::~WebPageGroupProxy):
(WebKit):
(WebKit::WebPageGroupProxy::didReceiveMessage):
(WebKit::WebPageGroupProxy::WebPageGroupProxy):
* WebProcess/WebPage/WebPageGroupProxy.h:
(CoreIPC):
(WebPageGroupProxy):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
2012-10-27 Noam Rosenthal <noam.rosenthal@nokia.com>
Coordinated Graphics: Animation jerkiness when rAF is enabled
https://bugs.webkit.org/show_bug.cgi?id=100536
Reviewed by Kenneth Rohde Christiansen.
The jerkiness comes from the fact that we schedule animations excessively; That's because
the previous patch broke requestAnimationFrame behavior during CSS animations, since the
frame returns right away instead of waiting till the previous frame is actually rendered.
This patch makes sure that when animations are scheduled, they're only serviced after the
UI process has actually painted the previous frame. We do so by sending a
RequestAnimationFrame message to the UI process, which responds with AnimationFrameReady
after the UI process paints.
New test: fast/animations/request-animation-frame-too-rapid.html
Tests that we don't receive an unreasonably high number of callbacks from
requestAnimationFrame (> 1000FPS).
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::requestAnimationFrame):
(WebKit::LayerTreeCoordinatorProxy::animationFrameReady):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit):
(WebKit::LayerTreeRenderer::animationFrameReady):
(WebKit::LayerTreeRenderer::requestAnimationFrame):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit):
(WebKit::LayerTreeCoordinator::scheduleAnimation):
(WebKit::LayerTreeCoordinator::animationFrameReady):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in:
2012-10-27 Sam Weinig <sam@webkit.org>
Yet more MessageReceivering
https://bugs.webkit.org/show_bug.cgi?id=100325
Reviewed by Anders Carlsson.
Make DownloadProxy, WebPageProxy, and WebPageGroupProxy MessageReceivers.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::DownloadProxy):
(WebKit::DownloadProxy::invalidate):
(WebKit::DownloadProxy::didReceiveMessage):
(WebKit::DownloadProxy::didReceiveSyncMessage):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
Make a MessageReceiver.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::addMessageReceiver):
(WebKit::WebContext::removeMessageReceiver):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
Add additional MessageReceiverMap forwards, and stop dealing with DownloadProxy explicitly.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::~WebPageProxy):
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebPageProxy.h:
Make a MessageReceiver, but keep sub objects using didReceiveMessage for now (like WebPage).
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addMessageReceiver):
(WebKit::WebProcessProxy::removeMessageReceiver):
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
Give WebProcessProxy a MessageReceiverMap and all the appropriate forwarding methods.
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::WebPageGroupProxy):
(WebKit::WebPageGroupProxy::~WebPageGroupProxy):
(WebKit::WebPageGroupProxy::didReceiveMessage):
* WebProcess/WebPage/WebPageGroupProxy.h:
(WebKit::WebPageGroupProxy::isVisibleToHistoryClient):
(WebPageGroupProxy):
Make a MessageReceiver and register/unregister with the WebProcess.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
Remove extraneous return statement.
(WebKit::WebProcess::didReceiveMessage):
Stop handling WebPageGroupProxy special.
2012-10-27 Sam Weinig <sam@webkit.org>
Completely roll out https://bugs.webkit.org/show_bug.cgi?id=99251 (r131686)
It has caused too many crashes.
* UIProcess/API/mac/PageClientImpl.mm:
* UIProcess/API/mac/WKView.mm:
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/mac/WKViewPrivate.h:
* UIProcess/mac/CorrectionPanel.mm:
* UIProcess/mac/WKFullScreenWindowController.mm:
* UIProcess/mac/WebFullScreenManagerProxyMac.mm:
2012-10-27 Michael Saboff <msaboff@apple.com>
buildHTTPHeaders() should use a StringBuilder instead of a Vector<UChar>
https://bugs.webkit.org/show_bug.cgi?id=100580
Reviewed by Oliver Hunt.
Replaced Vector<UChar> with StringBuilder in the HTTP header construction function buildHTTPHeaders.
This eliminates 8 -> 16 bit up conversion of the strings involved.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
2012-10-27 Dan Bernstein <mitz@apple.com>
REAL_PLATFORM_NAME build setting is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=100587
Reviewed by Mark Rowe.
Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references
to PLATFORM_NAME.
* Configurations/Base.xcconfig:
* Configurations/BaseTarget.xcconfig:
* Configurations/CompilerVersion.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/WebKit2.xcconfig:
2012-10-26 Brady Eidson <beidson@apple.com>
Have NetworkProcess manage resource load scheduling.
https://bugs.webkit.org/show_bug.cgi?id=100479
Reviewed by Alexey Proskuryakov.
Implement a ResourceLoadScheduler that models the same behavior as WebCore::ResourceLoadScheduler.
The WebProcess scheduler acts as a marshall to the NetworkProcess scheduler via CoreIPC messaging.
Besides MainResourceLoads which are started directly in the WebProcess, all other loads are now
started only when the NetworkProcess tells them to start.
Build-system and messaging related stuff:
* DerivedSources.make:
* Platform/CoreIPC/MessageID.h:
* WebKit2.xcodeproj/project.pbxproj:
Add a new Network logging channel.
* Platform/Logging.cpp:
(WebKit::getChannelFromName):
* Platform/Logging.h:
Modeled after ResourceLoadScheduler::HostInformation but more specifically geared towards what NetworkProcess needs to track:
* NetworkProcess/HostRecord.cpp: Added.
(WebKit::HostRecord::HostRecord):
(WebKit::HostRecord::~HostRecord):
(WebKit::HostRecord::schedule):
(WebKit::HostRecord::addLoadInProgress):
(WebKit::HostRecord::remove):
(WebKit::HostRecord::hasRequests):
(WebKit::HostRecord::limitRequests):
* NetworkProcess/HostRecord.h:
(WebKit::HostRecord::name):
(WebKit::HostRecord::requestsPending):
Gateway messaging from the WebResourceLoadScheduler to the NetworkResourceLoadScheduler:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::registerObserver):
(WebKit::NetworkConnectionToWebProcess::unregisterObserver):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest):
(WebKit::NetworkConnectionToWebProcess::addLoadInProgress):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
(WebKit::NetworkConnectionToWebProcess::crossOriginRedirectReceived):
(WebKit::NetworkConnectionToWebProcess::servePendingRequests):
(WebKit::NetworkConnectionToWebProcess::suspendPendingRequests):
(WebKit::NetworkConnectionToWebProcess::resumePendingRequests):
(WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcessObserver): Add an observer interface so arbitrary objects can be notified if
a Network->WebProcess connection closes.
(WebKit::NetworkConnectionToWebProcessObserver::~NetworkConnectionToWebProcessObserver):
(WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled):
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
Represents a request, ResourceLoadIdentifier, and connection that all correspond to the same pending NetworkLoad:
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::NetworkRequest):
(WebKit::NetworkRequest::~NetworkRequest):
(WebKit::NetworkRequest::connectionToWebProcessDidClose): Using the NetworkConnectionToWebProcessObserver interface,
if the connection closes then clear out the connection pointer for this request that is now irrelevant.
* NetworkProcess/NetworkRequest.h:
(WebKit::NetworkRequest::create):
(WebKit::NetworkRequest::identifier):
(WebKit::NetworkRequest::connectionToWebProcess):
Manages connection-per-host scheduling with the same structure as WebCore::ResourceLoadScheduling but also with IPC:
* NetworkProcess/NetworkResourceLoadScheduler.cpp: Added.
(WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
(WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests):
(WebKit::NetworkResourceLoadScheduler::requestTimerFired):
(WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
(WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
(WebKit::NetworkResourceLoadScheduler::hostForURL):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve as many requests for the host as we should,
skipping the NetworkRequests who have lost their connection to their WebProcess.
(WebKit::NetworkResourceLoadScheduler::suspendPendingRequests):
(WebKit::NetworkResourceLoadScheduler::resumePendingRequests):
* NetworkProcess/NetworkResourceLoadScheduler.h: Added.
* NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: Added.
(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::networkResourceLoadScheduler): Add a scheduler global to the NetworkProcess.
A thin derivation of WebCore::ResourceLoadScheduler, most of what WebResourceLoadScheduler does is handle IPC to the NetworkProcess:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebKit::WebResourceLoadScheduler::scheduleLoad):
(WebKit::WebResourceLoadScheduler::addMainResourceLoad):
(WebKit::WebResourceLoadScheduler::remove):
(WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived):
(WebKit::WebResourceLoadScheduler::servePendingRequests):
(WebKit::WebResourceLoadScheduler::suspendPendingRequests):
(WebKit::WebResourceLoadScheduler::resumePendingRequests):
(WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
(WebKit::WebResourceLoadScheduler::startResourceLoad):
* WebProcess/Network/WebResourceLoadScheduler.h:
Add the ability for the NetworkProcess to message back to the WebProcess telling it to start a resource load:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
(WebKit::NetworkProcessConnection::startResourceLoad):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::resourceLoadScheduler): Only return the WebResourceLoadScheduler if NetworkProcess is enabled.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureNetworkProcessConnection): Actually keep the NetworkProcessConnection around in a member variable.
(WebKit::WebProcess::networkConnection):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::usesNetworkProcess): Expose this for platform strategies sake.
2012-10-26 Brady Eidson <beidson@apple.com>
Crash in WebProces at WebCore::ResourceLoadScheduler::crossOriginRedirectReceived + 78
https://bugs.webkit.org/show_bug.cgi?id=100554
Reviewed by Alexey Proskuryakov.
For now, just have WebPlatformStrategies return the same default resourceLoadScheduler that
WebCore knows about.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::resourceLoadScheduler):
2012-10-26 Anders Carlsson <andersca@apple.com>
Crash when making NPRuntime calls with a null NPP pointer
https://bugs.webkit.org/show_bug.cgi?id=100569
<rdar://problem/11726426>
<rdar://problem/12352836>
Reviewed by Darin Adler.
Finally bite the bullet and remove the assertion from NetscapePlugin::fromNPP. The WebKit1 equivalent of this
function used to return the plug-in currently being initialized in NPP_New, but we've never done that in WebKit2
and it has never been necessary. The crashes fixed here are not from calls underneath NPP_New so fixing it wouldn't
do us any good anyway.
Also, make the PluginDestructionProtector handle a null plug-in gracefully.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::PluginDestructionProtector::PluginDestructionProtector):
(PluginDestructionProtector):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::fromNPP):
2012-10-26 Stephanie Lewis <slewis@apple.com>
Add pids to WebMemorySampleFiles.
https://bugs.webkit.org/show_bug.cgi?id=100449.
Reviewed by Tim Horton.
Make it easier to associate WebMemorySamples with a process. Add the pid to the filename and header.
* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::initializeTimers): Update notification.
(WebKit::WebMemorySampler::stop): Update notification.
(WebKit::WebMemorySampler::writeHeaders): dump pid in the header.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::processDidFinishLaunching): append pid to filename.
2012-10-26 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Build fix after r132647.
https://bugs.webkit.org/show_bug.cgi?id=100540
Reviewed by Kenneth Rohde Christiansen.
AC enabled build is broken after the latest refactoring of EFL WK2.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::informLoadCommitted):
(EwkViewImpl::createGLSurface):
(EwkViewImpl::enterAcceleratedCompositingMode):
(EwkViewImpl::exitAcceleratedCompositingMode):
(EwkViewImpl::informContentsSizeChange):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
(EwkViewImpl::pageViewportControllerClient):
(EwkViewImpl::pageViewportController):
(EwkViewImpl::evasGl):
(EwkViewImpl::evasGlContext):
(EwkViewImpl::evasGlSurface):
(EwkViewImpl::resetEvasGlSurface):
* UIProcess/API/efl/ewk_view.cpp:
(mapToWebContent):
(_ewk_view_smart_calculate):
2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Get rid of C'ism in text checker API
https://bugs.webkit.org/show_bug.cgi?id=100513
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Text_Checker a C++ class and move the
WebKitTextChecker code to this new class. This
gets rid of the C'ism in the text checker code
and make it consistent with other Ewk classes.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
* UIProcess/API/efl/ewk_settings.cpp:
(spellCheckingLanguagesSetUpdate):
(ewk_settings_continuous_spell_checking_enabled_set):
(ewk_settings_spell_checking_available_languages_get):
(ewk_settings_spell_checking_languages_get):
* UIProcess/API/efl/ewk_text_checker.cpp:
(ClientCallbacks):
(textCheckerEnchant):
(clientCallbacks):
(isContinuousSpellCheckingEnabled):
(setContinuousSpellCheckingEnabled):
(uniqueSpellDocumentTag):
(closeSpellDocumentWithTag):
(checkSpellingOfString):
(guessesForWord):
(learnWord):
(ignoreWord):
(Ewk_Text_Checker):
(Ewk_Text_Checker::availableSpellCheckingLanguages):
(Ewk_Text_Checker::updateSpellCheckingLanguages):
(Ewk_Text_Checker::loadedSpellCheckingLanguages):
(Ewk_Text_Checker::initialize):
* UIProcess/API/efl/ewk_text_checker_private.h:
(Ewk_Text_Checker):
* UIProcess/efl/WebKitTextChecker.cpp: Removed.
* UIProcess/efl/WebKitTextChecker.h: Removed.
2012-10-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Clean up construction/destruction code in Ewk_view
https://bugs.webkit.org/show_bug.cgi?id=100232
Reviewed by Kenneth Rohde Christiansen.
Simplified a lot of initialization and destruction code of Ewk_view and EwkViewImpl
put all the impl stuff to its constructor and destructor, also made EwkViewImpl member
variables private.
* UIProcess/API/efl/EwkViewImpl.cpp:
(pageViewMap):
(EwkViewImpl::addToPageViewMap):
(EwkViewImpl::removeFromPageViewMap):
(EwkViewImpl::viewFromPageViewMap):
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::~EwkViewImpl):
(EwkViewImpl::wkPage):
(EwkViewImpl::title):
(EwkViewImpl::setThemePath):
(EwkViewImpl::customTextEncodingName):
(EwkViewImpl::setCustomTextEncodingName):
(EwkViewImpl::informIconChange):
(EwkViewImpl::informWebProcessCrashed):
(EwkViewImpl::updateTextInputState):
(EwkViewImpl::informURLChange):
(EwkViewImpl::onFaviconChanged):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
(EwkViewImpl::view):
(EwkViewImpl::page):
(EwkViewImpl::ewkContext):
(EwkViewImpl::backForwardList):
* UIProcess/API/efl/ewk_settings.cpp:
(Ewk_Settings::preferences):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_focus_in):
(_ewk_view_smart_focus_out):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_smart_key_down):
(_ewk_view_smart_key_up):
(_ewk_view_on_show):
(_ewk_view_on_hide):
(_ewk_view_smart_add):
(_ewk_view_smart_del):
(_ewk_view_smart_calculate):
(_ewk_view_smart_color_set):
(createEwkViewSmartClass):
(createEwkView):
(ewk_view_base_add):
(ewk_view_smart_add):
(ewk_view_add_with_context):
(ewk_view_url_set):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_stop):
(ewk_view_load_progress_get):
(ewk_view_scale_set):
(ewk_view_scale_get):
(ewk_view_device_pixel_ratio_set):
(ewk_view_device_pixel_ratio_get):
(ewk_view_back):
(ewk_view_forward):
(ewk_view_intent_deliver):
(ewk_view_back_possible):
(ewk_view_forward_possible):
(ewk_view_back_forward_list_get):
(ewk_view_html_string_load):
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
(ewk_view_text_matches_count):
(ewk_view_feed_touch_event):
(ewk_view_inspector_show):
(ewk_view_inspector_close):
(ewk_view_pagination_mode_set):
(ewk_view_pagination_mode_get):
2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Initialize Ewk_Context class members in initialization list
https://bugs.webkit.org/show_bug.cgi?id=100503
Reviewed by Kenneth Rohde Christiansen.
Move Ewk_Context class members initialization from the
constructor body to the initialization list for
efficiency.
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
2012-10-26 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
LayerTreeCoordinator: Make sure that dependent layers are deleted before their directly composited image
https://bugs.webkit.org/show_bug.cgi?id=100495
Reviewed by Kenneth Rohde Christiansen.
Since r128980 layers removals are delayed until we flush the layer tree.
This causes a crash if such a layer had a directly composited image since
the image is now deleted while the layer is still active in the UI process
and tries to access a deleted backing store.
Fix it by delaying the directly composited image removal as well.
Fixes a crash in tst_QQuickWebView::basicRenderingSanity since showWebView is
called first and loads direct-image-compositing.html.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer): Remove unused variable.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-10-26 Regina Chung <heejin.r.chung@samsung.com>
[EFL][WK2] Enable WebGL
https://bugs.webkit.org/show_bug.cgi?id=97652
Reviewed by Gyuyoung Kim.
Set WebGLEnabled to true when WebGL is enabled.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_initialize):
2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add Ewk_Color_Picker API
https://bugs.webkit.org/show_bug.cgi?id=100472
Reviewed by Kenneth Rohde Christiansen.
Move the color picker code out of EwkViewImpl and into
a new Ewk_Color_Picker class to avoid cluttering the
view code.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::requestColorPicker):
(EwkViewImpl::dismissColorPicker):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_color_picker.cpp: Added.
(Ewk_Color_Picker::Ewk_Color_Picker):
(Ewk_Color_Picker::setColor):
(Ewk_Color_Picker::color):
(ewk_color_picker_color_set):
(ewk_color_picker_color_get):
* UIProcess/API/efl/ewk_color_picker.h: Added.
* UIProcess/API/efl/ewk_color_picker_private.h: Added.
(Ewk_Color_Picker):
(Ewk_Color_Picker::create):
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Added.
(onColorPickerDone):
(setColorPickerColor):
(showColorPicker):
(hideColorPicker):
(hideColorPickerByRemovingElement):
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::showColorPicker):
2012-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r132601.
http://trac.webkit.org/changeset/132601
https://bugs.webkit.org/show_bug.cgi?id=100494
It broke the Qt build (Requested by Ossy on #webkit).
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_initialize):
2012-10-26 Regina Chung <heejin.r.chung@samsung.com>
[EFL][WK2] Enable WebGL
https://bugs.webkit.org/show_bug.cgi?id=97652
Reviewed by Gyuyoung Kim.
Set WebGLEnabled to true when WebGL is enabled.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_initialize):
2012-10-26 Thiago Marcos P. Santos <thiago.santos@intel.com>
Add feature flags for CSS Device Adaptation
https://bugs.webkit.org/show_bug.cgi?id=95960
Reviewed by Kenneth Rohde Christiansen.
* Configurations/FeatureDefines.xcconfig:
2012-10-26 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Move input method code out of EwkViewImpl
https://bugs.webkit.org/show_bug.cgi?id=100468
Reviewed by Kenneth Rohde Christiansen.
Move input method code out of EwkViewImpl and into
a new InputMethodContextEfl class to avoid cluttering
the view code.
* PlatformEfl.cmake:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::inputMethodContext):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_key_down):
* UIProcess/efl/InputMethodContextEfl.cpp: Added.
(WebKit):
(WebKit::InputMethodContextEfl::InputMethodContextEfl):
(WebKit::InputMethodContextEfl::~InputMethodContextEfl):
(WebKit::InputMethodContextEfl::onIMFInputSequenceComplete):
(WebKit::InputMethodContextEfl::onIMFPreeditSequenceChanged):
(WebKit::InputMethodContextEfl::createIMFContext):
(WebKit::InputMethodContextEfl::handleMouseUpEvent):
(WebKit::InputMethodContextEfl::handleKeyDownEvent):
(WebKit::InputMethodContextEfl::updateTextInputState):
* UIProcess/efl/InputMethodContextEfl.h: Added.
(WebKit):
(InputMethodContextEfl):
(WebKit::InputMethodContextEfl::create):
* UIProcess/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::updateTextInputState):
2012-10-26 Jaehun Lim <ljaehun.lim@samsung.com>
Implement {get,set}FloatValueForKey
https://bugs.webkit.org/show_bug.cgi?id=100452
Reviewed by Anders Carlsson.
Implement missing functions in WebPreferencesStore.
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::setFloatValueForKey):
(WebKit):
(WebKit::WebPreferencesStore::getFloatValueForKey):
2012-10-25 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Use per destination ID message receivers for DownloadProxy.
https://bugs.webkit.org/show_bug.cgi?id=100342
Reviewed by Anders Carlsson.
Per destination ID message receivers were proposed in r132386.
IPC messages of DownloadProxy use download ID for destination ID,
so the messages should be handled by the messsage receiver that was
newly proposed.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::createDownloadProxy):
(WebKit::WebContext::downloadFinished):
(WebKit::WebContext::addMessageReceiver):
(WebKit):
(WebKit::WebContext::removeMessageReceiver):
* UIProcess/WebContext.h:
(WebContext):
2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add Ewk_Popup_Menu API
https://bugs.webkit.org/show_bug.cgi?id=100404
Reviewed by Kenneth Rohde Christiansen.
Add new Ewk_Popup_Menu API to complete the existing
Ewk_Popup_Menu_Item one. This way, we can move the
popup menu code out of Ewk_View.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::~EwkViewImpl):
(EwkViewImpl::requestPopupMenu):
(EwkViewImpl::closePopupMenu):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/API/efl/ewk_popup_menu.cpp: Added.
(Ewk_Popup_Menu::Ewk_Popup_Menu):
(Ewk_Popup_Menu::~Ewk_Popup_Menu):
(Ewk_Popup_Menu::close):
(Ewk_Popup_Menu::items):
(Ewk_Popup_Menu::selectedIndex):
(Ewk_Popup_Menu::setSelectedIndex):
(ewk_popup_menu_close):
(ewk_popup_menu_selected_index_set):
(ewk_popup_menu_selected_index_get):
(ewk_popup_menu_items_get):
* UIProcess/API/efl/ewk_popup_menu.h: Added.
* UIProcess/API/efl/ewk_popup_menu_private.h: Copied from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
(WebKit):
(Ewk_Popup_Menu):
(Ewk_Popup_Menu::create):
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp: Added.
(checkBasicPopupMenuItem):
(selectItemAfterDelayed):
(showPopupMenu):
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
* UIProcess/efl/WebPopupMenuProxyEfl.cpp:
(WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
2012-10-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Close the IconDatabase before the WebContext gets destroyed
https://bugs.webkit.org/show_bug.cgi?id=100389
Reviewed by Alexis Menard.
The WebContext normally gets destroyed 60 seconds after the last page is
closed and will take down the WebIconDatabase with itself if nothing
holds a reference to it at this moment.
We need to close the IconDatabase explicitely before this happens
to terminate it cleanly and avoid leaking its thread.
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit::QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
2012-10-25 Dominik Röttsches <dominik.rottsches@intel.com>
Conditionalize XHR timeout support
https://bugs.webkit.org/show_bug.cgi?id=100356
Reviewed by Adam Barth.
Adding XHR_TIMEOUT feature to conditionalize this on ports without network backend support.
Defaults to ON on Mac since the Mac NSUrlConnection based backend has setTimeoutInterval support.
* Configurations/FeatureDefines.xcconfig:
2012-10-25 Tim Horton <timothy_horton@apple.com>
Only full-page PDFPlugins should purport to handle page scale changes
https://bugs.webkit.org/show_bug.cgi?id=99635
Reviewed by Sam Weinig.
PDFPlugin should only handle page scale factor changes itself if it's in the main frame.
Subframe PDFs will act like images, zooming with the page.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Move implementation of handlesPageScaleFactor() to PDFPlugin.mm.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pdfDocumentDidLoad): Only copy PDFLayerController's default autoscale magnification to PluginView's
notion of the current scale factor if we're supposed to be handling page scale factor changes.
(WebKit::PDFPlugin::geometryDidChange): Only update PDFLayerController's magnification from the page scale factor
if we're supposed to be handling page scale factor changes.
(WebKit::PDFPlugin::handlesPageScaleFactor): We should only handle page scale factor changes if we're in the main frame.
2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Move non-API classes out of UIProcess/API/efl
https://bugs.webkit.org/show_bug.cgi?id=100391
Reviewed by Kenneth Rohde Christiansen.
Move non-API classes from UIProcess/API/efl to
UIProcess/efl for clarity.
* PlatformEfl.cmake:
* UIProcess/efl/BatteryProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.cpp.
(toBatteryProvider):
(startUpdatingCallback):
(stopUpdatingCallback):
(BatteryProvider::~BatteryProvider):
(BatteryProvider::create):
(BatteryProvider::BatteryProvider):
(BatteryProvider::startUpdating):
(BatteryProvider::stopUpdating):
(BatteryProvider::didChangeBatteryStatus):
* UIProcess/efl/BatteryProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/BatteryProvider.h.
(WebKit):
(BatteryProvider):
* UIProcess/efl/NetworkInfoProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.cpp.
(toNetworkInfoProvider):
(startUpdatingCallback):
(stopUpdatingCallback):
(getBandwidthCallback):
(isMeteredCallback):
(NetworkInfoProvider::create):
(NetworkInfoProvider::NetworkInfoProvider):
(NetworkInfoProvider::~NetworkInfoProvider):
(NetworkInfoProvider::bandwidth):
(NetworkInfoProvider::metered):
(NetworkInfoProvider::startUpdating):
(NetworkInfoProvider::stopUpdating):
* UIProcess/efl/NetworkInfoProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/NetworkInfoProvider.h.
(WebKit):
(NetworkInfoProvider):
* UIProcess/efl/PageClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp.
(WebKit):
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::~PageClientImpl):
(WebKit::PageClientImpl::viewImpl):
(WebKit::PageClientImpl::createDrawingAreaProxy):
(WebKit::PageClientImpl::setViewNeedsDisplay):
(WebKit::PageClientImpl::displayView):
(WebKit::PageClientImpl::scrollView):
(WebKit::PageClientImpl::viewSize):
(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::processDidCrash):
(WebKit::PageClientImpl::didRelaunchProcess):
(WebKit::PageClientImpl::pageClosed):
(WebKit::PageClientImpl::toolTipChanged):
(WebKit::PageClientImpl::setCursor):
(WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves):
(WebKit::PageClientImpl::didChangeViewportProperties):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::canUndoRedo):
(WebKit::PageClientImpl::executeUndoRedo):
(WebKit::PageClientImpl::convertToDeviceSpace):
(WebKit::PageClientImpl::convertToUserSpace):
(WebKit::PageClientImpl::screenToWindow):
(WebKit::PageClientImpl::windowToScreen):
(WebKit::PageClientImpl::doneWithKeyEvent):
(WebKit::PageClientImpl::doneWithTouchEvent):
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
(WebKit::PageClientImpl::createColorChooserProxy):
(WebKit::PageClientImpl::setFindIndicator):
(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
(WebKit::PageClientImpl::customRepresentationZoomFactor):
(WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
(WebKit::PageClientImpl::flashBackingStoreUpdates):
(WebKit::PageClientImpl::findStringInCustomRepresentation):
(WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
(WebKit::PageClientImpl::updateTextInputState):
(WebKit::PageClientImpl::handleDownloadRequest):
(WebKit::PageClientImpl::pageDidRequestScroll):
(WebKit::PageClientImpl::didChangeContentsSize):
(WebKit::PageClientImpl::didRenderFrame):
(WebKit::PageClientImpl::pageTransitionViewportReady):
* UIProcess/efl/PageClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageClientImpl.h.
(WebKit):
(PageClientImpl):
(WebKit::PageClientImpl::create):
(WebKit::PageClientImpl::setPageViewportController):
* UIProcess/efl/PageViewportControllerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.cpp.
(WebKit):
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::drawingArea):
(WebKit::PageViewportControllerClientEfl::setRendererActive):
(WebKit::PageViewportControllerClientEfl::display):
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
(WebKit::PageViewportControllerClientEfl::didChangeViewportAttributes):
(WebKit::PageViewportControllerClientEfl::setController):
* UIProcess/efl/PageViewportControllerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/PageViewportControllerClientEfl.h.
(WebKit):
(PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::create):
(WebKit::PageViewportControllerClientEfl::viewSize):
(WebKit::PageViewportControllerClientEfl::scaleFactor):
(WebKit::PageViewportControllerClientEfl::scrollPosition):
* UIProcess/efl/VibrationProvider.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.cpp.
(Ewk_Vibration_Client):
(Ewk_Vibration_Client::Ewk_Vibration_Client):
(toVibrationProvider):
(vibrateCallback):
(cancelVibrationCallback):
(VibrationProvider::create):
(VibrationProvider::VibrationProvider):
(VibrationProvider::~VibrationProvider):
(VibrationProvider::vibrate):
(VibrationProvider::cancelVibration):
(VibrationProvider::setVibrationClientCallbacks):
* UIProcess/efl/VibrationProvider.h: Renamed from Source/WebKit2/UIProcess/API/efl/VibrationProvider.h.
(WebKit):
(VibrationProvider):
* UIProcess/efl/WebKitTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.cpp.
(WebKit):
(WebKit::isContinuousSpellCheckingEnabled):
(WebKit::setContinuousSpellCheckingEnabled):
(WebKit::uniqueSpellDocumentTag):
(WebKit::closeSpellDocumentWithTag):
(WebKit::checkSpellingOfString):
(WebKit::guessesForWord):
(WebKit::learnWord):
(WebKit::ignoreWord):
(WebKit::availableSpellCheckingLanguages):
(WebKit::updateSpellCheckingLanguages):
(WebKit::loadedSpellCheckingLanguages):
* UIProcess/efl/WebKitTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/efl/WebKitTextChecker.h.
(WebKit):
2012-10-25 Brady Eidson <beidson@apple.com>
Allow LoaderStrategy to override the ResourceLoadScheduler
https://bugs.webkit.org/show_bug.cgi?id=100355
Reviewed by Anders Carlsson.
Add a WebKit2 subclass of ResourceLoadScheduler that currently adds no new functionality:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler):
* WebProcess/Network/WebResourceLoadScheduler.h:
WebProcess hangs on to the default shared WebResourceLoadScheduler:
* WebProcess/WebProcess.h:
(WebKit::WebProcess::webResourceLoadScheduler):
If the NetworkProcess is enabled, return the new WebResourceLoadScheduler:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::resourceLoadScheduler):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebKit2.xcodeproj/project.pbxproj:
2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Remove some C'ism from EwkView
https://bugs.webkit.org/show_bug.cgi?id=100370
Reviewed by Kenneth Rohde Christiansen.
Remove a lot of C'ism from EwkView:
- Make more members private and add C++ methods to
EwkViewImpl for the public C API to use
- Use smart pointers when possible instead of raw
ones
- Use C++ naming conventions for callback functions
and define them as static methods in EwkViewImpl.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::onIMFInputSequenceComplete):
(EwkViewImpl::onIMFPreeditSequenceChanged):
(EwkViewImpl::createIMFContext):
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::~EwkViewImpl):
(EwkViewImpl::setCursor):
(EwkViewImpl::setColorPickerColor):
(EwkViewImpl::isFocused):
(EwkViewImpl::isVisible):
(EwkViewImpl::title):
(EwkViewImpl::inputMethodContext):
(EwkViewImpl::themePath):
(EwkViewImpl::setThemePath):
(EwkViewImpl::customTextEncodingName):
(EwkViewImpl::setCustomTextEncodingName):
(EwkViewImpl::setMouseEventsEnabled):
(EwkViewImpl::setTouchEventsEnabled):
(EwkViewImpl::informIconChange):
(EwkViewImpl::requestColorPicker):
(EwkViewImpl::dismissColorPicker):
(EwkViewImpl::updateTextInputState):
(EwkViewImpl::informURLChange):
(EwkViewImpl::onMouseDown):
(EwkViewImpl::onMouseUp):
(EwkViewImpl::onMouseMove):
(EwkViewImpl::feedTouchEvents):
(EwkViewImpl::onTouchDown):
(EwkViewImpl::onTouchUp):
(EwkViewImpl::onTouchMove):
* UIProcess/API/efl/EwkViewImpl.h:
(WebCore):
(EwkViewImpl::ewkContext):
(EwkViewImpl::settings):
(EwkViewImpl):
(EwkViewImpl::url):
(EwkViewImpl::faviconURL):
(EwkViewImpl::mouseEventsEnabled):
(EwkViewImpl::touchEventsEnabled):
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::didRelaunchProcess):
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_settings_private.h:
(Ewk_Settings::create):
(Ewk_Settings::Ewk_Settings):
(Ewk_Settings):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_key_down):
(_ewk_view_smart_add):
(ewk_view_context_get):
(ewk_view_url_get):
(ewk_view_icon_url_get):
(ewk_view_settings_get):
(ewk_view_title_get):
(ewk_view_theme_set):
(ewk_view_theme_get):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):
(ewk_view_mouse_events_enabled_set):
(ewk_view_mouse_events_enabled_get):
(ewk_view_color_picker_color_set):
(ewk_view_touch_events_enabled_set):
(ewk_view_touch_events_enabled_get):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
2012-10-25 Anders Carlsson <andersca@apple.com>
Assertion failure trying to dispatch notification messages
https://bugs.webkit.org/show_bug.cgi?id=100387
<rdar://problem/12573195>
Reviewed by Jessie Berlin.
Pass a zero destination ID when sending WebNotificationManagerProxy messages; they are not
used by the UI process and since the WebNotificationManagerProxy message receiver is global
passing a non-zero destination ID would cause the aforementioned assertion failure.
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::didDestroyNotification):
2012-10-25 Alexey Proskuryakov <ap@apple.com>
REGRESSION (r131686): Crashes in NSToolTipManager
https://bugs.webkit.org/show_bug.cgi?id=99792
Now that NSToolTip related parts of this change have been rolled out, roll out
the initial crash fix, too. We have no direct evidence that it's to blame, but it
doesn't serve any specific purpose any more.
* UIProcess/API/mac/WKView.mm: (-[WKView viewDidMoveToWindow]):
2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Memory leak in _ewk_view_preedit_changed()
https://bugs.webkit.org/show_bug.cgi?id=100380
Reviewed by Antonio Gomes.
Fix memory leak in _ewk_view_preedit_changed(). The buffer
returned by ecore_imf_context_preedit_string_get() is never
freed.
* UIProcess/API/efl/EwkViewImpl.cpp:
(_ewk_view_preedit_changed):
2012-10-25 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Regression(132392) infinite loop when displaying certain animations.
https://bugs.webkit.org/show_bug.cgi?id=100288
Reviewed by Kenneth Rohde Christiansen.
When PageClientImpl::setViewNeedsDisplay is called, start a 0 length timer.
That breaks the synchronous loop we were experiencing when ewk_view_display
was called directly.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::redrawRegion):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
2012-10-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
Add setMediaTypeOverride to window.internals.settings
https://bugs.webkit.org/show_bug.cgi?id=100249
Reviewed by Kenneth Rohde Christiansen.
Exported WebCore::Settings::setMediaTypeOverride(WTF::String const&) for WIN port.
* win/WebKit2.def:
2012-10-25 KyungTae Kim <ktf.kim@samsung.com>
[WK2][EFL] Add ewk_view_pagination_mode_set/get() APIs
https://bugs.webkit.org/show_bug.cgi?id=100213
Reviewed by Gyuyoung Kim.
Add ewk_view_pagination_mode_set/get() APIs for paginated display.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_pagination_mode_set):
(ewk_view_pagination_mode_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-10-25 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][AC] Fix build break when AC is enabled
https://bugs.webkit.org/show_bug.cgi?id=100367
Unreviewed build fix after r132405.
* UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
2012-10-25 Byungwoo Lee <bw80.lee@samsung.com>
[EFL][WK2] Add missing namespace.
https://bugs.webkit.org/show_bug.cgi?id=100251
Reviewed by Kenneth Rohde Christiansen.
Add 'WebKit' namespace for BatteryProvider, NetworkInfoProvider and
VibrationProvider.
* UIProcess/API/efl/BatteryProvider.h:
(WebKit):
* UIProcess/API/efl/NetworkInfoProvider.cpp:
* UIProcess/API/efl/NetworkInfoProvider.h:
(WebKit):
* UIProcess/API/efl/VibrationProvider.cpp:
* UIProcess/API/efl/VibrationProvider.h:
(WebKit):
* UIProcess/API/efl/ewk_context_private.h:
(WebKit):
(Ewk_Context):
2012-10-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Detach WebContext's clients from QtWebContext
https://bugs.webkit.org/show_bug.cgi?id=100224
Reviewed by Simon Hausmann.
The lifetime of WebContext isn't bound to QtWebContext and we wouldn't
keep a reference to our WebContext and would create a new one if a new
QQuickWebView/QtWebContext was created after we destroyed our QtWebContext.
This would cause a new WebContext and a new web process and somehow the
new WebContext could pick the IPC messages from the old WebProcess
and this would cause the new download client to receive messages about
downloads he doesn't know about and crash.
We assumed in the past that we would need multiple WebContext to allow
multiple web processes but this assumption doesn't hold anymore with
the work on ProcessModelMultipleSecondaryProcesses.
This patch enforces the use of a single WebContext by:
- Holding a single instance of QtWebIconDatabaseClient and QtDownloadManager
statically in QtWebContext
- Removing the context ID from QWebIconImageProvider's URLs
- Using QtWebContext as a temporary wrapper handle on WebContext to
initialize the WebContext's clients and allow us creating the first web page
platformInvalidateContext is used to clean up static global instances
when the WebContext is getting destroyed.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::handleDownloadRequest):
* UIProcess/API/qt/qwebiconimageprovider.cpp:
(QWebIconImageProvider::iconURLForPageURLInContext):
(QWebIconImageProvider::requestImage):
* UIProcess/qt/QtWebContext.cpp:
(WebKit):
(WebKit::QtWebContext::QtWebContext):
(WebKit::QtWebContext::~QtWebContext):
(WebKit::QtWebContext::create):
(WebKit::QtWebContext::defaultContext):
(WebKit::QtWebContext::downloadManager):
(WebKit::QtWebContext::iconDatabase):
(WebKit::QtWebContext::invalidateContext):
* UIProcess/qt/QtWebContext.h:
(QtWebContext):
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
* UIProcess/qt/QtWebIconDatabaseClient.h:
(WebKit):
(QtWebIconDatabaseClient):
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::platformInvalidateContext):
2012-10-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Make the context injected bundle client static
https://bugs.webkit.org/show_bug.cgi?id=100223
Reviewed by Kenneth Rohde Christiansen.
It doesn't need any data from QtWebContext.
* UIProcess/qt/QtWebContext.cpp:
(WebKit::didReceiveMessageFromInjectedBundle):
(WebKit):
(WebKit::initializeContextInjectedBundleClient):
(WebKit::QtWebContext::defaultContext):
* UIProcess/qt/QtWebContext.h:
(QtWebContext):
2012-10-25 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Get rid of Ewk_View private C API (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=100331
Reviewed by Kenneth Rohde Christiansen.
Convert most of the remaining Ewk_View private C API
into C++ methods in EwkViewImpl class. Only one private
C function remains but it will be taken care of in a
later patch to clean up the view construction code.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::addToPageViewMap):
(EwkViewImpl::removeFromPageViewMap):
(EwkViewImpl::viewFromPageViewMap):
(EwkViewImpl::fromEvasObject):
(EwkViewImpl::informLoadFinished):
(EwkViewImpl::informProvisionalLoadRedirect):
(EwkViewImpl::informProvisionalLoadStarted):
(EwkViewImpl::informWebProcessCrashed):
(EwkViewImpl::informContentsSizeChange):
(EwkViewImpl::requestPopupMenu):
(EwkViewImpl::requestJSAlertPopup):
(EwkViewImpl::requestJSConfirmPopup):
(EwkViewImpl::requestJSPromptPopup):
(EwkViewImpl::informDatabaseQuotaReached):
(EwkViewImpl::updateTextInputState):
(EwkViewImpl::informURLChange):
(EwkViewImpl::createNewPage):
(EwkViewImpl::closePage):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::processDidCrash):
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::updateTextInputState):
(WebKit::PageClientImpl::didChangeContentsSize):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_del):
(_ewk_view_initialize):
(ewk_view_url_set):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_html_string_load):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/efl/ContextHistoryClientEfl.cpp:
(WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
(WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
(WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
(WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
* UIProcess/efl/FindClientEfl.cpp:
* UIProcess/efl/FormClientEfl.cpp:
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
* UIProcess/efl/PageLoadClientEfl.h:
* UIProcess/efl/PagePolicyClientEfl.cpp:
* UIProcess/efl/PagePolicyClientEfl.h:
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::closePage):
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::runJavaScriptAlert):
(WebKit::PageUIClientEfl::runJavaScriptConfirm):
(WebKit::PageUIClientEfl::runJavaScriptPrompt):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):
* UIProcess/efl/PageUIClientEfl.h:
* UIProcess/efl/ResourceLoadClientEfl.h:
* UIProcess/efl/WebPopupMenuProxyEfl.cpp:
(WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
(WebKit::WebPopupMenuProxyEfl::showPopupMenu):
(WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
* UIProcess/efl/WebPopupMenuProxyEfl.h:
(WebKit::WebPopupMenuProxyEfl::create):
(WebPopupMenuProxyEfl):
2012-10-24 Joone Hur <joone.hur@intel.com>
[EFL][AC] Unreviewed, fix build break when AC is enabled
Fix build break after r132405.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::enterAcceleratedCompositingMode):
* UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
2012-10-24 Anders Carlsson <andersca@apple.com>
Make it a compile error to send a sync message as async (and vice versa)
https://bugs.webkit.org/show_bug.cgi?id=100285
Reviewed by Sam Weinig.
Add an "isSync" boolean to each generated message struct and add compile asserts to the message senders.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendSync):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
* Scripts/webkit2/messages_unittest.py:
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::send):
(WebKit::WebProcessProxy::sendSync):
2012-10-24 Kiran Muppala <cmuppala@apple.com>
Disable auto termination of WebKit2 processes on mac
https://bugs.webkit.org/show_bug.cgi?id=100176
Reviewed by Alexey Proskuryakov.
Disable WebKit2 auto termination by taking corresponding assertion
until UI process is enhanced to determine when it is safe to enable it.
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::InitializeWebProcess):
2012-10-24 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Get rid of Ewk_View private C API (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=100230
Reviewed by Kenneth Rohde Christiansen.
Remove part of the Ewk_View private C API and replace
it by C++ methods in EwkViewImpl class. Eventually,
all the private C functions will be removed but it
will be done in several patches.
* UIProcess/API/C/efl/WKView.cpp:
(WKViewGetPage):
* UIProcess/API/efl/EwkViewImpl.cpp:
(_ewk_view_commit):
(_ewk_view_preedit_changed):
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::smartData):
(EwkViewImpl::fromEvasObject):
(EwkViewImpl::wkPage):
(EwkViewImpl::setCursor):
(EwkViewImpl::redrawRegion):
(EwkViewImpl::informDownloadJobCancelled):
(EwkViewImpl::informDownloadJobFailed):
(EwkViewImpl::informDownloadJobFinished):
(EwkViewImpl::informDownloadJobRequested):
(EwkViewImpl::informNewFormSubmissionRequest):
(EwkViewImpl::enterFullScreen):
(EwkViewImpl::exitFullScreen):
(EwkViewImpl::setImageData):
(EwkViewImpl::informLoadError):
(EwkViewImpl::informLoadFinished):
(EwkViewImpl::informLoadProgress):
(EwkViewImpl::informProvisionalLoadFailed):
(EwkViewImpl::informLoadCommitted):
(EwkViewImpl::informProvisionalLoadRedirect):
(EwkViewImpl::informProvisionalLoadStarted):
(EwkViewImpl::informNavigationPolicyDecision):
(EwkViewImpl::informNewWindowPolicyDecision):
(EwkViewImpl::informResourceLoadStarted):
(EwkViewImpl::informResourceLoadResponse):
(EwkViewImpl::informResourceLoadFailed):
(EwkViewImpl::informResourceLoadFinished):
(EwkViewImpl::informResourceRequestSent):
(EwkViewImpl::informTitleChange):
(EwkViewImpl::informTooltipTextChange):
(EwkViewImpl::informTextFound):
(EwkViewImpl::size):
(EwkViewImpl::informIconChange):
(EwkViewImpl::informIntentRequest):
(EwkViewImpl::informIntentServiceRegistration):
(EwkViewImpl::createGLSurface):
(EwkViewImpl::enterAcceleratedCompositingMode):
(EwkViewImpl::exitAcceleratedCompositingMode):
(EwkViewImpl::requestColorPicker):
(EwkViewImpl::dismissColorPicker):
(EwkViewImpl::informBackForwardListChange):
* UIProcess/API/efl/EwkViewImpl.h:
(WebCore):
(EwkViewImpl):
(EwkViewImpl::view):
(EwkViewImpl::page):
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::viewImpl):
(WebKit):
(WebKit::PageClientImpl::createDrawingAreaProxy):
(WebKit::PageClientImpl::setViewNeedsDisplay):
(WebKit::PageClientImpl::viewSize):
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::processDidCrash):
(WebKit::PageClientImpl::didRelaunchProcess):
(WebKit::PageClientImpl::toolTipChanged):
(WebKit::PageClientImpl::setCursor):
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateTextInputState):
(WebKit::PageClientImpl::handleDownloadRequest):
(WebKit::PageClientImpl::didChangeContentsSize):
* UIProcess/API/efl/PageClientImpl.h:
(WebKit::PageClientImpl::create):
(PageClientImpl):
* UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::drawingArea):
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
* UIProcess/API/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::create):
(PageViewportControllerClientEfl):
* UIProcess/API/efl/ewk_download_job.cpp:
(Ewk_Download_Job::Ewk_Download_Job):
(Ewk_Download_Job::viewImpl):
* UIProcess/API/efl/ewk_download_job_private.h:
(Ewk_Download_Job::create):
(Ewk_Download_Job):
* UIProcess/API/efl/ewk_view.cpp:
(pageViewMap):
(addToPageViewMap):
(removeFromPageViewMap):
(_ewk_view_on_favicon_changed):
(_ewk_view_smart_focus_in):
(_ewk_view_smart_focus_out):
(mapToWebContent):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_smart_key_down):
(_ewk_view_smart_key_up):
(_ewk_view_on_show):
(_ewk_view_on_hide):
(_ewk_view_impl_del):
(_ewk_view_smart_del):
(_ewk_view_smart_calculate):
(_ewk_view_smart_color_set):
(_ewk_view_initialize):
(_ewk_view_add_with_smart):
(ewk_view_context_get):
(ewk_view_url_update):
(ewk_view_url_set):
(ewk_view_url_get):
(ewk_view_icon_url_get):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_stop):
(ewk_view_settings_get):
(ewk_view_title_get):
(ewk_view_text_input_state_update):
(ewk_view_load_progress_get):
(ewk_view_scale_set):
(ewk_view_scale_get):
(ewk_view_device_pixel_ratio_set):
(ewk_view_device_pixel_ratio_get):
(ewk_view_theme_set):
(ewk_view_theme_get):
(ewk_view_back):
(ewk_view_forward):
(ewk_view_intent_deliver):
(ewk_view_back_possible):
(ewk_view_forward_possible):
(ewk_view_back_forward_list_get):
(ewk_view_html_string_load):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):
(ewk_view_page_create):
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
(ewk_view_text_matches_count):
(ewk_view_contents_size_changed):
(ewk_view_popup_menu_request):
(ewk_view_popup_menu_close):
(ewk_view_popup_menu_select):
(ewk_view_mouse_events_enabled_set):
(ewk_view_mouse_events_enabled_get):
(ewk_view_webprocess_crashed):
(ewk_view_color_picker_color_set):
(ewk_view_feed_touch_event):
(ewk_view_touch_events_enabled_set):
(ewk_view_touch_events_enabled_get):
(ewk_view_inspector_show):
(ewk_view_inspector_close):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::incorporateUpdate):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
(WebKit::DownloadManagerEfl::registerDownload):
* UIProcess/efl/DownloadManagerEfl.h:
(DownloadManagerEfl):
* UIProcess/efl/FindClientEfl.cpp:
(WebKit::FindClientEfl::didFindString):
(WebKit::FindClientEfl::didFailToFindString):
(WebKit::FindClientEfl::FindClientEfl):
* UIProcess/efl/FindClientEfl.h:
(WebKit::FindClientEfl::create):
(FindClientEfl):
* UIProcess/efl/FormClientEfl.cpp:
(WebKit::FormClientEfl::willSubmitForm):
(WebKit::FormClientEfl::FormClientEfl):
* UIProcess/efl/FormClientEfl.h:
(WebKit::FormClientEfl::create):
(FormClientEfl):
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
(WebKit::PageLoadClientEfl::didChangeProgress):
(WebKit::PageLoadClientEfl::didFinishLoadForFrame):
(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
(WebKit::PageLoadClientEfl::didChangeBackForwardList):
(WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h:
(WebKit::PageLoadClientEfl::create):
(PageLoadClientEfl):
(WebKit::PageLoadClientEfl::viewImpl):
* UIProcess/efl/PagePolicyClientEfl.cpp:
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
(WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
* UIProcess/efl/PagePolicyClientEfl.h:
(WebKit::PagePolicyClientEfl::create):
(PagePolicyClientEfl):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::closePage):
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::runJavaScriptAlert):
(WebKit::PageUIClientEfl::runJavaScriptConfirm):
(WebKit::PageUIClientEfl::runJavaScriptPrompt):
(WebKit::PageUIClientEfl::showColorPicker):
(WebKit::PageUIClientEfl::hideColorPicker):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):
(WebKit::PageUIClientEfl::focus):
(WebKit::PageUIClientEfl::unfocus):
(WebKit::PageUIClientEfl::takeFocus):
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):
(WebKit::PageUIClientEfl::PageUIClientEfl):
* UIProcess/efl/PageUIClientEfl.h:
(WebKit::PageUIClientEfl::create):
(PageUIClientEfl):
* UIProcess/efl/ResourceLoadClientEfl.cpp:
(WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
(WebKit::ResourceLoadClientEfl::didSendRequestForResource):
(WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
(WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
(WebKit::ResourceLoadClientEfl::didFailLoadForResource):
(WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
(WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
* UIProcess/efl/ResourceLoadClientEfl.h:
(WebKit::ResourceLoadClientEfl::create):
(ResourceLoadClientEfl):
* UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::viewWidget):
2012-10-24 Brady Eidson <beidson@apple.com>
Add a strategy for loader customization.
https://bugs.webkit.org/show_bug.cgi?id=100278
Reviewed by Alexey Proskuryakov.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createLoaderStrategy):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
2012-10-24 No'am Rosenthal <noam.rosenthal@nokia.com>
Coordinated Graphics: Enable threaded/IPC animations
https://bugs.webkit.org/show_bug.cgi?id=93146
Reviewed by Caio Marcelo de Oliveira Filho.
In some cases there are pending changes in the layers, but no actual changes to the frame.
In that case we should unlock the animations.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2012-10-24 Noam Rosenthal <noam.rosenthal@nokia.com>
[Qt-on-Mac] GraphicsSurfaces should not create a global IOSurface handle
https://bugs.webkit.org/show_bug.cgi?id=89885
Reviewed by Kenneth Rohde Christiansen.
Use mach_port instead of global tokens for IOSurfaces.
Global IOSurfaces are accessible from other processes, while mach_ports can only be shared
directly via IPC.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
2012-10-24 Anders Carlsson <andersca@apple.com>
Add per destination ID message receivers
https://bugs.webkit.org/show_bug.cgi?id=100276
Reviewed by Andreas Kling.
Extend MessageReceiverMap to handle adding message receivers for a given destinationID/receiver name pair.
Use this to make every WebPage object a message receiver.
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
(CoreIPC):
(CoreIPC::MessageReceiverMap::removeMessageReceiver):
(CoreIPC::MessageReceiverMap::invalidate):
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::addMessageReceiver):
(WebKit):
(WebKit::WebProcess::removeMessageReceiver):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
2012-10-24 Timothy Hatcher <timothy@apple.com>
Make the Inspector WKView/WebView become the first responder when bringToFront is called.
https://bugs.webkit.org/show_bug.cgi?id=100209
Reviewed by Joseph Pecoraro.
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformBringToFront): Make the Inspector WKView become the first responder.
2012-10-23 Alexey Proskuryakov <ap@apple.com>
Add a strategy for shared workers
https://bugs.webkit.org/show_bug.cgi?id=100165
Reviewed by Brady Eidson.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createPasteboardStrategy):
(WebKit::WebPlatformStrategies::createSharedWorkerStrategy):
(WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2012-10-23 Sam Weinig <sam@webkit.org>
Move a few more WebProcess sub-objects to be MessageReceivers
https://bugs.webkit.org/show_bug.cgi?id=100186
Reviewed by Anders Carlsson.
* WebProcess/Battery/WebBatteryManager.cpp:
(WebKit::WebBatteryManager::WebBatteryManager):
* WebProcess/Battery/WebBatteryManager.h:
(WebBatteryManager):
* WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
(WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
(WebKit):
* WebProcess/IconDatabase/WebIconDatabaseProxy.h:
(WebIconDatabaseProxy):
* WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
(WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
* WebProcess/NetworkInfo/WebNetworkInfoManager.h:
(WebNetworkInfoManager):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::WebNotificationManager):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::WebSoupRequestManager):
* WebProcess/soup/WebSoupRequestManager.h:
(WebSoupRequestManager):
2012-10-23 Anders Carlsson <andersca@apple.com>
encode should take an ArgumentEncoder reference
https://bugs.webkit.org/show_bug.cgi?id=100183
Reviewed by Jessie Berlin.
* Platform/CoreIPC/ArgumentCoder.h:
(CoreIPC::ArgumentCoder::encode):
* Platform/CoreIPC/Arguments.h:
(CoreIPC::Arguments0::encode):
(CoreIPC::Arguments1::encode):
(CoreIPC::Arguments2::encode):
(CoreIPC::Arguments3::encode):
(CoreIPC::Arguments4::encode):
(CoreIPC::Arguments5::encode):
(CoreIPC::Arguments6::encode):
(CoreIPC::Arguments7::encode):
(CoreIPC::Arguments8::encode):
(CoreIPC::Arguments10::encode):
* Platform/CoreIPC/Attachment.cpp:
(CoreIPC::Attachment::encode):
* Platform/CoreIPC/Attachment.h:
(Attachment):
* Platform/CoreIPC/DataReference.cpp:
(CoreIPC::DataReference::encode):
* Platform/CoreIPC/DataReference.h:
(DataReference):
* Platform/CoreIPC/StringReference.cpp:
(CoreIPC::StringReference::encode):
* Platform/CoreIPC/StringReference.h:
(StringReference):
* Platform/CoreIPC/mac/MachPort.h:
(CoreIPC::MachPort::encode):
* Platform/SharedMemory.h:
(Handle):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::encode):
* PluginProcess/PluginCreationParameters.cpp:
(WebKit::PluginCreationParameters::encode):
* PluginProcess/PluginCreationParameters.h:
(PluginCreationParameters):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::encode):
* Shared/DictionaryPopupInfo.h:
(DictionaryPopupInfo):
* Shared/EditorState.cpp:
(WebKit::EditorState::encode):
* Shared/EditorState.h:
(EditorState):
* Shared/FontInfo.cpp:
(WebKit::FontInfo::encode):
* Shared/FontInfo.h:
(FontInfo):
* Shared/LayerTreeContext.h:
(LayerTreeContext):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
* Shared/Network/NetworkProcessCreationParameters.h:
(NetworkProcessCreationParameters):
* Shared/OriginAndDatabases.cpp:
(WebKit::OriginAndDatabases::encode):
* Shared/OriginAndDatabases.h:
(OriginAndDatabases):
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::encode):
* Shared/PlatformPopupMenuData.h:
(PlatformPopupMenuData):
* Shared/Plugins/NPIdentifierData.cpp:
(WebKit::NPIdentifierData::encode):
* Shared/Plugins/NPIdentifierData.h:
(NPIdentifierData):
* Shared/Plugins/NPVariantData.cpp:
(WebKit::NPVariantData::encode):
* Shared/Plugins/NPVariantData.h:
(NPVariantData):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
* Shared/Plugins/PluginProcessCreationParameters.h:
(PluginProcessCreationParameters):
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode):
* Shared/PrintInfo.h:
(PrintInfo):
* Shared/SandboxExtension.h:
(Handle):
(HandleArray):
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::encode):
* Shared/SecurityOriginData.h:
(SecurityOriginData):
* Shared/SessionState.cpp:
(WebKit::SessionState::encode):
* Shared/SessionState.h:
(SessionState):
* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::Handle::encode):
* Shared/ShareableBitmap.h:
(Handle):
* Shared/SharedWorkerProcessCreationParameters.cpp:
(WebKit::SharedWorkerProcessCreationParameters::encode):
* Shared/SharedWorkerProcessCreationParameters.h:
(SharedWorkerProcessCreationParameters):
* Shared/StatisticsData.cpp:
(WebKit::StatisticsData::encode):
* Shared/StatisticsData.h:
(StatisticsData):
* Shared/StringPairVector.h:
(WebKit::StringPairVector::encode):
* Shared/UpdateInfo.cpp:
(WebKit::UpdateInfo::encode):
* Shared/UpdateInfo.h:
(UpdateInfo):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::encode):
* Shared/WebContextMenuItemData.h:
(WebContextMenuItemData):
* Shared/WebEvent.cpp:
(WebKit::WebEvent::encode):
* Shared/WebEvent.h:
(WebEvent):
(WebMouseEvent):
(WebWheelEvent):
(WebKeyboardEvent):
(WebGestureEvent):
(WebPlatformTouchPoint):
(WebTouchEvent):
* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::Data::encode):
* Shared/WebGeolocationPosition.h:
(Data):
* Shared/WebGestureEvent.cpp:
(WebKit::WebGestureEvent::encode):
* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::encode):
* Shared/WebHitTestResult.h:
(Data):
* Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::encode):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::encode):
* Shared/WebNavigationDataStore.h:
(WebKit::WebNavigationDataStore::encode):
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode):
* Shared/WebPageGroupData.h:
(WebPageGroupData):
* Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::encode):
* Shared/WebPopupItem.h:
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::encode):
* Shared/WebPreferencesStore.h:
(WebPreferencesStore):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::encode):
* Shared/mac/AttributedString.h:
(AttributedString):
* Shared/mac/AttributedString.mm:
(WebKit::AttributedString::encode):
* Shared/mac/ColorSpaceData.h:
(ColorSpaceData):
* Shared/mac/ColorSpaceData.mm:
(WebKit::ColorSpaceData::encode):
* Shared/mac/LayerTreeContextMac.mm:
(WebKit::LayerTreeContext::encode):
* Shared/mac/PlatformCertificateInfo.h:
(PlatformCertificateInfo):
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit::PlatformCertificateInfo::encode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::HandleArray::encode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::encode):
* Shared/mac/SecItemRequestData.h:
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::encode):
* Shared/mac/SecItemResponseData.h:
(SecItemResponseData):
* Shared/mac/SecKeychainItemRequestData.cpp:
(WebKit::SecKeychainItemRequestData::encode):
* Shared/mac/SecKeychainItemRequestData.h:
* Shared/mac/SecKeychainItemResponseData.cpp:
(WebKit::SecKeychainItemResponseData::encode):
* Shared/mac/SecKeychainItemResponseData.h:
(SecKeychainItemResponseData):
* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageEncoder::encode):
* WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
(WebKit::InjectedBundleUserMessageEncoder::encode):
* WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::Parameters::encode):
* WebProcess/Plugins/Plugin.h:
(Parameters):
2012-10-24 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Move the QQuickWebViewExperimental pointer to QQuickWebViewPrivate
https://bugs.webkit.org/show_bug.cgi?id=100253
Reviewed by Kenneth Rohde Christiansen.
We'll need to avoid placing data in QQuickWebView to preserve
its binary compatibility once it's public.
Also make the QQuickWebViewExperimental constructor private.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewExperimental::QQuickWebViewExperimental):
(QQuickWebView::QQuickWebView):
(QQuickWebView::experimental):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
2012-10-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Ewk_Settings refactoring
https://bugs.webkit.org/show_bug.cgi?id=100233
Reviewed by Kenneth Rohde Christiansen.
Ewk_Settings private implementation is now C++ class which allows direct internal
access to WebKit::WebPreferences.
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/ewk_settings.cpp:
(Ewk_Settings::preferences):
(ewk_settings_fullscreen_enabled_set):
(ewk_settings_fullscreen_enabled_get):
(ewk_settings_javascript_enabled_set):
(ewk_settings_javascript_enabled_get):
(ewk_settings_loads_images_automatically_set):
(ewk_settings_loads_images_automatically_get):
(ewk_settings_developer_extras_enabled_set):
(ewk_settings_developer_extras_enabled_get):
(ewk_settings_file_access_from_file_urls_allowed_set):
(ewk_settings_file_access_from_file_urls_allowed_get):
(ewk_settings_frame_flattening_enabled_set):
(ewk_settings_frame_flattening_enabled_get):
(ewk_settings_dns_prefetching_enabled_set):
(ewk_settings_dns_prefetching_enabled_get):
* UIProcess/API/efl/ewk_settings_private.h:
(WebKit):
(Ewk_Settings):
(Ewk_Settings::Ewk_Settings):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_initialize):
2012-10-24 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][AC] Fix build break when AC is enabled
https://bugs.webkit.org/show_bug.cgi?id=100245
Reviewed by Kenneth Rohde Christiansen.
Fix build break after r132337.
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_view.cpp:
2012-10-24 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] run-webkit-tests writes garbage on stderr when running on Xvfb
https://bugs.webkit.org/show_bug.cgi?id=100243
Reviewed by Kenneth Rohde Christiansen.
These errors generate noise on the reports and in some cases, like when
running perf tests, makes the test fail. By using Xext, we can add a
dummy handler to ignore these errors.
* PlatformEfl.cmake:
* WebProcess/efl/WebProcessMainEfl.cpp:
(dummyExtensionErrorHandler):
(WebKit::WebProcessMainEfl):
2012-10-24 Eric Carlson <eric.carlson@apple.com>
Allow ports to override text track rendering style
https://bugs.webkit.org/show_bug.cgi?id=97800
<rdar://problem/12044964>
Reviewed by Maciej Stachowiak.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Initialize new WKSI function pointers.
2012-10-24 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] Expose useful WebCore::Settings
https://bugs.webkit.org/show_bug.cgi?id=100239
Reviewed by Kenneth Rohde Christiansen.
Expose the two settings CaretBrowsingEnabled and NotificationsEnabled.
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::caretBrowsingEnabled):
(QWebPreferences::setCaretBrowsingEnabled):
(QWebPreferences::notificationsEnabled):
(QWebPreferences::setNotificationsEnabled):
* UIProcess/API/qt/qwebpreferences_p.h:
* UIProcess/API/qt/qwebpreferences_p_p.h:
2012-10-24 Zeno Albisser <zeno@webkit.org>
Implement GraphicsSurface for Windows.
https://bugs.webkit.org/show_bug.cgi?id=98147
Add encode and decode implementation for GraphicsSurfaceToken on Windows.
Reviewed by Kenneth Rohde Christiansen.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
2012-10-24 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][WK2] ASSERTION FAILED: edje(): could not paint native HTML part due to missing theme
https://bugs.webkit.org/show_bug.cgi?id=100227
Reviewed by Kenneth Rohde Christiansen.
Browser crashes on loading any page due to missing theme after
the web process has crashed and recovered.
This patch reset the theme when the web process is recovered to
avoid a crash.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::didRelaunchProcess):
2012-10-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r132333.
http://trac.webkit.org/changeset/132333
https://bugs.webkit.org/show_bug.cgi?id=100234
Crashes many tests on the EFL-WK2 bot. (Requested by rakuco on
#webkit).
* Target.pri:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::updateTextCheckerState):
2012-10-24 Christophe Dumez <christophe.dumez@intel.com> and Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Move Ewk_View_Private_Data out of ewk_view.cpp
https://bugs.webkit.org/show_bug.cgi?id=100228
Reviewed by Gyuyoung Kim.
Move Ewk_View_Private_Data out of ewk_view.cpp and
rename it to EwkViewImpl. This is a first step towards
getting rid of C'ism in Ewk_View.
In a future, we will make EwkViewImpl a proper C++
class and get rid of the private ewk_view C API so
that WebKit code interacts with EwkViewImpl instead
of Evas_Object.
* PlatformEfl.cmake:
* UIProcess/API/efl/EwkViewImpl.cpp: Added.
(_ewk_view_commit):
(_ewk_view_preedit_changed):
(_ewk_view_imf_context_destroy):
(_ewk_view_imf_context_create):
(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::~EwkViewImpl):
* UIProcess/API/efl/EwkViewImpl.h: Added.
(WebKit):
(EwkViewImpl):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_del):
(_ewk_view_smart_add):
* UIProcess/API/efl/ewk_view.h:
2012-10-24 Ryuan Choi <ryuan.choi@gmail.com>
[EFL][WK2] Crash when passing NULL instead of ewk_view instance
https://bugs.webkit.org/show_bug.cgi?id=100078
Reviewed by Gyuyoung Kim.
Although applications should pass valid ewk_view to call ewk_view_XXX,
ewk_view_XXX should not be crashed.
* UIProcess/API/efl/ewk_view.cpp:
Checked null and early exited from EWK_VIEW_TYPE_CHECK if error occured.
* UIProcess/API/efl/tests/test_ewk2_view.cpp: Added test case.
(TEST_F):
2012-10-24 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make find and form clients C++ classes
https://bugs.webkit.org/show_bug.cgi?id=100199
Reviewed by Kenneth Rohde Christiansen.
Make form and find client C++ classes to move away
from C'ism in WK2 EFL port. The new classes have been
moved up to UIProcess/efl instead of UIProcess/API/efl
since it is not part of the public API.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
* UIProcess/efl/FindClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_find_client.cpp.
(WebKit):
(WebKit::toFindClientEfl):
(WebKit::FindClientEfl::didFindString):
(WebKit::FindClientEfl::didFailToFindString):
(WebKit::FindClientEfl::FindClientEfl):
* UIProcess/efl/FindClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_find_client_private.h.
(WebKit):
(FindClientEfl):
(WebKit::FindClientEfl::create):
* UIProcess/efl/FormClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_form_client.cpp.
(WebKit):
(WebKit::toFormClientEfl):
(WebKit::FormClientEfl::willSubmitForm):
(WebKit::FormClientEfl::FormClientEfl):
* UIProcess/efl/FormClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_form_client_private.h.
(WebKit):
(FormClientEfl):
(WebKit::FormClientEfl::create):
2012-10-24 Grzegorz Czajkowski <g.czajkowski@samsung.com>
[EFL] WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
https://bugs.webkit.org/show_bug.cgi?id=93611
Reviewed by Hajime Morita.
When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
it happens that the WebProcess is still not launched (although it is already created).
In this case, isValid() method returns false.
This fix sends a message to the WebProcess messages queue, and the message
will be handled once the WebProcess is ready.
* Target.pri:
Adds missing files to compile spellcheking feature for WebKit2-Qt
to use WebKit C API from WKTextChecker.h.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::updateTextCheckerState):
Uses canSendMessage() method instead of isValid() to check whether the message to
the WebProcess can be sent.
2012-10-24 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Black screen in web inspector window with AC on
https://bugs.webkit.org/show_bug.cgi?id=100168
Reviewed by Kenneth Rohde Christiansen.
When ACCELERATED_COMPOSITING flag is turned on, and using X11,
pass "opengl_x11" engine name to ecore_evas_new when creating a
web inspector window. It is guaranteed to be available, because
we wouldn't be able to create a main window if it wasn't.
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
2012-10-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Make History client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100104
Reviewed by Kenneth Rohde Christiansen.
Created ContextHistoryClientEfl class to encapsulate history client code for EFL.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(ewk_context_history_callbacks_set):
* UIProcess/API/efl/ewk_context_history_client.cpp: Removed.
* UIProcess/API/efl/ewk_context_history_client_private.h: Removed.
* UIProcess/API/efl/ewk_context_private.h:
(WebKit):
(Ewk_Context):
* UIProcess/efl/ContextHistoryClientEfl.cpp: Added.
(WebKit):
(WebKit::toContextHistoryClientEfl):
(WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
(WebKit::ContextHistoryClientEfl::didPerformClientRedirect):
(WebKit::ContextHistoryClientEfl::didPerformServerRedirect):
(WebKit::ContextHistoryClientEfl::didUpdateHistoryTitle):
(WebKit::ContextHistoryClientEfl::populateVisitedLinks):
(WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
(WebKit::ContextHistoryClientEfl::setCallbacks):
* UIProcess/efl/ContextHistoryClientEfl.h: Added.
(WebKit):
(ContextHistoryClientEfl):
(WebKit::ContextHistoryClientEfl::create):
2012-10-23 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to get the WebKitWebView associated to a WebKitDownload to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=99836
Reviewed by Martin Robinson.
Add webkit_download_get_web_view() to get the WebKitWebView that
initiated the download and webkit_web_view_download_uri() to start
a new download associated to a WebKitWebView.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest): Call
webkitWebViewBaseHandleDownloadRequest().
* UIProcess/API/gtk/PageClientImpl.h:
(PageClientImpl): Add handleDownloadRequest().
* UIProcess/API/gtk/WebKitDownload.cpp:
(webkitDownloadSetWebView): Set the WebKitWebView associated to
the download.
(webkit_download_get_web_view): Public method to get the
WebKitWebView associated to the download.
* UIProcess/API/gtk/WebKitDownload.h:
* UIProcess/API/gtk/WebKitDownloadPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_download_uri): Use the new helper
webkitWebContextStartDownload().
(webkitWebContextStartDownload): Helper function to start a new
download that is also used by WebKitWebView.
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewHandleDownloadRequest): Call
webkitDownloadSetWebView() to associate the download with the
WebKitWebView.
(webkitWebViewConstructed): Set a download request handler.
(webkit_web_view_download_uri): Public method to start a new
download associated to the web view.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetDownloadRequestHandler): Set a function
pointer to be called when a new download is request for the web
view.
(webkitWebViewBaseHandleDownloadRequest): Call the download
request handler if any.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestDownloads.cpp:
(testDownloadLocalFile):
(testDownloadLocalFileError):
(testDownloadRemoteFile):
(testDownloadRemoteFileError):
(testWebViewDownloadURI):
(testPolicyResponseDownload):
(beforeAll):
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
2012-10-23 Dan Bernstein <mitz@apple.com>
WebKit2 part of <rdar://problem/2966974> [mac] Kerning and ligatures are not enabled by default
https://bugs.webkit.org/show_bug.cgi?id=100188
Reviewed by Sam Weinig.
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded): Added. Registers a value of YES for the
WebKitKerningAndLigaturesEnabledByDefault user default if it has not been registered yet.
(WebKit::WebContext::platformInitializeWebProcess): Added a call to
registerUserDefaultsIfNeeded, and changed to refer to the defaults key by name.
2012-10-23 No'am Rosenthal <noam.rosenthal@nokia.com>
Coordinated Graphics: Enable threaded/IPC animations
https://bugs.webkit.org/show_bug.cgi?id=93146
Unreviewed build fix, some function names changed between review and landing.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::encodeTimingFunction):
(CoreIPC::decodeTimingFunction):
(CoreIPC::::encode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):
2012-10-23 Sam Weinig <sam@webkit.org>
Stop using NSHomeDirectory() to get the home directory, it doesn't always return what we want
https://bugs.webkit.org/show_bug.cgi?id=100180
Reviewed by Anders Carlsson.
NSHomeDirectory() doesn't return the real home directory if the host process
is App Sandboxed, so drop down and use getpwuid_r instead.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::appendReadwriteSandboxDirectory):
There is no reason anymore to try to create the directory.
(WebKit::WebProcess::initializeSandbox):
Switch to getpwuid_r.
2012-10-23 Martin Robinson <mrobinson@igalia.com>
[GTK][Soup] Implement the default authentication dialog via WebCoreSupport
https://bugs.webkit.org/show_bug.cgi?id=99351
Reviewed by Carlos Garcia Campos.
Instead of using a custom SoupSessionFeature to show the authentication
dialog, show it using the corresponding WebCore message.
* GNUmakefile.list.am: Removed the SoupSessionFeature files.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit): Only use the default dispatchDidReceiveAuthenticationChallenge
for non-GTK+ ports.
* WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Added.
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Added
a GTK+-specific implementation that shows the GtkAuthenticationDialog.
* WebProcess/gtk/WebAuthDialog.cpp: Removed.
* WebProcess/gtk/WebAuthDialog.h: Removed.
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk): Don't install the custom session feature.
2012-10-23 Anders Carlsson <andersca@apple.com>
Remove deprecatedSend
https://bugs.webkit.org/show_bug.cgi?id=100127
Reviewed by Andreas Kling.
deprecatedSend is no longer used anywhere, remove it.
* Platform/CoreIPC/Connection.h:
(Connection):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
2012-10-23 Andy Estes <aestes@apple.com>
[WebKit2 API] Add properties to get textRects from a WKDOMRange or WKDOMNode
https://bugs.webkit.org/show_bug.cgi?id=100162
Reviewed by Sam Weinig.
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
(WebKit::toNSArray): Added a helper function to convert a Vector of IntRects to an NSArray.
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
(-[WKDOMNode textRects]):
* WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange textRects]):
2012-10-23 No'am Rosenthal <noam.rosenthal@nokia.com>
Coordinated Graphics: Enable threaded/IPC animations
https://bugs.webkit.org/show_bug.cgi?id=93146
Reviewed by Kenneth Rohde Christiansen.
Re-enable UI-process animations for Coordinated-Graphics/TextureMapper.
- Added an argument coder for GraphicsLayerAnimations.
- Allow LayerTreeCoordinator to manage the animations per layer with the proxy,
as opposed to applying the animation values in the web process as before.
- LayerTreeRenderer now calls updateViewport() after painting when an animation is active.
To overcome the problem we've had in the past with synchronizing UI-side and web-side
animations, we now lock the animations in the UI process when a frame starts rendering,
and unlock it when the frame finishes rendering, or if after the layout there is no visible
changes pending on the screen.
* Scripts/webkit2/messages.py:
(headers_for_type):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC):
(CoreIPC::encodeTimingFunction):
(CoreIPC::decodeTimingFunction):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):
Added argument coders for GraphicsLayerAnimations.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
(WebKit::LayerTreeCoordinatorProxy::setAnimationsLocked):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
Added an option to sync the layer's animations, and also to lock/unlock animations.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
Sync animations if they're not locked, and call updateViewport() if we have animations.
(WebKit::LayerTreeRenderer::flushLayerChanges):
(WebKit::LayerTreeRenderer::setLayerAnimations):
(WebKit::LayerTreeRenderer::setAnimationsLocked):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didChangeAnimations):
(WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::addAnimation):
(WebCore::CoordinatedGraphicsLayer::pauseAnimation):
(WebCore::CoordinatedGraphicsLayer::removeAnimation):
(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
(WebCore):
Pass the animation info to the UI process instead of applying it in the web process.
(WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
Compute whether a layer tree might have sync issues or flickers if rendered while
background animations are ongoing.
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
Don't allow progressive tiling for layers with animations.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(WebCore):
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::lockAnimations):
(WebKit):
(WebKit::LayerTreeCoordinator::unlockAnimations):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::setLayerAnimations):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-10-23 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt][WK2] Add preference for enabling scroll animators
https://bugs.webkit.org/show_bug.cgi?id=100124
Reviewed by Jocelyn Turcotte.
Expose the ScollAnimatorEnabled setting in QWebPreferences.
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::scrollAnimatorEnabled):
(QWebPreferences::setScrollAnimatorEnabled):
* UIProcess/API/qt/qwebpreferences_p.h:
* UIProcess/API/qt/qwebpreferences_p_p.h:
2012-10-23 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] Use the port independent PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=99850
Reviewed by Kenneth Rohde Christiansen.
Take PageViewportController into use, and rely on it to calculate
scroll position and zoom level.
With this patch, we can do intra page navigation and use the scrollwheel
to scroll, when WTF_USE_TILED_BACKING_STORE and all related flags are enabled.
* CMakeLists.txt:
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::didChangeViewportProperties):
(WebKit::PageClientImpl::pageDidRequestScroll):
(WebKit::PageClientImpl::didChangeContentsSize):
(WebKit):
(WebKit::PageClientImpl::didRenderFrame):
(WebKit::PageClientImpl::pageTransitionViewportReady):
* UIProcess/API/efl/PageClientImpl.h:
(WebKit):
(PageClientImpl):
(WebKit::PageClientImpl::setPageViewportController):
* UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::display):
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
(WebKit::PageViewportControllerClientEfl::setController):
* UIProcess/API/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::scaleFactor):
(WebKit::PageViewportControllerClientEfl::scrollPosition):
(PageViewportControllerClientEfl):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(mapToWebContent):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_initialize):
(ewk_view_load_committed):
(ewk_view_feed_touch_event):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/PageViewportController.cpp:
* UIProcess/PageViewportController.h:
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::pageTransitionViewportReady):
(WebKit::WebPageProxy::didRenderFrame):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit):
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h:
(PageLoadClientEfl):
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit):
(WebKit::WebPageProxy::setUserScripts):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):
2012-10-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
Add support for resolution media query
https://bugs.webkit.org/show_bug.cgi?id=99077
Reviewed by Antti Koivisto.
* win/WebKit2.def:
Add exports for the WebCore::Settings setting.
* Configurations/FeatureDefines.xcconfig:
Add support for the RESOLUTION_MEDIA_QUERY feature flag.
2012-10-23 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] Port QWebPreferences to C++
https://bugs.webkit.org/show_bug.cgi?id=100121
Reviewed by Kenneth Rohde Christiansen.
Port all the WebPreference calls to using the direct API instead of going through
the auto-generated C API.
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferencesPrivate::setFontFamily):
(QWebPreferencesPrivate::fontFamily):
(QWebPreferencesPrivate::setFontSize):
(QWebPreferencesPrivate::fontSize):
(QWebPreferencesPrivate::preferences):
* UIProcess/API/qt/qwebpreferences_p_p.h:
2012-10-23 Eunmi Lee <eunmi15.lee@samsung.com>
[EFL][WK2] Convert WebEvent's timestamp from millisecond to second.
https://bugs.webkit.org/show_bug.cgi?id=100101
Reviewed by Kenneth Rohde Christiansen.
Convert timestamp to second to create WebEvent from Evas event because
the unit of timestamp from Evas Event is millisecond, but the unit of
timestamp for WebEvent is second.
* Shared/efl/WebEventFactory.cpp:
(WebKit::convertMillisecondToSecond):
(WebKit):
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
2012-10-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make request manager client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100093
Reviewed by Kenneth Rohde Christiansen.
Make EFL's request manager client a C++ class and
move URL scheme handling code to it. The new
RequestManagerClientEfl is now in UIProcess/efl
instead of UIProcess/API/efl since it is not
part of the public API.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(Ewk_Context::requestManager):
(ewk_context_url_scheme_register):
* UIProcess/API/efl/ewk_context_private.h:
(WebKit):
(Ewk_Context):
* UIProcess/efl/RequestManagerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp.
(WebKit):
(Ewk_Url_Scheme_Handler):
(WebKit::Ewk_Url_Scheme_Handler::Ewk_Url_Scheme_Handler):
(WebKit::toRequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::didReceiveURIRequest):
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::~RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
* UIProcess/efl/RequestManagerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client_private.h.
(WebKit):
(RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::create):
2012-10-23 Alexander Shalamov <alexander.shalamov@intel.com>
[EFL][WK2] ecore_x should be initialised in WebProcess to avoid re-initialization by PlatformScreenEfl utilities and systemBeep() function
https://bugs.webkit.org/show_bug.cgi?id=100110
Reviewed by Kenneth Rohde Christiansen.
PlatformScreenEfl functions and systemBeep() depend on ecore_x functionality, therefore,
ecore_x should be initialized when web process starts to avoid re-initialization.
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl): Initialized ecore_x module.
2012-10-23 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Add support for IMF composition
https://bugs.webkit.org/show_bug.cgi?id=89552
Reviewed by Gyuyoung Kim.
Implemented basic IMF support.
* PlatformEfl.cmake:
* Shared/NativeWebKeyboardEvent.h:
(NativeWebKeyboardEvent):
(WebKit::NativeWebKeyboardEvent::isFiltered):
Added to determine whether current keyboard event is compositing.
* Shared/efl/NativeWebKeyboardEventEfl.cpp:
(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::updateTextInputState):
Added to change input state.
* UIProcess/API/efl/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init): Called ecore_imf_init.
(ewk_shutdown): Called ecore_imf_shutdown.
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_smart_key_down): Modified to send keyboard event to IMF.
(_ewk_view_smart_mouse_up): Modified to reset input method context.
(_ewk_view_preedit_changed): Added to send composition string.
(_ewk_view_commit): Added to send a message that composition is finished.
(_ewk_view_imf_context_create): Added to create Ecore_IMF_Context.
(_ewk_view_imf_context_destroy): Added to destroy Ecore_IMF_Context.
(ewk_view_text_input_state_update): Added to update input state.
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/PageClient.h: Moved updateTextInputState() to share with EFL port.
(PageClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged):
Added PLATFORM(EFL) to call updateTextInputState()
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
Added HandleInputMethodKeydown message to determine whether keydown is handled.
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::handleInputMethodKeydown):
Added to check whether input method handled keydown.
(WebKit::WebPageProxy::confirmComposition): Added to support composition.
(WebKit::WebPageProxy::setComposition): Ditto.
(WebKit::WebPageProxy::cancelComposition): Ditto.
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
(WebKit::WebEditorClient::handleInputMethodKeydown):
Added to check whether input method handled keydown.
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in: Added messages to support composition.
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::targetFrameForEditing): Referenced from QT port to get focused frame.
(WebKit::WebPage::confirmComposition): Added to support composition.
(WebKit::WebPage::setComposition): Ditto.
(WebKit::WebPage::cancelComposition): Ditto.
2012-10-23 Jussi Kukkonen <jussi.kukkonen@intel.com>
[EFL] Make plugin process debugging easier (PLUGIN_PROCESS_COMMAND_PREFIX)
https://bugs.webkit.org/show_bug.cgi?id=99297
Reviewed by Kenneth Rohde Christiansen.
Add support for PLUGIN_PROCESS_COMMAND_PREFIX environment variable, to allow easier
plugin debugging with e.g.:
$ PLUGIN_PROCESS_COMMAND_PREFIX="xterm gdb --args" MiniBrowser
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):
2012-10-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Make Policy client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100089
Reviewed by Kenneth Rohde Christiansen.
Make page policy client a C++ class and remove it from API folder.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
* UIProcess/efl/PagePolicyClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp.
(WebKit):
(WebKit::toPagePolicyClientEfl):
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
(WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback):
(WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
* UIProcess/efl/PagePolicyClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client_private.h.
(WebKit):
(PagePolicyClientEfl):
(WebKit::PagePolicyClientEfl::create):
(WebKit::PagePolicyClientEfl::view):
2012-10-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Make UI client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100099
Reviewed by Gyuyoung Kim.
Made page UI client a C++ class and removed it from API directory.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
* UIProcess/API/efl/ewk_view_ui_client.cpp: Removed.
* UIProcess/API/efl/ewk_view_ui_client_private.h: Removed.
* UIProcess/efl/PageUIClientEfl.cpp: Added.
(WebKit):
(WebKit::toPageUIClientEfl):
(WebKit::PageUIClientEfl::closePage):
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::runJavaScriptAlert):
(WebKit::PageUIClientEfl::runJavaScriptConfirm):
(WebKit::PageUIClientEfl::runJavaScriptPrompt):
(WebKit::PageUIClientEfl::showColorPicker):
(WebKit::PageUIClientEfl::hideColorPicker):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):
(WebKit::PageUIClientEfl::focus):
(WebKit::PageUIClientEfl::unfocus):
(WebKit::PageUIClientEfl::takeFocus):
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):
(WebKit::PageUIClientEfl::PageUIClientEfl):
* UIProcess/efl/PageUIClientEfl.h: Added.
(WebKit):
(PageUIClientEfl):
(WebKit::PageUIClientEfl::create):
2012-10-23 Andreas Kling <kling@webkit.org>
[WK2] REGRESSION(r132169): It broke all plugin related test.
<http://webkit.org/b/100094>
Unreviewed test fix, make the CoreIPC encode/decode functions for CString match again.
* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::encode):
2012-10-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make a download client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100005
Reviewed by Kenneth Rohde Christiansen.
Make EFL's Download client a C++ class and move
the id <-> download mapping from Ewk_Context to
DownloadManagerEfl.
The Download client was also moved to
UIProcess/efl/ instead of UIProcess/API/efl/
since it is not part of the public API.
* PlatformEfl.cmake:
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(Ewk_Context::downloadManager):
* UIProcess/API/efl/ewk_context_download_client_private.h: Removed.
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_download_job_private.h:
* UIProcess/efl/DownloadManagerEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp.
(WebKit):
(WebKit::toDownloadManagerEfl):
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didReceiveResponse):
(WebKit::DownloadManagerEfl::didCreateDestination):
(WebKit::DownloadManagerEfl::didReceiveData):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
(WebKit::DownloadManagerEfl::registerDownload):
(WebKit::DownloadManagerEfl::downloadJob):
(WebKit::DownloadManagerEfl::unregisterDownloadJob):
* UIProcess/efl/DownloadManagerEfl.h: Added.
(WebKit):
(DownloadManagerEfl):
(WebKit::DownloadManagerEfl::create):
2012-10-23 Andras Becsi <andras.becsi@digia.com>
Remove devicePixelRatio from ViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=99845
Reviewed by Adam Barth.
Update PageViewportController and co. to pass the device pixel ratio
as an argument to functions that need to adjust the visible viewport size.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
2012-10-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Refactor Ewk_Context
https://bugs.webkit.org/show_bug.cgi?id=99594
Reviewed by Kenneth Rohde Christiansen.
Ewk_Context is now encapsulated to a C++ class inherited from WTF::RefCounted.
Also the same instance of Ewk_Context is returned for the same instance of
WKContext, so memory leak in ewk_view is also fixed.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_context.cpp:
(contextMap):
(Ewk_Context::Ewk_Context):
(Ewk_Context::~Ewk_Context):
(Ewk_Context::create):
(Ewk_Context::defaultContext):
(Ewk_Context::cookieManager):
(Ewk_Context::faviconDatabase):
(Ewk_Context::registerURLScheme):
(Ewk_Context::vibrationProvider):
(Ewk_Context::addVisitedLink):
(Ewk_Context::setCacheModel):
(Ewk_Context::cacheModel):
(ewk_context_ref):
(ewk_context_unref):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_get):
(Ewk_Context::wkContext):
(Ewk_Context::addDownloadJob):
(Ewk_Context::downloadJob):
(Ewk_Context::removeDownloadJob):
(Ewk_Context::requestManager):
(Ewk_Context::urlSchemeRequestReceived):
(ewk_context_default_get):
(ewk_context_new):
(ewk_context_new_with_injected_bundle_path):
(ewk_context_url_scheme_register):
(ewk_context_vibration_client_callbacks_set):
(ewk_context_history_callbacks_set):
(ewk_context_visited_link_add):
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(decideDestinationWithSuggestedFilename):
(didReceiveResponse):
(didCreateDestination):
(didReceiveData):
(didFail):
(didCancel):
(didFinish):
(ewk_context_download_client_attach):
* UIProcess/API/efl/ewk_context_history_client.cpp:
(getEwkHistoryClient):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(populateVisitedLinks):
(ewk_context_history_client_attach):
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
(Ewk_Context::historyClient):
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
(ewk_context_request_manager_client_attach):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(Ewk_View_Private_Data::Ewk_View_Private_Data):
(Ewk_View_Private_Data::~Ewk_View_Private_Data):
(_ewk_view_priv_del):
(_ewk_view_initialize):
(ewk_view_base_add):
(ewk_view_add_with_context):
(ewk_view_context_get):
(ewk_view_update_icon):
2012-10-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make page load client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100081
Reviewed by Kenneth Rohde Christiansen.
Make page load client a C++ class and move it
up to UIProcess/efl since it is not really part
of the public API.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
* UIProcess/API/efl/ewk_view_loader_client_private.h: Removed.
* UIProcess/efl/PageLoadClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
(WebKit):
(WebKit::toPageLoadClientEfl):
(WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
(WebKit::PageLoadClientEfl::didChangeProgress):
(WebKit::PageLoadClientEfl::didFinishLoadForFrame):
(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didChangeBackForwardList):
(WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h: Added.
(WebKit):
(PageLoadClientEfl):
(WebKit::PageLoadClientEfl::create):
(WebKit::PageLoadClientEfl::view):
2012-10-22 Anders Carlsson <andersca@apple.com>
Handle ArgumentCoder template specializations that take the ArgumentEncoder as a reference
https://bugs.webkit.org/show_bug.cgi?id=100056
Reviewed by Andreas Kling.
Use template magic to make it possible to have ArgumentCoder specializations where the encode
function takes the ArgumentEncoder object as a reference instead of as a pointer. Also, add an
operator<< to ArgumentEncoder and change the string related ArgumentCoder specializations over to taking
the encoder as a reference and using stream operators.
* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::encode):
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/ArgumentEncoder.h:
(ArgumentEncoder):
(UsesDeprecatedEncodeFunction):
(NoType):
(CoreIPC::ArgumentEncoder::encode):
(CoreIPC::ArgumentEncoder::operator<<):
2012-10-22 Anders Carlsson <andersca@apple.com>
More Argument coder cleanup
https://bugs.webkit.org/show_bug.cgi?id=100022
Reviewed by Andreas Kling.
Remove the ArgumentDecoder::decode overload that takes a const reference - if the call to decode ends up creating a temporary
we'll encode into it and then destroy it. Since this decode overload was mostly used with the CoreIPC::Out functions, remove them
(and CoreIPC::In) as well. Clean up a couple of ArgumentCoders as well.
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/ArgumentDecoder.h:
* Platform/CoreIPC/Arguments.h:
* Platform/CoreIPC/Connection.h:
(Connection):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::decode):
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode):
(WebKit::PrintInfo::decode):
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::encode):
(WebKit::WebContextMenuItemData::decode):
* Shared/WebEvent.cpp:
(WebKit::WebEvent::encode):
(WebKit::WebEvent::decode):
* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::Data::encode):
(WebKit::WebGeolocationPosition::Data::decode):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):
* Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::encode):
(WebKit::WebPopupItem::decode):
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::decodeMessageBody):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::decodeMessageBody):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::postInjectedBundleMessage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::postInjectedBundleMessage):
2012-10-22 Anders Carlsson <andersca@apple.com>
Remove MessageReceiverMap::deprecatedAddMessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=100012
Reviewed by Andreas Kling.
Get rid of MessageReceiverMap::deprecatedAddMessageReceiver and make callers use addMessageReceiver instead.
Also, remove the message receiver map inside Connection and add a message receiver map to WebProcess instead.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
(Connection):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::invalidate):
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::WebIconDatabase):
* UIProcess/WebKeyValueStorageManagerProxy.cpp:
(WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
* WebProcess/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::WebGeolocationManager):
(WebKit::WebGeolocationManager::registerWebPage):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::addMessageReceiver):
(WebKit):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
2012-10-22 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[EFL][WK2] ewk_view_color_picker_color_set() is leaking
https://bugs.webkit.org/show_bug.cgi?id=100007
Reviewed by Kenneth Rohde Christiansen.
Fix a leak in ewk_view_color_picker_color_set() by adopting WKStringRef
returned by WKStringCreateWithUTF8CString().
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_color_picker_color_set):
2012-10-22 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make the resource load client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=99982
Reviewed by Kenneth Rohde Christiansen.
Create a C++ class for the resource load client and
move the id <-> resource mapping from the Ewk_View
to ResourceLoadClientEfl for better a cleaner
separation.
The resource load client code was also moved out of
UIProcess/API/efl to UIProcess/efl since this is not
part of the WK2 EFL API.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
(ewk_view_wkpage_get):
(ewk_view_resource_load_initiated):
(ewk_view_resource_load_response):
(ewk_view_resource_load_failed):
(ewk_view_resource_load_finished):
(ewk_view_resource_request_sent):
(ewk_view_load_provisional_started):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp: Removed.
* UIProcess/API/efl/ewk_view_resource_load_client_private.h: Removed.
* UIProcess/efl/ResourceLoadClientEfl.cpp: Added.
(WebKit):
(WebKit::toResourceLoadClientEfl):
(WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
(WebKit::ResourceLoadClientEfl::didSendRequestForResource):
(WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
(WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
(WebKit::ResourceLoadClientEfl::didFailLoadForResource):
(WebKit::ResourceLoadClientEfl::onViewProvisionalLoadStarted):
(WebKit::ResourceLoadClientEfl::ResourceLoadClientEfl):
(WebKit::ResourceLoadClientEfl::~ResourceLoadClientEfl):
* UIProcess/efl/ResourceLoadClientEfl.h: Added.
(WebKit):
(ResourceLoadClientEfl):
(WebKit::ResourceLoadClientEfl::create):
2012-10-22 Anders Carlsson <andersca@apple.com>
[WK2] Regression(r131990): plugins/npruntime/remove-property.html started failing
https://bugs.webkit.org/show_bug.cgi?id=99977
Reviewed by Alexey Proskuryakov.
Remove int32_t casts - the ArgumentDecoder::decode overload that takes a const int would cause
a temporary to be created which the number was then decoded into.
* Shared/Plugins/NPIdentifierData.cpp:
(WebKit::NPIdentifierData::encode):
(WebKit::NPIdentifierData::decode):
2012-10-22 Anders Carlsson <andersca@apple.com>
Don't use CStrings for message receiver names and message names
https://bugs.webkit.org/show_bug.cgi?id=99853
Reviewed by Andreas Kling.
Re-land this with a fix to MessageReceiverMap::dispatchSyncMessage to look in the new global message receivers map.
Introduce StringReference which is similar to DataReference except it holds a pointer to + length of a char *
and can be created from a string literal. Use this in place of CString in MessageEncoder/MessageDecoder and
make MessageReceiverMap use a HashMap from StringReferences to MessageReceivers for global message receivers.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(Connection):
(CoreIPC::Connection::deprecatedSendSync):
(CoreIPC::Connection::deprecatedSend):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(CoreIPC::MessageDecoder::messageReceiverName):
(CoreIPC::MessageDecoder::messageName):
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC::MessageEncoder::create):
(CoreIPC::MessageEncoder::MessageEncoder):
* Platform/CoreIPC/MessageEncoder.h:
(CoreIPC):
(MessageEncoder):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
(CoreIPC):
(CoreIPC::MessageReceiverMap::dispatchMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* Platform/CoreIPC/StringReference.cpp: Added.
(CoreIPC):
(CoreIPC::StringReference::encode):
(CoreIPC::StringReference::decode):
(CoreIPC::StringReference::Hash::hash):
* Platform/CoreIPC/StringReference.h: Added.
(CoreIPC):
(StringReference):
(CoreIPC::StringReference::StringReference):
(CoreIPC::StringReference::isEmpty):
(CoreIPC::StringReference::size):
(CoreIPC::StringReference::data):
(CoreIPC::StringReference::operator==):
(Hash):
(CoreIPC::StringReference::Hash::equal):
(WTF):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(forward_declarations_and_headers):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
* Shared/CoreIPCSupport/WebContextMessageKinds.h:
* Target.pri:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::addMessageReceiver):
(WebKit):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::deprecatedSend):
(WebKit::WebProcessProxy::send):
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
2012-10-22 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r132072.
http://trac.webkit.org/changeset/132072
https://bugs.webkit.org/show_bug.cgi?id=100011
Made most of the tests crash on the WK2 bot. (Requested by
rakuco on #webkit).
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context):
(Ewk_Context::Ewk_Context):
(ewk_context_ref):
(ewk_context_unref):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_get):
(ewk_context_WKContext_get):
(ewk_context_new_from_WKContext):
(ewk_context_download_job_add):
(ewk_context_download_job_get):
(ewk_context_download_job_remove):
(ewk_context_request_manager_get):
(ewk_context_url_scheme_request_received):
(ewk_context_default_get):
(ewk_context_new):
(ewk_context_new_with_injected_bundle_path):
(ewk_context_url_scheme_register):
(ewk_context_vibration_client_callbacks_set):
(ewk_context_history_callbacks_set):
(ewk_context_history_client_get):
(ewk_context_visited_link_add):
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(decideDestinationWithSuggestedFilename):
(didReceiveResponse):
(didCreateDestination):
(didReceiveData):
(didFail):
(didCancel):
(didFinish):
(ewk_context_download_client_attach):
* UIProcess/API/efl/ewk_context_history_client.cpp:
(getEwkHistoryDelegate):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(populateVisitedLinks):
(ewk_context_history_client_attach):
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
(ewk_context_request_manager_client_attach):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(Ewk_View_Private_Data::Ewk_View_Private_Data):
(Ewk_View_Private_Data::~Ewk_View_Private_Data):
(_ewk_view_priv_del):
(_ewk_view_initialize):
(ewk_view_base_add):
(ewk_view_add_with_context):
(ewk_view_context_get):
(ewk_view_update_icon):
2012-10-22 Darin Adler <darin@apple.com>
* UIProcess/API/mac/WKView.mm:
(-[WKView view:stringForToolTip:point:userData:]): Fix build. Forgot to save file
before committing.
2012-10-22 Darin Adler <darin@apple.com>
REGRESSION (r131686): Crash in NSToolTipManager mouseEnteredToolTip
<rdar://problem/12527528> and https://bugs.webkit.org/show_bug.cgi?id=99792
Roll out the tool tip part of r131686 since it still seems to be causing trouble.
* UIProcess/API/mac/WKView.mm:
(-[WKView view:stringForToolTip:point:userData:]): Added this method back.
(-[WKView _wk_toolTipChangedFrom:to:]): Use self as owner again, eliminating the
separate WKToolTipDelegate object.
2012-10-22 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Memory leak in Ewk_Form_Submission_Request::fieldValue()
https://bugs.webkit.org/show_bug.cgi?id=99993
Reviewed by Kenneth Rohde Christiansen.
Adopt the WKStringRef returned by toCopiedAPI() in
Ewk_Form_Submission_Request::fieldValue() to avoid
a memory leak.
* UIProcess/API/efl/ewk_form_submission_request.cpp:
(Ewk_Form_Submission_Request::fieldValue):
2012-10-22 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Refactor Ewk_Context
https://bugs.webkit.org/show_bug.cgi?id=99594
Reviewed by Kenneth Rohde Christiansen.
Ewk_Context is now encapsulated to a C++ class inherited from WTF::RefCounted.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(Ewk_Context::~Ewk_Context):
(Ewk_Context::create):
(Ewk_Context::defaultContext):
(Ewk_Context::cookieManager):
(Ewk_Context::faviconDatabase):
(Ewk_Context::registerURLScheme):
(Ewk_Context::vibrationProvider):
(Ewk_Context::addVisitedLink):
(Ewk_Context::setCacheModel):
(Ewk_Context::cacheModel):
(ewk_context_ref):
(ewk_context_unref):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_get):
(Ewk_Context::wkContext):
(Ewk_Context::addDownloadJob):
(Ewk_Context::downloadJob):
(Ewk_Context::removeDownloadJob):
(Ewk_Context::requestManager):
(Ewk_Context::urlSchemeRequestReceived):
(ewk_context_default_get):
(ewk_context_new):
(ewk_context_new_with_injected_bundle_path):
(ewk_context_url_scheme_register):
(ewk_context_vibration_client_callbacks_set):
(ewk_context_history_callbacks_set):
(ewk_context_visited_link_add):
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(decideDestinationWithSuggestedFilename):
(didReceiveResponse):
(didCreateDestination):
(didReceiveData):
(didFail):
(didCancel):
(didFinish):
(ewk_context_download_client_attach):
* UIProcess/API/efl/ewk_context_history_client.cpp:
(getEwkHistoryClient):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(populateVisitedLinks):
(ewk_context_history_client_attach):
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
(Ewk_Context::create):
(Ewk_Context::historyClient):
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
(ewk_context_request_manager_client_attach):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(Ewk_View_Private_Data::Ewk_View_Private_Data):
(Ewk_View_Private_Data::~Ewk_View_Private_Data):
(_ewk_view_priv_del):
(_ewk_view_initialize):
(ewk_view_base_add):
(ewk_view_add_with_context):
(ewk_view_context_get):
(ewk_view_update_icon):
2012-10-22 Simon Hausmann <simon.hausmann@digia.com>
[Qt] Fix build without QtWidgets
https://bugs.webkit.org/show_bug.cgi?id=99981
Reviewed by Tor Arne Vestbø.
Make it possible to compile WebProcess without QtWidgets by instantiating a
QGuiApplication instead of a QApplication if we're built without widgets.
* WebProcess.pro:
* qt/MainQt.cpp:
(main):
2012-10-22 Ryuan Choi <ryuan.choi@gmail.com>
[EFL] pc files should use DATA_INSTALL_DIR for datadir
https://bugs.webkit.org/show_bug.cgi?id=99961
Reviewed by Gyuyoung Kim.
* ewebkit.pc.in: Fixed wrong datadir
2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
https://bugs.webkit.org/show_bug.cgi?id=98514
Reviewed by Kenneth Rohde Christiansen.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Use FrameView::fixedVisibleContentRect
instead of WebFrame::visibleContentBounds as the source to always keep the correct state.
2012-10-22 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: merge "docked" state into the "dock side" enum.
https://bugs.webkit.org/show_bug.cgi?id=99717
Reviewed by Vsevolod Vlasov.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-10-21 Milian Wolff <milian.wolff@kdab.com>
[Qt] QNX build fails when building against Qt without clipboard support
https://bugs.webkit.org/show_bug.cgi?id=98040
Reviewed by Simon Hausmann.
Gracefully handle QT_NO_CLIPBOARD and do not try to access qApp->clipboard()
in such cases. Instead, return false to indicate global selection is unsupported.
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::supportsGlobalSelection):
2012-10-21 Hyungchan Kim <hyungchan2.kim@lge.com>
Add a separate flag for rgb swizzling whether it can be modified or not
https://bugs.webkit.org/show_bug.cgi?id=98728
BitmapTexture swizzles the source image if the OpenGL driver
doesn't support the BGRA extension.
In case of directly composited images, the source image should not
be modified.
http://www.satine.org/research/webkit/snowleopard/snowstack.html
Reviewed by Noam Rosenthal.
No new tests as this is only testable on specific hardware and
currently not avaiable in the bots.
* platform/graphics/texmap/TextureMapper.h:
(BitmapTexture):
* platform/graphics/texmap/TextureMapperBackingStore.cpp:
(WebCore::TextureMapperTile::updateContents):
(WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
(WebCore::TextureMapperTiledBackingStore::updateContents):
* platform/graphics/texmap/TextureMapperBackingStore.h:
(TextureMapperTile):
(TextureMapperTiledBackingStore):
(WebCore::TextureMapperTiledBackingStore::updateContents):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawRepaintCounter):
(WebCore::BitmapTextureGL::updateContents):
* platform/graphics/texmap/TextureMapperGL.h:
(BitmapTextureGL):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::updateContents):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(BitmapTextureImageBuffer):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::updateBackingStore):
2012-10-21 Seokju Kwon <seokju.kwon@samsung.com>
[EFL] Fix failure to access the inspector resources
https://bugs.webkit.org/show_bug.cgi?id=99816
Reviewed by Gyuyoung Kim.
access() returns -1, if path has a file protocol like "file://".
And I have removed it from the first argument of access().
If not, inspectorBaseURL() or inspectorFilesPath() always returns WEB_INSPECTOR_DIR.
Then all layout test related to inspector can fail after installing webkit package.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::inspectorBaseURL):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk_Error, Ewk_Resource and Ewk_Popup_Menu_Item members private
https://bugs.webkit.org/show_bug.cgi?id=99931
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Error, Ewk_Resource and Ewk_Popup_Menu_Item class
members private.
* UIProcess/API/efl/ewk_error.cpp:
(Ewk_Error::Ewk_Error):
(Ewk_Error::url):
(Ewk_Error::description):
(Ewk_Error::domain):
(Ewk_Error::errorCode):
(Ewk_Error::isCancellation):
(ewk_error_type_get):
(ewk_error_url_get):
(ewk_error_code_get):
(ewk_error_description_get):
(ewk_error_cancellation_get):
* UIProcess/API/efl/ewk_error_private.h:
(Ewk_Error):
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(Ewk_Popup_Menu_Item::Ewk_Popup_Menu_Item):
(Ewk_Popup_Menu_Item::type):
(Ewk_Popup_Menu_Item::textDirection):
(Ewk_Popup_Menu_Item::text):
(Ewk_Popup_Menu_Item::tooltipText):
(Ewk_Popup_Menu_Item::accessibilityText):
(Ewk_Popup_Menu_Item::hasTextDirectionOverride):
(Ewk_Popup_Menu_Item::isEnabled):
(Ewk_Popup_Menu_Item::isLabel):
(Ewk_Popup_Menu_Item::isSelected):
(ewk_popup_menu_item_type_get):
(ewk_popup_menu_item_text_get):
(ewk_popup_menu_item_text_direction_get):
(ewk_popup_menu_item_text_direction_override_get):
(ewk_popup_menu_item_tooltip_get):
(ewk_popup_menu_item_accessibility_text_get):
(ewk_popup_menu_item_enabled_get):
(ewk_popup_menu_item_is_label_get):
(ewk_popup_menu_item_selected_get):
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
(Ewk_Popup_Menu_Item):
* UIProcess/API/efl/ewk_resource.cpp:
(Ewk_Resource::Ewk_Resource):
(Ewk_Resource::url):
(Ewk_Resource::isMainResource):
(ewk_resource_url_get):
(ewk_resource_main_resource_get):
* UIProcess/API/efl/ewk_resource_private.h:
(Ewk_Resource):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response and Ewk_Url_Scheme_Request members private
https://bugs.webkit.org/show_bug.cgi?id=99936
Reviewed by Kenneth Rohde Christiansen.
Make wk_Url_Request, Ewk_Url_Response and Ewk_Url_Scheme_Request
class members private.
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_url_scheme_request_received):
* UIProcess/API/efl/ewk_download_job.cpp:
(Ewk_Download_Job::estimatedProgress):
* UIProcess/API/efl/ewk_url_request.cpp:
(Ewk_Url_Request::Ewk_Url_Request):
(Ewk_Url_Request::url):
(Ewk_Url_Request::firstParty):
(Ewk_Url_Request::httpMethod):
(ewk_url_request_url_get):
(ewk_request_cookies_first_party_get):
(ewk_url_request_http_method_get):
* UIProcess/API/efl/ewk_url_request_private.h:
(Ewk_Url_Request):
* UIProcess/API/efl/ewk_url_response.cpp:
(Ewk_Url_Response::Ewk_Url_Response):
(Ewk_Url_Response::httpStatusCode):
(Ewk_Url_Response::url):
(Ewk_Url_Response::mimeType):
(Ewk_Url_Response::contentLength):
(ewk_url_response_url_get):
(ewk_url_response_status_code_get):
(ewk_url_response_mime_type_get):
(ewk_url_response_content_length_get):
* UIProcess/API/efl/ewk_url_response_private.h:
(Ewk_Url_Response):
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):
(Ewk_Url_Scheme_Request::id):
(Ewk_Url_Scheme_Request::url):
(Ewk_Url_Scheme_Request::scheme):
(Ewk_Url_Scheme_Request::path):
(Ewk_Url_Scheme_Request::finish):
(ewk_url_scheme_request_scheme_get):
(ewk_url_scheme_request_url_get):
(ewk_url_scheme_request_path_get):
(ewk_url_scheme_request_finish):
* UIProcess/API/efl/ewk_url_scheme_request.h: Fix ewk_url_scheme_request_finish() declaration
so that the request argument is no longer marked as const and so that the content type is of
type uint64_t instead of unsigned int.
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
(Ewk_Url_Scheme_Request):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk_Form_Submission_Request, Ewk_Navigation_Data and Ewk_Navigation_Policy_Decision members private
https://bugs.webkit.org/show_bug.cgi?id=99934
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Form_Submission_Request, Ewk_Navigation_Data and
Ewk_Navigation_Policy_Decision class members private.
* UIProcess/API/efl/ewk_form_submission_request.cpp:
(Ewk_Form_Submission_Request::Ewk_Form_Submission_Request):
(Ewk_Form_Submission_Request::~Ewk_Form_Submission_Request):
(Ewk_Form_Submission_Request::fieldValue):
(Ewk_Form_Submission_Request::fieldNames):
(Ewk_Form_Submission_Request::submit):
(ewk_form_submission_request_field_names_get):
(ewk_form_submission_request_field_value_get):
(ewk_form_submission_request_submit):
* UIProcess/API/efl/ewk_form_submission_request_private.h:
(Ewk_Form_Submission_Request):
* UIProcess/API/efl/ewk_navigation_data.cpp:
(Ewk_Navigation_Data::Ewk_Navigation_Data):
(Ewk_Navigation_Data::originalRequest):
(Ewk_Navigation_Data::title):
(Ewk_Navigation_Data::url):
(ewk_navigation_data_title_get):
(ewk_navigation_data_original_request_get):
(ewk_navigation_data_url_get):
* UIProcess/API/efl/ewk_navigation_data_private.h:
(Ewk_Navigation_Data):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
(Ewk_Navigation_Policy_Decision::~Ewk_Navigation_Policy_Decision):
(Ewk_Navigation_Policy_Decision::navigationType):
(Ewk_Navigation_Policy_Decision::mouseButton):
(Ewk_Navigation_Policy_Decision::modifiers):
(Ewk_Navigation_Policy_Decision::frameName):
(Ewk_Navigation_Policy_Decision::request):
(Ewk_Navigation_Policy_Decision::accept):
(Ewk_Navigation_Policy_Decision::reject):
(Ewk_Navigation_Policy_Decision::download):
(ewk_navigation_policy_navigation_type_get):
(ewk_navigation_policy_mouse_button_get):
(ewk_navigation_policy_modifiers_get):
(ewk_navigation_policy_frame_name_get):
(ewk_navigation_policy_request_get):
(ewk_navigation_policy_decision_accept):
(ewk_navigation_policy_decision_reject):
(ewk_navigation_policy_decision_download):
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(Ewk_Navigation_Policy_Decision):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk_Favicon_Database members private
https://bugs.webkit.org/show_bug.cgi?id=99932
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Favicon_Database class members private.
* UIProcess/API/efl/ewk_favicon_database.cpp:
(Ewk_Favicon_Database::Ewk_Favicon_Database):
(Ewk_Favicon_Database::iconURLForPageURL):
(Ewk_Favicon_Database::watchChanges):
(Ewk_Favicon_Database::unwatchChanges):
(AsyncIconRequestResponse):
(AsyncIconRequestResponse::AsyncIconRequestResponse):
(respond_icon_request_idle):
(Ewk_Favicon_Database::iconForPageURL):
(Ewk_Favicon_Database::didChangeIconForPageURL):
(Ewk_Favicon_Database::getIconSurfaceSynchronously):
(Ewk_Favicon_Database::iconDataReadyForPageURL):
(ewk_favicon_database_icon_url_get):
(ewk_favicon_database_async_icon_get):
(ewk_favicon_database_icon_change_callback_add):
(ewk_favicon_database_icon_change_callback_del):
* UIProcess/API/efl/ewk_favicon_database.h:
* UIProcess/API/efl/ewk_favicon_database_private.h:
(Ewk_Favicon_Database):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data::~Ewk_View_Private_Data):
(_ewk_view_initialize):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk back / forward list classes members private and remove private C functions
https://bugs.webkit.org/show_bug.cgi?id=99929
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Back_Forward_List and Ewk_Back_Forward_List_Item members
private and remove private C functions.
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(Ewk_Back_Forward_List::Ewk_Back_Forward_List):
(Ewk_Back_Forward_List::nextItem):
(Ewk_Back_Forward_List::previousItem):
(Ewk_Back_Forward_List::currentItem):
(Ewk_Back_Forward_List::itemAt):
(Ewk_Back_Forward_List::size):
(Ewk_Back_Forward_List::backList):
(Ewk_Back_Forward_List::forwardList):
(Ewk_Back_Forward_List::getFromCacheOrCreate):
(Ewk_Back_Forward_List::createEinaList):
(Ewk_Back_Forward_List::update):
(ewk_back_forward_list_current_item_get):
(ewk_back_forward_list_previous_item_get):
(ewk_back_forward_list_next_item_get):
(ewk_back_forward_list_item_at_index_get):
(ewk_back_forward_list_count):
(ewk_back_forward_list_n_back_items_copy):
(ewk_back_forward_list_n_forward_items_copy):
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(Ewk_Back_Forward_List_Item::Ewk_Back_Forward_List_Item):
(Ewk_Back_Forward_List_Item::url):
(Ewk_Back_Forward_List_Item::title):
(Ewk_Back_Forward_List_Item::originalURL):
(ewk_back_forward_list_item_url_get):
(ewk_back_forward_list_item_title_get):
(ewk_back_forward_list_item_original_url_get):
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
(Ewk_Back_Forward_List_Item):
* UIProcess/API/efl/ewk_back_forward_list_private.h:
(Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didChangeBackForwardList):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk_Cookie_Manager members private
https://bugs.webkit.org/show_bug.cgi?id=99930
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Cookie_Manager class members private.
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(Ewk_Cookie_Manager::Ewk_Cookie_Manager):
(Ewk_Cookie_Manager::~Ewk_Cookie_Manager):
(Ewk_Cookie_Manager::setPersistentStorage):
(Ewk_Cookie_Manager::setHTTPAcceptPolicy):
(Ewk_Cookie_Manager::clearHostnameCookies):
(Ewk_Cookie_Manager::clearAllCookies):
(Ewk_Cookie_Manager::watchChanges):
(Ewk_Cookie_Manager::isWatchingForChanges):
(Ewk_Cookie_Manager::getHostNamesWithCookies):
(Ewk_Cookie_Manager::getHTTPAcceptPolicy):
(Ewk_Cookie_Manager::cookiesDidChange):
(ewk_cookie_manager_persistent_storage_set):
(ewk_cookie_manager_accept_policy_set):
(Get_Policy_Async_Data):
(Get_Policy_Async_Data::Get_Policy_Async_Data):
(ewk_cookie_manager_async_accept_policy_get):
(Get_Hostnames_Async_Data):
(Get_Hostnames_Async_Data::Get_Hostnames_Async_Data):
(ewk_cookie_manager_async_hostnames_with_cookies_get):
(ewk_cookie_manager_hostname_cookies_clear):
(ewk_cookie_manager_cookies_clear):
(ewk_cookie_manager_changes_watch):
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(Ewk_Cookie_Manager):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk intent classes members private
https://bugs.webkit.org/show_bug.cgi?id=99832
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Intent and Ewk_Intent_Service members
private and add class methods to get them.
* UIProcess/API/efl/ewk_intent.cpp:
(Ewk_Intent::Ewk_Intent):
(Ewk_Intent::webIntentData):
(Ewk_Intent::action):
(Ewk_Intent::type):
(Ewk_Intent::service):
(Ewk_Intent::suggestions):
(Ewk_Intent::extra):
(Ewk_Intent::extraKeys):
(ewk_intent_action_get):
(ewk_intent_type_get):
(ewk_intent_service_get):
(ewk_intent_suggestions_get):
(ewk_intent_extra_get):
(ewk_intent_extra_names_get):
* UIProcess/API/efl/ewk_intent_private.h:
(WebKit):
(Ewk_Intent):
* UIProcess/API/efl/ewk_intent_service.cpp:
(Ewk_Intent_Service::Ewk_Intent_Service):
(Ewk_Intent_Service::action):
(Ewk_Intent_Service::type):
(Ewk_Intent_Service::href):
(Ewk_Intent_Service::title):
(Ewk_Intent_Service::disposition):
(ewk_intent_service_action_get):
(ewk_intent_service_type_get):
(ewk_intent_service_href_get):
(ewk_intent_service_title_get):
(ewk_intent_service_disposition_get):
* UIProcess/API/efl/ewk_intent_service_private.h:
(Ewk_Intent_Service):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_deliver):
2012-10-21 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk_Download_Job members private and remove private C functions
https://bugs.webkit.org/show_bug.cgi?id=99697
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Download_Job private and replace private C functions
by class methods. New methods were also added to match the
public C API.
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_download_job_add):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(decideDestinationWithSuggestedFilename):
(didReceiveResponse):
(didCreateDestination):
(didReceiveData):
(didFail):
(didCancel):
(didFinish):
* UIProcess/API/efl/ewk_download_job.cpp:
(Ewk_Download_Job::Ewk_Download_Job):
(Ewk_Download_Job::id):
(Ewk_Download_Job::view):
(ewk_download_job_state_get):
(Ewk_Download_Job::state):
(ewk_download_job_request_get):
(Ewk_Download_Job::request):
(ewk_download_job_response_get):
(Ewk_Download_Job::response):
(ewk_download_job_destination_get):
(Ewk_Download_Job::destination):
(ewk_download_job_destination_set):
(Ewk_Download_Job::setDestination):
(ewk_download_job_suggested_filename_get):
(Ewk_Download_Job::suggestedFileName):
(ewk_download_job_cancel):
(Ewk_Download_Job::cancel):
(ewk_download_job_estimated_progress_get):
(Ewk_Download_Job::estimatedProgress):
(ewk_download_job_elapsed_time_get):
(Ewk_Download_Job::elapsedTime):
(Ewk_Download_Job::setResponse):
(Ewk_Download_Job::setSuggestedFileName):
(Ewk_Download_Job::incrementReceivedData):
(Ewk_Download_Job::setState):
* UIProcess/API/efl/ewk_download_job.h:
* UIProcess/API/efl/ewk_download_job_private.h:
(Ewk_Download_Job):
2012-10-19 Anders Carlsson <andersca@apple.com>
Remove ::encode template specializations and just use overloads
https://bugs.webkit.org/show_bug.cgi?id=99865
Reviewed by Andreas Kling.
Get rid of the various encode functions and just use overloading instead.
* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::encode):
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/ArgumentEncoder.cpp:
(CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray):
(CoreIPC::ArgumentEncoder::encode):
* Platform/CoreIPC/ArgumentEncoder.h:
(ArgumentEncoder):
(CoreIPC::ArgumentEncoder::encodeEnum):
* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::sendOutgoingMessage):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::encode):
* Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::Handle::encode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::encode):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::encode):
* Shared/Plugins/NPIdentifierData.cpp:
(WebKit::NPIdentifierData::encode):
(WebKit::NPIdentifierData::decode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::encode):
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::encode):
* Shared/mac/KeychainAttribute.cpp:
(CoreIPC::encode):
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit::PlatformCertificateInfo::encode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::HandleArray::encode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::encode):
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::encode):
* Shared/mac/SecKeychainItemRequestData.cpp:
(WebKit::SecKeychainItemRequestData::encode):
* Shared/mac/SecKeychainItemResponseData.cpp:
(WebKit::SecKeychainItemResponseData::encode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::encode):
* Shared/qt/QtNetworkReplyData.cpp:
(WebKit::QtNetworkReplyData::encode):
* Shared/soup/PlatformCertificateInfo.cpp:
(WebKit::PlatformCertificateInfo::encode):
* Shared/win/LayerTreeContextWin.cpp:
(WebKit::LayerTreeContext::encode):
* Shared/win/PlatformCertificateInfo.cpp:
(WebKit::PlatformCertificateInfo::encode):
* Shared/win/WindowGeometry.cpp:
(WebKit::WindowGeometry::encode):
* WebProcess/WebPage/EncoderAdapter.cpp:
(WebKit::EncoderAdapter::encodeBool):
(WebKit::EncoderAdapter::encodeUInt16):
(WebKit::EncoderAdapter::encodeUInt32):
(WebKit::EncoderAdapter::encodeUInt64):
(WebKit::EncoderAdapter::encodeInt32):
(WebKit::EncoderAdapter::encodeInt64):
(WebKit::EncoderAdapter::encodeFloat):
(WebKit::EncoderAdapter::encodeDouble):
(WebKit::EncoderAdapter::encodeString):
2012-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix compile warning.
* UIProcess/API/gtk/tests/GNUmakefile.am: Pass sourcedir to
glib-compile-resource when generating dependencies too.
2012-10-19 Seokju Kwon <seokju.kwon@samsung.com>
[EFL][WK2] Change the title of inspector window when inspected page is changed
https://bugs.webkit.org/show_bug.cgi?id=99684
Reviewed by Gyuyoung Kim.
Implement platformInspectedURLChanged() to change the title of inspector window
when inspected page is changed.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
2012-10-19 Dan Bernstein <mitz@apple.com>
Add bundle API for hit-testing
https://bugs.webkit.org/show_bug.cgi?id=99907
Reviewed by Sam Weinig.
Test: TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameCreateHitTestResult): Added this wrapper.
* WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::hitTest): Added. Hit tests at the given point, ignoring clipping.
* WebProcess/WebPage/WebFrame.h:
(WebFrame): Declared hitTest.
2012-10-19 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Add API unit tests for scaling
https://bugs.webkit.org/show_bug.cgi?id=99451
Reviewed by Gyuyoung Kim.
Add API unit test for ewk_view_scale_set()/get() APIs.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-10-19 KyungTae Kim <ktf.kim@samsung.com>
[WK2][EFL] Modify ewk_view_scale_set to public API
https://bugs.webkit.org/show_bug.cgi?id=99902
Reviewed by Gyuyoung Kim.
Modify ewk_view_scale_set to public API.
* UIProcess/API/efl/ewk_view.h:
2012-10-19 Andreas Kling <kling@webkit.org>
Race condition in WebProcessProxy::handleGetPlugins().
<http://webkit.org/b/99903>
<rdar://problem/12541471>
Reviewed by Anders Carlsson.
Scope the Vector<PluginModuleInfo> so that all the destructors are guaranteed
to have run when sendDidGetPlugins() executes on the main thread.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::handleGetPlugins):
2012-10-19 Brady Eidson <beidson@apple.com>
WebProcess should only connect to the NetworkProcess if NetworkProcess is enabled
https://bugs.webkit.org/show_bug.cgi?id=99885
Reviewed by Alexey Proskuryakov.
WebContext should tell each WebProcess it creates whether NetworkProcess use is enabled.
Add a WebProcess initialization flag for whether or not NetworkProcess use is enabled:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
Include that info in the initialization parameters:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
Store whether or not NetworkProcess use is enabled, and only connect to the NetworkProcess if appropriate:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensureNetworkProcessConnection):
* WebProcess/WebProcess.h:
2012-10-19 Brady Eidson <beidson@apple.com>
Add infrastructure for NetworkProcess management
https://bugs.webkit.org/show_bug.cgi?id=99817
Reviewed by Alexey Proskuryakov.
Add support for the WebProcess itself requesting a connection to the default NetworkProcess.
Add proper handling of crashes so any of the Web/Network/UI processes crash the others take appropriate action.
Project file stuff and general messaging changes:
* DerivedSources.make:
* Platform/CoreIPC/MessageID.h:
* WebKit2.xcodeproj/project.pbxproj:
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC):
(CoreIPC::callMemberFunction): Add some new required templates.
WebContext now does much less of this stuff:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
* UIProcess/WebContext.h:
(WebContext):
UIProcess now has a process manager to handle most of this:
* UIProcess/Network/NetworkProcessManager.cpp:
(WebKit):
(WebKit::NetworkProcessManager::shared):
(WebKit::NetworkProcessManager::NetworkProcessManager):
(WebKit::NetworkProcessManager::getNetworkProcessConnection):
(WebKit::NetworkProcessManager::ensureNetworkProcess):
(WebKit::NetworkProcessManager::removeNetworkProcessProxy):
* UIProcess/Network/NetworkProcessManager.h:
(WebKit):
(NetworkProcessManager):
Flesh out the NetworkProcessProxy to handle creating these connections between Network and Web Processes:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::create):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit):
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/Network/NetworkProcessProxy.h:
(WebKit):
(NetworkProcessProxy):
* UIProcess/Network/NetworkProcessProxy.messages.in:
Add a class representing a connection from a NetworkProcess to a particular WebProcess:
* NetworkProcess/NetworkConnectionToWebProcess.cpp: Added.
(WebKit):
(WebKit::NetworkConnectionToWebProcess::create):
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveNetworkConnectionToWebProcessMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit):
(NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::connection):
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
Add the ability for a NetworkProcess to create a connection for a different process, which is used on behalf of WebProcesses for now:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::removeNetworkConnectionToWebProcess):
(WebKit):
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.h:
(WebKit):
(NetworkProcess):
* NetworkProcess/NetworkProcess.messages.in:
Forward on the message that a WebProcess wants a connection to a NetworkProcess:
* UIProcess/WebProcessProxy.cpp:
(WebKit):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
Add a class representing the WebProcesses connection to the NetworkProcess:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit):
(WebKit::NetworkProcessConnection::NetworkProcessConnection):
(WebKit::NetworkProcessConnection::~NetworkProcessConnection):
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
* WebProcess/Network/NetworkProcessConnection.h:
(WebKit):
(NetworkProcessConnection):
(WebKit::NetworkProcessConnection::create):
(WebKit::NetworkProcessConnection::connection):
Have the WebProcess make sure it has a connection to the NetworkProcess, even though it currently does nothing with it:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit):
(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::networkProcessConnectionClosed):
(WebKit::WebProcess::networkProcessCrashed):
* WebProcess/WebProcess.h:
(WebKit):
(WebProcess):
* WebProcess/WebProcess.messages.in:
2012-10-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r131931.
http://trac.webkit.org/changeset/131931
https://bugs.webkit.org/show_bug.cgi?id=99871
Broke Safari exensions (Requested by smfr on #webkit).
* CMakeLists.txt:
* GNUmakefile.list.am:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(Connection):
(CoreIPC::Connection::deprecatedSendSync):
(CoreIPC::Connection::deprecatedSend):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC::MessageEncoder::create):
(CoreIPC::MessageEncoder::MessageEncoder):
* Platform/CoreIPC/MessageEncoder.h:
(MessageEncoder):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::dispatchMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* Platform/CoreIPC/StringReference.cpp: Removed.
* Platform/CoreIPC/StringReference.h: Removed.
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(forward_declarations_and_headers):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
* Shared/CoreIPCSupport/WebContextMessageKinds.h:
* Target.pri:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::deprecatedSend):
(WebKit::WebProcessProxy::send):
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
2012-10-19 Anders Carlsson <andersca@apple.com>
Don't use CStrings for message receiver names and message names
https://bugs.webkit.org/show_bug.cgi?id=99853
Reviewed by Andreas Kling.
Introduce StringReference which is similar to DataReference except it holds a pointer to + length of a char *
and can be created from a string literal. Use this in place of CString in MessageEncoder/MessageDecoder and
make MessageReceiverMap use a HashMap from StringReferences to MessageReceivers for global message receivers.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(Connection):
(CoreIPC::Connection::deprecatedSendSync):
(CoreIPC::Connection::deprecatedSend):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(CoreIPC::MessageDecoder::messageReceiverName):
(CoreIPC::MessageDecoder::messageName):
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC::MessageEncoder::create):
(CoreIPC::MessageEncoder::MessageEncoder):
* Platform/CoreIPC/MessageEncoder.h:
(CoreIPC):
(MessageEncoder):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
(CoreIPC):
(CoreIPC::MessageReceiverMap::dispatchMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* Platform/CoreIPC/StringReference.cpp: Added.
(CoreIPC):
(CoreIPC::StringReference::encode):
(CoreIPC::StringReference::decode):
(CoreIPC::StringReference::Hash::hash):
* Platform/CoreIPC/StringReference.h: Added.
(CoreIPC):
(StringReference):
(CoreIPC::StringReference::StringReference):
(CoreIPC::StringReference::isEmpty):
(CoreIPC::StringReference::size):
(CoreIPC::StringReference::data):
(CoreIPC::StringReference::operator==):
(Hash):
(CoreIPC::StringReference::Hash::equal):
(WTF):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(forward_declarations_and_headers):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
* Shared/CoreIPCSupport/WebContextMessageKinds.h:
* Target.pri:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::addMessageReceiver):
(WebKit):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::deprecatedSend):
(WebKit::WebProcessProxy::send):
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
2012-10-19 Dongwoo Joshua Im <dw.im@samsung.com>
Rename ENABLE_CSS3_TEXT_DECORATION to ENABLE_CSS3_TEXT
https://bugs.webkit.org/show_bug.cgi?id=99804
Reviewed by Julien Chaffraix.
CSS3 text related properties will be implemented under this flag,
including text decoration, text-align-last, and text-justify.
* Configurations/FeatureDefines.xcconfig:
2012-10-19 Brady Eidson <beidson@apple.com>
REGRESSION (r131686): Crash in NSToolTipManager mouseEnteredToolTip
<rdar://problem/12527528> and https://bugs.webkit.org/show_bug.cgi?id=99792
Patch by Darin Adler, reviewed by Brady Eidson.
We should explicitly remove tooltips when the view moves to a new window.
* UIProcess/API/mac/WKView.mm:
(-[WKView viewDidMoveToWindow]):
2012-10-19 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WTR] renderToOffscreenBuffer should not be set if the real render loop is active
https://bugs.webkit.org/show_bug.cgi?id=99831
Reviewed by Jocelyn Turcotte.
Update the comment about renderToOffscreenBuffer to better describe its role.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::setNeedsDisplay):
2012-10-19 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2] Rename EflViewportHandler to PageViewportControllerClientEfl
https://bugs.webkit.org/show_bug.cgi?id=99101
Reviewed by Gyuyoung Kim.
Rename EFlViewportHandler to PageViewportControllerClientEfl.
Also, make it inherit from PageViewportControllerClient. The actual implementation
of PageViewportControllerClient for Efl port will come in a separate patch.
* CMakeLists.txt:
* PlatformEfl.cmake:
* UIProcess/API/efl/EflViewportHandler.cpp: Removed.
* UIProcess/API/efl/EflViewportHandler.h: Removed.
* UIProcess/API/efl/PageViewportControllerClientEfl.cpp: Copied from Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp.
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::drawingArea):
(WebKit::PageViewportControllerClientEfl::setRendererActive):
(WebKit::PageViewportControllerClientEfl::display):
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
(WebKit::PageViewportControllerClientEfl::didChangeViewportAttributes):
(WebKit::PageViewportControllerClientEfl::setController):
* UIProcess/API/efl/PageViewportControllerClientEfl.h: Copied from Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h.
(WebKit::PageViewportControllerClientEfl::create):
(PageViewportControllerClientEfl):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
(ewk_view_scale_set):
* UIProcess/PageViewportController.cpp:
* UIProcess/PageViewportController.h:
2012-10-19 Csaba Osztrogonác <ossy@webkit.org>
REGRESSION(r131844): It broke the build on !ENABLE(NETSCAPE_PLUGIN_API) platforms
https://bugs.webkit.org/show_bug.cgi?id=99820
Reviewed by Jocelyn Turcotte.
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess): Add missing ENABLE(PLUGIN_PROCESS) guard.
* UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: The whole file should be ENABLE(NETSCAPE_PLUGIN_API) guarded as the PluginInfoStore class.
(WebKit::PluginInfoStore::getPluginInfo):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin): Eliminate the unused webPage variable (build fail with -Werror) if !(PLATFORM(MAC)||ENABLE(NETSCAPE_PLUGIN_API)).
2012-10-19 Huang Dongsung <luxtella@company100.net>
Build fix after r131741 for !ENABLE(CSS_SHADERS) platforms.
https://bugs.webkit.org/show_bug.cgi?id=99775
Reviewed by Csaba Osztrogonác.
A class in WebKit namespace is only used when ENABLE(CSS_SHADERS), so we
must guard "using namespace WebKit" by ENABLE(CSS_SHADERS). Otherwise,
it brokes the Qt --minimal build.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):
2012-10-19 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION (r130640 - r130644): TestCookieManager API test is failing
https://bugs.webkit.org/show_bug.cgi?id=98738
Reviewed by Philippe Normand.
For some reason the order of the domains in the array has changed,
but it doesn't really matter, what we want to check is that both
cookies have been accepted and the array contains both domains.
* UIProcess/API/gtk/tests/TestCookieManager.cpp:
(testCookieManagerAcceptPolicy): Check that first and third party
domains are present in the domains array.
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
WebPageProxy::canShowMIMEType() should return false for plugins when they are disabled
https://bugs.webkit.org/show_bug.cgi?id=99449
Reviewed by Anders Carlsson.
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewCanShowMIMEType): Test that
webkit_web_view_can_show_mime_type() returns FALSE if plugins are
disabled.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canShowMIMEType): Return false for
MIME-Type of plugins if they are disabled.
2012-10-18 Brady Eidson <beidson@apple.com>
Move ConnectionStack out of WebProcessConnection into its own files.
https://bugs.webkit.org/show_bug.cgi?id=99813
Reviewed by Andreas Kling.
ConnectionStack will need to be used in a few upcoming areas, so it needs to be in its own header and implementation files.
Project file stuff:
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
Move it from here:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::setGlobalException):
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
Into here:
* Shared/ConnectionStack.cpp: Added.
(WebKit):
(WebKit::ConnectionStack::shared):
* Shared/ConnectionStack.h: Added.
(CoreIPC):
(WebKit):
(ConnectionStack):
(WebKit::ConnectionStack::current):
(CurrentConnectionPusher):
(WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
(WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
2012-10-18 Eunmi Lee <eunmi15.lee@samsung.com>
[EFL][WK2] Move ewk_{init,shutdown}() to the main() function of EFL API test.
https://bugs.webkit.org/show_bug.cgi?id=99681
Reviewed by Gyuyoung Kim.
The ewk_{init,shutdown}() is called whenever processing the each test,
so tests can be failed if EFL libraries APIs are called between
ewk_shutdown() and next ewk_init().
The ewk_{init,shutdown}() should be called once per application.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
(EWK2UnitTest::EWK2UnitTestBase::TearDown):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
(main):
2012-10-18 Byungwoo Lee <bw80.lee@samsung.com>
Fix build warning.
https://bugs.webkit.org/show_bug.cgi?id=99788
Reviewed by Kentaro Hara.
Remove parameter name or use ASSERT_UNUSED macro for removing
-Wunused-parameter.
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
2012-10-18 Ryuan Choi <ryuan.choi@gmail.com>
Attempt to fix the WebKit2/Efl build after r131841.
Unreviewed build fix.
Rename addMessageReceiver to deprecatedAddMessageReceiver.
* UIProcess/WebBatteryManagerProxy.cpp:
(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.cpp:
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
* UIProcess/WebVibrationProxy.cpp:
(WebKit::WebVibrationProxy::WebVibrationProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
2012-10-18 Benjamin Poulain <bpoulain@apple.com>
[WK2] WebKit2 does not build without PLUGIN_PROCESS on Mac
https://bugs.webkit.org/show_bug.cgi?id=99771
Reviewed by Anders Carlsson.
Add ENABLE(PLUGIN_PROCESS), ENABLE(SHARED_WORKER_PROCESS) and ENABLE(NETSCAPE_PLUGIN_API)
as needed to exclude the code with dependencies on PLUGIN_PROCESS.
* Platform/CoreIPC/MessageID.h:
* Shared/SharedWorkerProcessCreationParameters.cpp:
* Shared/SharedWorkerProcessCreationParameters.h:
* SharedWorkerProcess/SharedWorkerProcess.cpp:
* SharedWorkerProcess/SharedWorkerProcess.h:
* SharedWorkerProcess/SharedWorkerProcess.messages.in:
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetAdditionalPluginsDirectory):
(WKContextGetPluginSiteDataManager):
* UIProcess/API/C/WKPluginSiteDataManager.cpp:
(WKPluginSiteDataManagerGetTypeID):
(WKPluginSiteDataManagerGetSitesWithData):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::createProcess):
* UIProcess/Plugins/PluginInfoStore.cpp:
* UIProcess/Plugins/PluginInfoStore.h:
* UIProcess/Plugins/WebPluginSiteDataManager.cpp:
* UIProcess/Plugins/WebPluginSiteDataManager.h:
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::getPluginInfo):
* UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp:
* UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canShowMIMEType):
(WebKit):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
* UIProcess/WebProcessProxy.cpp:
(WebKit):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
* WebKit2Prefix.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin):
(WebKit::WebFrameLoaderClient::recreatePlugin):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::WebPlatformStrategies):
(WebKit::WebPlatformStrategies::refreshPlugins):
(WebKit::WebPlatformStrategies::getPluginInfo):
(WebKit):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
(WebKit):
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::createPlugin):
(WebKit::canPluginHandleResponse):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebProcess.cpp:
(WebKit):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:
2012-10-18 Laszlo Gombos <l.gombos@samsung.com>
[EFL] Buildfix if Netscape plugin support is disabled
https://bugs.webkit.org/show_bug.cgi?id=99757
Reviewed by Gyuyoung Kim.
Guard PluginProcessMainUnix.cpp with ENABLE(PLUGIN_PROCESS).
* PluginProcess/unix/PluginProcessMainUnix.cpp:
2012-10-18 Anders Carlsson <andersca@apple.com>
Deprecate the current version of MessageReceiverMap::addMessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=99797
Reviewed by Andreas Kling.
Rename addMessageReceiver to deprecatedAddMessageReceiver in preparation for adding a new
version that takes a string instead.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::deprecatedAddMessageReceiver):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::deprecatedAddMessageReceiver):
(CoreIPC::MessageReceiverMap::invalidate):
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::deprecatedAddMessageReceiver):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::WebIconDatabase):
* UIProcess/WebKeyValueStorageManagerProxy.cpp:
(WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
* WebProcess/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::registerWebPage):
2012-10-18 Chris Fleizach <cfleizach@apple.com>
AX: Crashes in WebProcess at com.apple.WebCore: -[AccessibilityObjectWrapper remoteAccessibilityParentObject] + 78
https://bugs.webkit.org/show_bug.cgi?id=96443
Reviewed by Beth Dakin.
It appears that the crash is due to not checking whether the page object is null.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
2012-10-18 Jaehun Lim <ljaehun.lim@samsung.com>
Add support for float-valued prefernces
https://bugs.webkit.org/show_bug.cgi?id=99419
Reviewed by Anders Carlsson.
Support float values for preferences in WK2.
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::encode):
(WebKit::WebPreferencesStore::decode):
(WebKit):
(WebKit::defaultValueForKey):
* Shared/WebPreferencesStore.h:
(WebKit):
(WebPreferencesStore):
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::updateFloatValueForKey):
(WebKit):
* UIProcess/WebPreferences.h:
(WebPreferences):
* UIProcess/cf/WebPreferencesCF.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/efl/WebPreferencesEfl.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/mac/WebPreferencesMac.mm:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
* UIProcess/qt/WebPreferencesQt.cpp:
(WebKit::WebPreferences::platformUpdateFloatValueForKey):
(WebKit):
2012-10-18 Anders Carlsson <andersca@apple.com>
Replace uses of ArgumentEncoder/ArgumentDecoder with MessageEncoder/MessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=99746
Reviewed by Andreas Kling.
Change all occurrences of ArgumentDecoder* to MessageDecoder& and all occurrences of ArgumentEncoder*
to ArgumentEncoder& in all the message receivers. This is the second step towards getting rid of MessageID.
2012-10-18 Yael Aharon <yael.aharon@intel.com>
PageViewportController::m_rawAttributes.devicePixelRatio is not initialized
https://bugs.webkit.org/show_bug.cgi?id=99751
Reviewed by Antonio Gomes.
PageViewportController::m_rawAttributes.devicePixelRatio needs to be initialized.
Due to race condition, we could set the viewport attributes before the first layout.
If that happens, PageViewportController::m_rawAttributes.devicePixelRatio
is used without being initialized.
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
2012-10-18 Roger Fong <roger_fong@apple.com>
Unreviewed. Build fix after r131701 and r131777.
* win/WebKit2.def:
2012-10-18 Anders Carlsson <andersca@apple.com>
Build fix.
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
2012-10-18 Anders Carlsson <andersca@apple.com>
Generated messages should have a receiver name and a name
https://bugs.webkit.org/show_bug.cgi?id=99740
Reviewed by Andreas Kling.
As a first step towards getting rid of MessageID, give each generated message a name and receiver name
and pass them along when sending the messages.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_messages_header):
* Scripts/webkit2/messages_unittest.py:
2012-10-18 Pablo Flouret <pablof@motorola.com>
Implement css3-conditional's @supports rule
https://bugs.webkit.org/show_bug.cgi?id=86146
Reviewed by Antti Koivisto.
* Configurations/FeatureDefines.xcconfig:
Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
2012-10-18 Michael Saboff <msaboff@apple.com>
Make conversion between JSStringRef and WKStringRef work without character size conversions
https://bugs.webkit.org/show_bug.cgi?id=99727
Reviewed by Anders Carlsson.
Use the wrapped WTFString object to convert between JSStringRef and WKStringRef.
* Shared/WebString.h:
(WebKit::JSStringCreateWithString):
(WebKit::WebString::create):
(WebKit::WebString::createJSString):
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use using namespace WebKit in private headers in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=99724
Reviewed by Xan Lopez.
Move using namespace WebKit from private headers to the cpp file.
* UIProcess/API/gtk/WebKitBackForwardList.cpp:
* UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
* UIProcess/API/gtk/WebKitContextMenu.cpp:
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
* UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
* UIProcess/API/gtk/WebKitContextMenuPrivate.h:
* UIProcess/API/gtk/WebKitCookieManager.cpp:
* UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
* UIProcess/API/gtk/WebKitDownload.cpp:
* UIProcess/API/gtk/WebKitDownloadPrivate.h:
* UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
* UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
* UIProcess/API/gtk/WebKitFindController.cpp:
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
* UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
* UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
* UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
* UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
* UIProcess/API/gtk/WebKitGeolocationProvider.h:
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
* UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
* UIProcess/API/gtk/WebKitJavascriptResult.cpp:
* UIProcess/API/gtk/WebKitJavascriptResultPrivate.h:
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
* UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPolicyDecision.cpp:
* UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
* UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitSettings.cpp:
* UIProcess/API/gtk/WebKitSettingsPrivate.h:
* UIProcess/API/gtk/WebKitURIResponse.cpp:
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebInspector.cpp:
* UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
* UIProcess/API/gtk/WebKitWebResource.cpp:
* UIProcess/API/gtk/WebKitWebResourcePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
* UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitFileChooserRequest
https://bugs.webkit.org/show_bug.cgi?id=96774
Reviewed by Xan Lopez.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(_WebKitFileChooserRequestPrivate):
(webkitFileChooserRequestCreate):
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_select_multiple):
(webkit_file_chooser_request_select_files):
(webkit_file_chooser_request_get_selected_files):
(webkit_file_chooser_request_cancel):
* UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
* UIProcess/API/gtk/WebKitUIClient.cpp:
(runOpenPanel):
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitFormSubmissionRequest
https://bugs.webkit.org/show_bug.cgi?id=96777
Reviewed by Xan Lopez.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitFormClient.cpp:
(willSubmitForm):
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
(_WebKitFormSubmissionRequestPrivate):
(webkitFormSubmissionRequestCreate):
(webkit_form_submission_request_get_text_fields):
(webkit_form_submission_request_submit):
* UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitSettings
https://bugs.webkit.org/show_bug.cgi?id=96784
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitSettings.cpp:
(_WebKitSettingsPrivate):
(webkit_settings_class_init):
(webkit_settings_init):
(webkitSettingsAttachSettingsToPage):
(webkit_settings_get_enable_javascript):
(webkit_settings_set_enable_javascript):
(webkit_settings_get_auto_load_images):
(webkit_settings_set_auto_load_images):
(webkit_settings_get_load_icons_ignoring_image_load_setting):
(webkit_settings_set_load_icons_ignoring_image_load_setting):
(webkit_settings_get_enable_offline_web_application_cache):
(webkit_settings_set_enable_offline_web_application_cache):
(webkit_settings_get_enable_html5_local_storage):
(webkit_settings_set_enable_html5_local_storage):
(webkit_settings_get_enable_html5_database):
(webkit_settings_set_enable_html5_database):
(webkit_settings_get_enable_xss_auditor):
(webkit_settings_set_enable_xss_auditor):
(webkit_settings_get_enable_frame_flattening):
(webkit_settings_set_enable_frame_flattening):
(webkit_settings_get_enable_plugins):
(webkit_settings_set_enable_plugins):
(webkit_settings_get_enable_java):
(webkit_settings_set_enable_java):
(webkit_settings_get_javascript_can_open_windows_automatically):
(webkit_settings_set_javascript_can_open_windows_automatically):
(webkit_settings_get_enable_hyperlink_auditing):
(webkit_settings_set_enable_hyperlink_auditing):
(webkit_settings_set_default_font_family):
(webkit_settings_set_monospace_font_family):
(webkit_settings_set_serif_font_family):
(webkit_settings_set_sans_serif_font_family):
(webkit_settings_set_cursive_font_family):
(webkit_settings_set_fantasy_font_family):
(webkit_settings_set_pictograph_font_family):
(webkit_settings_get_default_font_size):
(webkit_settings_set_default_font_size):
(webkit_settings_get_default_monospace_font_size):
(webkit_settings_set_default_monospace_font_size):
(webkit_settings_get_minimum_font_size):
(webkit_settings_set_minimum_font_size):
(webkit_settings_set_default_charset):
(webkit_settings_get_enable_private_browsing):
(webkit_settings_set_enable_private_browsing):
(webkit_settings_get_enable_developer_extras):
(webkit_settings_set_enable_developer_extras):
(webkit_settings_get_enable_resizable_text_areas):
(webkit_settings_set_enable_resizable_text_areas):
(webkit_settings_get_enable_tabs_to_links):
(webkit_settings_set_enable_tabs_to_links):
(webkit_settings_get_enable_dns_prefetching):
(webkit_settings_set_enable_dns_prefetching):
(webkit_settings_get_enable_caret_browsing):
(webkit_settings_set_enable_caret_browsing):
(webkit_settings_get_enable_fullscreen):
(webkit_settings_set_enable_fullscreen):
(webkit_settings_get_print_backgrounds):
(webkit_settings_set_print_backgrounds):
(webkit_settings_get_enable_webaudio):
(webkit_settings_set_enable_webaudio):
(webkit_settings_get_enable_webgl):
(webkit_settings_set_enable_webgl):
(webkit_settings_get_allow_modal_dialogs):
(webkit_settings_get_zoom_text_only):
(webkit_settings_get_javascript_can_access_clipboard):
(webkit_settings_set_javascript_can_access_clipboard):
(webkit_settings_get_media_playback_requires_user_gesture):
(webkit_settings_set_media_playback_requires_user_gesture):
(webkit_settings_get_media_playback_allows_inline):
(webkit_settings_set_media_playback_allows_inline):
(webkit_settings_get_draw_compositing_indicators):
(webkit_settings_set_draw_compositing_indicators):
(webkit_settings_get_enable_site_specific_quirks):
(webkit_settings_set_enable_site_specific_quirks):
(webkit_settings_get_enable_page_cache):
(webkit_settings_set_enable_page_cache):
(webkit_settings_get_enable_smooth_scrolling):
(webkit_settings_set_enable_smooth_scrolling):
* UIProcess/API/gtk/WebKitSettingsPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSetSettings):
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ debug build.
* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkitWebResourceCreate):
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitWindowProperties
https://bugs.webkit.org/show_bug.cgi?id=96785
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreateNewPage):
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
(webkitWindowPropertiesUpdateFromWebWindowFeatures):
* UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h:
2012-10-18 Huang Dongsung <luxtella@company100.net>
[WK2] Add CustomFilterOperation serialization in ArgumentCoder.
https://bugs.webkit.org/show_bug.cgi?id=98733
Reviewed by Noam Rosenthal.
Add ArgumentCoders for CustomFilterOperation and all dependent classes.
Coordinated Graphics will use this css shaders serialization when it enables CSS
Shaders.
No new tests, code path is not activated yet.
* CMakeLists.txt:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: Added.
(CoreIPC):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: Added.
(WebCore):
(CoreIPC):
* Shared/CoordinatedGraphics/WebCustomFilterProgram.h: Added.
(WebKit):
(WebCustomFilterProgram):
WebCustomFilterProgram is made to serialize the data of a
StyleCustomFilterProgram to the UI process.
(WebKit::WebCustomFilterProgram::create):
(WebKit::WebCustomFilterProgram::WebCustomFilterProgram):
* Shared/ShareableSurface.cpp:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* Target.pri:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
* WebKit2.pri:
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitWebResource
https://bugs.webkit.org/show_bug.cgi?id=96783
Reviewed by Xan Lopez.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitWebResource.cpp:
(_WebKitWebResourcePrivate):
(webkitWebResourceCreate):
(webkitWebResourceGetFrame):
(ResourceGetDataAsyncData):
(resourceDataCallback):
(webkit_web_resource_get_data):
(webkit_web_resource_get_data_finish):
* UIProcess/API/gtk/WebKitWebResourcePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(setCertificateToMainResource):
(webkitWebViewResourceLoadStarted):
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitURIResponse
https://bugs.webkit.org/show_bug.cgi?id=96782
Reviewed by Xan Lopez.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkitURIResponseSetCertificateInfo):
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(setCertificateToMainResource):
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in PolicyClient classes
https://bugs.webkit.org/show_bug.cgi?id=96781
Reviewed by Xan Lopez.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
(webkitNavigationPolicyDecisionCreate):
* UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPolicyClient.cpp:
(decidePolicyForNavigationActionCallback):
(decidePolicyForNewWindowActionCallback):
(decidePolicyForResponseCallback):
(attachPolicyClientToView):
* UIProcess/API/gtk/WebKitPolicyClient.h:
* UIProcess/API/gtk/WebKitPolicyDecision.cpp:
(_WebKitPolicyDecisionPrivate):
(webkitPolicyDecisionFinalize):
(webkitPolicyDecisionSetListener):
(webkit_policy_decision_use):
(webkit_policy_decision_ignore):
(webkit_policy_decision_download):
* UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitPrivate.cpp:
(wkEventMouseButtonToWebKitMouseButton):
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
(webkitResponsePolicyDecisionCreate):
* UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):
2012-10-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=96779
Reviewed by Xan Lopez.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
* UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewMouseTargetChanged):
(webkitWebViewPopulateContextMenu):
2012-10-15 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WTR] Do a forced repaint before generating pixel results
https://bugs.webkit.org/show_bug.cgi?id=98654
Reviewed by Jocelyn Turcotte.
Added API to convert a QImage to a WKImage so we can
pass it to cross-platform code.
* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateFromQImage):
* Shared/API/c/qt/WKImageQt.h:
2012-10-18 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
[CMake] Depend on the Python scripts in WebKit2/Scripts/webkit2 when regenerating messages.
https://bugs.webkit.org/show_bug.cgi?id=99702
Reviewed by Gyuyoung Kim.
Be in line with most (or all) the other build systems and
explicitly depend on all the scripts in
${WEBKIT2_DIR}/Scripts/webkit2 for the custom command that
generates messages.
This helps fix the build after the recent change to messages.py,
which did not trigger a regeneration of the required files --
people were just removing their DerivedSources directory
altogether.
* CMakeLists.txt:
2012-10-18 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Fix incorrect test expectations of messages_unittest.py.
https://bugs.webkit.org/show_bug.cgi?id=99699
Reviewed by Gyuyoung Kim.
Fix the expected results of messages_unittest.py.
The expected result of messages_unittest.py has bugs, and it makes failure on python test.
* Scripts/webkit2/messages_unittest.py:
2012-10-18 Jussi Kukkonen <jussi.kukkonen@intel.com>
Add PluginProcessProxy::platformInitializeLaunchOptions
https://bugs.webkit.org/show_bug.cgi?id=99583
Reviewed by Sam Weinig.
Add a platform specific launch options initializer. This enables
fixing bug 99297 "[EFL] Make plugin process debugging easier
(PLUGIN_PROCESS_COMMAND_PREFIX)".
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::PluginProcessProxy):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):
2012-10-18 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Update test expectation for the python message test after r131700
https://bugs.webkit.org/show_bug.cgi?id=99689
Reviewed by Gyuyoung Kim.
Need to update test expectations about including headers and forwarding
declarations on derived sources for ipc message. (after r131700 : build fix)
* Scripts/webkit2/messages_unittest.py:
2012-10-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Remove '_' prefix from private API structure names
https://bugs.webkit.org/show_bug.cgi?id=99575
Reviewed by Gyuyoung Kim.
Removed underscore prefix from WK2 EFL internal structure names.
* UIProcess/API/efl/VibrationProvider.cpp:
(Ewk_Vibration_Client::Ewk_Vibration_Client):
* UIProcess/API/efl/VibrationProvider.h:
* UIProcess/API/efl/ewk_back_forward_list.h:
* UIProcess/API/efl/ewk_back_forward_list_item.h:
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
(Ewk_Back_Forward_List_Item::create):
(Ewk_Back_Forward_List_Item::Ewk_Back_Forward_List_Item):
* UIProcess/API/efl/ewk_back_forward_list_private.h:
(Ewk_Back_Forward_List::create):
(Ewk_Back_Forward_List::Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Url_Scheme_Handler::Ewk_Url_Scheme_Handler):
(Ewk_Context::Ewk_Context):
(ewk_context_url_scheme_request_received):
(ewk_context_url_scheme_register):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_download_client_private.h:
* UIProcess/API/efl/ewk_context_history_client_private.h:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_context_request_manager_client_private.h:
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(Ewk_Cookie_Manager::Ewk_Cookie_Manager):
(Ewk_Cookie_Manager::~Ewk_Cookie_Manager):
* UIProcess/API/efl/ewk_cookie_manager.h:
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(Ewk_Cookie_Manager::create):
(Ewk_Cookie_Manager):
* UIProcess/API/efl/ewk_download_job.h:
* UIProcess/API/efl/ewk_download_job_private.h:
(Ewk_Download_Job::create):
(Ewk_Download_Job::Ewk_Download_Job):
* UIProcess/API/efl/ewk_error.cpp:
(Ewk_Error::Ewk_Error):
* UIProcess/API/efl/ewk_error.h:
* UIProcess/API/efl/ewk_error_private.h:
(Ewk_Error::create):
(Ewk_Error):
* UIProcess/API/efl/ewk_favicon_database.cpp:
(Ewk_Favicon_Database::Ewk_Favicon_Database):
* UIProcess/API/efl/ewk_favicon_database.h:
* UIProcess/API/efl/ewk_favicon_database_private.h:
(Ewk_Favicon_Database::create):
(Ewk_Favicon_Database):
* UIProcess/API/efl/ewk_form_submission_request.h:
* UIProcess/API/efl/ewk_form_submission_request_private.h:
(Ewk_Form_Submission_Request::~Ewk_Form_Submission_Request):
(Ewk_Form_Submission_Request::create):
(Ewk_Form_Submission_Request::Ewk_Form_Submission_Request):
* UIProcess/API/efl/ewk_intent.h:
* UIProcess/API/efl/ewk_intent_private.h:
(Ewk_Intent::create):
(Ewk_Intent::Ewk_Intent):
* UIProcess/API/efl/ewk_intent_service.h:
* UIProcess/API/efl/ewk_intent_service_private.h:
(Ewk_Intent_Service::create):
(Ewk_Intent_Service::Ewk_Intent_Service):
* UIProcess/API/efl/ewk_navigation_data.h:
* UIProcess/API/efl/ewk_navigation_data_private.h:
(Ewk_Navigation_Data::create):
(Ewk_Navigation_Data::Ewk_Navigation_Data):
* UIProcess/API/efl/ewk_navigation_policy_decision.h:
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(Ewk_Navigation_Policy_Decision::~Ewk_Navigation_Policy_Decision):
(Ewk_Navigation_Policy_Decision::create):
(Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(Ewk_Popup_Menu_Item::Ewk_Popup_Menu_Item):
* UIProcess/API/efl/ewk_popup_menu_item.h:
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
(Ewk_Popup_Menu_Item::create):
(Ewk_Popup_Menu_Item):
* UIProcess/API/efl/ewk_resource.h:
* UIProcess/API/efl/ewk_resource_private.h:
(Ewk_Resource::create):
(Ewk_Resource::Ewk_Resource):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/ewk_settings_private.h:
(Ewk_Settings::Ewk_Settings):
* UIProcess/API/efl/ewk_text_checker_private.h:
* UIProcess/API/efl/ewk_touch.h:
* UIProcess/API/efl/ewk_url_request.h:
* UIProcess/API/efl/ewk_url_request_private.h:
(Ewk_Url_Request::create):
(Ewk_Url_Request::Ewk_Url_Request):
* UIProcess/API/efl/ewk_url_response.h:
* UIProcess/API/efl/ewk_url_response_private.h:
(Ewk_Url_Response::create):
(Ewk_Url_Response::Ewk_Url_Response):
* UIProcess/API/efl/ewk_url_scheme_request.h:
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data::Ewk_View_Private_Data):
(Ewk_View_Private_Data::~Ewk_View_Private_Data):
(_ewk_view_smart_add):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
2012-10-18 Ryosuke Niwa <rniwa@webkit.org>
Lion build fix after r131686. Add back if-def around #imports.
* UIProcess/API/mac/WKView.mm:
2012-10-17 Byungwoo Lee <bw80.lee@samsung.com>
[WK2] Fix build break
https://bugs.webkit.org/show_bug.cgi?id=99670
Reviewed by Anders Carlsson.
Unreviewed build fix.
Include MessageEncoder.h instead of forwarding declaration for
MessageEncoder class.
* Scripts/webkit2/messages.py:
(forward_declarations_and_headers):
2012-10-17 Darin Adler <darin@apple.com>
Make subclassing of WKView safer by namespacing methods and eliminating its use as an observer and delegate
https://bugs.webkit.org/show_bug.cgi?id=99251
Reviewed by Anders Carlsson.
Apps that subclass WKView should be able to freely choose method names without conflicting with a name
we chose to use internally in WKView's own implementation. Thus, it's a good idea to add a "_wk_" prefix
to any method names that are solely for internal WebKit2 use. Exceptions to this are method names that
are predetermined by AppKit, or names that are part of API or SPI.
Apps that subclass WKView should be able to add observers or use the WKView as a delegate without
conflicting with similar use in the WKView implementations. Thus, changed to use separate block-style
observers for the window notifications and a separate delegate for the tool tip implementation.
The challenging aspect of this patch was to research which method names were determined by AppKit.
There's nothing in the WebKit2 source code that necessarily states this explicitly.
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::createDrawingAreaProxy): Updated for new method name.
(WebKit::PageClientImpl::scrollView): Ditto.
(WebKit::PageClientImpl::isViewFocused): Ditto.
(WebKit::PageClientImpl::colorSpace): Ditto.
(WebKit::PageClientImpl::processDidCrash): Ditto.
(WebKit::PageClientImpl::pageClosed): Ditto.
(WebKit::PageClientImpl::didRelaunchProcess): Ditto.
(WebKit::PageClientImpl::toolTipChanged): Ditto.
(WebKit::PageClientImpl::setCursor): Ditto.
(WebKit::PageClientImpl::interpretKeyEvent): Ditto.
(WebKit::PageClientImpl::setDragImage): Ditto.
(WebKit::PageClientImpl::setPromisedData): Ditto.
(WebKit::PageClientImpl::updateTextInputState): Ditto.
(WebKit::PageClientImpl::resetTextInputState): Ditto.
(WebKit::PageClientImpl::convertToDeviceSpace): Ditto.
(WebKit::PageClientImpl::convertToUserSpace): Ditto.
(WebKit::PageClientImpl::doneWithKeyEvent): Ditto.
(WebKit::PageClientImpl::setFindIndicator): Ditto.
(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): Ditto.
(WebKit::PageClientImpl::enterAcceleratedCompositingMode): Ditto.
(WebKit::PageClientImpl::exitAcceleratedCompositingMode): Ditto.
(WebKit::PageClientImpl::updateAcceleratedCompositingMode): Ditto.
(WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged): Ditto.
(WebKit::PageClientImpl::setPluginComplexTextInputState): Ditto.
(WebKit::PageClientImpl::didChangeScrollbarsForMainFrame): Ditto.
(WebKit::PageClientImpl::didCommitLoadForMainFrame): Ditto.
(WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): Ditto.
(WebKit::PageClientImpl::customRepresentationZoomFactor): Ditto.
(WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
(WebKit::PageClientImpl::findStringInCustomRepresentation): Ditto.
(WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Ditto.
(WebKit::PageClientImpl::executeSavedCommandBySelector): Ditto.
(WebKit::PageClientImpl::showDictationAlternativeUI): Ditto.
* UIProcess/API/mac/WKView.mm: Simplified imports a bit. No need for conditional imports of basic classes
like NSTextAlternatives.h and NSAttributedString.h. No need to put internal headers in a separate paragraph.
Added WKToolTipDelegate class and added _toolTipDelegate and _observers fields to WKViewData.
(-[WKView becomeFirstResponder]): Updated for new method name.
(-[WKView resignFirstResponder]): Ditto.
(-[WKView setFrameSize:]): Ditto.
(-[WKView _wk_updateWindowAndViewFrames]): Ditto.
(-[WKView renewGState]): Ditto.
(-[WKView _wk_setPluginComplexTextInputState:]): Ditto.
(validateCommandCallback): Ditto.
(-[WKView displayIfNeeded]): Fixed a comment typo.
(-[WKView _wk_setMouseDownEvent:]): Updated for new method name.
(-[WKView mouseDown:]): Ditto.
(-[WKView mouseUp:]): Ditto.
(-[WKView acceptsFirstMouse:]): Ditto.
(-[WKView shouldDelayWindowOrderingForEvent:]): Ditto.
(-[WKView _wk_handleStyleKeyEquivalent:]): Ditto.
(-[WKView performKeyEquivalent:]): Ditto.
(-[WKView _wk_disableComplexTextInputIfNecessary]): Ditto.
(-[WKView _wk_handlePluginComplexTextInputKeyDown:]): Ditto.
(-[WKView _wk_tryHandlePluginComplexTextInputKeyDown:]): Ditto.
(-[WKView keyDown:]): Ditto.
(-[WKView _wk_executeSavedKeypressCommands]): Ditto.
(-[WKView _wk_notifyInputContextAboutDiscardedComposition]): Ditto.
(-[WKView selectedRange]): Ditto.
(-[WKView hasMarkedText]): Ditto.
(-[WKView unmarkText]): Ditto.
(-[WKView setMarkedText:selectedRange:replacementRange:]): Ditto.
(-[WKView markedRange]): Ditto.
(-[WKView attributedSubstringForProposedRange:actualRange:]): Ditto.
(-[WKView characterIndexForPoint:]): Ditto.
(-[WKView firstRectForCharacterRange:actualRange:]): Ditto.
(-[WKView _wk_updateWindowVisibility]): Ditto.
(-[WKView _wk_updateWindowObserversForWindow:]): Replaced the two separate methods
addWindowObserversForWindow and removeWindowObservers with this single method, since
the two are only used in tandem. Changed code to use blocks for the observers and to
keep the observers in an array.
(-[WKView viewWillMoveToWindow:]): Updated to use _wk_updateWindowObserversForWindow.
(-[WKView viewDidMoveToWindow]): Updated for new method names.
(-[WKView _wk_windowScreenDidChange]): Ditto.
(-[WKView _wk_windowDidBecomeKey:]): Ditto.
(-[WKView _wk_windowDidChangeScreen:]): Ditto.
(-[WKView _wk_windowDidResignKey:]): Ditto.
(-[WKView _wk_windowDidMiniaturize:]): Ditto.
(-[WKView _wk_windowDidDeminiaturize:]): Ditto.
(-[WKView _wk_windowDidMove:]): Ditto.
(-[WKView _wk_windowDidResize:]): Ditto.
(-[WKView _wk_windowDidOrderOffScreen:]): Ditto.
(-[WKView _wk_windowDidOrderOnScreen:]): Ditto.
(-[WKView _wk_windowDidChangeBackingProperties:]): Ditto.
(-[WKView drawRect:]): Ditto.
(-[WKView _wk_accessibilityRegisterUIProcessTokens]): Ditto.
(-[WKView _wk_updateRemoteAccessibilityRegistration:]): Ditto.
(-[WKView _wk_postFakeMouseMovedEventForFlagsChangedEvent:]): Ditto.
(-[WKView _wk_intrinsicDeviceScaleFactor]): Ditto.
(-[WKView _wk_setDrawingAreaSize:]): Ditto.
(-[WKView _wk_shouldUseTiledDrawingArea]): Ditto.
(-[WKView _wk_createDrawingAreaProxy]): Ditto.
(-[WKView _wk_isFocused]): Ditto.
(-[WKView _wk_processDidCrash]): Ditto.
(-[WKView _wk_pageClosed]): Ditto.
(-[WKView _wk_didRelaunchProcess]): Ditto.
(-[WKView _wk_setCursor:]): Ditto.
(-[WKView _wk_setUserInterfaceItemState:enabled:state:]): Ditto.
(-[WKView _wk_tryPostProcessPluginComplexTextInputKeyDown:]): Ditto.
(-[WKView _wk_doneWithKeyEvent:eventWasHandled:]): Ditto.
(-[WKView _wk_interpretKeyEvent:savingCommandsTo:]): Ditto.
(-[WKView _wk_convertToDeviceSpace:]): Ditto.
(-[WKView _wk_convertToUserSpace:]): Ditto.
(-[WKView _wk_addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Ditto.
(-[WKView _wk_addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
(-[WKView _wk_removeTrackingRects:count:]): Ditto.
(-[WKView _wk_sendToolTipMouseExited]): Ditto.
(-[WKView _wk_sendToolTipMouseEntered]): Ditto.
(-[WKView _wk_toolTipChangedFrom:to:]): Changed to use the data object as the tool tip owner so
the delegate method can be there rather than on WKView.
(-[WKView _wk_setFindIndicator:fadeOut:animate:]): Updated for new method names.
(-[WKView _wk_enterAcceleratedCompositingMode:]): Ditto.
(-[WKView _wk_exitAcceleratedCompositingMode]): Ditto.
(-[WKView _wk_updateAcceleratedCompositingMode:]): Ditto.
(-[WKView _wk_setAccessibilityWebProcessToken:]): Ditto.
(-[WKView _wk_pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Ditto.
(-[WKView _wk_setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Ditto.
(-[WKView _wk_setPageHasCustomRepresentation:]): Ditto.
(-[WKView _wk_didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:]): Ditto.
(-[WKView _wk_customRepresentationZoomFactor]): Ditto.
(-[WKView _wk_setCustomRepresentationZoomFactor:]): Ditto.
(-[WKView _wk_findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
(-[WKView _wk_countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Ditto.
(-[WKView _wk_setDragImage:at:linkDrag:]): Ditto.
(-[WKView _wk_setPromisedData:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Ditto.
(-[WKView _wk_updateSecureInputState]): Ditto.
(-[WKView _wk_updateTextInputStateIncludingSecureInputState:]): Ditto.
(-[WKView _wk_resetTextInputState]): Ditto.
(-[WKView _wk_didChangeScrollbarsForMainFrame]): Ditto.
(-[WKView _wk_hasFullScreenWindowController]): Ditto.
(-[WKView _wk_fullScreenWindowController]): Ditto.
(-[WKView _wk_closeFullScreenWindowController]): Ditto.
(-[WKView _wk_executeSavedCommandBySelector:]): Ditto.
(-[WKView _wk_cacheWindowBottomCornerRect]): Ditto.
(-[WKView _wk_spellCheckerDocumentTag]): Ditto.
(-[WKView _wk_handleAcceptedAlternativeText:]): Ditto.
(-[WKView _wk_setSuppressVisibilityUpdates:]): Ditto.
(-[WKView _wk_suppressVisibilityUpdates]): Ditto.
(-[WKView _wk_registerDraggedTypes]): Ditto.
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Ditto.
(-[WKView wantsUpdateLayer]): Ditto.
(-[WKView enableFrameSizeUpdates]): Ditto.
(-[WKToolTipDelegate initWithPage:]): Added.
(-[WKToolTipDelegate view:stringForToolTip:point:userData:]): Added.
* UIProcess/API/mac/WKViewInternal.h: Changed all internal method names to have a _wk_ prefix.
* UIProcess/API/mac/WKViewPrivate.h: Expose the _shouldUseTiledDrawingArea method formally as SPI
since Safari is currently overriding this method.
* UIProcess/mac/CorrectionPanel.mm:
(WebKit::CorrectionPanel::recordAutocorrectionResponse): Updated for new method names.
(WebKit::CorrectionPanel::handleAcceptedReplacement): Ditto.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]): Updated for new method names.
(-[WKFullScreenWindowController exitFullScreen]): Ditto.
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Ditto.
* UIProcess/mac/WebFullScreenManagerProxyMac.mm:
(WebKit::WebFullScreenManagerProxy::invalidate): Updated for new method names.
(WebKit::WebFullScreenManagerProxy::close): Ditto.
(WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::enterFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Ditto.
(WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Ditto.
2012-10-15 Anders Carlsson <andersca@apple.com>
Add MessageEncoder and MessageDecoder subclasses
https://bugs.webkit.org/show_bug.cgi?id=99365
Reviewed by Andreas Kling.
This is the first step towards cleaning up IPC handling in WebKit2. The idea is that MessageEncoder and MessageDecoder
will handle all the IPC specific parts of encoding and decoding (such as attachments), whereas the ArgumentEncoder and ArgumentDecoder
classes are only used for serializing simpler data types.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::create):
(CoreIPC::ArgumentDecoder::initialize):
* Platform/CoreIPC/ArgumentDecoder.h:
(ArgumentDecoder):
* Platform/CoreIPC/ArgumentEncoder.cpp:
(CoreIPC::ArgumentEncoder::create):
(CoreIPC::ArgumentEncoder::ArgumentEncoder):
* Platform/CoreIPC/ArgumentEncoder.h:
(ArgumentEncoder):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::waitForSyncReply):
(CoreIPC::Connection::processIncomingSyncReply):
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::dispatchSyncMessage):
(CoreIPC::Connection::dispatchMessage):
* Platform/CoreIPC/Connection.h:
(Connection):
(PendingSyncReply):
(CoreIPC::Connection::PendingSyncReply::releaseReplyDecoder):
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
(CoreIPC::Connection::waitForAndDispatchImmediately):
(CoreIPC::Connection::deprecatedSendSync):
(CoreIPC::Connection::deprecatedSend):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::create):
(CoreIPC::MessageDecoder::~MessageDecoder):
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(CoreIPC):
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC):
(CoreIPC::MessageEncoder::create):
(CoreIPC::MessageEncoder::MessageEncoder):
(CoreIPC::MessageEncoder::~MessageEncoder):
* Platform/CoreIPC/MessageEncoder.h:
(CoreIPC):
(MessageEncoder):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendMessage):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::sendOutgoingMessage):
(CoreIPC::createMessageDecoder):
(CoreIPC::Connection::receiveSourceEventHandler):
* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::processMessage):
(CoreIPC::Connection::sendOutgoingMessage):
* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::readEventHandler):
(CoreIPC::Connection::writeEventHandler):
(CoreIPC::Connection::platformCanSendOutgoingMessages):
(CoreIPC::Connection::sendOutgoingMessage):
* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
(MessageEncoder):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
(WebKit::WebConnection::handleMessage):
* Shared/WebConnection.h:
(CoreIPC):
* Target.pri:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::postMessageToInjectedBundle):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::sendMessage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
(WebKit::WebProcessProxy::deprecatedSend):
(WebKit::WebProcessProxy::send):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/DecoderAdapter.cpp:
(WebKit::DecoderAdapter::DecoderAdapter):
(WebKit::DecoderAdapter::decodeBytes):
(WebKit::DecoderAdapter::decodeBool):
(WebKit::DecoderAdapter::decodeUInt16):
(WebKit::DecoderAdapter::decodeUInt32):
(WebKit::DecoderAdapter::decodeUInt64):
(WebKit::DecoderAdapter::decodeInt32):
(WebKit::DecoderAdapter::decodeInt64):
(WebKit::DecoderAdapter::decodeFloat):
(WebKit::DecoderAdapter::decodeDouble):
(WebKit::DecoderAdapter::decodeString):
* WebProcess/WebPage/DecoderAdapter.h:
(DecoderAdapter):
* WebProcess/WebPage/EncoderAdapter.cpp:
(WebKit::EncoderAdapter::EncoderAdapter):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::postInjectedBundleMessage):
* win/WebKit2.vcproj:
2012-10-17 Andy Estes <aestes@apple.com>
[WebKit2] Add removeChild: to WKDOMNode and make WKDOMText.data read/write
https://bugs.webkit.org/show_bug.cgi?id=99662
Reviewed by Sam Weinig.
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
(-[WKDOMNode removeChild:]):
* WebProcess/InjectedBundle/API/mac/WKDOMText.h:
* WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
(-[WKDOMText setData:]):
2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Memory leak in ewk_download_job_response_set()
https://bugs.webkit.org/show_bug.cgi?id=99621
Reviewed by Kenneth Rohde Christiansen.
No longer call ewk_url_response_ref() on the response
object in ewk_download_job_response_set() since it will
be ref'd when assigning to the RefPtr member already.
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didReceiveResponse):
* UIProcess/API/efl/ewk_download_job.cpp:
(ewk_download_job_response_set):
* UIProcess/API/efl/ewk_download_job_private.h: Remove several unimplemented functions.
2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Compilation warning in Ewk_View when accelerated compositing is disabled
https://bugs.webkit.org/show_bug.cgi?id=99613
Reviewed by Kenneth Rohde Christiansen.
Fix compilation warning in _ewk_view_smart_calculate() when
the ACCELERATED_COMPOSITING flag is not set.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use smart pointers inside Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=99611
Reviewed by Kenneth Rohde Christiansen.
Use smart pointers instead of raw ones for several
Ewk_View members to avoid handling memory manually.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(ewk_view_cursor_set):
(ewk_view_color_picker_dismiss):
(ewk_view_color_picker_color_set):
2012-10-17 Byungwoo Lee <bw80.lee@samsung.com>
Fix build warnings : -Wunused-parameter, -Wunused-variable
https://bugs.webkit.org/show_bug.cgi?id=99539
Reviewed by Kentaro Hara.
Fix build warnings about unused parameter or unused variable when
WTF_USE_TILED_BACKING_STORE option is enabled.
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::createLayer):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::setVisibleContentsRect):
(WebKit::DrawingAreaProxy::createTileForLayer):
(WebKit::DrawingAreaProxy::updateTileForLayer):
(WebKit::DrawingAreaProxy::removeTileForLayer):
(WebKit::DrawingAreaProxy::update):
(WebKit::DrawingAreaProxy::didUpdateBackingStoreState):
(WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
(WebKit::CoordinatedTile::paint):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
(WebKit::LayerTreeCoordinator::notifyAnimationStarted):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::setVisibleContentsRect):
(WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitDownload
https://bugs.webkit.org/show_bug.cgi?id=96773
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitDownload.cpp:
(_WebKitDownloadPrivate):
(webkitDownloadCreate):
(webkit_download_get_request):
(webkit_download_cancel):
* UIProcess/API/gtk/WebKitDownloadPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_download_uri):
(webkitWebContextGetOrCreateDownload):
2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitCookieManager
https://bugs.webkit.org/show_bug.cgi?id=96772
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitCookieManager.cpp:
(_WebKitCookieManagerPrivate):
(webkitCookieManagerFinalize):
(webkitCookieManagerCreate):
(webkit_cookie_manager_set_persistent_storage):
(webkit_cookie_manager_set_accept_policy):
(webkit_cookie_manager_get_accept_policy):
(webkitCookieManagerGetDomainsWithCookiesCallback):
(webkit_cookie_manager_get_domains_with_cookies):
(webkit_cookie_manager_delete_cookies_for_domain):
(webkit_cookie_manager_delete_all_cookies):
* UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_get_cookie_manager):
2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitContextMenu
https://bugs.webkit.org/show_bug.cgi?id=96770
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitContextMenu.cpp:
(webkitContextMenuCreate):
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
(webkitContextMenuItemCreate):
* UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
* UIProcess/API/gtk/WebKitContextMenuPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewPopulateContextMenu):
2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=96769
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitBackForwardList.cpp:
(_WebKitBackForwardListPrivate):
(webkitBackForwardListGetOrCreateItem):
(webkitBackForwardListCreateList):
(webkitBackForwardListCreate):
(webkitBackForwardListChanged):
(webkit_back_forward_list_get_current_item):
(webkit_back_forward_list_get_back_item):
(webkit_back_forward_list_get_forward_item):
(webkit_back_forward_list_get_nth_item):
(webkit_back_forward_list_get_length):
(webkit_back_forward_list_get_back_list):
(webkit_back_forward_list_get_back_list_with_limit):
(webkit_back_forward_list_get_forward_list):
(webkit_back_forward_list_get_forward_list_with_limit):
* UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
(_WebKitBackForwardListItemPrivate):
(webkitBackForwardListItemFinalized):
(webkitBackForwardListItemGetOrCreate):
(webkitBackForwardListItemGetItem):
(webkit_back_forward_list_item_get_uri):
(webkit_back_forward_list_item_get_title):
(webkit_back_forward_list_item_get_original_uri):
* UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didChangeBackForwardList):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):
(webkit_web_view_go_to_back_forward_list_item):
2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitURISchemeRequest
https://bugs.webkit.org/show_bug.cgi?id=96787
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
(didReceiveURIRequest):
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(_WebKitURISchemeRequestPrivate):
(webkitURISchemeRequestCreate):
(webkit_uri_scheme_request_get_web_view):
(webkitURISchemeRequestReadCallback):
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make sure the favicon database path is set only once
https://bugs.webkit.org/show_bug.cgi?id=99597
Reviewed by Kenneth Rohde Christiansen.
Make sure the icon database path is set only once by checking
that the database is not already open before settign the path.
This avoids printing error message on stderr.
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_favicon_database_get):
2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitWebInspector
https://bugs.webkit.org/show_bug.cgi?id=96786
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitWebInspector.cpp:
(_WebKitWebInspectorPrivate):
(webkitWebInspectorFinalize):
(webkitWebInspectorCreate):
(webkit_web_inspector_get_web_view):
(webkit_web_inspector_is_attached):
(webkit_web_inspector_attach):
(webkit_web_inspector_detach):
(webkit_web_inspector_show):
(webkit_web_inspector_close):
(webkit_web_inspector_get_attached_height):
* UIProcess/API/gtk/WebKitWebInspectorPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_inspector):
2012-10-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitGeolocation classes
https://bugs.webkit.org/show_bug.cgi?id=96778
Reviewed by Gustavo Noronha Silva.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
(_WebKitGeolocationPermissionRequestPrivate):
(webkitGeolocationPermissionRequestAllow):
(webkitGeolocationPermissionRequestDeny):
(webkitGeolocationPermissionRequestFinalize):
(webkitGeolocationPermissionRequestCreate):
* UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h:
* UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
(WebKitGeolocationProvider::create):
(WebKitGeolocationProvider::WebKitGeolocationProvider):
(WebKitGeolocationProvider::notifyPositionChanged):
(WebKitGeolocationProvider::notifyErrorOccurred):
* UIProcess/API/gtk/WebKitGeolocationProvider.h:
(WebKitGeolocationProvider):
* UIProcess/API/gtk/WebKitUIClient.cpp:
(decidePolicyForGeolocationPermissionRequest):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
2012-10-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>
[WK2][EFL] Add unit tests for Spelling
https://bugs.webkit.org/show_bug.cgi?id=95956
Reviewed by Gyuyoung Kim.
Add the unit tests which covers API from ewk_text_checker.h
and text checker settings from ewk_settings.h
* PlatformEfl.cmake:
* UIProcess/API/efl/tests/resources/spelling_test.html: Added.
* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: Added.
(resetCallbacksExecutionStats):
(onTimeout):
(onSettingChange):
(onSpellDocumentTag):
(onSpellDocumentTagClose):
(onSpellingCheck):
(onWordGuesses):
(onWordLearn):
(onWordIgnore):
(TEST_F):
2012-10-17 Mario Sanchez Prada <msanchez@igalia.com>
[WK2][GTK] Favicons are incorrectly released before receiving the actual data
https://bugs.webkit.org/show_bug.cgi?id=99492
Reviewed by Carlos Garcia Campos.
Don't release the icon for a page URL in the first stage of the
asynchronous call webkit_favicon_database_get_favicon() but do it
later instead, to avoid a race condition with the initial
synchronization process the first time we request an icon which is
actually in the icon database, but has not made available yet.
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData): Release
here the icon for the page URL if not a valid icon has been found.
(GetFaviconSurfaceAsyncData): Add a new boolean parameter to flag
when a given icon for a page URL should be released.
(getIconSurfaceSynchronously): Don't release the icon, just return 0.
(processPendingIconsForPageURL): If a valid icon is got at this
point, disable the flag shouldReleaseIconForPageURL not to release
the icon later on.
(webkit_favicon_database_get_favicon): Make sure we retain the
icon for a given page URL before trying to retrieve it from the
IconDatabase, and that we flag it to be released in case not a
valid icon has been found yet.
2012-10-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com>
Implementation of spellchecking feature.
https://bugs.webkit.org/show_bug.cgi?id=91854
Reviewed by Gyuyoung Kim.
Add spelling implementation for WebKit2-EFL that is based on Enchant library.
Additionally the patch provides API to overwrite the default WebKit
spellchecker implementation as Enchant library doesn't ensure grammar checking.
Application is able to overwrite it by defining its own implementation and
setting appropriate callback functions.
* PlatformEfl.cmake:
Add enchant-related compiler flags: header paths and the library flag.
* UIProcess/API/efl/EWebKit2.h:
Add ewk_text_checker.h to the main WebKit2-EFL's header to be available for applications.
* UIProcess/API/efl/WebKitTextChecker.cpp: Added.
Implement the callbacks functions of WKTextChecker.
(WebKit):
(WebKit::isContinuousSpellCheckingEnabled):
(WebKit::setContinuousSpellCheckingEnabled):
(WebKit::uniqueSpellDocumentTag):
(WebKit::closeSpellDocumentWithTag):
(WebKit::checkSpellingOfString):
(WebKit::guessesForWord):
(WebKit::learnWord):
(WebKit::ignoreWord):
Those functions are directly given as callback functions for WKTextChecker's client.
They choose between WebKit's spelling implementation and client's ones.
(WebKit::availableSpellCheckingLanguages):
(WebKit::updateSpellCheckingLanguages):
(WebKit::loadedSpellCheckingLanguages):
They are used by ewk_settings.cpp file and allow to do not
expose 'textCheckerEnchant'.
* UIProcess/API/efl/WebKitTextChecker.h: Added.
Define the functions which choose between WebKit's spelling implementation and
the client's ones.
(WebKit):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
Attach the spellchecker feature for the context.
* UIProcess/API/efl/ewk_text_checker.cpp: Added.
(ewk_text_checker_callbacks_get):
An internal function to get the client's callback functions.
* UIProcess/API/efl/ewk_text_checker.h: Added.
Define API to set the client's own spelling implementation.
* UIProcess/API/efl/ewk_text_checker_private.h: Added.
(_Ewk_Text_Checker):
Define the struct with the client's callbacks responisble for spelling.
* UIProcess/API/efl/ewk_settings.cpp:
(onContinuousSpellCheckingIdler):
The application is notified about the spelling setting change on idler
to do not block WebKit.
The the continuous spell checking may be changed through the context menu option.
(spellCheckingLanguagesSetUpdate):
The dictionaries are requested on 'idler' to do not block WebKit.
(spellCheckingLanguagesSet):
Set the languages.
(ewk_settings_continuous_spell_checking_change_cb_set):
Set the callback function used to notify the client when the spelling
setting was changed by WebKit.
(ewk_settings_continuous_spell_checking_enabled_get):
(ewk_settings_continuous_spell_checking_enabled_set):
API to set/get the continuous spell checking.
(ewk_settings_spell_checking_available_languages_get):
(ewk_settings_spell_checking_languages_set):
(ewk_settings_spell_checking_languages_get):
API to get/set languages to use by WebKit implementation based on Enchant library.
* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit::TextChecker::state):
(WebKit::TextChecker::isContinuousSpellCheckingAllowed):
(WebKit::TextChecker::setContinuousSpellCheckingEnabled):
(WebKit::TextChecker::setGrammarCheckingEnabled):
(WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
(WebKit::TextChecker::grammarCheckingEnabledStateChanged):
(WebKit::TextChecker::uniqueSpellDocumentTag):
(WebKit::TextChecker::closeSpellDocumentWithTag):
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::checkGrammarOfString): Remove WebCore namaspace as it's already defined for the whole file.
(WebKit::TextChecker::spellingUIIsShowing):
(WebKit::TextChecker::toggleSpellingUIIsShowing):
(WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
(WebKit::TextChecker::updateSpellingUIWithGrammarString):
(WebKit::TextChecker::getGuessesForWord):
(WebKit::TextChecker::learnWord):
(WebKit::TextChecker::ignoreWord):
Those call WKTextChecker client's methods.
2012-10-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
https://bugs.webkit.org/show_bug.cgi?id=99549
Reviewed by Kenneth Rohde Christiansen.
Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString is used,
removed weird _Ewk_Url_Scheme_Request.
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(ewk_url_scheme_request_ref):
(ewk_url_scheme_request_unref):
* UIProcess/API/efl/ewk_url_scheme_request.h:
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
(Ewk_Url_Scheme_Request):
(Ewk_Url_Scheme_Request::create):
(Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):
2012-10-17 Mario Sanchez Prada <msanchez@igalia.com>
[WK2][GTK] Unneeded GError field in internal structure in WebKitFaviconDatabase.cpp
https://bugs.webkit.org/show_bug.cgi?id=99564
Reviewed by Carlos Garcia Campos.
Removed field 'error' from GetFaviconSurfaceAsyncData and updated
the code accordingly, by using g_simple_async_result_take_error().
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(GetFaviconSurfaceAsyncData): Removed unneeded field.
(processPendingIconsForPageURL): Avoid using g_propagate_error and
use g_simple_async_result_take_error directly instead.
(webkit_favicon_database_get_favicon_finish): Remove unneeded code.
2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Start using OwnPtr for non-ref counted ewk types
https://bugs.webkit.org/show_bug.cgi?id=99472
Reviewed by Kenneth Rohde Christiansen.
Use OwnPtr internally for non-ref counted Ewk types to avoid
manual memory handling.
Private _new() and _free() functions are removed since they
are not needed now that the classes are defined in the
private headers instead of the cpp files. The constructor
for those classes was made private and factory methods were
added to encourage developers to use smart pointers instead
of raw ones.
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(ewk_back_forward_list_changed):
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
* UIProcess/API/efl/ewk_back_forward_list_private.h:
(_Ewk_Back_Forward_List):
(_Ewk_Back_Forward_List::create):
(_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_get):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didFail):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(_Ewk_Cookie_Manager::_Ewk_Cookie_Manager):
(_Ewk_Cookie_Manager::~_Ewk_Cookie_Manager):
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
(ewk_cookie_manager_changes_watch):
* UIProcess/API/efl/ewk_cookie_manager_private.h:
(Cookie_Change_Handler):
(Cookie_Change_Handler::Cookie_Change_Handler):
(_Ewk_Cookie_Manager):
(_Ewk_Cookie_Manager::create):
* UIProcess/API/efl/ewk_error.cpp:
(_Ewk_Error::_Ewk_Error):
(ewk_error_cancellation_get):
* UIProcess/API/efl/ewk_error_private.h:
(_Ewk_Error):
(_Ewk_Error::create):
* UIProcess/API/efl/ewk_favicon_database.cpp:
(_Ewk_Favicon_Database::_Ewk_Favicon_Database):
* UIProcess/API/efl/ewk_favicon_database_private.h:
(IconChangeCallbackData):
(IconChangeCallbackData::IconChangeCallbackData):
(IconRequestCallbackData):
(IconRequestCallbackData::IconRequestCallbackData):
(_Ewk_Favicon_Database):
(_Ewk_Favicon_Database::create):
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
(_Ewk_Popup_Menu_Item):
(_Ewk_Popup_Menu_Item::create):
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_initialize):
(ewk_view_back_forward_list_get):
(ewk_view_popup_menu_request):
(ewk_view_popup_menu_close):
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didFailLoadWithErrorForFrame):
(didFailProvisionalLoadWithErrorForFrame):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didFailLoadForResource):
2012-10-17 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
https://bugs.webkit.org/show_bug.cgi?id=99542
Reviewed by Kenneth Rohde Christiansen.
Use WTF RefCounted and RefPtr for Ewk_Resource and Ewk_Form_Submission_Request
to avoid handling raw pointers internally.
* UIProcess/API/efl/ewk_form_submission_request.cpp:
(ewk_form_submission_request_ref):
(ewk_form_submission_request_unref):
(ewk_form_submission_request_submit):
* UIProcess/API/efl/ewk_form_submission_request_private.h:
(_Ewk_Form_Submission_Request):
(_Ewk_Form_Submission_Request::~_Ewk_Form_Submission_Request):
(_Ewk_Form_Submission_Request::create):
(_Ewk_Form_Submission_Request::_Ewk_Form_Submission_Request):
* UIProcess/API/efl/ewk_resource.cpp:
(ewk_resource_ref):
(ewk_resource_unref):
* UIProcess/API/efl/ewk_resource_private.h:
(_Ewk_Resource):
(_Ewk_Resource::create):
(_Ewk_Resource::_Ewk_Resource):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(ewk_view_resource_load_initiated):
(ewk_view_resource_load_response):
(ewk_view_resource_load_failed):
(ewk_view_resource_load_finished):
(ewk_view_resource_request_sent):
(ewk_view_load_provisional_started):
* UIProcess/API/efl/ewk_view_form_client.cpp:
(willSubmitForm):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didInitiateLoadForResource):
2012-10-16 Dongwoo Joshua Im <dw.im@samsung.com>
[mac] Fix build break - processPath should be initialized.
https://bugs.webkit.org/show_bug.cgi?id=99541
Unreviewed build fix.
Initialize processPath as nil.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::createProcess):
2012-10-16 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add factory methods for refcounted Ewk types
https://bugs.webkit.org/show_bug.cgi?id=99479
Reviewed by Gyuyoung Kim.
Add factory methods to refcounted Ewk types that return
a PassRefPtr for refcounted Ewk types. Their constructors
were made privates as well, in order to promote the use
of smart pointers internally.
Remove _new() functions for refcounted Ewk types as they
are no longer needed now that the classes are defined
in the private headers instead of the cpp files.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(addItemToWrapperCache):
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(ewk_back_forward_list_item_original_url_get):
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
(_Ewk_Back_Forward_List_Item):
(_Ewk_Back_Forward_List_Item::create):
(_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didReceiveResponse):
* UIProcess/API/efl/ewk_context_history_client.cpp:
(didNavigateWithNavigationData):
* UIProcess/API/efl/ewk_download_job.cpp:
(ewk_download_job_request_get):
(ewk_download_job_state_set):
* UIProcess/API/efl/ewk_download_job_private.h:
(_Ewk_Download_Job):
(_Ewk_Download_Job::create):
(_Ewk_Download_Job::_Ewk_Download_Job):
* UIProcess/API/efl/ewk_intent.cpp:
(ewk_intent_extra_names_get):
* UIProcess/API/efl/ewk_intent_private.h:
(_Ewk_Intent):
(_Ewk_Intent::create):
(_Ewk_Intent::_Ewk_Intent):
* UIProcess/API/efl/ewk_intent_service.cpp:
(ewk_intent_service_disposition_get):
* UIProcess/API/efl/ewk_intent_service_private.h:
(_Ewk_Intent_Service):
(_Ewk_Intent_Service::create):
(_Ewk_Intent_Service::_Ewk_Intent_Service):
* UIProcess/API/efl/ewk_navigation_data.cpp:
(ewk_navigation_data_url_get):
* UIProcess/API/efl/ewk_navigation_data_private.h:
(_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::create):
(_Ewk_Navigation_Data::_Ewk_Navigation_Data):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::create):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
* UIProcess/API/efl/ewk_url_request.cpp:
(ewk_url_request_http_method_get):
* UIProcess/API/efl/ewk_url_request_private.h:
(_Ewk_Url_Request):
(_Ewk_Url_Request::create):
(_Ewk_Url_Request::_Ewk_Url_Request):
* UIProcess/API/efl/ewk_url_response.cpp:
(ewk_url_response_content_length_get):
* UIProcess/API/efl/ewk_url_response_private.h:
(_Ewk_Url_Response):
(_Ewk_Url_Response::create):
(_Ewk_Url_Response::_Ewk_Url_Response):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_deliver):
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didReceiveIntentForFrame):
(registerIntentServiceForFrame):
* UIProcess/API/efl/ewk_view_policy_client.cpp:
(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didInitiateLoadForResource):
(didSendRequestForResource):
(didReceiveResponseForResource):
2012-10-16 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12462993> Use a sensible fallback for cache directory
Reviewed by Sam Weinig.
* UIProcess/WebContext.cpp: (WebKit::WebContext::createNewWebProcess): Cache directory
should be created if it doesn't exist yet, so use createHandleForReadWriteDirectory.
* UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformDefaultDiskCacheDirectory):
We don't want caches in home directory, they should go to ~/Library/Caches.
2012-10-16 Andy Estes <aestes@apple.com>
[WebKit2] Create Objective-C API for adding and removing user scripts
https://bugs.webkit.org/show_bug.cgi?id=99528
Reviewed by Anders Carlsson.
This patch adds the following API to WKBrowsingContextGroup:
- (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly;
- (void)removeAllUserScripts;
* UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserScript): Define a C SPI equivalent of addUserScript: that calls existing methods in WebPageGroup.
(WKPageGroupRemoveAllUserScripts): Ditto for removeAllUserScripts.
* UIProcess/API/C/WKPageGroup.h: Declare the above-mentioned functions.
* UIProcess/API/mac/WKBrowsingContextGroup.h: Declare the Objective-C API
* UIProcess/API/mac/WKBrowsingContextGroup.mm:
(-[WKBrowsingContextGroup addUserScript:baseURL:whitelist:blacklist:injectionTime:mainFrameOnly:]): Call WKPageGroupAddUserScript.
(-[WKBrowsingContextGroup removeAllUserScripts]): Call WKPageGroupRemoveAllUserScripts.
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::removeAllUserScripts): This was calling PageGroup::removeUserStyleSheetsFromWorld() by mistake.
2012-10-16 Yael Aharon <yael.aharon@intel.com>
[EFL][WK2][AC] Url bar should not be covered by the web view
https://bugs.webkit.org/show_bug.cgi?id=99485
Reviewed by Laszlo Gombos.
When accelerated compositing is enabled, the url bar is covered by the web view.
This was caused by 2 issues:
- _ewk_view_smart_calculate was called before the first gl surface was created,
so an early return caused it to not save the new view position.
- When painting the view, we need to take into account the position of
the view within the window, i.e. the url bar.
* UIProcess/API/efl/EflViewportHandler.cpp:
(WebKit::EflViewportHandler::display):
* UIProcess/API/efl/EflViewportHandler.h:
(EflViewportHandler):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):
(ewk_view_display):
2012-10-16 Jian Li <jianli@chromium.org>
Rename feature define ENABLE_WIDGET_REGION to ENABLE_DRAGGBALE_REGION
https://bugs.webkit.org/show_bug.cgi?id=98975
Reviewed by Adam Barth.
Renaming is needed to better match with the draggable region code.
* Configurations/FeatureDefines.xcconfig:
2012-10-16 Tony Chang <tony@chromium.org>
Unreviewed, revert previous WebKit2.def change. Exports shouldn't matter.
* win/WebKit2.def:
2012-10-16 Tony Chang <tony@chromium.org>
Unreviewed, try to fix the Apple Win build.
* win/WebKit2.def:
2012-10-16 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Implement testRunner.dumpSelectionRect() in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=69545
Reviewed by Simon Fraser.
* Shared/API/c/WKImage.h: Add another option that controls whether
the selection rectangle should be painted onto the snapshot.
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toSnapshotOptions): Add a case for the new option
mentioned above.
* Shared/ImageOptions.h: More plumbing for the option above.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaledSnapshotWithOptions): Draw a red rectangle
around the selection area when
SnapshotOptionsPaintSelectionRectangle is set.
2012-10-16 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Have intent classes subclass RefCounted
https://bugs.webkit.org/show_bug.cgi?id=99467
Reviewed by Kenneth Rohde Christiansen.
Make Ewk_Intent and Ewk_Intent_Service subclass
RefCounted so that we can use smart pointers
internally.
* UIProcess/API/efl/ewk_intent.cpp:
(ewk_intent_ref):
(ewk_intent_unref):
* UIProcess/API/efl/ewk_intent_private.h:
(_Ewk_Intent):
(_Ewk_Intent::_Ewk_Intent):
* UIProcess/API/efl/ewk_intent_service.cpp:
(ewk_intent_service_ref):
(ewk_intent_service_unref):
* UIProcess/API/efl/ewk_intent_service_private.h:
(_Ewk_Intent_Service):
(_Ewk_Intent_Service::_Ewk_Intent_Service):
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didReceiveIntentForFrame):
(registerIntentServiceForFrame):
2012-10-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Inherit Ewk_Download_Job, Ewk_Back_Forward_List_Item, Ewk_Url_Response, Ewk_Navigation_Policy_Decision from RefCounted
https://bugs.webkit.org/show_bug.cgi?id=99455
Reviewed by Kenneth Rohde Christiansen.
The API objects mentioned in bug title are inherited from WTF::RefCounted which made it possible
to use smart pointers with them.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(_Ewk_Back_Forward_List::_Ewk_Back_Forward_List):
(addItemToWrapperCache):
(ewk_back_forward_list_changed):
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(ewk_back_forward_list_item_ref):
(ewk_back_forward_list_item_unref):
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
(_Ewk_Back_Forward_List_Item):
(_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):
(ewk_context_download_job_add):
(ewk_context_download_job_get):
(ewk_context_download_job_remove):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didReceiveResponse):
* UIProcess/API/efl/ewk_download_job.cpp:
(ewk_download_job_ref):
(ewk_download_job_unref):
(ewk_download_job_response_get):
(ewk_download_job_estimated_progress_get):
* UIProcess/API/efl/ewk_download_job_private.h:
(_Ewk_Download_Job):
(_Ewk_Download_Job::_Ewk_Download_Job):
* UIProcess/API/efl/ewk_navigation_data_private.h:
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(ewk_navigation_policy_decision_ref):
(ewk_navigation_policy_decision_unref):
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
* UIProcess/API/efl/ewk_url_response.cpp:
(ewk_url_response_ref):
(ewk_url_response_unref):
* UIProcess/API/efl/ewk_url_response_private.h:
(_Ewk_Url_Response):
(_Ewk_Url_Response::_Ewk_Url_Response):
* UIProcess/API/efl/ewk_view_policy_client.cpp:
(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didSendRequestForResource):
(didReceiveResponseForResource):
2012-10-16 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[WK2][EFL] Crash in _ewk_view_on_favicon_changed()
https://bugs.webkit.org/show_bug.cgi?id=99454
Reviewed by Kenneth Rohde Christiansen.
Added missing null check to avoid a crash if the current URL of
view is NULL.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_on_favicon_changed):
2012-10-16 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] Provide WKURL API for resolving the relative URL with the given base URL
https://bugs.webkit.org/show_bug.cgi?id=99317
Reviewed by Kenneth Rohde Christiansen.
Added new constructor function WKURLCreateWithBaseURL for WKURL which
resolves the relative URL with the given base URL.
* Shared/API/c/WKURL.cpp:
(WKURLCreateWithBaseURL):
* Shared/API/c/WKURL.h:
* Shared/WebURL.h:
(WebKit::WebURL::create):
(WebURL):
(WebKit::WebURL::WebURL):
2012-10-16 Szilard Ledan <szledan@inf.u-szeged.hu>
Separate WebKit2 instances use the same local storage
https://bugs.webkit.org/show_bug.cgi?id=89666
Reviewed by Simon Hausmann.
For multi-threaded (parallel) testing, WTRs must not write into the same directory.
To avoid that, results need to be stored in the location defined by DUMPRENDERTREE_TEMP
environment variable that is created by NRWT. To do that, WebContext needed to be
extended with diskCacheDirectory and cookieStorageDirectory APIs.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* UIProcess/API/C/WKContext.cpp:
(WKContextSetDiskCacheDirectory):
(WKContextSetCookieStorageDirectory):
* UIProcess/API/C/WKContextPrivate.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::diskCacheDirectory):
(WebKit):
(WebKit::WebContext::cookieStorageDirectory):
* UIProcess/WebContext.h:
(WebKit::WebContext::setDiskCacheDirectory):
(WebKit::WebContext::setCookieStorageDirectory):
(WebContext):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
(WebKit):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):
* UIProcess/qt/WebContextQt.cpp:
(WebKit):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit::WebContext::applicationCacheDirectory):
(WebKit::WebContext::platformInitializeWebProcess):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):
* UIProcess/win/WebContextWin.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit):
(WebKit::WebContext::platformDefaultCookieStorageDirectory):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/win/WebProcessWin.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
2012-10-16 Jongseok Yang <js45.yang@samsung.com>
[EFL][WK2] Fix Cache Model API tests
https://bugs.webkit.org/show_bug.cgi?id=99427
Reviewed by Gyuyoung Kim.
Cache Model API tests caused "Segmentation fault" because the default value
for cache model was incorrect.
Fix the default value for cache model.
Fix Cache Model API tests.
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
2012-10-15 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Regression(r131337): Made 3 Cookie Manager API tests fail
https://bugs.webkit.org/show_bug.cgi?id=99416
Reviewed by Gyuyoung Kim.
After r131337, the favicon database is enabled and it causes new
requests to "/favicon.ico" on the http server. The http server used
in the cookie manager test was too strict and was calling FAIL() for
any unrecognized HTTP request (such as the one to /favicon.ico).
This patch makes the http server in cookie manager API tests less
strict.
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(serverCallback):
2012-10-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed, rolling out r131349.
http://trac.webkit.org/changeset/131349
https://bugs.webkit.org/show_bug.cgi?id=97173
Revert r131349 because API test is broken by this commit.
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init):
(ewk_shutdown):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
2012-10-15 Jongseok Yang <js45.yang@samsung.com>
[EFL][WK2] Add APIs for cache model
https://bugs.webkit.org/show_bug.cgi?id=98889
Reviewed by Gyuyoung Kim.
Add ewk_context_cache_model_set(), ewk_context_cache_model_get().
The cache model means the level for the cache capacity.
If EWK_CACHE_MODEL_DOCUMENT_BROWSER, the biggest cache capacity will be set.
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
2012-10-15 Byungwoo Lee <bw80.lee@samsung.com>
Fix unused parameter build warning.
https://bugs.webkit.org/show_bug.cgi?id=99400
Reviewed by Gyuyoung Kim.
Remove the name of unused parameters to fix the build warning (-Wunused-parameter).
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::encodePlatformData):
(CoreIPC::::decodePlatformData):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getSharedWorkerProcessConnection):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::handleEditingCommand):
(WebKit::NetscapePlugin::isEditingCommandEnabled):
2012-10-15 Dan Bernstein <mitz@apple.com>
WebKit2 part of <rdar://problem/12470680> Font’s fast code path doesn’t support kerning and ligatures
https://bugs.webkit.org/show_bug.cgi?id=99113
Reviewed by Tim Horton.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Added wkCTFontTransformGlyphs.
2012-10-15 Christophe Dumez <christophe.dumez@intel.com>
[WK2][CAIRO] Use cairo_format_stride_for_width() in ShareableBitmap
https://bugs.webkit.org/show_bug.cgi?id=99332
Reviewed by Martin Robinson.
Cairo implementation of ShareableBitmap is calling
cairo_image_surface_create_for_data() to create an image surface for
the provided pixel data. However, it was passing "m_size.width() * 4"
for the stride argument instead of calling
cairo_format_stride_for_width().
The Cairo documentation states:
"Note that the stride may be larger than width*bytes_per_pixel to
provide proper alignment for each pixel and row. This alignment is
required to allow high-performance rendering within cairo. The correct
way to obtain a legal stride value is to call
cairo_format_stride_for_width() with the desired format and maximum
image width value, and then use the resulting stride value to allocate
the data and to create the image surface."
This patch calls cairo_format_stride_for_width() is ShareableBitmap
in order to obtain a legal stride value to make sure we provide proper
alignment for each pixel and row, and allow high-performance rendering
within cairo.
* Shared/ShareableBitmap.h:
(ShareableBitmap):
* Shared/cairo/ShareableBitmapCairo.cpp:
(WebKit):
(WebKit::ShareableBitmap::numBytesForSize):
(WebKit::createSurfaceFromData):
(WebKit::ShareableBitmap::paint):
(WebKit::ShareableBitmap::createCairoSurface):
2012-10-15 Eunmi Lee <eunmi15.lee@samsung.com>
[EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
https://bugs.webkit.org/show_bug.cgi?id=97173
Reviewed by Gyuyoung Kim.
Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
process and WebProcessMainEfl.cpp for web process.
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init):
(ewk_shutdown):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
2012-10-15 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Provide implementation for PageClientImpl::toolTipChanged()
https://bugs.webkit.org/show_bug.cgi?id=98589
Reviewed by Kenneth Rohde Christiansen.
Implement PageClientImpl::toolTipChanged() to emit signal 'tooltip,text,set' with a tooltip text,
or 'tooltip,text,unset' if tooltip was unset.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::toolTipChanged):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_tooltip_text_set):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
2012-10-15 Roger Fong <roger_fong@apple.com>
Unreviewed. Partial build fix for Windows after r131308.
* WebKit2Prefix.h:
* WebProcess/WebKitMain.cpp:
(WebKitMain):
2012-10-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r131306 and r131307.
http://trac.webkit.org/changeset/131306
http://trac.webkit.org/changeset/131307
https://bugs.webkit.org/show_bug.cgi?id=99354
It made layout testing extremely slow again (Requested by
Ossy_night on #webkit).
* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateQImage):
* Shared/API/c/qt/WKImageQt.h:
2012-10-15 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Implement Favicons API
https://bugs.webkit.org/show_bug.cgi?id=99087
Reviewed by Kenneth Rohde Christiansen.
Add support for favicon API to EFL WK2 port via
Ewk_Favicon_Database. The API can be used to
retrieve the favicon URL and data for a given
page URL.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):
(ewk_context_favicon_database_get): Add getter to retrieve the favicon
database instance from the context.
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_favicon_database.cpp: Added.
(IconChangeCallbackData):
(IconChangeCallbackData::IconChangeCallbackData):
(IconRequestCallbackData):
(IconRequestCallbackData::IconRequestCallbackData):
(_Ewk_Favicon_Database):
(_Ewk_Favicon_Database::_Ewk_Favicon_Database):
(didChangeIconForPageURL):
(getIconSurfaceSynchronously):
(iconDataReadyForPageURL):
(ewk_favicon_database_new):
(ewk_favicon_database_free):
(ewk_favicon_database_icon_url_get):
(AsyncIconRequestResponse):
(AsyncIconRequestResponse::AsyncIconRequestResponse):
(respond_icon_request_idle):
(ewk_favicon_database_async_icon_get):
(ewk_favicon_database_icon_change_callback_add):
(ewk_favicon_database_icon_change_callback_del):
* UIProcess/API/efl/ewk_favicon_database.h: Added.
* UIProcess/API/efl/ewk_favicon_database_private.h: Copied from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_on_favicon_changed):
(_ewk_view_initialize):
(ewk_view_url_update):
(ewk_view_icon_url_get): Add a getter to the view to retrieve the icon URL for
the page that is currently shown.
(ewk_view_update_icon):
* UIProcess/API/efl/ewk_view.h: Emit a new "icon,changed" signal on the view whenever
the view's icon has changed.
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/tests/resources/blank.ico: Added.
* UIProcess/API/efl/tests/test_ewk2_context.cpp: Add unit test for new favicon database getter.
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: Added unit tests for the new Ewk_Favicon_Database API.
(serverCallback):
(onIconChanged):
(TEST_F):
(onIconDataReady):
(IconRequestData):
(requestFaviconData):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultIconDatabasePath): Return a valid default path for the icon database.
2012-10-15 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Share resources installed for inspector
https://bugs.webkit.org/show_bug.cgi?id=98991
Reviewed by Gyuyoung Kim.
* PlatformEfl.cmake: Removed build script which install resources to share.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
(WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.
2012-10-13 Alexey Proskuryakov <ap@apple.com>
[WK2] Add SharedWorkerProcess
https://bugs.webkit.org/show_bug.cgi?id=99218
Reviewed by Sam Weinig.
Not yet functional, just some boilerplate code.
* Configurations/SharedWorkerProcess.xcconfig: Added.
* DerivedSources.make: Generate message dispatch for SharedWorkerProcess and
SharedWorkerProcessProxy.
* Platform/CoreIPC/MessageID.h: Added shared worker messages classes.
* Scripts/webkit2/messages.py: (struct_or_class):
SharedWorkerProcessCreationParameters is a struct.
* Shared/SharedWorkerProcessCreationParameters.cpp: Added.
* SharedWorkerProcess/Info.plist: Added.
* SharedWorkerProcess/SharedWorkerProcess.cpp: Added.
* SharedWorkerProcess/SharedWorkerProcess.h: Added.
* SharedWorkerProcess/SharedWorkerProcess.messages.in: Added.
* SharedWorkerProcess/SharedWorkerProcessMain.h: Added.
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: Added.
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm: Added.
* SharedWorkerProcess/mac/com.apple.WebKit.SharedWorkerProcess.sb: Added.
* UIProcess/SharedWorkers/SharedWorkerProcessManager.cpp: Added.
* UIProcess/SharedWorkers/SharedWorkerProcessManager.h: Added.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp: Added.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: Added.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.messages.in: Added.
* WebKit2.xcodeproj/project.pbxproj:
Added SharedWorkerProcess boilerplate, modeled after PluginProcess.
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
Added getSharedWorkerProcessConnection() message.
* WebProcess/WebKitMain.cpp: (WebKitMain):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess):
Added branches for SharedWorkerProcess.
* Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a version
for delayed reply messages with two arguments.
2012-10-15 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WTR] Do a forced repaint before generating pixel results
https://bugs.webkit.org/show_bug.cgi?id=98654
Reviewed by Jocelyn Turcotte.
Added API to convert a QImage to a WKImage so we can
pass it to cross-platform code.
* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateFromQImage):
* Shared/API/c/qt/WKImageQt.h:
2012-10-15 Simon Hausmann <simon.hausmann@digia.com>
[Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
https://bugs.webkit.org/show_bug.cgi?id=88162
Reviewed by Kenneth Rohde Christiansen.
Rename the QtWebKit module to QtWebKitWidgets.
* PluginProcess.pro:
* UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro:
* UIProcess/API/qt/tests/publicapi/publicapi.pro:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/WebView.pro:
* UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
* UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro:
* UIProcess/API/qt/tests/tests.pri:
* WebProcess.pro:
2012-10-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Encapsulate ref counting for Ewk objects in a parent class
https://bugs.webkit.org/show_bug.cgi?id=99174
Reviewed by Kenneth Rohde Christiansen.
Ewk objects can be inherited from RefCounted class, so that ref counting is encapsulated and RefPtr can be used.
Applied the new approach for Ewk_Navigation_Data and Ewk_Url_Request objects as an example.
The requirement of adoption can be satisfied as long as we keep dealing with smart pointers only.
In case external client provides an already referenced object as a raw pointer, relaxAdoptionRequirement() can be set
explicitly in this specific place.
* UIProcess/API/efl/ewk_context_history_client.cpp:
(didNavigateWithNavigationData):
* UIProcess/API/efl/ewk_download_job.cpp:
(_Ewk_Download_Job):
(_Ewk_Download_Job::_Ewk_Download_Job):
(_Ewk_Download_Job::~_Ewk_Download_Job):
(ewk_download_job_request_get):
* UIProcess/API/efl/ewk_navigation_data.cpp:
(ewk_navigation_data_ref):
(ewk_navigation_data_unref):
(ewk_navigation_data_original_request_get):
* UIProcess/API/efl/ewk_navigation_data_private.h:
(_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::_Ewk_Navigation_Data):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
(ewk_navigation_policy_request_get):
(ewk_navigation_policy_decision_new):
* UIProcess/API/efl/ewk_url_request.cpp:
(ewk_url_request_ref):
(ewk_url_request_unref):
* UIProcess/API/efl/ewk_url_request_private.h:
(_Ewk_Url_Request):
(_Ewk_Url_Request::_Ewk_Url_Request):
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didInitiateLoadForResource):
(didSendRequestForResource):
2012-10-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] Regression(r130031) coverRect is used in wrong coordinates.
https://bugs.webkit.org/show_bug.cgi?id=97777
Reviewed by Jocelyn Turcotte.
Convert coverRect from screen coordinates to content coordinates before using it
outside tiled-backing store.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(WebCore::CoordinatedGraphicsLayer::coverRect):
2012-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck.
* GNUmakefile.am: Add .in files in WebKit2/Shared to EXTRA_DIST.
* GNUmakefile.list.am: Remove deleted file.
2012-10-14 Anders Carlsson <andersca@apple.com>
Fix the world.
Add back a forgotten !.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::postInjectedBundleMessage):
2012-10-14 Sam Weinig <sam@webkit.org>
Stop all the crashing!
The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.
* UIProcess/WebConnectionToWebProcess.h:
(WebKit::WebConnectionToWebProcess::webProcessProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fromConnection):
2012-10-14 Anders Carlsson <andersca@apple.com>
Re-land of "WebContext should be a MessageReceiver"
https://bugs.webkit.org/show_bug.cgi?id=98958
Reviewed by Sam Weinig.
Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::client):
(Connection):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
(CoreIPC::MessageReceiverMap::invalidate):
(CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::dispatchMessage):
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fromConnection):
(WebKit):
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
2012-10-14 Anders Carlsson <andersca@apple.com>
WebPage::PostInjectedBundleMessage should be a variadic message
https://bugs.webkit.org/show_bug.cgi?id=99277
Reviewed by Sam Weinig.
Don't use a data reference for messages posted to the injected bundle; they could contain data that requires attachments
(such as shared memory).
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::postMessageToInjectedBundle):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::postInjectedBundleMessage):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
2012-10-14 Sam Weinig <sam@webkit.org>
Simplify user content in WebKit2 by using WebCore::UserStyleSheet and WebCore::UserScript directly
https://bugs.webkit.org/show_bug.cgi?id=99276
Reviewed by Anders Carlsson.
- Removes UserContentContainer in favor of Vector<UserStyleSheet> and Vector<UserScript> right on WebPageGroupData.
- Adds support for UserScripts, but does not expose API for it just yet.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
* Shared/UserContentContainer.cpp: Removed.
* Shared/UserContentContainer.h: Removed.
Remove UserContentContainer.h/cpp.
* Shared/API/c/WKBase.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toUserScriptInjectionTime):
(WebKit::toUserContentInjectedFrames):
* WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
Move UserContent enums to WKBase.h so they can be used from both processes, and move the
casts to WKSharedAPICast.
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
Add coders for UserStyleSheet and UserScript.
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):
* Shared/WebPageGroupData.h:
(WebPageGroupData):
Replace UserContentContainer with Vector<UserStyleSheet> and Vector<UserScript>. Stop using
CoreIPC::In() and CoreIPC::Out(), and instead just call encode/decode multiple times.
* UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserStyleSheet):
Pass the parameters with as little conversion as possible to the C++ to avoid doing too much
work in the API layer.
* UIProcess/WebPageGroup.cpp:
(WebKit::toStringVector):
(WebKit::WebPageGroup::addUserStyleSheet):
(WebKit::WebPageGroup::addUserScript):
(WebKit::WebPageGroup::removeAllUserStyleSheets):
(WebKit::WebPageGroup::removeAllUserScripts):
(WebKit::WebPageGroup::removeAllUserContent):
* UIProcess/WebPageGroup.h:
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::WebPageGroupProxy):
(WebKit::WebPageGroupProxy::addUserStyleSheet):
(WebKit::WebPageGroupProxy::addUserScript):
(WebKit::WebPageGroupProxy::removeAllUserScripts):
(WebKit::WebPageGroupProxy::removeAllUserContent):
* WebProcess/WebPage/WebPageGroupProxy.h:
(WebPageGroupProxy):
* WebProcess/WebPage/WebPageGroupProxy.messages.in:
Add support for user scripts and update to use UserScript and UserStyleSheet directly.
2012-10-14 Jon Lee <jonlee@apple.com>
Allow notification origin permission request when no js callback is provided
https://bugs.webkit.org/show_bug.cgi?id=63615
<rdar://problem/11059590>
Reviewed by Sam Weinig.
Null checks already exist for both standard and legacy API callbacks, so no changes are needed here
like there are in WebKit 1. The checks existed because the callbacks are held in a hash map used to keep
track of pending requests.
Also, add a check for a null callback when short circuiting.
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::startRequest):
2012-10-14 Anders Carlsson <andersca@apple.com>
Move QDataStream functions into HistoryItemQt.cpp
https://bugs.webkit.org/show_bug.cgi?id=99203
Reviewed by Andreas Kling.
Forward declare QTransform.
* Shared/qt/WebEventFactoryQt.h:
2012-10-12 Anders Carlsson <andersca@apple.com>
Explicitly mark messages variadic
https://bugs.webkit.org/show_bug.cgi?id=99229
Reviewed by Dan Bernstein.
Instead of deciding whether messages are variadic based on their type, decide it based on the existence of a 'Variadic' message attribute.
* Scripts/webkit2/messages.py:
(messages_to_kind_enum):
(decode_type):
(async_case_statement):
(sync_case_statement):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebProcess.messages.in:
2012-10-14 Sam Weinig <sam@webkit.org>
Make UserScript and UserStyleSheet value objects that are copyable
https://bugs.webkit.org/show_bug.cgi?id=99275
Reviewed by Tim Horton.
* Shared/UserContentContainer.cpp:
(WebKit::toStringVector):
(WebKit::UserContentContainer::Item::Item):
(WebKit::UserContentContainer::Item::encode):
(WebKit::UserContentContainer::Item::decode):
* Shared/UserContentContainer.h:
(WebKit::UserContentContainer::Item::whitelist):
(WebKit::UserContentContainer::Item::blacklist):
Switch UserContentContainer::Item to store Vector<String> instead of ImmutableArray, easing
transition to new PageGroup function signatures.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::toStringVector):
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::setUserScripts):
Update for new PageGroup function signatures.
2012-10-14 Tim Horton <timothy_horton@apple.com>
[wk2] Implement PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=99206
Unreviewed build fix, hand ivar name to @synthesize since it doesn't match the property name.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
2012-10-14 Tim Horton <timothy_horton@apple.com>
[wk2] Implement PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=99206
Unreviewed, attempt to manipuate SVN to retain the history of SimplePDFPlugin.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.h.
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Replaced with Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.mm.
2012-10-14 Tim Horton <timothy_horton@apple.com>
[wk2] Implement PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=99206
Reviewed by Dan Bernstein.
Add PDFPlugin, which uses PDFKit to display PDFs, instead of using PDFKit in the
UIProcess for full-page PDFs. This new plugin will also be used for inline PDFs
in place of SimplePDFPlugin (née BuiltInPDFView).
* Configurations/FeatureDefines.xcconfig: Add ENABLE_PDF_PLUGIN.
Support three new Plugin methods:
- handleEditingCommand, which hands editing commands to the Plugin
- isEditingCommandEnabled, which validates editing commands via the Plugin
- handlesPageScaleFactor, which asks the plugin whether it wants to
opt into a mode where the WebPage doesn't scale in the ordinary fashion,
but instead proxies the Plugin's scale factor, so full-page plugins
can handle scale factor changes however they need to.
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::handleEditingCommand): Proxy handleEditingCommand to the Plugin.
(WebKit::PluginControllerProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the Plugin.
(WebKit::PluginControllerProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the Plugin.
* PluginProcess/PluginControllerProxy.h:
(PluginControllerProxy): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
* PluginProcess/PluginControllerProxy.messages.in: Add HandleEditingCommand, IsEditingCommandEnabled, and HandlesPageScaleFactor.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::handleEditingCommand): NPAPI plugins support no editing commands by default.
(WebKit::NetscapePlugin::isEditingCommandEnabled): NPAPI plugins enable no editing commands by default.
(WebKit::NetscapePlugin::handlesPageScaleFactor): NPAPI plugins do not handle page scale factor changes themselves by default.
* WebProcess/Plugins/Netscape/NetscapePlugin.h: Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
Add PDFPluginEnabled preference. If it is not enabled, or the plugin is
not built, behavior will be the same as before (the UIProcess PDFView will
handle full-page PDFs, and SimplePDFPlugin will handle inline ones).
* Shared/WebPreferencesStore.h: Add PDFPluginEnabled preference.
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetPDFPluginEnabled): Setter for PDFPluginEnabled preference.
(WKPreferencesGetPDFPluginEnabled): Getter for PDFPluginEnabled preference.
* UIProcess/API/C/WKPreferencesPrivate.h: Expose WKPreferences(Set|Get)PDFPluginEnabled as a private preference.
Move support for MIME types with custom representations onto WebPage instead of WebProcess.
This allows us to use preferences to control the use of custom representations (for example,
it allows us to have a preference to toggle between UIProcess's PDFView and PDFPlugin).
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Don't pass mimeTypesWithCustomRepresentation
into the WebProcess, as we can compute it later.
(WebKit::WebProcessCreationParameters::decode): Same, on the decode side.
* Shared/WebProcessCreationParameters.h: Remove mimeTypesWithCustomRepresentation.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess): Don't add pdfAndPostScriptMIMETypes to mimeTypesWithCustomRepresentation here, as we're now computing it on WebPage instead.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::canPluginHandleResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.
(WebKit::WebPage::shouldUseCustomRepresentationForResponse): Move to WebPage from WebProcess so we can use WebPage's new notion of mimeTypesWithCustomRepresentation.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::pdfAndPostScriptMIMETypes): Return the set of MIME types used for PDF and PostScript, which are handled with PDFView if PDFPlugin is not available or enabled.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Don't keep m_mimeTypesWithCustomRepresentations on WebProcess, it's owned by WebPage now.
* WebProcess/WebProcess.h: Move canPluginHandleResponse and shouldUseCustomRepresentationForResponse to WebPage.
Add PDFLayerController to the set of classes returned by PDFKitImports.
* Shared/mac/PDFKitImports.h: Add pdfLayerControllerClass.
* Shared/mac/PDFKitImports.mm:
(WebKit::pdfLayerControllerClass): Find and return the PDFLayerController class.
Add PDFPlugin, which inherits from SimplePDFPlugin, but uses PDFKit instead
of CoreGraphics, to provide additional interactive functionality.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::sendDidGetPlugins): Add PDFPlugin to the set of supported plugins.
* WebKit2.xcodeproj/project.pbxproj: Add PDFPlugin, rename BuiltInPDFView to SimplePDFPlugin.
* WebProcess/Plugins/PDF/PDFPlugin.h: Added.
* WebProcess/Plugins/PDF/PDFPlugin.mm: Added.
PDFPlugin uses layers for scrollbars.
(-[WKPDFPluginScrollbarLayer initWithPDFPlugin:WebKit::]): Initialize our CALayer subclass,
storing its parent PDFPlugin so it can delegate drawing there.
(-[WKPDFPluginScrollbarLayer actionForKey:]): Disable CoreAnimation implicit actions.
(-[WKPDFPluginScrollbarLayer drawInContext:]): Delegate scrollbar drawing to PDFPlugin.
Implement the PDFLayerController delegate, eventually forwarding calls back to PDFPlugin.
(-[WKPDFLayerControllerDelegate initWithPDFPlugin:WebKit::]): Initialize our delegate,
storing its parent PDFPlugin so it can forward delegate calls there.
(-[WKPDFLayerControllerDelegate updateScrollPosition:]): Update PDFPlugin's notion of the
current scroll position, when PDFKit changes the scroll position itself.
(-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Write the given
array of NSData objects to the pasteboard with the given types.
The following PDFLayerController delegate methods will be implemented in the future.
(-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]):
(-[WKPDFLayerControllerDelegate performWebSearch:]):
(-[WKPDFLayerControllerDelegate openWithPreview]):
(-[WKPDFLayerControllerDelegate saveToPDF]):
(WebKit::PDFPlugin::PDFPlugin): Set up the requisite layer hierarchy, and create a PDFLayerController (and its delegate proxy).
(WebKit::PDFPlugin::updateScrollbars): Update the frame of the layers hosting our scrollbars.
(WebKit::PDFPlugin::createScrollbar): Create a scrollbar and hosting layer, attaching its layer
to PDFPlugin's container layer.
(WebKit::PDFPlugin::destroyScrollbar): Destroy a scrollbar, detaching and destroying its hosting layer in the process.
(WebKit::PDFPlugin::pdfDocumentDidLoad): Called when the document finishes loading; hand
the loaded document to PDFKit, update all of our state (cached document size, scrollbars, etc.), and then execute any scripts in the document (to allow for automatic printing).
(WebKit::PDFPlugin::calculateSizes): Determine the size of the PDF and its pages.
(WebKit::PDFPlugin::destroy): Tear down the layer hierarchy.
(WebKit::PDFPlugin::paint): PDFPlugin is layer-based, so we paint nothing into the tiles.
(WebKit::PDFPlugin::paintControlForLayerInContext): Scrollbar controls are drawn into layers, but their painting is delegated here from WKPDFPluginScrollbarLayer.
(WebKit::PDFPlugin::snapshot): Perform a paint into a bitmap context.
(WebKit::PDFPlugin::pluginLayer): Return PDFPlugin's root layer.
(WebKit::PDFPlugin::geometryDidChange): The size or scale of the plugin changed; update
PDFLayerController's notion of the size and page scale, and invalidate the scrollbars.
Mouse and keyboard events are converted back into NSEvents, but with
locationInWindow actually in terms of the PDFPlugin's layer, not
the window (since there is no window).
(WebKit::modifierFlagsFromWebEvent): Construct an AppKit-style modifier bitmask from WebEvent's modifier key getters.
(WebKit::eventTypeFromWebEvent): Return the NSEventType equivalent to the given WebEvent. Only supports keyboard and mouse events, and only the left and right mouse button.
(WebKit::PDFPlugin::handleMouseEvent): Construct an NSEvent from the given WebMouseEvent and hand it to PDFLayerController. Mouse coordinates are in terms of m_contentLayer's origin.
(WebKit::PDFPlugin::handleKeyboardEvent): Construct an NSEvent from the given WebKeyboardEvent and hand it to PDFLayerController. PDFLayerController currently only handles keyDown events.
(WebKit::PDFPlugin::handleEditingCommand): Handle copy and select-all commands, and forward them to PDFLayerController.
(WebKit::PDFPlugin::isEditingCommandEnabled): The 'copy' command should be enabled if
the user has selected a part of the PDF. The 'select all' command should always be enabled.
(WebKit::PDFPlugin::setScrollOffset): Update both PDFPlugin and PDFLayerController's notion
of the current scroll position.
(WebKit::PDFPlugin::invalidateScrollbarRect): Invalidate the whole scrollbar layer.
(WebKit::PDFPlugin::invalidateScrollCornerRect): Invalidate the whole scroll corner layer.
Rename BuiltInPDFView to SimplePDFPlugin, to differentiate it from PDFPlugin
and to better denote its inheritance from Plugin.
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.h.
(WebKit::SimplePDFPlugin): Make methods protected so PDFPlugin can override them. Rename m_pluginSize -> m_size, and m_dataBuffer->m_data.
(WebKit::SimplePDFPlugin::size): Retrieve the size of the plugin.
(WebKit::SimplePDFPlugin::setSize): Set the size of the plugin.
(WebKit::SimplePDFPlugin::pdfDocument): Retrieve the currently represented PDF document.
(WebKit::SimplePDFPlugin::setPDFDocument): Set the currently represented PDF document.
(WebKit::SimplePDFPlugin::pdfDocumentSize): Retrieve the current size of the PDF.
(WebKit::SimplePDFPlugin::setPDFDocumentSize): Set the current size of the PDF.
(WebKit::SimplePDFPlugin::data): Retrieve the accumulated document data.
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Renamed from WebProcess/Plugins/PDF/BuiltInPDFView.mm.
(WebKit::SimplePDFPlugin::computePageBoxes): Copied out of calculateSizes() so PDFPlugin can use it too.
(WebKit::SimplePDFPlugin::runScriptsInPDFDocument): Factored out of pdfDocumentDidLoad() so PDFPlugin can use it too.
(WebKit::SimplePDFPlugin::convertFromScrollbarToContainingView): Implement the remaining scrollbar point conversion functions.
(WebKit::SimplePDFPlugin::convertFromContainingViewToScrollbar): Implement the remaining scrollbar point conversion functions.
* WebProcess/Plugins/Plugin.h:
(Plugin): Add handleEditingCommand, isEditingCommandEnabled, and handlesPageScaleFactor.
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::handleEditingCommand): Proxy handleEditingCommand to the PluginProcess.
(WebKit::PluginProxy::isEditingCommandEnabled): Proxy isEditingCommandEnabled
to the PluginProcess.
(WebKit::PluginProxy::handlesPageScaleFactor): Proxy handlesPageScaleFactor
to the PluginProcess.
* WebProcess/Plugins/PluginProxy.h: Add handleEditingCommand, isEditingCommandEnabled,
and handlesPageScaleFactor.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setPageScaleFactor): Set the plugin's current page scale factor. Also,
update WebPageProxy's notion of the current pageScaleFactor when this is called.
(WebKit::PluginView::pageScaleFactor): Return the plugin's current page scale factor.
(WebKit::PluginView::handleEditingCommand): Proxy handleEditingCommand to the plugin.
(WebKit::PluginView::isEditingCommandEnabled): Proxy isEditingCommandEnabled to the plugin.
* WebProcess/Plugins/PluginView.h:
(PluginView): Add handleEditingCommand, isEditingCommandEnabled,
setPageScaleFactor/pageScaleFactor, and handlesPageScaleFactor. Add m_pageScaleFactor.
(WebKit::PluginView::handlesPageScaleFactor): Proxy handlesPageScaleFactor to the plugin.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::restoreViewState): Don't update WebPageProxy's notion of the scale factor if it should be the default.
(WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Make use of shouldUseCustomRepresentationForResponse on WebPage instead of WebProcess.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin): Create a PDFPlugin if appropriate (if it is built and the setting is enabled).
(WebKit::pluginViewForFrame): Return the PluginView for the given frame if its document is a PluginDocument.
(WebKit::WebPage::executeEditingCommand): Attempt to execute editing commands on the
currently focused (or main-frame) plugin.
(WebKit::WebPage::isEditingCommandEnabled): Validate editing commands against the
currently focused (or main-frame) plugin.
(WebKit::WebPage::scalePage): If the plugin reports that it handles page scale factor
itself, hand it the new scale instead of WebCore.
(WebKit::WebPage::pageScaleFactor): If the plugin reports that it handles page scale
factor itself, return its notion of the current scale instead of WebCore's.
(WebKit::WebPage::validateCommand): Validate editing commands against the
currently focused (or main-frame) plugin.
(WebKit::WebPage::updatePreferences): Update m_pdfPluginEnabled given the relevant WebPreference.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::pdfPluginEnabled): Return whether or not PDFPlugin should be used.
(WebKit::WebPage::setPDFPluginEnabled): Set whether or not PDFPlugin should be used.
2012-10-13 Sam Weinig <sam@webkit.org>
Use class extension rather than a void* member for new Objective-C WebProcessPlugIn SPI
https://bugs.webkit.org/show_bug.cgi?id=99256
Reviewed by Dan Bernstein.
A bit of good old fashion cleanup.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
Remove the void* member.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
Move members from the WKWebProcessPlugInControllerData struct to a class extension.
(didCreatePage):
(willDestroyPage):
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
Directly access the members instead of using properties, now that it is not inconvenient.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
Remove the void* member.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
Move members from the WKWebProcessPlugInBrowserContextControllerData struct to a class extension.
(-[WKWebProcessPlugInBrowserContextController _initWithBundlePageRef:]):
(-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
Remove unnecessary casts..
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
Add space before the parenthesis of a category to be consistent.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
Remove unnecessary forward declare.
2012-10-13 Andy Estes <aestes@apple.com>
Add a private header for WKWebProcessPlugInBrowserContextController that defines a property for getting the WKBundlePageRef
https://bugs.webkit.org/show_bug.cgi?id=99252
Reviewed by Sam Weinig.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: Added.
2012-10-12 Brady Eidson <beidson@apple.com>
Setup basic NetworkProcess messaging and initialization.
https://bugs.webkit.org/show_bug.cgi?id=99198
Reviewed by Sam Weinig.
Project file/build system stuff:
* DerivedSources.make:
* WebKit2.xcodeproj/project.pbxproj:
* Scripts/webkit2/messages.py:
(struct_or_class):
Add basic initialization parameters for the NetworkProcess:
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit):
(WebKit::NetworkProcessCreationParameters::NetworkProcessCreationParameters):
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
(CoreIPC):
(WebKit):
(NetworkProcessCreationParameters):
Use them to message the NetworkProcess what it's application name should be:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/Network/NetworkProcessProxy.h:
(WebKit):
(NetworkProcessProxy):
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit):
(WebKit::NetworkProcessProxy::platformInitializeNetworkProcess):
Add basic message handling and initialization to the NetworkProcess itself:
* NetworkProcess/NetworkProcess.messages.in: Added.
* Platform/CoreIPC/MessageID.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit):
* NetworkProcess/NetworkProcess.h:
(WebKit):
(NetworkProcess):
Set a reasonable application name to be revealed in UI:
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit):
(WebKit::NetworkProcess::platformInitialize):
2012-10-12 Ada Chan <adachan@apple.com>
Add WKPage API to get whether the main frame is pinned to the top or bottom edge
https://bugs.webkit.org/show_bug.cgi?id=99110
Reviewed by Beth Dakin.
This is very similar to r79025 where we add support to do this for the left and right sides.
* UIProcess/API/C/WKPage.cpp:
(WKPageIsPinnedToTopSide):
(WKPageIsPinnedToBottomSide):
* UIProcess/API/C/WKPage.h:
Add new API calls.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isPinnedToTopSide):
(WebKit::WebPageProxy::isPinnedToBottomSide):
Declare new data members for keeping track of the pinned states for
top and bottom sides. Initialize, reset, and update these states
at appropriate times. Implement getters for these states.
* UIProcess/WebPageProxy.messages.in:
Change the DidChangeScrollOffsetPinningForMainFrame message to take
the pinned states for top and bottom sides.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::didChangeScrollOffsetForMainFrame):
* WebProcess/WebPage/WebPage.h:
Cache the pinned states for top and bottom sides. Only notify the
UI process if the states have changed.
2012-10-12 Anders Carlsson <andersca@apple.com>
Stop using deprecatedSend inside ConnectionMac.cpp
https://bugs.webkit.org/show_bug.cgi?id=99192
Reviewed by Andreas Kling.
The messages that we send are so simple that we can just use sendMessage.
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
2012-10-12 Brady Eidson <beidson@apple.com>
Add a basic NetworkProcess.app to the WebKit2 build
https://bugs.webkit.org/show_bug.cgi?id=98543
Reviewed by Sam Weinig.
This change sets up the Mac build to include a NetworkProcess.app.
It also launches this app when the first WebProcess is created.
It then quits this app when the UIProcess terminates.
The app, it does nothing.
-McBain
Pure project file/build system stuff:
* Configurations/NetworkProcess.xcconfig: Added.
* WebKit2.xcodeproj/project.pbxproj:
* WebKit2Prefix.h:
Basic UIProcess side of things:
* UIProcess/Network/NetworkProcessProxy.cpp: Added.
(WebKit):
(WebKit::NetworkProcessProxy::create):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
(WebKit::NetworkProcessProxy::syncMessageSendTimedOut):
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/Network/NetworkProcessProxy.h: Added.
(WebKit):
(NetworkProcessProxy):
Basic NetworkProcess side of things:
* NetworkProcess/Info.plist: Added.
* NetworkProcess/NetworkProcess.cpp: Added.
(WebKit):
(WebKit::NetworkProcess::shared):
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::~NetworkProcess):
(WebKit::NetworkProcess::initialize):
(WebKit::NetworkProcess::shouldTerminate):
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):
(WebKit::NetworkProcess::syncMessageSendTimedOut):
* NetworkProcess/NetworkProcess.h: Added.
(WebCore):
(WebKit):
(NetworkProcess):
Add the main method for the NetworkProcess itself:
* WebProcess/WebKitMain.cpp:
(WebKitMain):
* NetworkProcess/NetworkProcessMain.h: Added.
(WebKit):
* NetworkProcess/mac/NetworkProcessMainMac.mm: Added.
(WebKit):
(WebKit::NetworkProcessMain):
Teach ProcessLauncher about the new app type:
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::createProcess):
Launch the NetworkProcess when we launch the first WebProcess:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureNetworkProcess):
* UIProcess/WebContext.h:
(WebContext):
2012-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r131189.
http://trac.webkit.org/changeset/131189
https://bugs.webkit.org/show_bug.cgi?id=99187
Made inspector http tests crash on WK2. (Requested by rakuco
on #webkit).
* PlatformEfl.cmake:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):
2012-10-12 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Share resources installed for inspector
https://bugs.webkit.org/show_bug.cgi?id=98991
Reviewed by Gyuyoung Kim.
* PlatformEfl.cmake: Removed build script which install resources to share.
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::inspectorPageURL): Modified not to use makeString.
(WebKit::WebInspectorProxy::inspectorBaseURL): Changed resource path.
2012-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r131160.
http://trac.webkit.org/changeset/131160
https://bugs.webkit.org/show_bug.cgi?id=99163
"It should not be landed without it's follow-up because it
break pixal and ref tests without it." (Requested by kbalazs
on #webkit).
* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateQImage):
* Shared/API/c/qt/WKImageQt.h:
2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
[WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
https://bugs.webkit.org/show_bug.cgi?id=90142
Unreviewed buildfix 2.
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::encodePlatformData):
(CoreIPC::::decodePlatformData):
2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
[WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
https://bugs.webkit.org/show_bug.cgi?id=90142
Unreviewed buildfix.
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::decode):
2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
[WK2] Serialization of Resource[Request,Response,Error] should be shared across ports
https://bugs.webkit.org/show_bug.cgi?id=90142
Reviewed by Simon Hausmann.
Share common serialization code across Qt and soup ports.
All of these ports serialize the WebCore representation
of these types.
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC):
(CoreIPC::::decode):
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::encodePlatformData):
(CoreIPC::::decodePlatformData):
* Shared/qt/WebCoreArgumentCodersQt.cpp:
(CoreIPC::::encodePlatformData):
(CoreIPC::::decodePlatformData):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::encodePlatformData):
(CoreIPC::::decodePlatformData):
* Shared/win/WebCoreArgumentCodersWin.cpp:
(CoreIPC::::encodePlatformData):
(CoreIPC::::decodePlatformData):
2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
Unreviewed, rolling out r130389.
http://trac.webkit.org/changeset/130389
https://bugs.webkit.org/show_bug.cgi?id=98048
It broke chromium
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-10-12 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WTR] Do a forced repaint before generating pixel results
https://bugs.webkit.org/show_bug.cgi?id=98654
Reviewed by Jocelyn Turcotte.
Added API to convert a QImage to a WKImage so we can
pass it to cross-platform code.
* Shared/API/c/qt/WKImageQt.cpp:
(WKImageCreateFromQImage):
* Shared/API/c/qt/WKImageQt.h:
2012-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r131121.
http://trac.webkit.org/changeset/131121
https://bugs.webkit.org/show_bug.cgi?id=99144
It made all tests timeout on all WK2 platform (Requested by
ossy on #webkit).
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
2012-10-11 Andy Estes <aestes@apple.com>
Add some basic methods and properties to the injected bundle Objective-C DOM API
https://bugs.webkit.org/show_bug.cgi?id=99137
Reviewed by Sam Weinig.
Add methods and properties that allow for tree traversal, node creation/insertion,
attribute modification, text node retrieval, and range creation.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
(toDocument):
(-[WKDOMDocument createElement:]):
(-[WKDOMDocument createTextNode:]):
(-[WKDOMDocument body]):
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
(-[WKDOMElement hasAttribute:]):
(-[WKDOMElement getAttribute:]):
(-[WKDOMElement setAttribute:value:]):
(-[WKDOMElement tagName]):
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
(WebKit::WKDOMNodeClass):
(WebKit::toWebCoreText):
(WebKit::toWKDOMText):
(WebKit::toWebCoreRange):
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
(-[WKDOMNode insertNode:before:]):
(-[WKDOMNode appendChild:]):
(-[WKDOMNode parentNode]):
(-[WKDOMNode firstChild]):
(-[WKDOMNode nextSibling]):
* WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange setStart:offset:]):
(-[WKDOMRange setEnd:offset:]):
(-[WKDOMRange collapse:]):
(-[WKDOMRange selectNode:]):
(-[WKDOMRange selectNodeContents:]):
(-[WKDOMRange isCollapsed]):
* WebProcess/InjectedBundle/API/mac/WKDOMText.h: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMText.mm: Added.
(-[WKDOMText data]):
2012-10-11 Brady Eidson <beidson@apple.com>
Add a WKContext call to enable the NetworkProcess.
https://bugs.webkit.org/show_bug.cgi?id=99140
Reviewed by Sam Weinig.
Add the SPI:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetUsesNetworkProcess):
* UIProcess/API/C/WKContextPrivate.h:
Add a member for the flag and the first call site that will be interested in the flag's value:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::setUsesNetworkProcess):
(WebKit):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::ensureNetworkProcess):
* UIProcess/WebContext.h:
(WebContext):
2012-10-11 Andy Estes <aestes@apple.com>
Fix the 32-bit Mac build after r131138.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::load):
2012-10-11 Anders Carlsson <andersca@apple.com>
Stop using Connection::deprecatedSend in WebConnection
https://bugs.webkit.org/show_bug.cgi?id=99130
Reviewed by Sam Weinig.
Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
Add new files.
* Platform/CoreIPC/MessageID.h:
Add WebConnectionMessageClass.
* Shared/WebConnection.cpp:
(WebKit::WebConnection::WebConnection):
Make WebConnection hold on to the CoreIPC::Connection.
(WebKit::WebConnection::postMessage):
Ask the subclasses to encode the body data, then send it.
(WebKit::WebConnection::handleMessage):
Ask the subclasses to decode the body data, then call didReceiveClient.
(WebKit::WebConnection::invalidate):
Null out m_connection.
* Shared/WebConnection.h:
(WebKit::WebConnection::connection):
* Shared/WebConnection.messages.in: Added.
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
Pass the connection to the WebConnection initializer.
(WebKit::WebConnectionToWebProcess::encodeMessageBody):
(WebKit::WebConnectionToWebProcess::decodeMessageBody):
Encode and decode the message body.
(WebKit::WebConnectionToWebProcess::didReceiveMessage):
Handle WebConnection messages.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
Pass the connection to the WebConnection initializer.
(WebKit::WebConnectionToUIProcess::encodeMessageBody):
(WebKit::WebConnectionToUIProcess::decodeMessageBody):
Encode and decode the message body.
(WebKit::WebConnectionToUIProcess::didReceiveMessage):
Handle WebConnection messages.
* win/WebKit2.vcproj:
Add new files.
2012-10-11 Andy Estes <aestes@apple.com>
Expose the main frame's document to injected bundles via the Objective-C API
https://bugs.webkit.org/show_bug.cgi?id=99133
Patch by Sam Weinig.
Reviewed by Anders Carlsson.
Allow a bundle to declare a principle class which will be instantiated
by WebKit2 and passed an object to which WKBundleClient calls are
forwarded and which can access the main frame's WKDOMDocument.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Instantiate
the bundle's principle class forward WKBundleClient calls to it.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
Add a property called mainFrameDocument which returns a WKDOMDocument.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::load): Initialize the shared
WKWebProcessPlugInController with the bundle's principle class.
2012-10-11 Sam Weinig <sam@webkit.org>
Add a helper function for initializing WebKit2 DOM objects
https://bugs.webkit.org/show_bug.cgi?id=99128
Reviewed by Anders Carlsson.
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
(WebKit::WKDOMNodeClass):
(WebKit::initWithImpl):
(WebKit::toWKDOMNode):
(WebKit::toWKDOMRange):
(WebKit::toWKDOMType):
Add toWKDOMType which implements the core object initialization and caching.
2012-10-11 Seokju Kwon <seokju.kwon@samsung.com>
[EFL][WK2] Add support for Inspector
https://bugs.webkit.org/show_bug.cgi?id=98639
Reviewed by Kenneth Rohde Christiansen.
Support inspector on WebKit2/Efl and add APIs to show and close the inspector.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_inspector_show):
(ewk_view_inspector_close):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::resizeInspectorWindow):
(WebKit):
(WebKit::destroyInspectorWindow):
(WebKit::closeInspectorWindow):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformOpen):
2012-10-11 Anders Carlsson <andersca@apple.com>
Stop using deprecatedSend and deprecatedSendSync for sending messages to the UI process
https://bugs.webkit.org/show_bug.cgi?id=99125
Reviewed by Andreas Kling.
Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
* UIProcess/WebContext.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::postMessage):
(WebKit):
(WebKit::WebProcessProxy::postSynchronousMessage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
2012-10-11 Anders Carlsson <andersca@apple.com>
Stop using deprecatedSend for WebContext::postMessageToInjectedBundle
https://bugs.webkit.org/show_bug.cgi?id=99123
Reviewed by Andreas Kling.
Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
* Platform/CoreIPC/MessageID.h:
Remove MessageClassInjectedBundle.
* Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Removed.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
Stop using deprecatedSend.
(WebKit::WebContext::postMessageToInjectedBundle):
Stop using deprecatedSend. Remove now invalid FIXMEs.
* UIProcess/WebPageProxy.cpp:
Remove include.
* WebKit2.xcodeproj/project.pbxproj:
Remove InjectedBundleMessageKinds.h.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.h:
The injected bundle is no longer in charge of receiving IPC messages.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
Stop passing messages to the injected bundle.
(WebKit::WebProcess::postInjectedBundleMessage):
Decode the message and pass it to the injected bundle.
* WebProcess/WebProcess.messages.in:
Add PostInjectedBundleMessage.
2012-10-11 Anders Carlsson <andersca@apple.com>
Stop using deprecatedSend for WebPageProxy::postMessageToInjectedBundle
https://bugs.webkit.org/show_bug.cgi?id=99120
Reviewed by Andreas Kling.
Instead of using deprecatedSend, just encode the data using a separate ArgumentEncoder and pass it along as a DataReference.
* Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
Remove PostMessageToPage.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::postMessageToInjectedBundle):
Stop using deprecatedSend.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::didReceiveMessage):
Remove code to handle PostMessageToPage.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::postInjectedBundleMessage):
Decode the APIObject and send it along to the injected bundle.
* WebProcess/WebPage/WebPage.messages.in:
Add PostInjectedBundleMessage message.
2012-10-11 Regina Chung <heejin.r.chung@samsung.com>
[EFL][WK2] WebProcess keeps on waiting for UIProcess
https://bugs.webkit.org/show_bug.cgi?id=97646
Reviewed by Kenneth Rohde Christiansen.
Set LayerTreeRenderer to active so UIProcess can send RenderNextFrame message to WebProcess
after accelerated compositing(AC) mode is entered, so WebProcess can start flushing changes to UIProcess.
* UIProcess/API/efl/EflViewportHandler.cpp: Added API for setting LayerTreeRenderer's active state.
(WebKit::EflViewportHandler::setActive):
(WebKit):
* UIProcess/API/efl/EflViewportHandler.h:
(EflViewportHandler):
* UIProcess/API/efl/ewk_view.cpp: Sets LayerTreeRenderer's active status to true after entering AC mode.
(ewk_view_accelerated_compositing_mode_enter):
2012-10-10 Brady Eidson <beidson@apple.com>
Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer
https://bugs.webkit.org/show_bug.cgi?id=98976
Reviewed by Anders Carlsson.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::finishedLoading):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::source):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getMainResourceDataOfFrame):
2012-10-11 Sam Weinig <sam@webkit.org>
Add missing WK_EXPORT for WKDOMTextIterator.
Rubber-stamped by Brady Eidson.
* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
2012-10-11 Zeno Albisser <zeno@webkit.org>
[Qt] Implement GraphicsSurfaceToken to replace uint64_t as token type.
https://bugs.webkit.org/show_bug.cgi?id=98501
Replace the token type for GraphicsSurface with a new class GraphicsSurfaceToken.
This is necessary in order to implement GraphicsSurface for Windows.
Depending on the platform a GraphicsSurfaceToken might contain a
WindowID (Linux/GLX), two IOSurfaceIDs (Mac) or in the future two HANDLEs (Windows).
The simple uint64_t is not sufficient anymore, since a single HANDLE in windows
can be 64bit already.
Reviewed by Noam Rosenthal.
* Shared/ShareableSurface.cpp:
(WebKit::ShareableSurface::Handle::encode):
(WebKit::ShareableSurface::Handle::decode):
(WebKit::ShareableSurface::create):
(WebKit::ShareableSurface::createHandle):
* Shared/ShareableSurface.h:
(WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
(Handle):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/WebCoreArgumentCoders.h:
(WebCore):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::syncCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-10-10 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Avoid unnecessary calls in PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=98886
Reviewed by Jocelyn Turcotte.
Remove leftover and unneeded update guards and visibility update
notifications to avoid unnecessary update cycles between the
controller an the client.
Previously didRenderFrame triggered updates for no reason since
animations on the page cause a lot of DidRenderFrame messages
for which the viewport state does not change.
* UIProcess/PageViewportController.cpp:
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::PageViewportController::didRenderFrame):
* UIProcess/PageViewportController.h:
(PageViewportController):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::setContentsScale):
(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
(WebKit::PageViewportControllerClientQt::updateViewportController):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):
2012-10-11 Mario Sanchez Prada <msanchez@igalia.com>
[GTK] It should be possible to disable favicons in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=98885
Reviewed by Carlos Garcia Campos.
Make support for favicons in WebKit2GTK+ disabled by default, and
allow enabling it even after calling webkit_web_context_get_favicon_database(),
by decoupling opening the IconDatabase, which will happen when
setting the path for the database directory, from creating the
instance of WebKitFaviconDatabase from WebKitWebContext.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate): Renamed faviconDatabasePath to
faviconDatabaseDirectory;
(ensureFaviconDatabase): Makes sure there's an instance of
WebKitFaviconDatabase created and associated to the context.
(webkit_web_context_set_favicon_database_directory): Use the
default path if NULL is passed, or the specified one, creating the
database if needed and opening it by setting it's path. If the
database is already open this method does nothing.
(webkit_web_context_get_favicon_database_directory): Return the
path or NULL if webkit_web_context_set_favicon_database_directory
has not been called yet.
(webkit_web_context_get_favicon_database): Return the instance of
WebKitFaviconDatabase, or create it if it doesn't exist yet, but
never set the path (would cause the icon database to be opened).
* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
(testNotInitialized): New test to check that a NOT_INITIALIZED
error is got when using the database before setting its path.
(testSetDirectory): Call set_favicon_database_directory() here
instead of doing it in the constructor of FaviconDatabaseTest.
(beforeAll): Add testNotInitialized() to the test suite.
2012-10-11 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Revisit setting API names and documentation
https://bugs.webkit.org/show_bug.cgi?id=98793
Reviewed by Kenneth Rohde Christiansen.
Make setting API names to be consistent and revisit the documentation.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_frame_flattening_enabled_set):
(ewk_settings_frame_flattening_enabled_get):
(ewk_settings_dns_prefetching_enabled_set):
(ewk_settings_dns_prefetching_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-10-10 Jer Noble <jer.noble@apple.com>
Disallow full screen mode keyboard access by default.
https://bugs.webkit.org/show_bug.cgi?id=98971
<rdar://problem/12474226>
Reviewed by Sam Weinig.
Only support full screen if keyboard access is not requested.
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::supportsFullScreen):
2012-10-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r130972 and r130984.
http://trac.webkit.org/changeset/130972
http://trac.webkit.org/changeset/130984
https://bugs.webkit.org/show_bug.cgi?id=98986
Huge numbers of WK2 crashes (Requested by smfr on #webkit).
* Platform/CoreIPC/Connection.h:
(Connection):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
(CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
(CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* UIProcess/WebConnectionToWebProcess.h:
(WebConnectionToWebProcess):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::knowsHowToHandleMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
2012-10-10 Sam Weinig <sam@webkit.org>
Add more Objective-C WebKit2 DOM API skeletons.
https://bugs.webkit.org/show_bug.cgi?id=98981
Reviewed by Anders Carlsson.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
Update guards to actually do something. __CLANG__ is never defined, but __clang__ is.
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
- Abstracts DOM object caching into the DOMCache class which can only be used as a singleton.
- Adds WKDOMRange class extension to allow manipulating its internal pointer for caching purposes.
- Add WKDOMRange conversion functions.
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
Rename _node to _impl for consistency.
* WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange _initWithImpl:WebCore::]):
(-[WKDOMRange initWithDocument:]):
(-[WKDOMRange dealloc]):
(-[WKDOMRange startContainer]):
(-[WKDOMRange startOffset]):
(-[WKDOMRange endContainer]):
(-[WKDOMRange endOffset]):
(-[WKDOMRange text]):
Added. Only offers base range functionality.
* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
(-[WKDOMTextIterator initWithRange:]):
(-[WKDOMTextIterator advance]):
(-[WKDOMTextIterator atEnd]):
(-[WKDOMTextIterator currentRange]):
(-[WKDOMTextIterator currentTextPointer]):
(-[WKDOMTextIterator currentTextLength]):
Added. Almost identical to WebTextIterator API in WebKit.
2012-10-10 Anders Carlsson <andersca@apple.com>
Stop crashing left and right.
* UIProcess/WebConnectionToWebProcess.h:
(WebKit::WebConnectionToWebProcess::webProcessProxy):
Add a getter.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fromConnection):
The WebProcessProxy is not the Connection::Client, the WebConnectionToWebProcess is.
2012-10-10 Sam Weinig <sam@webkit.org>
Fix the GCC Mac build. Why are we still building with GCC again?
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
2012-10-10 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add toolbar buttons to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=98883
Reviewed by Kenneth Rohde Christiansen.
Add "back,forward,list,changed" signal on the Ewk_View
to notify the client when the view's back / forward
list has changed. This is useful for the UI to update
its back / forward buttons disabled state.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_back_forward_list_changed):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didChangeBackForwardList):
* UIProcess/API/efl/ewk_view_private.h:
2012-10-10 Jon Lee <jonlee@apple.com>
[WK2] Activate plugins when user clicks on snapshot
https://bugs.webkit.org/show_bug.cgi?id=98328
<rdar://problem/12426681>
Reviewed by Brady Eidson.
Implement the recreation of the plugin.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::recreateAndInitialize): We can run into a situation where the user
decided to run the plugin before the snapshot was ready to be taken. In this case, the
plugin member variable is non-null, and the timer is still active. Turn off the timer, and
destroy that instance of the plugin. We set the plugin to the instance provided in the
first parameter to this function, and reset the member variables so that the PluginView is
in a state similar to when it was first created. We also immediately initialize the plugin,
which may happen synchronously or asynchronously.
* WebProcess/Plugins/PluginView.h:
(WebKit::PluginView::initialParameters): Expose the initial parameters. Used to recreate
the plugin.
(WebKit::PluginView::pluginElement): Expose the element associated with the widget. Used to
recreate the plugin.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::recreatePlugin): Create a new Plugin instance using the same
parameters used to create the plugin for snapshotting. Forward that instance to the widget.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient): Implement recreatePlugin().
2012-10-10 Sam Weinig <sam@webkit.org>
Fix 32-bit build.
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
2012-10-10 Anders Carlsson <andersca@apple.com>
WebContext should be a MessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=98958
Reviewed by Sam Weinig.
Make WebContext be a MessageReceiver that lives in its own map. This allows us to get rid of the
knowsHowToHandleMessage functions on MessageReceiverMap and WebContext.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::client):
(Connection):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::addMessageReceiver):
(CoreIPC::MessageReceiverMap::invalidate):
(CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
(CoreIPC::MessageReceiverMap::dispatchMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
(MessageReceiverMap):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::dispatchMessage):
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fromConnection):
(WebKit):
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
2012-10-10 Sam Weinig <sam@webkit.org>
Add skeleton of a WebKit2 ObjC DOM SPI (not intended to be the full DOM)
https://bugs.webkit.org/show_bug.cgi?id=98955
Reviewed by Anders Carlsson.
Add a skeleton DOM implementation only exposing Node, Element and Document
for now. It is currently only available in 64-bit as it relies on the non-fragile
ABI for now.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Added.
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Added.
2012-10-04 Andy Estes <aestes@apple.com>
[WebKit2] Create an API for adding and removing user stylesheets from a page group
https://bugs.webkit.org/show_bug.cgi?id=98432
Reviewed by Sam Weinig.
This patch adds the following API to WKBrowsingContextGroup:
- (void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly;
- (void)removeAllUserStyleSheets;
Sheets added via this API are sent to all processes that contain a page
in the given page group. Sheets are also cached in the UI process in a
new object called UserContentContainer, which is a property of each
group's WebPageGroupData and is sent to new web processes during page
initialization.
This is less than ideal, since new pages added to a pre-existing
process / page group combination will send redundant user stylesheet
strings over the wire. To avoid this we'd have to keep track track of
the groups that currently exist in each process and only send user
content during page creation if it is the first time a process has seen
the page's group. I decided to not add this complexity for the time
being, but we might need to consider it if we find that the current
approach impacts performance for clients that heavily utilize user
content.
* Shared/API/c/WKArray.cpp:
(WKArrayCreateAdoptingValues): Add a WKArray creation function that
adopts the incoming WKTypeRefs rather than refing them.
* Shared/API/c/WKArray.h:
* Shared/API/c/WKBase.h: Move WKUserContentInjectedFrames out of
WKBundlePrivate.h so it can be used in WKPageGroup, too.
* Shared/API/c/cf/WKURLCF.cpp:
(WKURLCreateWithCFURL): Return 0 for null CFURLRefs instead of crashing
inside CFURLGetString().
* Shared/ImmutableArray.cpp:
(WebKit::ImmutableArray::ImmutableArray): Add a tag to differentiate
between the adopting and refing ctors.
* Shared/ImmutableArray.h:
(WebKit::ImmutableArray::create): Call the refing ctor.
(WebKit::ImmutableArray::adopt): Call the adopting ctor.
* Shared/UserContentContainer.cpp: Added.
(UserContentItemMessageEncoder): Create a UserMessageEncoder for
serializing UserContentContainer::Item's APIObjects.
(WebKit::UserContentItemMessageEncoder::UserContentItemMessageEncoder):
(WebKit::UserContentItemMessageEncoder::encode):
(UserContentItemMessageDecoder): Create a UserMessageEncoder for
deserializing UserContentContainer::Item's APIObjects.
(WebKit::UserContentItemMessageDecoder::UserContentItemMessageDecoder):
(WebKit::UserContentItemMessageDecoder::decode):
(WebKit::UserContentContainer::Item::Item):
(WebKit::encodeStringArray): Add a helper function for encoding
ImmutableArrays of WebStrings.
(WebKit::UserContentContainer::Item::encode): Encode the item's
properties using UserContentItemMessageEncoder.
(WebKit::decodeStringArray): Add a helper function for decoding
ImmutableArrays of WebStrings.
(WebKit::UserContentContainer::Item::decode): Decode the item's
properties using UserContentItemMessageDecoder.
(WebKit::toStringVector): Add a helper function for converting an
ImmutableArray of WebStrings to a Vector of Strings.
(WebKit::UserContentContainer::Item::whitelist): Use toStringVector().
(WebKit::UserContentContainer::Item::blacklist): Ditto.
(WebKit::UserContentContainer::encode): Encode the Vector of UserContentContainer::Items.
(WebKit::UserContentContainer::decode): Decode the Vector of UserContentContainer::Items.
* Shared/UserContentContainer.h: Added.
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode): Include userStyleSheets when encoding.
(WebKit::WebPageGroupData::decode): Include userStyleSheets when decoding.
* Shared/WebPageGroupData.h:
(WebPageGroupData): Add a UserContentContainer called userStyleSheets
to WebPageGroupData.
* UIProcess/API/C/WKPageGroup.cpp: Add the C SPI version of the Objective-C API.
(WKPageGroupAddUserStyleSheet):
(WKPageGroupRemoveAllUserStyleSheets):
* UIProcess/API/C/WKPageGroup.h:
* UIProcess/API/mac/WKBrowsingContextGroup.h: Add the Objective-C API.
* UIProcess/API/mac/WKBrowsingContextGroup.mm:
(createWKArray): Add a helper function that converts an NSArray of NSStrings to a WKArray of WKStrings.
(-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelist:blacklist:mainFrameOnly:]):
Implement the Objective-C API in terms of the C SPI.
(-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto.
* UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::addUserStyleSheet): Add the new sheet to the
group's WebPageGroupData, which ensures that the group's sheets are
sent to new web processes.
(WebKit::WebPageGroup::removeAllUserStyleSheets): Ditto for removal.
* UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::sendToAllProcessesInGroup): Add a helper message
that sends a message to all processes that have a page in the current
group. This is used to add new user sheets to already-initialized page
groups in the UI processes.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Moved
WKUserContentInjectedFrames from here to WKBase.h.
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::WebPageGroupProxy): Add each sheet in the
WebPageGroupData to WebCore's page group.
(WebKit::WebPageGroupProxy::addUserStyleSheet): Add the sheet received
from the UI process to WebCore's page group.
(WebKit::WebPageGroupProxy::removeAllUserStyleSheets): Remove all
sheets from WebCore's page group.
* WebProcess/WebPage/WebPageGroupProxy.h:
* WebProcess/WebPage/WebPageGroupProxy.messages.in: Define
AddUserStyleSheet and RemoveAllUserStyleSheets, two messages sent from
the UI process to a web process's WebPageGroupProxy.
2012-10-10 Sam Weinig <sam@webkit.org>
Make all of the WebContext sub objects MessageReceivers
https://bugs.webkit.org/show_bug.cgi?id=98661
Reviewed by Anders Carlsson.
Start work towards simplified message dispatch.
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::clearAllMessageReceivers):
(CoreIPC::MessageReceiverMap::knowsHowToHandleMessage):
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
Add additional helper methods.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::addMessageReceiver):
(WebKit::WebContext::knowsHowToHandleMessage):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
Add a MessageReceiverMap that chains to the main on in WebProcessProxy. Simplifies
didReceiveMessage and didReceiveSyncMessage.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
Use the new WebContext methods to simplify dispatch.
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebBatteryManagerProxy.cpp:
(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
* UIProcess/WebBatteryManagerProxy.h:
(WebBatteryManagerProxy):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
(WebKit):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
* UIProcess/WebGeolocationManagerProxy.h:
(WebGeolocationManagerProxy):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::WebIconDatabase):
* UIProcess/WebIconDatabase.h:
(WebIconDatabase):
(WebKit::WebIconDatabase::type):
* UIProcess/WebKeyValueStorageManagerProxy.cpp:
(WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.cpp:
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
(WebKit::WebNetworkInfoManagerProxy::didReceiveSyncMessage):
* UIProcess/WebNetworkInfoManagerProxy.h:
(WebNetworkInfoManagerProxy):
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
(WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
(WebKit):
* UIProcess/WebResourceCacheManagerProxy.h:
(WebResourceCacheManagerProxy):
* UIProcess/WebVibrationProxy.cpp:
(WebKit::WebVibrationProxy::WebVibrationProxy):
* UIProcess/WebVibrationProxy.h:
(WebVibrationProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
(WebKit):
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
* WebProcess/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebGeolocationManager):
Make all the WebContext sub-objects MessageReceivers to simplify dispatch.
2012-10-10 Simon Fraser <simon.fraser@apple.com>
Add the mangled symbol name for Frame::layerTreeAsText() to the confusingly named
Windows export file.
* win/WebKit2.def:
2012-10-10 Simon Fraser <simon.fraser@apple.com>
Store a visible rect in GraphicsLayers, and optionally dump it in layerTreeAsText
https://bugs.webkit.org/show_bug.cgi?id=98839
Reviewed by Sam Weinig.
Add a flag to layerTreeAsText() so that tests can optionally include this visible rect in
layer tree dumps. This output will be platform-specific, so we don't want to do it unconditionally.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::layerTreeAsText):
2012-10-10 Shinya Kawanaka <shinyak@chromium.org>
Needs internal API to return distributed nodes for InsertionPoint
https://bugs.webkit.org/show_bug.cgi?id=98868
Reviewed by Hajime Morita.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-10-10 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt][WK2] REGRESSION(r130879): It made fast/events/touch/* tests crash
https://bugs.webkit.org/show_bug.cgi?id=98888
Reviewed by Kenneth Rohde Christiansen.
Add null-checks in the gesture recognizers to allow them working without a PageViewportController.
The pinch and pan gesture recognizers aren't used in that case yet, but they could eventually
be used to send pinch and pan gesture events to the web process. They are currently kept active
because we need the tap gesture recognizer and its logic is bound to those other recognizers.
* UIProcess/qt/QtPanGestureRecognizer.cpp:
(WebKit::QtPanGestureRecognizer::update):
(WebKit::QtPanGestureRecognizer::finish):
(WebKit::QtPanGestureRecognizer::cancel):
* UIProcess/qt/QtPinchGestureRecognizer.cpp:
(WebKit::QtPinchGestureRecognizer::update):
(WebKit::QtPinchGestureRecognizer::finish):
(WebKit::QtPinchGestureRecognizer::cancel):
2012-10-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test /webkit2/WebKitWebView/history-cache asserts in debug bot
https://bugs.webkit.org/show_bug.cgi?id=98731
Reviewed by Martin Robinson.
The problem is in the test itself that is using
SingleResourceLoadTest class to load a multiresource document.
* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebViewResourcesHistoryCache): Load only single resource
documents and check also that the main resource given is the
expected one.
(serverCallback): Add another single resource document.
2012-10-10 Christophe Dumez <christophe.dumez@intel.com>
[WK2][SOUP] ResourceError.isCancellation() is not carried over IPC
https://bugs.webkit.org/show_bug.cgi?id=98882
Reviewed by Kenneth Rohde Christiansen.
Properly serialize / deserialize ResourceError.isCancellation
boolean so that it can be used in UIProcess.
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
2012-10-10 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Add APIs to get/set the DNS prefetching
https://bugs.webkit.org/show_bug.cgi?id=98790
Reviewed by Laszlo Gombos.
Add setting APIs for DNS prefetching and a unit test.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_DNS_prefetching_enabled_set):
(ewk_settings_DNS_prefetching_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-10-09 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt][WK2] REGRESSION(r130629): It made touchadjustment/focusout-on-touch.html fai1
https://bugs.webkit.org/show_bug.cgi?id=98642
Reviewed by Kenneth Rohde Christiansen.
There was an early return that would prevent gesture recognition if no PageViewportController
has been set on QtWebPageEventHandler. The gesture recognizer are also used to send
GestureEvents to WebCore which this layout test is using.
Make sure that the gesture recognition is done even when no PageViewportController is present.
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::handleInputEvent):
(WebKit::QtWebPageEventHandler::doneWithTouchEvent):
2012-10-10 Zeno Albisser <zeno@webkit.org>
[Qt] ProcessLauncherQt should use QStringLiteral for serviceName.
https://bugs.webkit.org/show_bug.cgi?id=98398
QString(const char*) is deprecated, we should use QStringLiteral instead.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):
2012-10-10 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Add History callbacks API
https://bugs.webkit.org/show_bug.cgi?id=98594
Reviewed by Kenneth Rohde Christiansen.
Added History callbacks API to Ewk Context. Added unit tests.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(ewk_context_history_callbacks_set): New public function which lets the client to set History callbacks.
(ewk_context_history_client_get):
(ewk_context_add_visited_link): New public function to mark a URL as visited link.
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_history_client.cpp: Added.
(getEwkHistoryDelegate):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(populateVisitedLinks):
(ewk_context_history_client_attach):
* UIProcess/API/efl/ewk_context_history_client_private.h: Added.
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_navigation_data.cpp: Added.
(_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::_Ewk_Navigation_Data):
(_Ewk_Navigation_Data::~_Ewk_Navigation_Data):
(ewk_navigation_data_ref):
(ewk_navigation_data_unref):
(ewk_navigation_data_title_get):
(ewk_navigation_data_original_request_get):
(ewk_navigation_data_url_get):
(ewk_navigation_data_new):
* UIProcess/API/efl/ewk_navigation_data.h: Added.
* UIProcess/API/efl/ewk_navigation_data_private.h: Added.
* UIProcess/API/efl/ewk_view.cpp:
(addToPageViewMap):
(removeFromPageViewMap):
(_ewk_view_smart_del):
(_ewk_view_initialize):
(ewk_view_from_page_get):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/tests/test_ewk2_context_history_delegate.cpp: Added.
(httpServer):
(navigateWithNavigationData):
(performClientRedirect):
(performServerRedirect):
(updateHistoryTitle):
(populateVisitedLinks):
(onLoadFinishedForRedirection):
(serverCallbackRedirection):
(TEST_F):
2012-10-09 Byungwoo Lee <bw80.lee@samsung.com>
[EFL][WK2] Change parameter and return type of loadUrlSync().
https://bugs.webkit.org/show_bug.cgi?id=97920
Reviewed by Gyuyoung Kim.
loadUrlSync() uses waitUntilLoadFinished() internally, and it has
a parameter and return value for timeout.
To set and check timeout, loadUrlSync() should have those.
A parameter for timeout interval is added to loadUrlSync() and it
returns the result of waitUntilLoadFinished() for checking timeout.
And I added codes to check the result of all the LoadUrlSync()
function calls with ASSERT_TRUE() macro.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTestBase):
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_intents.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-10-09 Byungwoo Lee <bw80.lee@samsung.com>
[EFL][WK2] Move timeout callback to the CallbackDataTimer class.
https://bugs.webkit.org/show_bug.cgi?id=97861
Reviewed by Gyuyoung Kim.
Timeout callbacks for waitUntil{LoadFinished,TitleChanged,URIChanged}
can be moved to the CallbackDataTimer class.
Moved the callback implementation to the CallbackDataTimer class.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
(CallbackDataTimer):
(EWK2UnitTest::CallbackDataTimer::timeOutCallback):
(EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo):
2012-10-09 Jian Li <jianli@chromium.org>
Update the CSS property used to support draggable regions.
https://bugs.webkit.org/show_bug.cgi?id=97156
Reviewed by Adam Barth.
The CSS property to support draggable regions, guarded under
WIDGET_REGION is now disabled from Mac WebKit, in order not to cause
confusion with DASHBOARD_SUPPORT feature.
Also update the code to use the new name annotatedRegions to work for
both features.
* Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature.
* WebProcess/WebCoreSupport/WebChromeClient.cpp: Rename dashboardRegions to annotatedRegions.
(WebKit::WebChromeClient::annotatedRegionsChanged):
* WebProcess/WebCoreSupport/WebChromeClient.h: Rename dashboardRegions to annotatedRegions.
(WebChromeClient):
2012-10-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r130811 and r130821.
http://trac.webkit.org/changeset/130811
http://trac.webkit.org/changeset/130821
https://bugs.webkit.org/show_bug.cgi?id=98831
Broke date-suggestion-picker-appearance-with-scroll-bar.html
(Requested by abarth|gardening on #webkit).
* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::WebRenderObject):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::screenRectOfContents):
2012-10-09 Jon Lee <jonlee@apple.com>
[WK2] Have plugins render offscreen to capture snapshot
https://bugs.webkit.org/show_bug.cgi?id=98326
<rdar://problem/12426658>
Reviewed by Simon Fraser.
Keep the plugin rendering without compositing to easily grab the snapshot.
PluginView now has two variables referring to snapshots, but are unrelated. The timer
is used to capture a snapshot that acts as a poster for a plugin. The ShareableBitmap
variable m_snapshot is used whenever the plugin paints in software, to avoid side effects
should the plugin run JS during painting.
* WebProcess/Plugins/PluginView.cpp:
(WebKit): Add a named constant for the time delay before a snapshot is taken.
(WebKit::PluginView::PluginView): Initialize a 3-second timer to get the snapshot.
(WebKit::PluginView::~PluginView): Refactor part of the destructor code out into
destroyPluginAndReset() for reuse.
(WebKit::PluginView::destroyPluginAndReset): Contains part of the destructor code.
In addition to destroying the plugin, the destructor cancels pending loads and streams.
(WebKit::PluginView::didInitializePlugin): If the plugin is in a state where it needs
to generate or display a poster, don't setup the compositing layer and start the timer.
(WebKit::PluginView::paint): Avoid painting if the plugin is not running.
(WebKit::PluginView::invalidateRect): Avoid painting if the plugin is not running.
(WebKit::PluginView::isAcceleratedCompositingEnabled): Don't enable accelerated compositing
until the plugin is running.
(WebKit::PluginView::pluginSnapshotTimerFired): When the timer fires, get a snapshot, generate
an Image that WebCore can render, and destroy the plugin.
Rename m_snapshot to m_transientPaintingSnapshot.
* WebProcess/Plugins/PluginView.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::paint):
(WebKit::PluginView::notifyWidget):
(WebKit::PluginView::pluginSnapshotTimerFired):
2012-10-09 Rik Cabanier <cabanier@adobe.com>
Add missing compile flag for compositing
https://bugs.webkit.org/show_bug.cgi?id=98681
Reviewed by Dirk Schulze.
This flag is needed in case there is a difference in API
when compositing is enabled
* Configurations/FeatureDefines.xcconfig:
2012-10-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r130680.
http://trac.webkit.org/changeset/130680
https://bugs.webkit.org/show_bug.cgi?id=98720
this patch has a typo so was ineffective (Requested by
cabanier on #webkit).
* Configurations/FeatureDefines.xcconfig:
2012-10-09 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
[EFL][WK2] Inform the PageProxy about visibility changes when the view is shown/hidden.
https://bugs.webkit.org/show_bug.cgi?id=98757
Reviewed by Kenneth Rohde Christiansen.
SVN r130720 exposed a bug in our code: the PageProxy is not
notified when one calls evas_object_show() or evas_object_hide()
on the view, so the visibility it has when the WebPageProxy is
constructed remained set forever.
This made the ewk_context_vibration_client_callbacks_set unit test
start running forever, because WebPageProxy's constructor now sets
the page's visibility to hidden by the default for us, since it is
called from within ewk_view_smart_add() and before
evas_object_show().
We now listen to the EVAS_CALLBACK_SHOW and EVAS_CALLBACK_HIDE
callbacks and update the WebPageProxy accordingly. Note that we
could not do this from the smart_show and smart_hide functions we
already had, since they are called before the object's actual
visibility is updated.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_on_show):
(_ewk_view_on_hide):
(_ewk_view_smart_add):
2012-10-09 Simon Pena <spena@igalia.com>
[GTK] Add support for running JavaScript from GResources
https://bugs.webkit.org/show_bug.cgi?id=98488
Reviewed by Carlos Garcia Campos.
GResources allow embedding certain resources, frequently used, in a "bundle"
which can be kept separated or stored in the binary. This patch adds
support for running JavaScript from GResources.
For this, methods run_javascript_from_gresource and
run_javascript_from_gresource_finish are added, which load the resource
asynchronously and, when it is ready, run the JavaScript.
* UIProcess/API/gtk/WebKitWebView.cpp: Include the new methods.
(resourcesStreamReadCallback):
(webkit_web_view_run_javascript_from_gresource):
(webkit_web_view_run_javascript_from_gresource_finish):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
methods in the documentation.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add the test resources to the
build infrastructure.
* UIProcess/API/gtk/tests/TestMain.cpp: Register the resources in the tests,
so that they can be accessed in all of them.
(register_gresource):
(main):
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Test the
run_javascript_from_gresource method.
(testWebViewRunJavaScript):
* UIProcess/API/gtk/tests/WebViewTest.cpp: Add a method for testing the
new run_javascript_from_gresource method.
(runJavaScriptFromGResourceReadyCallback):
(WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
* UIProcess/API/gtk/tests/WebViewTest.h:
* UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml: Added.
Resource bundle containing the resources.
* UIProcess/API/gtk/tests/resources/webkit2gtk-tests.test.js: Added.
Example JavaScript file to test the GResources support.
2012-10-08 Kiran Muppala <cmuppala@apple.com>
Throttle DOM timers on hidden pages.
https://bugs.webkit.org/show_bug.cgi?id=98474
Reviewed by Maciej Stachowiak.
Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define. Use existing code of
PAGE_VISIBILITY_API to detect changes to page visibility state.
* Configurations/FeatureDefines.xcconfig:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Check visibility state on construction.
(WebKit::WebPageProxy::initializeWebPage):
Send initial visibility state message if HIDDEN_PAGE_DOM_TIMER_THROTTLING
is enabled or if PAGE_VISIBILITY_API is enabled.
(WebKit::WebPageProxy::viewStateDidChange):
When PAGE_VISIBILITY_API is not enabled, compare new visibility against
WebPageProxy::m_isVisible, to minimize number of messages sent.
Remove unnecessary second call to PageClient::isViewVisible for updating
visibility state.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPageVisibilityState):
WebKitTestRunner uses this method to implement testRunner.setPageVisibility(),
hence enable it for testing hidden page timer throttling as well.
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::setVisibilityState):
Ensure Page::setVisibilityState is called either if PAGE_VISIBILITY_API is
enabled or if HIDDEN_PAGE_DOM_TIMER_THROTTLING is enabled.
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
2012-10-08 Simon Fraser <simon.fraser@apple.com>
Try to fix Windows build by exporting Frame::layerTreeAsText().
* win/WebKit2.def:
2012-10-08 Rik Cabanier <cabanier@adobe.com>
Add missing compile flag for compositing
https://bugs.webkit.org/show_bug.cgi?id=98681
Reviewed by Dirk Schulze.
This flag is needed in case there is a difference in API
when compositing is enabled
* Configurations/FeatureDefines.xcconfig:
2012-10-08 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test is failing
https://bugs.webkit.org/show_bug.cgi?id=98663
Reviewed by Laszlo Gombos.
EWK2UnitTestBase.ewk_cookie_manager_accept_policy unit test was
failing because the elements of a list were checked in a given
order but the list was not sorted beforehand.
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(sortHostNames):
(TEST_F):
2012-10-08 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Avoid useless converting to WKPage
https://bugs.webkit.org/show_bug.cgi?id=98516
Reviewed by Eric Seidel.
Use priv->pageProxy->findString() and priv->pageProxy->hideFindUI()
to avoid useless converting to WK.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
2012-10-08 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[WK2][WTR] WebKitTestRunner needs testRunner.dispatchPendingLoadRequests
https://bugs.webkit.org/show_bug.cgi?id=98638
Reviewed by Eric Seidel.
Add implementation for testRunner.dispatchPendingLoadRequests in
WebKitTestRunner.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleDispatchPendingLoadRequests):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::dispatchPendingLoadRequests):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
2012-10-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add a setting to enable/disable smooth scrolling to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=98646
Reviewed by Xan Lopez.
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty): Implement setter for new property.
(webKitSettingsGetProperty): Implement getter for new property.
(webkit_settings_class_init): Add new property
enable-smooth-scrolling.
(webkit_settings_get_enable_smooth_scrolling):
(webkit_settings_set_enable_smooth_scrolling):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings): Test smooth scrolling setting API.
2012-10-08 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use URL instead of URI in the API
https://bugs.webkit.org/show_bug.cgi?id=98643
Reviewed by Kenneth Rohde Christiansen.
Use URL instead of URI in WebKit2 EFL API. This change
was discussed on the mailing list and aims at making
the API more consistent.
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(_Ewk_Back_Forward_List_Item):
(ewk_back_forward_list_item_url_get):
(ewk_back_forward_list_item_original_url_get):
* UIProcess/API/efl/ewk_back_forward_list_item.h:
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_url_scheme_register):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_download_client.cpp:
(decideDestinationWithSuggestedFilename):
* UIProcess/API/efl/ewk_download_job.h:
* UIProcess/API/efl/ewk_resource_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(ewk_view_url_update):
(ewk_view_url_set):
(ewk_view_url_get):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_load_finished):
(ewk_view_load_provisional_redirect):
(ewk_view_load_provisional_started):
(ewk_view_html_string_load):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didSameDocumentNavigationForFrame):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
(EWK2UnitTest::onURLChanged):
(EWK2UnitTest::timeOutWhileWaitingUntilURLChangedTo):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilURLChangedTo):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTestBase):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
(EWK2UnitTestServer::EWK2UnitTestServer):
(EWK2UnitTestServer::~EWK2UnitTestServer):
(EWK2UnitTestServer::getURLForPath):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
(EWK2UnitTestServer):
* UIProcess/API/efl/tests/resources/redirect_url_to_default.html: Renamed from Source/WebKit2/UIProcess/API/efl/tests/resources/redirect_uri_to_default.html.
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(checkItem):
(urlFromTitle):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-10-08 Zoltan Horvath <zoltan@webkit.org>
[Qt] r122720 causes performance regression with DirectFB on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=97548
Reviewed by Jocelyn Turcotte.
Revert the rest of r122720. This change modifies the NativeImagePtr from QImage* to QPixmap*.
Covered by existing tests.
* Shared/qt/ShareableBitmapQt.cpp:
(WebKit::ShareableBitmap::createImage):
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
* WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
(WebKit::convertQPixmapToShareableBitmap):
(WebKit::WebDragClient::startDrag):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
2012-10-08 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Unreviewed build fix after r130630
Explicit convertion is required from QSizeF to FloatSize.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::updateViewportSize):
2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Fix the mouse hover events transformation when devicePixelRatio != 1
https://bugs.webkit.org/show_bug.cgi?id=98429
Reviewed by Kenneth Rohde Christiansen.
This prevents the events from being transformed two or three times.
This is only noticeable in desktop mode.
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::handleHoverLeaveEvent):
(WebKit::QtWebPageEventHandler::handleHoverMoveEvent):
2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Apply QQuickWebViewExperimental::devicePixelRatio to the desktop mode as well
https://bugs.webkit.org/show_bug.cgi?id=98428
Reviewed by Kenneth Rohde Christiansen.
This is handled by the PageViewportController when in flickable mode.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::updateViewportSize):
2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Prevent the PageViewportController from affecting the viewport in desktop mode
https://bugs.webkit.org/show_bug.cgi?id=98427
Reviewed by Kenneth Rohde Christiansen.
QQuickFlickable isn't tightly bound to it anymore, we can avoid creating it
completely in this case.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::onComponentComplete):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::onComponentComplete):
(QQuickWebViewPrivate::viewportController):
(QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate::viewportController):
(QQuickWebViewFlickablePrivate):
* UIProcess/qt/QtPageClient.cpp:
(WebKit::QtPageClient::didRenderFrame):
(WebKit::QtPageClient::didChangeContentsSize):
(WebKit::QtPageClient::pageTransitionViewportReady):
* UIProcess/qt/QtWebPageLoadClient.cpp:
(WebKit::QtWebPageLoadClient::didCommitLoad):
2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Fix a QSocketNotifier warning at startup
https://bugs.webkit.org/show_bug.cgi?id=98411
Reviewed by Simon Hausmann.
The actual warning:
QSocketNotifier: socket notifiers cannot be enabled from another thread
The problem was that QSocketNotifier::setEnabled was called on the main thread
after moveToThread was called. This hasn't had any effect since Connection
would dispatch a readyReadHandler call right after which would then call
setEnabled again from the correct thread from ~SocketNotifierResourceGuard.
Replace the call with a queued invoke to shut the warning.
* Platform/qt/WorkQueueQt.cpp:
(WorkQueue::registerSocketEventHandler):
2012-10-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test /webkit2/WebKitWebView/populate-menu asserts in debug bots
https://bugs.webkit.org/show_bug.cgi?id=98507
Reviewed by Martin Robinson.
Make sure we retain the page URL before asking for the icon.
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(getIconSurfaceSynchronously): Retain the page URL before asking
for the icon, and release it if we fail to get an icon.
(processPendingIconsForPageURL): Renamed to make it clear it
receives a Sring and not a char* and moved
getIconSurfaceSynchronously() call out of the loop to call it only
once even if there are multiple requests pending.
(iconDataReadyForPageURLCallback): Do not retain the page URL
here.
2012-10-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use the C API internally in WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=96768
Reviewed by Martin Robinson.
Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.
* UIProcess/API/gtk/WebKitDownloadClient.cpp:
(didStart):
(didReceiveResponse):
(didReceiveData):
(decideDestinationWithSuggestedFilename):
(didCreateDestination):
(didFail):
(didCancel):
(didFinish):
(attachDownloadClientToContext):
* UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
(attachRequestManagerClientToContext):
* UIProcess/API/gtk/WebKitSecurityManager.cpp:
(registerSecurityPolicyForURIScheme):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate):
(createDefaultWebContext):
(webkit_web_context_set_cache_model):
(webkit_web_context_get_cache_model):
(webkit_web_context_clear_cache):
(webkit_web_context_download_uri):
(webkit_web_context_get_cookie_manager):
(webkit_web_context_get_favicon_database_directory):
(webkit_web_context_get_favicon_database):
(webkit_web_context_set_additional_plugins_directory):
(webkitWebContextGetPluginThread):
(webkit_web_context_register_uri_scheme):
(webkitWebContextGetOrCreateDownload):
(webkitWebContextRemoveDownload):
(webkitWebContextGetContext):
(webkitWebContextGetRequestManager):
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):
2012-10-07 Kangil Han <kangil.han@samsung.com>
[EFL][WK2] Fix unused parameter compile warning.
https://bugs.webkit.org/show_bug.cgi?id=98610
Reviewed by Laszlo Gombos.
Fixed unused parameter compile warning by removing initiatingPageRef parameter name.
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
2012-10-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Rename first/second to key/value in HashMap iterators
https://bugs.webkit.org/show_bug.cgi?id=82784
Reviewed by Eric Seidel.
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerEventSourceHandler):
(WorkQueue::unregisterEventSourceHandler):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::unregisterMachPortEventHandler):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::pluginDestroyed):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebPreferencesStore.cpp:
(WebKit::valueForKey):
(WebKit::WebPreferencesStore::getBoolValueForKey):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::decode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::decode):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::~_Ewk_Context):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_loading_resources_clear):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_subresources):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerForall):
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _expectedPreviewCallbackForRect:]):
(pageDidDrawToPDF):
(-[WKPrintingView _drawPreview:]):
* UIProcess/API/mac/WKView.mm:
(commandNameForSelector):
(-[WKView validateUserInterfaceItem:]):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::assignImageToLayer):
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit::WebInspectorServer::~WebInspectorServer):
(WebKit::WebInspectorServer::registerPage):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
* UIProcess/WebContext.cpp:
(WebKit::createDictionaryFromHashMap):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didFinishURLImport):
* UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::extras):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::frameCountInPage):
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
(WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
(WebKit::InjectedBundleIntent::extras):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::policyForOrigin):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::removeNotificationFromContextMap):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::invalidate):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::destroyStream):
(WebKit::NetscapePlugin::frameDidFinishLoading):
(WebKit::NetscapePlugin::frameDidFail):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
(WebKit::PluginView::~PluginView):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::layerByID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::commandNameForSelectorName):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::visitedLinkStateChanged):
(WebKit::WebProcess::allVisitedLinkStateChanged):
(WebKit::WebProcess::focusedWebPage):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):
(WebKit::fromCountedSetToHashMap):
(WebKit::WebProcess::setTextCheckerState):
2012-10-07 Dan Bernstein <mitz@apple.com>
Web process XPC services don't have correct version information in their Info.plist files
https://bugs.webkit.org/show_bug.cgi?id=98619
Reviewed by Anders Carlsson.
* WebProcessService/Info.plist: Added CFBundleGetInfoString, and changed
CFBundleShortVersionString and CFBundleVersion to report the source version.
* WebProcessServiceForWebKitDevelopment/Info.plist: Ditto.
2012-10-06 Dan Bernstein <mitz@apple.com>
WebKit2 part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
https://bugs.webkit.org/show_bug.cgi?id=98601
Reviewed by Darin Adler.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added initializer for
to shouldEnableKerningAndLigaturesByDefault. The initial value is false.
(WebKit::WebProcessCreationParameters::encode): Added encoding of
shouldEnableKerningAndLigaturesByDefault.
(WebKit::WebProcessCreationParameters::decode): Added decoding of
shouldEnableKerningAndLigaturesByDefault.
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters): Added shouldEnableKerningAndLigaturesByDefault boolean
member variable.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess): Changed to set
shouldEnableKerningAndLigaturesByDefault in the process creation parameters according to
the value of the WebKitKerningAndLigaturesEnabledByDefault user defaults key.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Added a call to
Font::setDefaultTypesettingFeatures() to enable kerning and ligatures if requested in the
process creation parameters.
2012-10-05 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[WK2][WTR] WebKitTestRunner needs testRunner.setSerializeHTTPLoads
https://bugs.webkit.org/show_bug.cgi?id=98524
Reviewed by Alexey Proskuryakov.
Add implementation for testRunner.setSerializeHTTPLoads in
WebKitTestRunner.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetSerialLoadingEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSerialLoadingEnabled):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
2012-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r130556 and r130564.
http://trac.webkit.org/changeset/130556
http://trac.webkit.org/changeset/130564
https://bugs.webkit.org/show_bug.cgi?id=98572
The patch wasn't reviewed by a reviewer and it is breaking
Chromium Windows (Requested by jchaffraix on #webkit).
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2012-10-05 Sam Weinig <sam@webkit.org>
Set the current working directory to TMPDIR when entering the sandbox in the plug-in process.
Based on a patch by Ivan Krstić.
Reviewed by Anders Carlsson.
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
(enterSandbox):
2012-10-05 Tim Horton <timothy_horton@apple.com>
[cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required
https://bugs.webkit.org/show_bug.cgi?id=98565
<rdar://problem/12436468>
Reviewed by Simon Fraser.
Add wkCGContextDrawsWithCorrectShadowOffsets.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2012-10-04 Eric Carlson <eric.carlson@apple.com>
Allow ports to override text track rendering style
https://bugs.webkit.org/show_bug.cgi?id=97800
<rdar://problem/12044964>
Reviewed by Silvia Pfeiffer.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Initialize new WKSI function pointers.
2012-10-05 José Dapena Paz <jdapena@igalia.com>
[GTK] Add support for creating EGL contexts
https://bugs.webkit.org/show_bug.cgi?id=77921
Reviewed by Martin Robinson.
This patch adds support for EGL, using OpenGL and OpenGL ES 2. Both
options are set up on compile time, with the configure options
--enable-egl and --enable-gles2.
The implementation only adds support for EGL on top of X11, to
isolate the changes to the minimum. More changes should come
later to enable EGL for other targets (as Wayland).
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2012-10-04 Jon Lee <jonlee@apple.com>
Add a setting to enable plugin snapshotting
https://bugs.webkit.org/show_bug.cgi?id=98319
<rdar://problem/12426480>
Reviewed by Brady Eidson.
Expose plugInSnapshottingEnabled preference to WebKit clients.
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetPlugInSnapshottingEnabled):
(WKPreferencesGetPlugInSnapshottingEnabled):
* UIProcess/API/C/WKPreferences.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Update preference based on store.
2012-10-05 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WK2] Plugins are completely broken with a custom device pixel ratio
https://bugs.webkit.org/show_bug.cgi?id=98518
Reviewed by Kenneth Rohde Christiansen.
Implement painting with scale factor in ShareableBitmap.
The backing store of the plugin are still overscaled in MiniBrowser
with this patch but this is only the effect of the fake device scale
factor defined in qml (1.5). We should probably remove it on desktop.
* Shared/qt/ShareableBitmapQt.cpp:
(WebKit::ShareableBitmap::paint):
2012-10-05 Christophe Dumez <christophe.dumez@intel.com>
[EFL] Unskip fullscreen unit tests for EwkView
https://bugs.webkit.org/show_bug.cgi?id=98509
Reviewed by Kenneth Rohde Christiansen.
Update 2 fullscreen unit tests for EwkView so that
they don't require a call to ecore_evas_fullscreen_set()
to succeed. ecore_evas_fullscreen_set() does not
seem to work in Xvfb and causes the tests to hang.
With this update, we can now run those tests again.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test /webkit2/WebKitPrintOperation/print-errors gives runtime critical warnings
https://bugs.webkit.org/show_bug.cgi?id=98497
Reviewed by Martin Robinson.
The problem is that GTK+ tries to write in the IO channel that has
already been closed.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::print): Finish the surface when
printing fails because printing data is invalid.
2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test /webkit2/WebKitWebResource/response fails
https://bugs.webkit.org/show_bug.cgi?id=98511
Reviewed by Martin Robinson.
Do not consider the favicon as a resource for the web resources
unit tests.
* UIProcess/API/gtk/tests/TestResources.cpp:
2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION (r129989 - r130019): [WK2] TestResources test is failing
https://bugs.webkit.org/show_bug.cgi?id=98342
Reviewed by Martin Robinson.
Return 404 error in unit tests using a HTTP server for paths not
handled by the test. This way all tests should return now a 404
for /favicon.ico.
* UIProcess/API/gtk/tests/TestBackForwardList.cpp:
(serverCallback):
* UIProcess/API/gtk/tests/TestCookieManager.cpp:
(serverCallback):
* UIProcess/API/gtk/tests/TestLoaderClient.cpp:
(serverCallback):
* UIProcess/API/gtk/tests/TestResources.cpp:
(serverCallback):
* UIProcess/API/gtk/tests/TestSSL.cpp:
(serverCallback):
* UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
(serverCallback):
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(serverCallback):
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(serverCallback):
2012-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
[WK2][SOUP] Assertion hit in WebKit::DownloadManager::downloadFinished() when download fails
https://bugs.webkit.org/show_bug.cgi?id=97565
Reviewed by Gustavo Noronha Silva.
Make sure to notify the downlaod client that the response has been
received when the newly created download has already been added to
the DownloadManager downloads map.
* WebProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::DownloadClient): Initialize
m_handleResponseLaterID.
(WebKit::DownloadClient::~DownloadClient): Remove the source for
the delayed response notification if it hasn't been triggered.
(WebKit::DownloadClient::didReceiveData): If response hasn't been
handled yet, remove the source for the delayed response
notification and handle the resource before start writing the data
received to the output stream.
(WebKit::DownloadClient::handleResponse): Call
didReceiveResponse() with the delayed response.
(WebKit::DownloadClient::handleResponseLaterCallback): Call
handleResponse().
(WebKit::DownloadClient::handleResponseLater): Schedule an idle
callback to handle the response later, to make sure the download
has been added to the downloads map.
(WebKit::Download::startWithHandle): Call handleResponseLater()
with the given response to handle the response when the download
has been added to the downloads map.
2012-10-05 Jongseok Yang <js45.yang@samsung.com>
[EFL][WK2] Remove "web" word from ewk_web_error APIs
https://bugs.webkit.org/show_bug.cgi?id=97886
Reviewed by Gyuyoung Kim.
Remove "web" word from ewk_web_error APIs.
"web" word was redundant because "ewk" means "EFL WebKit" and WK APIs for error does not have "web" word.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context_download_client.cpp:
(didFail):
* UIProcess/API/efl/ewk_cookie_manager.cpp:
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
* UIProcess/API/efl/ewk_cookie_manager.h:
* UIProcess/API/efl/ewk_download_job_private.h:
* UIProcess/API/efl/ewk_error.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.cpp.
(_Ewk_Error):
(_Ewk_Error::_Ewk_Error):
(_Ewk_Error::~_Ewk_Error):
(ewk_error_free):
(ewk_error_type_get):
(ewk_error_url_get):
(ewk_error_code_get):
(ewk_error_description_get):
(ewk_error_cancellation_get):
(ewk_error_new):
* UIProcess/API/efl/ewk_error.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error.h.
* UIProcess/API/efl/ewk_error_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_error_private.h.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_resource_load_failed):
(ewk_view_download_job_failed):
(ewk_view_load_error):
(ewk_view_load_provisional_failed):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didFailLoadWithErrorForFrame):
(didFailProvisionalLoadWithErrorForFrame):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didFailLoadForResource):
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(getAcceptPolicyCallback):
(getHostnamesWithCookiesCallback):
* UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
(on_download_failed):
2012-10-05 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[WK2][GTK] WebPageAccessibilityObject leaking
https://bugs.webkit.org/show_bug.cgi?id=98502
Reviewed by Carlos Garcia Campos.
Use GRefPtr on the accessibility object to fix the leak.
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::updateAccessibilityTree):
2012-10-05 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL][WK2] Add API to count the matching text
https://bugs.webkit.org/show_bug.cgi?id=97873
Reviewed by Gyuyoung Kim.
Add an API, ewk_view_text_matches_count(), to count the matched text in the document.
This API does not highlight the matched text in the document unlike ewk_view_text_find().
ewk_view_text_find() finds the matching text and but also update the UI view,
but some applications may not want to affect the view, and just want to know the count.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_text_matches_count):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-10-05 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
[WK2][GTK][EFL] standard_output returned by g_spawn_sync must be freed
https://bugs.webkit.org/show_bug.cgi?id=98384
Reviewed by Gyuyoung Kim.
Free the standard_output returned by g_spawn_sync() to avoid
a memory leak.
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
2012-10-05 Jongseok Yang <js45.yang@samsung.com>
[EFL][WK2] Remove "web" word from ewk_resource APIs
https://bugs.webkit.org/show_bug.cgi?id=97887
Reviewed by Gyuyoung Kim.
Remove "web" word from ewk_web_resource APIs.
"web" word was redundant because "ewk" means "EFL WebKit" and enough to understand the meaning with ewk_resource_XXX.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_resource.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.cpp.
(_Ewk_Resource):
(_Ewk_Resource::_Ewk_Resource):
(_Ewk_Resource::~_Ewk_Resource):
(ewk_resource_ref):
(ewk_resource_unref):
(ewk_resource_url_get):
(ewk_resource_new):
(ewk_resource_main_resource_get):
* UIProcess/API/efl/ewk_resource.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource.h.
* UIProcess/API/efl/ewk_resource_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_web_resource_private.h.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_loading_resources_clear):
(ewk_view_resource_load_initiated):
(ewk_view_resource_load_response):
(ewk_view_resource_load_failed):
(ewk_view_resource_load_finished):
(ewk_view_resource_request_sent):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didInitiateLoadForResource):
2012-10-04 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] ewk_web_error_free is not a public API
https://bugs.webkit.org/show_bug.cgi?id=98482
Reviewed by Gyuyoung Kim.
Because Ewk_Web_Error is just passed as a parameter of callback function
and maintained internally, ewk_web_error_free should not be a public API.
This patch moves ewk_web_error_free from public header to private header.
* UIProcess/API/efl/ewk_context_download_client.cpp:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
* UIProcess/API/efl/ewk_web_error.cpp:
* UIProcess/API/efl/ewk_web_error.h:
* UIProcess/API/efl/ewk_web_error_private.h:
2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Implement window frame callbacks in UIClient
https://bugs.webkit.org/show_bug.cgi?id=98280
Reviewed by Kenneth Rohde Christiansen.
Implement callbacks to set and query window geometry
in EwkView's UIClient.
* UIProcess/API/efl/ewk_view_ui_client.cpp:
(getWindowFrame):
(setWindowFrame):
(ewk_view_ui_client_attach):
* UIProcess/API/efl/tests/resources/window_move_resize.html: Added.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(windowMoveResizeTimedOut):
(TEST_F): Add corresponding unit test.
2012-10-04 Rik Cabanier <cabanier@adobe.com>
Turn Compositing on by default in WebKit build
https://bugs.webkit.org/show_bug.cgi?id=98315
Reviewed by Simon Fraser.
enable -webkit-blend-mode on trunk.
* Configurations/FeatureDefines.xcconfig:
2012-10-04 Simon Fraser <simon.fraser@apple.com>
Fix the Qt build by removing an errant paste at the top of the file.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2012-10-04 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Add APIs to get/set the frame flattening.
https://bugs.webkit.org/show_bug.cgi?id=95982
Reviewed by Gyuyoung Kim.
Added new APIs and test case to support frame flattening.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_enable_frame_flattening_set):
(ewk_settings_enable_frame_flattening_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/resources/frame_flattening_test.html: Added.
* UIProcess/API/efl/tests/resources/frame_flattening_test_subframe.html: Added.
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
2012-10-04 Simon Fraser <simon.fraser@apple.com>
TiledCoreAnimationDrawingArea.mm should not include RenderLayerCompositor.h
https://bugs.webkit.org/show_bug.cgi?id=98471
Reviewed by Dean Jackson.
Remove #import of <WebCore/RenderLayerCompositor.h> from this file.
It is not required.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2012-10-04 Simon Fraser <simon.fraser@apple.com>
Final part of "sync" to "flush" renaming
https://bugs.webkit.org/show_bug.cgi?id=98430
Reviewed by Tim Horton.
Change method names on GraphicsLayer and GraphicsLayerClient that
refer to "sync" to use the term "flush" instead, to be consistent
with the rest of the code.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::flushLayerChanges):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebKit::LayerTreeRenderer::notifyFlushRequired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didChangeLayerState):
(WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties):
(WebCore::CoordinatedGraphicsLayer::didChangeChildren):
(WebCore::CoordinatedGraphicsLayer::didChangeFilters):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::notifyFlushRequired):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
(WebKit::LayerTreeHostCA::notifyFlushRequired):
(WebKit::LayerTreeHostCA::flushPendingLayerChanges):
* WebProcess/WebPage/ca/LayerTreeHostCA.h:
(LayerTreeHostCA):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::notifyFlushRequired):
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::notifyFlushRequired):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Implement PageClientImpl::isViewVisible()
https://bugs.webkit.org/show_bug.cgi?id=98249
Reviewed by Kenneth Rohde Christiansen.
Implement PageClientImpl::isViewVisible() for EFL port
by calling evas_object_visible_get() on the view.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::isViewVisible):
2012-10-04 Alexey Proskuryakov <ap@apple.com>
Improve initial empty process tracking
https://bugs.webkit.org/show_bug.cgi?id=98458
Reviewed by Sam Weinig.
* UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess):
Unset m_haveInitialEmptyProcess if we no longer do.
2012-10-03 Benjamin Poulain <bpoulain@apple.com>
[WK2] Support all attributes of GeolocationPosition
https://bugs.webkit.org/show_bug.cgi?id=98212
Reviewed by Sam Weinig.
Add complete support for GeolocationPosition.
* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::WebGeolocationPosition):
(WebKit::WebGeolocationPosition::Data::encode):
(WebKit::WebGeolocationPosition::Data::decode):
* Shared/WebGeolocationPosition.h:
(Data):
(WebKit::WebGeolocationPosition::create):
(WebKit::WebGeolocationPosition::canProvideAltitude):
(WebKit::WebGeolocationPosition::altitude):
(WebGeolocationPosition):
(WebKit::WebGeolocationPosition::canProvideAltitudeAccuracy):
(WebKit::WebGeolocationPosition::altitudeAccuracy):
(WebKit::WebGeolocationPosition::canProvideHeading):
(WebKit::WebGeolocationPosition::heading):
(WebKit::WebGeolocationPosition::canProvideSpeed):
(WebKit::WebGeolocationPosition::speed):
WebGeolocationPosition mirror the attributes of WebCore::GeolocationPosition.
* UIProcess/API/C/WKGeolocationPosition.cpp:
(WKGeolocationPositionCreate):
(WKGeolocationPositionCreate_b):
Add a new API exposing all the arguments.
* UIProcess/API/C/WKGeolocationPosition.h:
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::didChangePosition):
2012-10-04 Simon Fraser <simon.fraser@apple.com>
Standardize on "flush" terminology for compositing layer flushing/syncing
https://bugs.webkit.org/show_bug.cgi?id=98321
Reviewed by Simon Fraser.
Rename compositing-related methods that refer to "syncing" to instead
refer to "flushing".
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::scheduleCompositingLayerFlush):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
(WebKit::LayerTreeHostCA::flushPendingLayerChanges):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerFlush):
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add setting to allow file access from file:// URLs
https://bugs.webkit.org/show_bug.cgi?id=98121
Reviewed by Laszlo Gombos.
Add Ewk setting to set / query permission to access
files from file:// URLs.
* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_file_access_from_file_urls_allowed_set):
(ewk_settings_file_access_from_file_urls_allowed_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/resources/local_file_access.html: Added.
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F): Add unit tests for new ewk setting.
2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
[EFL] Run unit tests with Xvfb
https://bugs.webkit.org/show_bug.cgi?id=98389
Reviewed by Laszlo Gombos.
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init): Call ecore_evas_shutdown() instead of
edje_shutdown() when ecore_x_init() fails.
(ewk_shutdown): Remove extra call to edje_shutdown().
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F): Temporarily disable fullscreen unit tests
until we get them working with Xvfb.
2012-10-04 Balazs Kelemen <kbalazs@webkit.org>
Don't allow compositing to be disabled in forced compositing mode
https://bugs.webkit.org/show_bug.cgi?id=98048
Reviewed by Jocelyn Turcotte.
Export Settings::setAcceleratedCompositingEnabled because it has been deinlined.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-10-04 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Fix the tst_QQuickWebView::scrollRequest auto test
https://bugs.webkit.org/show_bug.cgi?id=98045
Reviewed by Simon Hausmann.
Relying on QQuickWebViewPrivate::setNeedsDisplay can cause a false positive
emission of the loadVisuallyCommitted signal since this method is also
called when a layer is deleted or when the root layer changes.
Move the signal emission to QQuickWebViewPrivate::didRenderFrame which
is called only after a DidRenderFrame message has been received from the
web process.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::setNeedsDisplay):
(QQuickWebViewPrivate::didRenderFrame):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/qt/QtPageClient.cpp:
(WebKit::QtPageClient::didRenderFrame):
2012-10-04 Christophe Dumez <christophe.dumez@intel.com>
Regression(r130363): Broke unit tests
https://bugs.webkit.org/show_bug.cgi?id=98341
Reviewed by Gyuyoung Kim.
Fix WebKit2 EFL to use X11 as well.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
(EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
(EWK2UnitTestEnvironment):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
(main):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(checkFullScreenProperty):
2012-10-03 Christophe Dumez <christophe.dumez@intel.com>
[EFL] Enable use of X11 in DumpRenderTree / WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=98231
Reviewed by Gyuyoung Kim.
Initialize ecore_x library in ewk_main instead of
WebKitTestRunner since WebKit is using ecore_x
not WebKitTestRunner itself.
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init):
(ewk_shutdown):
2012-10-03 Kangil Han <kangil.han@samsung.com>
Fix unused parameter compile warnings.
https://bugs.webkit.org/show_bug.cgi?id=98243
Reviewed by Alexey Proskuryakov.
Fixed unused parameter compile warnings by removing parameter names, adding UNUSED_PARAM usage and commenting out.
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::createPluginInternal):
* PluginProcess/unix/PluginProcessUnix.cpp:
(WebKit::PluginProcess::platformInitialize):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getOwnPropertyNames):
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_RequestRead):
(WebKit::NPN_NewStream):
(WebKit::NPN_Write):
(WebKit::NPN_MemFlush):
(WebKit::NPN_ReloadPlugins):
(WebKit::NPN_GetJavaPeer):
(WebKit::NPN_InvalidateRegion):
(WebKit::NPN_ForceRedraw):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::contentsScaleFactorChanged):
* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePlugin::platformPostInitializeWindowed):
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::contentsScaleFactorChanged):
2012-10-03 Anders Carlsson <andersca@apple.com>
Plugins are killed after 45 seconds if showing keychain "Allow/Deny" dialog
https://bugs.webkit.org/show_bug.cgi?id=85138
<rdar://problem/11406430>
Reviewed by Andreas Kling.
Remove the watchdog that would kill a plug-in if we've been waiting for a sync reply from it for more than 45 seconds.
It's unlikely that someone is going to wait 45 seconds for Safari to recover from a plug-in hang, and the timeout is
causing problems with plug-ins (see the bugzilla bug for more information).
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::Connection):
(CoreIPC::Connection::waitForSyncReply):
* Platform/CoreIPC/Connection.h:
(Client):
(Connection):
* PluginProcess/PluginProcess.cpp:
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* UIProcess/Plugins/PluginProcessManager.cpp:
* UIProcess/Plugins/PluginProcessManager.h:
(PluginProcessManager):
* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/WebConnectionToWebProcess.cpp:
* UIProcess/WebConnectionToWebProcess.h:
(WebConnectionToWebProcess):
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/WebProcessProxy.messages.in:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::PluginProcessConnection):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/WebConnectionToUIProcess.cpp:
* WebProcess/WebConnectionToUIProcess.h:
(WebConnectionToUIProcess):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
(WebProcess):
2012-10-03 Hugo Parente Lima <hugo.lima@openbossa.org>
[WK2] PageViewportController.cpp is supposed to be a generic WebKit2 file but only works with Qt port.
https://bugs.webkit.org/show_bug.cgi?id=98186
Reviewed by Noam Rosenthal.
Remove the dependece of WebCore::FloatSize to QSize implicit conversion.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::updateSize):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::updateViewportSize):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::viewportSizeInContentsCoordinates):
(WebKit):
* UIProcess/PageViewportController.h:
(PageViewportController):
2012-10-03 Anders Carlsson <andersca@apple.com>
Try to fix the Qt WebKit2 failures.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
Always force compositing if USE(COORDINATED_GRAPHICS) is true.
2012-10-03 Anders Carlsson <andersca@apple.com>
Use the XPC service by default on newer systems
https://bugs.webkit.org/show_bug.cgi?id=98297
<rdar://problem/12424641>
Reviewed by Sam Weinig.
* UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::shouldUseXPC):
Return false for older systems.
(WebKit::WebProcessProxy::platformConnect):
Call shouldUseXPC().
2012-10-02 Andy Estes <aestes@apple.com>
[WebKit2] Add the ability to send messages to the WebPageGroupProxy
https://bugs.webkit.org/show_bug.cgi?id=98233
Reviewed by Anders Carlsson.
Add a WebPageGroupProxy.messages.in, implement a stub message receiver
in WebPageGroupProxy, and teach WebProcess how to route messages to the
appropriate WebPageGroupProxy.
* CMakeLists.txt: Tell a build system about added files.
* DerivedSources.make: Ditto.
* DerivedSources.pri: Ditto.
* GNUmakefile.list.am: Ditto.
* WebKit2.xcodeproj/project.pbxproj: Ditto.
* win/WebKit2.vcproj: Ditto.
* Platform/CoreIPC/MessageID.h: Add MessageClassWebPageGroupProxy.
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::didReceiveMessage): Stub out the method
that will receive messages.
(WebKit::WebPageGroupProxy::didReceiveWebPageGroupProxyMessage): Stub
out a method that will exist in WebPageGroupProxyMessageReceiver.cpp
once WebPageGroupProxy.messages.in contains messages.
* WebProcess/WebPage/WebPageGroupProxy.h:
* WebProcess/WebPage/WebPageGroupProxy.messages.in: Added.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Route messages to the
WebPageGroupProxy matching destinationID if the message is of class
MessageClassWebPageGroupProxy.
2012-10-02 Anders Carlsson <andersca@apple.com>
Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory
https://bugs.webkit.org/show_bug.cgi?id=98217
Reviewed by Andreas Kling.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::createPageOverlayLayer):
* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
(WebKit::LayerTreeHostCA::initialize):
(WebKit::LayerTreeHostCA::createPageOverlayLayer):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::createPageOverlayLayer):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2012-10-03 Alberto Garcia <agarcia@igalia.com>
[GTK] [WK2] Unused variable in webkitWebViewLoadChanged
https://bugs.webkit.org/show_bug.cgi?id=98271
Reviewed by Martin Robinson.
Use the priv variable to directly access private attributes
instead of dereferencing webView->priv all the time.
Fixes -Wunused-variable.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewLoadChanged):
2012-10-03 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Implement focus/unfocus in UIClient
https://bugs.webkit.org/show_bug.cgi?id=98253
Reviewed by Gyuyoung Kim.
Implement focus-related functionality in
WebKitEFL's UIClient.
* UIProcess/API/efl/ewk_view_ui_client.cpp:
(focus):
(unfocus):
(takeFocus):
(ewk_view_ui_client_attach):
2012-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebKitWebView doesn't emit notify:favicon when it changes in some cases in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=98153
Reviewed by Martin Robinson.
The main problem is that it relies on icon-ready signal to be
emitted by the favicon database, but that signal is only emitted
when the icon is loaded from the network or imported from the
database, but not when the icon is already in memory. The way to
detect if a web page doesn't have a favicon or it's unknown it's
also incorrectly done and the wrong error is returned for pages
not having a favicon.
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(GetFaviconSurfaceAsyncData): Add a GError field.
(getIconSurfaceSynchronously): Add a GError parameter and fill it
accordingly. Use imageForPageURL() instead of
nativeImageForPageURL() because the latter always returns NULL for
empty images, so it's not possible to know whether it's an empty
image or not. If the image is empty is because the web page is
known by the database and it doesn't have a favicon.
(processPendingIconsForURI): Pass the data error to
getIconSurfaceSynchronously(). Don't set the icon if the request
has been cancelled.
(webkitFaviconDatabaseGetFavicon): Pass NULL as error to
getIconSurfaceSynchronously().
(setErrorForAsyncResult): Fill also error for
WEBKIT_FAVICON_DATABASE_ERROR_FAVICON_UNKNOWN.
(webkit_favicon_database_get_favicon): If we get NULL as icon in
the first place, check the error code returned by
getIconSurfaceSynchronously() and return early if the page doesn't
have a favicon. Remove the cancelled signal to avoid race
conditions.
(webkit_favicon_database_get_favicon_finish): Errors are processed
before now, so simply propagate the error if any or return the
favicon.
* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate): Keep a reference of the favicon.
(webkitWebViewCancelFaviconRequest): Cancel any async operation to
get the favicon.
(webkitWebViewUpdateFavicon): Check if favicon has changed and
save it emitting also notify::favicon signal.
(iconReadyCallback): Only update the favicon if we don't have one
already.
(webkitWebViewFinalize): Call webkitWebViewCancelFaviconRequest().
(getFaviconReadyCallback): Update the favicon.
(webkitWebViewRequestFavicon): Request a new favicon.
(webkitWebViewLoadChanged): Try to get the favicon when the load
has been committed and the URI is the final one.
(webkit_web_view_get_favicon): Return the cached favicon.
* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
(serverCallback):
(testSetDirectory):
(testGetFavicon):
(testWebViewFavicon):
2012-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to get the web view that initiated a custom URI request to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=97895
Reviewed by Martin Robinson.
The message DidReceiveURIRequest is now sent to the page that
initiated the request that forwards the mesassage to the
WebSoupRequestManagerProxy.
* UIProcess/API/C/soup/WKSoupRequestManager.h: Update
didReceiveURIRequest callback to receive the initiating page ID.
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest): Update the callback API change.
* UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
(didReceiveURIRequest): Pass the initiating page to the
WebKitURISchemeRequest constructor.
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(_WebKitURISchemeRequestPrivate): Keep a reference to the
WebPageProxy that initiatesd the request.
(webkitURISchemeRequestCreate): Save the initiating page.
(webkit_uri_scheme_request_get_web_view): Return the view widget
of the initiating WebPageProxy.
* UIProcess/API/gtk/WebKitURISchemeRequest.h:
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveURIRequest): Forward the request
to the soup request manager proxy.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add didReceiveURIRequest().
* UIProcess/WebPageProxy.messages.in: Add DidReceiveURIRequest
message.
* UIProcess/soup/WebSoupRequestManagerClient.cpp:
(WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
Pass the inititing page to the client callback.
* UIProcess/soup/WebSoupRequestManagerClient.h:
(WebSoupRequestManagerClient):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Pass
the inititing page to the client.
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
* UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Remove
DidReceiveURIRequest message.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
Save the pageID of the WebFrame.
(WebKit::WebFrameNetworkingContext::initiatingPageID): Return the
inititing page ID.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
message to the WebPage that initiated the request.
2012-10-02 Zan Dobersek <zandobersek@gmail.com>
Unreviewed build fix for the GTK port after r130207.
Use proper file separators for new entries.
* GNUmakefile.list.am:
2012-10-02 Joone Hur <joone.hur@intel.com>
Unreviewed, GTK+,Efl debug build fix after r130225.
This patch allows to include the static xErrorString variable when LOG_DISABLED is 0.
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit):
2012-10-02 Sam Weinig <sam@webkit.org>
Fix a typo and add some \n's to make Mark happy.
Rubber-stamped by Mark "logging must be fast" Rowe.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::load):
2012-10-02 Sam Weinig <sam@webkit.org>
Add Objective-C API for the InjectedBundle
https://bugs.webkit.org/show_bug.cgi?id=98222
Reviewed by Anders Carlsson.
Add skeleton of the Objective-C API for the InjectedBundle.
* WebKit2.xcodeproj/project.pbxproj:
Add new API files.
* WebProcess/InjectedBundle/API/mac: Added.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Added.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Added.
(-[WKWebProcessPlugIn _initWithPrincipalClassInstance:injectedBundle:]):
Initialization method for the WKWebProcessPlugIn object. This object will act as the WKBundleRef
object does in the C-SPI.
(+[WKWebProcessPlugIn _shared]):
Access the shared instance.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Added.
* WebProcess/InjectedBundle/InjectedBundle.h:
Store an NSBundle rather than a CFBundleRef as the platform bundle.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp.
(WebKit::InjectedBundle::load):
If a principal class is provided and no WKBundleInitialize function is present in the bundle, use the principal class
as the initialization point. The principal class must conform to the WKWebProcessPlugIn protocol and if a
webProcessPlugInInitialize: method is present, it is called.
2012-10-02 Dan Bernstein <mitz@apple.com>
Fixed a crash when the localization option is not passed to the web process.
Reviewed by Sam Weinig.
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain): Changed to not call WKSetDefaultLocalization
with the empty string.
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain): Ditto.
== Rolled over to ChangeLog-2012-10-02 ==