blob: 3f9aa24aae7c7ee3f795d9b6740d9ec2f05d02b8 [file] [log] [blame]
2012-07-25 Christophe Dumez <christophe.dumez@intel.com>
[WK2][WTR] LayoutTestController.sendWebIntentResponse() needs to be implemented
https://bugs.webkit.org/show_bug.cgi?id=92227
Reviewed by Kenneth Rohde Christiansen.
Add new InjectedBundleIntentRequest class to wrap WebCore's
IntentRequest and use it in InjectedBundle's
didReceiveIntentForFrame callback. The WebKitTestRunner needs
to be able to reply to a Web intent request in order to
implement LayoutTestController.sendWebIntentResponse(). As
a consequence, passing a WebIntentData type in not enough.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp:
(WebKit::IntentData::IntentData):
(WebKit):
* Shared/IntentData.h:
(WebCore):
(WebKit::IntentData::IntentData):
(IntentData):
* Target.pri:
* WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
(WebKit):
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp.
(WKBundleIntentRequestGetTypeID):
(WKBundleIntentRequestCopyIntent):
(WKBundleIntentRequestPostResult):
(WKBundleIntentRequestPostFailure):
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp.
(WebKit):
(WebKit::InjectedBundleIntentRequest::create):
(WebKit::InjectedBundleIntentRequest::InjectedBundleIntentRequest):
(WebKit::InjectedBundleIntentRequest::postResult):
(WebKit::InjectedBundleIntentRequest::postFailure):
(WebKit::InjectedBundleIntentRequest::intent):
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h.
(WebCore):
(WebKit):
(InjectedBundleIntentRequest):
(WebKit::InjectedBundleIntentRequest::type):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::didReceiveIntentForFrame):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
(WebKit):
(InjectedBundlePageLoaderClient):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):
2012-07-25 Anders Carlsson <andersca@apple.com>
Crash when a web page is closed with outstanding scrolling thread barriers
https://bugs.webkit.org/show_bug.cgi?id=92280
<rdar://problem/11630200>
Reviewed by Andreas Kling.
There was a check in forceRepaintAsync to handle the drawing area going away before the block had
been invoked, but this check needs to be done earlier (as the FIXME suggested).
Move this check to dispatchAfterEnsuringUpdatedScrollPosition instead.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
2012-07-25 Alexey Proskuryakov <ap@apple.com>
Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
https://bugs.webkit.org/show_bug.cgi?id=89048
<rdar://problem/11786384>
Reviewed by Andreas Kling.
Cannot test text input from UI process side.
Stop relying on IPC to handle key events in order. There are too many complications
where out of order delivery is performed. Instead, queue the events at UI process
side.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::didReceiveEvent):
2012-07-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[EFL] Use eina_stringshare_add instead of strdup.
https://bugs.webkit.org/show_bug.cgi?id=92072
Reviewed by Kentaro Hara.
Eina of EFL libraries supports a string functionality that replaces strdup. So, EFL port needs
to replace strdup with eina_stringshare_add function.
* UIProcess/API/efl/ewk_intent.cpp:
(ewk_intent_suggestions_get):
(ewk_intent_extra_get):
* UIProcess/API/efl/ewk_intent.h:
2012-07-25 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Add ewk_view_cursor_set to change cursor.
https://bugs.webkit.org/show_bug.cgi?id=89140
Reviewed by Hajime Morita.
Implement ewk_view_cursor_set to support cursor changes.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::setCursor): Called ewk_view_cursor_set.
* 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_new): Check whether ecore_x can be used.
(_ewk_view_smart_add):
Change order of initialization to use base structure in _ewk_view_priv_new.
(ewk_view_cursor_set): Added to set cursor.
* UIProcess/API/efl/ewk_view_private.h:
2012-07-25 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Update uri when the active URI is changed while loading.
https://bugs.webkit.org/show_bug.cgi?id=92001
Reviewed by Hajime Morita.
For now, ewk_view_uri_get just return the last uri of setter.
This patch updates the uri of ewk_view when it is changed while loading.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_uri_update):
Added to check whether current active URI has changed and send uri,changed
signal if it has changed.
(ewk_view_uri_set):
Called ewk_view_uri_update to make sure the active uri is updated when the
load operation is started.
(ewk_view_reload): Ditto.
(ewk_view_reload_bypass_cache): Ditto.
(ewk_view_load_finished): Ditto.
(ewk_view_load_provisional_redirect): Ditto.
(ewk_view_load_provisional_started): Ditto.
(ewk_view_html_string_load): Ditto.
* UIProcess/API/efl/ewk_view.h: Updated comment for uri,changed signal.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
(EWK2UnitTest::EWK2UnitTestEnvironment::urlForResource):
Added to get url of custom resource for test.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
* UIProcess/API/efl/tests/resources/redirect_uri_to_default.html:
Added to test ewk_view_uri_get when the page is redirected.
* UIProcess/API/efl/tests/test_ewk2_view.cpp: Ditto.
(onLoadFinishedForRedirection):
(TEST_F): Added new test case whether ewk_view_uri_get returns correct uri when
the page is redirected.
2012-07-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Add ewk_main.{cpp,h} to EFL WK2
https://bugs.webkit.org/show_bug.cgi?id=92101
Reviewed by Kenneth Rohde Christiansen.
Added a centralized place for general initialization in UI process for EFL WK2.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_main.cpp: Added.
(ewk_init): General initialization.
(ewk_shutdown): General freeing.
(_ewk_init_body): An aux function.
* UIProcess/API/efl/ewk_main.h: Added.
2012-07-24 Jae Hyun Park <jae.park@company100.net>
WKContextGetGlobalStatistics() assigns wrong value to wkFrameCount in WKContextStatistics
https://bugs.webkit.org/show_bug.cgi?id=92173
Reviewed by John Sullivan.
In WKContextGetGlobalStatistics(), wkViewCount in WebContext::Statistics
is assigned to wkFrameCount in WKContextStatistics.
wkFrameCount in WebContext:Statistics should be assigned to wkFrameCount in WKContextStatistics.
* UIProcess/API/C/WKContext.cpp:
(WKContextGetGlobalStatistics):
2012-07-24 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL][WK2] Add unit tests for custom text encoding setting
https://bugs.webkit.org/show_bug.cgi?id=91983
Reviewed by Dirk Pranke.
Add unit tests for get and set custom text encoding methods. Also, fix
a style nit for r123177.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_setting_encoding_custom_set): Fix a style nit - add newline
before return.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-07-24 Ryosuke Niwa <rniwa@webkit.org>
WinCairo build fix attempt.
* win/WebKit2CFLite.def:
2012-07-24 Ryosuke Niwa <rniwa@webkit.org>
Windows build fix attempt.
* win/WebKit2.def:
2012-07-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
[Qt] Make sure that an AC sync is triggered when the canvas contents is updated.
https://bugs.webkit.org/show_bug.cgi?id=92128
Reviewed by Kenneth Rohde Christiansen.
This would cause missed frames when animating an accelerated 2D canvas without
touching the document.
* WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
2012-07-24 Alexey Proskuryakov <ap@apple.com>
[Mac WK2] Improve text input logging
https://bugs.webkit.org/show_bug.cgi?id=92147
Reviewed by Andreas Kling.
* UIProcess/API/mac/WKView.mm:
(-[WKView insertText:replacementRange:]):
(-[WKView keyUp:]):
(-[WKView keyDown:]):
(-[WKView flagsChanged:]):
(-[WKView _executeSavedKeypressCommands]):
(-[WKView _notifyInputContextAboutDiscardedComposition]):
(-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]):
(-[WKView _updateSecureInputState]):
2012-07-24 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Provide more useful output when an injected bundle cannot be loaded
https://bugs.webkit.org/show_bug.cgi?id=92136
Reviewed by Kenneth Rohde Christiansen.
Call eina_error_get() in case an injected bundle cannot be
loaded in order to print more information about the error.
* WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
(WebKit::InjectedBundle::load):
2012-07-24 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL][WK2] Add vibration client
https://bugs.webkit.org/show_bug.cgi?id=91371
Reviewed by Antonio Gomes.
Implement Vibration provider for WebKit2 EFL and add an API to set
vibration client callbacks by application to handle the tactile
feedback in the application when the page content ask for vibration.
* CMakeLists.txt: Add WebCore/Modules/vibration to include path.
* PlatformEfl.cmake: Add VibrationProvider.cpp file to the build
system.
* UIProcess/API/efl/VibrationProvider.cpp: Added.
(_Ewk_Vibration_Client): Structure contains the vibration client
callbacks.
(_Ewk_Vibration_Client::_Ewk_Vibration_Client):
(toVibrationProvider): Helper function to cast the clientinfo to
VibrationProvider.
(vibrateCallback):
(cancelVibrationCallback):
(VibrationProvider::create):
(VibrationProvider::VibrationProvider):
(VibrationProvider::~VibrationProvider):
(VibrationProvider::vibrate):
(VibrationProvider::cancelVibration):
(VibrationProvider::setVibrationClientCallbacks):
* UIProcess/API/efl/VibrationProvider.h: Added.
(VibrationProvider):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context):
(createDefaultEwkContext):
(ewk_context_vibration_client_callbacks_set): API to set vibration
client callbacks.
* UIProcess/API/efl/ewk_context.h:
2012-07-24 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Fix compilation after QtQuick API changes
https://bugs.webkit.org/show_bug.cgi?id=91822
Reviewed by Kenneth Rohde Christiansen.
QQuickCanvas is now QQuickWindow, QQuickItem::canvas() is window() and rootItem()
is contentItem(). Also QQuickWindow::grabFrameBuffer() is now grabWindow().
* UIProcess/API/qt/qquickwebpage.cpp:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::updateIcon):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::multipleWebViews):
(tst_QQuickWebView::basicRenderingSanity):
(tst_QQuickWebView::transparentWebViews):
* UIProcess/API/qt/tests/testwindow.h:
(TestWindow::TestWindow):
* UIProcess/qt/QtPageClient.cpp:
(WebKit::QtPageClient::isViewVisible):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::startDrag):
2012-07-24 Balazs Kelemen <kbalazs@webkit.org>
[Qt] Add quirks for running the web process in a profiler shell, like valgrind
https://bugs.webkit.org/show_bug.cgi?id=87672
Reviewed by Jocelyn Turcotte.
If environment variables QT_WEBKIT_WEB_PROCESS_COMMAND_PREFIX
and/or QT_WEBKIT_PLUGIN_PROCESS_COMMAND_PREFIX are set, use their
values as the prefix of the command when launching the child process.
Example usage:
export QT_WEB_PROCESS_COMMAND_PREFIX="valgrind --smc-check=all"
./MiniBrowser http://somepage.html
./WebKitTestRunner --no-timeout-at-all some_layouttest.html
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):
2012-07-23 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
[Qt] Fix compilation against namespaced Qt
Reviewed by Simon Hausmann.
* Platform/CoreIPC/Connection.h:
* Platform/PlatformProcessIdentifier.h:
* Platform/WorkQueue.h:
* Shared/qt/QtNetworkRequestData.h:
* Shared/qt/WebEventFactoryQt.h:
* UIProcess/API/C/qt/WKNativeEvent.h:
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qwebnavigationhistory_p.h:
* UIProcess/API/qt/raw/qrawwebview_p.h:
* UIProcess/DrawingAreaProxy.h:
* UIProcess/Launcher/ThreadLauncher.h:
* UIProcess/LayerTreeCoordinatorProxy.h:
* UIProcess/qt/QtViewportHandler.h:
* UIProcess/qt/QtWebPageSGNode.h:
* UIProcess/qt/WebColorChooserProxyQt.h:
* UIProcess/qt/WebGeolocationProviderQt.h:
* UIProcess/qt/WebPopupMenuProxyQt.h:
* WebProcess/WebProcess.h:
2012-07-24 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Remove unneeded WebURLRequestEfl and WebURLResponseEfl
https://bugs.webkit.org/show_bug.cgi?id=92087
Reviewed by Kenneth Rohde Christiansen.
Remove WebURLRequestEfl and WebURLResponseEfl classes
and their corresponding C APIs since we don't need / use
them.
* Shared/API/c/efl/WKURLRequestEfl.cpp: Removed.
* Shared/API/c/efl/WKURLRequestEfl.h: Removed.
* Shared/API/c/efl/WKURLResponseEfl.cpp: Removed.
* Shared/API/c/efl/WKURLResponseEfl.h: Removed.
* Shared/efl/WebURLRequestEfl.cpp: Removed.
* Shared/efl/WebURLRequestEfl.h: Removed.
* Shared/efl/WebURLResponseEfl.cpp: Removed.
* Shared/efl/WebURLResponseEfl.h: Removed.
* UIProcess/API/efl/ewk_url_request.cpp:
2012-07-24 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Enable touch slider when touch events are enabled
https://bugs.webkit.org/show_bug.cgi?id=91013
Reviewed by Kenneth Rohde Christiansen.
TOUCH_SLIDER guards are used in WebCore, so we should really
be setting the corresponding ENABLE define in features.prf.
* Target.pri:
2012-07-24 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Fix possible crash in didSendRequestForResource
https://bugs.webkit.org/show_bug.cgi?id=92077
Reviewed by Kenneth Rohde Christiansen.
Add NULL check for wkRedirectResponse in
didSendRequestForResource() before using it. The
argument may be NULL if there was no redirection.
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(didSendRequestForResource):
2012-07-24 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL][GTK] Share WebCoreArgumentCoders for soup-related types
https://bugs.webkit.org/show_bug.cgi?id=92073
Reviewed by Kenneth Rohde Christiansen.
Move WebCoreArgumentCoders for soup-related types such as
ResourceRequest, ResourceResponse and ResourceError from
port specific file to Shared/soup/WebCoreArgumentCodersSoup.cpp.
This way, the different ports using libsoup can share
code and avoid duplication.
* GNUmakefile.list.am:
* PlatformEfl.cmake:
* Shared/efl/WebCoreArgumentCodersEfl.cpp: Removed.
* Shared/soup/WebCoreArgumentCodersSoup.cpp: Renamed from Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp.
(CoreIPC):
(CoreIPC::::encode):
(CoreIPC::::decode):
2012-07-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r123184, r123195, and r123197.
http://trac.webkit.org/changeset/123184
http://trac.webkit.org/changeset/123195
http://trac.webkit.org/changeset/123197
https://bugs.webkit.org/show_bug.cgi?id=92049
pagecycler regression (Requested by morrita on #webkit).
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-07-23 Simon Fraser <simon.fraser@apple.com>
Part 2 of: Implement sticky positioning
https://bugs.webkit.org/show_bug.cgi?id=90046
Reviewed by Ojan Vafai.
Turn on ENABLE_CSS_STICKY_POSITION.
* Configurations/FeatureDefines.xcconfig:
2012-07-23 Christophe Dumez <christophe.dumez@intel.com>
[WK2] WebKitTestRunner needs to print information about Web intents
https://bugs.webkit.org/show_bug.cgi?id=90873
Reviewed by Anders Carlsson.
Add Bundle API for Web Intents. This is needed by the WebKitTestRunner
to print information about the new intent requests and the intent
service registrations.
* CMakeLists.txt: Move WebIntentData and WebIntentServiceInfo from
UIProcess/ to Shared/.
* GNUmakefile.list.am: Move WebIntentData and WebIntentServiceInfo from
UIProcess/ to Shared/.
* Shared/APIClientTraits.h:
* Shared/WebIntentData.cpp: Renamed from Source/WebKit2/UIProcess/WebIntentData.cpp.
(WebKit):
(WebKit::WebIntentData::WebIntentData):
(WebKit::WebIntentData::data):
(WebKit::WebIntentData::suggestions):
(WebKit::WebIntentData::extra):
(WebKit::WebIntentData::extras):
* Shared/WebIntentData.h: Renamed from Source/WebKit2/UIProcess/WebIntentData.h.
(WebKit):
(WebIntentData):
(WebKit::WebIntentData::create):
(WebKit::WebIntentData::~WebIntentData):
(WebKit::WebIntentData::action):
(WebKit::WebIntentData::payloadType):
(WebKit::WebIntentData::service):
(WebKit::WebIntentData::store):
(WebKit::WebIntentData::type):
* Shared/WebIntentServiceInfo.cpp: Renamed from Source/WebKit2/UIProcess/WebIntentServiceInfo.cpp.
(WebKit):
(WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
* Shared/WebIntentServiceInfo.h: Renamed from Source/WebKit2/UIProcess/WebIntentServiceInfo.h.
(WebKit):
(WebIntentServiceInfo):
(WebKit::WebIntentServiceInfo::create):
(WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
(WebKit::WebIntentServiceInfo::action):
(WebKit::WebIntentServiceInfo::payloadType):
(WebKit::WebIntentServiceInfo::href):
(WebKit::WebIntentServiceInfo::title):
(WebKit::WebIntentServiceInfo::disposition):
(WebKit::WebIntentServiceInfo::type):
* Target.pri: Move WebIntentData and WebIntentServiceInfo from
UIProcess/ to Shared/.
* UIProcess/API/C/WKPage.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didReceiveIntentForFrame):
(registerIntentServiceForFrame):
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didReceiveIntentForFrame):
(WebKit::WebLoaderClient::registerIntentServiceForFrame):
* UIProcess/WebLoaderClient.h:
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::registerIntentServiceForFrame):
(WebKit::WebPageProxy::didReceiveIntentForFrame):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit):
(WebKit::InjectedBundlePageLoaderClient::didReceiveIntentForFrame):
(WebKit::InjectedBundlePageLoaderClient::registerIntentServiceForFrame):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
(WebKit):
(InjectedBundlePageLoaderClient):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):
(WebKit::WebFrameLoaderClient::registerIntentService):
* WebProcess/qt/QtBuiltinBundlePage.cpp:
(WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2012-07-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add unit tests for Ewk_Cookie_Manager
https://bugs.webkit.org/show_bug.cgi?id=91639
Reviewed by Antonio Gomes.
Add unit tests for Ewk_Cookie_Manager.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_cookie_manager.h: Fix "accept policy" documentation
to indicate that only cookies set by the main document are accepted by default.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: Added.
(EWK2UnitTestServer::EWK2UnitTestServer): Add HTTP server similar to the one
used by GTK port unit tests.
(EWK2UnitTestServer::~EWK2UnitTestServer):
(EWK2UnitTestServer::run):
(EWK2UnitTestServer::getURIForPath):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h: Added.
(EWK2UnitTestServer):
(EWK2UnitTestServer::baseURI):
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: Added.
(serverCallback):
(getAcceptPolicyCallback):
(getAcceptPolicy):
(getHostnamesWithCookiesCallback):
(getHostnamesWithCookies):
(freeHostNames):
(countHostnamesWithCookies):
(TEST_F):
(cleanUpCookieFiles):
2012-07-23 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Enable touch slider when touch events are enabled
https://bugs.webkit.org/show_bug.cgi?id=91013
Reviewed by Antonio Gomes.
Take advantage of the logic introduced in r122286.
* Target.pri:
2012-07-23 Pierre Rossi <pierre.rossi@gmail.com>
Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
https://bugs.webkit.org/show_bug.cgi?id=91006
Reviewed by Ryosuke Niwa.
Remove numTouchEventHandlersChanged stub.
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
2012-07-23 Simon Fraser <simon.fraser@apple.com>
Part 1 of: Implement sticky positioning
https://bugs.webkit.org/show_bug.cgi?id=90046
Reviewed by Ojan Vafai.
Add ENABLE_CSS_STICKY_POSITION, defaulting to off initially.
Sort the ENABLE_CSS lines in the file. Make sure all the flags
are in FEATURE_DEFINES.
* Configurations/FeatureDefines.xcconfig:
2012-07-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add request manager client
https://bugs.webkit.org/show_bug.cgi?id=91193
Reviewed by Kenneth Rohde Christiansen.
Add a URL request manager client and attach it
to the Ewk_Context.
The client application can now register a URL scheme
via the Ewk_Context API and provide a callback handler
that will get called whenever a URL request with this
scheme is made.
A new Ewk_Url_Scheme_Request type is introduced to
provide information about the request to the client
and to allow the client to finish it by setting its
contents.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Url_Scheme_Handler):
(_Ewk_Url_Scheme_Handler::_Ewk_Url_Scheme_Handler):
(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):
(ewk_context_request_manager_get):
(ewk_context_url_scheme_request_received):
(createDefaultEwkContext):
(ewk_context_uri_scheme_register):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_context_request_manager_client.cpp: Added.
(toEwkContext):
(didReceiveURIRequest):
(ewk_context_request_manager_client_attach):
* UIProcess/API/efl/ewk_context_request_manager_client_private.h: Added.
* UIProcess/API/efl/ewk_url_scheme_request.cpp: Added.
(_Ewk_Url_Scheme_Request):
(_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request):
(_Ewk_Url_Scheme_Request::~_Ewk_Url_Scheme_Request):
(ewk_url_scheme_request_ref):
(ewk_url_scheme_request_unref):
(ewk_url_scheme_request_scheme_get):
(ewk_url_scheme_request_url_get):
(ewk_url_scheme_request_path_get):
(ewk_url_scheme_request_id_get):
(ewk_url_scheme_request_finish):
(ewk_url_scheme_request_new):
* UIProcess/API/efl/ewk_url_scheme_request.h: Added.
* UIProcess/API/efl/ewk_url_scheme_request_private.h: Added.
2012-07-23 KwangYong Choi <ky0.choi@samsung.com>
[EFL][WK2] ProcessExecutablePath is required
https://bugs.webkit.org/show_bug.cgi?id=89719
Reviewed by Kenneth Rohde Christiansen.
Added executablePathOfWebProcess and executablePathOfPluginProcess.
It's used for getting the location of WebProcess and PluginProcess.
* PlatformEfl.cmake: Added LIBEXECDIR definition
* Shared/efl/ProcessExecutablePathEfl.cpp: Added.
(WebKit):
(WebKit::findWebKitProcess):
(WebKit::executablePathOfWebProcess): Get the absolute path of WebProcess
(WebKit::executablePathOfPluginProcess): Get the absolute path of PluginProcess
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess): Modified to use above routines
2012-07-23 Christophe Dumez <christophe.dumez@intel.com>
WebKit2 needs layoutTestController.setAlwaysAcceptCookies
https://bugs.webkit.org/show_bug.cgi?id=42778
Reviewed by Kenneth Rohde Christiansen.
Add setAlwaysAcceptCookies() method to InjectedBundle
so that we can use it in LayoutTestController.
The method uses WebCookieManager::setHTTPCookieAcceptPolicy()
internally.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetAlwaysAcceptCookies):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAlwaysAcceptCookies):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
2012-07-23 Thiago Marcos P. Santos <thiago.santos@intel.com>
[WK2] SQL Database cannot be disabled at build time
https://bugs.webkit.org/show_bug.cgi?id=91837
Reviewed by Kenneth Rohde Christiansen.
WebKit2 had no #ifdefs for SQL Database. This patch adds these
statments and it can now be disabled at build time.
* Shared/OriginAndDatabases.cpp:
* Shared/OriginAndDatabases.h:
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC):
* UIProcess/API/C/WKContext.cpp:
(WKContextGetDatabaseManager):
* UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerGetTypeID):
(WKDatabaseManagerGetOriginKey):
(WKDatabaseManagerGetOriginQuotaKey):
(WKDatabaseManagerGetOriginUsageKey):
(WKDatabaseManagerGetDatabaseDetailsKey):
(WKDatabaseManagerGetDatabaseDetailsNameKey):
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
(WKDatabaseManagerSetClient):
(WKDatabaseManagerGetDatabasesByOrigin):
(callGetDatabasesByOriginBlockAndDispose):
(WKDatabaseManagerGetDatabasesByOrigin_b):
(WKDatabaseManagerGetDatabaseOrigins):
(callGetDatabaseOriginsBlockBlockAndDispose):
(WKDatabaseManagerGetDatabaseOrigins_b):
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
(WKDatabaseManagerDeleteDatabasesForOrigin):
(WKDatabaseManagerDeleteAllDatabases):
(WKDatabaseManagerSetQuotaForOrigin):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::didReceiveMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebDatabaseManagerProxy.cpp:
* UIProcess/WebDatabaseManagerProxy.h:
* UIProcess/WebDatabaseManagerProxy.messages.in:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
* WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
2012-07-23 Kent Tamura <tkent@chromium.org>
Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
https://bugs.webkit.org/show_bug.cgi?id=91941
Reviewed by Kentaro Hara.
A flag name for an elmement should be ENABLE_*_ELEMENT.
* Configurations/FeatureDefines.xcconfig:
2012-07-22 Kent Tamura <tkent@chromium.org>
Rename ENABLE_DETAILS to ENABLE_DETAILS_ELEMENT
https://bugs.webkit.org/show_bug.cgi?id=91928
Reviewed by Kentaro Hara.
A flag name for an elmement should be ENABLE_*_ELEMENT.
* Configurations/FeatureDefines.xcconfig:
2012-07-20 Kent Tamura <tkent@chromium.org>
Rename ENABLE_DATALIST to ENABLE_DATALIST_ELEMENT
https://bugs.webkit.org/show_bug.cgi?id=91846
Reviewed by Kentaro Hara.
A flag name for an elmement should be ENABLE_*_ELEMENT.
* Configurations/FeatureDefines.xcconfig:
2012-07-20 Rafael Brandao <rafael.lobo@openbossa.org>
QtNetworkAccessManager should not rely on signal sslErrors when QT_NO_SSL is defined
https://bugs.webkit.org/show_bug.cgi?id=91866
Reviewed by Noam Rosenthal.
* WebProcess/qt/QtNetworkAccessManager.cpp:
(WebKit::QtNetworkAccessManager::QtNetworkAccessManager): QNAM's signal is only defined when
that flag is undefined. Removed the connection when we have the flag set.
(WebKit::QtNetworkAccessManager::onSslErrors): When the flag is set, this slot becomes unused.
2012-07-20 Christophe Dumez <christophe.dumez@intel.com>
[EFL] Proxy configuration should honor the no_proxy environment variable
https://bugs.webkit.org/show_bug.cgi?id=91747
Reviewed by Kenneth Rohde Christiansen.
Use the new custom proxy resolver from WebCore in
WebKit2-EFL so that it is possible for the client
to set proxy exceptions via the "no_proxy"
environment variable.
By default, the proxy set in the "http_proxy"
environment variable will not be used for requests
to localhost or 127.0.0.1.
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
[Qt][WK2] Add support for multi-select list
https://bugs.webkit.org/show_bug.cgi?id=85527
Reviewed by Kenneth Rohde Christiansen.
Added support for multi-select list:
- Added multi-selection flag to PlatformPopupMenuData to indicate whether to accept multiple selections or not.
- Added selected state to WebPopupItem.
- Modified WebPopupMenuQt to support multiple selections.
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h:
(PlatformPopupMenuData):
* Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::WebPopupItem):
(WebKit::WebPopupItem::encode):
(WebKit::WebPopupItem::decode):
* Shared/WebPopupItem.h:
* UIProcess/API/qt/tests/qmltests/WebView/tst_multiSelect.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/multiselect.html: Added.
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPopupMenuProxy.h:
(Client):
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::changeSelectedIndex):
(WebKit):
(WebKit::WebPageProxy::closePopupMenu):
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
(WebKit::PopupMenuItemModel::multiple):
(PopupMenuItemModel):
(WebKit::PopupMenuItemModel::Item::Item):
(ItemSelectorContextObject):
(WebKit::ItemSelectorContextObject::allowMultiSelect):
(WebKit::ItemSelectorContextObject::reject):
(WebKit::ItemSelectorContextObject::dismiss):
(WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
(WebKit):
(WebKit::ItemSelectorContextObject::onIndexUpdate):
(WebKit::ItemSelectorContextObject::accept):
(WebKit::PopupMenuItemModel::PopupMenuItemModel):
(WebKit::PopupMenuItemModel::select):
(WebKit::PopupMenuItemModel::toggleItem):
(WebKit::PopupMenuItemModel::buildItems):
(WebKit::WebPopupMenuProxyQt::showPopupMenu):
(WebKit::WebPopupMenuProxyQt::hidePopupMenu):
(WebKit::WebPopupMenuProxyQt::selectIndex):
(WebKit::WebPopupMenuProxyQt::createItem):
* UIProcess/qt/WebPopupMenuProxyQt.h:
(WebPopupMenuProxyQt):
* WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::didChangeSelectedIndex):
(WebKit::WebPopupMenu::populateItems):
* WebProcess/WebCoreSupport/WebPopupMenu.h:
(WebPopupMenu):
* WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
(WebKit::WebPopupMenu::setUpPlatformData):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu):
(WebKit):
(WebKit::WebPage::changeSelectedIndex):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::selectedIndex):
(WebKit):
(WebKit::WebPage::hidePopupMenu):
2012-07-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed, rolling out r123085.
http://trac.webkit.org/changeset/123085
https://bugs.webkit.org/show_bug.cgi?id=91719
r123085 causes crashes on EFL layout test bot.
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::applicationCacheDirectory):
2012-07-20 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use "load,finished" signal in EWK2UnitTestBase::loadUrlSync() instead of "load,progress"
https://bugs.webkit.org/show_bug.cgi?id=91721
Reviewed by Kenneth Rohde Christiansen.
The purpose of EWK2UnitTestBase::loadUrlSync() is to load
a URL in the view and wait synchronously for the load to finish.
The current implementation uses the "load,progress" signal to
detect when the load is finished, which is inefficient because
it gets emitted several times.
It is better to wait for the "load,finished" signal which gets
emitted only once when the load is complete.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::onLoadFinished):
(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTestBase):
2012-07-19 MORITA Hajime <morrita@google.com>
[Refactoring] Replace Node's Document pointer with a TreeScope pointer
https://bugs.webkit.org/show_bug.cgi?id=59816
Reviewed by Ryosuke Niwa.
* win/WebKit2.def: Added newly exported symbols.
* win/WebKit2CFLite.def: Ditto.
2012-07-19 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL] [WK2] Add methods to get/set a custom text encoding
https://bugs.webkit.org/show_bug.cgi?id=90604
Reviewed by Kenneth Rohde Christiansen.
Add methods to get/set custom character encoding.
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_del):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):
* UIProcess/API/efl/ewk_view.h:
2012-07-19 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed. Fix build break because of changing parameter type of
vibration virtual function on EFL port.
* WebProcess/WebCoreSupport/WebVibrationClient.cpp:
(WebKit::WebVibrationClient::vibrate):
* WebProcess/WebCoreSupport/WebVibrationClient.h:
(WebVibrationClient):
2012-07-19 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[WK2] Add Vibration API integration to WebContext and WebPage
https://bugs.webkit.org/show_bug.cgi?id=91081
Reviewed by Anders Carlsson.
Integrate Vibration API to WebPage, WebContext and properly route
messages to the WebVibrationProxy.
* UIProcess/API/C/WKContext.cpp:
(WKContextGetVibration):
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::didReceiveMessage):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
(WebKit::WebContext::vibrationProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
2012-07-19 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt] Enable CSS shaders in Qt (software mode)
https://bugs.webkit.org/show_bug.cgi?id=85140
Reviewed by Simon Hausmann.
Add CSSCustomFilterEnabled to QWebPreferences. It's disabled by default.
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
* UIProcess/API/qt/qwebpreferences_p_p.h:
2012-07-19 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt] Enable CSS shaders in Qt (software mode)
https://bugs.webkit.org/show_bug.cgi?id=85140
Reviewed by Simon Hausmann.
Add CSSCustomFilterEnabled to QWebPreferences. It's disabled by default.
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
* UIProcess/API/qt/qwebpreferences_p_p.h:
2012-07-19 Pierre Rossi <pierre.rossi@gmail.com>
[Qt][WK2] Map the elementRect exposed in QML to the view for popup menu
https://bugs.webkit.org/show_bug.cgi?id=91645
Reviewed by Simon Hausmann.
This way the geometry of the QML item is still sensible even if we panned
and zoomed.
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
(ItemSelectorContextObject):
(WebKit::ItemSelectorContextObject::elementRect):
(WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
(WebKit::WebPopupMenuProxyQt::showPopupMenu):
2012-07-19 Zoltan Nyul <zoltan.nyul@intel.com>
[EFL][WK2] Using different cache directory for each WTR process
https://bugs.webkit.org/show_bug.cgi?id=91719
Reviewed by Kenneth Rohde Christiansen.
Make sure we return a valid application cache directory in
WebContextEfl.
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::applicationCacheDirectory):
2012-07-18 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] EFL should use DownloadSoup instead of defining DownloadEfl
https://bugs.webkit.org/show_bug.cgi?id=91602
Reviewed by Kenneth Rohde Christiansen.
Reuse WebProcess/Downloads/soup/DownloadSoup.cpp in EFL port
instead of redefining our own DownloadEfl.cpp. The EFL port
is also using libsoup so it is best to avoid code duplication.
* GNUmakefile.am:
* GNUmakefile.list.am:
* PlatformEfl.cmake:
* WebProcess/Downloads/Download.h:
(WebKit):
(Download):
* WebProcess/Downloads/efl/DownloadEfl.cpp: Removed.
* WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp: Added.
(WebKit):
(WebKit::platformDownloadNetworkError):
(WebKit::platformDownloadDestinationError):
* WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Removed.
* WebProcess/Downloads/efl/FileDownloaderEfl.h: Removed.
* WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Added.
(WebKit):
(WebKit::platformDownloadNetworkError):
(WebKit::platformDownloadDestinationError):
* WebProcess/Downloads/soup/DownloadSoup.cpp: Make the code
compile for other ports than GTK.
(WebKit::DownloadClient::didReceiveResponse):
(WebKit::DownloadClient::didReceiveData):
(WebKit::DownloadClient::didFail):
(WebKit::Download::continueWithoutCredential):
(WebKit):
(WebKit::Download::useCredential):
(WebKit::Download::cancelAuthenticationChallenge):
* WebProcess/Downloads/soup/DownloadSoupErrors.h: Added.
(WebKit):
2012-07-18 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add C API for Network Information API
https://bugs.webkit.org/show_bug.cgi?id=90762
Reviewed by Kenneth Rohde Christiansen.
Add C API for WKNetworkInfo and WKNetworkInfoManager
so that they can be used by the client.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKContext.cpp:
(WKContextGetNetworkInfoManager):
* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/WKNetworkInfo.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
(WKNetworkInfoGetTypeID):
(WKNetworkInfoCreate):
* UIProcess/API/C/WKNetworkInfo.h: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp.
* UIProcess/API/C/WKNetworkInfoManager.cpp:
(WKNetworkInfoManagerSetProvider):
(WKNetworkInfoManagerProviderDidChangeNetworkInformation):
* UIProcess/API/C/WKNetworkInfoManager.h:
2012-07-18 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] ewk_cookie_manager_persistent_storage_set is not exported
https://bugs.webkit.org/show_bug.cgi?id=91647
Reviewed by Gustavo Noronha Silva.
Properly export ewk_cookie_manager_persistent_storage_set in
ewk_cookie_manager.h by using EAPI.
* UIProcess/API/efl/ewk_cookie_manager.h:
2012-07-18 Christophe Dumez <christophe.dumez@intel.com>
[EFL] Add central error management to EFL port
https://bugs.webkit.org/show_bug.cgi?id=91598
Reviewed by Kenneth Rohde Christiansen.
Make use of ErrorsEfl header from WebCore in
WebKit2, for Ewk_Web_Error and WebErrorsEfl.
* UIProcess/API/efl/ewk_web_error.cpp:
(ewk_web_error_type_get):
* UIProcess/API/efl/ewk_web_error.h:
* WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
(WebKit::cancelledError):
(WebKit::blockedError):
(WebKit::cannotShowURLError):
(WebKit::interruptedForPolicyChangeError):
(WebKit::cannotShowMIMETypeError):
(WebKit::fileDoesNotExistError):
(WebKit::pluginWillHandleLoadError):
2012-07-18 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] Set a theme for EFL WebKit2 unit test fixture
https://bugs.webkit.org/show_bug.cgi?id=91618
Reviewed by Kenneth Rohde Christiansen.
The test fixture should load the theme generated by the build
instead of trying to load the system theme.
* PlatformEfl.cmake:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme):
(EWK2UnitTest):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
(EWK2UnitTestEnvironment):
2012-07-18 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] QQuickWebView shouldn't recieve mouse events while dialogs are active
https://bugs.webkit.org/show_bug.cgi?id=91634
Reviewed by Alexis Menard.
One side-effect of reimplementing childMouseEventFilter() in r122438 is that it can end up
bypassing the mouseArea mechanism used in QML dialogs and still forward some mouse events
over to the web process. We can rely on the same m_dialogActive mechanism already used for
touch events in there as well.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::childMouseEventFilter): ignore events and return early if a dialog is active.
2012-07-18 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Build fix for ENABLE_TOUCH_EVENTS=0
Rubber-stamped by No'am Rosenthal.
Add the appropriate ENABLE(TOUCH_EVENTS) where they're needed.
* UIProcess/API/qt/raw/qrawwebview.cpp:
* UIProcess/API/qt/raw/qrawwebview_p.h: include Platform.h so we can use the ENABLE macro.
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Also add the missing QFile include.
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::deactivateTapHighlight):
2012-07-18 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add Ewk class for cookie manager
https://bugs.webkit.org/show_bug.cgi?id=91053
Reviewed by Gustavo Noronha Silva.
Add new Ewk_Cookie_Manager class to allow the client
to set/get the cookie acceptance policy, support
persistent cookie storage and clear cookies.
The Ewk_Cookie_Manager instance can be retrieved
from the Ewk_Context API.
* 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_cookie_manager_get):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_cookie_manager.cpp: Added.
(_Ewk_Cookie_Manager):
(_Ewk_Cookie_Manager::_Ewk_Cookie_Manager):
(ewk_cookie_manager_persistent_storage_set):
(ewk_cookie_manager_accept_policy_set):
(Get_Policy_Async_Data):
(getAcceptPolicyCallback):
(ewk_cookie_manager_async_accept_policy_get):
(Get_Hostnames_Async_Data):
(getHostnamesWithCookiesCallback):
(ewk_cookie_manager_async_hostnames_with_cookies_get):
(ewk_cookie_manager_hostname_cookies_clear):
(ewk_cookie_manager_cookies_clear):
(ewk_cookie_manager_free):
(ewk_cookie_manager_new):
* UIProcess/API/efl/ewk_cookie_manager.h: Added.
* UIProcess/API/efl/ewk_cookie_manager_private.h: Added.
2012-07-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add WebKitWebView::submit-form signal to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=91605
Reviewed by Gustavo Noronha Silva.
The signal is emitted when a form is about to submitted, with a
form submission request that can be used to get the text fields
and to continue the form submission wheh done.
* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitFormClient.cpp: Added.
(willSubmitForm): Create a WebKitFormSubmissionRequest and call
webkitWebViewSubmitFormRequest() with the request.
(attachFormClientToView): Add impementation for willSubmitForm
callback.
* UIProcess/API/gtk/WebKitFormClient.h: Added.
* UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp: Added.
(webkit_form_submission_request_init):
(webkitFormSubmissionRequestFinalize):
(webkit_form_submission_request_class_init):
(webkitFormSubmissionRequestCreate): Create a new
WebKitFormSubmissionRequest for the given values dictionary and
submission listener.
(webkit_form_submission_request_get_text_fields): Create a
GHashTable with the text fields values and return it.
(webkit_form_submission_request_submit): Continue the form
submission.
* UIProcess/API/gtk/WebKitFormSubmissionRequest.h: Added.
* UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Attach web view to form client.
(webkit_web_view_class_init): Add WebKitWebView::submit-form
signal.
(webkitWebViewSubmitFormRequest): Emit WebKitWebView::submit-form
signal.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
WebKitFormSubmissionRequest.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewSubmitForm):
(beforeAll):
* UIProcess/API/gtk/webkit2.h: Include
WebKitFormSubmissionRequest.h.
2012-07-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] No main resource in WebView when page has been loaded from history cache
https://bugs.webkit.org/show_bug.cgi?id=91478
Reviewed by Gustavo Noronha Silva.
We are assuming that a resource loaded for the main frame that is
provisionally loading is the main resource of the web view. However
that's not true for pages loaded from history cache, so when you
go back/forward webkit_web_view_get_main_resource() always returns
NULL. We can assume that the first resource loaded for the main
frame is the main resource of the web view when
pageIsProvisionallyLoading is false.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewResourceLoadStarted): Make sure we always have a
main resource for the web view.
* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebViewResourcesHistoryCache): Test we always have a main
resource even after going back/forward.
(beforeAll): Add new test case.
2012-07-18 Seokju Kwon <seokju.kwon@samsung.com>
[EFL] Rename WebInspectorEfl.cpp as WebInspectorProxyEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=91585
Reviewed by Andreas Kling.
Rename WebInspectorEfl.cpp as WebInspectorProxyEfl.cpp
since it implements the platform specific methods of WebInspectorProxy.
* PlatformEfl.cmake:
* UIProcess/efl/WebInspectorProxyEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebInspectorEfl.cpp.
(WebKit):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformOpen):
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformBringToFront):
(WebKit::WebInspectorProxy::platformIsFront):
(WebKit::WebInspectorProxy::platformInspectedURLChanged):
(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):
(WebKit::WebInspectorProxy::platformInspectedWindowHeight):
(WebKit::WebInspectorProxy::platformAttach):
(WebKit::WebInspectorProxy::platformDetach):
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
2012-07-18 Zoltan Horvath <zoltan@webkit.org>
[Qt] Modify the using of the QImage::Format enum to the appropriate functions from NativeImageQt
https://bugs.webkit.org/show_bug.cgi?id=91600
Reviewed by Andreas Kling.
Use NativeImageQt::defaultFormatForAlphaEnabledImages() and NativeImageQt::defaultFormatForOpaqueImages()
instead of the direct imagetypes at the appropriate places.
* Shared/qt/ShareableBitmapQt.cpp:
(WebKit::ShareableBitmap::createQImage):
2012-07-18 Zeno Albisser <zeno@webkit.org>
[Qt][WK2] Caching of ShareableSurfaces breaks tiling.
https://bugs.webkit.org/show_bug.cgi?id=91609
A ShareableSurface should only be cached,
when it is GraphicsSurface based.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
2012-07-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fix a crash due to an invalid assert
https://bugs.webkit.org/show_bug.cgi?id=91614
Reviewed by Xan Lopez.
In webkitWebViewBaseContainerAdd() there's
ASSERT(priv->inspectorView); that should be the opposite, since we
shoulnd't have an inspector view when the inspector view is added.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerAdd):
2012-07-18 Thiago Marcos P. Santos <thiago.santos@intel.com>
[CMake] Make gtest a shared library
https://bugs.webkit.org/show_bug.cgi?id=90973
Reviewed by Daniel Bates.
No need to link with gtest dependencies now since it is a shared library.
* PlatformEfl.cmake:
2012-07-18 YoungTaeck Song <youngtaeck.song@samsung.com>
[WK2][EFL] Add a common code using Color instead of QColor
https://bugs.webkit.org/show_bug.cgi?id=91580
Reviewed by Simon Hausmann.
This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
drawBorder's argument is QColor. So add a common code using Color to be used by Efl.
* UIProcess/texmap/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::paintToTextureMapper):
2012-07-17 Christophe Dumez <christophe.dumez@intel.com>
[EFL] Replace 0 by NULL in public headers documentation
https://bugs.webkit.org/show_bug.cgi?id=91470
Reviewed by Dirk Pranke.
Use NULL instead of 0 for pointer types in public
C headers.
* UIProcess/API/efl/ewk_intent.h:
* UIProcess/API/efl/ewk_intent_service.h:
* UIProcess/API/efl/ewk_url_request.h:
* UIProcess/API/efl/ewk_url_response.h:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_web_resource.h:
2012-07-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Don't use deprecated soup API in WebKit2APITests/TestResources
https://bugs.webkit.org/show_bug.cgi?id=91496
Reviewed by Martin Robinson.
soup_message_headers_get() is deprecated, use
soup_message_headers_get_one() instead.
* UIProcess/API/gtk/tests/TestResources.cpp:
(serverCallback):
2012-07-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fix a typo in WebKit2APITests/TestResources
https://bugs.webkit.org/show_bug.cgi?id=91495
Reviewed by Xan Lopez.
* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebResourceLoading):
(testWebResourceResponse):
(testWebResourceMimeType):
(testWebResourceActiveURI):
2012-07-17 Vivek Galatage <vivekgalatage@gmail.com>
Web Inspector: refactor InspectorController::connectFrontend() to accept InspectorFrontendChannel.
https://bugs.webkit.org/show_bug.cgi?id=91196
Reviewed by Pavel Feldman.
Refactoring InspectorClients. InspectorClient::openInspectorFrontend
now returning the InspectorFrontendChannel.
* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::openInspectorFrontend):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
(WebInspectorClient):
2012-07-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Paste primary selection when middle clicking in X11 WebKit2
https://bugs.webkit.org/show_bug.cgi?id=91411
Reviewed by Xan Lopez.
Handle middle click events to paste primary selection as expected
in any X11 application.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleMouseEvent): Call handleMousePressedEvent() for GTK+
platform.
* WebProcess/WebPage/WebPage.h:
(WebPage): Add handleMousePressedEvent() for GTK+ platform.
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::handleMousePressedEvent): Handle middle click
events to paste primary selection like we do in WebKit1.
2012-07-17 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Move codes related to theme setting from Widget to RenderTheme
https://bugs.webkit.org/show_bug.cgi?id=89842
Reviewed by Kenneth Rohde Christiansen.
* CMakeLists.txt: Added html/shadow to WebKit_INCLUDE_DIRECTORIES.
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::setThemePath): Called RenderThemeEfl::setThemePath instead of setting theme in FrameView.
2012-07-17 David Barr <davidbarr@chromium.org>
Introduce ENABLE_CSS_IMAGE_ORIENTATION compile flag
https://bugs.webkit.org/show_bug.cgi?id=89055
Reviewed by Kent Tamura.
The css3-images module is at candidate recommendation.
http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation
Add a configuration option for CSS image-orientation support, disabling it by default.
* Configurations/FeatureDefines.xcconfig:
2012-07-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Add RegisterProtocolHandlerClient to the Modules/protocolhandler
https://bugs.webkit.org/show_bug.cgi?id=90940
Reviewed by Hajime Morita.
As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
In order to support this, WebRegisterProtocolHandlerClient class is added. However, this is not implemented yet.
In addition, existing virtual functions in WebChromeClient are moved to WebRegisterProtocolHandlerClient.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h: Added.
(WebKit):
(WebRegisterProtoclHandlerClient):
(WebKit::WebRegisterProtoclHandlerClient::isProtocolHandlerRegistered):
(WebKit::WebRegisterProtoclHandlerClient::unregisterProtocolHandler):
2012-07-16 Pete Williamson <petewil@google.com>
Export the iconURL list to make it available to the Internals class for testing
https://bugs.webkit.org/show_bug.cgi?id=88665
Reviewed by Kent Tamura.
* win/WebKit2.def: export the DocumentL::iconURLs function
2012-07-16 Hajime Morrita <morrita@chromium.org>
WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing.
https://bugs.webkit.org/show_bug.cgi?id=90764
Reviewed by Adam Barth.
Removed symbols which are now covered by WEBCORE_TESTING.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-07-16 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Implement decidePolicyForResponse in policy client
https://bugs.webkit.org/show_bug.cgi?id=91401
Reviewed by Kenneth Rohde Christiansen.
Provide implementation for decidePolicyForResponse callback
in WebKit2 EFL's policy client.
* UIProcess/API/efl/ewk_view_policy_client.cpp:
(decidePolicyForResponseCallback):
(ewk_view_policy_client_attach):
2012-07-16 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Add APIs to support theme.
https://bugs.webkit.org/show_bug.cgi?id=90107
Reviewed by Hajime Morita.
RenderThemeEfl uses edj file to render native theme of form elements.
This patch provides default theme and a way to change edj theme file for
WebKit2/Efl.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(ewk_view_base_add):
(ewk_view_theme_set):
(ewk_view_theme_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::setThemePath):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::setThemePath):
2012-07-16 Kihong Kwon <kihong.kwon@samsung.com>
Remove setController from BatteryClient
https://bugs.webkit.org/show_bug.cgi?id=90944
Reviewed by Adam Barth.
Remove WebBatteryClient::setController function.
* WebProcess/WebCoreSupport/WebBatteryClient.cpp:
* WebProcess/WebCoreSupport/WebBatteryClient.h:
(WebBatteryClient):
2012-07-16 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make Ewk_Navigation_Policy_Decision ref counted
https://bugs.webkit.org/show_bug.cgi?id=91343
Reviewed by Antonio Gomes.
Make Ewk_Navigation_Policy_Decision ref counted so that the
client can make navigation policy decisions asynchronously
by ref'ing the Ewk_Navigation_Policy_Decision object passed
with the "policy,*" signals.
* 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_decision_ref):
(ewk_navigation_policy_decision_unref):
* UIProcess/API/efl/ewk_navigation_policy_decision.h:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_policy_client.cpp:
(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):
2012-07-16 Zoltan Horvath <zoltan@webkit.org>
[Qt] Change NativeImagePtr from QPixmap* to QImage*
https://bugs.webkit.org/show_bug.cgi?id=88785
Reviewed by Simon Hausmann.
Since we use raster engine there is no difference between QPixmap and QImage, so we are going
to use QImage everywhere where it is possible. This refactoring contains the change of the
NativeImagePtr typedef from QPixmap* to QImage* and covers the related modifications.
Part of the change is similar to Viatcheslav Ostapenko's internal work.
Covered by existing tests.
* Shared/qt/ShareableBitmapQt.cpp:
(WebKit::ShareableBitmap::createImage):
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
* WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
(WebKit::convertQImageToShareableBitmap):
(WebKit::WebDragClient::startDrag):
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
2012-07-16 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add test resources to
EXTRA_DIST.
2012-07-15 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Define destructors for Ewk structures
https://bugs.webkit.org/show_bug.cgi?id=91338
Reviewed by Kentaro Hara.
Add destructors to Ewk structures and move
memory freeing code from *_free() or *_unref()
functions to the destructors.
* UIProcess/API/efl/ewk_intent.cpp:
(_Ewk_Intent::_Ewk_Intent):
(_Ewk_Intent):
(_Ewk_Intent::~_Ewk_Intent):
(ewk_intent_unref):
* UIProcess/API/efl/ewk_intent_service.cpp:
(_Ewk_Intent_Service):
(_Ewk_Intent_Service::~_Ewk_Intent_Service):
(ewk_intent_service_unref):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
(ewk_navigation_policy_decision_free):
* UIProcess/API/efl/ewk_url_request.cpp:
(_Ewk_Url_Request):
(_Ewk_Url_Request::~_Ewk_Url_Request):
(ewk_url_request_unref):
* UIProcess/API/efl/ewk_url_response.cpp:
(_Ewk_Url_Response):
(_Ewk_Url_Response::~_Ewk_Url_Response):
(ewk_url_response_unref):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_priv_del):
* UIProcess/API/efl/ewk_web_error.cpp:
(_Ewk_Web_Error):
(_Ewk_Web_Error::~_Ewk_Web_Error):
(ewk_web_error_free):
* UIProcess/API/efl/ewk_web_resource.cpp:
(_Ewk_Web_Resource):
(_Ewk_Web_Resource::~_Ewk_Web_Resource):
(ewk_web_resource_unref):
2012-07-14 Eric Carlson <eric.carlson@apple.com>
Enable AVCF hardware video decoding
https://bugs.webkit.org/show_bug.cgi?id=90015
<rdar://problem/10770317>
Reviewed by Anders Carlsson.
* DerivedSources.make: Define HAVE_AVCF if necessary.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit):
(WebKit::WebChromeClient::graphicsDeviceAdapter): New, return the layer tree host's
graphics adapter.
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebProcess/WebPage/LayerTreeHost.h:
(WebCore):
(LayerTreeHost):
(WebKit::LayerTreeHost::graphicsDeviceAdapter): New, default implementation.
* WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:
(LayerTreeHostCAWin):
2012-07-13 Thiago Marcos P. Santos <thiago.santos@intel.com>
[CMake] Proper handling of ENABLE_API_TESTS build option
https://bugs.webkit.org/show_bug.cgi?id=91221
Reviewed by Rob Buis.
Build unit tests only if ENABLE_API_TESTS is set.
* PlatformEfl.cmake:
2012-07-13 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Make new public Ewk headers as installable
https://bugs.webkit.org/show_bug.cgi?id=91232
Reviewed by Antonio Gomes.
Make new public Ewk headers installable.
* PlatformEfl.cmake:
2012-07-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Implement disk cache in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=90797
Reviewed by Xan Lopez.
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::getCacheDiskFreeSize): Use an ASSERT instead of an early
return since the cache feature is now always added to the session.
(WebKit::WebProcess::platformSetCacheModel): Get the cache from
the session and set the maximum cache size as computed by
calculateCacheSizes().
(WebKit::WebProcess::platformClearResourceCaches): Call
soup_cache_clear().
(WebKit::WebProcess::platformTerminate): Make sure all pending
data is saved to the disk before the web process finishes.
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk): Create a SoupCache feature and add it
to the default SoupSession.
2012-07-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fix disk cache size computation in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=91226
Reviewed by Xan Lopez.
We are passing the free disk space value in bytes to
calculateCacheSizes() which expects values in MB.
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::WebProcess::platformSetCacheModel):
2012-07-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebKit2 crash when going back/forward
https://bugs.webkit.org/show_bug.cgi?id=91220
Reviewed by Xan Lopez.
For some reason when a page is loaded from the backforward list,
when the didCommitLoadForFrame callback is called for the main
frame, the callback didInitiateLoadForResource hasn't been called
yet, so we don't even have a main resource at that point. We were
assuming we always had a main resource with a response. For now we
just check whether we have a resource before trying to set the
certificate to fix the crash, but we need to figue out why this is
happening an how to properly fix it.
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didCommitLoadForFrame): Check whether we have a main resource
before setting the certificate.
2012-07-13 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Use eina stringsharing for Ewk_Web_Resource's url
https://bugs.webkit.org/show_bug.cgi?id=91200
Reviewed by Kenneth Rohde Christiansen.
Use eina stringsharing for Ewk_Web_Resource's url
for consistency.
* UIProcess/API/efl/ewk_web_resource.cpp:
(_Ewk_Web_Resource):
(_Ewk_Web_Resource::_Ewk_Web_Resource):
(ewk_web_resource_unref):
(ewk_web_resource_url_get):
* UIProcess/API/efl/ewk_web_resource.h:
2012-07-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebKitWebView::mouse-target-changed is not emitted when moved to/from edtiable content
https://bugs.webkit.org/show_bug.cgi?id=91216
Reviewed by Xan Lopez.
The problem is that the function to check whether two hit test
results are equal doesn't check the editable flag.
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCompare): Check also the editable flag.
2012-07-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[EFL] Add *explicit* keyword to constructor which has a parameter
https://bugs.webkit.org/show_bug.cgi?id=91207
Reviewed by Zoltan Herczeg.
Add *explicit* keyword to contructor which has a parameter in order to avoid implicit type conversion.
* WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext::WebFrameNetworkingContext):
2012-07-13 Zeno Albisser <zeno@webkit.org>
[Qt][WK2] Implement GraphicsSurface for Linux/GLX.
https://bugs.webkit.org/show_bug.cgi?id=90881
Add a GLX based GraphicsSurface implementation for Linux.
Reviewed by Noam Rosenthal.
* Shared/ShareableSurface.cpp:
(WebKit::ShareableSurface::create):
Only create a GraphicsSurface from a ShareableSurface::Handle
in case the Handle contains a valid GraphicsSurface token.
Otherwise fall back to creating a ShareableBitmap.
* UIProcess/LayerTreeCoordinatorProxy.cpp:
(WebKit::createLayerTileUniqueKey):
Create a unique key for a surface based on tileID and layerID.
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
Even when GraphicsSurface is enabled, not all ShareableSurfaces
will necessarily be backed by a GraphicsSurface. In case of
a ShareableSurface being backed by a ShareableBitmap instead,
the GraphicsSurface token will always be null.
So instead of using the GraphicsSurface token as a key for
storing surfaces in a map, we create a unique key from
layerID and tileID.
* UIProcess/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
2012-07-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to get HTTPS status to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=91100
Reviewed by Martin Robinson.
Add webkit_uri_response_get_https_status() to return
GTlsCertificate and GTlsCertificateFlags with information about
the SSL certificate and the possible errors with the certificate.
* GNUmakefile.list.am: Add new files to compilation.
* PlatformEfl.cmake: Ditto.
* Shared/efl/PlatformCertificateInfo.h: Removed.
* Shared/soup/PlatformCertificateInfo.cpp: Added.
(WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
(WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
(WebKit::PlatformCertificateInfo::encode): Encode the
GTlsCertificate and GTlsCertificateFlags.
(WebKit::PlatformCertificateInfo::decode): Decode
PlatformCertificateInfo into a GTlsCertificate and GTlsCertificateFlags.
* Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebKit2/Shared/gtk/PlatformCertificateInfo.h.
(WebKit::PlatformCertificateInfo::certificate): Return the certificate.
(WebKit::PlatformCertificateInfo::tlsErrors): Return the TLS errors
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didCommitLoadForFrame): Set the certificate of the current frame
to the response of the main resource.
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkit_uri_response_get_https_status): Return GTlsCertificate and
GTlsCertificateFlags.
(webkitURIResponseSetCertificateInfo): Update the internal
ResourceResponse with the GTlsCertificate and GTlsCertificateFlags
of the given PlatformCertificateInfo.
* UIProcess/API/gtk/WebKitURIResponse.h:
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestMain.h:
(Test::getResourcesDir): Helper function to get the resources
directory of the WebKit2 API tests.
* UIProcess/API/gtk/tests/TestSSL.cpp: Added.
(testSSL):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer): Add support por SSL test
servers.
* UIProcess/API/gtk/tests/WebKitTestServer.h:
(WebKitTestServer): Add ssl parameter to create a HTTPS server.
* UIProcess/API/gtk/tests/resources/test-cert.pem: Added.
* UIProcess/API/gtk/tests/resources/test-key.pem: Added.
2012-07-12 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Facilitate debugging of the Web Process
https://bugs.webkit.org/show_bug.cgi?id=90768
Reviewed by Kenneth Rohde Christiansen.
The EFL port now checks if the WEB_PROCESS_CMD_PREFIX
environment variable is set and uses it as prefix
when spawning the Web process if it is. This is used
for debugging purposes with prefixes such as:
"xterm -title renderer -e gdb --args".
* UIProcess/Launcher/ProcessLauncher.h:
(LaunchOptions):
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connect):
2012-07-12 Timothy Hatcher <timothy@apple.com>
Make the "Inspect Element" context menu item appear in nightly builds again.
https://webkit.org/b/89323
Reviewed by Anders Carlsson.
* Shared/API/c/WKContextMenuItem.cpp:
(compatibleContextMenuItemTag): Added. Checks for the specific version of Safari 6 that needs the
tag fixed up to match values it expects.
(WKContextMenuItemGetTag): On Mac platforms call compatibleContextMenuItemTag to fix up the tag
before returning it.
* Shared/API/c/WKContextMenuItemTypes.h: Fix the order of the WKContextMenuItemTag enum
to be binary compatible with older versions of WebKit2.
2012-07-12 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] Port the test framework to WebKit 2
https://bugs.webkit.org/show_bug.cgi?id=90606
Reviewed by Kenneth Rohde Christiansen.
This port of EFL's WebKit 1 test framework uses a more gtest-ish
way of writing tests and it is based on a test fixture that loads a
page synchronously as convenience (if needed). This base fixture can be
easily extended by just inheriting from it.
* PlatformEfl.cmake:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: Added.
(EWK2UnitTest):
(EWK2UnitTest::onLoadProgress):
(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
(EWK2UnitTest::EWK2UnitTestBase::TearDown):
(EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Added.
(EWK2UnitTest):
(EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::setLoadProgress):
(EWK2UnitTest::EWK2UnitTestBase::webView):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Added.
(EWK2UnitTest):
(EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultTestPageUrl):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: Added.
(EWK2UnitTest):
(EWK2UnitTestEnvironment):
(EWK2UnitTest::EWK2UnitTestEnvironment::useX11Window):
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultWidth):
(EWK2UnitTest::EWK2UnitTestEnvironment::defaultHeight):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp: Added.
(parseArguments):
(main):
* UIProcess/API/efl/tests/resources/default_test_page.html: Added.
* UIProcess/API/efl/tests/test_ewk2_view.cpp: Added.
(TEST_F):
2012-07-12 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add missing Network Information API integration to WebContext and WebPage
https://bugs.webkit.org/show_bug.cgi?id=90781
Reviewed by Anders Carlsson.
Integrate Network Information API to WebPage, WebContext and
properly route messages to the WebNetworkInfoManagerProxy.
Without this, the Network Information tests are crashing for
WebKit2.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
(WebKit::WebContext::networkInfoManagerProxy):
* UIProcess/WebNetworkInfoManagerProxy.cpp:
(WebKit::WebNetworkInfoManagerProxy::didReceiveSyncMessage):
(WebKit):
* UIProcess/WebNetworkInfoManagerProxy.h:
(WebNetworkInfoManagerProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
2012-07-12 No'am Rosenthal <noam.rosenthal@nokia.com>
Move TextureMapperAnimation and texmap/LayerTransform to platform/graphics
https://bugs.webkit.org/show_bug.cgi?id=91111
Reviewed by Kenneth Rohde Christiansen.
Include the new filenames.
* WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h:
(WebGraphicsLayer):
2012-07-12 Adenilson Cavalcanti <cavalcantii@gmail.com>
[Qt][WK2] Implement web notifications support
https://bugs.webkit.org/show_bug.cgi?id=80702
Reviewed by Noam Rosenthal.
Adding a new type of permission request for Desktop Notifications (plus required code
to register the handle for this requests).
* UIProcess/API/qt/qwebpermissionrequest.cpp:
(QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
(QWebPermissionRequestPrivate):
(QWebPermissionRequest::create):
(QWebPermissionRequest::QWebPermissionRequest):
(QWebPermissionRequest::setAllow):
* UIProcess/API/qt/qwebpermissionrequest_p.h:
* UIProcess/API/qt/tests/qmltests/WebView/tst_notification.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/notification.html: Added.
* UIProcess/qt/QtWebPageUIClient.cpp:
(WebKit::QtWebPageUIClient::QtWebPageUIClient):
(WebKit::QtWebPageUIClient::policyForNotificationPermissionRequest):
(WebKit):
* UIProcess/qt/QtWebPageUIClient.h:
2012-07-12 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL][WK2] Browser crashes running BatteryStatus tests.
https://bugs.webkit.org/show_bug.cgi?id=91065
Reviewed by Kentaro Hara.
clientInfo was incorrectly casted to BatteryProviderEfl in helper
function. This patch fixes the issue.
* UIProcess/API/efl/BatteryProvider.cpp:
(toBatteryProvider):
2012-07-12 Christophe Dumez <christophe.dumez@intel.com>
[EFL] [WK2] regression(r122411) Crashes in Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=91068
Reviewed by Kentaro Hara.
Avoid using calloc() to allocate memory for structures
and use new operator instead. calloc() causes unwanted
behavior when allocing a structure which contains
non-pointer types (e.g. a HashMap) and leads to
crashes.
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
* UIProcess/API/efl/ewk_intent.cpp:
(_Ewk_Intent):
(_Ewk_Intent::_Ewk_Intent):
(ewk_intent_unref):
(ewk_intent_new):
* UIProcess/API/efl/ewk_intent_service.cpp:
(_Ewk_Intent_Service):
(_Ewk_Intent_Service::_Ewk_Intent_Service):
(ewk_intent_service_unref):
(ewk_intent_service_new):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
(ewk_navigation_policy_decision_free):
(ewk_navigation_policy_decision_new):
* UIProcess/API/efl/ewk_url_request.cpp:
(_Ewk_Url_Request):
(_Ewk_Url_Request::_Ewk_Url_Request):
(ewk_url_request_unref):
(ewk_url_request_new):
* UIProcess/API/efl/ewk_url_response.cpp:
(_Ewk_Url_Response):
(_Ewk_Url_Response::_Ewk_Url_Response):
(ewk_url_response_unref):
(ewk_url_response_new):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(_ewk_view_priv_del):
* UIProcess/API/efl/ewk_web_error.cpp:
(_Ewk_Web_Error):
(_Ewk_Web_Error::_Ewk_Web_Error):
(ewk_web_error_free):
(ewk_web_error_new):
* UIProcess/API/efl/ewk_web_resource.cpp:
(_Ewk_Web_Resource):
(_Ewk_Web_Resource::_Ewk_Web_Resource):
(ewk_web_resource_unref):
(ewk_web_resource_new):
2012-07-11 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
https://bugs.webkit.org/show_bug.cgi?id=90875
Reviewed by Kenneth Rohde Christiansen.
Since MultiPointTouchArea and PinchArea use the childMouseEventFilter
method to filter touch events and because Flickable filters child mouse
events the canvas calls this function before propagating the touch event
to the WebView. Since Flickable does not accept touch events the canvas
tries to propagate a synthesized mouse event through the base class
childMouseEventFilter function which is accepted by Flickable and
interferes with the input events we send to Flicakble hence messes up
the internal state of the WebView.
This patch reimplements the virtual childMouseEventFilter method so that all
the mouse and touch events can be processed by WebKit before they arrive to
Flickable.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::childMouseEventFilter):
* UIProcess/API/qt/qquickwebview_p.h:
2012-07-12 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ debug build after r122425.
* WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp:
(webkitSoupCookieJarSqliteNew):
2012-07-12 Sergio Villar Senin <svillar@igalia.com>
[WK2] Performance issue in FindController::findString
https://bugs.webkit.org/show_bug.cgi?id=78132
Reviewed by Anders Carlsson.
FindController should not unmark all text matches by default. It
will be done only if the string is not found or if
markAllTextMatches() is called. This will allow clients to look
for the next/previous without having to unmark() + mark() all the
text matches for every single search operation.
* UIProcess/API/gtk/WebKitFindController.cpp:
(webKitFindControllerPerform):
(webkit_find_controller_search_next):
(webkit_find_controller_search_previous):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::findString):
2012-07-12 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Add policy client to Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=90953
Reviewed by Kenneth Rohde Christiansen.
Emit new "policy,decision,navigation" and "policy,decision,new,window"
on the Ewk_View when policy decisions should be taken by the client.
A new Ewk_Navigation_Policy_Decision type is introduced to provide
information about the navigation request and make a decision.
By default, the navigation request is accepted.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp: Added.
(_Ewk_Navigation_Policy_Decision):
(ewk_navigation_policy_decision_free):
(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):
(ewk_navigation_policy_decision_new):
* UIProcess/API/efl/ewk_navigation_policy_decision.h: Added.
* UIProcess/API/efl/ewk_navigation_policy_decision_private.h: Added.
* UIProcess/API/efl/ewk_private.h: Added.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):
(ewk_view_navigation_policy_decision):
(ewk_view_new_window_policy_decision):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_policy_client.cpp: Added.
(toEwkView):
(decidePolicyForNavigationAction):
(decidePolicyForNewWindowAction):
(ewk_view_policy_client_attach):
* UIProcess/API/efl/ewk_view_policy_client_private.h: Added.
* UIProcess/API/efl/ewk_view_private.h:
2012-07-11 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add webkit_cookie_manager_set_persistent_storage() to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=83016
Reviewed by Martin Robinson.
Add a custom implementation of SoupCookieJarSqlite based on
libsoup code but using WebCore SQLite classes. SoupCookieJarSqlite
is part of libsoup-gnome, it's not a lot of code and it doesn't
change often, so it's better to simply have our own implementation
instead of making this important feature depend on an optional
dependency. There are plans to move the implementation to libsoup,
if that eventually happens we will remove our code to use libsoup
directly.
* GNUmakefile.am: Add new dirs to include path.
* GNUmakefile.list.am: Add new files to compilation.
* PlatformEfl.cmake: Ditto.
* Shared/soup/SoupCookiePersistentStorageType.h: Added.
* UIProcess/API/gtk/WebKitCookieManager.cpp:
(webkit_cookie_manager_set_persistent_storage): Set a persistent
storage for cookies.
* UIProcess/API/gtk/WebKitCookieManager.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols
* UIProcess/API/gtk/tests/TestCookieManager.cpp:
(testCookieManagerPersistentStorage):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy): Add setCookiePersistentStorage() method
when using soup.
* UIProcess/soup/WebCookieManagerProxySoup.cpp: Added.
(WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Send
SetCookiePersistentStorage message to the web process.
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager): Add setCookiePersistentStorage() method when
using soup.
* WebProcess/Cookies/WebCookieManager.messages.in: Add
SetCookiePersistentStorage message when using soup.
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::setCookiePersistentStorage): Create a
new cookie jar for the given filename and storage type and add it
to the soup session.
* WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp: Added.
(webkitSoupCookieJarSqliteOpenDatabase): Open SQLite database.
(webkitSoupCookieJarSqliteCreateTable): Create moz_cookies if it
doesn't exist.
(webkitSoupCookieJarSqliteLoad): Load the initial set of cookies
from the database.
(webkitSoupCookieJarSqliteInsertCookie): Insert a new cookie into
the database.
(webkitSoupCookieJarSqliteDeleteCookie): Delete an exising cookie
from the database.
(webkitSoupCookieJarSqliteChanged): Insert/delete cookies
depending on the change.
(webkitSoupCookieJarSqliteFinalize):
(webkit_soup_cookie_jar_sqlite_init):
(webkit_soup_cookie_jar_sqlite_class_init):
(webkitSoupCookieJarSqliteNew):
* WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h: Added.
2012-07-11 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Ewk_View should provide more resource loading notifications
https://bugs.webkit.org/show_bug.cgi?id=90601
Reviewed by Antonio Gomes.
Add new "resource,request,sent", "resource,request,response",
"resource,request,failed" and "resource,request,finished" to
Ewk_View in order to notify the clients of the main resource
load state changes.
Introduce new Ewk_Url_Response type that is used to provide
information to the clients regarding the resource load
responses that are received.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_url_response.cpp: Added.
(_Ewk_Url_Response):
(ewk_url_response_ref):
(ewk_url_response_unref):
(ewk_url_response_url_get):
(ewk_url_response_status_code_get):
(ewk_url_response_mime_type_get):
(ewk_url_response_new):
* UIProcess/API/efl/ewk_url_response.h: Added.
* UIProcess/API/efl/ewk_url_response_private.h: Added.
* UIProcess/API/efl/ewk_view.cpp:
(_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.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp:
(toEwkView):
(didInitiateLoadForResource):
(didSendRequestForResource):
(didReceiveResponseForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(ewk_view_resource_load_client_attach):
2012-07-11 Mark Rowe <mrowe@apple.com>
Fix a logic error in the #if so that the correct code is compiled on Snow Leopard.
I introduced this in r122403 when I inverted the sense of the #if.
* UIProcess/mac/WKFullScreenWindowController.mm:
2012-07-11 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
Reviewed by Dan Bernstein.
The deployment target is already set to the version that we're targeting, and it's that setting
which determines which functionality from the SDK is available to us.
* Configurations/Base.xcconfig:
2012-07-11 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/91022> WebFullScreenController and WKFullScreenWindowController shouldn't add unprefixed methods to AppKit classes
Reviewed by Dan Bernstein.
* UIProcess/mac/WKFullScreenWindowController.mm:
(convertRectToScreen): Add a static helper method that calls through to -[NSWindow convertRectToScreen:] on OS versions where it exists
but otherwise provides a compatibility implementation of it.
(-[WKFullScreenWindowController enterFullScreen:]): Call our new helper.
2012-07-11 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
This removal was handled by a script that translates the relevant macros in to the equivalent checks
using the system availability macros.
Reviewed by Filip Pizlo.
* Shared/DictionaryPopupInfo.cpp:
* Shared/DictionaryPopupInfo.h:
* Shared/mac/PasteboardTypes.mm:
* Shared/mac/WebEventFactory.mm:
* UIProcess/API/mac/PDFViewController.mm:
* UIProcess/API/mac/PageClientImpl.mm:
* UIProcess/API/mac/WKView.mm:
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
* UIProcess/Launcher/mac/EnvironmentVariables.cpp:
* UIProcess/Launcher/mac/EnvironmentVariables.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/TextCheckerMac.mm:
* UIProcess/mac/WKFullScreenWindowController.mm:
* UIProcess/mac/WebContextMac.mm:
* UIProcess/mac/WebPageProxyMac.mm:
* WebKit2Prefix.h:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/com.apple.WebProcess.sb.in:
* WebProcess/mac/KeychainItemShimMethods.mm:
* WebProcess/mac/SecItemShimMethods.mm:
* WebProcess/mac/WebProcessMac.mm:
* WebProcess/mac/WebProcessMainMac.mm:
* WebProcess/mac/WebProcessShim.mm:
2012-07-11 Simon Fraser <simon.fraser@apple.com>
pagesPerView param is misnamed for WKPageSetPageLength()
https://bugs.webkit.org/show_bug.cgi?id=91033
Rubber-stamped by Dan Bernstein.
The name of the second parameter to WKPageSetPageLength(),
'pagesPerView', was confusing; it's a page size (normally width)
in pixels.
* UIProcess/API/C/WKPagePrivate.h:
2012-07-11 Anders Carlsson <andersca@apple.com>
Add -Wtautological-compare and -Wsign-compare warning flags
https://bugs.webkit.org/show_bug.cgi?id=90994
Reviewed by Mark Rowe.
* Configurations/Base.xcconfig:
2012-07-11 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt][WK2] Test actual rendering results in API tests
https://bugs.webkit.org/show_bug.cgi?id=80609
Reviewed by Alexis Menard.
Added a very basic test to tst_QQuickWebView to make sure rendering actually occurs.
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
(tst_QQuickWebView::basicRenderingSanity):
2012-07-11 Mark Rowe <mrowe@apple.com>
Add a Mountain Lion version of libWebKitSystemInterface.a.
Reviewed by John Sullivan.
* Configurations/DebugRelease.xcconfig: Look for the library under its expected name.
2012-07-11 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt] QRawWebView should notify when rendering is done, so that pixel results can be grabbed at the appropriate moment.
https://bugs.webkit.org/show_bug.cgi?id=90641
Reviewed by Jocelyn Turcotte.
Implement LayerTreeCoordinator::forceRepaint with logic equivalent to the one in
LayerTreeHostCA. If we flush the layers synchronously when forceRepaint is called,when
WKPageForceRepaint returns we are guaranteed to have an up-to-date image, as the visible
tiles are also synchronously updated.
* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(WebView::WebView):
(WebView::viewNeedsDisplay):
(WebView::frameLoaded):
(WebView):
(WebView::onRepaintDone):
(WebView::finishForceRepaint):
(WebView::finishFirstLayoutForFrame):
(tst_qrawwebview::doNoBackground1):
(tst_qrawwebview::doNoBackground2):
(tst_qrawwebview::doNoBackground3):
(tst_qrawwebview::run):
The test for QRawWebView has been updated to use the WebKit2 ForcePaint API prior to
generating the pixel results. This has exposed a timing bug in the test - setting the
transparentBackground property of a page has to be done before it's created. This has
been fixed in the test.
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit):
2012-07-11 MORITA Hajime <morrita@google.com>
WebCoreSupport needs objects each of which follows major WebCore objects
https://bugs.webkit.org/show_bug.cgi?id=88499
Reviewed by Alexey Proskuryakov.
Added exporting symbols.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-07-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r122318.
http://trac.webkit.org/changeset/122318
https://bugs.webkit.org/show_bug.cgi?id=90961
It made 11 fast/events/touch fail (Requested by bbandix on
#webkit).
* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qquickwebview_p.h:
2012-07-11 Keunsoon Lee <keunsoon.lee@samsung.com>
[EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors
https://bugs.webkit.org/show_bug.cgi?id=90688
Reviewed by Hajime Morita.
Return meaningful error for each case.
* WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
(WebKit::cancelledError): create ResourceError for "request canceled".
(WebKit::blockedError): create ResourceError for "request blocked".
(WebKit::cannotShowURLError): create ResourceError for "cannot show url".
(WebKit::interruptedForPolicyChangeError): create ResourceError for "Frame load interrupted by policy change".
(WebKit::cannotShowMIMETypeError): create ResourceError for "Cannot show mimetype".
(WebKit::fileDoesNotExistError): create ResourceError for "File does not exist".
(WebKit::pluginWillHandleLoadError): create ResourceError for "Plugin will handle load".
2012-07-11 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] Fix wheel scrolling for simple pages
https://bugs.webkit.org/show_bug.cgi?id=90793
Reviewed by Kenneth Rohde Christiansen.
Call WebPage::setFixedLayoutSize in setResizesToContentsUsingLayoutSize
instead of setting the view size manually and scheduling a relayout.
Since setFixedLayoutSize forces a relayout it also updates the scrollbars
after the visible rect is available.
This fixes scrolling with wheel events for a QML WebView loading a simple
local page which previously ended up in a state where scrolling was disabled
because the scrollbar update happened before the correct visible rect size was
available.
Add a QML test and infrastructure to QWebKitTest to cover this case.
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::wheelEvent):
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/test4.html: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setResizesToContentsUsingLayoutSize):
2012-07-11 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded()
https://bugs.webkit.org/show_bug.cgi?id=90875
Reviewed by Kenneth Rohde Christiansen.
Since MultiPointTouchArea and PinchArea use the childMouseEventFilter
method to filter touch events too, and because Flickable filters child
mouse events the canvas calls this function before propagating the touch
event to the WebView. Since Flickable does not accept touch events the
canvas tries to propagate a synthesized mouse event through the base
class childMouseEventFilter function which is accepted by Flickable and
interferes with the input events we send to Flicakble hence messes up
the internal state of the WebView.
This patch reimplements the virtual childMouseEventFilter method so that all
the mouse and touch events can be processed by WebKit before they arrive to
Flickable.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::childMouseEventFilter):
* UIProcess/API/qt/qquickwebview_p.h:
2012-07-10 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Add Battery Status Provider
https://bugs.webkit.org/show_bug.cgi?id=90543
Reviewed by Kenneth Rohde Christiansen.
Define a battery status provider for WebKit2 EFL which
relies on WebCore::BatteryProviderEfl.
* CMakeLists.txt: Add WebCore/Modules/battery to include
paths.
* PlatformEfl.cmake: Add BatteryProvider class to CMake.
* UIProcess/API/efl/BatteryProvider.cpp: Added.
(toBatteryProvider):
(startUpdatingCallback):
(stopUpdatingCallback):
(BatteryProvider::~BatteryProvider):
(BatteryProvider::create):
(BatteryProvider::BatteryProvider):
(BatteryProvider::startUpdating):
(BatteryProvider::stopUpdating):
(BatteryProvider::didChangeBatteryStatus):
* UIProcess/API/efl/BatteryProvider.h: Added.
(BatteryProvider):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context): Add BatteryProvider to Ewk_Context.
(createDefaultEwkContext):
(ewk_context_default_get):
2012-07-10 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt] Enable antialiasing for TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=90915
Reviewed by Martin Robinson.
Enable the new antialiasing functionality for WebLayerTreeRendering.
This will make one-tile layers antialiased when using UI_SIDE_COMPOSITING.
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::ensureRootLayer):
2012-07-10 Adam Barth <abarth@webkit.org>
WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
https://bugs.webkit.org/show_bug.cgi?id=90910
Reviewed by Eric Seidel.
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetHixie76WebSocketProtocolEnabled):
(WKPreferencesGetHixie76WebSocketProtocolEnabled):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
2012-07-10 Helder Correia <helder.correia@nokia.com>
[Qt] Repaint counter for accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=90116
Reviewed by Noam Rosenthal.
No new tests, just introducing a debug feature.
For this feature to be enabled, the environment variable
QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
both repaint counters and tile borders will be painted.
Important notes:
- Only WebKit2 is targetted for now.
- There is no integration with Preferences. That aproach was
taken initially but revealed complex and overkill for such a
debugging-only functionality. Thus, to disable it simply restart with
the environment variable unset or set to some other value.
A Qt-specific drawRepaintCounter() function was added to
TextureMapperGL. A QImage is used as scratch buffer to paint borders and
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
now has a repaint counter which gets incremented in
LayerBackingStore::updateTile().
* UIProcess/texmap/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::updateTile):
(WebKit):
(WebKit::shouldShowTileDebugVisuals):
(WebKit::LayerBackingStore::paintToTextureMapper):
* UIProcess/texmap/LayerBackingStore.h:
(WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
(LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::incrementRepaintCount):
(WebKit::LayerBackingStoreTile::repaintCount):
2012-07-10 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[WK2] Add Vibration API support for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=90058
Reviewed by Anders Carlsson.
Add support for Vibration API to WebKit2.
* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Platform/CoreIPC/MessageID.h:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKVibration.cpp: Added.
(WKVibrationGetTypeID):
(WKVibrationSetProvider):
* UIProcess/API/C/WKVibration.h: Added.
* UIProcess/WebVibrationProvider.cpp: Added.
(WebKit):
(WebKit::WebVibrationProvider::vibrate):
(WebKit::WebVibrationProvider::cancelVibration):
* UIProcess/WebVibrationProvider.h: Added.
(WebKit):
(WebVibrationProvider):
* UIProcess/WebVibrationProxy.cpp: Added.
(WebKit):
(WebKit::WebVibrationProxy::create):
(WebKit::WebVibrationProxy::WebVibrationProxy):
(WebKit::WebVibrationProxy::~WebVibrationProxy):
(WebKit::WebVibrationProxy::invalidate):
(WebKit::WebVibrationProxy::initializeProvider):
(WebKit::WebVibrationProxy::didReceiveMessage):
(WebKit::WebVibrationProxy::vibrate):
(WebKit::WebVibrationProxy::cancelVibration):
* UIProcess/WebVibrationProxy.h: Added.
(CoreIPC):
(WebKit):
(WebVibrationProxy):
(WebKit::WebVibrationProxy::clearContext):
(WebKit::WebVibrationProxy::type):
* UIProcess/WebVibrationProxy.messages.in: Added.
* WebProcess/WebCoreSupport/WebVibrationClient.cpp: Added.
(WebKit):
(WebKit::WebVibrationClient::vibrate):
(WebKit::WebVibrationClient::cancelVibration):
(WebKit::WebVibrationClient::vibrationDestroyed):
* WebProcess/WebCoreSupport/WebVibrationClient.h: Added.
(WebKit):
(WebVibrationClient):
(WebKit::WebVibrationClient::WebVibrationClient):
(WebKit::WebVibrationClient::~WebVibrationClient):
2012-07-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to clear the cache to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=90856
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_clear_cache): Call
WKResourceCacheManagerClearCacheForAllOrigins() to clear all
resources currently cached.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
2012-07-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r122178.
http://trac.webkit.org/changeset/122178
https://bugs.webkit.org/show_bug.cgi?id=90857
browser tests, PrerenderBrowserTest.PrerenderFavicon and other
tests, started to fail (Requested by hayato on #webkit).
* win/WebKit2.def:
2012-07-09 Matt Falkenhagen <falken@chromium.org>
Add ENABLE_DIALOG_ELEMENT and skeleton files
https://bugs.webkit.org/show_bug.cgi?id=90521
Reviewed by Kent Tamura.
* Configurations/FeatureDefines.xcconfig:
2012-07-09 Pete Williamson <petewil@google.com>
Export the iconURL list to make it available to the Internals class for testing
https://bugs.webkit.org/show_bug.cgi?id=88665
Reviewed by Kent Tamura.
* win/WebKit2.def: export the DocumentL::iconURLs function
2012-07-09 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add missing Battery Status API integration to WebContext and WebPage
https://bugs.webkit.org/show_bug.cgi?id=90784
Reviewed by Anders Carlsson.
Integrate Battery Status API to WebPage, WebContext and
properly route messages to the WebBatteryManagerProxy.
Without this, the Battery Status tests are crashing for
WebKit2.
* UIProcess/API/C/WKContext.cpp:
(WKContextGetBatteryManager):
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::didReceiveMessage):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
(WebKit::WebContext::batteryManagerProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
* WebProcess/WebCoreSupport/WebBatteryClient.cpp:
(WebKit::WebBatteryClient::setController):
(WebKit):
* WebProcess/WebCoreSupport/WebBatteryClient.h:
(WebBatteryClient):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
2012-07-09 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL] [WK2] ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
https://bugs.webkit.org/show_bug.cgi?id=90464
Reviewed by Daniel Bates.
HashMap has the property that 0 is the empty value for integer
keys, so do not use 0 as a key in the HashMap.
* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::dispatchAfterDelay):
2012-07-09 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add a setting to enable/disable page cache to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=90773
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_page_cache):
(webkit_settings_set_enable_page_cache):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings):
2012-07-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r122107.
http://trac.webkit.org/changeset/122107
https://bugs.webkit.org/show_bug.cgi?id=90794
Build failure on Mac debug bots (Requested by falken_ on
#webkit).
* Configurations/FeatureDefines.xcconfig:
2012-07-09 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fix inspector detach when inspector was attached by the client
https://bugs.webkit.org/show_bug.cgi?id=90763
Reviewed by Martin Robinson.
When the inspector is detached, we are unconditionally removing it
from the inspected view, but if the inspector was attached by the
client, the parent might be another widget.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformDetach): Remove the inspector
view from its parent widget.
2012-07-09 Matt Falkenhagen <falken@chromium.org>
Add ENABLE_DIALOG_ELEMENT and skeleton files
https://bugs.webkit.org/show_bug.cgi?id=90521
Reviewed by Kent Tamura.
* Configurations/FeatureDefines.xcconfig:
2012-07-09 Dan Bernstein <mitz@apple.com>
Fix the Mac build when codesign_allocate is not installed at /usr/bin.
* PluginProcess/mac/add-entitlements.sh: Let codesign(1) know where the codesign_allocate
tool is by setting the CODESIGN_ALLOCATE environment variable to its path as obtained with
xcrun.
2012-07-06 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add support for Network Information API
https://bugs.webkit.org/show_bug.cgi?id=89870
Reviewed by Anders Carlsson.
Add Network Information API support for WebKit2.
* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Platform/CoreIPC/MessageID.h:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Shared/WebNetworkInfo.cpp: Added.
(WebKit):
(WebKit::WebNetworkInfo::WebNetworkInfo):
(WebKit::WebNetworkInfo::~WebNetworkInfo):
(WebKit::WebNetworkInfo::Data::encode):
(WebKit::WebNetworkInfo::Data::decode):
* Shared/WebNetworkInfo.h: Added.
(WebKit):
(WebNetworkInfo):
(Data):
(WebKit::WebNetworkInfo::create):
(WebKit::WebNetworkInfo::bandwidth):
(WebKit::WebNetworkInfo::metered):
(WebKit::WebNetworkInfo::data):
(WebKit::WebNetworkInfo::type):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKNetworkInfoManager.cpp: Added.
(WKNetworkInfoManagerGetTypeID):
* UIProcess/API/C/WKNetworkInfoManager.h: Added.
* UIProcess/WebNetworkInfoManagerProxy.cpp: Added.
(WebKit):
(WebKit::WebNetworkInfoManagerProxy::create):
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
(WebKit::WebNetworkInfoManagerProxy::~WebNetworkInfoManagerProxy):
(WebKit::WebNetworkInfoManagerProxy::invalidate):
(WebKit::WebNetworkInfoManagerProxy::initializeProvider):
(WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation):
(WebKit::WebNetworkInfoManagerProxy::didReceiveMessage):
(WebKit::WebNetworkInfoManagerProxy::startUpdating):
(WebKit::WebNetworkInfoManagerProxy::stopUpdating):
(WebKit::WebNetworkInfoManagerProxy::getBandwidth):
(WebKit::WebNetworkInfoManagerProxy::isMetered):
* UIProcess/WebNetworkInfoManagerProxy.h: Added.
(CoreIPC):
(WebKit):
(WebNetworkInfoManagerProxy):
(WebKit::WebNetworkInfoManagerProxy::clearContext):
(WebKit::WebNetworkInfoManagerProxy::type):
* UIProcess/WebNetworkInfoManagerProxy.messages.in: Added.
* UIProcess/WebNetworkInfoProvider.cpp: Added.
(WebKit):
(WebKit::WebNetworkInfoProvider::startUpdating):
(WebKit::WebNetworkInfoProvider::stopUpdating):
(WebKit::WebNetworkInfoProvider::bandwidth):
(WebKit::WebNetworkInfoProvider::metered):
* UIProcess/WebNetworkInfoProvider.h: Added.
(WebKit):
(WebNetworkInfoProvider):
* WebKit2.pri:
* WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: Added.
(WebKit):
(WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
(WebKit::WebNetworkInfoManager::~WebNetworkInfoManager):
(WebKit::WebNetworkInfoManager::didReceiveMessage):
(WebKit::WebNetworkInfoManager::registerWebPage):
(WebKit::WebNetworkInfoManager::unregisterWebPage):
(WebKit::WebNetworkInfoManager::bandwidth):
(WebKit::WebNetworkInfoManager::metered):
(WebKit::WebNetworkInfoManager::didChangeNetworkInformation):
* WebProcess/NetworkInfo/WebNetworkInfoManager.h: Added.
(CoreIPC):
(WebKit):
(WebNetworkInfoManager):
* WebProcess/NetworkInfo/WebNetworkInfoManager.messages.in: Added.
* WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp: Added.
(WebKit):
(WebKit::WebNetworkInfoClient::~WebNetworkInfoClient):
(WebKit::WebNetworkInfoClient::bandwidth):
(WebKit::WebNetworkInfoClient::metered):
(WebKit::WebNetworkInfoClient::startUpdating):
(WebKit::WebNetworkInfoClient::stopUpdating):
* WebProcess/WebCoreSupport/WebNetworkInfoClient.h: Added.
(WebKit):
(WebNetworkInfoClient):
(WebKit::WebNetworkInfoClient::WebNetworkInfoClient):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
(WebKit::WebProcess::networkInfoManager):
2012-07-06 Jessie Berlin <jberlin@apple.com>
WKContext should ask for its injected bundle initialization user data when it needs it so the
client doesn't have to keep it up to date.
https://bugs.webkit.org/show_bug.cgi?id=90627
Reviewed by Anders Carlsson.
Add a getInjectedBundleInitializationUserData callback to WKContextInjectedBundleClient.
* Shared/APIClientTraits.cpp:
Allow the WKContextInjectedBundleClient API to be versioned.
* Shared/APIClientTraits.h:
* UIProcess/API/C/WKContext.h:
Add the callback and bump the version of WKContextInjectedBundleClient.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureWebProcess):
Prefer any user data returned when the callback is invoked over that set with
WKContextSetInitializationUserDataForInjectedBundle.
* UIProcess/WebContextInjectedBundleClient.cpp:
(WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
Invoke the callback if the client has registered for it.
* UIProcess/WebContextInjectedBundleClient.h:
2012-07-06 Jessie Berlin <jberlin@apple.com>
WebContext::injectedBundleInitializationUserData() is unused, should be removed
https://bugs.webkit.org/show_bug.cgi?id=90486
Reviewed by Anders Carlsson.
* UIProcess/WebContext.h:
Remove it.
2012-07-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add site specific quirks setting to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=90663
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_site_specific_quirks):
(webkit_settings_set_enable_site_specific_quirks):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings):
2012-07-06 Dominik Röttsches <dominik.rottsches@intel.com>
ProcessLauncher's WorkQueue's name is too long on Windows
https://bugs.webkit.org/show_bug.cgi?id=44041
Reviewed by Andreas Kling.
Shorten thread name for process launcher so that we can silence the warning
for thread names getting truncated under VisualStudio -
see createThread() in Threading.cpp.
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::processLauncherWorkQueue):
2012-07-06 Christophe Dumez <christophe.dumez@intel.com>
[EFL] WebKit-EFL headers do not build with gcc < 4.6
https://bugs.webkit.org/show_bug.cgi?id=90681
Unreviewed EFL build fix.
Remove several forward declarations from ewk_view
header to avoid typedef redefinitions which are
illegal in C.
* UIProcess/API/efl/ewk_view.h:
2012-07-06 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Buildfix for newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=90519
Reviewed by Tor Arne Vestbø.
* UIProcess/API/qt/qwebkittest.cpp: Include qpa/qwindowsysteminterface.h instead of deprecated qwindowsysteminterface_qpa.h.
2012-07-06 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
[Qt] Adjust to changed generation of master include file
The responsiblity for creating the master include was moved out of syncqt.
@ignore_for_master_contents still stays, as syncqt (ab-)uses this for
determining whether a header is private.
https://bugs.webkit.org/show_bug.cgi?id=90461
Reviewed by Tor Arne Vestbø.
* UIProcess/API/qt/tests/bytearraytestdata.h:
* UIProcess/API/qt/tests/testwindow.h:
2012-07-05 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Ewk_View needs to report load status changes
https://bugs.webkit.org/show_bug.cgi?id=90566
Reviewed by Kenneth Rohde Christiansen.
Add new "load,finished", "load,provisional,failed",
"load,provisional,redirect" and "load,provisional,started"
signals on the Ewk_View to notify the client of different
load state changes.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_load_finished):
(ewk_view_load_provisional_failed):
(ewk_view_load_provisional_redirect):
(ewk_view_load_provisional_started):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didFinishLoadForFrame):
(didFailLoadWithErrorForFrame):
(didStartProvisionalLoadForFrame):
(didReceiveServerRedirectForProvisionalLoadForFrame):
(didFailProvisionalLoadWithErrorForFrame):
(ewk_view_loader_client_attach):
* UIProcess/API/efl/ewk_view_private.h:
2012-07-05 Luiz Agostini <luiz.agostini@nokia.com>
[Qt] Transform should be applied to the clip rect in QRawWebView::paint
https://bugs.webkit.org/show_bug.cgi?id=90652
Reviewed by Kenneth Rohde Christiansen.
Applying the transformation matrix to the clip rect in QRawWebView::paint.
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::paint):
2012-07-05 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Ewk_View should provide API to set/get device pixel ratio
https://bugs.webkit.org/show_bug.cgi?id=90590
Reviewed by Kenneth Rohde Christiansen.
Add API to Ewk_View so retrieve and set the device
pixel ratio.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_device_pixel_ratio_set):
(ewk_view_device_pixel_ratio_get):
* UIProcess/API/efl/ewk_view.h:
2012-07-05 Anders Carlsson <andersca@apple.com>
Type-ahead doesn't work in options inside optgroups
https://bugs.webkit.org/show_bug.cgi?id=90647
<rdar://problem/5604894>
Reviewed by Dan Bernstein.
Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace.
* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::populate):
2012-07-05 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add C API for Battery Status API
https://bugs.webkit.org/show_bug.cgi?id=90545
Reviewed by Anders Carlsson.
Add C API for WKBatteryManager and WKBatteryStatus
so that clients can support the Battery Status API
in WebKit2.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKBatteryManager.cpp:
(WKBatteryManagerProviderDidChangeBatteryStatus):
(WKBatteryManagerProviderUpdateBatteryStatus):
* UIProcess/API/C/WKBatteryStatus.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
(WKBatteryStatusGetTypeID):
(WKBatteryStatusCreate):
* UIProcess/API/C/WKBatteryStatus.h: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
2012-07-05 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r121899.
http://trac.webkit.org/changeset/121899
https://bugs.webkit.org/show_bug.cgi?id=90623
Unauthorized WK2 API breakage (Requested by andersca on
#webkit).
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedURLAPI):
2012-07-05 Balazs Kelemen <kbalazs@webkit.org>
[Qt] WTR crashes if a URL is passed as a parameter
https://bugs.webkit.org/show_bug.cgi?id=88093
Reviewed by Zoltan Herczeg.
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedURLAPI):
Don't special case null string. It's handled
fine by WebURL and passing 0 is not suitable
to the API.
2012-07-05 Dongwoo Im <dw.im@samsung.com>
[EFL] Enable the CUSTOM_SCHEME_HANDLER feature as default.
https://bugs.webkit.org/show_bug.cgi?id=88608
Reviewed by Hajime Morita.
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebKit::WebChromeClient::isProtocolHandlerRegistered): Add a stub function.
(WebKit::WebChromeClient::unregisterProtocolHandler): Add a stub function.
(WebChromeClient):
2012-07-05 Ryuan Choi <ryuan.choi@samsung.com>
[Wk2][EFL] EFL needs a WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=87659
Reviewed by Kenneth Rohde Christiansen.
* PlatformEfl.cmake: Added WKImageCairo.cpp in source list.
2012-07-05 Hyerim Bae <hyerim.bae@samsung.com>
[EFL][WK2] Add ewk_view_reload_bypass_cache API.
https://bugs.webkit.org/show_bug.cgi?id=89413
Reviewed by Kenneth Rohde Christiansen.
Add API, which is for reloading documents without cache.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_reload_bypass_cache):
* UIProcess/API/efl/ewk_view.h:
2012-07-05 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Ewk_View needs API to load HTML data
https://bugs.webkit.org/show_bug.cgi?id=90540
Reviewed by Kenneth Rohde Christiansen.
Add method to Ewk_View to load provided HTML data.
This is used for e.g. when an URL cannot be reached
and we need to display an error page.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_html_load):
* UIProcess/API/efl/ewk_view.h:
2012-07-05 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Ewk_View needs to report new resource requests
https://bugs.webkit.org/show_bug.cgi?id=90577
Reviewed by Kenneth Rohde Christiansen.
Add new "resource,request,new" signal to Ewk_View to
notify clients of the resource requests being initiated.
New Ewk_Url_Request and Ewk_Web_Resource types are
introduced in order to provide the clients with the
needed information regarding the resource requests.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_url_request.cpp: Added.
(_Ewk_Url_Request):
(ewk_url_request_ref):
(ewk_url_request_unref):
(ewk_url_request_url_get):
(ewk_request_first_party_get):
(ewk_url_request_http_method_get):
(ewk_url_request_new):
* UIProcess/API/efl/ewk_url_request.h: Added.
* UIProcess/API/efl/ewk_url_request_private.h: Added.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):
(ewk_view_resource_load_initiated):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_resource_load_client.cpp: Added.
(didInitiateLoadForResource):
(ewk_view_resource_load_client_attach):
* UIProcess/API/efl/ewk_view_resource_load_client_private.h: Added.
* UIProcess/API/efl/ewk_web_resource.cpp: Added.
(_Ewk_Web_Resource):
(ewk_web_resource_ref):
(ewk_web_resource_unref):
(ewk_web_resource_uri_get):
(ewk_web_resource_new):
(ewk_web_resource_main_get):
* UIProcess/API/efl/ewk_web_resource.h: Added.
* UIProcess/API/efl/ewk_web_resource_private.h: Added.
2012-07-04 John Mellor <johnme@chromium.org>
Text Autosizing: Add compile flag and runtime setting
https://bugs.webkit.org/show_bug.cgi?id=87394
This patch renames Font Boosting to Text Autosizing.
Reviewed by Adam Barth.
* Configurations/FeatureDefines.xcconfig:
2012-07-04 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Ewk_View should report load errors
https://bugs.webkit.org/show_bug.cgi?id=90479
Reviewed by Kenneth Rohde Christiansen.
The Ewk_View now emits a "load,error" signal when the
main frame fails loading. Information about the error
is provided via the new Ewk_Web_Error type.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_load_error):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didFailLoadWithErrorForFrame):
(ewk_view_loader_client_attach):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_web_error.cpp: Added.
(_Ewk_Web_Error):
(ewk_web_error_free):
(ewk_web_error_domain_get):
(ewk_web_error_url_get):
(ewk_web_error_code_get):
(ewk_web_error_description_get):
(ewk_web_error_cancellation_get):
(ewk_web_error_new):
* UIProcess/API/efl/ewk_web_error.h: Added.
* UIProcess/API/efl/ewk_web_error_private.h: Added.
2012-07-03 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Ewk_View should report the load progress
https://bugs.webkit.org/show_bug.cgi?id=90457
Reviewed by Kenneth Rohde Christiansen.
The Ewk_View now reports the estimated load progress
of the page via the new "load,progress".
A method is also added to Ewk_View in order to
retrieve the current load progress.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_load_progress_get):
(ewk_view_load_progress_changed):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didChangeProgress):
(ewk_view_loader_client_attach):
* UIProcess/API/efl/ewk_view_private.h:
2012-07-03 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add support for Battery Status API
https://bugs.webkit.org/show_bug.cgi?id=89558
Reviewed by Anders Carlsson.
Add support for Battery Status API to WebKit2.
* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Platform/CoreIPC/MessageID.h:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Shared/WebBatteryStatus.cpp: Added.
(WebKit):
(WebKit::WebBatteryStatus::WebBatteryStatus):
(WebKit::WebBatteryStatus::~WebBatteryStatus):
(WebKit::WebBatteryStatus::Data::encode):
(WebKit::WebBatteryStatus::Data::decode):
* Shared/WebBatteryStatus.h: Added.
(WebKit):
(WebBatteryStatus):
(Data):
(WebKit::WebBatteryStatus::create):
(WebKit::WebBatteryStatus::isCharging):
(WebKit::WebBatteryStatus::chargingTime):
(WebKit::WebBatteryStatus::dischargingTime):
(WebKit::WebBatteryStatus::level):
(WebKit::WebBatteryStatus::data):
(WebKit::WebBatteryStatus::type):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKBatteryManager.cpp: Added.
(WKBatteryManagerGetTypeID):
* UIProcess/API/C/WKBatteryManager.h: Added.
* UIProcess/WebBatteryManagerProxy.cpp: Added.
(WebKit):
(WebKit::WebBatteryManagerProxy::create):
(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
(WebKit::WebBatteryManagerProxy::~WebBatteryManagerProxy):
(WebKit::WebBatteryManagerProxy::invalidate):
(WebKit::WebBatteryManagerProxy::initializeProvider):
(WebKit::WebBatteryManagerProxy::didReceiveMessage):
(WebKit::WebBatteryManagerProxy::startUpdating):
(WebKit::WebBatteryManagerProxy::stopUpdating):
(WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus):
(WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus):
* UIProcess/WebBatteryManagerProxy.h: Added.
(CoreIPC):
(WebKit):
(WebBatteryManagerProxy):
(WebKit::WebBatteryManagerProxy::clearContext):
(WebKit::WebBatteryManagerProxy::type):
* UIProcess/WebBatteryManagerProxy.messages.in: Added.
* UIProcess/WebBatteryProvider.cpp: Added.
(WebKit):
(WebKit::WebBatteryProvider::startUpdating):
(WebKit::WebBatteryProvider::stopUpdating):
* UIProcess/WebBatteryProvider.h: Added.
(WebKit):
(WebBatteryProvider):
* WebKit2.pri:
* WebProcess/Battery/WebBatteryManager.cpp: Added.
(WebKit):
(WebKit::WebBatteryManager::WebBatteryManager):
(WebKit::WebBatteryManager::~WebBatteryManager):
(WebKit::WebBatteryManager::didReceiveMessage):
(WebKit::WebBatteryManager::registerWebPage):
(WebKit::WebBatteryManager::unregisterWebPage):
(WebKit::WebBatteryManager::didChangeBatteryStatus):
(WebKit::WebBatteryManager::updateBatteryStatus):
* WebProcess/Battery/WebBatteryManager.h: Added.
(CoreIPC):
(WebKit):
(WebBatteryManager):
* WebProcess/Battery/WebBatteryManager.messages.in: Added.
* WebProcess/WebCoreSupport/WebBatteryClient.cpp: Added.
(WebKit):
(WebKit::WebBatteryClient::startUpdating):
(WebKit::WebBatteryClient::stopUpdating):
(WebKit::WebBatteryClient::batteryControllerDestroyed):
* WebProcess/WebCoreSupport/WebBatteryClient.h: Added.
(WebKit):
(WebBatteryClient):
(WebKit::WebBatteryClient::WebBatteryClient):
(WebKit::WebBatteryClient::~WebBatteryClient):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
(WebKit::WebProcess::batteryManager):
2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Make use of .qmake.cache for caching features
Instead of loading() features from the files that need them (and re-running
a bunch of checks), we now run feature detection as part of configure.pro,
and have build-webkit write the computed feature-defines and CONFIG to
.qmake.cache, which is then loaded by qmake _before_ even defaults_pre
when building WebKit.pro.
At some point we'll be able to selectivly prevent running of config tests
in configure.pro, which means we don't need a separate code-path for
the build-webkit --help case.
We should also move the code in build-webkit that now uses .webkit.config
to detect clean builds, to use .qmake.cache, since we now store the same
thing there.
Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Tor Arne Vestbø.
* DerivedSources.pri:
* Target.pri:
2012-07-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r121766.
http://trac.webkit.org/changeset/121766
https://bugs.webkit.org/show_bug.cgi?id=90465
It caused flakey build errors on the bots (Requested by Ossy
on #webkit).
* DerivedSources.pri:
* Target.pri:
2012-07-03 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add WebKitWebView::context-menu-dismissed signal to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=90386
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init): Add context-menu-dismissed signal.
(contextMenuDismissed): Emit context-menu-dismissed signal.
(webkitWebViewPopulateContextMenu): Connect to deactivate signal
of the GtkMenu and emit WebKitWebView::context-menu-dismissed when
the gtk menu is deactivated.
* UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass): Add virtual methos for
context-menu-dismissed signal.
* UIProcess/API/gtk/tests/TestContextMenu.cpp:
(testContextMenuDismissed):
(beforeAll):
* UIProcess/gtk/WebContextMenuProxyGtk.h:
(WebKit::WebContextMenuProxyGtk::gtkMenu): Get the GtkMenu built
for the context menu proxy.
2012-07-03 Piotr Roguski <p.roguski@samsung.com>
[EFL][WK2] Added missing WebPageProxy::ViewIsFocused flag to WebPageProxy::viewStateDidChange()
call in _ewk_view_smart_focus_out() function.
https://bugs.webkit.org/show_bug.cgi?id=89877
Reviewed by Andreas Kling.
Although name of the flag suggest it should be used only on focus in,
omitting it in case of focus out will prevent WebPageProxy::viewStateDidChange()
from sending Messages::WebPage::SetFocused(false).
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_focus_out):
2012-07-03 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
[Qt][WK2] API tests randomly asserts in QQuickWebPage::setContentsScale(qreal)
https://bugs.webkit.org/show_bug.cgi?id=88679
Reviewed by Csaba Osztrogonác.
Viewport parameters cannot be calculated while viewport is not visible and
viewport size is 0, so let's delay calculation of viewport parameters until view
becomes visible.
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::pageContentsSizeChanged):
2012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Make use of .qmake.cache for caching features
Instead of loading() features from the files that need them (and re-running
a bunch of checks), we now run feature detection as part of configure.pro,
and have build-webkit write the computed feature-defines and CONFIG to
.qmake.cache, which is then loaded by qmake _before_ even defaults_pre
when building WebKit.pro.
At some point we'll be able to selectivly prevent running of config tests
in configure.pro, which means we don't need a separate code-path for
the build-webkit --help case.
We should also move the code in build-webkit that now uses .webkit.config
to detect clean builds, to use .qmake.cache, since we now store the same
thing there.
Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Tor Arne Vestbø.
* DerivedSources.pri:
* Target.pri:
2012-07-03 Alexis Menard <alexis.menard@openbossa.org>
[Qt] When calling accept() on the FilePickerContextObject with an empty list, early return and call reject().
https://bugs.webkit.org/show_bug.cgi?id=89755
Reviewed by Simon Hausmann.
When calling accept with an empty list of files we can just bailout
and call reject(). Any other processing is pointless.
* UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
* UIProcess/qt/QtDialogRunner.cpp:
(WebKit::FilePickerContextObject::accept):
2012-07-03 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661
https://bugs.webkit.org/show_bug.cgi?id=90376
Reviewed by Csaba Osztrogonác.
layoutTestController.dumpConfigurationForViewport still need
to use the constant target DPI of 160.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::viewportConfigurationAsText):
2012-07-03 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add API to deliver a Web Intent to a frame
https://bugs.webkit.org/show_bug.cgi?id=90067
Reviewed by Kenneth Rohde Christiansen.
Add ewk_view_intent_deliver() method on the Ewk_View
to deliver a Web Intent to the view's main frame.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_deliver):
* UIProcess/API/efl/ewk_view.h:
2012-07-02 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add API to inspect a Web Intent service
https://bugs.webkit.org/show_bug.cgi?id=90066
Reviewed by Kenneth Rohde Christiansen.
Add EFL API to inspect a Web Intent Service and emit
a signal on the view when a new intent service
registers.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_intent_service.cpp: Added.
(_Ewk_Intent_Service):
(ewk_intent_service_ref):
(ewk_intent_service_unref):
(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):
(ewk_intent_service_new):
* UIProcess/API/efl/ewk_intent_service.h: Added.
* UIProcess/API/efl/ewk_intent_service_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_service_register):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(registerIntentServiceForFrame):
(ewk_view_loader_client_attach):
* UIProcess/API/efl/ewk_view_private.h:
2012-07-02 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Free Ewk_Intent calloc'd memory with free() instead of delete
https://bugs.webkit.org/show_bug.cgi?id=90433
Reviewed by Kenneth Rohde Christiansen.
Free calloc'd memory with free() instead of delete in Ewk_Intent.
Add blank lines before return statements for consistency.
* UIProcess/API/efl/ewk_intent.cpp:
(ewk_intent_unref):
(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):
(ewk_intent_new):
2012-07-02 Martin Robinson <mrobinson@igalia.com>
[TextureMapper] The TextureMapper should support edge-distance anti-antialiasing
https://bugs.webkit.org/show_bug.cgi?id=90308
Reviewed by Noam Rosenthal.
* UIProcess/texmap/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::paintToTextureMapper): Update the method to call paint with
the new argument.
2012-07-02 Benjamin Poulain <bpoulain@apple.com>
Do not do any logging initialization when logging is disabled
https://bugs.webkit.org/show_bug.cgi?id=90228
Reviewed by Simon Fraser.
* Platform/Logging.cpp:
* Platform/Logging.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
2012-07-02 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt][WK2] New API tests introduced in r121620 fail
https://bugs.webkit.org/show_bug.cgi?id=90372
Reviewed by Luiz Agostini.
Updated the pixel comparison to produce more predictable results.
* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(compareImages):
2012-07-02 Alexis Menard <alexis.menard@openbossa.org>
[Qt] Fix WebProcess crash on Mac when accessing a site with video tag.
https://bugs.webkit.org/show_bug.cgi?id=90384
Reviewed by Jocelyn Turcotte.
We need to initialize the private symbols used by MediaPlayerPrivateQTKit
otherwise they will be null and it will lead to a crash. We copy WebSystemInterface
files for WK2 just like the Mac port as WK2 may have different needs than WK1 layer (we
may add or remove symbols in here). It doesn't fix the video rendering yet but it's
first step.
* Target.pri:
* WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Added.
* WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Added.
(InitWebCoreSystemInterfaceForWK2):
* WebProcess/qt/WebProcessMainQt.cpp:
(WebKit::WebProcessMainQt):
2012-07-02 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL] [WK2] Remove content sniffer and decoder initialization from WebProcess
https://bugs.webkit.org/show_bug.cgi?id=90275
Reviewed by Martin Robinson.
Do not initialize content sniffer and decoder in the WebProcess
because the initialization is now done in WebCore.
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
2012-07-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r120329, r121113, and r121138.
http://trac.webkit.org/changeset/120329
http://trac.webkit.org/changeset/121113
http://trac.webkit.org/changeset/121138
https://bugs.webkit.org/show_bug.cgi?id=90368
Introduced noticeable keyboard-related spins due to
synchronous IPC. (Requested by kling on #webkit).
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::didReceiveEvent):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::keyEvent):
2012-07-01 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add API to inspect a Web Intent
https://bugs.webkit.org/show_bug.cgi?id=89749
Reviewed by Kenneth Rohde Christiansen.
Add EFL API to inspect a Web Intent and emit a signal
on the view when a new intent request is made.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_intent.cpp: Added.
(_Ewk_Intent):
(ewk_intent_ref):
(ewk_intent_unref):
(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):
(ewk_intent_new):
* UIProcess/API/efl/ewk_intent.h: Added.
* UIProcess/API/efl/ewk_intent_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_intent_request_new):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp:
(didReceiveIntentForFrame):
(ewk_view_loader_client_attach):
* UIProcess/API/efl/ewk_view_private.h:
2012-06-29 Luiz Agostini <luiz.agostini@nokia.com>
[Qt][WK2] Private non-QtQuick API
https://bugs.webkit.org/show_bug.cgi?id=84532
Reviewed by Noam Rosenthal.
Adding new private non-QtQuick API. This new C++ API makes it possible
to have control over the lower levels of WebKit without going via QML.
This is a first version of the API, enough to show pages on the screen.
Many features are not implemented.
* Target.pri:
* UIProcess/API/qt/raw/qrawwebview.cpp: Added.
* UIProcess/API/qt/raw/qrawwebview_p.h: Added.
* UIProcess/API/qt/raw/qrawwebview_p_p.h: Added.
The tests for the new API are pixel tests. They use QRawWebView to load
html files and generate images, and them compare those images to the ones
in UIProcess/API/qt/tests/html/resources.
* UIProcess/API/qt/tests/html/bluesquare.html: Added.
* UIProcess/API/qt/tests/html/redsquare.html: Added.
* UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Added.
* UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Added.
* UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Added.
* UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Added.
* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Added.
2012-06-29 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Move intent delivery code from the frame to the page
https://bugs.webkit.org/show_bug.cgi?id=89974
Reviewed by Anders Carlsson.
Move the intent delivery code from the frame to the page
and add the corresponding C API for WKPage.
* UIProcess/API/C/WKPage.cpp:
(WKPageDeliverIntentToFrame):
* UIProcess/API/C/WKPage.h:
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::stopLoading):
* UIProcess/WebFrameProxy.h:
(WebKit):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::deliverIntentToFrame):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
2012-06-29 Dan Bernstein <mitz@apple.com>
Can’t get basic element info from a WKRenderObject
https://bugs.webkit.org/show_bug.cgi?id=90301
Reviewed by Anders Carlsson.
Moved the element info (tag name, id and class names) from WebRenderLayer to WebRenderObject,
and gave WebRenderLayer a reference to a (shallow) WebRenderObject. Added WKRenderObject API
for getting element info, while leaving the WKRenderLayer API in place for now for Safari.
* Shared/API/c/WKRenderLayer.cpp:
(WKRenderLayerGetRenderer): Added this wrapper.
(WKRenderLayerCopyRendererName): Changed to get the name from the renderer.
(WKRenderLayerCopyElementTagName): Changed to go through the renderer.
(WKRenderLayerCopyElementID): Ditto.
(WKRenderLayerGetElementClassNames): Ditto.
* Shared/API/c/WKRenderLayer.h: Added declaration of WKRenderLayerGetRenderer() and comments
about removing older API.
* Shared/API/c/WKRenderObject.cpp:
(WKRenderObjectCopyElementTagName): Added this wrapper.
(WKRenderObjectCopyElementID): Ditto.
(WKRenderObjectGetElementClassNames): Ditto.
* Shared/API/c/WKRenderObject.h:
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode): Removed the element info from the encoding of
WebRenderLayer, and added the renderer. Added the element info to the encoding of
WebRenderObject.
(WebKit::UserMessageDecoder::baseDecode): Updated to match the encoding changes.
* Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::WebRenderLayer): Changed to initialize the m_renderer member
variable with a WebRenderObject for the layer’s renderer, and removed the initialization of
the element-related member variables that were removed.
* Shared/WebRenderLayer.h:
(WebKit::WebRenderLayer::create): Changed to take a renderer instead of renderer and element
info.
(WebKit::WebRenderLayer::renderer): Added this getter.
(WebKit::WebRenderLayer::WebRenderLayer): Changed to take a renderer instead of renderer and
element info.
* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::create): Changed to pass true for the shouldIncludeDescendants
parameter.
(WebKit::WebRenderObject::WebRenderObject): Added a shouldIncludeDescdendants boolean
parameter. When it is false, the m_children array remains null. Added initialization of
member variables with the element’s tag name, id and class list.
* Shared/WebRenderObject.h:
(WebKit::WebRenderObject::create): Added an overload that takes a RenderObject and creates
a shallow WebRenderObject.
(WebRenderObject): Changed to take element tag name, id and class list.
(WebKit::WebRenderObject::elementTagName): Added this getter.
(WebKit::WebRenderObject::elementID): Ditto.
(WebKit::WebRenderObject::elementClassNames): Ditto.
(WebKit::WebRenderObject::WebRenderObject):
2012-06-29 Tony Chang <tony@chromium.org>
Unreviewed, rolling out r121572.
http://trac.webkit.org/changeset/121572
https://bugs.webkit.org/show_bug.cgi?id=90249
Breaks Mac build since it depends on r121547, which was rolled
out
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
* WebProcess/WebCoreSupport/WebEditorClient.h:
2012-06-29 Eric Seidel <eric@webkit.org>
Remove BUILDING_ON_LEOPARD now that no ports build on Leopard
https://bugs.webkit.org/show_bug.cgi?id=90249
Reviewed by Ryosuke Niwa.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
* WebProcess/WebCoreSupport/WebEditorClient.h:
2012-06-29 Konrad Piascik <kpiascik@rim.com>
Don't hardcode target dpi of 160 (it should be 96 on desktop)
https://bugs.webkit.org/show_bug.cgi?id=88114
Reviewed by Adam Barth.
Updated the call to computeViewportAttributes.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
(WebKit::WebPage::viewportConfigurationAsText):
2012-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r121529.
http://trac.webkit.org/changeset/121529
https://bugs.webkit.org/show_bug.cgi?id=90260
Failed to compile on Chromium WebKitMacBuilder (Requested by
keishi on #webkit).
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2012-06-29 Eric Seidel <eric@webkit.org>
Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
https://bugs.webkit.org/show_bug.cgi?id=90252
Reviewed by Ryosuke Niwa.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2012-06-28 MORITA Hajime <morrita@google.com>
[Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
https://bugs.webkit.org/show_bug.cgi?id=89732
Reviewed by Dimitri Glazkov.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-06-28 John Sullivan <sullivan@apple.com>
<https://bugs.webkit.org/show_bug.cgi?id=90216>
<rdar://problem/11766518>
Undo handling in WebKit2 is not robust against some page-closing code paths
Reviewed by Enrica Casucci.
* UIProcess/API/mac/PageClientImpl.h:
Declared public function viewWillMoveToAnotherWindow().
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
New function, calls clearAllEditCommands() to remove any Undo actions from the stack.
This guarantees that no Undo actions will be abandoned when the PageClientImpl is dealloc'ed.
* UIProcess/API/mac/WKView.mm:
(-[WKView viewWillMoveToWindow:]):
Now informs PageClientImpl via new function PageClientImpl::viewWillMoveToAnotherWindow().
2012-06-28 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add C API to inspect a Web Intent service
https://bugs.webkit.org/show_bug.cgi?id=89276
Reviewed by Anders Carlsson.
Add C API for Web intent service so that it can be queried
on client side.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKIntentServiceInfo.cpp: Added.
(WKIntentServiceInfoGetTypeID):
(WKIntentServiceInfoCopyAction):
(WKIntentServiceInfoCopyType):
(WKIntentServiceInfoCopyHref):
(WKIntentServiceInfoCopyTitle):
(WKIntentServiceInfoCopyDisposition):
* UIProcess/API/C/WKIntentServiceInfo.h: Added.
2012-06-28 Balazs Kelemen <kbalazs@webkit.org>
[Qt] KURL assert at fast/loader/opaque-base-url.html
https://bugs.webkit.org/show_bug.cgi?id=89468
Reviewed by Simon Hausmann.
Don't use the KURL(ParsedURLStringTag, const String&) constructor.
We cannot be sure that the url in encode was valid and even if it
was the message could have been corrupted.
* Shared/qt/WebCoreArgumentCodersQt.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
2012-06-27 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix the build without TEXTURE_MAPPER_GL.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
2012-06-25 Mark Hahnenberg <mhahnenberg@apple.com>
JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123
Reviewed by Geoffrey Garen.
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.
* Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):
2012-06-27 Thiago Marcos P. Santos <thiago.santos@intel.com>
REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
https://bugs.webkit.org/show_bug.cgi?id=89871
Reviewed by Simon Hausmann.
Added proper event synchronization to the test case.
* UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml:
2012-06-27 Brady Eidson <beidson@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=87513
WebBackForwardList needs an overhaul to consistently and clearly handle error conditions.
Reviewed by Darin Adler.
- We think a null entry might somehow be getting in the list so we now try to prevent that.
- We think a null entry might somehow be in the list so we now null check when indexing into m_entries.
- A lot of index math - especially tracking "no current index" - was implicit or wrong.
- Operating on a WebBackForwardList whose page has been closed is now an explicit no-op.
- The session state data reading and writing code was fragile and needed an overhaul.
- This includes adding a new V1 format of the session data that is easier to validate when reading back in.
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::~WebBackForwardList):
(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::backListCount):
(WebKit::WebBackForwardList::forwardListCount):
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::clear):
* UIProcess/WebBackForwardList.h:
(WebBackForwardList):
* UIProcess/cf/WebBackForwardListCF.cpp:
(WebKit::createEmptySessionHistoryDictionary):
(WebKit::WebBackForwardList::createCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
(WebKit::extractBackForwardListEntriesFromArray):
2012-06-27 Zan Dobersek <zandobersek@gmail.com>
[Gtk] Add support for the Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=87503
Reviewed by Carlos Garcia Campos.
Add the Gamepad feature dependencies libraries to the LIBADD
list for the libwebkitgtk2 library.
* GNUmakefile.am:
2012-06-26 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Avoid use of deprecated Qt API
Reviewed by Tor Arne Vestbø.
QGuiApplication::inputPanel() has been deprecated in favour of
inputMethod().
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::~QtWebPageEventHandler):
(WebKit::setInputPanelVisible):
(WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
(WebKit::QtWebPageEventHandler::updateTextInputState):
2012-06-26 Christophe Dumez <christophe.dumez@intel.com>
[WK2][GTK] Uninitialized variable in TextCheckerGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=89948
Reviewed by Martin Robinson.
Properly initialize didInitializeState in
TextChecker::state().
* UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::TextChecker::state):
2012-06-25 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Make it possible to build WebKit without QtWidgets
https://bugs.webkit.org/show_bug.cgi?id=78109
Reviewed by Tor Arne Vestbø.
* WebKit2.pri: Add missing WK2 specific dependencies.
* qt/MainQt.cpp: Do the QStyle initialization hook only if we are
compiling with QtWidgets support.
(WebKit):
(main):
2012-06-25 Raphael Kubo da Costa <rakuco@webkit.org>
[EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h.
https://bugs.webkit.org/show_bug.cgi?id=89804
Reviewed by Hajime Morita.
The pid_t typedef ends up coming from stdlib.h (indirectly via WTF
includes) on Mac and Linux, even though that is not mandated by
POSIX and breaks other platforms (such as FreeBSD). Fix that by
explicitly including unistd.h, which is where the typedef is
supposed to come from.
* Platform/PlatformProcessIdentifier.h:
2012-06-25 YoungTaeck Song <youngtaeck.song@samsung.com>
[WK2][Qt][EFL] Extract common code from LayerTreeHostQt
https://bugs.webkit.org/show_bug.cgi?id=89837
Reviewed by Noam Rosenthal.
Extract common code from LayerTreeHostQt to be used by both Qt and Efl.
I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator.
I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair.
Also WebGraphicsLayer moved under that directory.
* CMakeLists.txt:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Platform/CoreIPC/MessageID.h:
* Target.pri:
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::paint):
(QQuickWebPage::updatePaintNode):
(QQuickWebPagePrivate::updateSize):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
* UIProcess/DrawingAreaProxy.h:
(WebKit):
(WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy):
(DrawingAreaProxy):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage):
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
* UIProcess/DrawingAreaProxyImpl.h:
(WebKit):
(DrawingAreaProxyImpl):
* UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp.
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::updateViewport):
(WebKit::LayerTreeCoordinatorProxy::dispatchUpdate):
(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::didRenderFrame):
(WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage):
(WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage):
(WebKit::LayerTreeCoordinatorProxy::setContentsSize):
(WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
(WebKit::LayerTreeCoordinatorProxy::renderNextFrame):
(WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
(WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
* UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
(WebKit):
(LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer):
* UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in.
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
(WebKit::WebLayerTreeRenderer::updateViewport):
(WebKit::WebLayerTreeRenderer::renderNextFrame):
(WebKit::WebLayerTreeRenderer::purgeBackingStores):
(WebKit::WebLayerTreeRenderer::detach):
* UIProcess/WebLayerTreeRenderer.h:
(WebKit):
(WebLayerTreeRenderer):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
* WebKit2.pri:
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp.
(WebKit):
(WebKit::LayerTreeCoordinator::create):
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled):
(WebKit::LayerTreeCoordinator::scheduleLayerFlush):
(WebKit::LayerTreeCoordinator::cancelPendingLayerFlush):
(WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::setRootCompositingLayer):
(WebKit::LayerTreeCoordinator::invalidate):
(WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay):
(WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::sizeDidChange):
(WebKit::LayerTreeCoordinator::didInstallPageOverlay):
(WebKit::LayerTreeCoordinator::didUninstallPageOverlay):
(WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay):
(WebKit::LayerTreeCoordinator::setPageOverlayOpacity):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::syncLayerState):
(WebKit::LayerTreeCoordinator::syncLayerChildren):
(WebKit::LayerTreeCoordinator::syncCanvas):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit::LayerTreeCoordinator::attachLayer):
(WebKit::LayerTreeCoordinator::detachLayer):
(WebKit::updateOffsetFromViewportForSelf):
(WebKit::updateOffsetFromViewportForLayer):
(WebKit::LayerTreeCoordinator::syncFixedLayers):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::layerFlushTimerFired):
(WebKit::LayerTreeCoordinator::createPageOverlayLayer):
(WebKit::LayerTreeCoordinator::destroyPageOverlayLayer):
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
(WebKit::LayerTreeCoordinator::notifyAnimationStarted):
(WebKit::LayerTreeCoordinator::notifySyncRequired):
(WebKit::LayerTreeCoordinator::paintContents):
(WebKit::LayerTreeCoordinator::showDebugBorders):
(WebKit::LayerTreeCoordinator::showRepaintCounter):
(WebKit::LayerTreeHost::supportsAcceleratedCompositing):
(WebKit::LayerTreeCoordinator::createTile):
(WebKit::LayerTreeCoordinator::updateTile):
(WebKit::LayerTreeCoordinator::removeTile):
(WebKit::LayerTreeCoordinator::visibleContentsRect):
(WebKit::LayerTreeCoordinator::setVisibleContentsRect):
(WebKit::LayerTreeCoordinator::renderNextFrame):
(WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
(WebKit::LayerTreeCoordinator::purgeBackingStores):
(WebKit::LayerTreeCoordinator::beginContentUpdate):
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h.
(WebKit):
(LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::layerTreeContext):
(WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting):
(WebKit::LayerTreeCoordinator::pauseRendering):
(WebKit::LayerTreeCoordinator::resumeRendering):
(WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange):
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in.
* WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp.
(WebCore):
(WebCore::layerByIDMap):
(WebCore::WebGraphicsLayer::layerByID):
(WebCore::toWebLayerID):
(WebCore::WebGraphicsLayer::didChangeLayerState):
(WebCore::WebGraphicsLayer::didChangeChildren):
(WebCore::WebGraphicsLayer::didChangeFilters):
(WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::WebGraphicsLayer::didChangeGeometry):
(WebCore::WebGraphicsLayer::WebGraphicsLayer):
(WebCore::WebGraphicsLayer::~WebGraphicsLayer):
(WebCore::WebGraphicsLayer::willBeDestroyed):
(WebCore::WebGraphicsLayer::setChildren):
(WebCore::WebGraphicsLayer::addChild):
(WebCore::WebGraphicsLayer::addChildAtIndex):
(WebCore::WebGraphicsLayer::addChildAbove):
(WebCore::WebGraphicsLayer::addChildBelow):
(WebCore::WebGraphicsLayer::replaceChild):
(WebCore::WebGraphicsLayer::removeFromParent):
(WebCore::WebGraphicsLayer::setPosition):
(WebCore::WebGraphicsLayer::setAnchorPoint):
(WebCore::WebGraphicsLayer::setSize):
(WebCore::WebGraphicsLayer::setTransform):
(WebCore::WebGraphicsLayer::setChildrenTransform):
(WebCore::WebGraphicsLayer::setPreserves3D):
(WebCore::WebGraphicsLayer::setMasksToBounds):
(WebCore::WebGraphicsLayer::setDrawsContent):
(WebCore::WebGraphicsLayer::setContentsOpaque):
(WebCore::WebGraphicsLayer::setBackfaceVisibility):
(WebCore::WebGraphicsLayer::setOpacity):
(WebCore::WebGraphicsLayer::setContentsRect):
(WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
(WebCore::WebGraphicsLayer::setContentsToCanvas):
(WebCore::WebGraphicsLayer::setFilters):
(WebCore::WebGraphicsLayer::setContentsToImage):
(WebCore::WebGraphicsLayer::setMaskLayer):
(WebCore::WebGraphicsLayer::setReplicatedByLayer):
(WebCore::WebGraphicsLayer::setNeedsDisplay):
(WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
(WebCore::WebGraphicsLayer::id):
(WebCore::WebGraphicsLayer::syncCompositingState):
(WebCore::toWebGraphicsLayer):
(WebCore::WebGraphicsLayer::syncChildren):
(WebCore::WebGraphicsLayer::syncFilters):
(WebCore::WebGraphicsLayer::syncLayerState):
(WebCore::WebGraphicsLayer::syncCanvas):
(WebCore::WebGraphicsLayer::ensureImageBackingStore):
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
(WebCore::WebGraphicsLayer::setRootLayer):
(WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::WebGraphicsLayer::setContentsScale):
(WebCore::WebGraphicsLayer::effectiveContentsScale):
(WebCore::WebGraphicsLayer::adjustContentsScale):
(WebCore::WebGraphicsLayer::createBackingStore):
(WebCore::WebGraphicsLayer::tiledBackingStorePaint):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
(WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
(WebCore::WebGraphicsLayer::shouldUseTiledBackingStore):
(WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
(WebCore::WebGraphicsLayer::beginContentUpdate):
(WebCore::WebGraphicsLayer::createTile):
(WebCore::WebGraphicsLayer::updateTile):
(WebCore::WebGraphicsLayer::removeTile):
(WebCore::WebGraphicsLayer::updateContentBuffers):
(WebCore::WebGraphicsLayer::purgeBackingStores):
(WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
(WebCore::WebGraphicsLayer::adjustVisibleRect):
(WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
(WebCore::createWebGraphicsLayer):
(WebCore::WebGraphicsLayer::initFactory):
(WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
* WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h.
(WebCore):
(WebKit):
(WebGraphicsLayerClient):
(WebGraphicsLayer):
(WebCore::WebGraphicsLayer::image):
(WebCore::WebGraphicsLayer::fixedToViewport):
(WebCore::WebGraphicsLayer::setFixedToViewport):
(WebCore::WebGraphicsLayer::maskTarget):
(WebCore::WebGraphicsLayer::setMaskTarget):
* WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
2012-06-25 Anders Carlsson <andersca@apple.com>
[Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert
https://bugs.webkit.org/show_bug.cgi?id=89611
<rdar://problem/11714023>
Reviewed by Sam Weinig.
Make sure to send the response along to the plug-in in the case where the stream was empty.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::finishedLoading):
2012-06-25 YoungTaeck Song <youngtaeck.song@samsung.com>
[WK2][Qt][EFL] Move LayerBackingStore into common directory
https://bugs.webkit.org/show_bug.cgi?id=89838
Reviewed by Noam Rosenthal.
Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl.
* Target.pri:
* UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp.
(WebKit):
(WebKit::LayerBackingStoreTile::swapBuffers):
(WebKit::LayerBackingStoreTile::setBackBuffer):
(WebKit::LayerBackingStore::createTile):
(WebKit::LayerBackingStore::removeTile):
(WebKit::LayerBackingStore::updateTile):
(WebKit::LayerBackingStore::texture):
(WebKit::LayerBackingStore::paintToTextureMapper):
(WebKit::LayerBackingStore::commitTileOperations):
* UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h.
(WebKit):
(LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::scale):
(LayerBackingStore):
(WebKit::LayerBackingStore::create):
(WebKit::LayerBackingStore::LayerBackingStore):
2012-06-25 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning
https://bugs.webkit.org/show_bug.cgi?id=89858
Reviewed by Xan Lopez.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewPermissionRequests): Make runtime warnings non-fatal
for test /webkit2/WebKitWebView/permission-requests.
2012-06-25 Huang Dongsung <luxtella@company100.net>
[GTK] Remove unused code in LayerTreeHostGtk.
https://bugs.webkit.org/show_bug.cgi?id=89854
LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have
virtual float deviceScaleFactor() const;
Reviewed by Martin Robinson.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
2012-06-24 Andreas Kling <kling@webkit.org>
REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
<rdar://problem/11686974>
<http://webkit.org/b/89659>
Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent()
rather than didReceiveEvent().
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::didReceiveKeyEvent):
2012-06-24 YoungTaeck Song <youngtaeck.song@samsung.com>
[WK2][Qt][EFL] Modify Qt specific code to common code
https://bugs.webkit.org/show_bug.cgi?id=89839
Reviewed by Noam Rosenthal.
Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl.
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
2012-06-24 Simon Fraser <simon.fraser@apple.com>
Rename isPositioned to isOutOfFlowPositioned for clarity
https://bugs.webkit.org/show_bug.cgi?id=89836
Reviewed by Antti Koivisto.
RenderObject and RenderStyle had an isPositioned() method that was
confusing, because it excluded relative positioning. Rename to
isOutOfFlowPositioned(), which makes it clearer that it only applies
to absolute and fixed positioning.
Simple rename; no behavior change.
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::updateOffsetFromViewportForSelf):
2012-06-24 Andreas Kling <kling@webkit.org>
REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
<rdar://problem/11686974>
<http://webkit.org/b/89659>
Reviewed by Sam Weinig.
Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply,
use proper synchronous messages. This makes the WebProcess block while the UIProcess handles
the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before
a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that
invalidates the frame ID passed to DecidePolicyForNavigationAction.
This is a speculative fire-fighting fix.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveKeyEvent):
(WebKit::WebPageProxy::didReceiveEvent):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::keyEvent):
2012-06-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r121058.
http://trac.webkit.org/changeset/121058
https://bugs.webkit.org/show_bug.cgi?id=89809
Patch causes plugins tests to crash in GTK debug builds
(Requested by zdobersek on #webkit).
* Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):
2012-06-23 Zan Dobersek <zandobersek@gmail.com>
Unreviewed build fix for GTK's WebKit2 build after r121093.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewPopulateContextMenu):
2012-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix several GTK+ unit tests.
GTK+ unit tests using WebViewTest::wait() started to fail due to a
bug introduced in r121093.
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::wait): Use this instead of m_mainLoop as user data
for the idle callback.
2012-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add ContextMenu API to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=81011
Reviewed by Martin Robinson.
Add WebKitWebView::context-menu signal and WebKitContextMenu and
WebKitContextMenuItem objects to customize the default menu or
buils new menus.
* GNUmakefile.list.am: Add new files to destination.
* UIProcess/API/gtk/WebKitContextMenu.cpp: Added.
(webkitContextMenuFinalize):
(webkit_context_menu_init):
(webkit_context_menu_class_init):
(webkitContextMenuPopulate): Populate the given vector of
ContextMenuItems with the WebKitContextMenu items releasing the
items added to the vector.
(webkitContextMenuCreate): Create a new WebKitContextMenu for the
given WKArrayRef of WKContextMenuItemRef.
(webkitContextMenuSetParentItem): Set the parent menu item of the
menu. Used when a menu is added as a submenu of a menu item.
(webkitContextMenuGetParentItem): Return the parent menu item of
the menu.
(webkit_context_menu_new): Create a new WebKitContextMenu.
(webkit_context_menu_new_with_items): Create a new
WebKitContextMenu using the given list of WebKitContextMenuItem.
(webkit_context_menu_prepend): Add item at the beginning.
(webkit_context_menu_append): Add item at the end.
(webkit_context_menu_insert): Insert item at a random position.
(webkit_context_menu_move_item): Move an existing item to a new
position.
(webkit_context_menu_get_items): Get the list of items.
(webkit_context_menu_get_n_items): Get the number of items.
(webkit_context_menu_first): Get the first item.
(webkit_context_menu_last): Get the last item.
(webkit_context_menu_get_item_at_position): Get the item at the
given position.
(webkit_context_menu_remove): Remove the given item.
(webkit_context_menu_remove_all): Remove all items.
* UIProcess/API/gtk/WebKitContextMenu.h: Added.
* UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added.
(webkitContextMenuActionIsCheckable): Check if the given stock
action is a toggle action.
(webkitContextMenuActionGetActionTag): Get the WebCore
ContextMenuAction corresponding to the given stock action.
(webkitContextMenuActionGetForContextMenuItem): Get the stock
action corresponding to the given WebCore ContextMenuAction.
(webkitContextMenuActionGetLabel): Get the label string of the
given stock action.
* UIProcess/API/gtk/WebKitContextMenuActions.h: Added.
* UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added.
* UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added.
(webkitContextMenuItemFinalize):
(webkit_context_menu_item_init):
(webkit_context_menu_item_class_init):
(checkAndWarnIfMenuHasParentItem): Check whether the given menu
is already inside another menu showing a warning in such case.
(webkitContextMenuItemSetSubMenu): Set the submenu of a menu item,
checking that the menu is not part of another menu and setting the
item as the parent of the submenu.
(webkitContextMenuItemCreate): Create a new WebKitContextMenuItem
for the given WKContextMenuItemRef.
(webkitContextMenuItemCreateForGtkItem): Create a new
WebKitContextMenuItem using the given GtkMenuItem.
(webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given
GtkMenu as submenu of the item. This is used only to add Input
Methods submenu that is created by GTK.
(webkitContextMenuItemRelease): Release the WebCore
ContextMenuItem associated to the item.
(webkit_context_menu_item_new): Create a new WebKitContextMenuItem
for the given GtkAction.
(webkit_context_menu_item_new_from_stock_action): Create a new
WebKitContextMenuItem for a stock action.
(webkit_context_menu_item_new_from_stock_action_with_label):
Create a new WebKitContextMenuItem for a stock action using a
custom label.
(webkit_context_menu_item_new_with_submenu): Create a new
WebKitContextMenuItem with a submenu.
(webkit_context_menu_item_new_separator): Create a new separator
menu item.
(webkit_context_menu_item_get_action): Get the GtkAction of the item.
(webkit_context_menu_item_get_stock_action): Get the stock action
of the item.
(webkit_context_menu_item_is_separator): Whether item is a separator.
(webkit_context_menu_item_set_submenu): Set or replace the
submenu of the item.
(webkit_context_menu_item_get_submenu): Get the submenu of the item.
* UIProcess/API/gtk/WebKitContextMenuItem.h: Added.
* UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added.
* UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added.
* UIProcess/API/gtk/WebKitDefines.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init): Add WebKitWebView::context-menu signal.
(getUnicodeMenuItemPosition): Helper function that returns the
position of the unicode menu item in the proposed context menu.
(webkitWebViewCreateAndAppendInputMethodsMenuItem): Use
WebKitContextMenu API to add the input methods submenu to the
default context menu.
(webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for
the default context menu and emit WebKitWebView::context-menu
signal. Then populate the context menu proxy with the resulting
WebKitContextMenu.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseButtonPressEvent): In case of right click save
the event to be used by context menu signal.
(webkitWebViewBaseTakeContextMenuEvent): Return and release the
saved button event.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
WebKitContextMenu and WebKitContextMenuItem.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add
webkit_context_menu_get_type and webkit_context_menu_item_get_type.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu.
* UIProcess/API/gtk/tests/TestContextMenu.cpp: Added.
(testContextMenuDefaultMenu):
(testContextMenuPopulateMenu):
(testContextMenuCustomMenu):
(testContextMenuDisableMenu):
(testContextMenuSubMenu):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/TestMain.h:
(Test::addLogFatalFlag): Add a log level flag to the mask of flags
causing the program to abort.
(Test::removeLogFatalFlag): Remove a log level flag to the mask of
flags causing the program to abort.
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::quitMainLoop): Finish the main loop.
(WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish
the main loop when all pending events have been processed.
(quitMainLoopIdleCallback):
(WebViewTest::wait):
* UIProcess/API/gtk/tests/WebViewTest.h:
* UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h,
WebKitContextMenuItem.h and WebKitContextMenuActions.h.
* UIProcess/API/gtk/webkit2marshal.list:
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the
popup menu to the view widget before showing it.
2012-06-22 Alexandru Chiculita <achicu@adobe.com>
[CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
https://bugs.webkit.org/show_bug.cgi?id=89781
Reviewed by Dean Jackson.
Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
* Configurations/FeatureDefines.xcconfig:
2012-06-22 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Support keyboard event
https://bugs.webkit.org/show_bug.cgi?id=89268
Reviewed by Chang Shu.
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
(WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.
2012-06-20 Mark Hahnenberg <mhahnenberg@apple.com>
JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123
Reviewed by Gavin Barraclough.
Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.
* Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInMainFrame):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):
2012-06-22 Jocelyn Turcotte <turcotte.j@gmail.com>
[Qt] Fix the remote inspector loading problems on Mac
https://bugs.webkit.org/show_bug.cgi?id=89747
Reviewed by Simon Hausmann.
Reverse the creation order of the inter-dependent WebSocketServerConnection
and SocketStreamHandle to make sure that the later has a client properly
set on construction.
This is to work around the assert on m_state in SocketStreamHandle::setClient.
* UIProcess/InspectorServer/WebSocketServer.cpp:
(WebKit::WebSocketServer::didAcceptConnection):
* UIProcess/InspectorServer/WebSocketServer.h:
(WebKit::WebSocketServer::client):
(WebSocketServer):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::setSocketHandle):
(WebKit):
* UIProcess/InspectorServer/WebSocketServerConnection.h:
(WebSocketServerConnection):
* UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:
(WebKit::QtTcpServerHandler::handleNewConnection):
2012-06-22 Sergio Villar Senin <svillar@igalia.com>
[WK2] FindController::hideFindUI should unmark highlighted text matches
https://bugs.webkit.org/show_bug.cgi?id=77747
Reviewed by Carlos Garcia Campos.
Unmark all text matches whenever FindController::hideFindUI is
called to allow callers using the ShowHighlight find option to
remove highlighting.
This patch enables a unit test for the WebKitFindController
previously guarded by a #if(0) after r109222.
* UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
(testFindControllerHide):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::hideFindUI):
2012-06-21 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add C API to inspect a Web Intent
https://bugs.webkit.org/show_bug.cgi?id=89275
Reviewed by Anders Carlsson.
Add C API for Web Intent so that it can be queried
on client side.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
(WKIntentDataGetTypeID):
(WKIntentDataCopyAction):
(WKIntentDataCopyType):
(WKIntentDataCopyService):
(WKIntentDataCopySuggestions):
(WKIntentDataCopyExtra):
(WKIntentDataCopyExtras):
* UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
* UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::suggestions):
(WebKit):
(WebKit::WebIntentData::extra):
(WebKit::WebIntentData::extras):
* UIProcess/WebIntentData.h:
(WebIntentData):
2012-06-21 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Properly encode/decode service in IntentData
https://bugs.webkit.org/show_bug.cgi?id=89460
Reviewed by Gustavo Noronha Silva.
Update IntentData::encode() and IntentData::decode()
so that the "service" member is properly encoded
and decoded.
* Shared/IntentData.cpp:
(WebKit::IntentData::encode):
(WebKit::IntentData::decode):
2012-06-21 Ryuan Choi <ryuan.choi@gmail.com>
[EFL][WK2] Make WebKit2/Efl headers and resources installable.
https://bugs.webkit.org/show_bug.cgi?id=88207
Reviewed by Chang Shu.
* CMakeLists.txt: Install WebProcess.
* PlatformEfl.cmake: Generate ewebkit2.pc and install it.
* efl/ewebkit2.pc.in: Added.
2012-06-21 Ryuan Choi <ryuan.choi@samsung.com>
[EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object.
https://bugs.webkit.org/show_bug.cgi?id=88935
Reviewed by Chang Shu.
Add WKViewEfl to support WTR/Efl.
* PlatformEfl.cmake:
* Shared/API/c/WKBase.h:
* Shared/API/c/efl/WKBaseEfl.h: Added.
* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/efl/WKAPICastEfl.h: Added.
(WebKit):
* UIProcess/API/C/efl/WKView.cpp: Added.
(WKViewCreate):
(WKViewGetPage):
* UIProcess/API/C/efl/WKView.h: Added.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_page_get):
* UIProcess/API/efl/ewk_view_private.h:
2012-06-21 Thiago Marcos P. Santos <thiago.santos@intel.com>
[Qt] API tests for ColorChooser
https://bugs.webkit.org/show_bug.cgi?id=88101
Reviewed by Kenneth Rohde Christiansen.
The test uses the value sanitization to detect if the feature is
enabled or disabled and will just pass when disabled.
* UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added.
2012-06-21 Thiago Marcos P. Santos <thiago.santos@intel.com>
[WK2][Qt] Color chooser API missing
https://bugs.webkit.org/show_bug.cgi?id=87749
Reviewed by Kenneth Rohde Christiansen.
Added public experimental API for ColorChooser. This will
allow the browser to define a custom dialog for selecting
color when a input field of type "color" get focus.
The current implementation gives a model to the QML Component
that has methods for canceling a request, selecting a color
and fetching what is the current value of the HTML input.
* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewExperimental::colorChooser):
(QQuickWebViewExperimental::setColorChooser):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/qt/QtPageClient.cpp:
(WebKit::QtPageClient::createColorChooserProxy):
* UIProcess/qt/WebColorChooserProxyQt.cpp: Added.
(WebKit):
(ColorChooserContextObject):
(WebKit::ColorChooserContextObject::ColorChooserContextObject):
(WebKit::ColorChooserContextObject::currentColor):
(WebKit::ColorChooserContextObject::accept):
(WebKit::ColorChooserContextObject::reject):
(WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::createItem):
(WebKit::WebColorChooserProxyQt::createContext):
(WebKit::WebColorChooserProxyQt::setSelectedColor):
(WebKit::WebColorChooserProxyQt::notifyColorSelected):
(WebKit::WebColorChooserProxyQt::endChooser):
* UIProcess/qt/WebColorChooserProxyQt.h: Added.
(WebCore):
(WebKit):
(WebColorChooserProxyQt):
(WebKit::WebColorChooserProxyQt::create):
2012-06-21 Mario Sanchez Prada <msanchez@igalia.com>
[GTK] Add support for window.showModalDialog in WebKit2GTK+
https://bugs.webkit.org/show_bug.cgi?id=79500
Reviewed by Carlos Garcia Campos.
Implement runModal in WebKitUIClient to make the WebKitWebView
emit a 'run-as-modal' signal when requested, creating a new
mainloop there to block user interaction with the original window
while the modal dialog is showing.
* UIProcess/API/gtk/WebKitUIClient.cpp:
(runModal): Call to the new webkitWebViewRunAsModalPage function.
(attachUIClientToView): Add runModal.
* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate): Add an atribute for a new main loop.
(webkitWebViewFinalize): Make sure the main loop for main dialogs,
if any, is stopped if it was still running.
(webkit_web_view_class_init): Declare new signal 'run-as-modal'.
(webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if
handled, create and run a new main loop.
* UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass): New handler for the 'run-as-modal' signal.
* UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage.
Allow setting and getting the value of WebPage's canRunModal
attribute in the WebProcess from the UIProcess after the creation
of a WebPage, to allow using it from WebKitWebView to allow the
client application to decide whether to allow create modal
dialogs, which would result in launching an additional nested
event loop in the web process, after creating the dialog.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Initialize the new
m_canRunModal attribute, to cache the current status of the
WebPage in the WebProcess.
(WebKit::WebPageProxy::initializeUIClient): Call the new function
setCanRunModal, instead of manually sending the SetCanRunModal message.
(WebKit::WebPageProxy::creationParameters): Use m_canRunModal
instead of m_uiClient.canRunModal when preparing the parameters.
(WebKit::WebPageProxy::setCanRunModal): New public function, it
sets the value of m_canRunModal and sends a message to the Web
process for updating the WebPage, whenever possible.
(WebKit::WebPageProxy::canRunModal): New public function, returns
the value of the m_canRunModal attribute.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Added new public functions and private attribute.
New property in WebKitSettings to be able to decide whether it is
allowed to create and run new child webviews as modal dialogs.
* UIProcess/API/gtk/WebKitSettings.cpp:
(_WebKitSettingsPrivate): New attribute allowModalDialogs.
(webKitSettingsSetProperty): Handle the new property.
(webKitSettingsGetProperty): Ditto.
(webkit_settings_class_init): Install the new property.
(webkitSettingsAttachSettingsToPage): Make sure the WebPage is
initialized with the value of the new property.
(webkit_settings_set_allow_modal_dialogs): New setter.
(webkit_settings_get_allow_modal_dialogs): New getter.
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors.
Connect to the 'notify::allow-modal-dialogs' signal from
WebKitSettings to ensure that canRunModal property of the WebPage
is kept up to date. Ensure that signal handlers for monitoring
settings are disconnected when the webview is finalized.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSetSettings): Connect to the new signal
'notify::allow-modal-dialogs', from WebKitSettings.
(allowModalDialogsChanged): Callback to update WebPage's
canRunModal property when updated through WebKitSettings.
(webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal
handlers for monitoring WebKitSettings properties.
(webkitWebViewFinalize): Ensure signal handlers are disconnected.
(webkit_web_view_set_settings): Ditto.
* UIProcess/API/gtk/WebKitWebView.h:
Add new unit tests to check the 'run-as-modal' signal is emitted
only when the new property in WebKitSettings is set to TRUE.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewAllowModalDialogs): New unit test to check that modal
dialogs are properly created from JavaScript when allowed.
(testWebViewDisallowModalDialogs): New unit test to check that
it's not possible to create modal dialogs when not allowed.
(beforeAll): Add the new unit test.
2012-06-20 Thiago Marcos P. Santos <thiago.santos@intel.com>
[WK2] Color chooser API missing
https://bugs.webkit.org/show_bug.cgi?id=87495
Reviewed by Andreas Kling.
Added ColorChooser API to WebKit2. This API allows the
embedder to define a custom color picker for <input type="color">.
Only one ColorChooser can be active for a page at a time. Although
the implementation doesn't not assume a modal dialog, no other
color chooser will be created until the active one is closed.
Also added stubs for all platforms, so it wont break the build when
enabling color chooser, even though they don't have the backend
implemented yet.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit):
(WebKit::PageClientImpl::createColorChooserProxy):
* UIProcess/API/efl/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit):
(WebKit::PageClientImpl::createColorChooserProxy):
* UIProcess/API/gtk/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit):
(WebKit::PageClientImpl::createColorChooserProxy):
* UIProcess/PageClient.h:
(WebKit):
(PageClient):
* UIProcess/WebColorChooserProxy.h: Added.
(WebCore):
(WebKit):
(WebColorChooserProxy):
(Client):
(WebKit::WebColorChooserProxy::Client::~Client):
(WebKit::WebColorChooserProxy::~WebColorChooserProxy):
(WebKit::WebColorChooserProxy::invalidate):
(WebKit::WebColorChooserProxy::WebColorChooserProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit):
(WebKit::WebPageProxy::showColorChooser):
(WebKit::WebPageProxy::setColorChooserColor):
(WebKit::WebPageProxy::endColorChooser):
(WebKit::WebPageProxy::didChooseColor):
(WebKit::WebPageProxy::didEndColorChooser):
(WebKit::WebPageProxy::processDidCrash):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/qt/QtPageClient.cpp:
(WebKit):
(WebKit::QtPageClient::createColorChooserProxy):
* UIProcess/qt/QtPageClient.h:
(QtPageClient):
* UIProcess/win/WebView.cpp:
(WebKit):
(WebKit::WebView::createColorChooserProxy):
* UIProcess/win/WebView.h:
(WebView):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createColorChooser):
* WebProcess/WebCoreSupport/WebColorChooser.cpp: Added.
(WebKit):
(WebKit::WebColorChooser::WebColorChooser):
(WebKit::WebColorChooser::~WebColorChooser):
(WebKit::WebColorChooser::didChooseColor):
(WebKit::WebColorChooser::didEndChooser):
(WebKit::WebColorChooser::disconnectFromPage):
(WebKit::WebColorChooser::setSelectedColor):
(WebKit::WebColorChooser::endChooser):
* WebProcess/WebCoreSupport/WebColorChooser.h: Added.
(WebCore):
(WebKit):
(WebColorChooser):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::close):
(WebKit):
(WebKit::WebPage::setActiveColorChooser):
(WebKit::WebPage::didEndColorChooser):
(WebKit::WebPage::didChooseColor):
* WebProcess/WebPage/WebPage.h:
(WebKit):
(WebPage):
(WebKit::WebPage::activeColorChooser):
* WebProcess/WebPage/WebPage.messages.in:
* win/WebKit2.vcproj:
2012-06-20 Brady Eidson <beidson@apple.com>
<rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
showModalDialog message handling is flaky in WebKit2
Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
the functions an inner run-loop - such as we see with running a modal dialog - does not have
a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.
By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
where it left off if RunLoop::performWork is re-entered.
To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
its source before entering the modal run loop so our RunLoop is woken up.
Reviewed by Darin Adler.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up
before it enters the modal dialog run loop.
* Platform/CoreIPC/Connection.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.
2012-06-20 Julien Chaffraix <jchaffraix@webkit.org>
Use IntSize in RenderLayer to represent scroll offsets
https://bugs.webkit.org/show_bug.cgi?id=89154
Reviewed by Eric Seidel.
* WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::WebPage::gestureDidScroll):
Updated to pass an IntSize to scrollByRecursively.
2012-06-20 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Implement Web Intent delivery
https://bugs.webkit.org/show_bug.cgi?id=88989
Reviewed by Anders Carlsson.
Add a deliverIntent() method to the WebFrame so that
Web intents can be delivered once matched to a
specific service.
* UIProcess/WebFrameProxy.cpp:
(WebKit):
(WebKit::WebFrameProxy::deliverIntent):
* UIProcess/WebFrameProxy.h:
(WebKit):
(WebFrameProxy):
* UIProcess/WebIntentData.h:
(WebKit::WebIntentData::store):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit):
(WebKit::WebFrame::deliverIntent):
* WebProcess/WebPage/WebFrame.h:
(WebKit):
(WebFrame):
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::deliverIntentToFrame):
* WebProcess/WebPage/WebPage.h:
(WebKit):
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
2012-06-20 Alexis Menard <alexis.menard@openbossa.org>
REGRESSION (120705) : LayerTreeHostQt asserts in debug.
https://bugs.webkit.org/show_bug.cgi?id=89487
Reviewed by Noam Rosenthal.
We try to call createHandle twice on the same handle when the
first matching atlas is full. This patch solved the problem by
moving the createHandle call inside UpdateAtlas and call createHandle
only when the atlas is not full. We can also remove the surface()
getter as it is not used anymore.
* WebProcess/WebPage/UpdateAtlas.cpp:
(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
* WebProcess/WebPage/UpdateAtlas.h:
(UpdateAtlas):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::beginContentUpdate):
2012-06-19 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][Regression] Build break after r120786
https://bugs.webkit.org/show_bug.cgi?id=89549
Unreviewed build fix for Efl port.
* CMakeLists.txt: Added disassembler in includes.
2012-06-19 Dan Bernstein <mitz@apple.com>
WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction
https://bugs.webkit.org/show_bug.cgi?id=89394
Reviewed by Darin Adler.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new
Pagination::Mode values.
(WKPageGetPaginationMode): Similarly, in the opposite direction.
* UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify
an axis and a direction along that axis.
* UIProcess/API/mac/WKBrowsingContextController.mm:
(-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values.
(-[WKBrowsingContextController paginationMode]): Ditto.
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced
WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along
that axis.
2012-06-19 Alexis Menard <alexis.menard@openbossa.org>
[Qt] Create an extra atlas when there is no available buffer space.
https://bugs.webkit.org/show_bug.cgi?id=89012
Reviewed by Noam Rosenthal.
In case of the desktop mode when we scroll the view all the tiles
are updated. It can happen that there no available buffer space for
the currently used atlas(especially when scrolling fast). In that case
we can create a new one. One future improvement could be to make a timer and
delete this extra atlas when it is not used.
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::beginContentUpdateInAtlas):
(WebKit::LayerTreeHostQt::beginContentUpdate):
* WebProcess/WebPage/qt/LayerTreeHostQt.h:
(LayerTreeHostQt):
2012-06-19 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer.
https://bugs.webkit.org/show_bug.cgi?id=89449
Reviewed by Simon Hausmann.
* UIProcess/API/qt/qquicknetworkreply_p.h:
2012-06-19 Mike West <mkwst@chromium.org>
Introduce ENABLE_CSP_NEXT configuration flag.
https://bugs.webkit.org/show_bug.cgi?id=89300
Reviewed by Adam Barth.
The 1.0 draft of the Content Security Policy spec is just about to
move to Last Call. We'll hide work on the upcoming 1.1 spec behind
this ENABLE flag, disabled by default.
Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
* Configurations/FeatureDefines.xcconfig:
2012-06-19 Mike West <mkwst@chromium.org>
Add a scheme registry for bypassing Content Security Policy.
https://bugs.webkit.org/show_bug.cgi?id=89373
Reviewed by Adam Barth.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-06-16 Adam Barth <abarth@webkit.org>
Settings::devicePixelRatio doesn't do anything and is confusing
https://bugs.webkit.org/show_bug.cgi?id=89272
Reviewed by James Robinson.
* Shared/WebPreferencesStore.h:
(WebKit):
- Remove boilerplate code for the setting.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::devicePixelRatio):
(QQuickWebViewExperimental::setDevicePixelRatio):
- Change these functions to get and set the real device scale factor.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
- Use the real device scale factor for the viewport calculation.
(WebKit::WebPage::updatePreferences):
- Remove boilerplate code for the setting.
2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add support for explicit intents
https://bugs.webkit.org/show_bug.cgi?id=89206
Reviewed by Kenneth Rohde Christiansen.
Expose the service URL of a Web Intent. This URL
is set for explicit intents.
* Shared/IntentData.h:
(IntentData):
* UIProcess/WebIntentData.h:
(WebKit::WebIntentData::service):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):
2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add title support to Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=89095
Reviewed by Kenneth Rohde Christiansen.
Add a method to get the title of the main frame in
an Ewk_View. A "title,changed" signal is now emitted
on the view to notify clients that the main frame
title was changed.
* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_del):
(ewk_view_base_add):
(ewk_view_title_get):
(ewk_view_title_changed):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_loader_client.cpp: Added.
(didReceiveTitleForFrame):
(ewk_view_loader_client_attach):
* UIProcess/API/efl/ewk_view_loader_client_private.h: Added.
* UIProcess/API/efl/ewk_view_private.h:
2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
[WK2][EFL] Implement navigation back/forward in Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=89173
Reviewed by Kenneth Rohde Christiansen.
Add API for Ewk_View to ask the main frame to navigate backwards
or forwards in history. Also add API to query if such navigation
is possible.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_back):
(ewk_view_forward):
(ewk_view_back_possible):
(ewk_view_forward_possible):
* UIProcess/API/efl/ewk_view.h:
2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Implement reload / stop in Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=89168
Reviewed by Kenneth Rohde Christiansen.
Add API on the Ewk_View to reload the main frame
and to stop the current load.
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_reload):
(ewk_view_stop):
* UIProcess/API/efl/ewk_view.h:
2012-06-14 Kent Tamura <tkent@chromium.org>
Validate form state strings in FormController::setStateForNewFormElements()
https://bugs.webkit.org/show_bug.cgi?id=88768
Reviewed by Hajime Morita.
* win/WebKit2.def: Expose some symbols used by Internals.cpp.
* win/WebKit2CFLite.def: ditto.
2012-06-14 Tim Horton <timothy_horton@apple.com>
DrawingArea: Painting is being resumed while the view is not visible
https://bugs.webkit.org/show_bug.cgi?id=88940
<rdar://problem/11652545>
Reviewed by Dean Jackson.
Using requestAnimationFrame and the fullscreen API on a DrawingArea-backed window would cause
rAF to permanently suspend animations after entering full-screen mode, because of the following:
0. JavaScript causes fullscreen transition to start.
1. Painting (and rAF) are suspended.
2. The page changes size.
a. DrawingAreaProxyImpl::sizeDidChange() calls DrawingAreaImpl::updateBackingStoreState, which calls DrawingAreaImpl::resumePainting.
b. DrawingAreaImpl::resumePainting resumes painting, but does *not* resume rAF, because windowIsVisible is (legitimately) false.
3. The view becomes visible, windowIsVisible is updated to true.
4. visibilityDidChange() calls resumePainting again, but this time it early exits because painting is not suspended.
Notice that because of the early exit in 4, rAF is never resumed.
To solve this and prevent any further bugs caused by these unnecessary calls to resume/suspendPainting,
temporarily stop sending SuspendPainting/ResumePainting messages from DrawingAreaProxyImpl::visibilityDidChange
during the window animations that occur while entering and exiting full-screen.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView setAutomaticallySuspendAndResumePainting:]):
(-[WKView automaticallySuspendAndResumePainting]):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::visibilityDidChange):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::setShouldSuspendAndResumePainting):
(WebKit::WebPageProxy::shouldSuspendAndResumePainting):
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2012-06-14 Jia Pu <jpu@apple.com>
Mark text with text alternative with blue underline.
https://bugs.webkit.org/show_bug.cgi?id=83047
Reviewed by Enrica Casucci.
Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient,
and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
alternatives attached to the input string.
* Shared/API/c/WKContextMenuItemTypes.h:
* Shared/API/c/WKSharedAPICast.h:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::pageClosed):
(WebKit::PageClientImpl::addDictationAlternatives):
(WebKit::PageClientImpl::removeDictationAlternatives):
(WebKit::PageClientImpl::showDictationAlternativeUI):
(WebKit::PageClientImpl::dictationAlternatives):
(WebKit::PageClientImpl::dismissDictationAlternativeUI):
* UIProcess/API/mac/WKView.mm:
(-[WKView insertText:replacementRange:]):
(-[WKView validAttributesForMarkedText]):
(-[WKView handleAcceptedAlternativeText:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showDictationAlternativeUI):
(WebKit::WebPageProxy::dismissDictationAlternativeUI):
(WebKit::WebPageProxy::removeDictationAlternatives):
(WebKit::WebPageProxy::dictationAlternatives):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/CorrectionPanel.mm:
(correctionIndicatorType):
(WebKit::CorrectionPanel::handleAcceptedReplacement):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertDictatedText):
* WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
(WebAlternativeTextClient):
* WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
(WebKit::WebAlternativeTextClient::showCorrectionAlternative):
(WebKit::WebAlternativeTextClient::dismissAlternative):
(WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
(WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
(WebKit::WebAlternativeTextClient::removeDictationAlternatives):
(WebKit::WebAlternativeTextClient::showDictationAlternativeUI):
(WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI):
(WebKit::WebAlternativeTextClient::dictationAlternatives):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::insertDictatedText):
2012-06-13 Andreas Kling <kling@webkit.org>
Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
<http://webkit.org/b/89048>
<rdar://problem/11449702>
Reviewed by Darin Adler.
Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag
for keyboard events. This ensures that it always arrives before the corresponding synchronous
InterpretQueuedKeyEvent message.
The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in
the same order they were sent. This was not always true, since DidReceiveEvent (async) would
get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync)
gets dispatched right away.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::keyEvent):
2012-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add input methods submenu item to the default context menu for editable content
https://bugs.webkit.org/show_bug.cgi?id=80600
Reviewed by Martin Robinson.
* GNUmakefile.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitContextMenuClient.cpp: Added.
(getContextMenuFromProposedMenu): Call webkitWebViewContextMenu().
(attachContextMenuClientToView): Add implementation for
getContextMenuFromProposedMenu callback.
* UIProcess/API/gtk/WebKitContextMenuClient.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Attach context menu client to view.
(webkitWebViewCreateAndAppendDefaultMenuItems): Helper function to
add default context menu items to the new context menu items vector.
(webkitWebViewShouldShowInputMethodsMenu): Helper function to
check whether to show the input methods submenu according to the
gtk-show-input-method-menu GTK+ setting.
(webkitWebViewCreateAndAppendInputMethodsMenuItem): Helper
function to add input methods submenu to the new context menu
items vector.
(webkitWebViewContextMenu): Create a new context menu items vector
containing default items and input methods submenu in case of
editable content. The active content menu is populated using that
new vector.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetActiveContextMenu): Set the active context menu.
(webkitWebViewBaseGetActiveContextMenu): Get the active context menu.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::append): Helper method to add a
new item to the context menu.
(WebKit::WebContextMenuProxyGtk::populate): Add items to the
context menu.
(WebKit::WebContextMenuProxyGtk::showContextMenu): Populate the
menu with the given items and popup the menu if it's not empty.
(WebKit::WebContextMenuProxyGtk::hideContextMenu): Get the GtkMenu
from the WebCore ContextMenu to popdown it.
(WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Call
webkitWebViewBaseSetActiveContextMenu() to set the menu as the current
active one for the view.
(WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Call
webkitWebViewBaseSetActiveContextMenu() with NULL to reset the
current active context of the view. GtkMenu is destroyed by
WebCore ContextMenu in its destructor.
* UIProcess/gtk/WebContextMenuProxyGtk.h:
2012-06-14 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add implementation for registerIntentService in WebFrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=88399
Reviewed by Kenneth Rohde Christiansen.
Add implementation for registerIntentService() in
WebFrameLoaderClient.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentServiceInfo.cpp: Added.
(WebKit):
(WebKit::IntentServiceInfo::encode):
(WebKit::IntentServiceInfo::decode):
* Shared/IntentServiceInfo.h: Added.
(CoreIPC):
(WebKit):
(IntentServiceInfo):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* UIProcess/WebIntentServiceInfo.cpp: Added.
(WebKit):
(WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
* UIProcess/WebIntentServiceInfo.h: Added.
(WebKit):
(WebIntentServiceInfo):
(WebKit::WebIntentServiceInfo::create):
(WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
(WebKit::WebIntentServiceInfo::action):
(WebKit::WebIntentServiceInfo::payloadType):
(WebKit::WebIntentServiceInfo::href):
(WebKit::WebIntentServiceInfo::title):
(WebKit::WebIntentServiceInfo::disposition):
(WebKit::WebIntentServiceInfo::type):
* UIProcess/WebLoaderClient.cpp:
(WebKit):
(WebKit::WebLoaderClient::registerIntentServiceForFrame):
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::registerIntentServiceForFrame):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit):
(WebKit::WebFrameLoaderClient::registerIntentService):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
2012-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
[WK2] Add WKHitTestResultIsContentEditable()
https://bugs.webkit.org/show_bug.cgi?id=80597
Reviewed by Martin Robinson.
* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::encode): Encode isContentEditable.
(WebKit::WebHitTestResult::Data::decode): Decode isContentEditable.
* Shared/WebHitTestResult.h:
(Data): Add isContentEditable.
(WebKit::WebHitTestResult::Data::Data): Initialize
isContentEditable.
(WebKit::WebHitTestResult::isContentEditable): Returns whether
hit test result target is editable content.
* UIProcess/API/C/WKHitTestResult.cpp:
(WKHitTestResultIsContentEditable): C API to get whether hit test
result target is editable content.
* UIProcess/API/C/WKHitTestResult.h:
* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate): Add
WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags to the context if
hit test result target is editable content.
(webkit_hit_test_result_context_is_editable): Returns TRUE if
WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags is present in
context.
* UIProcess/API/gtk/WebKitHitTestResult.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewMouseTarget): Add tests for
WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE.
2012-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com>
[WK2] Fix client interface size for WKPageLoaderClient.
https://bugs.webkit.org/show_bug.cgi?id=88764
Reviewed by Anders Carlsson.
Fixes offset of WKPageLoaderClient for version 0 by adding didDetectXSSForFrame.
The offset should be off the first new callback that was added in the new version.
* Shared/APIClientTraits.cpp:
(WebKit):
2012-06-13 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=88340
Reviewed by Kenneth Rohde Christiansen.
Add implementation for dispatchIntent() in WebFrameLoaderClient.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp: Added.
(WebKit):
(WebKit::IntentData::encode):
(WebKit::IntentData::decode):
* Shared/IntentData.h: Added.
(CoreIPC):
(WebKit):
(IntentData):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* UIProcess/WebIntentData.cpp: Added.
(WebKit):
(WebKit::WebIntentData::WebIntentData):
(WebKit::WebIntentData::data):
* UIProcess/WebIntentData.h: Added.
(WebKit):
(WebIntentData):
(WebKit::WebIntentData::create):
(WebKit::WebIntentData::~WebIntentData):
(WebKit::WebIntentData::action):
(WebKit::WebIntentData::payloadType):
(WebKit::WebIntentData::extras):
(WebKit::WebIntentData::suggestions):
(WebKit::WebIntentData::type):
* UIProcess/WebLoaderClient.cpp:
(WebKit):
(WebKit::WebLoaderClient::didReceiveIntentForFrame):
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::didReceiveIntentForFrame):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):
2012-06-13 Tim Horton <timothy_horton@apple.com>
Rename _swapView:with: to _replaceView:with:
https://bugs.webkit.org/show_bug.cgi?id=89037
Reviewed by Darin Adler.
_swapView:with: is a misnomer - after calling it, the first view is no longer
contained within the view hierarchy. "Replace" is a more accurate term.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController _replaceView:with:]):
2012-06-13 Martin Robinson <mrobinson@igalia.com>
[GTK] Add an accelerated compositing implementation for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=86037
Reviewed by Alejandro G. Castro.
Add an implementation of LayerTreeHost for GTK+ that uses TextureMapperGL.
Later this implementation will fall back to using the ImageBuffer TextureMapper.
* GNUmakefile.am: Add new files to the compilation.
* Shared/LayerTreeContext.h:
(LayerTreeContext): The GTK+ version of the LayerTreeContext just holds window handle.
* Shared/gtk/LayerTreeContextGtk.cpp: Copied from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Added.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Added.
Add this LayerTreeHost implementation that just creates a GL context from the widget X11 window ID.
Later implementations might find a more cross-platform solution.
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize): Initialize the native window handle to be zero.
(WebKit::WebPage::widgetMapped): When mapping the widget, try to get the native window
handle and send it to the WebProcess.
2012-06-13 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] ASSERT(m_rawAttributes.initialScale > 0) in QtViewportHandler::initialRect()
https://bugs.webkit.org/show_bug.cgi?id=89026
Reviewed by Csaba Osztrogonác.
Only act on viewport attribute changes if the layout size is valid.
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::setInitialScaleIfNeeded):
(WebKit::QtViewportHandler::viewportAttributesChanged):
2012-06-13 Brent Fulgham <bfulgham@webkit.org>
[WinCairo] Build fix after Windows export definition file change.
* win/WebKit2CFLite.def: Add missing symbol exports.
2012-06-13 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Fixed visible content rect lost during page-load
https://bugs.webkit.org/show_bug.cgi?id=88991
Reviewed by Kenneth Rohde Christiansen.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2012-06-13 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r120209.
http://trac.webkit.org/changeset/120209
https://bugs.webkit.org/show_bug.cgi?id=89007
Broke the WebKit2 mac build. (Requested by andersca on
#webkit).
* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp: Removed.
* Shared/IntentData.h: Removed.
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* 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:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):
2012-06-13 Alexis Menard <alexis.menard@openbossa.org>
Web Inspector: add a way to get the remote inspector url for a given page.
https://bugs.webkit.org/show_bug.cgi?id=88902
Reviewed by Jocelyn Turcotte.
Expose the remote inspector url for a given page in the API. If you want
to create a web view and load directly the inspector for the page you want to inspect,
it helps to get the url as it is impossible to figure it out from the API layer.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::remoteInspectorUrl):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit):
(WebKit::WebInspectorServer::inspectorUrlForPageID):
* UIProcess/InspectorServer/WebInspectorServer.h:
(WebInspectorServer):
* UIProcess/InspectorServer/WebSocketServer.cpp:
(WebKit::WebSocketServer::WebSocketServer):
(WebKit::WebSocketServer::listen):
(WebKit::WebSocketServer::close):
* UIProcess/InspectorServer/WebSocketServer.h:
(WebKit::WebSocketServer::bindAddress):
(WebKit::WebSocketServer::port):
(WebKit::WebSocketServer::serverState):
(WebSocketServer):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::remoteInspectorPagePath):
(WebKit):
(WebKit::WebInspectorServer::inspectorUrlForPageID):
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::remoteInspectionPageID):
2012-06-13 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=88340
Reviewed by Kenneth Rohde Christiansen.
Add implementation for dispatchIntent() in WebFrameLoaderClient.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIClientTraits.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp: Added.
(WebKit):
(WebKit::IntentData::encode):
(WebKit::IntentData::decode):
* Shared/IntentData.h: Added.
(CoreIPC):
(WebKit):
(IntentData):
* Target.pri:
* UIProcess/API/C/WKAPICast.h:
(WebKit):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):
* UIProcess/WebIntentData.cpp: Added.
(WebKit):
(WebKit::WebIntentData::WebIntentData):
(WebKit::WebIntentData::data):
* UIProcess/WebIntentData.h: Added.
(WebKit):
(WebIntentData):
(WebKit::WebIntentData::create):
(WebKit::WebIntentData::~WebIntentData):
(WebKit::WebIntentData::action):
(WebKit::WebIntentData::payloadType):
(WebKit::WebIntentData::extras):
(WebKit::WebIntentData::suggestions):
(WebKit::WebIntentData::type):
* UIProcess/WebLoaderClient.cpp:
(WebKit):
(WebKit::WebLoaderClient::didReceiveIntentForFrame):
* UIProcess/WebLoaderClient.h:
(WebKit):
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::didReceiveIntentForFrame):
* UIProcess/WebPageProxy.h:
(WebKit):
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchIntent):
2012-06-13 Balazs Kelemen <kbalazs@webkit.org>
[Qt][WK2] Scanning plugins blocks the UI for a long time
https://bugs.webkit.org/show_bug.cgi?id=88535
Reviewed by Simon Hausmann.
Implement a persistent cache for the meta data of plugins.
This way the UI process will not block for too long when
it's time to scan the plugins (except the first time).
The cache is a json file stored in a standard hidden cache
directory.
* Shared/qt/QtDefaultDataLocation.cpp: Added.
(WebKit):
(WebKit::defaultDataLocation):
* Shared/qt/QtDefaultDataLocation.h: Added.
(WebKit):
Added a common helper for the path we use to
put stuff into.
* Target.pri:
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::cacheFile):
(WebKit):
(WebKit::readMetaDataFromCacheFile):
(WebKit::writeToCacheFile):
(WebKit::appendToCacheFile):
(WebKit::tryReadPluginMetaDataFromCacheFile):
(WebKit::PluginProcessProxy::scanPlugin):
* UIProcess/qt/WebContextQt.cpp:
2012-06-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Do not set contents pos to the current position
https://bugs.webkit.org/show_bug.cgi?id=88990
Reviewed by Laszlo Gombos.
This is basically an optimization but it also solves flickering
in some cases.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::setContentPos):
2012-06-12 MORITA Hajime <morrita@google.com>
Shadow Pseudo ID should be able to nest to point nested shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=62218
Reviewed by Dimitri Glazkov.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-06-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
Unreviewed build fix.
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::initialRect):
2012-06-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Using extrernal ICU library on case unsensitive drives will not work
https://bugs.webkit.org/show_bug.cgi?id=70913
Reviewed by Csaba Osztrogonác.
* WebProcess/WebPage/UpdateAtlas.cpp:
2012-06-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Do not move/scale content while the user is interacting with it
https://bugs.webkit.org/show_bug.cgi?id=88872
Reviewed by Simon Hausmann.
Don't try moving content into valid bounds when the content
size changes and the user is interacting with the content.
Only apply the viewport initial scale after user interaction
has ended.
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::QtViewportHandler::setInitialScaleIfNeeded):
(WebKit::QtViewportHandler::viewportAttributesChanged):
(WebKit::QtViewportHandler::pageContentsSizeChanged):
(WebKit::QtViewportHandler::initialRect):
(WebKit):
* UIProcess/qt/QtViewportHandler.h:
(QtViewportHandler):
2012-06-11 Kaustubh Atrawalkar <kaustubh@motorola.com>
[DRT] LTC:: counterValueForElementById() could be moved to Internals.
https://bugs.webkit.org/show_bug.cgi?id=84406
Reviewed by Hajime Morita.
Exporting Internals::counterValueForElement symbols for the win build.
* win/WebKit2.def:
2012-06-11 Ryuan Choi <ryuan.choi@samsung.com>
[CMAKE][WK2] Make WebProcess target name more clear.
https://bugs.webkit.org/show_bug.cgi?id=88767
Reviewed by Ryosuke Niwa.
* CMakeLists.txt: Change WebProcess_NAME to WebProcess_EXECUTABLE_NAME.
2012-06-11 Alexis Menard <alexis.menard@openbossa.org>
[CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
https://bugs.webkit.org/show_bug.cgi?id=88804
Reviewed by Tony Chang.
Protect box-decoration-break behind a feature flag enabled by default.
* Configurations/FeatureDefines.xcconfig:
2012-06-11 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[CMAKE][EFL] Remove duplicated executable output path
https://bugs.webkit.org/show_bug.cgi?id=88765
Reviewed by Daniel Bates.
CMake files for EFL port have redefined executable output path. However, EFL port doesn't
need to define again because it is already defined in top-level CMake file.
* CMakeLists.txt:
2012-06-11 Anders Carlsson <andersca@apple.com>
Pass the right color space over to the web process so we can set it on our CA context
https://bugs.webkit.org/show_bug.cgi?id=88819
<rdar://problem/11629050>
Reviewed by John Sullivan.
* Platform/mac/LayerHostingContext.h:
(LayerHostingContext):
* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForPort):
(WebKit::LayerHostingContext::createForWindowServer):
Use a single constructor and explicitly set up the parameters of the constructed object.
(WebKit::LayerHostingContext::setColorSpace):
(WebKit::LayerHostingContext::colorSpace):
Add getter and setter.
* Scripts/webkit2/messages.py:
(struct_or_class):
WebKit::ColorSpaceData is a struct.
* Shared/WebPageCreationParameters.cpp:
Encode and decode the color space parameter.
* Shared/WebPageCreationParameters.h:
Add the color space.
* Shared/mac/ColorSpaceData.h: Added.
* Shared/mac/ColorSpaceData.mm: Added.
Add a new class that represents a color space that can be sent over the wire.
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::colorSpace):
Call through to the WKView.
* UIProcess/API/mac/WKView.mm:
(-[WKView _windowDidChangeBackingProperties:]):
Fix whitespace.
(-[WKView viewDidChangeBackingProperties]):
Check if our new color space is different from the current one and null the current one out if that is the case,
it will be reinitialized by the next call to -[WKView _colorSpace].
(-[WKView _colorSpace:]):
Compute the color space. If we're not in a window we'll get the main screen's color space.
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::colorSpaceDidChange):
Add empty stub.
* UIProcess/PageClient.h:
Add colorSpace getter.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
Initialize the color space.
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange):
Send the new color space over to the web process.
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::colorSpace):
Call through to the page client.
* WebKit2.xcodeproj/project.pbxproj:
Add ColorSpaceData.h and ColorSpaceData.mm.
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingArea.messages.in:
Add SetColorSpace message.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
Set the color space from the creation parameters.
(WebKit::TiledCoreAnimationDrawingArea::setColorSpace):
Set the color space on the layer hosting context.
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
Make sure we apply the color space from the previous layer hosting context if one exists.
2012-06-11 Anders Carlsson <andersca@apple.com>
Crash when a plug-in tries to use the NPRuntime API with JavaScript disabled
https://bugs.webkit.org/show_bug.cgi?id=88797
<rdar://problem/11574844>
Reviewed by Brady Eidson.
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::initialize):
Handle the windowNPObjectID being 0.
(WebKit::PluginControllerProxy::windowScriptNPObject):
Handle m_windownPObject being null.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::windowScriptNPObject):
Return null if JavaScript is disabled.
(WebKit::PluginView::pluginElementNPObject):
Ditto.
2012-06-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
Add QML api for setting device width and height
https://bugs.webkit.org/show_bug.cgi?id=88777
Reviewed by Simon Hausmann.
Add the new API and set the default values to 0 (unset). The
current values were introduced by Qt and only Qt depends on them.
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::deviceWidth):
(QQuickWebViewExperimental::setDeviceWidth):
(QQuickWebViewExperimental::deviceHeight):
(QQuickWebViewExperimental::setDeviceHeight):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::viewportItemSizeChanged):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):
2012-06-11 Michael BrĂĽning <michael.bruning@nokia.com>
[Qt][WK2] Compute and set cache capacities using the current CacheModel
https://bugs.webkit.org/show_bug.cgi?id=73918
Reviewed by Kenneth Rohde Christiansen.
Added implementation of cache model for Qt WK 2 port including supporting
functionality such as WebProcess creation parameters and default values
for disk cache directories.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* UIProcess/qt/WebContextQt.cpp:
(WebKit::defaultDiskCacheDirectory):
(WebKit):
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/qt/WebProcessQt.cpp:
(WebKit::physicalMemorySizeInBytes):
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformInitializeWebProcess):
2012-06-10 Darin Adler <darin@apple.com>
Remove unneeded callRemovedLastRef function from TreeShared refactoring
https://bugs.webkit.org/show_bug.cgi?id=88653
Reviewed by Sam Weinig.
* win/WebKit2.def: Export removedLastRef instead of callRemovedLastRef.
* win/WebKit2CFLite.def: Ditto.
2012-06-10 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Add and refactor ewk API in order to support MiniBrowser without WK API.
https://bugs.webkit.org/show_bug.cgi?id=84124
Reviewed by Chang Shu.
Modify ewk_view and add ewk_context to provide a platform-depedent WebKit2
API.
This patch provides the minimum to support MiniBrowser.
* PlatformEfl.cmake: add ewk_context.cpp.
* UIProcess/API/efl/EWebKit2.h: Added.
* UIProcess/API/efl/ewk_context.cpp: Added.
(_Ewk_Context):
(createDefaultWebContext):
(ewk_context_WKContext_get):
(ewk_context_default_get):
* UIProcess/API/efl/ewk_context.h: Added.
* UIProcess/API/efl/ewk_context_private.h: Added.
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_del):
(ewk_view_base_add):
(ewk_view_add_with_context):
(ewk_view_add):
(ewk_view_uri_set):
(ewk_view_uri_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
2012-06-09 Sukolsak Sakshuwong <sukolsak@google.com>
Add UNDO_MANAGER flag
https://bugs.webkit.org/show_bug.cgi?id=87908
Reviewed by Tony Chang.
* Configurations/FeatureDefines.xcconfig:
2012-06-08 Brent Fulgham <bfulgham@webkit.org>
[WinCairo] Build fix after Windows export definition file change.
* win/WebKit2CFLite.def: This file needs to be kept in sync with
WebKit2.def (aside from the WebKitInterface exports.)
2012-06-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
[Qt] [WK2] API tests randomly assert in WebLayerTreeRenderer::assignImageToLayer
https://bugs.webkit.org/show_bug.cgi?id=88667
Reviewed by Noam Rosenthal.
Move deactivation of WebLayerTreeRenderer from LayerTreeHostProxy::purgeBackingStores
to WebLayerTreeRenderer::purgeGLResources. LayerTreeHostProxy::purgeBackingStores is
invoked on main thread after going through call gate and it is too late to deactivate
renderer here, because some update messages are able to go through.
WebLayerTreeRenderer::purgeGLResources is called directly from render node deallocation
and it is right place to deactivate renderer.
* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::purgeBackingStores):
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::purgeGLResources):
2012-06-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to get the library version to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=88426
Reviewed by Martin Robinson.
* GNUmakefile.am:
* GNUmakefile.list.am:
* UIProcess/API/gtk/WebKitVersion.cpp: Added.
(webkit_get_major_version):
(webkit_get_minor_version):
(webkit_get_micro_version):
* UIProcess/API/gtk/WebKitVersion.h.in: Added.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new section
for WebKitVersion.
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestWebKitVersion.cpp: Added.
(testWebKitVersion):
(testWebKitCheckVersion):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/webkit2.h: Include WebKitVersion.h.
2012-06-08 Dan Bernstein <mitz@apple.com>
Tried to fix the Snow Leopard build after r119806.
* WebKit2Prefix.h:
2012-06-08 Andy Estes <aestes@apple.com>
[WebKit2] Move Mac-specific bits from config.h to WebKit2Prefix.h
https://bugs.webkit.org/show_bug.cgi?id=88625
Reviewed by Dan Bernstein.
Since the Mac supports prefix headers, there is no point in having
Mac-specific code in WebKit2's config.h. Move it to WebKit2Prefix.h.
* WebKit2Prefix.h:
* config.h:
2012-06-07 Kentaro Hara <haraken@chromium.org>
Reduce Node object size from 72 byte to 64 byte
https://bugs.webkit.org/show_bug.cgi?id=88528
Reviewed by Ryosuke Niwa.
Added a symbol for callRemovedLastRef().
* mac/WebKit2.order:
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-06-07 Andy Estes <aestes@apple.com>
[WebKit2] Explicitly include CoreFoundation.h in config.h
https://bugs.webkit.org/show_bug.cgi?id=88619
Reviewed by Dan Bernstein.
WebKit2 relies (probably unintentionally) on CoreFoundation.h being
included by CoreGraphics.h (via CGSession.h), but some versions of
CoreGraphics headers don't include CoreFoundation.h. WebKit2 should
include it explicitly in config.h.
* config.h: Import CoreFoundation.h.
2012-06-07 Andy Estes <aestes@apple.com>
[WebKit2] Only include Cocoa.h on platforms that use AppKit
https://bugs.webkit.org/show_bug.cgi?id=88517
Reviewed by Sam Weinig.
* WebKit2Prefix.h: Include Platform.h to get USE() macros. GTK needs to
include autotoolsconfig.h before including Platform.h, so do that first
if building on GTK. Then, if compiling an Objective-C file, it's safe
to include Foundation.h, but not necessarily Cocoa.h; only include the
latter if USE(APPKIT) is true.
* config.h: There's no need to import Cocoa.h since this is already
imported in the prefix header.
2012-06-07 Anders Carlsson <andersca@apple.com>
Search highlight does not scroll with the content of the page, and find overlay doesn't work, on large-enough window
https://bugs.webkit.org/show_bug.cgi?id=88577
<rdar://problem/11430118>
Reviewed by John Sullivan.
Prevent the page overlay layer from falling into tiled mode.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2012-06-07 Alexander Færøy <ahf@0x90.dk>
Add QML API tests for Device Pixel Ratio
https://bugs.webkit.org/show_bug.cgi?id=88531
Reviewed by Kenneth Rohde Christiansen.
This patch adds an initial test case for the QML device pixel ratio
API. The test currently fails and is therefore marked as being
expected to fail. This will be fixed in a separated patch.
* UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
2012-06-07 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] WebKit2-EFL does not link in debug mode
https://bugs.webkit.org/show_bug.cgi?id=88518
Unreviewed. Fix WebKit2-EFL linking error in debug mode.
* CMakeLists.txt:
2012-06-07 Simon Pena <spena@igalia.com>
[GTK] Fix broken build due to missing <SECTION> in GTK-DOC
https://bugs.webkit.org/show_bug.cgi?id=88525
Unreviewed gardening. Added missing <SECTION> tag.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2012-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to register custom URI schemes to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=84133
Reviewed by Martin Robinson.
* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Added.
(didReceiveURIRequest): Callback emitted by the C API when a
request for a custom URI scheme has been received. Call
webkitWebContextReceivedURIRequest() to handle the request.
(didFailToLoadURIRequest): Callback emitted by the C API when a
request for a custom URI scheme failed to load. Call
webkitWebContextDidFailToLoadURIRequest() to noitfy the web
context.
(attachRequestManagerClientToContext): Initialize the
WKSoupRequestManagerClient.
* UIProcess/API/gtk/WebKitRequestManagerClient.h: Added.
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Added.
(webkit_uri_scheme_request_init):
(webkitURISchemeRequestFinalize):
(webkit_uri_scheme_request_class_init):
(webkitURISchemeRequestCreate): Create a new
WebKitURISchemeRequest for the given URI and request identifier.
(webkitURISchemeRequestGetID): Return the request identifier.
(webkitURISchemeRequestCancel): Cancel the request operation.
(webkit_uri_scheme_request_get_scheme): Return the scheme of the
request.
(webkit_uri_scheme_request_get_uri): Return the full URI of the
request.
(webkit_uri_scheme_request_get_path): Return the path of the URI.
(webkitURISchemeRequestReadCallback): Read callback emitted when
reading the contents of the input stream.
(webkit_uri_scheme_request_finish): Finish the request by reading
the contents of the input stream and sending the data to the
WebProcess.
* UIProcess/API/gtk/WebKitURISchemeRequest.h: Added.
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(WebKitURISchemeHandler::WebKitURISchemeHandler): Helper struct to
save callback and user data of registered URI schemes.
(createDefaultWebContext): Initialize the SoupRequestManager.
(webkit_web_context_register_uri_scheme): Public API to register a
custom URI scheme providing a callback that will be called to
handle requests for that URI scheme.
(webkitWebContextGetRequestManager): Helper private method to
return the SoupRequestManager.
(webkitWebContextReceivedURIRequest): Get the
WebKitURISchemeHandler for the given request identifier and call
the callback. Save the request in the request map.
(webkitWebContextDidFailToLoadURIRequest): Cancel the ongoing
request.
(webkitWebContextDidFinishURIRequest): Remove the request from the
map.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
WebKitURISchemeRequest section.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add
webkit_uri_scheme_request_get_type.
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextURIScheme):
(beforeAll):
* UIProcess/API/gtk/webkit2.h: Include WebKitURISchemeRequest.h.
2012-06-07 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] setPageItemRectVisible() is not guarded by ViewportUpdateDeferrer at scaleAnimationValueChanged()
https://bugs.webkit.org/show_bug.cgi?id=87954
Reviewed by Kenneth Rohde Christiansen.
Resetting the end value, the easing curve or the duration of the scale animation triggers
a recalculation of the animation interval. This might change the current value of the
animated property.
Since guarding of setPageItemRectVisible() relies on animation state change we have to
make sure we only act on animation value changes if the animation is in active state.
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::QtViewportHandler):
(WebKit::QtViewportHandler::animatePageItemRectVisible):
(WebKit::QtViewportHandler::scaleAnimationValueChanged):
2012-06-06 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] WebSoupRequestManager should handle loading errors and zero-length replies
https://bugs.webkit.org/show_bug.cgi?id=88087
Reviewed by Martin Robinson.
* UIProcess/API/C/soup/WKSoupRequestManager.h:
* UIProcess/soup/WebSoupRequestManagerClient.cpp:
(WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest):
Call didFailToLoadURIRequest in the client if present.
* UIProcess/soup/WebSoupRequestManagerClient.h:
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
Initialize m_loadFailed.
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
Don't send more data to the web process if the resource failed to
load.
(WebKit::WebSoupRequestManagerProxy::didFailToLoadURIRequest): Set
m_loadFailed and notifiy the client calling didFailToLoadURIRequest.
* UIProcess/soup/WebSoupRequestManagerProxy.h:
* UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Add
DidFailToLoadURIRequest message.
* WebProcess/soup/WebKitSoupRequestGeneric.cpp:
(webkitSoupRequestGenericSendAsync): Pass the cancellable to the
WebSoupRequestManager.
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): Helper
struct to save requests.
(WebSoupRequestAsyncData): Add a weak pointer to invalidate the
request when it's destroyed before the operation has finished.
(WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
Remove the weak pointer.
(WebKit::WebSoupRequestAsyncData::requestFailed): Return whther
the request failed.
(WebKit::WebSoupRequestAsyncData::releaseResult): Return the
result and clear the pointer.
(WebKit::WebSoupRequestManager::didHandleURIRequest): Create and
empty memory stream for zero-length replies instead of creating an
error.
(WebKit::WebSoupRequestManager::didReceiveURIRequestData): If the
request failed and more data expected from the UI process, send a
message to the UI process to notify that the resource load failed.
(WebKit::WebSoupRequestManager::send): Save request information in
the request map.
* WebProcess/soup/WebSoupRequestManager.h:
2012-06-06 Andy Estes <aestes@apple.com>
Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
https://bugs.webkit.org/show_bug.cgi?id=88504
Reviewed by Dan Bernstein.
uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
by NSResponder that subclasses are expected to implement. WebKit should
only support these implementations on platforms that use AppKit.
* UIProcess/WebPageProxy.h:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
2012-06-06 chandra Shekar Vallala <chandra.vallala@motorola.com>
[WK2-Gtk]Compilation errors with flag CONTEXT_MENUS=0
https://bugs.webkit.org/show_bug.cgi?id=87842
Reviewed by Martin Robinson.
Fix for compilation errors while building webkit2-gtk with CONTEXT_MENUS=0
* UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added code under CONTEXT_MENUS CC
* UIProcess/gtk/WebContextMenuProxyGtk.h: Ditto
* WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Ditto
2012-06-06 Michael BrĂĽning <michael.bruning@nokia.com>
[Qt][WK2] Add preferredMinimumContentsWidth to the viewport info in MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=88327
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::setPreferredMinimumContentsWidth):
* UIProcess/API/qt/qquickwebview_p.h:
2012-06-06 Tim Horton <timothy_horton@apple.com>
WebPage::windowIsVisible is incorrect during resumePainting
https://bugs.webkit.org/show_bug.cgi?id=88374
<rdar://problem/11587039>
Reviewed by Simon Fraser.
Currently, when changing window visibility, WKView calls viewStateDidChange(ViewIsVisible)
and then _updateWindowVisibility. This means that during viewStateDidChange, the WebPage's
windowIsVisible state is incorrect.
viewStateDidChange(ViewIsVisible) can end up in (one of the DrawingArea implementations)::resumePainting(),
which uses windowIsVisible to determine whether or not to unpause requestAnimationFrame.
This results in a state where, with some configurations, doing the following:
1. requestAnimationFrame()
2. requestFullScreen()
3. requestAnimationFrame()
4. cancelFullScreen()
5. requestAnimationFrame()
Will cause the second and third rAF calls to have no effect. Even after cancelFullScreen() is called,
the fact that we have had unpaired suspend/resumeScriptedAnimations will cause the suspend count
on the ScriptedAnimationController to never return to zero, which will cause us to never
recover rAF functionality.
The fix is very simple: we should _updateWindowVisibility *before* viewStateDidChange, so that it is
always correct for any code called underneath that method.
* UIProcess/API/mac/WKView.mm:
(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidOrderOffScreen:]):
(-[WKView _windowDidOrderOnScreen:]):
2012-06-05 Dinu Jacob <dinu.jacob@nokia.com>
[Qt][WK2] Use Component.onCompleted in API tests for single and multi file upload tests.
https://bugs.webkit.org/show_bug.cgi?id=88247
Reviewed by Kenneth Rohde Christiansen.
With r116936, Component.onCompleted can be used for callback instead of the
1s timer in single and multi file upload tests.
* UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
2012-06-04 Stephanie Lewis <slewis@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=88370
Memory sampler should trigger low memory signal
Reviewed by Geoff Garen.
Send low memory signal when running the memory sampler. We'd
like to test memory that cannot be freed.
* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::sampleTimerFired):
* Shared/WebMemorySampler.h:
(WebMemorySampler):
* Shared/mac/WebMemorySampler.mac.mm:
(WebKit):
(WebKit::WebMemorySampler::sendMemoryPressureEvent):
2012-06-05 Brady Eidson <beidson@apple.com>
<rdar://problem/11575898> and https://bugs.webkit.org/show_bug.cgi?id=88372
REGRESSION(110494): Can no longer drag-and-drop links into FileMaker Pro 12
- Before r110494 we used to write the NSStringPboardType to the pasteboard.
After r110494 we write NSURLPboardType instead.
That's basically a no-op, but the NSStringPboardType needs to be restored.
- Before r110494 we wrote the link destination URL to the pasteboard.
After r110494 we write the image src URL if the link is an image.
We need to revert to writing the link URL.
Fortunately these changes can be accomplished with a 2-line fix.
Reviewed by Enrica Casucci.
* UIProcess/API/mac/WKView.mm:
(-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
n
2012-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Implement log channel initialization for WebKit2
Reviewed by Alexis Menard.
* Platform/Logging.cpp:
(WebKit):
* Platform/Logging.h:
(WebKit):
* Platform/qt/LoggingQt.cpp: Copied from Source/WebKit2/Platform/gtk/LoggingGtk.cpp
(WebKit):
(WebKit::initializeLogChannel):
* Target.pri:
2012-06-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
WebLayerTreeRenderer behaves wrongly when no contentsScale is set.
https://bugs.webkit.org/show_bug.cgi?id=88357
Reviewed by Alexis Menard.
The contentsScale needs to get a default value in case no
value is explicitely set yet.
This fixes the blank-until-resize problem when running MiniBrowser
in --desktop mode.
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
2012-06-05 Alexis Menard <alexis.menard@openbossa.org>
[Qt] Don't propagate viewport size changes if the viewport is empty.
https://bugs.webkit.org/show_bug.cgi?id=88336
Reviewed by Tor Arne Vestbø.
Qt Quick sequentially set the x, y, width, height of the view. We really want to
start propagating further when the size of the viewport becomes valid, i.e. both
height and width are defined. In any case lower level classes are discarding an empty
size such as WebPage::sendViewportAttributesChanged() so it was pointless to send the size
through the IPC bus for nothing.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::updateViewportSize):
2012-06-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add webkit_download_get_received_data_length to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=88323
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitDownload.cpp:
(webkit_download_get_received_data_length):
* UIProcess/API/gtk/WebKitDownload.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestDownloads.cpp:
2012-06-05 Dongwoo Im <dw.im@samsung.com>
Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'.
https://bugs.webkit.org/show_bug.cgi?id=73176
Reviewed by Adam Barth.
Two more APIs are added in Custom Scheme Handler specification.
http://dev.w3.org/html5/spec/Overview.html#custom-handlers
One is 'isProtocolHandlerRegistered' to query whether the specific URL
is registered or not.
The other is 'unregisterProtocolHandler' to remove the registered URL.
* Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'.
2012-06-05 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] WebKit2-EFL does not link with gold linker
https://bugs.webkit.org/show_bug.cgi?id=88295
Unreviewed. Fix linking when using gold linker.
* PlatformEfl.cmake:
2012-06-05 Mario Sanchez Prada <msanchez@igalia.com>
[GTK][WK2] Implement API for Geolocation permission requests in the GTK port
https://bugs.webkit.org/show_bug.cgi?id=83879
Reviewed by Carlos Garcia Campos.
Added a new kind of permission request for supporting the
Geolocation API in WebKit2GTK+.
New WebKitGeolocationPermissionRequest class, implementing the
WebKitPermissionRequest interface, to enabling client applications
to allow or deny geolocation permission requests.
* GNUmakefile.list.am: Added new files.
* UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp: Added.
(_WebKitGeolocationPermissionRequestPrivate):
(webkitGeolocationPermissionRequestAllow):
(webkitGeolocationPermissionRequestDeny):
(webkit_permission_request_interface_init):
(webkit_geolocation_permission_request_init):
(webkitGeolocationPermissionRequestFinalize):
(webkit_geolocation_permission_request_class_init):
(webkitGeolocationPermissionRequestCreate):
* UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h: Added.
(_WebKitGeolocationPermissionRequest):
(_WebKitGeolocationPermissionRequestClass):
* UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h: Added.
Include WKGeolocationPermissionRequest.h in WebKitPrivate.h, so we
can use it from the new WebKitGeolocationPermissionRequest class.
* UIProcess/API/gtk/WebKitPrivate.h: Added new include.
Implement geolocation permission requests in the UI client.
* UIProcess/API/gtk/WebKitUIClient.cpp:
(decidePolicyForGeolocationPermissionRequest): Create a new
instance of the WebKitGeolocationPermissionRequest class and call
to webkitWebViewMakePermissionRequest().
(attachUIClientToView): Provide an implementation function for
decidePolicyForGeolocationPermissionRequest.
* UIProcess/API/gtk/WebKitWebView.h: Add new element to
WebKitPermissionRequestType enumeration for geolocation requests.
* UIProcess/API/gtk/webkit2.h: Added header file for
WebKitGeolocationPermissionRequest
New unit tests to test allowing and denying permission requests.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewPermissionRequests): New test that loads a simple HTML
with JavaScript code requesting the current location.
(beforeAll): Added new test.
Updated documentation files.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2012-06-04 Sadrul Habib Chowdhury <sadrul@chromium.org>
[chromium] Fix software rendering for device-scale-factor > 1
https://bugs.webkit.org/show_bug.cgi?id=88136
Reviewed by Darin Fisher.
Export WebCore::Page::setDeviceScaleFactor and WebCore::Settings::setDefaultDeviceScaleFactor.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-06-04 Andy Estes <aestes@apple.com>
Use ENABLE() and USE() macros in a few more places
https://bugs.webkit.org/show_bug.cgi?id=88245
Reviewed by Anders Carlsson.
* UIProcess/API/C/WKPluginSiteDataManager.cpp: Only include npapi.h if
Netscape plug-in API is enabled.
* UIProcess/mac/CorrectionPanel.h: Wrap with USE(AUTOCORRECTION_PANEL)
* WebProcess/Authentication/AuthenticationManager.cpp: Use the stub
version of tryUsePlatformCertificateInfoForChallenge if
Security.framework isn't available.
* WebProcess/WebProcess.messages.in: Only generate two messages if
Security.framework is available.
* WebProcess/mac/KeychainItemShimMethods.mm: Wrap with
USE(SECURITY_FRAMEWORK).
2012-06-04 Andy Estes <aestes@apple.com>
Add stub WebKit2 implementations of PLUGIN_PROXY_FOR_VIDEO methods declared in FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=88244
Reviewed by Anders Carlsson.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createMediaPlayerProxyPlugin): Add a stub implementation.
(WebKit::WebFrameLoaderClient::hideMediaPlayerProxyPlugin): Ditto.
(WebKit::WebFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2012-06-04 Mario Sanchez Prada <msanchez@igalia.com>
[GTK][WK2] Implement geolocation provider for the GTK port
https://bugs.webkit.org/show_bug.cgi?id=83877
Reviewed by Carlos Garcia Campos.
Add a new client-based geolocation provider for WebKit2GTK+, relying the
new Geoclue-based geolocation provider available in WebCore.
* GNUmakefile.am:
* GNUmakefile.list.am:
* UIProcess/API/gtk/WebKitGeolocationProvider.cpp: Added.
(toGeolocationProvider):
(startUpdatingCallback):
(stopUpdatingCallback):
(WebKitGeolocationProvider::~WebKitGeolocationProvider):
(WebKitGeolocationProvider::create):
(WebKitGeolocationProvider::WebKitGeolocationProvider):
(WebKitGeolocationProvider::startUpdating):
(WebKitGeolocationProvider::stopUpdating):
(WebKitGeolocationProvider::notifyPositionChanged):
(WebKitGeolocationProvider::notifyErrorOccurred):
* UIProcess/API/gtk/WebKitGeolocationProvider.h: Added.
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate):
(createDefaultWebContext):
2012-06-04 Zalan Bujtas <zbujtas@gmail.com>
[Qt][WK2] Rename QtViewportInteractionEngine to QtViewportHandler.
https://bugs.webkit.org/show_bug.cgi?id=88226
Reviewed by Kenneth Rohde Christiansen.
* Target.pri:
* UIProcess/API/qt/qquickwebpage_p_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::didChangeViewportProperties):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::pageDidRequestScroll):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
* UIProcess/API/qt/qquickwebview_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview_p_p.h:
(WebKit):
(QQuickWebViewPrivate::viewportHandler):
(QQuickWebViewFlickablePrivate::viewportHandler):
(QQuickWebViewFlickablePrivate):
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::contentsScale):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::initialScale):
(QWebKitTest::minimumScale):
(QWebKitTest::maximumScale):
(QWebKitTest::isScalable):
(QWebKitTest::layoutSize):
* UIProcess/qt/QtGestureRecognizer.cpp:
(WebKit::QtGestureRecognizer::viewportHandler):
* UIProcess/qt/QtGestureRecognizer.h:
(WebKit):
* 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):
* UIProcess/qt/QtViewportHandler.cpp: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp.
(WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(ViewportUpdateDeferrer):
(WebKit::QtViewportHandler::suspendPageContent):
(WebKit::QtViewportHandler::resumePageContent):
(WebKit::QtViewportHandler::cssScaleFromItem):
(WebKit::QtViewportHandler::itemScaleFromCSS):
(WebKit::QtViewportHandler::itemCoordFromCSS):
(WebKit::QtViewportHandler::itemRectFromCSS):
(WebKit::QtViewportHandler::QtViewportHandler):
(WebKit::QtViewportHandler::~QtViewportHandler):
(WebKit::QtViewportHandler::innerBoundedCSSScale):
(WebKit::QtViewportHandler::outerBoundedCSSScale):
(WebKit::QtViewportHandler::viewportAttributesChanged):
(WebKit::QtViewportHandler::pageContentsSizeChanged):
(WebKit::QtViewportHandler::setPageItemRectVisible):
(WebKit::QtViewportHandler::animatePageItemRectVisible):
(WebKit::QtViewportHandler::flickMoveStarted):
(WebKit::QtViewportHandler::flickMoveEnded):
(WebKit::QtViewportHandler::pageItemPositionChanged):
(WebKit::QtViewportHandler::pageContentPositionRequested):
(WebKit::QtViewportHandler::scaleAnimationStateChanged):
(WebKit::QtViewportHandler::scaleAnimationValueChanged):
(WebKit::QtViewportHandler::touchBegin):
(WebKit::QtViewportHandler::touchEnd):
(WebKit::QtViewportHandler::computePosRangeForPageItemAtScale):
(WebKit::QtViewportHandler::focusEditableArea):
(WebKit::QtViewportHandler::zoomToAreaGestureEnded):
(WebKit::QtViewportHandler::nearestValidBounds):
(WebKit::QtViewportHandler::setCSSScale):
(WebKit::QtViewportHandler::currentCSSScale):
(WebKit::QtViewportHandler::scrollAnimationActive):
(WebKit::QtViewportHandler::panGestureActive):
(WebKit::QtViewportHandler::panGestureStarted):
(WebKit::QtViewportHandler::panGestureRequestUpdate):
(WebKit::QtViewportHandler::panGestureEnded):
(WebKit::QtViewportHandler::panGestureCancelled):
(WebKit::QtViewportHandler::scaleAnimationActive):
(WebKit::QtViewportHandler::cancelScrollAnimation):
(WebKit::QtViewportHandler::interruptScaleAnimation):
(WebKit::QtViewportHandler::pinchGestureActive):
(WebKit::QtViewportHandler::pinchGestureStarted):
(WebKit::QtViewportHandler::pinchGestureRequestUpdate):
(WebKit::QtViewportHandler::pinchGestureEnded):
(WebKit::QtViewportHandler::pinchGestureCancelled):
(WebKit::QtViewportHandler::visibleContentsRect):
(WebKit::QtViewportHandler::informVisibleContentChange):
(WebKit::QtViewportHandler::viewportItemSizeChanged):
(WebKit::QtViewportHandler::scaleContent):
* UIProcess/qt/QtViewportHandler.h: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h.
(QtViewportHandler):
* UIProcess/qt/QtViewportInteractionEngine.cpp: Removed.
* UIProcess/qt/QtViewportInteractionEngine.h: Removed.
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::setViewportHandler):
(WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
(WebKit::QtWebPageEventHandler::doneWithTouchEvent):
(WebKit::QtWebPageEventHandler::didFindZoomableArea):
* UIProcess/qt/QtWebPageEventHandler.h:
(WebKit):
(QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::viewportHandler):
2012-06-04 David Kilzer <ddkilzer@apple.com>
BUILD FIX: FeatureDefines.xcconfig should match across projects
* Configurations/FeatureDefines.xcconfig:
- Add missing ENABLE_LEGACY_CSS_VENDOR_PREFIXES.
2012-06-04 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Tap-to-zoom overshoot animation.
https://bugs.webkit.org/show_bug.cgi?id=87108
Reviewed by Tor Arne Vestbø.
Reverts the change in animation, so the default is more "neutral".
This should be made configurable later.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::animatePageItemRectVisible):
2012-06-04 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] Refactor the tap gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=88096
Reviewed by Simon Hausmann.
Refactor the tap gesture recognizer so that its internal state machine is
self contained and independent of input event types.
Also change the internal API for tap highlighting to make the code easier
to understand on the caller side.
This patch makes the tap gesture recognizer more robust, consistent with
other gesture recognizers and fixes some issues related to highlighting
and link activation with respect to native touch events.
* UIProcess/qt/QtTapGestureRecognizer.cpp:
(WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
(WebKit::QtTapGestureRecognizer::withinDistance):
(WebKit::QtTapGestureRecognizer::update):
(WebKit::QtTapGestureRecognizer::finish):
(WebKit::QtTapGestureRecognizer::cancel):
(WebKit::QtTapGestureRecognizer::highlightTimeout):
(WebKit::QtTapGestureRecognizer::singleTapTimeout):
(WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
(WebKit::QtTapGestureRecognizer::reset):
* UIProcess/qt/QtTapGestureRecognizer.h:
(QtTapGestureRecognizer):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::activateTapHighlight):
(WebKit::QtWebPageEventHandler::deactivateTapHighlight):
(WebKit):
(WebKit::QtWebPageEventHandler::handleSingleTapEvent):
(WebKit::QtWebPageEventHandler::handleDoubleTapEvent):
(WebKit::QtWebPageEventHandler::doneWithTouchEvent):
* UIProcess/qt/QtWebPageEventHandler.h:
(QtWebPageEventHandler):
2012-06-02 Geoffrey Garen <ggaren@apple.com>
Try to fix the Windows build.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-06-02 Andy Estes <aestes@apple.com>
[WebKit2] Use USE(), ENABLE(), and HAVE() macros in more places
https://bugs.webkit.org/show_bug.cgi?id=88182
Reviewed by Sam Weinig.
Use USE(APPKIT):
* Shared/mac/NativeWebKeyboardEventMac.mm:
* Shared/mac/NativeWebMouseEventMac.mm:
* Shared/mac/NativeWebWheelEventMac.mm:
* Shared/mac/WebEventFactory.h:
* UIProcess/API/mac/WKTextInputWindowController.h:
* UIProcess/API/mac/WKTextInputWindowController.mm:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
Use ENABLE(NETSCAPE_PLUGIN_API):
* UIProcess/API/C/WKPluginSiteDataManager.cpp:
(WKPluginSiteDataManagerClearSiteData):
(WKPluginSiteDataManagerClearAllSiteData):
Use USE(AUTOCORRECTION_PANEL):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::showCorrectionPanel):
(WebKit::PageClientImpl::dismissCorrectionPanel):
(WebKit::PageClientImpl::dismissCorrectionPanelSoon):
* UIProcess/mac/CorrectionPanel.mm:
Use HAVE(HOSTED_CORE_ANIMATION):
* UIProcess/mac/WebContextMac.mm:
Put ENABLE(FULLSCREEN_API) in the right place:
* UIProcess/mac/WebFullScreenManagerProxyMac.mm:
Remove unnecessary use of USE(APPKIT):
* UIProcess/mac/WebPageProxyMac.mm:
Use USE(SECURITY_FRAMEWORK):
* WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
Use ENABLE(CONTEXT_MENUS):
* WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
Use USE(SECURITY_FRAMEWORK):
* WebProcess/WebProcess.h:
Remove unnecessary use of USE(SECURITY_FRAMEWORK):
* WebProcess/mac/WebProcessMac.mm:
2012-06-02 Andy Estes <aestes@apple.com>
Remove a duplicate INIT() from WebSystemInterface.mm
https://bugs.webkit.org/show_bug.cgi?id=88181
Reviewed by Anders Carlsson.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2012-06-02 Andy Estes <aestes@apple.com>
Remove unnecessary import of <Cocoa/Cocoa.h>
https://bugs.webkit.org/show_bug.cgi?id=88180
Reviewed by Sam Weinig.
* UIProcess/mac/WKFullKeyboardAccessWatcher.h:
2012-06-02 Andy Estes <aestes@apple.com>
Ensure cpu_type_t is defined by including <mach/machine.h>
https://bugs.webkit.org/show_bug.cgi?id=88178
Reviewed by Anders Carlsson.
* Shared/Plugins/PluginModuleInfo.h:
2012-06-02 Sam Weinig <sam@webkit.org>
InjectedBundles' sandbox extensions don't do what we think they do
https://bugs.webkit.org/show_bug.cgi?id=88177
Reviewed by Anders Carlsson.
This cannot be tested with our current infrastructure (or any modifications of the
infrastructure I can think of) since it relies on the bundle being put outside
the build directory where WebKit is put.
* WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
(WebKit::InjectedBundle::load):
Use SandboxExtension::consumePermanently() rather than consume(), otherwise,
nulling out the SandboxExtension a few lines later invalidates the extension
we just consumed.
2012-06-02 Dan Bernstein <mitz@apple.com>
Reverted the last change.
* WebKit2.xcodeproj/project.pbxproj:
2012-06-02 Dan Bernstein <mitz@apple.com>
Stop treating two Python scripts as private headers.
* WebKit2.xcodeproj/project.pbxproj: Removed model.py and parser.py from the Copy Headers
build phase.
2012-06-02 Zeno Albisser <zeno@webkit.org>
Fix and enable WebGL for WebKit2 on Qt.
https://bugs.webkit.org/show_bug.cgi?id=86214
Added glue code to make use of GraphicsSurface
as a backend for the webgl-canvas in case of WK2.
Reviewed by Noam Rosenthal.
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::webGLEnabled):
(QWebPreferences::setWebGLEnabled):
* UIProcess/API/qt/qwebpreferences_p.h:
* UIProcess/API/qt/qwebpreferences_p_p.h:
Added WebGLEnabled enum to allow enabling/disabling of
WebGL using QWebPreferences.
* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::syncCanvas):
Dispatch syncCanvas calls to the apropriate
WebLayerTreeRenderer.
* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):
* UIProcess/LayerTreeHostProxy.messages.in:
* UIProcess/WebLayerTreeRenderer.h:
(WebLayerTreeRenderer):
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::syncCanvas):
(WebKit::WebLayerTreeRenderer::deleteLayer):
(WebKit::WebLayerTreeRenderer::purgeGLResources):
Create a TextureMapperSurfaceBackingStore for the canvas
if necessary and pass or update the graphicsSurfaceToken
for to be used with the backing store.
* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::WebGraphicsLayer):
(WebCore):
(WebCore::WebGraphicsLayer::setContentsToCanvas):
(WebCore::WebGraphicsLayer::syncCanvas):
Copy the multisample framebuffer contents onto the GraphicsSurface.
Notify the UIProcess of the availability of a new texture.
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
Sync the canvas as well.
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
Added a pure virtual function syncCanvas.
This is guarded by PLATFORM(QT).
(WebGraphicsLayerClient):
(WebGraphicsLayer):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::syncLayerChildren):
(WebKit):
(WebKit::LayerTreeHostQt::syncCanvas):
* WebProcess/WebPage/qt/LayerTreeHostQt.h:
(LayerTreeHostQt):
2012-06-01 Brady Eidson <beidson@apple.com>
<rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119
REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call
Followup to r119260
Rubber-stamped by Anders Carlsson.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::callSetWindow): Set the m_hasCalledSetWindow here...
(WebKit::NetscapePlugin::geometryDidChange): ...instead of here.
2012-06-01 Brady Eidson <beidson@apple.com>
<rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119
REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call
Reviewed by Oliver Hunt.
Add a flag to NetscapePlugin to track whether or not NPP_SetWindow has ever been called.
Check this flag in geometryDidChange to make sure every plug-in gets the call at least once.
"Everybody gets one. Tell him, Peter."
"Apparently everybody gets one."
"Bingo."
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::NetscapePlugin):
(WebKit::NetscapePlugin::geometryDidChange):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin):
2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
[WK2] WebLayerTreeRenderer::setContentsSize called synchronously
https://bugs.webkit.org/show_bug.cgi?id=88091
Reviewed by Noam Rosenthal.
Do not call WebLayerTreeRenderer::setContentsSize synchronously
from LayerTreeHostProxy.
* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::setContentsSize):
2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
[Qt][WK2] Set QWebKitTest::isScalable default as false
https://bugs.webkit.org/show_bug.cgi?id=88095
Reviewed by Tor Arne Vestbø.
Set QWebKitTest::isScalable default as false
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::isScalable):
2012-06-01 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Remove QtViewportInteractionEngine::pageItemSizeChanged.
https://bugs.webkit.org/show_bug.cgi?id=88082
Reviewed by Kenneth Rohde Christiansen.
The function was causing flickering, and after testing it was verified
that it was no longer needed either.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
[Qt][WK2] Contents not rendered in MiniBrowser for some pages
https://bugs.webkit.org/show_bug.cgi?id=87922
Reviewed by Kenneth Rohde Christiansen.
Set drawing area visible contents rect if new visible contents rect is different from
the previous one.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::informVisibleContentChange):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
2012-06-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Move suspension to QtViewportInteractionEngine
https://bugs.webkit.org/show_bug.cgi?id=88078
Reviewed by Simon Hausmann.
Next step is to take care of visibility changes.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::onComponentComplete):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::QtViewportInteractionEngine::suspendPageContent):
(WebKit):
(WebKit::QtViewportInteractionEngine::resumePageContent):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
[Qt][W2] Qml Error in ViewportInfoItem.qml in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=87999
Reviewed by Kenneth Rohde Christiansen.
Return default viewport attributes rather than invalid QVariant.
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::contentsScale):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::initialScale):
(QWebKitTest::minimumScale):
(QWebKitTest::maximumScale):
(QWebKitTest::isScalable):
(QWebKitTest::layoutSize):
2012-05-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Clean up our viewport handling mess
https://bugs.webkit.org/show_bug.cgi?id=87977
Reviewed by Simon Hausmann.
Consolidated functionality from QQuickWebViewPrivate* into
ViewportInteractionEngine that belongs there, in preparation for
renaming ViewportInteractionEngine in the future.
Remove unneeded methods and move others to private.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::didChangeViewportProperties):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::_q_resume):
(QQuickWebViewFlickablePrivate::pageDidRequestScroll):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
(WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
(WebKit::QtViewportInteractionEngine::pageItemPositionChanged):
(WebKit::QtViewportInteractionEngine::pageContentPositionRequested):
(WebKit::QtViewportInteractionEngine::visibleContentsRect):
(WebKit):
(WebKit::QtViewportInteractionEngine::informVisibleContentChange):
(WebKit::QtViewportInteractionEngine::viewportItemSizeChanged):
* UIProcess/qt/QtViewportInteractionEngine.h:
(WebKit):
(QtViewportInteractionEngine):
2012-05-31 Hajime Morrita <morrita@chromium.org>
REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac
https://bugs.webkit.org/show_bug.cgi?id=86859
Reviewed by Ryosuke Niwa.
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::requestCheckingOfString):
* WebProcess/WebCoreSupport/WebEditorClient.h:
2012-05-31 Andy Estes <aestes@apple.com>
[WebKit2] Remove nested #if conditions from messages.in files
https://bugs.webkit.org/show_bug.cgi?id=88039
Reviewed by Filip Pizlo.
The code generator that processes messages.in files can't handle nested
#if conditions. Sadly I added said conditions in r117700 but failed to
verify the generated result. Un-nest the conditions I added.
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.messages.in:
2012-05-31 Andy Estes <aestes@apple.com>
Disentangle code that relies on USE(AUTOMATIC_TEXT_REPLACEMENT) from that which merely relies on PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=87933
Reviewed by Dan Bernstein.
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2012-05-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add webkit_download_get_request to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=87957
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitDownload.cpp:
(webkit_download_get_request): Return the WebKitURIRequest
representing the request that originated the download.
* UIProcess/API/gtk/WebKitDownload.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/TestDownloads.cpp:
(testDownloadLocalFile):
(testDownloadRemoteFile):
2012-05-31 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] WebProcess crashes when a download is started from an existing ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=87953
Reviewed by Martin Robinson.
The output stream to write the downloaded data is created in the
didReceiveResponse callback of the download client. When a
download is created for an existing ResourceHandle (this happens
for example when policy decision is download), the response has
already been received. In this case we should make sure that the
download client is notified about the response, so that when data
actually arrives the output stream has already been created.
* WebProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::startWithHandle):
2012-05-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fix webkit_web_view_can_execute_editing_command() API doc
https://bugs.webkit.org/show_bug.cgi?id=87930
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebView.cpp:
2012-05-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
https://bugs.webkit.org/show_bug.cgi?id=87955
Reviewed by Simon Hausmann.
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2012-05-31 Zalan Bujtas <zbujtas@gmail.com>
[Qt][WK2] Add missing ViewportUpdateDeferrer guarding to setPageItemRectVisible() calls.
https://bugs.webkit.org/show_bug.cgi?id=87936
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
(WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
2012-05-31 Keunsoon Lee <keunsoon.lee@samsung.com>
[EFL][WK2] Add WKURLRequestEfl and WKURLResponseEfl
https://bugs.webkit.org/show_bug.cgi?id=70231
Reviewed by Chang Shu.
These codes can be used for WKPageDecidePolicyForResponseCallback on page policy callbacks.
The callback conveys WKURLResponseRef and WKURLRequestRef as parameter.
By the way, EFL browser needs content type from response to decide correct policy.
Another information, cookie, is necessary with similar reason.
But, there is no way to obtain such information on WebKit2 main stream, except for WKURLRequestCopyURL().
So, EFL port created those files to extract necessary information from WKURLResponseRef and WKURLRequestRef,
and not to desturb WebKit2 main stream.
* Shared/API/c/efl/WKURLRequestEfl.cpp: Added.
(WKURLRequestEflCopyCookies): extracting cookie information from WKURLRequestRef.
* Shared/API/c/efl/WKURLRequestEfl.h: Added.
* Shared/API/c/efl/WKURLResponseEfl.cpp: Added.
(WKURLResponseEflCopyContentType): extracting content type (i.e. MIME type) from WKURLResponseRef.
* Shared/API/c/efl/WKURLResponseEfl.h: Added.
* Shared/efl/WebCoreArgumentCodersEfl.cpp: Added.
(CoreIPC):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/efl/WebURLRequestEfl.cpp: Added.
(WebKit):
(WebKit::WebURLRequestEfl::WebURLRequestEfl):
(WebKit::WebURLRequestEfl::cookies): obtaining cookie information from ResourceRequest.
* Shared/efl/WebURLRequestEfl.h: Added.
(WebKit):
(WebURLRequestEfl):
(WebKit::WebURLRequestEfl::create):
* Shared/efl/WebURLResponseEfl.cpp: Added.
(WebKit):
(WebKit::WebURLResponseEfl::WebURLResponseEfl):
(WebKit::WebURLResponseEfl::contentType): obtaining content type (i.e. MIME type) from ResourceResponse.
* Shared/efl/WebURLResponseEfl.h: Added.
(WebKit):
(WebURLResponseEfl):
(WebKit::WebURLResponseEfl::create):
2012-05-31 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[EFL][WK2] Rename ewk_private.h to ewk_view_private.h
https://bugs.webkit.org/show_bug.cgi?id=87923
Reviewed by Kenneth Rohde Christiansen.
EFL WK1 decided to divide up ewk_private.h into each file's XXX_private.h file in order to maintain
internal functions more easily. EFL WK2 needs to adjust this as well.
* UIProcess/API/efl/PageClientImpl.cpp:
* UIProcess/API/efl/ewk_view_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_private.h.
(WebCore):
* UIProcess/cairo/BackingStoreCairo.cpp:
2012-05-31 Andy Estes <aestes@apple.com>
Move the specification of framework and library linking out of WebKit2.xcodeproj and into WebKit2.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=87932
Reviewed by Dan Bernstein.
Doing this makes it easier to vary linking based on SDK or other factors.
* Configurations/WebKit2.xcconfig: Create FRAMEWORK_AND_LIBRARY_LDFLAGS,
which specifies the same list of frameworks and libraries that were
previously in WebKit2's 'Link Binary With Libraries' build phase, and
append it to $(OTHER_LDFLAGS).
* WebKit2.xcodeproj/project.pbxproj: Remove all frameworks and
libraries from the 'Link Binary With Libraries' build phase.
2012-05-30 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[GTK] [WK2] Memory leak in webkitWebViewBaseStartDrag
https://bugs.webkit.org/show_bug.cgi?id=87756
Reviewed by Carlos Garcia Campos.
Fixed memory leaks in drag and drop by using adoptRef instead
of just getting new references.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseStartDrag):
2012-05-30 Luiz Agostini <luiz.agostini@nokia.com>
[Qt] handled touchmove events should not cancel tap gesture recognition
https://bugs.webkit.org/show_bug.cgi?id=87808
Reviewed by Kenneth Rohde Christiansen.
Tap gesture recognition should not be canceled if a touchmove event is handled
by the web process.
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::doneWithTouchEvent):
2012-05-30 Mario Sanchez Prada <msanchez@igalia.com>
[GTK][WK2] Errors in documentation about webkit_web_view_run_javascript()
https://bugs.webkit.org/show_bug.cgi?id=87866
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebView.cpp: Fix errors.
2012-05-30 Andy Estes <aestes@apple.com>
WebProcessMainMac.mm doesn't need to import WKView.h.
Rubber-stamped by Anders Carlsson.
* WebProcess/mac/WebProcessMainMac.mm:
2012-05-30 Marcelo Lira <marcelo.lira@openbossa.org>
WebKit2: Implement layoutTestController.setPluginsEnabled() in WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=58593
Adds the ability to change the pluginsEnabled flag in WebCore::Settings
to WebKitTestRunner's LayoutTestController. The flag is modified via the
public C API of the WebProcess.
Reviewed by Darin Adler.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetPluginsEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPluginsEnabled): Calls the setPluginsEnabled
method for the WebCore::Settings of each WebCore::Page in the current
page group.
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
2012-05-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
HashTable.h has using directives for std::pair and std::make_pair
https://bugs.webkit.org/show_bug.cgi?id=29919
Reviewed by Darin Adler.
Change code to use std::pair and std::make_pair.
* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
(WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::postMessageToInjectedBundle):
2012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
Unreviewed: Fix wrongly typed Qt slot.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Move ViewportAttribute related methods to the interaction engine.
https://bugs.webkit.org/show_bug.cgi?id=87855
Reviewed by Simon Hausmann.
Move the logic of didChange{ViewportProperties|ContentsSize} to the
interaction engine and update our testing object.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
(QQuickWebViewFlickablePrivate::didChangeViewportProperties):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::contentsScale):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::initialScale):
(QWebKitTest::minimumScale):
(QWebKitTest::maximumScale):
(QWebKitTest::isScalable):
(QWebKitTest::layoutSize):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
(WebKit):
(WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
2012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Do renames in ViewportInteractionEngine as agreed upon
https://bugs.webkit.org/show_bug.cgi?id=87845
Reviewed by Simon Hausmann.
Mostly moving methods around and renaming them to be more
consistent and avoid terminology clashes.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::didChangeViewportProperties):
(QQuickWebViewFlickablePrivate::pageDidRequestScroll):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::boundPosition):
(WebKit):
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::setPageItemRectVisible):
(WebKit::QtViewportInteractionEngine::animatePageItemRectVisible):
(WebKit::QtViewportInteractionEngine::flickMoveStarted):
(WebKit::QtViewportInteractionEngine::flickMoveEnded):
(WebKit::QtViewportInteractionEngine::pageItemPositionChanged):
(WebKit::QtViewportInteractionEngine::pageContentPositionRequest):
(WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
(WebKit::QtViewportInteractionEngine::computePosRangeForPageItemAtScale):
(WebKit::QtViewportInteractionEngine::focusEditableArea):
(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
(WebKit::QtViewportInteractionEngine::nearestValidBounds):
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
(WebKit::QtViewportInteractionEngine::pinchGestureEnded):
(WebKit::QtViewportInteractionEngine::pageItemSizeChanged):
* UIProcess/qt/QtViewportInteractionEngine.h:
(WebKit::QtViewportInteractionEngine::setDevicePixelRatio):
(QtViewportInteractionEngine):
2012-05-30 Mariusz Grzegorczyk <mariusz.g@samsung.com>, Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Fix WebKit2-EFL build
https://bugs.webkit.org/show_bug.cgi?id=83693
Reviewed by Carlos Garcia Campos.
* CMakeLists.txt: Move IDL generator codes to generate port specific *.messages.in.
* PlatformEfl.cmake: Add soup related files after r115411 and includes to fix build break.
* UIProcess/API/efl/PageClientImpl.cpp: Fix build break with ENABLE_TOUCH_EVENTS.
(WebKit):
(WebKit::PageClientImpl::doneWithTouchEvent):
* UIProcess/API/efl/PageClientImpl.h:
(PageClientImpl):
* WebProcess/WebCoreSupport/WebChromeClient.cpp: Fix build break with ENABLE_INPUT_TYPE_COLOR and ENABLE_REGISTER_PROTOCOL_HANDLER.
(WebKit):
(WebKit::WebChromeClient::createColorChooser):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Fix build break with ENABLE_WEB_INTENTS
(WebKit):
(WebKit::WebFrameLoaderClient::dispatchIntent):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebCore):
(WebFrameLoaderClient):
* WebProcess/WebProcess.cpp: Guard PLATFORM_STRATEGIES codes.
(WebKit::WebProcess::didGetPlugins):
* WebProcess/soup/WebSoupRequestManager.cpp: Try to share with EFL port.
(WebKit::WebSoupRequestManager::didHandleURIRequest):
2012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Variable renaming as preparation of further refactoring.
Rubberstamped by Simon Hausmann.
Change m_viewport to m_viewportItem and m_content to m_pageItem.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
(WebKit::QtViewportInteractionEngine::animateItemRectVisible):
(WebKit::QtViewportInteractionEngine::flickableMoveStarted):
(WebKit::QtViewportInteractionEngine::flickableMoveEnded):
(WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
(WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
(WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
(WebKit::QtViewportInteractionEngine::focusEditableArea):
(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
(WebKit::QtViewportInteractionEngine::nearestValidBounds):
(WebKit::QtViewportInteractionEngine::reset):
(WebKit::QtViewportInteractionEngine::setCSSScale):
(WebKit::QtViewportInteractionEngine::currentCSSScale):
(WebKit::QtViewportInteractionEngine::scrollAnimationActive):
(WebKit::QtViewportInteractionEngine::panGestureActive):
(WebKit::QtViewportInteractionEngine::panGestureStarted):
(WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::panGestureEnded):
(WebKit::QtViewportInteractionEngine::panGestureCancelled):
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
(WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::scaleContent):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
2012-05-30 Zalan Bujtas <zbujtas@gmail.com>
[Qt][WK2] Do not use anonymous variables for ViewportUpdateDeferrer.
https://bugs.webkit.org/show_bug.cgi?id=87831
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
(WebKit::QtViewportInteractionEngine::itemSizeChanged):
2012-05-30 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix WebKit2GTK+ API tests in the bots.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewCanShowMIMEType): Remove the check for multimedia and
plugins MIME types since they depend on the configuration and they
are not available in the bots.
2012-05-29 Jer Noble <jer.noble@apple.com>
Noticeable delay taking an HTML5 trailer fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=87794
Reviewed by Darin Adler.
Work around a not-entirely understood delay when using the results of a CGWindowListCreateImage()
call as the contents of a placeholder view. The backing of the resulting CGImageRef resides on
the WindowServer, and drawing that image requires synchronous calls to the WindowServer process.
By copying the image data, up front, into our own process, we can avoid those synchronous calls
later and avoid the delay-causing drawing behavior.
* UIProcess/mac/WKFullScreenWindowController.mm:
(CGImageDeepCopy): Added a helper function which copies the image data into a new CGImage.
(-[WKFullScreenWindowController enterFullScreen:]): Use the above.
2012-05-29 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[GTK] [WK2] Reproducible crash in performDragControllerAction
https://bugs.webkit.org/show_bug.cgi?id=87744
Reviewed by Martin Robinson.
Fix a crash by using deref() instead of delete to dereference and
release the platformData of DragData.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):
2012-05-29 Simon Pena <spena@igalia.com>
[GTK] Missing field initializers for WKPageLoaderClient and WKPageUIClient
https://bugs.webkit.org/show_bug.cgi?id=87745
Reviewed by Carlos Garcia Campos.
Add missing initializers for WKPageLoaderClient and
WKPageUIClient, for callbacks WKPagePluginDidFailCallback and
WKPageUnavailablePluginButtonClickedCallback, introduced in
revision r116716.
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView): Initialize WKPagePluginDidFailCallback
* UIProcess/API/gtk/WebKitUIClient.cpp:
(attachUIClientToView): Initialize callback
WKPageUnavailablePluginButtonClickedCallback
2012-05-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Policy decision headers are not included in the main webkit2.h header
https://bugs.webkit.org/show_bug.cgi?id=87753
Reviewed by Martin Robinson.
* UIProcess/API/gtk/webkit2.h: Include
WebKitNavigationPolicyDecision.h and WebKitResponsePolicyDecision.h.
2012-05-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add webkit_web_view_can_show_mime_type() to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=85998
Reviewed by Martin Robinson.
And use it in the default handler of WebKitWebView::decide-policy
signal to decide whether to use or ignore a response policy
decision depending on whether the mime type of the response can be
displayed in the WebView or not.
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkitURIResponseGetProperty): Add getter for mime-type property.
(webkit_uri_response_class_init): Add mime-type property.
(webkit_uri_response_get_mime_type): Return the mime type of the
response.
* UIProcess/API/gtk/WebKitURIResponse.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewDecidePolicy): In case of response policy decisions,
use the URI response to decide what to do: download if the
response is an attachment, use if the mime type is supported by
the web view or ignore otherwise.
(webkit_web_view_can_show_mime_type): Returns whether the given
mime type can be displayed in the WebView or not.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebResourceResponse):
(testWebResourceMimeType):
(serverCallback):
(beforeAll):
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewCanShowMIMEType):
(beforeAll):
2012-05-29 David Barr <davidbarr@chromium.org>
Introduce ENABLE_CSS_IMAGE_RESOLUTION compile flag
https://bugs.webkit.org/show_bug.cgi?id=87685
Reviewed by Eric Seidel.
Add a configuration option for CSS image-resolution support, disabling it by default.
* Configurations/FeatureDefines.xcconfig:
2012-05-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt] Move tests from DesktopBehavior which can be made to work
https://bugs.webkit.org/show_bug.cgi?id=87736
Rubberstamped by Simon Hausmann.
Move and modify the following tests to WebView/ and make them
use touch events.
* UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml.
* UIProcess/API/qt/tests/qmltests/WebView/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml.
* UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml.
* UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml.
2012-05-29 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Sync up favicon-implementation with WebView url changes in r118158
https://bugs.webkit.org/show_bug.cgi?id=87133
We now base64-encode the page url in the image-provider url, so that any
normalization done by QUrl will not mess up the page-url. The logic of
creating and parsing the provider-url has been moved into the image
provider, to keep it in one place.
We were also releasing icons (even ones we hadn't retained), which we can't
do since we don't know when the icon url is no longer in use.
Reviewed-by Simon Hausmann.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewPrivate::loadProgressDidChange):
(QQuickWebViewPrivate::_q_onUrlChanged):
(QQuickWebViewPrivate::_q_onIconChangedForPageURL):
(QQuickWebViewPrivate::updateIcon):
(QQuickWebView::icon):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/qwebiconimageprovider.cpp:
(QWebIconImageProvider::iconURLForPageURLInContext):
(QWebIconImageProvider::requestImage):
* UIProcess/API/qt/qwebiconimageprovider_p.h:
(WebKit):
* UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
* UIProcess/qt/QtWebIconDatabaseClient.cpp:
(WebKit::QtWebIconDatabaseClient::didChangeIconForPageURL):
(WebKit::QtWebIconDatabaseClient::iconForPageURL):
(WebKit):
(WebKit::QtWebIconDatabaseClient::iconImageForPageURL):
* UIProcess/qt/QtWebIconDatabaseClient.h:
(QtWebIconDatabaseClient):
2012-05-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
[Qt][WK2] Fix failing qmltests::FitToView::test_basic()
https://bugs.webkit.org/show_bug.cgi?id=87236
Reviewed by Simon Hausmann.
The fix is a combination of things. First of all some events
were emitted at the wrong times or when nothing had changed.
We also initialized the view saying it was suspended which is
not correct.
Another bug was that the touch tap, didn't result in marking
the view as having user interaction. This was recently fixed
in r118493.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::setContentsScale):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
Make sure pageIsSuspended is initialized to false.
(QQuickWebViewFlickablePrivate::_q_onInformVisibleContentChange):
Early bail out if there is no change.
Inform contentScaleCommitted if the scale changed since last time.
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
Make sure to commit the right signals, ie. *Changed and not *Committed.
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qwebkittest.cpp:
(touchPoint):
(QWebKitTest::sendTouchEvent):
(QWebKitTest::touchTap):
(QWebKitTest::touchDoubleTap):
Add proper touch emulation for the testing system. Call directly
to our WebKit API (avoid Qt event loop) to ensure all events gets
delivered.
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
Assert that a ViewportUpdateDeferrer is always used when calling
this method.
(WebKit::QtViewportInteractionEngine::animateItemRectVisible):
Remove work around now we have the proper fix in place.
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
Do not send the informVisibleContentChange manually, use the
ViewportUpdateDeferrer instead.
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
Add missing ViewportUpdateDeferrer.
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
No reason to emit informVisibleContentChange before pinch
start, as it is always done on end (due to the ViewportUpdateDeferrer).
(WebKit::QtViewportInteractionEngine::itemSizeChanged):
Add missing ViewportUpdateDeferrer.
2012-05-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
[Qt] [WK2] Allow user to inject JS scripts when the page loads
https://bugs.webkit.org/show_bug.cgi?id=85827
Reviewed by Simon Hausmann.
Create a new experimental property to list URLs of JS scripts that should be
loaded when a page is loaded. These scripts will run in the normal JS environment
of the page.
The supported URL schemes are file:/// and qrc:///. The scripts are read from the
UI process and transfered to the Web process.
Together with the experimental messaging API this provides a way for the
application to manipulate the DOM (by injecting a script that does the
manipulation and communicating with it via postMessage). This covers some of the
use cases of QWebElement in our WK1 API.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::didRelaunchProcess):
(readUserScript):
(QQuickWebViewPrivate::updateUserScripts):
(QQuickWebViewExperimental::userScripts):
(QQuickWebViewExperimental::setUserScripts):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView.pro:
* UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Added.
* UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Added.
* UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Added.
* UIProcess/API/qt/tests/qmltests/resources.qrc: Added.
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::setUserScripts):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::setUserScripts):
(WebKit):
2012-05-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r118752.
http://trac.webkit.org/changeset/118752
https://bugs.webkit.org/show_bug.cgi?id=87731
incomplete patch (Requested by cmarcelo on #webkit).
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::didRelaunchProcess):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView.pro:
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/qt/WebPageProxyQt.cpp:
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/qt/WebPageQt.cpp:
2012-05-21 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
[Qt] [WK2] Allow user to inject JS scripts when the page loads
https://bugs.webkit.org/show_bug.cgi?id=85827
Reviewed by Simon Hausmann.
Create a new experimental property to list URLs of JS scripts that should be
loaded when a page is loaded. These scripts will run in the normal JS environment
of the page.
The supported URL schemes are file:/// and qrc:///. The scripts are read from the
UI process and transfered to the Web process.
Together with the experimental messaging API this provides a way for the
application to manipulate the DOM (by injecting a script that does the
manipulation and communicating with it via postMessage). This covers some of the
use cases of QWebElement in our WK1 API.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::didRelaunchProcess):
(readUserScript):
(QQuickWebViewPrivate::updateUserScripts):
(QQuickWebViewExperimental::userScripts):
(QQuickWebViewExperimental::setUserScripts):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView.pro:
* UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Added.
* UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Added.
* UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Added.
* UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Added.
* UIProcess/API/qt/tests/qmltests/resources.qrc: Added.
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::setUserScripts):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::setUserScripts):
(WebKit):
2012-05-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add return value information to WebKitWebView::load-failed signal documentation
https://bugs.webkit.org/show_bug.cgi?id=87704
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
2012-05-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add WebKitWebInspector.h to the list of WebKit2 GTK public headers
https://bugs.webkit.org/show_bug.cgi?id=87703
Reviewed by Martin Robinson.
* GNUmakefile.list.am: Add WebKitWebInspector.h to webkit2gtk_h_api.
2012-05-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
WebKitTestRunner needs to support layoutTestController.setJavaScriptProfilingEnabled
https://bugs.webkit.org/show_bug.cgi?id=42328
Reviewed by Eric Seidel.
Removed unneeded setJavaScriptProfilingEnabled function from WTR after its
move to windows.internals.settings.
* WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleInspector.h:
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::setJavaScriptProfilingEnabled):
* win/WebKit2.def:
2012-05-28 No'am Rosenthal <noam.rosenthal@nokia.com>
Remove unused argument coders for animation
https://bugs.webkit.org/show_bug.cgi?id=87435
Reviewed by Sam Weinig.
Left the used argument coders only, behind a proper USE(UI_SIDE_COMPOSITING) flag.
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC):
* Shared/WebCoreArgumentCoders.h:
2012-05-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Move allowRoundingHacks to Internals interface
https://bugs.webkit.org/show_bug.cgi?id=87328
Reviewed by Hajime Morita.
* win/WebKit2.def: Add setAllowsRoundingHacks() to symbol filter.
2012-05-26 Geoffrey Garen <ggaren@apple.com>
WebKit should be lazy-finalization-safe (esp. the DOM) v2
https://bugs.webkit.org/show_bug.cgi?id=87581
Reviewed by Oliver Hunt.
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::destroy):
(WebKit::JSNPObject::leakNPObject):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::finalize): Use static_cast instead of jsCast because
jsCast does Structure-based validation, and our Structure is not guaranteed
to be alive when we get finalized.
2012-05-25 Maciej Stachowiak <mjs@apple.com>
REGRESSION (r116720): Subframe PDF scrolls extremely slowly
https://bugs.webkit.org/show_bug.cgi?id=87557
<rdar://problem/11499408>
Reviewed by Anders Carlsson.
It's not possible to make an automated test for this.
* WebProcess/Plugins/PDF/BuiltInPDFView.mm:
(WebKit::BuiltInPDFView::wantsWheelEvents): Return true instead of false and delete
misleading comment. While the built-in PDF view would get added to the set of scrollable
areas anyway, there are some code paths that check wantsWheelEvents explicitly, so it seems
necessary to reutrn true.
2012-05-25 Brady Eidson <beidson@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=87418
WebBackForwardList should separate "has no current index" from the integer value of the current index
This patch also renames "m_current" to "m_currentIndex" for clarity and symmetry with
other variable names that reference "index",
It also removes the m_closed and m_enabled flags which were never actually used.
Reviewed by Darin Adler.
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::WebBackForwardList):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::currentItem):
(WebKit::WebBackForwardList::backItem):
(WebKit::WebBackForwardList::forwardItem):
(WebKit::WebBackForwardList::itemAtIndex):
(WebKit::WebBackForwardList::backListCount):
(WebKit::WebBackForwardList::forwardListCount):
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::clear):
* UIProcess/WebBackForwardList.h:
(WebKit::WebBackForwardList::currentIndex):
(WebBackForwardList):
* UIProcess/cf/WebBackForwardListCF.cpp:
(WebKit::WebBackForwardList::createCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
2012-05-25 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=87529
Background tabs hosted in window server flash before painting
when they first become active
Reviewed by Anders Carlsson.
Initialize to LayerHostingModeInWindowServer if that is
available to avoid having to re-make the context and re-set
everything later on.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
2012-05-25 Mario Sanchez Prada <msanchez@igalia.com>
[GTK][WK2] Implement API for generic permission requests
https://bugs.webkit.org/show_bug.cgi?id=84018
Reviewed by Martin Robinson.
Added new 'permission-request' signal to WebKitWebView, to be
fired when WebKit needs confirmation from the user on whether to
allow or deny certain operations, such as sharing the user's
location with web site through the Geolocation API.
New WebKitPermissionRequest interface, providing allow() and
deny() operations, to be called over the objects implementing it
when emitted along with the new 'permission-request' signal.
* UIProcess/API/gtk/WebKitPermissionRequest.cpp: Added.
(webkit_permission_request_default_init):
(webkit_permission_request_allow):
(webkit_permission_request_deny):
* UIProcess/API/gtk/WebKitPermissionRequest.h: Added.
(_WebKitPermissionRequestIface):
* GNUmakefile.am: Added new files.
Added the new signal to WebKitWebView, providing a default handler
that will just deny the request when the signal is not handled.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewDecidePermissionRequest): Default handler.
(webkit_web_view_class_init): Declare the new signal and connect
to the default handler.
(webkitWebViewMakePermissionRequest): Helper function to create a
make a new permission request and emit the new signal signal.
* UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass):
* UIProcess/API/gtk/WebKitWebViewPrivate.h: Declare the creational
function webkitWebViewMakePermissionRequest for internal use only.
Updated documentation files.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2012-05-25 Grzegorz Czajkowski <g.czajkowski@samsung.com>
[WK2] Fix client interface size for WKPageContextMenuClient.
https://bugs.webkit.org/show_bug.cgi?id=87472
Reviewed by Carlos Garcia Campos.
Add correct offset for version 1 and 2 of WKPageContextMenuClient.
Revision 109750 introduces a new API and increases size of interfaceSizesByVersion
but the table is not properly initialized for newly introduced version 2.
* Shared/APIClientTraits.cpp:
(WebKit):
2012-05-24 Andreas Kling <kling@webkit.org>
Mac bots crashing under PluginInfo destructor.
<http://webkit.org/b/87414>
<rdar://problem/11527172>
Reviewed by Darin Adler.
We can't safely pass WTF::String to another thread without a deref() race,
so pass the PluginInfo vector by pointer instead of by value.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::sendDidGetPlugins):
(WebKit::WebContext::handleGetPlugins):
* UIProcess/WebContext.h:
2012-05-25 Zalan Bujtas <zbujtas@gmail.com>
[Qt][WK2] Fix failing qmltests::FitToView::test_basic()
https://bugs.webkit.org/show_bug.cgi?id=87236
Reviewed by Kenneth Rohde Christiansen.
Rename contentViewportChanged to informVisibleContentChange() to
reflect its functionality better. Centralize m_hadUserInteraction flag
setting and add assertions on it to ensure that designated
functions are called only on user interaction.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::_q_onInformVisibleContentChange):
(QQuickWebViewFlickablePrivate::_q_resume):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::_q_onInformVisibleContentChange):
(QQuickWebViewFlickablePrivate):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
(WebKit::QtViewportInteractionEngine::touchBegin):
(WebKit::QtViewportInteractionEngine::focusEditableArea):
(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
(WebKit::QtViewportInteractionEngine::panGestureStarted):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
2012-05-24 Tim Horton <timothy_horton@apple.com>
Add feature defines for web-facing parts of CSS Regions and Exclusions
https://bugs.webkit.org/show_bug.cgi?id=87442
<rdar://problem/10887709>
Reviewed by Dan Bernstein.
* Configurations/FeatureDefines.xcconfig:
2012-05-24 Geoffrey Garen <ggaren@apple.com>
WebKit should be lazy-finalization-safe (esp. the DOM)
https://bugs.webkit.org/show_bug.cgi?id=87456
Reviewed by Filip Pizlo.
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use the new idioms.
(WebKit::NPRuntimeObjectMap::invalidate): Check for null while iterating,
since that's possible now.
(WebKit::NPRuntimeObjectMap::finalize): Use the new idioms.
2012-05-24 Brady Eidson <beidson@apple.com>
Fix the build after http://trac.webkit.org/changeset/118441
Also fix a glaring bug with the new code, will run it by original reviewer retroactively.
* UIProcess/cf/WebBackForwardListCF.cpp:
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fix up the types of the ? operands
to appease super-strict compilers. Don't allow negative indexes (besides the -1 "No index" index).
2012-05-24 Brady Eidson <beidson@apple.com>
<rdar://problem/10090764> and https://bugs.webkit.org/show_bug.cgi?id=87417
(Unrepro) Crashes saving session state in WebBackForwardList
Reviewed by Darin Adler.
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem): Null check the proposed item and also m_page, to make
sure the page hasn't been closed making this list inactive. Be more aggressive about
clearing the current entries out if there is no current item index.
(WebKit::WebBackForwardList::itemAtIndex): Early null return if there is no current index.
(WebKit::WebBackForwardList::clear): Don't put the current item back in the array if there was
no current item.
* UIProcess/cf/WebBackForwardListCF.cpp:
(WebKit::WebBackForwardList::createCFDictionaryRepresentation): Don't create a meaningless WebURL.
Don't successfully return a dictionary if any of the entries were null. Be more aggressive about
validating the current index we plan to return in the dictionary.
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): More aggressively validate the
current index read from disk. Replace a meaningless sanity check with our typical ASSERT.
2012-05-24 Anders Carlsson <andersca@apple.com>
Make sure that the layer hosting mode is up-to-date when reconnecting to a new web process
https://bugs.webkit.org/show_bug.cgi?id=87421
<rdar://problem/11510337>
Reviewed by Beth Dakin.
Send over the layer hosting mode as part of the web page creation parameters and create the right
layer hosting context based on the mode.
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
(WebKit):
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
2012-05-24 John Mellor <johnme@chromium.org>
Font Boosting: Add compile flag and runtime setting
https://bugs.webkit.org/show_bug.cgi?id=87394
Reviewed by Adam Barth.
Add ENABLE_FONT_BOOSTING.
* Configurations/FeatureDefines.xcconfig:
2012-05-24 Yael Aharon <yael.aharon@nokia.com>
[Qt] Stop using the flag FIXED_POSITION_CREATES_STACKING_CONTEXT
https://bugs.webkit.org/show_bug.cgi?id=87392
Reviewed by Antonio Gomes.
Turn on the setting setFixedPositionCreatesStackingContext.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setResizesToContentsUsingLayoutSize):
2012-05-24 Alexey Proskuryakov <ap@apple.com>
[WK2] Let the client give local files universal access on a case by case basis
https://bugs.webkit.org/show_bug.cgi?id=87174
<rdar://problem/11024330>
Reviewed by Maciej Stachowiak.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldForceUniversalAccessFromLocalURL):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/qt/QtBuiltinBundlePage.cpp:
(WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
Added glue code to call bundle client.
2012-05-24 Alexander Færøy <alexander.faeroy@nokia.com>
Reorder arguments to compare() in the QML WebView tests
https://bugs.webkit.org/show_bug.cgi?id=87374
Reviewed by Simon Hausmann.
Based on patch by Kenneth Rohde Christiansen.
The reordering is necessary to get correct information printed when
the tests fails. Without this, the test suite will display the bogus
value and not the expected value.
This patch also removes the delayed windowShown since this is not
needed anymore, due to us using the touch events instead of mouse
events.
* UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
2012-05-24 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Tiles not painted after wheel or keyboard scroll.
https://bugs.webkit.org/show_bug.cgi?id=87358
Reviewed by Kenneth Rohde Christiansen.
After performing a scroll requested from the WebProcess we also need
to inform the painting layer of the viewport change.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::pagePositionRequest):
2012-05-24 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] Fix bounce-back animation on pinch->pan
https://bugs.webkit.org/show_bug.cgi?id=87266
Reviewed by Kenneth Rohde Christiansen.
If ending an out-of-bounds pinch gesture with releasing one finger
(transition to a pan gesture) the bounce back animation blinks in
the end position immediately first, then animates the content back
into bounds.
QtViewportInteractionEngine::cancelScrollAnimation should return
early if there is no active kinetic animation.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
2012-05-23 Ojan Vafai <ojan@chromium.org>
add back the ability to disable flexbox
https://bugs.webkit.org/show_bug.cgi?id=87147
Reviewed by Tony Chang.
* Configurations/FeatureDefines.xcconfig:
2012-05-23 Jer Noble <jer.noble@apple.com>
REGRESSION (117623) - Entering/exiting fullscreen HTML5 videos, there is a quick animated fade
https://bugs.webkit.org/show_bug.cgi?id=87294
Reviewed by Darin Adler.
When setting the sublayers array on the layer hosting view, wrap the call in a CATransaction which disables
animations.
* UIProcess/API/mac/WKView.mm:
(-[WKView _updateAcceleratedCompositingMode:WebKit::]):
2012-05-23 Dinu Jacob <dinu.jacob@nokia.com>
[Qt][Wk2] Assertion failure when selecting an option in select list with size attribute greater than one
https://bugs.webkit.org/show_bug.cgi?id=86974
Reviewed by Simon Hausmann.
Select list with size attribute greater than one will not initially have any
item in selected state (if no option has 'selected' tag), resulting in
m_selectedModelIndex in WebPopupMenuProxyQt to be invalid. Hence, need to check
whether the old index is invalid before accessing the item at that index.
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Added new test that
tests selection in a select list with size attribute value of 2.
* UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Added.
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
(WebKit::PopupMenuItemModel::select): Check whether old index is valid before accessing
the item at that index.
2012-05-23 Jer Noble <jer.noble@apple.com>
REGRESSION (r116188): After exiting full screen, Safari window is frozen, then inline video speeds through frames as it catches up with audio
https://bugs.webkit.org/show_bug.cgi?id=87206
Reviewed by Darin Adler.
When re-enabling the Safari window's autodisplay flag, also force the window to re-display.
Otherwise, the window will not repaint itself until it is forced to by user interaction.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
2012-05-23 Martin Robinson <mrobinson@igalia.com>
[GTK] [WebKit2] Add an API to enable and disable composited layer indicators
https://bugs.webkit.org/show_bug.cgi?id=87053
Reviewed by Carlos Garcia Campos.
Add a WebKitSetting that allows the client to enable and disable debug
borders and repaint counters for accelerated content.
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty): Added.
(webKitSettingsGetProperty): Added.
(webkit_settings_class_init): Add the new property.
(webkit_settings_set_draw_compositing_indicators): Added.
(webkit_settings_get_draw_compositing_indicators): Added.
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API points to the
documentation.
* UIProcess/API/gtk/test/TestWebKitSettings.h: Add a new unit test.
2012-05-23 Michael BrĂĽning <michael.bruning@nokia.com>
[Qt][WK2] Small refactoring WebPage::confirmComposition.
https://bugs.webkit.org/show_bug.cgi?id=87243
Reviewed by Kenneth Rohde Christiansen.
Change nested if into an early return to reduce complexity.
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::confirmComposition):
2012-05-22 Alexander Færøy <alexander.faeroy@nokia.com>
[Qt] Missing tests for the evaluateJavaScript API
https://bugs.webkit.org/show_bug.cgi?id=86351
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml:
* UIProcess/API/qt/tests/qmltests/common/evaluatejavascript.html: Added.
2012-05-23 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] FloatSize Qt Support
https://bugs.webkit.org/show_bug.cgi?id=87237
Reviewed by Andreas Kling.
Basic cleanup possible to new Qt support in FloatSize.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::updateSize):
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::layoutSize):
2012-04-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Make the web view's url property follow the active url
https://bugs.webkit.org/show_bug.cgi?id=77554
The url property of the webview now reflects the 'active' url of the
page, which maps to either the currently loading url, in the case of
an ongoing load, or the result of a load, even when the load failed.
In practice this means that setting the url though QML, or navigating
to a new url in the page by e.g clicking, will both instantly change
the url-property of the webview to the target url. This differs from
earlier behavior, where we would update the url when the load
committed.
An optional argument is added to loadHtml(), to allow setting
the unreachable url when providing replacement content for failed
loads.
Finally, the location bar in the minibrowser is updated to behave
a bit more like normal browsers in terms of when the url will change
and how active focus is handled.
Reviewed by Simon Hausmann.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::onComponentComplete):
(QQuickWebView::reload):
(QQuickWebView::url):
(QQuickWebView::setUrl):
(QQuickWebView::loadHtml):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/WebView.pro:
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
* UIProcess/API/qt/tests/qmltests/common/link.html: Added.
* UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
* UIProcess/qt/QtWebPageLoadClient.cpp:
(QtWebPageLoadClient::QtWebPageLoadClient):
(QtWebPageLoadClient::didStartProvisionalLoadForFrame):
(QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(QtWebPageLoadClient::didCommitLoadForFrame):
(QtWebPageLoadClient::dispatchLoadFailed):
(QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
(QtWebPageLoadClient::didFailLoadWithErrorForFrame):
* UIProcess/qt/QtWebPageLoadClient.h:
(QtWebPageLoadClient):
2012-05-23 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Race condition in LayerTreeHost/Proxy can cause blank rendering
https://bugs.webkit.org/show_bug.cgi?id=87239
Reviewed by Kenneth Rohde Christiansen.
On the UI process side the WebLayerTreeRenderer/LayerTreeHostProxy pair is
created with m_active = false, which makes it ignore any incoming layer updates.
It remains inactive until the ContentsSGNode is created and setActive(true) is called.
On the web process side the LayerTreeHost is created with m_waitingForUIProcess = false.
Those two variables must be in sync, otherwise a race condition can
happen: The web process sends updates to the ui process before the
ContentsSGNode is created. This can happen for example when re-using an
existing WebProcess to create a QQuickWebView and load a page very fast
from the disk cache. The update arrives on the ui process side, but it
is discarded because setActive(true) hasn't been called yet. As a
result any updates that would for example create and populate the tiles
required for rendering are ignored.
This patch ensures that the variables are initialized with the same values and that calling
setActive(true) will trigger the rendering of the next frame.
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::setActive):
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::LayerTreeHostQt):
2012-05-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Make QtWebError return the failing URL as a QString instead of QUrl
We don't want to use QUrl inside QtWebKit (only in the API layer), due
to how QUrl normalizes the url.
Reviewed by Simon Hausmann.
* UIProcess/qt/QtWebError.cpp:
(WebKit::QtWebError::url):
* UIProcess/qt/QtWebError.h:
2012-05-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add inspector API to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=87113
Reviewed by Martin Robinson.
* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/C/gtk/WKInspectorClientGtk.cpp: Added.
(WKInspectorSetInspectorClientGtk):
* UIProcess/API/C/gtk/WKInspectorClientGtk.h: Added.
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitWebInspector.cpp: Added.
(webkitWebInspectorFinalize):
(webkit_web_inspector_init):
(webkit_web_inspector_class_init):
(openWindow): Emit WebKitWebInspector::open-window singal.
(didClose): Emit WebKitWebInspector::closed signal.
(bringToFront): Emit WebKitWebInspector::bring-to-front singal.
(inspectedURLChanged): Set the inspected URI and emit
GObject::notify signal if it changed.
(attach): Emit WebKitWebInspector::attach signal.
(detach): Emit WebKitWebInspector::detach signal.
(didChangeAttachedHeight): Set the attached height and emit
GObject::notify signal if it changed.
(webkitWebInspectorCreate): Ceate a new WebKitWebInspector object
for the given WKInspector. Also initialize and set the inspector
client.
(webkit_web_inspector_get_web_view): Return the web view used to
render the inspector.
(webkit_web_inspector_get_inspected_uri): Return the URI that is
being inspected.
(webkit_web_inspector_is_attached): Whether the inspector view is
currently attached.
(webkit_web_inspector_attach): Request to attach the inspector.
(webkit_web_inspector_detach): Request to detach the inspector.
(webkit_web_inspector_show): Request to show the inspector.
(webkit_web_inspector_close): Request to close the inspector.
(webkit_web_inspector_get_attached_height): Return the height that
the inspector view should have when attached.
* UIProcess/API/gtk/WebKitWebInspector.h: Added.
* UIProcess/API/gtk/WebKitWebInspectorPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_inspector): Return the WebKitWebInspector
associated to the web view.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
WebKitWebInspector.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ad new symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add
webkit_web_inspector_get_type.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for the
inspector API.
* UIProcess/API/gtk/tests/TestInspector.cpp: Added.
(testInspectorDefault):
(testInspectorCustom):
(testInspectorWindowDestroyed):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::showInWindowAndWaitUntilMapped): Add optional
parameter to create a toplevel or popup window.
(WebViewTest::resizeView): Helper function to set the widget
allocation to a given size.
* UIProcess/API/gtk/tests/WebViewTest.h:
* UIProcess/API/gtk/webkit2.h: Include WebKitWebInspector.h
* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::inspectorView): Return the view used
to render the inspector.
* UIProcess/gtk/WebInspectorClientGtk.cpp: Added.
(WebKit::WebInspectorClientGtk::openWindow):
(WebKit::WebInspectorClientGtk::didClose):
(WebKit::WebInspectorClientGtk::bringToFront):
(WebKit::WebInspectorClientGtk::inspectedURLChanged):
(WebKit::WebInspectorClientGtk::attach):
(WebKit::WebInspectorClientGtk::detach):
(WebKit::WebInspectorClientGtk::didChangeAttachedHeight):
* UIProcess/gtk/WebInspectorClientGtk.h: Added.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::inspectorViewDestroyed): Close the inspector page when
the inspector view is destroyed, instead of when the inspector
window is deleted, because the inspector view can now be inside a
window created by the user.
(WebKit::WebInspectorProxy::initializeInspectorClientGtk):
Initialze the inspector client.
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Add a
weak pointer to the inspector view to make sure it's NULL when
destroyed.
(WebKit::WebInspectorProxy::createInspectorWindow): Call
openWindow on the inspector client, and return early if the
callback was handled.
(WebKit::WebInspectorProxy::platformOpen): Connect to destroy
signal of the inspector view to close the page when the view is
destroyed.
(WebKit::WebInspectorProxy::platformDidClose): Call didClose on
the inspector client.
(WebKit::WebInspectorProxy::platformBringToFront): Call
bringToFront on the inspector client, and return early if the
callback was handled.
(WebKit::WebInspectorProxy::platformInspectedURLChanged): Call
inspectedURLChanged on the inspector client.
(WebKit::WebInspectorProxy::platformAttach): Call attach on the
inspector client and return if the callback was handled.
(WebKit::WebInspectorProxy::platformDetach): Call detach on the
inspector client and return if the callback was handled.
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Call
didChangeAttachedHeight on the inspector client.
2012-05-22 Anders Carlsson <andersca@apple.com>
Functions dispatched by dispatchAfterEnsuringUpdatedScrollPosition can be called after drawing area has been destroyed
https://bugs.webkit.org/show_bug.cgi?id=87173
<rdar://problem/11474087>
Reviewed by Beth Dakin.
Don't try to call forceRepaint if the drawing area has already been destroyed.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
2012-05-22 Anders Carlsson <andersca@apple.com>
Crash when a plug-in view outlives its containing WebPage
https://bugs.webkit.org/show_bug.cgi?id=87163
<rdar://problem/10849258>
Reviewed by Dan Bernstein.
In rare cases, when a plug-in is kept alive for some reason it can outlive its WebPage. When that happens,
the PluginView destructor will try to access the (deleted) web page and we'll crash.
Fix this by making the WebPage destructor iterate over all the registered plug-ins and null out the m_webPage pointer.
Don't try to access the WebPage object if it's null.
Also, remove PLATFORM(MAC) ifdefs around the HashSet of known plug-in views as well as the member functions that access the set;
we want this to be cross platform now.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::PluginView):
(WebKit::PluginView::~PluginView):
(WebKit::PluginView::webPageDestroyed):
(WebKit):
* WebProcess/Plugins/PluginView.h:
(PluginView):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::scalePage):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
== Rolled over to ChangeLog-2012-05-22 ==