Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: 43f90141d4
Fetching contributors…

Cannot retrieve contributors at this time

15844 lines (12237 sloc) 666.828 kB
2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
https://bugs.webkit.org/show_bug.cgi?id=95965
Reviewed by Tor Arne Vestbø.
Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
headers (GraphicsContext3D.h in particular).
* Target.pri:
2012-09-06 Andras Becsi <andras.becsi@nokia.com>
[WK2] Make [Qt]ViewportHandler cross platform
https://bugs.webkit.org/show_bug.cgi?id=91257
Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
Since QtViewportHandler includes behaviour that is not platform
specific together with hooks to the QtQuick API layer, a platform
independent implementation would allow other ports to use the
viewport controlling functionality provided.
This patch removes QtViewportHandler and introduces a platform
independent PageViewportController class that is responsible
for handling requests from the web process (eg. content size
changes, viewport attributes changes and scroll position requests).
Requests from the web process are acted on by a platform specific
client class which implements the PageViewportControllerClient
interface which provides hooks to the platform specific API layer.
The PageViewportController is also responsible to notify the web
process about changes in the viewport state (eg. viewport size,
visible rect, content scale and movement trajectory).
The client is responsible to delegate these UI changes to the
PageViewportController.
For now only PageViewportControllerClientQt implements the client
interface besides providing other QQuick specific functionality
(gestures, animations, etc).
* Target.pri:
* UIProcess/API/qt/qquickwebpage_p_p.h:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::didChangeViewportProperties):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::pageDidRequestScroll):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
* UIProcess/API/qt/qquickwebview_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview_p_p.h:
(WebKit):
(QQuickWebViewPrivate::pageViewportControllerClient):
(QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate):
* UIProcess/API/qt/qwebkittest.cpp:
(QWebKitTest::viewport):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::contentsScale):
* UIProcess/PageViewportController.cpp: Added.
(WebKit):
(WebKit::bound):
(WebKit::fuzzyCompare):
(WebKit::boundPosition):
(WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::convertFromViewport):
(WebKit::PageViewportController::convertToViewport):
(WebKit::PageViewportController::innerBoundedContentsScale):
(WebKit::PageViewportController::outerBoundedContentsScale):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::setViewportSize):
(WebKit::PageViewportController::setVisibleContentsRect):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::suspendContent):
(WebKit::PageViewportController::resumeContent):
(WebKit::PageViewportController::positionRangeForContentAtScale):
* UIProcess/PageViewportController.h: Added.
(WebCore):
(WebKit):
(ViewportUpdateDeferrer):
(PageViewportController):
(WebKit::PageViewportController::~PageViewportController):
(WebKit::PageViewportController::hasSuspendedContent):
(WebKit::PageViewportController::hadUserInteraction):
(WebKit::PageViewportController::allowsUserScaling):
(WebKit::PageViewportController::contentsLayoutSize):
(WebKit::PageViewportController::devicePixelRatio):
(WebKit::PageViewportController::minimumContentsScale):
(WebKit::PageViewportController::maximumContentsScale):
(WebKit::PageViewportController::setHadUserInteraction):
* UIProcess/PageViewportControllerClient.h: Added.
(WebKit):
(PageViewportControllerClient):
(WebKit::PageViewportControllerClient::PageViewportControllerClient):
(WebKit::PageViewportControllerClient::~PageViewportControllerClient):
* UIProcess/qt/PageViewportControllerClientQt.cpp: Added.
(WebKit):
(WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
(WebKit::PageViewportControllerClientQt::ScaleAnimation::updateCurrentValue):
(WebKit::PageViewportControllerClientQt::~PageViewportControllerClientQt):
(WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
(WebKit::PageViewportControllerClientQt::animateContentRectVisible):
(WebKit::PageViewportControllerClientQt::flickMoveStarted):
(WebKit::PageViewportControllerClientQt::flickMoveEnded):
(WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
(WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
(WebKit::PageViewportControllerClientQt::touchBegin):
(WebKit::PageViewportControllerClientQt::touchEnd):
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
(WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
(WebKit::PageViewportControllerClientQt::setContentsPosition):
(WebKit::PageViewportControllerClientQt::setContentsScale):
(WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
(WebKit::PageViewportControllerClientQt::didResumeContent):
(WebKit::PageViewportControllerClientQt::allowsUserScaling):
(WebKit::PageViewportControllerClientQt::devicePixelRatio):
(WebKit::PageViewportControllerClientQt::minimumContentsScale):
(WebKit::PageViewportControllerClientQt::maximumContentsScale):
(WebKit::PageViewportControllerClientQt::currentContentsScale):
(WebKit::PageViewportControllerClientQt::contentsLayoutSize):
(WebKit::PageViewportControllerClientQt::scrollAnimationActive):
(WebKit::PageViewportControllerClientQt::panGestureActive):
(WebKit::PageViewportControllerClientQt::panGestureStarted):
(WebKit::PageViewportControllerClientQt::panGestureRequestUpdate):
(WebKit::PageViewportControllerClientQt::panGestureEnded):
(WebKit::PageViewportControllerClientQt::panGestureCancelled):
(WebKit::PageViewportControllerClientQt::scaleAnimationActive):
(WebKit::PageViewportControllerClientQt::cancelScrollAnimation):
(WebKit::PageViewportControllerClientQt::interruptScaleAnimation):
(WebKit::PageViewportControllerClientQt::pinchGestureActive):
(WebKit::PageViewportControllerClientQt::pinchGestureStarted):
(WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
(WebKit::PageViewportControllerClientQt::pinchGestureEnded):
(WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
(WebKit::PageViewportControllerClientQt::visibleContentsRect):
(WebKit::PageViewportControllerClientQt::didChangeContentsSize):
(WebKit::PageViewportControllerClientQt::didChangeVisibleContents):
(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
(WebKit::PageViewportControllerClientQt::updateViewportController):
(WebKit::PageViewportControllerClientQt::scaleContent):
(WebKit::PageViewportControllerClientQt::viewportScaleForRect):
* UIProcess/qt/PageViewportControllerClientQt.h: Added.
(WebKit):
(PageViewportControllerClientQt):
(WebKit::PageViewportControllerClientQt::setController):
(ScaleAnimation):
(WebKit::PageViewportControllerClientQt::ScaleAnimation::ScaleAnimation):
(WebKit::PageViewportControllerClientQt::ScaleStackItem::ScaleStackItem):
(ScaleStackItem):
* UIProcess/qt/QtGestureRecognizer.cpp:
(WebKit::QtGestureRecognizer::viewportController):
* 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: Removed.
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::setViewportController):
(WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
(WebKit::QtWebPageEventHandler::handleInputEvent):
(WebKit::QtWebPageEventHandler::doneWithTouchEvent):
(WebKit::QtWebPageEventHandler::didFindZoomableArea):
* UIProcess/qt/QtWebPageEventHandler.h:
(WebKit):
(QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::viewportController):
2012-09-06 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] WebMemorySampler.cpp is included twice.
https://bugs.webkit.org/show_bug.cgi?id=95910
Reviewed by Kentaro Hara.
Now WebMemorySampler.cpp is in CMakeLists.txt and PlatformEfl.cmake.
* PlatformEfl.cmake: Removed WebMemorySampler.cpp from source lists.
2012-09-05 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Implement missing feature to support <select> tag
https://bugs.webkit.org/show_bug.cgi?id=95708
Reviewed by Gyuyoung Kim.
Added missing APIs for select tag.
This patch provides all functionality of current WebPopupItem to applications.
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(_Ewk_Popup_Menu_Item):
(_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
(ewk_popup_menu_item_new):
(ewk_popup_menu_item_text_direction_get):
(ewk_popup_menu_item_text_direction_override_get):
(ewk_popup_menu_item_tooltip_get):
(ewk_popup_menu_item_accessibility_text_get):
(ewk_popup_menu_item_enabled_get):
(ewk_popup_menu_item_is_label_get):
(ewk_popup_menu_item_selected_get):
* UIProcess/API/efl/ewk_popup_menu_item.h:
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_popup_menu_request):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(checkBasicPopupMenuItem):
(showPopupMenu): Updated test case to cover new APIs.
(TEST_F):
2012-09-05 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Provide implementation for WebProcess functions
https://bugs.webkit.org/show_bug.cgi?id=95857
Reviewed by Kenneth Rohde Christiansen.
Rename WebProcessGtk to WebProcessSoup and reuse it in
EFL port since all the code is soup-related. We now
have a proper implementation for the WebProcess
platform methods.
* GNUmakefile.list.am:
* PlatformEfl.cmake:
* WebProcess/efl/WebProcessEfl.cpp: Removed.
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl): Enable soup cache for the soup session similarly to GTK port.
* WebProcess/soup/WebProcessSoup.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp.
(WebKit):
(WebKit::getCacheDiskFreeSize):
(WebKit::getMemorySize):
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::buildAcceptLanguages):
(WebKit::setSoupSessionAcceptLanguage):
(WebKit::languageChanged):
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformTerminate):
2012-09-05 Benjamin Poulain <bpoulain@apple.com>
More fixes for String::operator+=() on Mac
https://bugs.webkit.org/show_bug.cgi?id=95880
Reviewed by Adam Barth.
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): This is a legitimate use of append(),
there is no other concatenation outside that branch.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::parseRFC822HeaderFields): Use string operators instead of +=.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::userAgent): Another legitimate use of append().
2012-09-05 Alexey Proskuryakov <ap@apple.com>
[WK2] Make visited link tracking work in multi-process mode
https://bugs.webkit.org/show_bug.cgi?id=95869
Reviewed by Dan Bernstein.
* UIProcess/VisitedLinkProvider.h:
* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::VisitedLinkProvider): m_webProcessHasVisitedLinkState
was making no sense in multi-process world, so it was let go.
(WebKit::VisitedLinkProvider::processDidFinishLaunching): Track new processes.
(WebKit::VisitedLinkProvider::processDidClose): Clean up pointers that are going
to become stale.
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Added comments. Fixed
a bug where we would churn table size in some cases. Added debug logging in failure
case. Re-implemented messaging code to work with multiple web processes.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::processDidFinishLaunching): Pass process proxy pointer to
m_visitedLinkProvider, as it now needs to track processes.
(WebKit::WebContext::disconnectProcess): Ditto. Also re-enabled visited link provider
cleanup in multi-process mode.
2012-09-05 Brady Eidson <beidson@apple.com>
Frequent crashes in PluginView::scriptObject under runtimeObjectCustomGetOwnPropertySlot
<rdar://problem/12142226> and https://bugs.webkit.org/show_bug.cgi?id=95026
Patch partially by Andras Becsi <andras.becsi@nokia.com>
Reviewed by Andy Estes.
If a plug-in fails to initialize then the m_plugin pointer is cleared out.
When accessing the script object it is appropriate to unconditionally null check m_plugin.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::scriptObject): Null check m_plugin before trying to use it.
2012-09-05 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Provide implementation for WebFrameNetworkingContext
https://bugs.webkit.org/show_bug.cgi?id=95826
Reviewed by Kenneth Rohde Christiansen.
Remove EFL-specific and empty implementation for WebFrameNetworkingContext
and use the existing soup implementation instead.
* PlatformEfl.cmake:
* WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Removed.
2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
[DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
https://bugs.webkit.org/show_bug.cgi?id=92735
Reviewed by Hajime Morita.
Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
Add symbols for Mac Win builds for corresponding newly added APIs.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-09-05 Balazs Kelemen <kbalazs@webkit.org>
[Qt] QRawWebViewPrivate does not initialize some members
https://bugs.webkit.org/show_bug.cgi?id=95709
Reviewed by Luiz Agostini.
Don't miss initializing the bool flags.
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebViewPrivate::QRawWebViewPrivate):
2012-09-04 Kangil Han <kangil.han@samsung.com>
[WK2] Use explicit constructor in InjectedBundle.
https://bugs.webkit.org/show_bug.cgi?id=95746
Reviewed by Sam Weinig.
Added explicit keyword in constructor of InjectedBundle in order to avoid implicit type conversion.
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
2012-09-03 Sam Weinig <sam@webkit.org>
Part 1 of removing PlatformString.h, move remaining functions to new homes
https://bugs.webkit.org/show_bug.cgi?id=95702
Reviewed by Beth Dakin.
* UIProcess/WebPageProxy.h:
Forward declare SharedBuffer.
2012-09-04 Jeffrey Pfau <jpfau@apple.com>
Make plugins respect third-party storage blocking setting
https://bugs.webkit.org/show_bug.cgi?id=94888
Reviewed by Brady Eidson.
Plugins that are in a third-party context should be put into private browsing mode so their storage is temporary.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::isPrivateBrowsingEnabled): Put the plugin into private browsing mode if it is in a third-party context.
(WebKit::PluginView::privateBrowsingStateChanged): Make sure a plugin doesn't leave private browsing mode if it's in a third-party context.
2012-09-04 Pekka Vuorela <pvuorela@iki.fi>
[Qt] Remove use of deprecated QInputMethod method
https://bugs.webkit.org/show_bug.cgi?id=95741
Reviewed by Simon Hausmann.
Adapt from deprecated QInputMethod::visible() to isVisible().
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::setInputPanelVisible):
(WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
2012-09-04 Allan Sandfeld Jensen <allan.jensen@nokia.com>
Allow child-frame content in hit-tests.
https://bugs.webkit.org/show_bug.cgi?id=95204
Reviewed by Antonio Gomes.
Update symbols for the Windows build-system.
* win/WebKit2.def:
* win/WebKit2CFLite.def:
2012-09-04 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Drop default theme concept
https://bugs.webkit.org/show_bug.cgi?id=94778
Reviewed by Gyuyoung Kim.
* PlatformEfl.cmake: Removed DEFAULT_THEME_PATH definitions.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_initialize): Removed default theme concept.
* UIProcess/API/efl/ewk_view.h:
Updated doxygen document not to mention default theme.
2012-09-03 Kangil Han <kangil.han@samsung.com>
[WK2][WTR] Implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
https://bugs.webkit.org/show_bug.cgi?id=95576
Reviewed by Maciej Stachowiak.
Added a line of macro to implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Not all activated elements highlighted, but some frames are
https://bugs.webkit.org/show_bug.cgi?id=95683
Reviewed by Kenneth Rohde Christiansen.
Use the new function Node::willRespondToMouseClickEvents to better determine if the element
can be tap-activated and avoid documents and frames completely.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::highlightPotentialActivation):
2012-09-03 Eunmi Lee <eunmi15.lee@samsung.com>
[EFL][WK2] Add ewk_settings.
https://bugs.webkit.org/show_bug.cgi?id=91206
Reviewed by Gyuyoung Kim.
Add the ewk_settings which wraps the WKPreferencesRef.
The ewk_settings will be created by the ewk_view and it will be
destroyed when the ewk_view is destroyed. I make each view to have
its own group to make one ewk_settings sets preferences only for
one ewk_view.
The application can get the ewk_settings from ewk_view using
ewk_view_settings_get() API.
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/ewk_settings.cpp: Added.
(ewk_settings_enable_scripts_set):
(ewk_settings_enable_scripts_get):
(ewk_settings_auto_load_images_set):
(ewk_settings_auto_load_images_get):
* UIProcess/API/efl/ewk_settings.h: Added.
* UIProcess/API/efl/ewk_settings_private.h: Added.
(_Ewk_Settings):
(_Ewk_Settings::_Ewk_Settings):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_initialize):
(ewk_view_settings_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp: Added.
(TEST_F):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):
2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
Wheel-events fails temporarily after reload
https://bugs.webkit.org/show_bug.cgi?id=94934
Reviewed by Kenneth Rohde Christiansen.
Set fixed visible content rect using visibleContentBounds instead of WebPage::size. Otherwise the
content rect will be incorrectly set to the entire document size, when resizesToContents is active.
Test: UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml
* UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com>
[EFL] Use WebKitVersion.h to get version information
https://bugs.webkit.org/show_bug.cgi?id=95669
Reviewed by Gyuyoung Kim.
Use WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION
in the WebKitVersion.h
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::standardUserAgent):
2012-09-03 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage API test
https://bugs.webkit.org/show_bug.cgi?id=95671
Reviewed by Kenneth Rohde Christiansen.
Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage
API test since it is flaky on the bots.
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(TEST_F):
2012-09-02 Kenichi Ishibashi <bashi@chromium.org>
WK2: Build failure on SnowLeopard after r127384
https://bugs.webkit.org/show_bug.cgi?id=95665
Reviewed by Dan Bernstein.
Add SandboxExtension::consumePermanently(const Handle&) for !ENABLE(WEB_PROCESS_SANDBOX) to fix link error.
* Shared/SandboxExtension.h:
(WebKit::SandboxExtension::consumePermanently):
2012-09-02 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Keep activePopupMenu to call valueChangedForPopupMenu() outside showPopupMenu()
https://bugs.webkit.org/show_bug.cgi?id=95355
Reviewed by Gyuyoung Kim.
Efl does not have a proper way to support nested loop so that applications
may change value after showPopupMenu() is finished.
* UIProcess/API/efl/tests/test_ewk2_view.cpp: Improved test case to cover this bug.
(selectItemAfterDelayed):
(showPopupMenu):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showPopupMenu):
Guard with !PLATFORM(EFL) to keep the activePopupMenu valid to call valueChangedForPopupMenu
outside showPopupMenu().
2012-09-02 Byungwoo Lee <bw80.lee@gmail.com>
[EFL] Add missing semicolon at the end of some lines.
https://bugs.webkit.org/show_bug.cgi?id=95640
Reviewed by Gyuyoung Kim.
EWK_VIEW_PRIV_GET_OR_RETURN macro and other related macro can be used
without semicolon, because it ends with a semicolon or complete block.
This can make a human mistake about missing semicolon.
Fixed the macros to require semicolon, and added missing semicolons.
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_focus_in):
(_ewk_view_smart_focus_out):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_smart_key_down):
(_ewk_view_smart_key_up):
(_ewk_view_initialize):
2012-09-01 Sam Weinig <sam@webkit.org>
Remove unused member variable from WebProcess.
Rubber-stamped by Dan Bernstein.
* WebProcess/WebProcess.h:
(WebProcess):
Remove m_applicationCachePathExtension.
2012-09-01 Sam Weinig <sam@webkit.org>
Use dynamic sandbox extension rather than sandbox parameters for paths provided by the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=95651
Reviewed by Dan Bernstein.
This is the first step to not relying on the initialization message to initialize
the sandbox.
* Shared/SandboxExtension.h:
(SandboxExtension):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::consumePermanently):
Add static version of SandboxExtension::consumePermanently which takes a
SandboxExtension::Handle. There is no reason to create a SandboxExtension
just to consume it forever.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
Add SandboxExtension::Handles for paths we need access to, and remove
webInspectorBaseDirectory, which is unused.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
Create SandboxExtension::Handles for paths we need access to, and move
getting the presenterApplicationPid to platformInitializeWebProcess, since
it is Mac only.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
Move setting the presenterApplicationPid to platformInitializeWebProcess.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::initializeSandbox):
(WebKit::WebProcess::platformInitializeWebProcess):
Replace the use of sandbox parameters for opening access for necessary paths
with permanent consumption of sandbox extensions.
* WebProcess/com.apple.WebProcess.sb.in:
Remove sandbox rules that are now handled via extensions.
2012-08-31 Byungwoo Lee <bw80.lee@samsung.com>
Build warning : -Wformat on WebMemorySampler.cpp.
https://bugs.webkit.org/show_bug.cgi?id=95550
Reviewed by Darin Adler.
Fix build warning.
Use String::number instead of String::format.
* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
2012-08-31 Alexey Proskuryakov <ap@apple.com>
[WK2] Use initial process in multi-process mode, too
https://bugs.webkit.org/show_bug.cgi?id=95612
Reviewed by Sam Weinig.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::warmInitialProcess):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::createWebPage):
* UIProcess/WebContext.h:
Added a boolean telling whether the last (normally, the only) process in m_processes
is available for use in a new page.
2012-08-31 Alexey Proskuryakov <ap@apple.com>
[WK2] WebProcesses should not wait 60 seconds to close in multi-process mode
https://bugs.webkit.org/show_bug.cgi?id=95616
Reviewed by Darin Adler.
* Shared/ChildProcess.cpp: (WebKit::ChildProcess::ChildProcess):
* Shared/ChildProcess.h: (WebKit::ChildProcess::setTerminationTimeout):
Expose a setter for timeout instead of taking it at construction time. If a derived
class doesn't call the setter, default to 0.
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::initializePluginProcess):
Use timeout from initialization message.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
Ditto.
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
Funnel timeout across process boundary.
* UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::didFinishLaunching):
Pass timeout as initialization message after launch.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess): Pass timeout as initialization message
(unlike plugin process proxy, web process proxy doesn't wait, and relies on the message
being queued).
(WebKit::WebContext::disconnectProcess): Skip invalidating global managers when
one process quits. We still need to do something, but running this code would just
result in assertion failures any time a page was closed.
2012-08-31 Brady Eidson <beidson@apple.com>
REGRESSION (r127252): incomplete repaint on Flash element after pinch to zoom
<rdar://problem/12217897> and https://bugs.webkit.org/show_bug.cgi?id=95607
Reviewed by Simon Fraser.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::viewGeometryDidChange): Only give the window coordinate clip rect a chance
to override the boundsRect() if the page scale factor is 1.
2012-08-31 Tony Chang <tony@chromium.org>
Remove ENABLE_CSS3_FLEXBOX compile time flag
https://bugs.webkit.org/show_bug.cgi?id=95382
Reviewed by Ojan Vafai.
Everyone is already enabling this by default and the spec has stablized.
* Configurations/FeatureDefines.xcconfig:
2012-08-31 Pratik Solanki <psolanki@apple.com>
objc_msgSend and IMP should be cast appropriately before using
https://bugs.webkit.org/show_bug.cgi?id=95242
Reviewed by Benjamin Poulain.
Follow on fix for Mac EWS - use objc-runtime.h instead of runtime.h so
that it finds the declaration for objc_msgSend.
* UIProcess/API/mac/PDFViewController.mm:
2012-08-31 Jon Lee <jonlee@apple.com>
[Tests] Add basic tests to http/tests/notifications
https://bugs.webkit.org/show_bug.cgi?id=95493
<rdar://problem/12209303>
Reviewed by Alexey Proskuryakov.
Simplify the passing of the permission policy to just a boolean instead of converting it
back and forth from the NotificationClient::Permission enum.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Move the declaration to the section
of functions that are TestRunner SPI.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setWebNotificationPermission): Use a boolean.
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
(NotificationPermissionRequestManager):
* win/WebKit2.vcproj: Add WKNotificationPermissionRequest.{h,cpp}.
* win/WebKit2Generated.make: Export WKNotificationPermissionRequest.h.
2012-08-31 Balazs Kelemen <kbalazs@webkit.org>
[Qt] ASSERT(m_useFixedLayout) in WebPage when using QRawWebView without setting fixed layout
https://bugs.webkit.org/show_bug.cgi?id=95557
Reviewed by Noam Rosenthal.
Let QRawWebView work with non-fixed layout size.
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::setSize): Also put the member assigment into
the point where the new size is ensured to be committed.
2012-08-31 Balazs Kelemen <kbalazs@webkit.org>
[Qt] LayerTreeRenderer::callOnMainTread method name is misleading
https://bugs.webkit.org/show_bug.cgi?id=95558
Reviewed by Kenneth Rohde Christiansen.
Fix the typo in the function name so callers will really call this
and not WTF::callOnMainThread. Renamed to dispatchOnMainThread to
make it clear that these things are not the same.
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::dispatchOnMainThread):
(WebKit::LayerTreeRenderer::flushLayerChanges):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
2012-08-31 Brady Eidson <beidson@apple.com>
REGRESSION (127047): Crash in PluginProxy::windowVisibilityChanged when changing tabs
<rdar://problem/12211180> and https://bugs.webkit.org/show_bug.cgi?id=95515
Reviewed by Dan Bernstein.
Plug-ins created in background tabs don't get initialized until they first become visible,
so telling them they are now invisible leads to messaging on behalf of an uninitialized plug-in.
Many other methods related to visibility and focus only call through if the plug-in is initialized,
so setWindowIsVisible should do the same.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setWindowIsVisible): Only tell initialized plug-ins of window visibility changes.
2012-08-31 Milian Wolff <milian.wolff@kdab.com>
[Qt] QNX does not support SOCK_SEQPACKET socket type for socketpair in ProcessLauncherQt
https://bugs.webkit.org/show_bug.cgi?id=95553
Reviewed by Simon Hausmann.
Calling socketpair with SOCK_SEQPACKET socket type fails on QNX with an error 241 (EPROTOTYPE),
as can be seen by the following debug output: "Creation of socket failed with errno: 241".
A test app shows that SOCK_DGRAM works properly on QNX, thus use it instead of SOCK_SEQPACKET.
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2012-08-30 Mark Hahnenberg <mhahnenberg@apple.com>
~JSNPObject should call invalidate() if it hasn't been called already
https://bugs.webkit.org/show_bug.cgi?id=95497
Reviewed by Geoffrey Garen.
Finalization is no longer eager, just like destruction, so the original intent behind
this ASSERT in ~JSNPObject is no longer relevant. Therefore, we can just call invalidate()
ourselves in ~JSNPObject.
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::~JSNPObject):
2012-08-30 Sam Weinig <sam@webkit.org>
Allow dynamic mach-lookup extensions in the WebProcess
<rdar://problem/12207996>
Reviewed by Gavin Barraclough.
Like we allow file read/write dynamic sandbox extensions, we should allow
mach-lookup extensions.
* WebProcess/com.apple.WebProcess.sb.in:
2012-08-30 Geoffrey Garen <ggaren@apple.com>
Use one object instead of two for closures, eliminating ScopeChainNode
https://bugs.webkit.org/show_bug.cgi?id=95501
Reviewed by Filip Pizlo.
Mechanical changes to update for JSC interface change.
2012-08-30 JungJik Lee <jungjik.lee@samsung.com>
[EFL][WK2] Add WebMemorySampler feature.
https://bugs.webkit.org/show_bug.cgi?id=91214
Reviewed by Kenneth Rohde Christiansen.
Add WebMemorySampler feature to EFL port. WebMemorySampler records memory usage of
WebProcess and UI Process and also it records application memory status in real time.
Included items on the result are JIT, JS heap, fastmalloc bytes and
application memory info from /proc/process_id/statm.
* PlatformEfl.cmake:
* Shared/linux/WebMemorySamplerLinux.cpp: Added.
(WebKit):
(ApplicationMemoryStats):
(WebKit::nextToken):
(WebKit::appendKeyValuePair):
(WebKit::sampleMemoryAllocatedForApplication):
(WebKit::WebMemorySampler::processName):
(WebKit::WebMemorySampler::sampleWebKit):
(WebKit::WebMemorySampler::sendMemoryPressureEvent):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
2012-08-30 Pratik Solanki <psolanki@apple.com>
objc_msgSend and IMP should be cast appropriately before using
https://bugs.webkit.org/show_bug.cgi?id=95242
Reviewed by Benjamin Poulain.
Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
to a function pointer with right types when calling objc_msgSend and an
IMP method directly.
* UIProcess/API/mac/PDFViewController.mm:
(WebKit::PDFViewScrollView_scrollWheel):
2012-08-30 Benjamin Poulain <bpoulain@apple.com>
Replace JSC::UString by WTF::String
https://bugs.webkit.org/show_bug.cgi?id=95271
Reviewed by Geoffrey Garen.
Update to code to switch from UString to String.
* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::JSNPMethod::finishCreation):
* WebProcess/Plugins/Netscape/JSNPMethod.h:
(WebKit::JSNPMethod::create):
(JSNPMethod):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::npIdentifierFromIdentifier):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
2012-08-29 Mark Hahnenberg <mhahnenberg@apple.com>
JSNPObject doesn't always protect its data when calling into plugin code
https://bugs.webkit.org/show_bug.cgi?id=95394
Reviewed by Brady Eidson.
We need to use NPRuntimeObjectMap::PluginProtector when calling into plugin code since
there's no telling what the plugin will do, including destroying itself.
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::getOwnPropertyDescriptor):
2012-08-30 Mike Sierra <mike.sierra@nokia.com>
[QT][WK2] webview API doc
https://bugs.webkit.org/show_bug.cgi?id=81701
Reviewed by Simon Hausmann.
Various improvements and additions to the documentation of the QML WebView element.
* UIProcess/API/qt/qquickwebview.cpp:
2012-08-29 Kangil Han <kangil.han@samsung.com>
[EFL][WK2] Replace PageClientImpl with ewk view in constructor of EflViewportHandler.
https://bugs.webkit.org/show_bug.cgi?id=95408
Reviewed by Gyuyoung Kim.
To keep consistency of implementation, derived classes(from ewk view) should have view reference.
From this, derived classes would have less interference from changes that would happen in port specific classes, i.e. PageClientImpl.
* UIProcess/API/efl/EflViewportHandler.cpp:
(WebKit::EflViewportHandler::EflViewportHandler):
(WebKit::EflViewportHandler::drawingArea):
(WebKit):
(WebKit::EflViewportHandler::updateViewportSize):
* UIProcess/API/efl/EflViewportHandler.h:
(WebKit::EflViewportHandler::create):
(EflViewportHandler):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_initialize):
2012-08-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[WK2] Use ASCIILiteral hotness for DEFINE_STATIC_LOCAL string
https://bugs.webkit.org/show_bug.cgi?id=95318
Reviewed by Benjamin Poulain.
As recommended by http://trac.webkit.org/wiki/EfficientStrings,
WebKit2 needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
* Shared/WebError.cpp:
(WebKit::WebError::webKitErrorDomain):
* Shared/WebPreferencesStore.cpp:
(WebPreferencesKey):
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::remoteInspectorPagePath):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::originKey):
(WebKit::WebDatabaseManagerProxy::originQuotaKey):
(WebKit::WebDatabaseManagerProxy::originUsageKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::executeEditCommand):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::didBeginEditing):
(WebKit::WebEditorClient::respondToChangedContents):
(WebKit::WebEditorClient::respondToChangedSelection):
(WebKit::WebEditorClient::didEndEditing):
* WebProcess/WebProcess.cpp:
(WebKit::getWebCoreMemoryCacheStatistics):
2012-08-29 Luciano Wolf <luciano.wolf@openbossa.org>
[Qt][WK2] ApplicationCache LayoutTests failed
https://bugs.webkit.org/show_bug.cgi?id=69541
Reviewed by Kenneth Rohde Christiansen.
Returns defaultDiskCacheDirectory when no cache directory was provided.
It's used by setOfflineWebApplicationCacheEnabled method that won't work
with an invalid cache directory.
* UIProcess/qt/WebContextQt.cpp:
(WebKit::WebContext::applicationCacheDirectory):
2012-08-29 José Dapena Paz <jdapena@igalia.com>
[Gtk] Process Gtk 3.4 smooth scroll events properly.
https://bugs.webkit.org/show_bug.cgi?id=88070
Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
provides detailed delta information.
Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
code to process properly the new direction GDK_SCROLL_SMOOTH and
its deltas.
Reviewed by Martin Robinson.
* Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebWheelEvent):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize):
2012-08-29 Brady Eidson <beidson@apple.com>
REGRESSION: Not sending NPP_SetWindow is causing Flash to not throttle itself
<rdar://problem/12133021> and https://bugs.webkit.org/show_bug.cgi?id=95274
Reviewed by Sam Weinig.
* UIProcess/API/mac/WKView.mm:
(-[WKView viewDidMoveToWindow]): Previously we'd only update window visibility when the window is hidden.
Now we also update window visibility when the window is shown.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::callSetWindowInvisible): Call set window with a manufactured empty clip rect to tell
the plug-in that it is complete hidden.
(WebKit):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin):
* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
(WebKit::NetscapePlugin::windowVisibilityChanged): Call "callSetWindow" or "callSetWindowInvisible" as appropriate.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setWindowIsVisible): Tell the plugin that its visibility changed.
(WebKit::PluginView::viewGeometryDidChange): Grab a clip rect that - although incorrect - at least is correct if
the PluginView is completely hidden.
2012-08-29 Jon Lee <jonlee@apple.com>
Build patch for Qt
* Target.pri: Missing WKMutableArray.cpp.
2012-08-29 Jon Lee <jonlee@apple.com>
Build patch for Qt.
* Target.pri: Export WKArray and WKMutableArray for Qt.
2012-08-29 Jon Lee <jonlee@apple.com>
Added missing exports for Windows.
* win/WebKit2Generated.make:
2012-08-29 Jon Lee <jonlee@apple.com>
Windows build fix.
* win/WebKit2Generated.make: Export WKNotificationManager.h.
2012-08-29 Jon Lee <jonlee@apple.com>
[WK2] Add SPI to retrieve internal IDs for web notifications
https://bugs.webkit.org/show_bug.cgi?id=95100
<rdar://problem/12180208>
Reviewed by Alexey Proskuryakov.
This is work toward providing Mac support for web notifications in DRT and WTR (77969).
Add function to retrieve the internal ID for a notification. This is needed by tests to support simulating
a user click on a notification.
* DerivedSources.pri: Expose JSNotification.h as private header.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleGetWebNotificationID): Calls into notification manager to get internal ID.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Add WKBundleGetWebNotificationID() to be able
retrieve notification ID.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::webNotificationID):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::notificationIDForTesting):
(WebKit):
* WebProcess/Notifications/WebNotificationManager.h:
(WebNotificationManager):
2012-08-28 Martin Robinson <mrobinson@igalia.com>
[GTK] Enable the edge distance anti-aliasing for accelerated compositing layers
https://bugs.webkit.org/show_bug.cgi?id=95272
Reviewed by No'am Rosenthal.
Turn on edge-distance anti-aliasing for GTK+ WebKit2. This
improves the quality of layer rendering.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize):
2012-08-28 Kangil Han <kangil.han@samsung.com>
[WK2] Use explicit constructor in PageClientImpl.
https://bugs.webkit.org/show_bug.cgi?id=95170
Reviewed by Darin Adler.
Added explicit keyword in constructor of PageClientImpl in order to avoid implicit type conversion.
* UIProcess/API/gtk/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl):
2012-08-28 Rik Cabanier <cabanier@adobe.com>
Add ENABLE_CSS_COMPOSITING flag to WebKit2 project
https://bugs.webkit.org/show_bug.cgi?id=95227
Reviewed by Dirk Schulze.
The WebKit2 project was not updated to compile with the CSS_COMPOSITING flag.
This caused crashes when the webkit2 code had to use that flag.
* Configurations/FeatureDefines.xcconfig:
2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r126914.
http://trac.webkit.org/changeset/126914
https://bugs.webkit.org/show_bug.cgi?id=95239
it breaks everything and fixes nothing (Requested by pizlo on
#webkit).
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerEventSourceHandler):
(WorkQueue::unregisterEventSourceHandler):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::unregisterMachPortEventHandler):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::pluginDestroyed):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebPreferencesStore.cpp:
(WebKit::valueForKey):
(WebKit::WebPreferencesStore::getBoolValueForKey):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::decode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::decode):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::~_Ewk_Context):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_loading_resources_clear):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_subresources):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerForall):
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _expectedPreviewCallbackForRect:]):
(pageDidDrawToPDF):
(-[WKPrintingView _drawPreview:]):
* UIProcess/API/mac/WKView.mm:
(commandNameForSelector):
(-[WKView validateUserInterfaceItem:]):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::assignImageToLayer):
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit::WebInspectorServer::~WebInspectorServer):
(WebKit::WebInspectorServer::registerPage):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
* UIProcess/WebContext.cpp:
(WebKit::createDictionaryFromHashMap):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didFinishURLImport):
* UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::extras):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::frameCountInPage):
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
(WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
(WebKit::InjectedBundleIntent::extras):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::policyForOrigin):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::removeNotificationFromContextMap):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::invalidate):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::destroyStream):
(WebKit::NetscapePlugin::unscheduleTimer):
(WebKit::NetscapePlugin::frameDidFinishLoading):
(WebKit::NetscapePlugin::frameDidFail):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
(WebKit::PluginView::~PluginView):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::layerByID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::commandNameForSelectorName):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::visitedLinkStateChanged):
(WebKit::WebProcess::allVisitedLinkStateChanged):
(WebKit::WebProcess::focusedWebPage):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):
(WebKit::fromCountedSetToHashMap):
(WebKit::WebProcess::setTextCheckerState):
2012-08-28 Alexey Proskuryakov <ap@apple.com>
[WK2] Expose process model as API
https://bugs.webkit.org/show_bug.cgi?id=95228
Reviewed by Jon Honeycutt.
* UIProcess/API/C/WKAPICast.h:
(WebKit::toProcessModel):
(WebKit::toAPI):
Convert ProcessModel values.
* UIProcess/API/C/WKContext.cpp:
(WKContextSetProcessModel):
(WKContextGetProcessModel):
* UIProcess/API/C/WKContext.h:
* UIProcess/WebContext.cpp: (WebKit::WebContext::setProcessModel):
* UIProcess/WebContext.h:
Added a setter and a getter. Setting process model is only allowed when there are
no processes yet - that's checked with a CRASH to guarantee that clients using
production builds of WebKit2 don't misstep.
2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Rename first/second to key/value in HashMap iterators
https://bugs.webkit.org/show_bug.cgi?id=82784
Reviewed by Eric Seidel.
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerEventSourceHandler):
(WorkQueue::unregisterEventSourceHandler):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::unregisterMachPortEventHandler):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::pluginDestroyed):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebPreferencesStore.cpp:
(WebKit::valueForKey):
(WebKit::WebPreferencesStore::getBoolValueForKey):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::decode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::decode):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::~_Ewk_Context):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_loading_resources_clear):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_subresources):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerForall):
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _expectedPreviewCallbackForRect:]):
(pageDidDrawToPDF):
(-[WKPrintingView _drawPreview:]):
* UIProcess/API/mac/WKView.mm:
(commandNameForSelector):
(-[WKView validateUserInterfaceItem:]):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::assignImageToLayer):
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit::WebInspectorServer::~WebInspectorServer):
(WebKit::WebInspectorServer::registerPage):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
* UIProcess/WebContext.cpp:
(WebKit::createDictionaryFromHashMap):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didFinishURLImport):
* UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::extras):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::frameCountInPage):
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
(WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
(WebKit::InjectedBundleIntent::extras):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::policyForOrigin):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::removeNotificationFromContextMap):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::invalidate):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::destroyStream):
(WebKit::NetscapePlugin::unscheduleTimer):
(WebKit::NetscapePlugin::frameDidFinishLoading):
(WebKit::NetscapePlugin::frameDidFail):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
(WebKit::PluginView::~PluginView):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::layerByID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::commandNameForSelectorName):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::visitedLinkStateChanged):
(WebKit::WebProcess::allVisitedLinkStateChanged):
(WebKit::WebProcess::focusedWebPage):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):
(WebKit::fromCountedSetToHashMap):
(WebKit::WebProcess::setTextCheckerState):
2012-08-28 Jon Lee <jonlee@apple.com>
[WK2] Bugs in maintenance of internal state when user decides whether to grant notification permissions
https://bugs.webkit.org/show_bug.cgi?id=95220
<rdar://problem/12189895>
Reviewed by Jessie Berlin.
A couple of the maps maintained by the request manager should have been cleaned up when the user decided on
whether to grant a website permission to post notifications.
Also, the web process' copy of the permissions was not updated appropriately. This meant that in the
permission callback, Notification.permission was not the same value as the permission value included as
the first parameter of the callback.
This first surfaced as part of the work to bring Mac support for web notifications. I have a test that
will check for regressions in this area, once all of that has been checked in (bug 77969).
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
2012-08-28 Jon Lee <jonlee@apple.com>
[WK2] Add SPI for injected bundle to manually set permissions
https://bugs.webkit.org/show_bug.cgi?id=95127
<rdar://problem/12182635>
Reviewed by Jessie Berlin.
This is work toward providing Mac support for web notifications in DRT and WTR (77969).
Add support functions to WebKit2 which maintain the map of permissions to origins for web notifications.
For WebKit1 the map is managed by DumpRenderTree.
* WebProcess/InjectedBundle/InjectedBundle.h: Add TestRunner SPI.
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setWebNotificationPermission):
(WebKit::InjectedBundle::removeAllWebNotificationPermissions):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Expose as WK API. Also, rearrange the ordering of the
functions so that it reflects the same order found in InjectedBundle.h.
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting): Manually set the permission
level for an origin.
(WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
(NotificationPermissionRequestManager):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::removeAllPermissionsForTesting): Clear the permission map.
* WebProcess/Notifications/WebNotificationManager.h: Promote didUpdateNotificationDecision message as public
function, so that NotificationPermissionRequestManager can update the permission map.
2012-08-28 Christophe Dumez <christophe.dumez@intel.com>
[EFL] WebKit EFL updates view on HTTP 204 response
https://bugs.webkit.org/show_bug.cgi?id=95199
Reviewed by Kenneth Rohde Christiansen.
Ignore HTTP responses which have status code equal
to 204 (No Content).
* UIProcess/API/efl/ewk_view_policy_client.cpp:
(decidePolicyForResponseCallback):
2012-08-28 Zeno Albisser <zeno@webkit.org>
LayerTreeCoordinatorProxy should use uint64_t for surface key.
https://bugs.webkit.org/show_bug.cgi?id=95175
GraphicsSurface tokens are of type uint64_t.
Therefore LayerTreeCoordinatorProxy must use the same type to
identify a GraphicsSurface/ShareableSurface.
Reviewed by Noam Rosenthal.
* Shared/ShareableSurface.h:
(WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
2012-08-28 Ryuan Choi <ryuan.choi@samsung.com>
[EFL][WK2] Implement WebPopupMenuProxyEfl to support <select>
https://bugs.webkit.org/show_bug.cgi?id=88616
Reviewed by Gyuyoung Kim.
Implemented popup menu proxy and interface for Efl.
Applications should implement popup menu by overriding
smart class function to support select tag.
* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h: Included ewk_popup_menu_item.h
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::createPopupMenuProxy):
* UIProcess/API/efl/ewk_popup_menu_item.cpp: Added.
(_Ewk_Popup_Menu_Item):
(_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
(ewk_popup_menu_item_new):
(ewk_popup_menu_item_free):
(ewk_popup_menu_item_type_get): Added API to retrieve type of item.
(ewk_popup_menu_item_text_get): Added API to retrieve text of item.
* UIProcess/API/efl/ewk_popup_menu_item.h: Added.
* UIProcess/API/efl/ewk_popup_menu_item_private.h: Added.
* 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_popup_menu_request): Added to call popup_menu_show, smart class function.
(ewk_view_popup_menu_close): Added API to call popup_menu_hide, smart class function.
(ewk_view_popup_menu_select): Added API to change selected index.
* UIProcess/API/efl/ewk_view.h:
Added smart class function for applications to override.
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
(EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
(EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
Extracted from loadUrlSync for tests using ewk_view_html_string_load to
share onLoadFinished.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTest::EWK2UnitTestBase::ewkViewClass):
Added ewkViewClass to test smart methods such as popup_menu_show.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(popup_menu_show):
(TEST_F): Added a test case for ewk_view_popup_menu_select and related codes.
* UIProcess/efl/WebPopupMenuProxyEfl.cpp: Added.
(WebKit):
(WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
(WebKit::WebPopupMenuProxyEfl::showPopupMenu):
(WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
(WebKit::WebPopupMenuProxyEfl::valueChanged):
* UIProcess/efl/WebPopupMenuProxyEfl.h: Added.
(WebPopupMenuProxyEfl):
(WebKit::WebPopupMenuProxyEfl::create):
2012-08-27 Kangil Han <kangil.han@samsung.com>
[EFL][WK2] Fix PageClientImpl layer violation
https://bugs.webkit.org/show_bug.cgi?id=94906
Reviewed by Gyuyoung Kim.
Given WK2 hierarchy, current PageClientImpl has violated API layer by having WebPageProxy.
Subsequently, it has been given WebContext, static singleton object, in its argument unnecessarily.
Therefore, this patch moved WebPageProxy from PageClientImpl to Ewk_View_Private_Data.
Plus, WebContext was removed from PageClientImpl since it is not needed anymore.
As a result, EFL has same form of PageClientImpl with other ports, i.e. gtk+ and mac.
From API point of view, nothing has been changed because all things done locally.
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::createDrawingAreaProxy):
* UIProcess/API/efl/PageClientImpl.h:
(WebKit::PageClientImpl::create):
(PageClientImpl):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_smart_focus_in):
(_ewk_view_smart_focus_out):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_smart_key_down):
(_ewk_view_smart_key_up):
(_ewk_view_smart_calculate):
(_ewk_view_smart_color_set):
(_ewk_view_initialize):
(ewk_view_uri_update):
(ewk_view_uri_set):
(ewk_view_reload):
(ewk_view_reload_bypass_cache):
(ewk_view_stop):
(ewk_view_title_get):
(ewk_view_load_progress_get):
(ewk_view_scale_set):
(ewk_view_scale_get):
(ewk_view_device_pixel_ratio_set):
(ewk_view_device_pixel_ratio_get):
(ewk_view_theme_set):
(ewk_view_back):
(ewk_view_forward):
(ewk_view_intent_deliver):
(ewk_view_back_possible):
(ewk_view_forward_possible):
(ewk_view_html_string_load):
(ewk_view_page_get):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):
(ewk_view_text_find):
(ewk_view_text_find_highlight_clear):
2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r126836.
http://trac.webkit.org/changeset/126836
https://bugs.webkit.org/show_bug.cgi?id=95163
Broke all Apple ports, EFL, and Qt. (Requested by tkent on
#webkit).
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerEventSourceHandler):
(WorkQueue::unregisterEventSourceHandler):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::unregisterMachPortEventHandler):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::pluginDestroyed):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebPreferencesStore.cpp:
(WebKit::valueForKey):
(WebKit::WebPreferencesStore::getBoolValueForKey):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::decode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::decode):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::~_Ewk_Context):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_loading_resources_clear):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_subresources):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerForall):
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _expectedPreviewCallbackForRect:]):
(pageDidDrawToPDF):
(-[WKPrintingView _drawPreview:]):
* UIProcess/API/mac/WKView.mm:
(commandNameForSelector):
(-[WKView validateUserInterfaceItem:]):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::assignImageToLayer):
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit::WebInspectorServer::~WebInspectorServer):
(WebKit::WebInspectorServer::registerPage):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
* UIProcess/WebContext.cpp:
(WebKit::createDictionaryFromHashMap):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didFinishURLImport):
* UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::extras):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::frameCountInPage):
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
(WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
(WebKit::InjectedBundleIntent::extras):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::policyForOrigin):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::removeNotificationFromContextMap):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::invalidate):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::destroyStream):
(WebKit::NetscapePlugin::unscheduleTimer):
(WebKit::NetscapePlugin::frameDidFinishLoading):
(WebKit::NetscapePlugin::frameDidFail):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
(WebKit::PluginView::~PluginView):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::layerByID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::commandNameForSelectorName):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::visitedLinkStateChanged):
(WebKit::WebProcess::allVisitedLinkStateChanged):
(WebKit::WebProcess::focusedWebPage):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):
(WebKit::fromCountedSetToHashMap):
(WebKit::WebProcess::setTextCheckerState):
2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Rename first/second to key/value in HashMap iterators
https://bugs.webkit.org/show_bug.cgi?id=82784
Reviewed by Eric Seidel.
* Platform/CoreIPC/ArgumentCoders.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::SyncMessageState::getOrCreate):
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::processIncomingMessage):
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::registerEventSourceHandler):
(WorkQueue::unregisterEventSourceHandler):
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::unregisterMachPortEventHandler):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::pluginDestroyed):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
* Shared/WebPreferencesStore.cpp:
(WebKit::valueForKey):
(WebKit::WebPreferencesStore::getBoolValueForKey):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::decode):
* Shared/qt/ArgumentCodersQt.cpp:
(CoreIPC::::decode):
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(CoreIPC::::decode):
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::~_Ewk_Context):
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_priv_loading_resources_clear):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_subresources):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerForall):
* UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _expectedPreviewCallbackForRect:]):
(pageDidDrawToPDF):
(-[WKPrintingView _drawPreview:]):
* UIProcess/API/mac/WKView.mm:
(commandNameForSelector):
(-[WKView validateUserInterfaceItem:]):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::assignImageToLayer):
* UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/InspectorServer/WebInspectorServer.cpp:
(WebKit::WebInspectorServer::~WebInspectorServer):
(WebKit::WebInspectorServer::registerPage):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::WebInspectorServer::buildPageList):
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
* UIProcess/WebContext.cpp:
(WebKit::createDictionaryFromHashMap):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didFinishURLImport):
* UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::extras):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::frameCountInPage):
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
(WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
(WebKit::InjectedBundleIntent::extras):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::policyForOrigin):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::removeNotificationFromContextMap):
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::invalidate):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::destroyStream):
(WebKit::NetscapePlugin::unscheduleTimer):
(WebKit::NetscapePlugin::frameDidFinishLoading):
(WebKit::NetscapePlugin::frameDidFail):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::buildHTTPHeaders):
(WebKit::PluginView::~PluginView):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::layerByID):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::commandNameForSelectorName):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::visitedLinkStateChanged):
(WebKit::WebProcess::allVisitedLinkStateChanged):
(WebKit::WebProcess::focusedWebPage):
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::webPageGroup):
(WebKit::fromCountedSetToHashMap):
(WebKit::WebProcess::setTextCheckerState):
2012-08-27 Simon Fraser <simon.fraser@apple.com>
Make Force Repaint work with tiled backing store
https://bugs.webkit.org/show_bug.cgi?id=95102
Reviewed by Dan Bernstein.
Have forceRepaint() call down to the tiled backing of each FrameView,
so they can repaint.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
2012-08-27 Rafael Brandao <rafael.lobo@openbossa.org>
[Qt] Fix typo in CoordinatedGraphicsLayer::syncAnimatedProperties
https://bugs.webkit.org/show_bug.cgi?id=95085
Reviewed by Noam Rosenthal.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: The flag should be disabled
once we process the sync for animated properties. Previously, it was never disabling it once enabled.
2012-08-27 Philippe Normand <pnormand@igalia.com>
[GStreamer][Qt] WebAudio support
https://bugs.webkit.org/show_bug.cgi?id=94806
Reviewed by Simon Hausmann.
New boolean webAudioEnabled WebSetting to be used at runtime to
toggle WebAudio support on or off.
* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::webAudioEnabled):
(QWebPreferences::setWebAudioEnabled):
* UIProcess/API/qt/qwebpreferences_p.h:
* UIProcess/API/qt/qwebpreferences_p_p.h:
2012-08-27 Simon Hausmann <simon.hausmann@nokia.com>
[Qt][WK2] REGRESSION(r126067): It made qmltests::DoubleTapToZoom::test_basic() fail
https://bugs.webkit.org/show_bug.cgi?id=94949
Reviewed by Kenneth Rohde Christiansen.
Use JSON to serialize the client rect for the async evaluateJavaScript call.
* UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
2012-08-27 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Fix failing QML2 auto tests due to conflicting signal declaration
https://bugs.webkit.org/show_bug.cgi?id=95059
Reviewed by Kenneth Rohde Christiansen.
Don't define a scaleChanged signal when QQuickItem already declares one to notify about changes
in the scale property. As it turns out there is not need for declaring a signal in the test case
at all.
* UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
Rename RegisterProtocolHandler API to NavigatorContentUtils
https://bugs.webkit.org/show_bug.cgi?id=94920
Reviewed by Adam Barth.
Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
* Configurations/FeatureDefines.xcconfig:
* WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h.
(WebKit):
(WebNavigatorContentUtilsClient):
(WebKit::WebNavigatorContentUtilsClient::~WebNavigatorContentUtilsClient):
(WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
(WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):
2012-08-25 Vivek Galatage <vivekgalatage@gmail.com>
WinCairo Build Broken due to missing export definitions
https://bugs.webkit.org/show_bug.cgi?id=95007
Reviewed by Ryosuke Niwa.
Export symbols were missing from the def file for WinCairo port. Added
these missing symbols to avoid build break
* win/WebKit2CFLite.def:
2012-08-24 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/12157689> REGRESSION: WebProcessProxy destructor is sometimes called recursively
https://bugs.webkit.org/show_bug.cgi?id=94997
Reviewed by Dan Bernstein.
* UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess): Make sure that
we don't try to delete WebProcessProxy while the vector still contains it. Previously,
we used RefPtr::clear, which zeroes out the value before destructing, but doing that
in every RefPtr destructor would be bad for performance.
2012-08-24 Benjamin Poulain <bpoulain@apple.com>
Unify Number to StringImpl conversion
https://bugs.webkit.org/show_bug.cgi?id=94879
Reviewed by Geoffrey Garen.
* win/WebKit2.def: Update the exported symbols.
2012-08-24 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
https://bugs.webkit.org/show_bug.cgi?id=88531
Reviewed by Kenneth Rohde Christiansen.
Defer setting the custom device pixel ratio until the page item has
a valid size to make sure that the scale factor reaches the web process.
QML test based on patch by Alexander Færøy.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
(QQuickWebViewExperimental::devicePixelRatio):
(QQuickWebViewExperimental::setDevicePixelRatio):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
Test case for the QML device pixel ratio API.
2012-08-24 Kangil Han <kangil.han@samsung.com>
[EFL] Fix compile warning
https://bugs.webkit.org/show_bug.cgi?id=94930
Reviewed by Kenneth Rohde Christiansen.
Fixed compile warning.
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith]
(ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith]
2012-08-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Back-forward list API needs extension
https://bugs.webkit.org/show_bug.cgi?id=94582
Reviewed by Kenneth Rohde Christiansen.
Added several new functions wrapping existing WK2 C back-forward list API
and returning list of items preceding or following the current one.
Corresponding API unit tests are also added.
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(createEinaList):
(ewk_back_forward_list_n_back_items_copy):
(ewk_back_forward_list_n_forward_items_copy):
* UIProcess/API/efl/ewk_back_forward_list.h:
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(freeEinaList):
(TEST_F):
2012-08-24 Michael Brüning <michaelbruening@gmail.com>
[Qt][WK2] Make viewport related experimental.test properties encapsulated.
https://bugs.webkit.org/show_bug.cgi?id=88320
Reviewed by Kenneth Rohde Christiansen.
Introducing a new viewport attribute to QWebKitTest to group the viewport related
attributes into one QJsonObject. Also adding a static method to convert a QSizeF to
a QJsonObject.
* UIProcess/API/qt/qwebkittest.cpp:
(qSizeFToJsonObject):
(QWebKitTest::viewport):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::contentsScale):
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::viewportAttributesChanged):
2012-08-23 Frederik Gladhorn <gladhorn@kde.org>
Make it possible to build WebKit with Python 3 (and 2)
https://bugs.webkit.org/show_bug.cgi?id=94814
Reviewed by Ryosuke Niwa.
Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.
* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:
2012-08-24 Mark Rowe <mrowe@apple.com>
<http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper.
Reviewed by Dan Bernstein.
This will allow relative imports within the webkit2 module to be removed in the future without
requiring future changes to clients of the module.
* WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back
as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders
directory. We also need to add a script phase to clean up any .pyc files that may be present in
the module.
2012-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r126542.
http://trac.webkit.org/changeset/126542
https://bugs.webkit.org/show_bug.cgi?id=94907
Broke WK2 build on OS X (Requested by tronical_ on #webkit).
* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:
2012-08-23 Frederik Gladhorn <gladhorn@kde.org>
Make it possible to build WebKit with Python 3 (and 2)
https://bugs.webkit.org/show_bug.cgi?id=94814
Reviewed by Ryosuke Niwa.
Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.
* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:
2012-08-23 Mark Hahnenberg <mhahnenberg@apple.com>
Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
https://bugs.webkit.org/show_bug.cgi?id=93884
Reviewed by Filip Pizlo.
With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
masquerade as undefined within frame B, but it will continue to masquerade in frame A.
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
2012-08-23 Brady Eidson <beidson@apple.com>
REGRESSION (r124815): PDF in frame does not display any more
<rdar://problem/12063306> and https://bugs.webkit.org/show_bug.cgi?id=94869
Reviewed by Alexey Proskuryakov.
* WebProcess/Plugins/PDF/BuiltInPDFView.mm:
(WebKit::BuiltInPDFView::initialize): Tell the controller that initialization was successful.
2012-08-23 Mark Rowe <mrowe@apple.com>
Make WebKit2 build with the latest version of clang.
Reviewed by Dan Bernstein.
* Configurations/Base.xcconfig: Ensure that operator new isn't exported as a weak external symbol.
2012-08-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
[EFL] Use WTF_USE_SOUP instead BUILDING_SOUP__
https://bugs.webkit.org/show_bug.cgi?id=94744
Reviewed by Gustavo Noronha Silva.
Use #if defined(WTF_USE_SOUP) instead of #if defined(BUILDING_SOUP__)
since the former is used everywhere.
* Shared/API/c/WKBase.h:
2012-08-23 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Free ewk context data on program exit.
https://bugs.webkit.org/show_bug.cgi?id=94808
Reviewed by Kenneth Rohde Christiansen.
Make sure the default Ewk_Context gets freed
on program exit.
The patch also fixes leaking of WKContextRef
inside Ewk_Context which should have been
adopted.
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
(ewk_context_default_get):
2012-08-23 Adrienne Walker <enne@google.com>
Convert ScrollableArea ASSERT_NOT_REACHED virtuals
https://bugs.webkit.org/show_bug.cgi?id=93306
Reviewed by Darin Adler.
Add implementations where necessary to make derived classes concrete.
Add OVERRIDE for ScrollableArea functions.
* UIProcess/win/WebPopupMenuProxyWin.cpp:
(WebKit::WebPopupMenuProxyWin::visibleHeight):
(WebKit):
(WebKit::WebPopupMenuProxyWin::visibleWidth):
(WebKit::WebPopupMenuProxyWin::contentsSize):
(WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox):
* UIProcess/win/WebPopupMenuProxyWin.h:
(WebPopupMenuProxyWin):
* WebProcess/Plugins/PDF/BuiltInPDFView.h:
2012-08-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] ewk_intent_request API test does not free Eina_List
https://bugs.webkit.org/show_bug.cgi?id=94809
Reviewed by Kenneth Rohde Christiansen.
The used Eina_List should be freed due to ewk_intent_suggestions_get() documentation.
* UIProcess/API/efl/tests/test_ewk2_intents.cpp:
(onIntentReceived):
2012-08-23 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] Helper functions used by the raw webview tests should not be guarded by HAVE_QTQUICK
Reviewed by Simon Hausmann.
This fixes the build if the QtQuick module is not present.
* UIProcess/API/qt/tests/util.cpp:
(messageHandler):
(suppressDebugOutput):
* UIProcess/API/qt/tests/util.h:
2012-08-23 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r126306): it broke the plugin process
https://bugs.webkit.org/show_bug.cgi?id=94797
Reviewed by Xan Lopez.
* GNUmakefile.am:
2012-08-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] Refactoring: WebBackForwardList getters should be const
https://bugs.webkit.org/show_bug.cgi?id=94711
Reviewed by Kenneth Rohde Christiansen.
Before the change were not consistent with each other
(WebBackForwardList::entries() was const but WebBackForwardList::currentIndex() was not).
Besides having not const getters is not a good practice in C++. (Please read
Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6.
Item 3: 'Use const whenever possible').
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backListCount):
(WebKit::WebBackForwardList::forwardListCount):
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
* UIProcess/WebBackForwardList.h:
(WebKit::WebBackForwardList::currentIndex):
(WebBackForwardList):
2012-08-22 Nikhil Bhargava <nbhargava@google.com>
Reduce Font.h includes across project -- improves RenderObject.h compile time
https://bugs.webkit.org/show_bug.cgi?id=93629
Reviewed by Eric Seidel.
Adds includes due to change in RenderStyle.h
* WebProcess/WebPage/mac/WebPageMac.mm:
2012-08-22 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=94401
Add support for making a web site become paginated using overflow:
paged-x | paged-y
-and corresponding-
<rdar://problem/11831783>
Reviewed by Dave Hyatt.
WebCore::Page::Pagination is now just WebCore::Pagination.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationMode):
(WKPageGetPaginationMode):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setPaginationMode):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
(WebKit::WebPageProxy::paginationMode):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaginationMode):
(WebKit::WebPage::setPaginationBehavesLikeColumns):
(WebKit::WebPage::setPageLength):
(WebKit::WebPage::setGapBetweenPages):
* WebProcess/WebPage/WebPage.h:
(WebPage):
2012-08-22 Jer Noble <jer.noble@apple.com>
Browser menu visible when calling webkitRequestFullscreen after user manually enters full screen mode
https://bugs.webkit.org/show_bug.cgi?id=93892
Reviewed by Eric Carlson.
Allow the full screen window to "Join All Spaces", so that once it's original full screen space is destroyed,
it can join the new one.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2012-08-22 Alexey Proskuryakov <ap@apple.com>
[WK2] Support posting injected bundle messages to a page
https://bugs.webkit.org/show_bug.cgi?id=94630
Reviewed by Sam Weinig.
* Shared/APIClientTraits.cpp:
* Shared/APIClientTraits.h:
* Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
* UIProcess/API/C/WKPage.cpp:
(WKPagePostMessageToInjectedBundle):
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::postMessageToInjectedBundle):
* UIProcess/WebPageProxy.h:
* WebProcess/InjectedBundle/API/c/WKBundle.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::didReceiveMessageToPage):
(WebKit::InjectedBundle::didReceiveMessage):
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/InjectedBundleClient.cpp:
(WebKit::InjectedBundleClient::didReceiveMessageToPage):
* WebProcess/InjectedBundle/InjectedBundleClient.h:
(InjectedBundleClient):
Added a PostMessageToPage injected bundle message type, with all associated
machinery. API is WKPagePostMessageToInjectedBundle(), and an associated
didReceiveMessageToPage() injected bundle client function.
* WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize):
Updated for new client API.
* UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle):
Implemented multiple process model case.
2012-08-22 Gustavo Noronha Silva <gns@gnome.org>
[GTK] Split WebCore/platform into a separate library
https://bugs.webkit.org/show_bug.cgi?id=94435
Reviewed by Martin Robinson.
More people have been reporting problems when linking WebCore because
the command line limit is being exceeded. Splitting WebCore a bit more
is in order.
* GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
2012-08-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=94683
Reviewed by Alejandro G. Castro.
Change spell-checker and preferred languages API to use a GStrv
instead of a comma-separated string and GList. This makes the API
more consistent and convenient to use.
* UIProcess/API/gtk/WebKitTextChecker.cpp:
(WebKitTextChecker::getSpellCheckingLanguages): Return a
Vector<String> instead of a String.
(WebKitTextChecker::setSpellCheckingLanguages): Receive a
Vector<String> instead of a String.
* UIProcess/API/gtk/WebKitTextChecker.h:
(WebKitTextChecker): Use a GPtrArray to cache languages.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_get_spell_checking_languages):
(webkit_web_context_set_spell_checking_languages):
(webkit_web_context_set_preferred_languages):
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextSpellChecker):
(testWebContextLanguages):
2012-08-22 Csaba Osztrogonác <ossy@webkit.org>
[Qt][WK2] Enable runtime enabled features: DeviceMotion and DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=94692
Reviewed by Kenneth Rohde Christiansen.
* WebProcess/qt/WebProcessQt.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
2012-08-22 Allan Sandfeld Jensen <allan.jensen@nokia.com>
Wrong default for new ScrollAnimatorEnabled preference.
Reviewed by Simon Hausmann.
ScrollAnimatorEnabled introduced in r126291, should default to 'true'
to preserve existing behaviour on WK2 platforms that already enabled
SMOOTH_SCROLLING unconditionally.
* Shared/WebPreferencesStore.h:
(WebKit):
2012-08-22 Allan Sandfeld Jensen <allan.jensen@nokia.com>
Unreviewed, build fixup for r126291.
* Shared/WebPreferencesStore.h:
(WebKit):
2012-08-22 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Optionally support smooth-scrolling on all platforms
https://bugs.webkit.org/show_bug.cgi?id=74926
Reviewed by Simon Hausmann.
Expose scroll-animator preference, but ensure animated smooth scrolling
on the web process side is disabled when scrolling has been delegated
to the UI process.
* Shared/WebPreferencesStore.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setResizesToContentsUsingLayoutSize):
(WebKit::WebPage::updatePreferences):
2012-08-22 Luiz Agostini <luiz.agostini@nokia.com>
[Qt] Avoid using WebKit macros in qrawwebview_p.h
https://bugs.webkit.org/show_bug.cgi?id=94648
Reviewed by Noam Rosenthal.
ENABLE(FEATURE) should not be used in qrawwebview_p.h because it is an API header file.
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::sendTouchEvent):
* UIProcess/API/qt/raw/qrawwebview_p.h:
2012-08-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r126216.
http://trac.webkit.org/changeset/126216
https://bugs.webkit.org/show_bug.cgi?id=94661
"Broke many Mac-WK2 tests" (Requested by bradee-oh on
#webkit).
* WebProcess/com.apple.WebProcess.sb.in:
2012-08-21 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[GTK] [WK2] Memory leaks in TestWebKitFindController
https://bugs.webkit.org/show_bug.cgi?id=94627
Reviewed by Martin Robinson.
Fix memory leaks in TestWebKitFindController by using adoptGRef
instead of just getting new reference of GdkPixbuf.
* UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
(testFindControllerHide):
2012-08-21 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/11241850> Block access to xpcd in WebProcess.sb
Reviewed by Sam Weinig and Jon Honeycutt.
* WebProcess/com.apple.WebProcess.sb.in:
2012-08-21 Alexey Proskuryakov <ap@apple.com>
<rdar://problem/8900275> Remove PubSub access from WebProcess, since it is no longer necessary
Reviewed by Mark Rowe.
* WebProcess/com.apple.WebProcess.sb.in:
2012-08-21 Thiago Marcos P. Santos <thiago.santos@intel.com>
[EFL] Some public API functions don't have their symbols exported
https://bugs.webkit.org/show_bug.cgi?id=94589
Reviewed by Kenneth Rohde Christiansen.
Added missing export symbol macro to these public API functions.
* UIProcess/API/efl/ewk_view.h:
2012-08-21 Martin Robinson <mrobinson@igalia.com>
[GTK] Using a native window for the WebView breaks GtkOverlay
https://bugs.webkit.org/show_bug.cgi?id=90085
Reviewed by Alejandro G. Castro.
Add XComposite libraries to the linker list for WebKit2.
* GNUmakefile.am: Add XComposite
2012-08-21 Jesse van den Kieboom <jessevdk@gnome.org> and Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add destroy notify for register_uri_scheme
https://bugs.webkit.org/show_bug.cgi?id=94315
Reviewed by Philippe Normand.
For introspection to work correctly, a destroy notify needs to be
added to register_uri_scheme so that bindings know when to
finalize the user_data.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_register_uri_scheme):
(webkitWebContextReceivedURIRequest):
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2012-08-21 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed build fix for newer Qt 5: QT += qmltest does not imply QT += testlib anymore, but
the code here needs QSignalSpy from QTestLib
* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/WebView.pro:
2012-08-18 John Sullivan <sullivan@apple.com>
<https://bugs.webkit.org/show_bug.cgi?id=94486>
<rdar://problem/12128557>
REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash
Reviewed by Darin Adler.
* UIProcess/API/mac/WKView.mm:
(-[WKView viewWillMoveToWindow:]):
Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
before the WKView is moved from one window to another when the WKView is being moved
out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
While this technically reopens a potentially crashing code path that 121482 closed,
it only reopens it for WKViews that are used for text editing and that are removed
from an NSPopover at some time earlier than tear-down of the NSPopover.
2012-08-20 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Custom tap-highlight-color renders fully opaque
https://bugs.webkit.org/show_bug.cgi?id=94468
Reviewed by Kenneth Rohde Christiansen.
Draw tap-highlight-color at 50% transparency, to better match how
existing WebKit browsers act on custom tap-highlight colors.
* WebProcess/WebPage/TapHighlightController.cpp:
(WebKit::TapHighlightController::drawRect):
2012-08-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
https://bugs.webkit.org/show_bug.cgi?id=94471
Reviewed by Martin Robinson.
In WebKit1 there's code to prevent that load signals are emitted
when loading internal custom error pages. We added
webkit_web_view_replace_content() with the same idea, but it has
ended up being problematic, because it allows to add any HTML
content (in WebKit1 we assumed internal error pages never failed
and always loaded) and it's impossible to know when the load has
finished. It also required a lot of logic to handle
replace_content as an especial case, in order to hide the fact
that it loads content. This patch renames
webkit_web_view_replace_content() as
webkit_web_view_load_alternate_html() and emit load events
normally.
* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailed):
(webkitWebViewSetEstimatedLoadProgress):
(webkitWebViewResourceLoadStarted):
(webkitWebViewGetLoadingWebResource):
(webkitWebViewRemoveLoadingWebResource):
(webkitWebViewResourceLoadFinished):
(webkit_web_view_load_alternate_html):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestLoaderClient.cpp:
(testLoadAlternateHTML):
(beforeAll):
* UIProcess/API/gtk/tests/TestResources.cpp:
(beforeAll):
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(beforeAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::loadAlternateHTML):
* UIProcess/API/gtk/tests/WebViewTest.h:
2012-08-20 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Add unit tests for WKEinaSharedString
https://bugs.webkit.org/show_bug.cgi?id=94104
Reviewed by Kenneth Rohde Christiansen.
Added unit tests for WKEinaSharedString class.
* PlatformEfl.cmake:
* UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Added.
(checkString):
(TEST_F):
2012-08-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to set preferred languages to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=90878
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_preferred_languages): Public API to set a
list of preferred languages sorted from most desirable to least
desirable.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextLanguages):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(resourceGetDataCallback):
(WebViewTest::mainResourceData): Moved from TestWebKitWebContext
to make it available to all WebViewTests.
* UIProcess/API/gtk/tests/WebViewTest.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
observer that the languages have been overriden.
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::buildAcceptLanguages): Helper function to build the
accept languages as specified in RFC 2616.
(WebKit::setSoupSessionAcceptLanguage): Set the accept-language
property of the default SoupSession.
(WebKit::languageChanged): Update the preferred languages in
SoupSession.
(WebKit::WebProcess::platformInitializeWebProcess): Add an
observer to be notified when the list of preferred languages is
updated.
(WebKit::WebProcess::platformTerminate): Remove the observer added
in platformInitializeWebProcess().
2012-08-19 Dan Bernstein <mitz@apple.com>
WebPageProxy::setCursor does not check that the view is still in an active window
https://bugs.webkit.org/show_bug.cgi?id=94427
Reviewed by Alexey Proskuryakov.
The Web process may ask to change the cursor when the view is in an active window, but
if by the time the UI process receives the message, the view is no longer in a window or the
window is not active , then the cursor should not change.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setCursor): Added a check that the view is in an active window before
allowing the page to change the cursor.
2012-08-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r125972.
http://trac.webkit.org/changeset/125972
https://bugs.webkit.org/show_bug.cgi?id=94431
Breaks AppleMac builds (Requested by pfeldman on #webkit).
* UIProcess/API/gtk/WebKitWebContext.cpp:
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::WebViewTest):
* UIProcess/API/gtk/tests/WebViewTest.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::userPreferredLanguagesChanged):
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformTerminate):
2012-08-19 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add API unit tests for Web Intents
https://bugs.webkit.org/show_bug.cgi?id=90454
Reviewed by Kenneth Rohde Christiansen.
Add unit testing for Web intent requests,
including the "intent,request,new" signal on
the Ewk_View and the Ewk_Intent API.
* UIProcess/API/efl/ewk_view.h: Fix documentation for argument type of "intent,request,new" signal.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::mouseClick): Add utility method to simulate a click at given
coordinates. This is needed for testing functionality that requires a user gesture.
(EWK2UnitTest):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
(EWK2UnitTestBase):
* UIProcess/API/efl/tests/resources/intent-request.html: Added.
* UIProcess/API/efl/tests/test_ewk2_intents.cpp:
(stringSortCb):
(onIntentReceived):
(TEST_F):
2012-08-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to set preferred languages to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=90878
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_preferred_languages): Public API to set a
list of preferred languages sorted from most desirable to least
desirable.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextLanguages):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(resourceGetDataCallback):
(WebViewTest::mainResourceData): Moved from TestWebKitWebContext
to make it available to all WebViewTests.
* UIProcess/API/gtk/tests/WebViewTest.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
observer that the languages have been overriden.
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::buildAcceptLanguages): Helper function to build the
accept languages as specified in RFC 2616.
(WebKit::setSoupSessionAcceptLanguage): Set the accept-language
property of the default SoupSession.
(WebKit::languageChanged): Update the preferred languages in
SoupSession.
(WebKit::WebProcess::platformInitializeWebProcess): Add an
observer to be notified when the list of preferred languages is
updated.
(WebKit::WebProcess::platformTerminate): Remove the observer added
in platformInitializeWebProcess().
2012-08-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] ewk_back_forward_list_item properties should be in sync with WebProcessProxy::m_backForwardListItemMap
https://bugs.webkit.org/show_bug.cgi?id=94248
Reviewed by Kenneth Rohde Christiansen.
Currently ewk_back_forward_list_item properties are initialized from
WKBackForwardListItemRef once in the constructor and then just stored.
This is erroneous approach as back forward items can be initialized within
several iterations, meaning several ipc calls to UI process and several updates
of WebProcessProxy::m_backForwardListItemMap where the items are stored.
Hence the values of ewk_back_forward_list_item properties should be updated
with the corresponding WKBackForwardListItem function invokes every time
they are called.
* UIProcess/API/efl/ewk_back_forward_list_item.cpp:
(_Ewk_Back_Forward_List_Item): Data members have to be mutable as assigned being const pointers.
(_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item):
(ewk_back_forward_list_item_uri_get):
(ewk_back_forward_list_item_title_get):
(ewk_back_forward_list_item_original_uri_get):
2012-08-17 Enrica Casucci <enrica@apple.com>
Adding back the first statement of WebProcessMain accidentally
removed in r125358.
Reviewed by Sam Weinig.
* WebProcess/mac/WebProcessMainMac.mm: Adding back the stripping
of DYLD_INSERT_LIBRARIES.
2012-08-17 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL] REGRESSION(r125923): Breaks EFL build
https://bugs.webkit.org/show_bug.cgi?id=94376
Reviewed by Alexey Proskuryakov.
Fix EFL build break after r125923.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveIntentForFrame):
2012-08-17 Alexey Proskuryakov <ap@apple.com>
Access m_process directly in WebPageProxy.cpp
https://bugs.webkit.org/show_bug.cgi?id=94363
Reviewed by John Sullivan.
Consistency fix - we don't use accessors when we don't have to, and there is a mix in this file.
* UIProcess/WebPageProxy.cpp:
2012-08-17 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Add WK2 API to get suggested filename for URI responses
https://bugs.webkit.org/show_bug.cgi?id=92967
Reviewed by Carlos Garcia Campos.
Webcore has API to get the suggested filename for a response, add
a property and getter for it in WebKitURIResponse.
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(_WebKitURIResponsePrivate): Add a CString holding the value.
(webkitURIResponseGetProperty): Add the gobject bits for the
property.
(webkit_uri_response_class_init): Install the property.
(webkit_uri_response_get_suggested_filename): New getter.
* UIProcess/API/gtk/WebKitURIResponse.h: Declare the public
method.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
symbols.
* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebResourceSuggestedFilename): Test the new API.
(serverCallback): Add the the content-disposition header
in one case, in order to test it.
(beforeAll): Add the new test.
2012-08-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][wk2] Add unit tests for back-forward list API
https://bugs.webkit.org/show_bug.cgi?id=92617
Reviewed by Kenneth Rohde Christiansen.
Added unit tests covering the existing EFL WK2 back-forward list API.
* PlatformEfl.cmake:
* UIProcess/API/efl/tests/resources/default_test_page.html:
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: Added.
(serverCallbackNavigation):
(checkItem):
(urlFromTitle):
(TEST_F):
2012-08-17 Jeff Miller <jeffm@apple.com>
UserMessageEncoder::baseEncode() should ASSERT when attempting to encode a non-shareable image
https://bugs.webkit.org/show_bug.cgi?id=94245
Reviewed by Alexey Proskuryakov.
It's a programming error if a client attempts to encode an image that has an
allocated bitmap, but isn't shareable, so we should assert in this case.
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
Assert if we're trying to encode valid non-shareable image.
2012-08-17 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL] [WK2] Add unit tests for vibration_client_callbacks_set API
https://bugs.webkit.org/show_bug.cgi?id=93890
Reviewed by Kenneth Rohde Christiansen.
This patch covers unit testing of the Vibration API as delivered.
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(VibrationCbData):
(vibrateCallback):
(cancelVibrationCallback):
(loadVibrationHTMLString):
(TEST_F):
2012-08-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Rename WebKitWebView print-requested signal to print
https://bugs.webkit.org/show_bug.cgi?id=94306
Reviewed by Martin Robinson.
WebKitWebView::print-requested is inconsistent with the rest of
the API. It's a true_handled signal that allows users to implement
their own print dialog, or block printing, or rely on
defaults. The signal should be WebKitWebView::print like other
signals (create, close, decide_policy, etc.)
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
(webkitWebViewPrintFrame):
* UIProcess/API/gtk/WebKitWebView.h:
(_WebKitWebViewClass):
* UIProcess/API/gtk/tests/TestPrinting.cpp:
(webViewPrintCallback):
(testWebViewPrint):
(beforeAll):
2012-08-17 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
[EFL] [WK2] Free Eina Strbuf with eina_strbuf_free() instead of eina_strbuf_string_free()
https://bugs.webkit.org/show_bug.cgi?id=94312
Reviewed by Kenneth Rohde Christiansen.
eina_strbuf_string_free() frees the contents of a string buffer but not the
buffer, so eina_strbuf_free() must be used to free the buffer.
Contents of the buffer has already been take care by stealing it with
eina_strbuf_string_steal(), so no reason to call eina_strbuf_string_free().
* UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
(serverCallback):
2012-08-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Getting unnecessary EINA_SAFETY_ON_NULL_RETURN_VAL warnings while page navigation
https://bugs.webkit.org/show_bug.cgi?id=94308
Reviewed by Kenneth Rohde Christiansen.
The reason is that loadClient.didChangeBackForwardList callback is invoked with zero
arguments which is valid case while page back-forward navigation and means basically
that the back-froward list has changed but items were not added or deleted.
* UIProcess/API/efl/ewk_back_forward_list.cpp:
(ewk_back_forward_list_changed):
2012-08-16 Lauro Neto <lauro.neto@openbossa.org>
[Qt] Failure to build with --no-inspector
https://bugs.webkit.org/show_bug.cgi?id=94148
Reviewed by Noam Rosenthal.
Add guards around usage of inspector functions.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::remoteInspectorUrl):
2012-08-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
[Qt] Remove an unused variable
Reviewed by Simon Hausmann.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::QQuickWebPagePrivate):
* UIProcess/API/qt/qquickwebpage_p_p.h:
(QQuickWebPagePrivate):
2012-08-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
[Qt][WK2] Change the default cache model to enable the page cache
https://bugs.webkit.org/show_bug.cgi?id=94221
Reviewed by Simon Hausmann.
The default CacheModelDocumentViewer disables the memory back-forward page cache.
As uses of applications using QQuickWebView might vary, I'm setting the default to
CacheModelDocumentBrowser.
We should eventually expose this in the API to allow serious Web browsers setting it
to CacheModelPrimaryWebBrowser or to CacheModelDocumentViewer for application tight
on memory with limited page navigations.
* UIProcess/qt/QtWebContext.cpp:
(WebKit::QtWebContext::defaultContext):
2012-08-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
[Qt] Make sure that we don't prematurely force the first layout during loading.
https://bugs.webkit.org/show_bug.cgi?id=94106
Reviewed by Kenneth Rohde Christiansen.
This would have the nasty effect that the frame loader would report the first layout
before loadCommitted was reported. This would resume the rendering engine prematurely,
showing blank content and reporting an empty contents size.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setFixedLayoutSize):
2012-08-16 Marcelo Lira <marcelo.lira@openbossa.org>
[Qt] Input method hints are not being set.
https://bugs.webkit.org/show_bug.cgi?id=92386
Reviewed by Kenneth Rohde Christiansen.
Input method hints for an editable element must be obtained from a proper
HTML element. If the editable element is a complex one, it will have elements
in the Shadow DOM, and it's one of those that will be returned as the root
editable element. This works for editable DIVs, but not for INPUT elements.
Using Element::shadowHost() on the root editable element will provide the
needed HTML element, and for further clarity a method that does this was added
to FrameSelection.
Added an API test to the Qt port regarding the correct setting
of input method hints information on INPUT HTML tags.
* UIProcess/API/qt/tests/html/inputmethod.html:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
(tst_QQuickWebView::inputMethodHints):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
2012-08-16 Zeno Albisser <zeno@webkit.org>
Make GraphicsSurface double buffered by default.
https://bugs.webkit.org/show_bug.cgi?id=93252
Create only a single GraphicsSurface per canvas
on both supported platforms Mac/Linux.
The GraphicsSurface on Mac internally uses two IOSurface
to provide a front and a back buffer.
The GLX implementation of GraphicsSurface uses
an XWindow which already provides a front and a back buffer.
Reviewed by Noam Rosenthal.
* Shared/ShareableSurface.h:
(Handle):
Change the type of GraphicsSurface token to uint64_t.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
Add a parameter that denotes the current front buffer of the
GraphicsSurface.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::syncCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
2012-08-16 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
https://bugs.webkit.org/show_bug.cgi?id=93960
Reviewed by Simon Hausmann.
Following the removal of Qt 4 support from trunk in r124879.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):
2012-08-16 Christophe Dumez <christophe.dumez@intel.com>
[EFL][WK2] Add unit tests for Web intent registration
https://bugs.webkit.org/show_bug.cgi?id=94133
Reviewed by Kenneth Rohde Christiansen.
Add unit tests for Web Intent service registration.
This tests the "intent,service,register" signaling
on the Ewk_View as well as Ewk_Intent_Service.
* PlatformEfl.cmake:
* UIProcess/API/efl/tests/resources/intent-service.html: Added.
* UIProcess/API/efl/tests/test_ewk2_intents.cpp: Added.
(onIntentServiceRegistration):
(TEST_F):
2012-08-16 Marja Hölttä <marja@chromium.org>
FormController, WebHistoryItem: Enable reading selected file names from document state
https://bugs.webkit.org/show_bug.cgi?id=91231
Reviewed by Jochen Eisinger.
This change enables Chromium to set up file permissions properly when
the session restore feature restores a page with selected files.
* win/WebKit2.def: Exported FormController::getReferencedFilePaths and HistoryController::saveDocumentAndScrollState.
2012-08-15 Ryosuke Niwa <rniwa@webkit.org>
Update manual tests and comments to refer to TestRunner instead of LayoutTestController
https://bugs.webkit.org/show_bug.cgi?id=94168
Reviewed by Kent Tamura.
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::getBoolValueForKey):
2012-08-15 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
[css3-text] Add CSS3 Text decoration compile flag
https://bugs.webkit.org/show_bug.cgi?id=93863
Reviewed by Julien Chaffraix.
This patch handles the compile flag implementation, which will come disabled by
default, thus not exposing the CSS3 text decoration features to the web, unless
when explicitly enabling it with "--css3-text-decoration" build parameter.
* Configurations/FeatureDefines.xcconfig:
2012-08-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r125687.
http://trac.webkit.org/changeset/125687
https://bugs.webkit.org/show_bug.cgi?id=94147
It broke the whole world (Requested by Ossy_night on #webkit).
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
2012-08-15 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=93693
[WK2] REGRESSION(125091): pixel results don't sow scrollbars
anymore
Reviewed by Sam Weinig.
This is a regression from http://trac.webkit.org/changeset/125091
in which I failed to noticed that
WKBundlePageCreateSnapshotInViewCoordinates() did actually do
something different than
WKBundlePageCreateSnapshotInDocumentCoordinates(). Specifically,
it used ScrollView::paint() to paint instead of
FrameView::paintContents(). So this patch restores that
functionality by adding a value to SnapshotOptions indicating
whether the snapshot should be taken in ViewCoordinates
(otherwise it defaults to DocumentCoordinates).
* Shared/API/c/WKImage.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toSnapshotOptions):
* Shared/ImageOptions.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaledSnapshotWithOptions):
Even though we plan to deprecate this API, it should keep doing
the right thing until it's gone.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCreateSnapshotInViewCoordinates):
2012-08-15 Brady Eidson <beidson@apple.com>
Removing a plug-in element from a page opened in a background tab in Safari crashes
<rdar://problem/12057991> and https://bugs.webkit.org/show_bug.cgi?id=93913
Reviewed by Beth Dakin.
This only happens in WebKit2 with asynchronous plug-in initialization enabled.
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::destroy): Null-check m_connection, as it might not have been created yet.
* win/WebKit2.def: Export Page::setCanStartMedia for InternalSettings/DRT use.
2012-08-14 Mark Hahnenberg <mhahnenberg@apple.com>
Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
https://bugs.webkit.org/show_bug.cgi?id=93884
Reviewed by Geoffrey Garen.
With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
masquerade as undefined within frame B, but it will continue to masquerade in frame A.
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
2012-08-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL][WK2] Refactoring: start using WKEinaSharedString in ewk_ classes
https://bugs.webkit.org/show_bug.cgi?id=93964
Reviewed by Kenneth Rohde Christiansen.
Started using WKEinaSharedString where it is advisable.
* UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
(WKEinaSharedString::operator==):
* UIProcess/API/cpp/efl/WKEinaSharedString.h:
* UIProcess/API/efl/ewk_download_job.cpp:
(_Ewk_Download_Job):
(_Ewk_Download_Job::_Ewk_Download_Job):
(_Ewk_Download_Job::~_Ewk_Download_Job):
(ewk_download_job_destination_set):
(ewk_download_job_suggested_filename_set):
* UIProcess/API/efl/ewk_intent.cpp:
(_Ewk_Intent):
(_Ewk_Intent::_Ewk_Intent):
(_Ewk_Intent::~_Ewk_Intent):
(ewk_intent_action_get):
(ewk_intent_type_get):
(ewk_intent_service_get):
* UIProcess/API/efl/ewk_intent_service.cpp:
(_Ewk_Intent_Service):
(_Ewk_Intent_Service::_Ewk_Intent_Service):
(_Ewk_Intent_Service::~_Ewk_Intent_Service):
(ewk_intent_service_action_get):
(ewk_intent_service_type_get):
(ewk_intent_service_href_get):
(ewk_intent_service_title_get):
(ewk_intent_service_disposition_get):
* UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
(_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision):
(_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision):
* UIProcess/API/efl/ewk_url_request.cpp:
(_Ewk_Url_Request):
(_Ewk_Url_Request::_Ewk_Url_Request):
(_Ewk_Url_Request::~_Ewk_Url_Request):
(ewk_url_request_url_get):
(ewk_request_cookies_first_party_get):
(ewk_url_request_http_method_get):
* UIProcess/API/efl/ewk_url_response.cpp:
(_Ewk_Url_Response):
(_Ewk_Url_Response::_Ewk_Url_Response):
(_Ewk_Url_Response::~_Ewk_Url_Response):
(ewk_url_response_url_get):
(ewk_url_response_mime_type_get):
* 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_uri_update):
(ewk_view_title_get):
(ewk_view_theme_set):
(ewk_view_setting_encoding_custom_get):
(ewk_view_setting_encoding_custom_set):
* UIProcess/API/efl/ewk_web_error.cpp:
(_Ewk_Web_Error):
(_Ewk_Web_Error::_Ewk_Web_Error):
(_Ewk_Web_Error::~_Ewk_Web_Error):
(ewk_web_error_url_get):
(ewk_web_error_description_get):
* UIProcess/API/efl/ewk_web_resource.cpp:
(_Ewk_Web_Resource):
(_Ewk_Web_Resource::_Ewk_Web_Resource):
(_Ewk_Web_Resource::~_Ewk_Web_Resource):
2012-08-15 Christophe Dumez <christophe.dumez@intel.com>
[WK2] Add support for Web Intents MessagePorts
https://bugs.webkit.org/show_bug.cgi?id=89072
Reviewed by Kenneth Rohde Christiansen.
Add support for WebIntents MessagePorts in WebKit2.
MessagePorts can be passed with a Web Intent in
order to open a direct communication channel
between the Web application and the intent service.
This functionality is already supported by WebKit 1.
This patch introduces a new InjectedBundleIntent
class which wraps a WebCore::Intent. This way
information regarding the MessagePorts in a Web
Intent is kept when using an injected bundle.
For the UIProcess, WebIntentData now carries
identifiers for the MessagePorts which can go over
IPC. Those identifiers map to actual MessagePorts
stored in the Web process. This way, when the UI
delivers an intent to a frame, we can get back the
corresponding MessagePorts from the Web process
before delivering the intent to the DOMWindow.
This functionality is already tested by:
- webintents/web-intents-invoke-port.html
- webintents/web-intents-obj-constructor.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* Shared/IntentData.cpp: Add MessagePort identifiers.
(WebKit::IntentData::IntentData):
(WebKit::IntentData::encode):
(WebKit::IntentData::decode):
* Shared/IntentData.h:
(IntentData):
* Target.pri:
* UIProcess/API/C/WKIntentData.cpp: Rename WKIntentDataCopyExtra() to
WKIntentDataCopyExtraValue() for clarity.
(WKIntentDataCopyExtraValue):
* UIProcess/API/C/WKIntentData.h: Remove WKIntentDataCreate() function now
that WTR uses WKBundleIntentCreate() instead.
* UIProcess/API/efl/ewk_intent.cpp:
(ewk_intent_extra_get): Use WKIntentDataCopyExtraValue() instead of
WKIntentDataCopyExtra() since it was renamed.
* UIProcess/WebIntentData.cpp:
(WebKit::WebIntentData::WebIntentData):
(WebKit::WebIntentData::~WebIntentData): Remove MessagePorts from WebProcess upon
WebIntentData destruction.
(WebKit):
(WebKit::WebIntentData::extras):
* UIProcess/WebIntentData.h:
(WebKit):
(WebKit::WebIntentData::create):
(WebIntentData):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveIntentForFrame):
* UIProcess/WebProcessProxy.cpp:
(WebKit):
(WebKit::WebProcessProxy::removeMessagePortChannel):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
(WebKit):
* WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.cpp.
(WKBundleIntentGetTypeID):
(WKBundleIntentCreate):
(WKBundleIntentCopyAction):
(WKBundleIntentCopyType):
(WKBundleIntentCopyService):
(WKBundleIntentCopySuggestions):
(WKBundleIntentCopyExtraValue):
(WKBundleIntentCopyExtras):
(WKBundleIntentMessagePortCount):
* WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.h.
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp:
(WKBundleIntentRequestCopyIntent):
* WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageDeliverIntentToFrame):
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
(WebKit):
(WebKit::InjectedBundleIntent::create):
(WebKit::InjectedBundleIntent::InjectedBundleIntent):
(WebKit::InjectedBundleIntent::action):
(WebKit::InjectedBundleIntent::payloadType):
(WebKit::InjectedBundleIntent::service):
(WebKit::InjectedBundleIntent::data):
(WebKit::InjectedBundleIntent::extra):
(WebKit::InjectedBundleIntent::extras):
(WebKit::InjectedBundleIntent::suggestions):
* WebProcess/InjectedBundle/InjectedBundleIntent.h: Copied from Source/WebKit2/UIProcess/WebIntentData.h.
(WebKit):
(InjectedBundleIntent):
(WebKit::InjectedBundleIntent::coreIntent):
(WebKit::InjectedBundleIntent::type):
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp:
(WebKit::InjectedBundleIntentRequest::intent):
* WebProcess/InjectedBundle/InjectedBundleIntentRequest.h:
(WebKit):
(InjectedBundleIntentRequest):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::deliverIntent):
(WebKit):
* WebProcess/WebPage/WebFrame.h:
(WebCore):
(WebFrame):
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::deliverCoreIntentToFrame):
* WebProcess/WebPage/WebPage.h:
(WebCore):
(WebPage):
* WebProcess/WebProcess.cpp: Store MessagePorts in WebProcess and keep mapping with
their identifiers.
(WebKit):
(WebKit::WebProcess::addMessagePortChannel):
(WebKit::WebProcess::messagePortChannel):
(WebKit::WebProcess::removeMessagePortChannel):
* WebProcess/WebProcess.h:
(WebCore):
(WebProcess):
* WebProcess/WebProcess.messages.in:
2012-08-14 Adam Barth <abarth@webkit.org>
Delete Frame::domWindow() and Frame::existingDOMWindow()
https://bugs.webkit.org/show_bug.cgi?id=93990
Reviewed by Eric Seidel.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::deliverIntent):
(WebKit::WebFrame::pendingUnloadCount):
2012-08-14 Lauro Neto <lauro.neto@openbossa.org>
Convert signals/slots to Q_* macros.
[Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals
https://bugs.webkit.org/show_bug.cgi?id=93996
Reviewed by Kenneth Rohde Christiansen.
Change usage of keyword-conflicting 'signals' and 'slots' for
Q_SIGNALS and Q_SLOTS macro.
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp:
(tst_InspectorServer):
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
(tst_publicapi):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
* UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
(WebView):
(tst_qrawwebview):
* UIProcess/API/qt/tests/util.cpp:
(LoadSpy):
* UIProcess/API/qt/tests/util.h:
(LoadStartedCatcher):
* UIProcess/InspectorServer/qt/WebSocketServerQt.h:
(QtTcpServerHandler):
* UIProcess/qt/QtDialogRunner.cpp:
(DialogContextBase):
(DialogContextObject):
(BaseAuthenticationContextObject):
(CertificateVerificationDialogContextObject):
(FilePickerContextObject):
(DatabaseQuotaDialogContextObject):
* UIProcess/qt/QtDialogRunner.h:
(QtDialogRunner):
* UIProcess/qt/QtWebPageEventHandler.h:
(QtWebPageEventHandler):
* WebProcess/Downloads/qt/QtFileDownloader.h:
2012-08-14 Alexey Proskuryakov <ap@apple.com>
[WK2] Track multiple Web Processes per context
https://bugs.webkit.org/show_bug.cgi?id=93915
Reviewed by Sam Weinig.
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Downloads don't work
yet, added a FIXME.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::deprecatedSharedProcess): Renamed from process(), added an
assertion that this is only used in single proces mode.
(WebKit::WebContext::textCheckerStateChanged): Abstract out access to web processes.
(WebKit::WebContext::ensureSharedWebProcess): Renamed ensureWebProcess() for clarity.
(WebKit::WebContext::createNewWebProcess): Extracted code for creating a process
from ensureWebProcess().
(WebKit::WebContext::warmInitialProcess): Create the process more explicitly.
(WebKit::WebContext::enableProcessTermination): Iterate over all processes.
(WebKit::WebContext::shouldTerminate): Updated assertion.
(WebKit::WebContext::processDidFinishLaunching): Changed to use process argument
instead of m_process.
(WebKit::WebContext::disconnectProcess): Updated code forto use m_processes.
(WebKit::WebContext::createWebPage): Handle both process policies (initial support
for multi-process).
(WebKit::WebContext::relaunchProcessIfNecessary): Added cases for both policies.
(WebKit::WebContext::download): Ditto.
(WebKit::WebContext::postMessageToInjectedBundle): Ditto.
(WebKit::WebContext::didReceiveSyncMessage): Fixed whitespace.
(WebKit::WebContext::getWebCoreStatistics): Added cases for both policies.
* UIProcess/WebContext.h:
(WebKit::WebContext::sendToAllProcesses):
(WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
Send to all processes. Changed return type to void, since no caller checked it.
* UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::createWebPage): Removed
an assertion that assumed one process per context.
* UIProcess/WebTextChecker.cpp: (WebKit::updateStateForAllWebProcesses): Updated
to use a WebContext method.
2012-08-14 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks
https://bugs.webkit.org/show_bug.cgi?id=42332
Reviewed by Kenneth Rohde Christiansen.
Added new getters to WKURL, WKURLRequest, WKURLResponse so that it is possible
to dump information necessary for the tests passing.
* Shared/API/c/WKURL.cpp:
(WKURLCopyPath):
* Shared/API/c/WKURL.h:
* Shared/API/c/WKURLRequest.cpp:
(WKURLRequestCopyFirstPartyForCookies):
(WKURLRequestCopyHTTPMethod):
* Shared/API/c/WKURLRequest.h:
* Shared/API/c/WKURLResponse.cpp:
(WKURLResponseHTTPStatusCode):
* Shared/API/c/WKURLResponse.h:
* Shared/WebURL.h:
(WebKit::WebURL::path):
(WebURL):
2012-08-14 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] UpdateAtlas is wasting memory
https://bugs.webkit.org/show_bug.cgi?id=93606
Reviewed by Jocelyn Turcotte.
Imported and QAreaAllocator from Qt3D and ported it to WebCore style,
and use this new area allocator to replace old one from UpdateAtlas.
* CMakeLists.txt:
* Target.pri:
* WebProcess/WebPage/AreaAllocator.cpp: Added.
(WebKit::AreaAllocator::AreaAllocator):
(WebKit::AreaAllocator::~AreaAllocator):
(WebKit::AreaAllocator::expand):
(WebKit::AreaAllocator::expandBy):
(WebKit::AreaAllocator::release):
(WebKit::AreaAllocator::overhead):
(WebKit::AreaAllocator::roundAllocation):
(WebKit::GeneralAreaAllocator::GeneralAreaAllocator):
(WebKit::GeneralAreaAllocator::~GeneralAreaAllocator):
(WebKit::GeneralAreaAllocator::freeNode):
(WebKit::GeneralAreaAllocator::expand):
(WebKit::fitsWithin):
(WebKit::GeneralAreaAllocator::allocate):
(WebKit::GeneralAreaAllocator::allocateFromNode):
(WebKit::GeneralAreaAllocator::splitNode):
(WebKit::GeneralAreaAllocator::updateLargestFree):
(WebKit::GeneralAreaAllocator::release):
(WebKit::GeneralAreaAllocator::overhead):
* WebProcess/WebPage/AreaAllocator.h: Added.
(WebCore::nextPowerOfTwo):
(AreaAllocator):
(WebKit::AreaAllocator::size):
(WebKit::AreaAllocator::minimumAllocation):
(WebKit::AreaAllocator::setMinimumAllocation):
(WebKit::AreaAllocator::margin):
(WebKit::AreaAllocator::setMargin):
(GeneralAreaAllocator):
(Node):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::renderNextFrame):
(WebKit::LayerTreeCoordinator::beginContentUpdate):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/UpdateAtlas.cpp:
(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit::UpdateAtlas::buildLayoutIfNeeded):
(WebKit::UpdateAtlas::didSwapBuffers):
(WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
* WebProcess/WebPage/UpdateAtlas.h:
(UpdateAtlas):
2012-08-14 Sergio Villar Senin <svillar@igalia.com>
[GTK] REGRESSION (r122428) WebKit2APITests/TestWebKitFindController fails "next" test
https://bugs.webkit.org/show_bug.cgi?id=91083
Reviewed by Carlos Garcia Campos.
After r122428 search_next()/search_prev() should return just 1 match
if the text is found.
* UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
(testFindControllerNext):
(testFindControllerPrevious):
2012-08-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Implement smart separators for context menu in WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=90449
Reviewed by Martin Robinson.
Don't add to the context menu separators that are at the very
beginning or end of the menu. Once the context menu is shown,
monitor menu items visibility to hide or show separators to make
sure they never appear in the context menu unless they are between
two visible items.
* UIProcess/API/gtk/tests/TestContextMenu.cpp:
(testContextMenuSmartSeparators):
(beforeAll):
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::contextMenuItemVisibilityChanged):
(WebKit):
(WebKit::WebContextMenuProxyGtk::append):
(WebKit::WebContextMenuProxyGtk::populate):
2012-08-14 Kihong Kwon <kihong.kwon@samsung.com>
[WK2] Add getter for capture attribute of input element
https://bugs.webkit.org/show_bug.cgi?id=93710
Reviewed by Antonio Gomes.
Add getter for capture attribute to WKOpenPanelParameters to support HTML Media Capture.
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/WebOpenPanelParameters.cpp:
(WebKit):
(WebKit::WebOpenPanelParameters::capture):
* Shared/WebOpenPanelParameters.h:
(WebOpenPanelParameters):
* UIProcess/API/C/WKOpenPanelParameters.cpp:
(WKOpenPanelParametersCopyCapture):
* UIProcess/API/C/WKOpenPanelParameters.h:
2012-08-13 Tom Sepez <tsepez@chromium.org>
[chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
https://bugs.webkit.org/show_bug.cgi?id=93283
Reviewed by Eric Seidel.
Chromium has a refptr that needs to be NULLed at this point.
Change the client redirectDataToPlugin method(s) to expect the possibility of
a NULL argument, keeping existing behaviour otherwise.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::redirectDataToPlugin):
2012-08-13 Raphael Kubo da Costa <rakuco@webkit.org>
[EFL] Unreviewed bot fix after r125467.
* PlatformEfl.cmake: Make the WK2 tests link against glib, gobject
and gio as well.
2012-08-13 Raphael Kubo da Costa <rakuco@webkit.org>
[EFL] Unreviewed attempt at fixing the bots after r125467.
* PlatformEfl.cmake: Link against GIO and GObject due to the usage
of libsoup.
2012-08-11 Raphael Kubo da Costa <rakuco@webkit.org>
[CMake] Rewrite FindLibSoup2.cmake.
https://bugs.webkit.org/show_bug.cgi?id=93191
Reviewed by Rob Buis.
* PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO, and
do not use LIBSOUP24_LDFLAGS, as it is not needed anymore.
2012-08-13 Alexey Proskuryakov <ap@apple.com>
[WK2] Move a remaining per-process message from WebContext to WebProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=93883
More Windows build fixing.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::dummy):
2012-08-13 Alexey Proskuryakov <ap@apple.com>
[WK2] Move a remaining per-process message from WebContext to WebProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=93883
More Windows build fix
* UIProcess/WebContext.cpp:
(WebKit::WebPage::dummy):
* UIProcess/WebContext.h: (WebContext):
* UIProcess/WebContext.messages.in:
Add a dummy sync message - the same workaround is already used in WebPage.
2012-08-13 Brady Eidson <beidson@apple.com>
With asynchronous plug-in initialization, WebProcess and PluginProcess can deadlock
<rdar://problem/12062125> and https://bugs.webkit.org/show_bug.cgi?id=93894
Reviewed by Alexey Proskuryakov.
A few things were in play here:
- The WebProcess thought the plug-in was done initializing but it wasn't.
- The sync message out from the PluginProcess was not being handled by the WebProcess.
Expose the ability for the PluginProcess to act as if it is handling a sync message and needs messages dispatched:
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
(CoreIPC::Connection::decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount):
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::PluginControllerProxy):
(WebKit::PluginControllerProxy::setInitializationReply): Save the delayed reply for synchronous initialization.
(WebKit::PluginControllerProxy::takeInitializationReply): Give back the delayed reply for initialization completion.
(WebKit::PluginControllerProxy::initialize):
* PluginProcess/PluginControllerProxy.h:
(WebKit::PluginControllerProxy::isInitializing): Accessor so WebProcessConnection knows whether or not to store the
delayed reply for later.
* PluginProcess/WebProcessConnection.messages.in: Make the synchronous form of "CreatePlugin" have a delayed reply.
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::createPlugin): Store away the delayed reply message so it can be responded to after
asynchronous initialization completes.
(WebKit::WebProcessConnection::createPluginAsynchronously): If there is a stored away delayed reply message, respond to
it instead of sending the asynchronously reply.
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
2012-08-13 Alexey Proskuryakov <ap@apple.com>
[WK2] Move a remaining per-process message from WebContext to WebProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=93883
Windows build fix.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getSitesWithPluginData):
(WebKit::WebProcess::clearPluginSiteData):
Use WebProcessProxy for the message here, too.
2012-08-13 Alexey Proskuryakov <ap@apple.com>
[WK2] Move a remaining per-process message from WebContext to WebProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=93883
Reviewed by Sam Weinig.
There was one plug-in message renaming. Moving it, and also other plug-in messages
for consistency.
* UIProcess/WebContext.cpp:
(WebKit): Got rid of the last MESSAGE_CHECK in this file.
(WebKit::WebContext::WebContext): Moved m_pluginWorkQueue to a singleton.
We don't need more than one queue (all it does is read plug-in info), and if we
needed, it would have been per-process, not per-context.
(WebKit::WebContext::~WebContext): No more work queue.
(WebKit::WebContext::processDidFinishLaunching): Ditto.
* UIProcess/WebContext.h: No longer needs to be a QueueClient.
* UIProcess/WebContext.messages.in:
* UIProcess/WebProcessProxy.messages.in:
Moved plug-in related messages.
* UIProcess/WebProcessProxy.cpp:
(WebKit::pluginWorkQueue): Moved from WebContext to a singleton.
(WebKit::WebProcessProxy::sendDidGetPlugins): Moved from WebContext.
(WebKit::WebProcessProxy::handleGetPlugins): Ditto.
(WebKit::WebProcessProxy::getPlugins): Ditto.
(WebKit::WebProcessProxy::getPluginPath): Ditto.
(WebKit::WebProcessProxy::getPluginProcessConnection): Ditto.
(WebKit::WebProcessProxy::didGetSitesWithPluginData): Ditto.
(WebKit::WebProcessProxy::didClearPluginSiteData): Ditto.
* UIProcess/WebProcessProxy.h: Process proxy needs to be thread safe ref counted
now, since it sends messages to itself on a work queue and back.
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::populatePluginCache): Updated for new receiver.
* WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Ditto.
* WebProcess/WebProcess.cpp: (WebKit::canPluginHandleResponse): Ditto.
2012-08-13 Raphael Kubo da Costa <rakuco@webkit.org>
[CMake] Remove glib-related Find modules and write single new one instead.
https://bugs.webkit.org/show_bug.cgi?id=93786
Reviewed by Rob Buis.
* PlatformEfl.cmake: Use GLIB_* instead of Glib_*.
2012-08-13 Christophe Dumez <christophe.dumez@intel.com>
[SOUP][WK2] Missing LocalTerminationDisabler in WebCookieManager::setCookiePersistentStorage()
https://bugs.webkit.org/show_bug.cgi?id=93837
Reviewed by Carlos Garcia Campos.
Add missing WebCore::LocalTerminationDisabler in
WebCookieManager::setCookiePersistentStorage() to
temporarily disable process termination.
* WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::setCookiePersistentStorage):
2012-08-12 Nuno Lopes <nlopes@apple.com>
Fix build with recent clang.
https://bugs.webkit.org/show_bug.cgi?id=90701
Reviewed by Eric Seidel.
* Shared/CommandLine.h:
(CommandLine):
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
(NotificationPermissionRequestManager):
2012-08-11 Sam Weinig <sam@webkit.org>
Fix the build.
* Platform/CoreIPC/Connection.h:
Add missing include.
2012-08-11 Sam Weinig <sam@webkit.org>
[WK2] Get rid of ProcessModelSharedSecondaryThread
https://bugs.webkit.org/show_bug.cgi?id=93652
Reviewed by Dan Bernstein.
The threaded model for WebKit2 has been broken a long time and its continued existence in
the code only serves to confuse. It's time to say good bye to it.
* UIProcess/API/C/WKContext.cpp:
* UIProcess/API/C/WKContextPrivate.h:
Remove WKContextGetSharedThreadContext().
* UIProcess/ProcessModel.h:
Remove ProcessModelSharedSecondaryThread from the ProcessModel enum.
* UIProcess/WebContext.cpp:
* UIProcess/WebContext.h:
Remove WebContext::sharedThreadContext().
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::connect):
(WebKit::WebProcessProxy::isLaunching):
* UIProcess/WebProcessProxy.h:
Remove the ThreadLauncher member and stop deriving from ThreadLauncher::Client.
* UIProcess/Launcher/ThreadLauncher.cpp: Removed.
* UIProcess/Launcher/ThreadLauncher.h: Removed.
* UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Removed.
* UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Removed.
* UIProcess/Launcher/mac/ThreadLauncherMac.mm: Removed.
* UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Removed.
* UIProcess/Launcher/win/ThreadLauncherWin.cpp: Removed.
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
* CMakeLists.txt:
* GNUmakefile.list.am:
* PlatformEfl.cmake:
* Target.pri:
Remove ThreadLauncher files.
2012-08-11 Sam Weinig <sam@webkit.org>
Enable XPC Service based WebProcess with runtime flag
https://bugs.webkit.org/show_bug.cgi?id=93773
Reviewed by Dan Bernstein.
Use the XPC Service for WebProcess code path if WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS
is set in the environment.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::launchXPCService):
Fix issue that was causing this code not to compile. This was not caught before since
the code was not being built.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connect):
Switch from hard coding always using the XPC Service code path if
HAVE(XPC) was true, to doing it conditionally on an environment variable.
2012-08-11 Sam Weinig <sam@webkit.org>
Make it possible to run the WebProcess as an XPC service
https://bugs.webkit.org/show_bug.cgi?id=92814
Reviewed by Anders Carlsson.
In this initial implementation, we are only using the XPC service
to launch the WebProcess, and then using the xpc_connection to send
over a mach_port to the WebProcess which is then used for creating
the CoreIPC connection. In the future, we will switch to using the
xpc_connection for all messaging.
When the XPC service is enabled (it is compiled out by default for now), both
the XPC service and the old spawned process are runtime choosable. This allows
the connect to pre-existing process workflow to continue to work.
There are a few additional caveats of this initial implementation:
- It is only set up for the WebProcess (not for the PluginProcess)
- The WebProcess shim does not work.
- It requires a new environment variable to be set when launching
to find the right service to launch (__XPC_DYLD_FRAMEWORK_PATH).
* Configurations/WebKit2Service.xcconfig: Added.
Add new configuration file for the service.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::Identifier::Identifier):
(CoreIPC::Connection::identifierIsNull):
Added to encapsulate the concept of a null identifier, now that it
is not possible to just compare to null.
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::platformInvalidate):
(CoreIPC::Connection::platformInitialize):
Change Connection::Identifier on the Mac to be a struct instead of
a typedef to a mach_port. This allows for the Connection to get both
the listening port and a reference to the xpc_connection (if it
compiled in). For now, all we do is retain the xpc_connection when it
is given to us, and release on Connection invalidation.
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::createWebProcessConnection):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
Use the Connection::Identifier constructor.
* UIProcess/Launcher/ProcessLauncher.h:
(LaunchOptions):
Add a UseXPC option to the LaunchOptions so we can dynamically choose whether to use it.
(ProcessLauncher):
Make processTypeAsString public to allow better factoring in the implementation file
using static functions.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
Factor out the different launching options into helper functions. Always start by
trying to connect to a pre-existing process.
(WebKit::launchXPCService):
Create a new xpc_connection to our service, and give it a unique instance UUID.
Then, send a bootstrap message with a mach_port and wait for a reply to complete
the launch procedure.
(WebKit::tryPreexistingProcess):
Move the code to connect to a preexisting process to its own helper function.
(WebKit::ProcessLauncher::launchProcess):
Clean up a bit, calling the helper functions and adding call to launch the XPC service
if it is enabled.
* UIProcess/Launcher/mac/ThreadLauncherMac.mm:
(WebKit::webThreadBody):
(WebKit::ThreadLauncher::createWebThread):
Switch to using the constructor version of Identifier.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::PluginProcessProxy):
Don't try to use the XPC service for plugins yet.
(WebKit::PluginProcessProxy::didFinishLaunching):
Use Connection::identifierIsNull instead of explicit null check.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connect):
If XPC is compiled in (it currently is not) enable it by default.
* WebKit2.xcodeproj/project.pbxproj:
Add the new files and targets.
* WebKit2Service: Added.
* WebKit2Service/Info.plist: Added.
Add the paper work needed for an XPC service. Importantly, set up the XPC
service to be an Application service type, use NSApplicationMain as its run
loop, and allow for multiple instantiations. Also make sure the service acts
like the WebProcess binary by making it a LSUIElement, enabling LSFileQuarantine,
and setting the principle class to NSApplication.
* WebKit2Service/MainMacService.mm: Added.
(WebKit2ServiceEventHandler):
(main):
The initialization of the XPC service is quite a bit different than the
WebProcess version, since we don't get passed parameters in argv. Instead,
we initiate the XPC service via xpc_main, and wait for the bootstrap message
we sent in ProcessLauncherMac.mm. When we receive that message we can load
WebKit2 framework and initialize the WebProcess normally (we also get the mach_port
for the CoreIPC connection in that bootstrap message).
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMainXPC):
Add a variant of WebProcessMain that is used for the XPC service case, where we don't
have command line arguments and don't need to talk to the mach bootstrap server.
(WebKit::WebProcessMain):
* mac/MainMac.cpp: Removed.
* mac/MainMacProcess.cpp: Copied from Source/WebKit2/mac/MainMac.cpp.
Rename MainMac to MainMacProcess to signify that it is different from the XPC
service main.
2012-08-09 Jer Noble <jer.noble@apple.com>
Crash exiting from HTML5 FS mode to normal mode via ESC key
https://bugs.webkit.org/show_bug.cgi?id=93663
Reviewed by Eric Carlson.
Crash is due to a refcount underrun with _watchdogTimer due to adopting an autoreleased NSTimer.
Use the non-autoreleased NSTimer creation method and manually add to the main NSRunLoop.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController cancelOperation:]):
2012-08-10 Rafael Brandao <rafael.lobo@openbossa.org>
[Qt] WebViewLoadFavIcon::test_favIconLoad() fails
https://bugs.webkit.org/show_bug.cgi?id=91888
Reviewed by Simon Hausmann.
* UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
We should wait for iconChanged signal instead of loadFinished,
there was no guarantee that at that point we would get it already.
2012-08-10 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] Uninitialized flags in CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=93719
Reviewed by Kenneth Rohde Christiansen.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2012-08-10 Mario Sanchez Prada <msanchez@igalia.com>
[WK2][GTK] Implement new API to save a web page using MHTML
https://bugs.webkit.org/show_bug.cgi?id=89873
Reviewed by Carlos Garcia Campos.
Implemented new asynchronous API in WebKitWebView for saving a web
page to a GInputStream or to a file, using MHTML as the only
supported method at the moment.
* UIProcess/API/gtk/WebKitWebView.cpp:
(ViewSaveAsyncData):
(webViewFileSavedCallback):
(webViewMHTMLDataGotCallback):
(webkit_web_view_save):
(webkit_web_view_save_finish):
(webkit_web_view_save_to_file):
(webkit_web_view_save_to_file_finish):
* UIProcess/API/gtk/WebKitWebView.h:
Added new unit test.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewSave):
(beforeAll):
(afterAll):
Updated documentation files with new symbols.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2012-08-09 Carlos Garcia Campos <cgarcia@igalia.com>
Handle SSL errors for SOUP
https://bugs.webkit.org/show_bug.cgi?id=90267
Reviewed by Martin Robinson.
Ignore SSL errors by default for compatibility.
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk):
2012-08-09 Alexey Proskuryakov <ap@apple.com>
[WK2] Add a process model constant for multiple processes
https://bugs.webkit.org/show_bug.cgi?id=93642
Reviewed by Anders Carlsson.
* UIProcess/ProcessModel.h: Added ProcessModelMultipleSecondaryProcesses.
Deleted ProcessModelSecondaryProcess in favor of more descriptive ProcessModelSharedSecondaryProcess -
these used to behave the same.
* UIProcess/WebContext.cpp: (WebKit::WebContext::create): Changed to use ProcessModelSharedSecondaryProcess.
* UIProcess/WebProcessProxy.h: Removed an unncessary include of ProcessModel.h.
2012-08-09 Dan Bernstein <mitz@apple.com>
<rdar://problem/12035637> 32-bit PluginProcess launches without appropriate DYLD environment variables if UI process is 64-bit only
https://bugs.webkit.org/show_bug.cgi?id=93596
Reviewed by Mark Rowe.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess): Changed to pass the current architecture, rather than
the intended child process architecture, to the DynamicLinkerEnvironmentExtractor constructor.
2012-08-09 Tim Horton <timothy_horton@apple.com>
Add optional debug logging for tiled scrolling
https://bugs.webkit.org/show_bug.cgi?id=93305
Reviewed by Simon Fraser.
Add a new boolean preference, ScrollingPerformanceLoggingEnabled, which will be used to toggle
the WebCore parts of this change.
* Shared/WebPreferencesStore.h: Add ScrollingPerformanceLoggingEnabled.
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetScrollingPerformanceLoggingEnabled): Added.
(WKPreferencesGetScrollingPerformanceLoggingEnabled): Added.
* UIProcess/API/C/WKPreferencesPrivate.h: Add getters and setters for ScrollingPerformanceLoggingEnabled.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Add ScrollingPerformanceLoggingEnabled.
(WebKit::WebPage::updatePreferences): Add ScrollingPerformanceLoggingEnabled.
(WebKit::WebPage::setScrollingPerformanceLoggingEnabled): Propagate settings changes through to FrameView.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::scrollingPerformanceLoggingEnabled): Add a getter for the setting so that TiledCoreAnimationDrawingArea can access it.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Pass ScrollingPerformanceLoggingEnabled down into the scrolling thread.
2012-08-08 Shane Stephens <shanestephens@google.com>
Compile flag for CSS Hierarchies
https://bugs.webkit.org/show_bug.cgi?id=92433
Reviewed by Tony Chang.
* Configurations/FeatureDefines.xcconfig:
2012-08-08 Anders Carlsson <andersca@apple.com>
REGRESSION: Crash when plug-in initialization fails
https://bugs.webkit.org/show_bug.cgi?id=93534
<rdar://problem/12059786>
Reviewed by Simon Fraser.
Protect the PluginProxy while calling out to functions that could cause it to be destroyed.
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::didFailToCreatePluginInternal):
2012-08-08 Anders Carlsson <andersca@apple.com>
Make isTransparentSilverlightBackgroundValue handle all the possible transparent colors
https://bugs.webkit.org/show_bug.cgi?id=93532
Reviewed by Simon Fraser.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::isTransparentSilverlightBackgroundValue):
Check for all the possible transparent colors and assume that the color is opaque otherwise.
(WebKit::NetscapePlugin::initialize):
Pass the lowercase string to isTransparentSilverlightBackgroundValue.
2012-08-08 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=92275
Need a way to get a snapshot image that does not show the selection
-and corresponding-
<rdar://problem/11956802>
Reviewed by Anders Carlsson.
Added new API WKBundlePageCreateSnapshotWithOptions()
New enum SnapshotOptions tracks whether snapshots should exclude
selection highlighting in addition to tracking whether the image is
sharable like the original ImageOptions.
* Shared/API/c/WKImage.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::snapshotOptionsFromImageOptions):
(WebKit):
(WebKit::toSnapshotOptions):
* Shared/ImageOptions.h:
New API.
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCreateSnapshotWithOptions):
These existing APIs all now call
WebPage::scaledSnapshotWithOptions().
(WKBundlePageCreateSnapshotInViewCoordinates):
(WKBundlePageCreateSnapshotInDocumentCoordinates):
(WKBundlePageCreateScaledSnapshotInDocumentCoordinates):
This patch removes WebPage::snapshotInViewCoordinates(),
WebPage::snapshotInDocumentCoordinates(), and
WebPage::scaledSnapshotInDocumentCoordinates(). All of the logic is
now consolidated into WebPage::scaledSnapshotWithOptions(). It turns
out that we never did anything different for document coordinates
versus view coordinates, so that complexity could just be eliminated
outright.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::snapshotOptionsToImageOptions):
(WebKit::WebPage::scaledSnapshotWithOptions):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
2012-08-08 Anders Carlsson <andersca@apple.com>
Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is opaque to reduce blending
https://bugs.webkit.org/show_bug.cgi?id=93508
<rdar://problem/12056765>
Reviewed by Simon Fraser.
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::determineQuirks):
* Shared/Plugins/PluginQuirks.h:
Rename the MakeTransparentIfBackgroundAttributeExists quirk to MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists
since we'll explicitly check for opaque background colors (at least one opaque background color for now), instead of just making the
plug-in transparent whenever there's a background specified.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::isTransparentSilverlightBackgroundValue):
Helper function for determining if a background value is transparent. Just check for opaque black now and treat everything else as transparent.
(WebKit::NetscapePlugin::initialize):
Call isTransparentSilverlightBackgroundValue.
* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
(WebKit::makeCGLPresentLayerOpaque):
Helper function for grabbing the CGLPresentLayer from the layer hierarchy and setting it to be opaque.
(WebKit::NetscapePlugin::updatePluginLayer):
Call makeCGLPresentLayerOpaque if the plug-in has the MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists quirk and
the plug-in is not transparent.
2012-08-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] Coding style violation was brought with r125031
https://bugs.webkit.org/show_bug.cgi?id=93503
Reviewed by Alexey Proskuryakov.
WKURLResponseCopyMimeType is corrected to WKURLResponseCopyMIMEType.
* Shared/API/c/WKURLResponse.cpp:
(WKURLResponseCopyMIMEType):
* Shared/API/c/WKURLResponse.h:
2012-08-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[EFL] EFL Webkit needs a class wrapping eina stringshare
https://bugs.webkit.org/show_bug.cgi?id=93229
Reviewed by Kenneth Rohde Christiansen.
Added a new auxiliary class wrapping Eina Stringshare and providing
more convenient C++ interface for using it.
* PlatformEfl.cmake:
* UIProcess/API/cpp/efl/WKEinaSharedString.cpp: Added.
(:m_string):
(WKEinaSharedString::~WKEinaSharedString):
(WKEinaSharedString::operator=):
* UIProcess/API/cpp/efl/WKEinaSharedString.h: Added.
(WebKit):
2012-08-08 Balazs Kelemen <kbalazs@webkit.org>
[Qt] Snowshoe desktop crashes when opening a new tab
https://bugs.webkit.org/show_bug.cgi?id=92753
Reviewed by Jocelyn Turcotte.
Change back forceRepaint to consider the UI process state.
It has been tweaked to satisfy the needs of WKPageForceRepaint but
it has other callers so this new behavior was not safe. This patch
implements WebPage::forceRepaintAsync for testing purposes. It is
done by LayerTreeCoordinator that holds the callback and sends the
reply message in the next flushPendingLayerChanges. In theory it
could be implemented for the non conposited path in DrawingAreaImpl
as well but neither it is needed nor can I test it.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::forceRepaintAsync):
(WebKit):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::forceRepaintAsync):
(WebKit):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::forceRepaintAsync):
2012-08-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
[WK2] [WTR] Provide Resource Response dumping.
https://bugs.webkit.org/show_bug.cgi?id=93454
Reviewed by Kenneth Rohde Christiansen.
Several new getter functions were added to WKURLResponse and WKURL, so that WTR has
necessary data for dumping.
* Shared/API/c/WKURL.cpp:
(WKURLCopyLastPathComponent):
* Shared/API/c/WKURL.h:
* Shared/API/c/WKURLResponse.cpp:
(WKURLResponseCopyURL): Returns URL of the response.
(WKURLResponseCopyMimeType): Returns MIME type of the response.
* Shared/API/c/WKURLResponse.h:
* Shared/WebURL.h:
(WebKit::WebURL::lastPathComponent): Returns last path component of the URL.
(WebURL):
2012-08-08 Eunmi Lee <eunmi15.lee@samsung.com>
[EFL][WK2] Make ewk_view inheritable in the WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=90054
Reviewed by Kenneth Rohde Christiansen.
Make the ewk_view inheritable by exposing ewk_view_smart_class_set()
API. Additionally, the ewk_view_smart_add() API is added to create
Evas_Object for WebKit2 EFL. The default initialization is done in the
ewk_view_smart_add(), so the object which inherits the ewk_view should
use ewk_view_smart_add() instead of evas_object_smart_add() to create
Evas_Object.
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_new_from_WKContext):
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_smart_class_set):
(_ewk_view_smart_class_new):
(_ewk_view_initialize):
(_ewk_view_add_with_smart):
(ewk_view_base_add):
(ewk_view_smart_add):
(ewk_view_add_with_context):
* UIProcess/API/efl/ewk_view.h:
2012-08-08 Allan Sandfeld Jensen <allan.jensen@nokia.com>
[Qt] WebProcess hangs on plugin initialization.
https://bugs.webkit.org/show_bug.cgi?id=93272
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching): Ensure PluginProcessConnectionManager is informed of plugin crashes.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Let setIsInWindow set canStartMedia asynchronously.
2012-08-08 Andras Becsi <andras.becsi@nokia.com>
[Qt][WK2] Set the fixed layout setting before creating the page
https://bugs.webkit.org/show_bug.cgi?id=93374
Reviewed by Noam Rosenthal.
Any page setting should preferrable be set before creating the page
but fixed layout was set after the initialization of the web page.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
(QQuickWebViewFlickablePrivate::initialize):
2012-08-08 Mario Sanchez Prada <msanchez@igalia.com>
[WK2] Add new C API to generate MHTML data from the UI process
https://bugs.webkit.org/show_bug.cgi?id=89872
Reviewed by Anders Carlsson.
Add new C API in the UI Process, using ENABLE(MHTML) guards as needed.
* UIProcess/API/C/WKPage.cpp:
(WKPageGetContentsAsMHTMLData):
* UIProcess/API/C/WKPage.h:
Implementation in the UI Process's WebPage proxy object.
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::getContentsAsMHTMLData):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
Implementation in the WebProcess, relying in WebCore::MHTMLArchive.
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::getContentsAsMHTMLData):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:
2012-08-07 YoungTaeck Song <youngtaeck.song@samsung.com>
[WK2][EFL] Implement accelerated compositing on WK2 Efl port
https://bugs.webkit.org/show_bug.cgi?id=89840
Reviewed by Noam Rosenthal.
Implement accelerated composition with TiledBackingStore on WK2 Efl port.
This implementation is based on COORDINATED_GRAPHICS.
* CMakeLists.txt:
* PlatformEfl.cmake:
* Shared/ShareableSurface.cpp:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::didChangeContentsSize):
(WebKit):
* UIProcess/API/efl/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/efl/ViewportProcessor.cpp: Added.
(WebKit):
(WebKit::ViewportProcessor::ViewportProcessor):
(WebKit::ViewportProcessor::~ViewportProcessor):
(WebKit::ViewportProcessor::display):
(WebKit::ViewportProcessor::updateViewportSize):
(WebKit::ViewportProcessor::setVisibleContentsRect):
(WebKit::ViewportProcessor::didChangeContentsSize):
* UIProcess/API/efl/ViewportProcessor.h: Added.
(WebKit):
(ViewportProcessor):
(WebKit::ViewportProcessor::create):
(WebKit::ViewportProcessor::drawingArea):
(WebKit::ViewportProcessor::viewSize):
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_smart_calculate):
(ewk_view_base_add):
(ewk_view_display):
(ewk_view_contents_size_changed):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::didChangeContentsSize):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
* WebProcess/WebPage/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::create):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit):
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
2012-08-07 Csaba Osztrogonác <ossy@webkit.org>
[Qt] New API tests introuduced in r119723 marked as fail, but pass
https://bugs.webkit.org/show_bug.cgi?id=88870
Reviewed by Alexis Menard.
Revert r119723, because there are 2 failing tests, and the author and
the reviewer of the original patch ignore the bug report long time ago.
* UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed.
2012-08-07 No'am Rosenthal <noam.rosenthal@nokia.com>
GraphicsLayerAnimation shouldn't use HashMap<String>
https://bugs.webkit.org/show_bug.cgi?id=93284
Reviewed by Kenneth Rohde Christiansen.
Apply the changes to GraphicsLayerAnimation API.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addAnimation):
2012-08-07 No'am Rosenthal <noam.rosenthal@nokia.com>
[Qt] Make it possible to build without QtQuick
Reviewed by Simon Hausmann.
* Target.pri:
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/API/qt/tests/util.cpp:
* UIProcess/API/qt/tests/util.h:
* UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
(WebKit::WebFullScreenManagerProxy::invalidate):
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::resolveApplicationSchemeRequest):