haikuwebkit/Source/WebCore/SourcesGTK.txt

135 lines
5.0 KiB
Plaintext
Raw Permalink Normal View History

// Copyright (C) 2017 Igalia S.L.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
// THE POSSIBILITY OF SUCH DAMAGE.
accessibility/atk/AXObjectCacheAtk.cpp
accessibility/atk/AccessibilityObjectAtk.cpp
[ATK] Cleanup accessible wrapper base class https://bugs.webkit.org/show_bug.cgi?id=196601 Reviewed by Mario Sanchez Prada. Cleanups: - Rename WebKitAccessibleWrapperAtk cpp and header as WebKitAccessible for consistency with the class name. - Use WEBKIT_DEFINE_TYPE instead of custom type registration. This ensures that all CStrings used in private struct are no longer leaked. - Move core object pointer to the private struct. - Remove confusing core() function and simply get the core object from the private struct. - Use nullptr instead of 0 and other coding style issues. - Rename cacheAndReturnAtkProperty as webkitAccessibleCacheAndReturnAtkProperty and use WebKitAccessible as instance parameter. - Make webkitAccessibleGetAccessibilityObject() return a reference, since we use a fallback object on detach it never returns nullptr. - Move objectFocusedAndCaretOffsetUnignored() to WebKitAccessibleUtil. * SourcesGTK.txt: * accessibility/atk/AXObjectCacheAtk.cpp: * accessibility/atk/WebKitAccessible.cpp: Renamed from Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp. (webkitAccessibleGetName): (webkitAccessibleGetDescription): (setAtkRelationSetFromCoreObject): (isRootObject): (webkitAccessibleGetParent): (webkitAccessibleGetNChildren): (webkitAccessibleRefChild): (webkitAccessibleGetIndexInParent): (webkitAccessibleGetAttributes): (atkRole): (webkitAccessibleGetRole): (webkitAccessibleRefStateSet): (webkitAccessibleRefRelationSet): (webkitAccessibleInit): (webkitAccessibleGetObjectLocale): (webkit_accessible_class_init): (interfaceMaskFromObject): (uniqueAccessibilityTypeName): (accessibilityTypeFromObject): (webkitAccessibleNew): (webkitAccessibleGetAccessibilityObject): (webkitAccessibleDetach): (webkitAccessibleIsDetached): (webkitAccessibleCacheAndReturnAtkProperty): * accessibility/atk/WebKitAccessible.h: Renamed from Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.h. * accessibility/atk/WebKitAccessibleHyperlink.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceAction.cpp: (core): (webkitAccessibleActionGetKeybinding): (webkitAccessibleActionGetName): * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp: (core): (documentAttributeValue): * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceImage.cpp: (core): (webkitAccessibleImageGetImageDescription): * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceTable.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceText.cpp: (core): * accessibility/atk/WebKitAccessibleInterfaceValue.cpp: (core): * accessibility/atk/WebKitAccessibleUtil.cpp: (objectFocusedAndCaretOffsetUnignored): * accessibility/atk/WebKitAccessibleUtil.h: * editing/atk/FrameSelectionAtk.cpp: Canonical link: https://commits.webkit.org/210956@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-08 08:11:19 +00:00
accessibility/atk/WebKitAccessible.cpp
accessibility/atk/WebKitAccessibleHyperlink.cpp
accessibility/atk/WebKitAccessibleInterfaceAction.cpp @no-unify
accessibility/atk/WebKitAccessibleInterfaceComponent.cpp
accessibility/atk/WebKitAccessibleInterfaceDocument.cpp
accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp
accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp
accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp
accessibility/atk/WebKitAccessibleInterfaceImage.cpp
accessibility/atk/WebKitAccessibleInterfaceSelection.cpp
accessibility/atk/WebKitAccessibleInterfaceTable.cpp
accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp
accessibility/atk/WebKitAccessibleInterfaceText.cpp
accessibility/atk/WebKitAccessibleInterfaceValue.cpp
accessibility/atk/WebKitAccessibleUtil.cpp
editing/atk/FrameSelectionAtk.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
editing/gtk/EditorGtk.cpp
[GTK] Rework clipboard handling in preparation for GTK4 https://bugs.webkit.org/show_bug.cgi?id=211511 Reviewed by Adrian Perez de Castro. Source/WebCore: Remove PlatformPasteboard implementation that has been replaced by Clipboard class in the WebKit layer. When Pasteboard class is created for copy and paste operations, it no longer has a SelectionData member, it just uses the new methods in the pasteboard strategy to communicate with the clipboard. WebContentReader has now an implementation for GTK and it's used when reading from the clipboard, the same way it's done in other ports. * SourcesGTK.txt: * editing/WebContentReader.h: * editing/gtk/EditorGtk.cpp: (WebCore::Editor::pasteWithPasteboard): Use webContentFromPasteboard(). (WebCore::Editor::webContentFromPasteboard): Use WebContentReader. * editing/gtk/WebContentReaderGtk.cpp: Added. (WebCore::WebContentReader::readFilePath): (WebCore::WebContentReader::readFilePaths): (WebCore::WebContentReader::readHTML): (WebCore::WebContentReader::readPlainText): (WebCore::WebContentReader::readImage): (WebCore::WebContentReader::readURL): (WebCore::WebContentMarkupReader::readHTML): * platform/Pasteboard.h: (WebCore::PasteboardWebContentReader::readDataBuffer): * platform/PasteboardStrategy.h: * platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::Pasteboard): (WebCore::Pasteboard::selectionData const): (WebCore::Pasteboard::writeString): (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::write): (WebCore::Pasteboard::clear): (WebCore::Pasteboard::canSmartReplace): (WebCore::Pasteboard::read): (WebCore::Pasteboard::hasData): (WebCore::Pasteboard::typesForLegacyUnsafeBindings): (WebCore::Pasteboard::readString): (WebCore::Pasteboard::fileContentState): * platform/gtk/PasteboardHelper.cpp: * platform/gtk/PasteboardHelper.h: * platform/gtk/PlatformPasteboardGtk.cpp: Removed. * platform/gtk/SelectionData.cpp: (WebCore::SelectionData::setURL): Do not override the text and markup if it has already been set. Source/WebKit: Use async APIs to avoid blocking the UI process during the communication with the clipboard. In GTK4 only async APIs are available. Add Clipboard class to handle the communication with the clipboard with the GTK implementation in ClipboardGtk3 and ClipboardGtk4 files. * Shared/gtk/WebSelectionData.cpp: (WebKit::WebSelectionData::WebSelectionData): Add constructor receivnig an rvalue reference. * Shared/gtk/WebSelectionData.h: * SourcesGTK.txt: * UIProcess/WebPasteboardProxy.h: * UIProcess/WebPasteboardProxy.messages.in: * UIProcess/gtk/Clipboard.cpp: Added. (WebKit::clipboard): (WebKit::primary): (WebKit::Clipboard::get): * UIProcess/gtk/Clipboard.h: Added. * UIProcess/gtk/ClipboardGtk3.cpp: Added. (WebKit::Clipboard::Clipboard): (WebKit::isPrimaryClipboard): (WebKit::Clipboard::type const): (WebKit::FormatsAsyncData::FormatsAsyncData): (WebKit::Clipboard::formats): (WebKit::ReadTextAsyncData::ReadTextAsyncData): (WebKit::Clipboard::readText): (WebKit::ReadFilePathsAsyncData::ReadFilePathsAsyncData): (WebKit::Clipboard::readFilePaths): (WebKit::ReadBufferAsyncData::ReadBufferAsyncData): (WebKit::Clipboard::readBuffer): (WebKit::Clipboard::write): (WebKit::Clipboard::clear): * UIProcess/gtk/ClipboardGtk4.cpp: Added. (WebKit::Clipboard::Clipboard): (WebKit::Clipboard::type const): (WebKit::Clipboard::formats): (WebKit::Clipboard::readText): (WebKit::Clipboard::readFilePaths): (WebKit::Clipboard::readBuffer): (WebKit::Clipboard::write): (WebKit::Clipboard::clear): * UIProcess/gtk/WebPasteboardProxyGtk.cpp: (WebKit::WebPasteboardProxy::getTypes): (WebKit::WebPasteboardProxy::readText): (WebKit::WebPasteboardProxy::readFilePaths): (WebKit::WebPasteboardProxy::readBuffer): (WebKit::WebPasteboardProxy::writeToClipboard): (WebKit::WebPasteboardProxy::clearClipboard): * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::types): (WebKit::WebPlatformStrategies::readTextFromClipboard): (WebKit::WebPlatformStrategies::readFilePathsFromClipboard): (WebKit::WebPlatformStrategies::readBufferFromClipboard): (WebKit::WebPlatformStrategies::writeToClipboard): (WebKit::WebPlatformStrategies::clearClipboard): * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Canonical link: https://commits.webkit.org/224672@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-12 15:20:30 +00:00
editing/gtk/WebContentReaderGtk.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
loader/soup/ResourceLoaderSoup.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
page/gtk/DragControllerGtk.cpp
page/linux/ResourceUsageOverlayLinux.cpp
page/linux/ResourceUsageThreadLinux.cpp
[Nicosia] Take over CoordinatedGraphics-named implementation of async scrolling classes https://bugs.webkit.org/show_bug.cgi?id=193133 Reviewed by Michael Catanzaro. Move the CoordinatedGraphics-specific files under page/scrolling/coordinatedgraphics/ to page/scrolling/nicosia/, along with renaming the files and classes accordingly. Implementation will only depend on the Nicosia-specific layer structure and is not specific to the CoordinatedGraphics system. * PlatformPlayStation.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingCoordinatorNicosia.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h. * page/scrolling/nicosia/ScrollingStateNodeNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingTreeFixedNode.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp. * page/scrolling/nicosia/ScrollingTreeFixedNode.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.h. * page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.h. * page/scrolling/nicosia/ScrollingTreeNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingTreeNicosia.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.h. * page/scrolling/nicosia/ScrollingTreeStickyNode.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp. * page/scrolling/nicosia/ScrollingTreeStickyNode.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.h. * platform/TextureMapper.cmake: Canonical link: https://commits.webkit.org/207693@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-07 06:42:59 +00:00
page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp
page/scrolling/nicosia/ScrollingStateNodeNicosia.cpp
page/scrolling/nicosia/ScrollingTreeFixedNode.cpp
page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp
page/scrolling/nicosia/ScrollingTreeNicosia.cpp
page/scrolling/nicosia/ScrollingTreeOverflowScrollProxyNode.cpp
page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp
[Nicosia] Add implementations for fixed, positioned, sticky ScrollingTreeNodes https://bugs.webkit.org/show_bug.cgi?id=202100 Reviewed by Carlos Garcia Campos. Fill in the Nicosia implementations for the ScrollingTreeFixedNode, ScrollingTreePositionedNode and ScrollingTreeStickyNode classes. The implementations in majority repeat what the Cocoa implementations do, with the main difference being the Nicosia-specific layer state application. Sharing more of this logic should be investigated in the future. * PlatformPlayStation.cmake: Add ScrollingTreePositionedNode to build. * SourcesGTK.txt: Ditto. * SourcesWPE.txt: Ditto. * page/scrolling/nicosia/ScrollingTreeFixedNode.cpp: (WebCore::ScrollingTreeFixedNode::commitStateBeforeChildren): (WebCore::ScrollingTreeFixedNode::applyLayerPositions): (WebCore::ScrollingTreeFixedNode::dumpProperties const): * page/scrolling/nicosia/ScrollingTreeFixedNode.h: * page/scrolling/nicosia/ScrollingTreePositionedNode.cpp: Added. (WebCore::ScrollingTreePositionedNode::create): (WebCore::ScrollingTreePositionedNode::ScrollingTreePositionedNode): (WebCore::ScrollingTreePositionedNode::commitStateBeforeChildren): (WebCore::ScrollingTreePositionedNode::applyLayerPositions): (WebCore::ScrollingTreePositionedNode::dumpProperties const): * page/scrolling/nicosia/ScrollingTreePositionedNode.h: Added. (WebCore::ScrollingTreePositionedNode::relatedOverflowScrollingNodes const): * page/scrolling/nicosia/ScrollingTreeStickyNode.cpp: (WebCore::ScrollingTreeStickyNode::commitStateBeforeChildren): (WebCore::ScrollingTreeStickyNode::applyLayerPositions): (WebCore::ScrollingTreeStickyNode::dumpProperties const): (WebCore::ScrollingTreeStickyNode::computeLayerPosition const): * page/scrolling/nicosia/ScrollingTreeStickyNode.h: Canonical link: https://commits.webkit.org/215780@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-09-25 09:47:49 +00:00
page/scrolling/nicosia/ScrollingTreePositionedNode.cpp
2021-03-04 13:22:14 +00:00
page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp
[Nicosia] Take over CoordinatedGraphics-named implementation of async scrolling classes https://bugs.webkit.org/show_bug.cgi?id=193133 Reviewed by Michael Catanzaro. Move the CoordinatedGraphics-specific files under page/scrolling/coordinatedgraphics/ to page/scrolling/nicosia/, along with renaming the files and classes accordingly. Implementation will only depend on the Nicosia-specific layer structure and is not specific to the CoordinatedGraphics system. * PlatformPlayStation.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingCoordinatorNicosia.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h. * page/scrolling/nicosia/ScrollingStateNodeNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingTreeFixedNode.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp. * page/scrolling/nicosia/ScrollingTreeFixedNode.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.h. * page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.h. * page/scrolling/nicosia/ScrollingTreeNicosia.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.cpp. * page/scrolling/nicosia/ScrollingTreeNicosia.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.h. * page/scrolling/nicosia/ScrollingTreeStickyNode.cpp: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp. * page/scrolling/nicosia/ScrollingTreeStickyNode.h: Renamed from Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.h. * platform/TextureMapper.cmake: Canonical link: https://commits.webkit.org/207693@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-07 06:42:59 +00:00
page/scrolling/nicosia/ScrollingTreeStickyNode.cpp
[GTK][WPE] Initial ASYNC_SCROLLING support https://bugs.webkit.org/show_bug.cgi?id=184961 Reviewed by Carlos Garcia Campos. .: * Source/cmake/OptionsGTK.cmake: Enable ASYNC_SCROLLING as a private option. * Source/cmake/OptionsWPE.cmake: Ditto. Source/WebCore: Add CoordinatedGraphics-specific code that will be required for async scrolling support. The ScrollingCoordinatorCoordinatedGraphics and ScrollingTreeCoordinatedGraphics classes are mostly complete already, but the new ScrollingTreeNode-inheriting classes will need further work that will have to be done in parallel with other improvements planned for the CoordinatedGraphics subsystem. While the build-time flag is enabled, the feature is still not enabled at runtime due to being marked as unsupported by the DrawingArea implementation in the WebKit layer. It would also not work yet if it were enabled due to the before-mentioned pending changes. Various build fixes that address non-Cocoa usage of ASYNC_SCROLLING code are included. * Sources.txt: Add AsyncScrollingCoordinator.cpp to build. * SourcesCocoa.txt: * SourcesGTK.txt: Add new files to build. * SourcesWPE.txt: Ditto. * page/scrolling/AsyncScrollingCoordinator.cpp: Guard setStateScrollingNodeSnapOffsetsAsFloat() with CSS_SCROLL_SNAP. * page/scrolling/ScrollingTree.h: * page/scrolling/ThreadedScrollingTree.cpp: * page/scrolling/ThreadedScrollingTree.h: currentSnapPointIndicesDidChange() method is only invoked in Cocoa-specific code, and its implementation calls Cocoa-specific method on the AsyncScrollingCoordinator class. * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: (WebCore::ScrollingCoordinator::create): (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics): (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics): (WebCore::ScrollingCoordinatorCoordinatedGraphics::pageDestroyed): (WebCore::ScrollingCoordinatorCoordinatedGraphics::commitTreeStateIfNeeded): (WebCore::ScrollingCoordinatorCoordinatedGraphics::handleWheelEvent): (WebCore::ScrollingCoordinatorCoordinatedGraphics::scheduleTreeStateCommit): (WebCore::ScrollingCoordinatorCoordinatedGraphics::commitTreeState): * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.cpp: Added. (WebCore::ScrollingTreeCoordinatedGraphics::create): (WebCore::ScrollingTreeCoordinatedGraphics::ScrollingTreeCoordinatedGraphics): (WebCore::ScrollingTreeCoordinatedGraphics::createScrollingTreeNode): * page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp: Added. (WebCore::ScrollingTreeFixedNode::create): (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode): (WebCore::ScrollingTreeFixedNode::~ScrollingTreeFixedNode): (WebCore::ScrollingTreeFixedNode::commitStateBeforeChildren): (WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange): * page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.cpp: Added. (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::create): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::ScrollingTreeFrameScrollingNodeCoordinatedGraphics): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::handleWheelEvent): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::scrollPosition const): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::setScrollPosition): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::setScrollPositionWithoutContentEdgeConstraints): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::setScrollLayerPosition): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::updateLayersAfterViewportChange): * page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp: Added. (WebCore::ScrollingTreeStickyNode::create): (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode): (WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode): (WebCore::ScrollingTreeStickyNode::commitStateBeforeChildren): (WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange): * page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.h: Added. * platform/PlatformWheelEvent.h: Enable PlatformWheelEventPhase code for WPE. Guard latching-specific methods under ASYNC_SCROLLING. * platform/TextureMapper.cmake: Two build targets have been moved to SourcesGTK.txt and SourcesWPE.txt. Source/WebKit: Guard RemoteScrollingCoordinator and RemoteScrollingCoordinatorProxy usage in WebChromeClient and WebPageProxy, respectively, with PLATFORM(COCOA) in addition to the ASYNC_SCROLLING guards. Despite enabling the code at build-time, the feature (as intended) is not yet used because of the DrawingArea rejection in the WebPage constructor. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::initializeWebPage): (WebKit::WebPageProxy::handleWheelEvent): (WebKit::WebPageProxy::updateTouchEventTracking): * UIProcess/WebPageProxy.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createScrollingCoordinator const): Canonical link: https://commits.webkit.org/200512@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-26 07:54:19 +00:00
platform/ScrollAnimationKinetic.cpp
platform/UserAgentQuirks.cpp
[GTK] Stop using gtk foreign drawing API to style form controls https://bugs.webkit.org/show_bug.cgi?id=208129 Reviewed by Adrian Perez de Castro. .: Add a test case for datalist element. * ManualTests/gtk/theme.html: Source/WebCore: It causes layout issues in some websites, it doesn't really work with all GTK themes and it won't be possible with GTK4 because foreign drawing APIs have been removed. Instead, we can use the new custom style used by WPE port, which is based on adwaita, but simplified to avoid the huge minimum control sizes, the usage of gradients and transparencies, etc. We can still use the GTK API to get the selection colors, to keep some consistency with the actual GTK theme, but that won't be possible with GTK4 either. This also means we won't be rendering directly to the cairo context anymore (which was required by GTK foreign drawing), so we can use things like threaded rendering in the GTK port now. This patch renames ScrollbarThemeWPE, RenderThemeWPE and ThemeWPE as ScrollbarThemeAdwaita, RenderThemeAdwaita and ThemeAdwaita and adds ThemeGtk. GTK media controls CSS and JavaScript files have been removed in favor of using the adwaita ones. * Modules/mediacontrols/mediaControlsGtk.js: Removed. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * css/mediaControlsGtk.css: Removed. * platform/adwaita/ScrollbarThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.cpp. (WebCore::ScrollbarThemeAdwaita::usesOverlayScrollbars const): (WebCore::ScrollbarThemeAdwaita::scrollbarThickness): (WebCore::ScrollbarThemeAdwaita::minimumThumbLength): (WebCore::ScrollbarThemeAdwaita::hasButtons): (WebCore::ScrollbarThemeAdwaita::hasThumb): (WebCore::ScrollbarThemeAdwaita::backButtonRect): (WebCore::ScrollbarThemeAdwaita::forwardButtonRect): (WebCore::ScrollbarThemeAdwaita::trackRect): (WebCore::ScrollbarThemeAdwaita::paint): (WebCore::ScrollbarThemeAdwaita::handleMousePressEvent): (WebCore::ScrollbarTheme::nativeTheme): * platform/adwaita/ScrollbarThemeAdwaita.h: Copied from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * platform/adwaita/ThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ThemeWPE.cpp. (WebCore::Theme::singleton): (WebCore::ThemeAdwaita::activeSelectionForegroundColor const): (WebCore::ThemeAdwaita::activeSelectionBackgroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionBackgroundColor const): (WebCore::ThemeAdwaita::focusColor): (WebCore::ThemeAdwaita::paintFocus): (WebCore::ThemeAdwaita::paintArrow): (WebCore::ThemeAdwaita::controlSize const): (WebCore::ThemeAdwaita::paint): (WebCore::ThemeAdwaita::paintCheckbox): (WebCore::ThemeAdwaita::paintRadio): (WebCore::ThemeAdwaita::paintButton): (WebCore::ThemeAdwaita::paintSpinButton): * platform/adwaita/ThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/ThemeWPE.h. (WebCore::ThemeAdwaita::platformColorsDidChange): * platform/graphics/cairo/CairoOperations.cpp: (WebCore::Cairo::drawFocusRing): * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/gtk/RenderThemeGadget.cpp: Removed. * platform/gtk/RenderThemeGadget.h: Removed. * platform/gtk/RenderThemeWidget.cpp: Removed. * platform/gtk/RenderThemeWidget.h: Removed. * platform/gtk/ScrollbarThemeGtk.cpp: Removed. * platform/gtk/ScrollbarThemeGtk.h: Removed. * platform/gtk/ThemeGtk.cpp: Added. (WebCore::Theme::singleton): (WebCore::ThemeGtk::ensurePlatformColors const): (WebCore::ThemeGtk::platformColorsDidChange): (WebCore::ThemeGtk::activeSelectionForegroundColor const): (WebCore::ThemeGtk::activeSelectionBackgroundColor const): (WebCore::ThemeGtk::inactiveSelectionForegroundColor const): (WebCore::ThemeGtk::inactiveSelectionBackgroundColor const): * platform/gtk/ThemeGtk.h: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * rendering/RenderThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.cpp. (WebCore::RenderTheme::singleton): (WebCore::RenderThemeAdwaita::supportsFocusRing const): (WebCore::RenderThemeAdwaita::shouldHaveCapsLockIndicator const): (WebCore::RenderThemeAdwaita::platformActiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformFocusRingColor const): (WebCore::RenderThemeAdwaita::platformColorsDidChange): (WebCore::RenderThemeAdwaita::extraDefaultStyleSheet): (WebCore::RenderThemeAdwaita::extraMediaControlsStyleSheet): (WebCore::RenderThemeAdwaita::mediaControlsScript): (WebCore::RenderThemeAdwaita::paintTextField): (WebCore::RenderThemeAdwaita::paintTextArea): (WebCore::RenderThemeAdwaita::paintSearchField): (WebCore::RenderThemeAdwaita::popupInternalPaddingBox const): (WebCore::RenderThemeAdwaita::paintMenuList): (WebCore::RenderThemeAdwaita::paintMenuListButtonDecorations): (WebCore::RenderThemeAdwaita::animationRepeatIntervalForProgressBar const): (WebCore::RenderThemeAdwaita::animationDurationForProgressBar const): (WebCore::RenderThemeAdwaita::progressBarRectForBounds const): (WebCore::RenderThemeAdwaita::paintProgressBar): (WebCore::RenderThemeAdwaita::paintSliderTrack): (WebCore::RenderThemeAdwaita::adjustSliderThumbSize const): (WebCore::RenderThemeAdwaita::paintSliderThumb): (WebCore::RenderThemeAdwaita::paintMediaSliderTrack): (WebCore::RenderThemeAdwaita::paintMediaVolumeSliderTrack): (WebCore::RenderThemeAdwaita::sliderTickSize const): (WebCore::RenderThemeAdwaita::sliderTickOffsetFromTrackCenter const): (WebCore::RenderThemeAdwaita::adjustListButtonStyle const): * rendering/RenderThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.h. * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::updateCachedSystemFontDescription const): (WebCore::RenderThemeGtk::caretBlinkInterval const): * rendering/RenderThemeGtk.h: Source/WebKit: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::themeDidChange): Notify RenderTheme about the theme change to clear the colors cache. Source/WTF: Enable USE_NEW_THEME for the GTK port. * wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/221120@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-02-25 09:55:52 +00:00
platform/adwaita/ScrollbarThemeAdwaita.cpp
platform/adwaita/ThemeAdwaita.cpp
[GTK] Implement connected and disconnected events of GAMEPAD API with libmanette https://bugs.webkit.org/show_bug.cgi?id=133854 Reviewed by Carlos Garcia Campos. This patch brings initial GAMEPAD API support to the gtk port. We use libmanette, a simple GObject game controller library to handle gamepad connection and input. .: * Source/cmake/FindManette.cmake: Added to detect libmanette headers and libs installed in host system. * Source/cmake/OptionsGTK.cmake: Added a private flag, ENABLE_GAMEPAD. Once libmanette is found, we expose another build flag, USE_MANETTE for other ports. Source/WebCore: This change aims to implement two GAMEPAD API events: 'gamepadconnected' and 'gamepaddisconnected' on top of libmanette. Rest of API will be implemented by following patches. No new tests since existing tests can cover this change. * PlatformGTK.cmake: Add header & library paths for libmanette. * SourcesGTK.txt: * platform/gamepad/manette/GUniquePtrManette.h: Added to define a smart pointer for ManetteMonitor. * platform/gamepad/manette/ManetteGamepad.cpp: Added. A wrapper class for ManetteDevice. A ManetteGamepad instance is created per a physically connected gamepad. Currently, it is empty but input handling login will be placed in this class. (WebCore::ManetteGamepad::ManetteGamepad): * platform/gamepad/manette/ManetteGamepad.h: Added. * platform/gamepad/manette/ManetteGamepadProvider.cpp: Added. A manager class for ManetteGamepad instances. This class represents ManetteMonitor that handles connection and disconnection of gamepads. Many parts of this class implementation is brought from HIDGamepad.cpp (WebCore::ManetteGamepadProvider::singleton): (WebCore::onDeviceConnected): (WebCore::onDeviceDisconnected): (WebCore::ManetteGamepadProvider::ManetteGamepadProvider): (WebCore::ManetteGamepadProvider::startMonitoringGamepads): (WebCore::ManetteGamepadProvider::stopMonitoringGamepads): (WebCore::ManetteGamepadProvider::deviceConnected): (WebCore::ManetteGamepadProvider::deviceDisconnected): (WebCore::ManetteGamepadProvider::indexForNewlyConnectedDevice): (WebCore::ManetteGamepadProvider::connectionDelayTimerFired): (WebCore::ManetteGamepadProvider::removeGamepadForDevice): * platform/gamepad/manette/ManetteGamepadProvider.h: Added. Source/WebKit: * SourcesGTK.txt: * UIProcess/Gamepad/UIGamepadProvider.cpp: Add a build flag to void default interface * UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp: Added to retrieve WebPageProxy to which a gamepad connects. The returned WebPageProxy handles input events from the gamepad. (WebKit::getWebPageProxy): (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput): * UIProcess/Gamepad/manette/UIGamepadProviderManette.cpp: Added. (WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider): (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput): (WebKit::UIGamepadProvider::platformStopMonitoringInput): (WebKit::UIGamepadProvider::platformStartMonitoringInput): Tools: In particular, we use libmanette-0.2.4 which is the latest version and minimum version to build in c++. * gtk/jhbuild.modules: Canonical link: https://commits.webkit.org/225037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-20 22:33:35 +00:00
platform/gamepad/manette/ManetteGamepad.cpp
platform/gamepad/manette/ManetteGamepadProvider.cpp
Make generic ScrollAnimator https://bugs.webkit.org/show_bug.cgi?id=192128 Reviewed by Michael Catanzaro. No new tests. No change in behavior. Moves ScrollAnimatorGtk into ScrollAnimatorGeneric where it can be used by other implementations. Fixed some compilation issues around using this as a default implementation. Removing ScrollAnimatorSmooth since it is dead code and doesn't even compile at this time. Fixing a compilation issue within LowPowerModeNotifierGLib implementation that appeared due to unified sources changes. * PlatformGTK.cmake: * SourcesGTK.txt: * platform/LowPowerModeNotifier.h: * platform/PlatformWheelEvent.h: (WebCore::PlatformWheelEvent::swipeVelocity const): * platform/ScrollAnimatorSmooth.cpp: Removed. * platform/ScrollAnimatorSmooth.h: Removed. * platform/generic/ScrollAnimatorGeneric.cpp: Renamed from Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp. (WebCore::ScrollAnimator::create): (WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric): (WebCore::ScrollAnimatorGeneric::ensureSmoothScrollingAnimation): (WebCore::ScrollAnimatorGeneric::scroll): (WebCore::ScrollAnimatorGeneric::scrollToOffsetWithoutAnimation): (WebCore::ScrollAnimatorGeneric::computeVelocity): (WebCore::ScrollAnimatorGeneric::handleWheelEvent): (WebCore::ScrollAnimatorGeneric::willEndLiveResize): (WebCore::ScrollAnimatorGeneric::updatePosition): (WebCore::ScrollAnimatorGeneric::didAddVerticalScrollbar): (WebCore::ScrollAnimatorGeneric::didAddHorizontalScrollbar): (WebCore::ScrollAnimatorGeneric::willRemoveVerticalScrollbar): (WebCore::ScrollAnimatorGeneric::willRemoveHorizontalScrollbar): (WebCore::ScrollAnimatorGeneric::updateOverlayScrollbarsOpacity): (WebCore::ScrollAnimatorGeneric::overlayScrollbarAnimationTimerFired): (WebCore::ScrollAnimatorGeneric::showOverlayScrollbars): (WebCore::ScrollAnimatorGeneric::hideOverlayScrollbars): (WebCore::ScrollAnimatorGeneric::mouseEnteredContentArea): (WebCore::ScrollAnimatorGeneric::mouseExitedContentArea): (WebCore::ScrollAnimatorGeneric::mouseMovedInContentArea): (WebCore::ScrollAnimatorGeneric::contentAreaDidShow): (WebCore::ScrollAnimatorGeneric::contentAreaDidHide): (WebCore::ScrollAnimatorGeneric::notifyContentAreaScrolled): (WebCore::ScrollAnimatorGeneric::lockOverlayScrollbarStateToHidden): * platform/generic/ScrollAnimatorGeneric.h: Renamed from Source/WebCore/platform/gtk/ScrollAnimatorGtk.h. * platform/glib/LowPowerModeNotifierGLib.cpp: * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::swipeVelocity const): Deleted. Canonical link: https://commits.webkit.org/206825@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238675 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-11-29 18:36:29 +00:00
platform/generic/ScrollAnimatorGeneric.cpp
platform/graphics/ANGLEWebKitBridge.cpp
Bundle unified sources more tightly in projects with deep directory structures https://bugs.webkit.org/show_bug.cgi?id=189009 Reviewed by Simon Fraser. * Scripts/generate-unified-source-bundles.rb: It turns out our plan to switch unified source bundle every time the directory changes is not a good fit for projects like WebKit2 with many small directories. It leaves many unified source bundles with only a single source file, achieving only ~40% density. Instead, switch unified source bundles every time the top-level directory changes. This still achieves the goal of *usually* only rebuilding the one top-level directory you touched, and increases source bundle density wildly, to ~95%. Fix a variety of unification errors due to reshuffling the bundles. * Modules/mediastream/RTCController.cpp: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * crypto/algorithms/CryptoAlgorithmECDSA.cpp: (WebCore::CryptoAlgorithmECDSA::importKey): * dom/Document.h: * html/parser/HTMLTreeBuilder.cpp: * loader/appcache/ApplicationCacheResourceLoader.h: * page/AlternativeTextClient.h: * platform/Pasteboard.h: * platform/graphics/DisplayRefreshMonitor.cpp: * platform/graphics/FontFamilySpecificationNull.cpp: * platform/graphics/cocoa/WebGLLayer.mm: (-[WebGLLayer initWithGraphicsContext3D:]): (-[WebGLLayer copyImageSnapshotWithColorSpace:]): (-[WebGLLayer display]): (-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): * platform/graphics/cocoa/WebGPULayer.mm: (-[WebGPULayer initWithGPUDevice:]): * platform/graphics/metal/GPUCommandQueueMetal.mm: * platform/mac/PasteboardMac.mm: * platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp: * platform/network/ResourceRequestBase.cpp: * rendering/updating/RenderTreeBuilderBlockFlow.cpp: * rendering/updating/RenderTreeBuilderInline.cpp: * Shared/APIWebArchive.mm: * Shared/APIWebArchiveResource.mm: * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: * SourcesCocoa.txt: * SourcesGTK.txt: * UIProcess/API/APIAutomationSessionClient.h: (API::AutomationSessionClient::sessionIdentifier const): (API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage): (API::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage): * UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm: (-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]): (-[WKCustomProtocolLoader connection:didFailWithError:]): (-[WKCustomProtocolLoader connection:didReceiveResponse:]): * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::generatePluginProcessCallbackID): (WebKit::PluginProcessProxy::fetchWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames): (WebKit::generateCallbackID): Deleted. * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): * UIProcess/Storage/StorageProcessProxy.cpp: (WebKit::generateStorageProcessCallbackID): (WebKit::StorageProcessProxy::fetchWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteDataForOrigins): (WebKit::generateCallbackID): Deleted. * WebKit.xcodeproj/project.pbxproj: * WebProcess/Plugins/PDF/PDFPlugin.mm: (-[WKPDFPluginAccessibilityObject accessibilityPerformAction:]): (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]): (-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]): (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]): (-[WKPDFLayerControllerDelegate updateScrollPosition:]): (WebKit::PDFPlugin::updateCursor): (WebKit::coreCursor): (appendValuesInPDFNameSubtreeToVector): Deleted. (getAllValuesInPDFNameTree): Deleted. (getAllScriptsInPDFDocument): Deleted. Canonical link: https://commits.webkit.org/204172@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-30 20:31:32 +00:00
platform/graphics/GLContext.cpp @no-unify
platform/graphics/PlatformDisplay.cpp @no-unify
Bundle unified sources more tightly in projects with deep directory structures https://bugs.webkit.org/show_bug.cgi?id=189009 Reviewed by Simon Fraser. * Scripts/generate-unified-source-bundles.rb: It turns out our plan to switch unified source bundle every time the directory changes is not a good fit for projects like WebKit2 with many small directories. It leaves many unified source bundles with only a single source file, achieving only ~40% density. Instead, switch unified source bundles every time the top-level directory changes. This still achieves the goal of *usually* only rebuilding the one top-level directory you touched, and increases source bundle density wildly, to ~95%. Fix a variety of unification errors due to reshuffling the bundles. * Modules/mediastream/RTCController.cpp: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * crypto/algorithms/CryptoAlgorithmECDSA.cpp: (WebCore::CryptoAlgorithmECDSA::importKey): * dom/Document.h: * html/parser/HTMLTreeBuilder.cpp: * loader/appcache/ApplicationCacheResourceLoader.h: * page/AlternativeTextClient.h: * platform/Pasteboard.h: * platform/graphics/DisplayRefreshMonitor.cpp: * platform/graphics/FontFamilySpecificationNull.cpp: * platform/graphics/cocoa/WebGLLayer.mm: (-[WebGLLayer initWithGraphicsContext3D:]): (-[WebGLLayer copyImageSnapshotWithColorSpace:]): (-[WebGLLayer display]): (-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): * platform/graphics/cocoa/WebGPULayer.mm: (-[WebGPULayer initWithGPUDevice:]): * platform/graphics/metal/GPUCommandQueueMetal.mm: * platform/mac/PasteboardMac.mm: * platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp: * platform/network/ResourceRequestBase.cpp: * rendering/updating/RenderTreeBuilderBlockFlow.cpp: * rendering/updating/RenderTreeBuilderInline.cpp: * Shared/APIWebArchive.mm: * Shared/APIWebArchiveResource.mm: * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: * SourcesCocoa.txt: * SourcesGTK.txt: * UIProcess/API/APIAutomationSessionClient.h: (API::AutomationSessionClient::sessionIdentifier const): (API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage): (API::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage): * UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm: (-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]): (-[WKCustomProtocolLoader connection:didFailWithError:]): (-[WKCustomProtocolLoader connection:didReceiveResponse:]): * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::generatePluginProcessCallbackID): (WebKit::PluginProcessProxy::fetchWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames): (WebKit::generateCallbackID): Deleted. * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): * UIProcess/Storage/StorageProcessProxy.cpp: (WebKit::generateStorageProcessCallbackID): (WebKit::StorageProcessProxy::fetchWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteDataForOrigins): (WebKit::generateCallbackID): Deleted. * WebKit.xcodeproj/project.pbxproj: * WebProcess/Plugins/PDF/PDFPlugin.mm: (-[WKPDFPluginAccessibilityObject accessibilityPerformAction:]): (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]): (-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]): (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]): (-[WKPDFLayerControllerDelegate updateScrollPosition:]): (WebKit::PDFPlugin::updateCursor): (WebKit::coreCursor): (appendValuesInPDFNameSubtreeToVector): Deleted. (getAllValuesInPDFNameTree): Deleted. (getAllScriptsInPDFDocument): Deleted. Canonical link: https://commits.webkit.org/204172@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-30 20:31:32 +00:00
platform/graphics/cairo/BackingStoreBackendCairoX11.cpp @no-unify
platform/graphics/egl/GLContextEGL.cpp @no-unify
platform/graphics/egl/GLContextEGLLibWPE.cpp @no-unify
platform/graphics/egl/GLContextEGLWayland.cpp @no-unify
Bundle unified sources more tightly in projects with deep directory structures https://bugs.webkit.org/show_bug.cgi?id=189009 Reviewed by Simon Fraser. * Scripts/generate-unified-source-bundles.rb: It turns out our plan to switch unified source bundle every time the directory changes is not a good fit for projects like WebKit2 with many small directories. It leaves many unified source bundles with only a single source file, achieving only ~40% density. Instead, switch unified source bundles every time the top-level directory changes. This still achieves the goal of *usually* only rebuilding the one top-level directory you touched, and increases source bundle density wildly, to ~95%. Fix a variety of unification errors due to reshuffling the bundles. * Modules/mediastream/RTCController.cpp: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * crypto/algorithms/CryptoAlgorithmECDSA.cpp: (WebCore::CryptoAlgorithmECDSA::importKey): * dom/Document.h: * html/parser/HTMLTreeBuilder.cpp: * loader/appcache/ApplicationCacheResourceLoader.h: * page/AlternativeTextClient.h: * platform/Pasteboard.h: * platform/graphics/DisplayRefreshMonitor.cpp: * platform/graphics/FontFamilySpecificationNull.cpp: * platform/graphics/cocoa/WebGLLayer.mm: (-[WebGLLayer initWithGraphicsContext3D:]): (-[WebGLLayer copyImageSnapshotWithColorSpace:]): (-[WebGLLayer display]): (-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): * platform/graphics/cocoa/WebGPULayer.mm: (-[WebGPULayer initWithGPUDevice:]): * platform/graphics/metal/GPUCommandQueueMetal.mm: * platform/mac/PasteboardMac.mm: * platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp: * platform/network/ResourceRequestBase.cpp: * rendering/updating/RenderTreeBuilderBlockFlow.cpp: * rendering/updating/RenderTreeBuilderInline.cpp: * Shared/APIWebArchive.mm: * Shared/APIWebArchiveResource.mm: * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: * SourcesCocoa.txt: * SourcesGTK.txt: * UIProcess/API/APIAutomationSessionClient.h: (API::AutomationSessionClient::sessionIdentifier const): (API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage): (API::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage): * UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm: (-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]): (-[WKCustomProtocolLoader connection:didFailWithError:]): (-[WKCustomProtocolLoader connection:didReceiveResponse:]): * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::generatePluginProcessCallbackID): (WebKit::PluginProcessProxy::fetchWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames): (WebKit::generateCallbackID): Deleted. * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): * UIProcess/Storage/StorageProcessProxy.cpp: (WebKit::generateStorageProcessCallbackID): (WebKit::StorageProcessProxy::fetchWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteDataForOrigins): (WebKit::generateCallbackID): Deleted. * WebKit.xcodeproj/project.pbxproj: * WebProcess/Plugins/PDF/PDFPlugin.mm: (-[WKPDFPluginAccessibilityObject accessibilityPerformAction:]): (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]): (-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]): (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]): (-[WKPDFLayerControllerDelegate updateScrollPosition:]): (WebKit::PDFPlugin::updateCursor): (WebKit::coreCursor): (appendValuesInPDFNameSubtreeToVector): Deleted. (getAllValuesInPDFNameTree): Deleted. (getAllScriptsInPDFDocument): Deleted. Canonical link: https://commits.webkit.org/204172@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-30 20:31:32 +00:00
platform/graphics/egl/GLContextEGLX11.cpp @no-unify
platform/graphics/glx/GLContextGLX.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
platform/graphics/gtk/ColorGtk.cpp
platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp
platform/graphics/gtk/GdkCairoUtilities.cpp
platform/graphics/gtk/ImageGtk.cpp
platform/graphics/gstreamer/ImageGStreamerCairo.cpp
[GTK] Use WPEBackend-fdo for accelerating compositing in Wayland instead of the nested compositor https://bugs.webkit.org/show_bug.cgi?id=197944 Reviewed by Michael Catanzaro. .: Add USE_WPE_RENDERER option to use WPEBackend-fdo. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * platform/graphics/GLContext.cpp: (WebCore::GLContext::createContextForWindow): Check current display is X11 before trying to create a GLX context. * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): Use USE(WPE_RENDERER) instead of USE(LIBWPE). * platform/graphics/PlatformDisplay.h: * platform/graphics/egl/GLContextEGL.cpp: (WebCore::GLContextEGL::createWindowContext): Use USE(WPE_RENDERER) instead of PLATFORM(WPE). (WebCore::GLContextEGL::createContext): Ditto. (WebCore::GLContextEGL::createSharingContext): Ditto. (WebCore::GLContextEGL::~GLContextEGL): Ditto. * platform/graphics/egl/GLContextEGL.h: * platform/graphics/egl/GLContextEGLLibWPE.cpp: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): Ditto. * platform/graphics/libwpe/PlatformDisplayLibWPE.cpp: (WebCore::PlatformDisplayLibWPE::PlatformDisplayLibWPE): In GTK port set the display as the shared one for compositing. * platform/graphics/libwpe/PlatformDisplayLibWPE.h: Source/WebKit: The WPEBackend-fdo implementation is quite similar to our Wayland nested compositor, but more efficient (using linux dmabuf, resource caching, etc.). This allows us to share even more code with WPE port too. * PlatformGTK.cmake: * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::ThreadedCompositor::forceRepaint): WPE doesn't support force repaint yet. * Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): Use USE(WPE_RENDERER) instead of PLATFORM(WPE). (WebKit::WebPageCreationParameters::decode): Ditto. * Shared/WebPageCreationParameters.h: * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): Ditto. (WebKit::WebProcessCreationParameters::decode): Ditto. * Shared/WebProcessCreationParameters.h: * SourcesGTK.txt: * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::hostFileDescriptor): Implement it when using WPE just calling webkitWebViewBaseRenderHostFileDescriptor(). * UIProcess/API/gtk/PageClientImpl.h: * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseCreateWebPage): Initialize the web page after the accelerated backing store is created, since it's used now during intialization. (webkitWebViewBaseRenderHostFileDescriptor): Return AcceleratedBackingStore::renderHostFileDescriptor() * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): Use USE(WPE_RENDERER) instead of PLATFORM(WPE). * UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::initializeNewWebProcess): Remove wayland display name initialization. * UIProcess/glib/WebProcessPoolGLib.cpp: (WebKit::WebProcessPool::platformInitializeWebProcess): Initialize wayland display name when not using WPE here now. In case of using WPE, initialize hostClientFileDescriptor and implementationLibraryName. * UIProcess/glib/WebProcessProxyGLib.cpp: (WebKit::WebProcessProxy::platformGetLaunchOptions): Remove unused wayland socket command line process parameter. * UIProcess/gtk/AcceleratedBackingStore.h: (WebKit::AcceleratedBackingStore::renderHostFileDescriptor): Return -1 by default. * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: (WebKit::AcceleratedBackingStoreWayland::create): When using WPE call wpe_fdo_initialize_for_egl_display() and check we have the required extensions. (WebKit::AcceleratedBackingStoreWayland::AcceleratedBackingStoreWayland): When using WPE initialize the view backend. (WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland): When using WPE release the EGL images still in use and the view texture. (WebKit::AcceleratedBackingStoreWayland::renderHostFileDescriptor): Call wpe_view_backend_get_renderer_host_fd(). (WebKit::AcceleratedBackingStoreWayland::displayBuffer): Create the view texture if needed, save the pending image and schedule a redraw. (WebKit::AcceleratedBackingStoreWayland::paint): When using WPE commit the pending image and use it as target of the view texture. * UIProcess/gtk/AcceleratedBackingStoreWayland.h: * UIProcess/gtk/HardwareAccelerationManager.cpp: (WebKit::HardwareAccelerationManager::HardwareAccelerationManager): When using WPE disable hardware acceleration if wpe_fdo_initialize_for_egl_display() fails. * UIProcess/gtk/WaylandCompositor.cpp: * UIProcess/gtk/WaylandCompositor.h: * WebProcess/WebPage/AcceleratedSurface.cpp: (WebKit::AcceleratedSurface::create): Create an AcceleratedSurfaceLibWPE for GTK port when using WPE and shared display is Wayland. * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp: (WebKit::AcceleratedSurfaceLibWPE::initialize): Use the shared display for compositing instead of shared display. * WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.h: * WebProcess/WebProcess.h: * WebProcess/glib/WebProcessGLib.cpp: (WebKit::WebProcess::platformInitializeWebProcess): Initialize the wpe display when using WPE. Tools: Add WPEBackend-fdo to jhbuild moduleset. * gtk/jhbuild.modules: Canonical link: https://commits.webkit.org/212321@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-28 06:36:34 +00:00
platform/graphics/libwpe/PlatformDisplayLibWPE.cpp
platform/graphics/opentype/OpenTypeVerticalData.cpp
platform/graphics/wayland/PlatformDisplayWayland.cpp
Bundle unified sources more tightly in projects with deep directory structures https://bugs.webkit.org/show_bug.cgi?id=189009 Reviewed by Simon Fraser. * Scripts/generate-unified-source-bundles.rb: It turns out our plan to switch unified source bundle every time the directory changes is not a good fit for projects like WebKit2 with many small directories. It leaves many unified source bundles with only a single source file, achieving only ~40% density. Instead, switch unified source bundles every time the top-level directory changes. This still achieves the goal of *usually* only rebuilding the one top-level directory you touched, and increases source bundle density wildly, to ~95%. Fix a variety of unification errors due to reshuffling the bundles. * Modules/mediastream/RTCController.cpp: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * crypto/algorithms/CryptoAlgorithmECDSA.cpp: (WebCore::CryptoAlgorithmECDSA::importKey): * dom/Document.h: * html/parser/HTMLTreeBuilder.cpp: * loader/appcache/ApplicationCacheResourceLoader.h: * page/AlternativeTextClient.h: * platform/Pasteboard.h: * platform/graphics/DisplayRefreshMonitor.cpp: * platform/graphics/FontFamilySpecificationNull.cpp: * platform/graphics/cocoa/WebGLLayer.mm: (-[WebGLLayer initWithGraphicsContext3D:]): (-[WebGLLayer copyImageSnapshotWithColorSpace:]): (-[WebGLLayer display]): (-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): * platform/graphics/cocoa/WebGPULayer.mm: (-[WebGPULayer initWithGPUDevice:]): * platform/graphics/metal/GPUCommandQueueMetal.mm: * platform/mac/PasteboardMac.mm: * platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp: * platform/network/ResourceRequestBase.cpp: * rendering/updating/RenderTreeBuilderBlockFlow.cpp: * rendering/updating/RenderTreeBuilderInline.cpp: * Shared/APIWebArchive.mm: * Shared/APIWebArchiveResource.mm: * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: * SourcesCocoa.txt: * SourcesGTK.txt: * UIProcess/API/APIAutomationSessionClient.h: (API::AutomationSessionClient::sessionIdentifier const): (API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage): (API::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage): * UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm: (-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]): (-[WKCustomProtocolLoader connection:didFailWithError:]): (-[WKCustomProtocolLoader connection:didReceiveResponse:]): * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::generatePluginProcessCallbackID): (WebKit::PluginProcessProxy::fetchWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteData): (WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames): (WebKit::generateCallbackID): Deleted. * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): * UIProcess/Storage/StorageProcessProxy.cpp: (WebKit::generateStorageProcessCallbackID): (WebKit::StorageProcessProxy::fetchWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteData): (WebKit::StorageProcessProxy::deleteWebsiteDataForOrigins): (WebKit::generateCallbackID): Deleted. * WebKit.xcodeproj/project.pbxproj: * WebProcess/Plugins/PDF/PDFPlugin.mm: (-[WKPDFPluginAccessibilityObject accessibilityPerformAction:]): (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]): (-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]): (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]): (-[WKPDFLayerControllerDelegate updateScrollPosition:]): (WebKit::PDFPlugin::updateCursor): (WebKit::coreCursor): (appendValuesInPDFNameSubtreeToVector): Deleted. (getAllValuesInPDFNameTree): Deleted. (getAllScriptsInPDFDocument): Deleted. Canonical link: https://commits.webkit.org/204172@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-30 20:31:32 +00:00
platform/graphics/x11/PlatformDisplayX11.cpp @no-unify
platform/graphics/x11/XErrorTrapper.cpp @no-unify
platform/graphics/x11/XUniqueResource.cpp @no-unify
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
platform/gtk/CursorGtk.cpp
platform/gtk/DragDataGtk.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
platform/gtk/DragImageGtk.cpp
platform/gtk/GRefPtrGtk.cpp
platform/gtk/GtkUtilities.cpp @no-unify
platform/gtk/LocalizedStringsGtk.cpp
platform/gtk/PasteboardGtk.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
platform/gtk/PlatformKeyboardEventGtk.cpp
platform/gtk/PlatformScreenGtk.cpp
[GTK] Bring back support for rendering scrollbars using the system appearance https://bugs.webkit.org/show_bug.cgi?id=209805 Reviewed by Michael Catanzaro. Source/WebCore: Bring back ScrollbarThemeGtk, RenderThemeGadget and RenderThemeWidget (renamed as RenderThemeScrollbar), including only the code needed to render the scrollbars. ScrollbarThemeGtk inherits from ScrollbarThemeAdwaita that is used when system appearance is disabled. * PlatformGTK.cmake: * SourcesGTK.txt: * platform/adwaita/ScrollbarThemeAdwaita.cpp: * platform/adwaita/ScrollbarThemeAdwaita.h: * platform/gtk/RenderThemeGadget.cpp: Added. (WebCore::RenderThemeGadget::create): (WebCore::createStyleContext): (WebCore::appendElementToPath): (WebCore::RenderThemeGadget::RenderThemeGadget): (WebCore::RenderThemeGadget::marginBox const): (WebCore::RenderThemeGadget::borderBox const): (WebCore::RenderThemeGadget::paddingBox const): (WebCore::RenderThemeGadget::contentsBox const): (WebCore::RenderThemeGadget::color const): (WebCore::RenderThemeGadget::backgroundColor const): (WebCore::RenderThemeGadget::opacity const): (WebCore::RenderThemeGadget::state const): (WebCore::RenderThemeGadget::setState): (WebCore::RenderThemeGadget::minimumSize const): (WebCore::RenderThemeGadget::preferredSize const): (WebCore::RenderThemeGadget::render): (WebCore::RenderThemeBoxGadget::RenderThemeBoxGadget): (WebCore::RenderThemeBoxGadget::preferredSize const): (WebCore::RenderThemeScrollbarGadget::RenderThemeScrollbarGadget): (WebCore::RenderThemeScrollbarGadget::renderStepper): * platform/gtk/RenderThemeGadget.h: Added. (WebCore::RenderThemeGadget::context const): * platform/gtk/RenderThemeScrollbar.cpp: Added. (WebCore::widgetMap): (WebCore::RenderThemeScrollbar::getOrCreate): (WebCore::RenderThemeScrollbar::clearCache): (WebCore::RenderThemeScrollbar::RenderThemeScrollbar): (WebCore::RenderThemeScrollbar::stepper): * platform/gtk/RenderThemeScrollbar.h: Added. (WebCore::RenderThemeScrollbar::scrollbar const): (WebCore::RenderThemeScrollbar::contents const): (WebCore::RenderThemeScrollbar::slider const): (WebCore::RenderThemeScrollbar::trough const): * platform/gtk/ScrollbarThemeGtk.cpp: Added. (WebCore::ScrollbarTheme::nativeTheme): (WebCore::themeChangedCallback): (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): (WebCore::ScrollbarThemeGtk::setUseSystemAppearance): (WebCore::ScrollbarThemeGtk::themeChanged): (WebCore::ScrollbarThemeGtk::updateThemeProperties): (WebCore::ScrollbarThemeGtk::hasButtons): (WebCore::scrollbarPartStateFlags): (WebCore::widgetTypeForScrollbar): (WebCore::contentsRectangle): (WebCore::ScrollbarThemeGtk::trackRect): (WebCore::ScrollbarThemeGtk::backButtonRect): (WebCore::ScrollbarThemeGtk::forwardButtonRect): (WebCore::ScrollbarThemeGtk::paint): (WebCore::ScrollbarThemeGtk::handleMousePressEvent): (WebCore::ScrollbarThemeGtk::scrollbarThickness): (WebCore::ScrollbarThemeGtk::minimumThumbLength): * platform/gtk/ScrollbarThemeGtk.h: Added. Source/WebKit: Add WebKitWebContext:use-system-appearance-for-scrollbars property. It's enabled by default to keep backwards compatibility. * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): Encode useSystemAppearanceForScrollbars. (WebKit::WebProcessCreationParameters::decode): Decode useSystemAppearanceForScrollbars. * Shared/WebProcessCreationParameters.h: * UIProcess/API/APIProcessPoolConfiguration.cpp: (API::ProcessPoolConfiguration::copy): Copy m_useSystemAppearanceForScrollbars; * UIProcess/API/APIProcessPoolConfiguration.h: * UIProcess/API/glib/WebKitWebContext.cpp: (webkitWebContextGetProperty): (webkitWebContextSetProperty): (webkitWebContextConstructed): (webkit_web_context_class_init): (webkit_web_context_set_use_system_appearance_for_scrollbars): (webkit_web_context_get_use_system_appearance_for_scrollbars): * UIProcess/API/gtk/WebKitWebContext.h: * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: * UIProcess/glib/WebProcessPoolGLib.cpp: (WebKit::WebProcessPool::platformInitializeWebProcess): Initialize useSystemAppearanceForScrollbars parameter. * WebProcess/WebProcess.h: * WebProcess/WebProcess.messages.in: * WebProcess/glib/WebProcessGLib.cpp: (WebKit::WebProcess::platformInitializeWebProcess): Call setUseSystemAppearanceForScrollbars to set useSystemAppearanceForScrollbars parameter. (WebKit::WebProcess::setUseSystemAppearanceForScrollbars): Call ScrollbarThemeGtk::setUseSystemAppearance(). Tools: Do not use system appearance for scrollbars in MiniBrowser and unit tests. * MiniBrowser/gtk/main.c: (main): * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::Test): Canonical link: https://commits.webkit.org/223361@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-14 09:50:31 +00:00
platform/gtk/RenderThemeGadget.cpp
platform/gtk/RenderThemeScrollbar.cpp
platform/gtk/ScrollbarThemeGtk.cpp
platform/gtk/SelectionData.cpp
[GTK] Stop using gtk foreign drawing API to style form controls https://bugs.webkit.org/show_bug.cgi?id=208129 Reviewed by Adrian Perez de Castro. .: Add a test case for datalist element. * ManualTests/gtk/theme.html: Source/WebCore: It causes layout issues in some websites, it doesn't really work with all GTK themes and it won't be possible with GTK4 because foreign drawing APIs have been removed. Instead, we can use the new custom style used by WPE port, which is based on adwaita, but simplified to avoid the huge minimum control sizes, the usage of gradients and transparencies, etc. We can still use the GTK API to get the selection colors, to keep some consistency with the actual GTK theme, but that won't be possible with GTK4 either. This also means we won't be rendering directly to the cairo context anymore (which was required by GTK foreign drawing), so we can use things like threaded rendering in the GTK port now. This patch renames ScrollbarThemeWPE, RenderThemeWPE and ThemeWPE as ScrollbarThemeAdwaita, RenderThemeAdwaita and ThemeAdwaita and adds ThemeGtk. GTK media controls CSS and JavaScript files have been removed in favor of using the adwaita ones. * Modules/mediacontrols/mediaControlsGtk.js: Removed. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * css/mediaControlsGtk.css: Removed. * platform/adwaita/ScrollbarThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.cpp. (WebCore::ScrollbarThemeAdwaita::usesOverlayScrollbars const): (WebCore::ScrollbarThemeAdwaita::scrollbarThickness): (WebCore::ScrollbarThemeAdwaita::minimumThumbLength): (WebCore::ScrollbarThemeAdwaita::hasButtons): (WebCore::ScrollbarThemeAdwaita::hasThumb): (WebCore::ScrollbarThemeAdwaita::backButtonRect): (WebCore::ScrollbarThemeAdwaita::forwardButtonRect): (WebCore::ScrollbarThemeAdwaita::trackRect): (WebCore::ScrollbarThemeAdwaita::paint): (WebCore::ScrollbarThemeAdwaita::handleMousePressEvent): (WebCore::ScrollbarTheme::nativeTheme): * platform/adwaita/ScrollbarThemeAdwaita.h: Copied from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * platform/adwaita/ThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ThemeWPE.cpp. (WebCore::Theme::singleton): (WebCore::ThemeAdwaita::activeSelectionForegroundColor const): (WebCore::ThemeAdwaita::activeSelectionBackgroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionBackgroundColor const): (WebCore::ThemeAdwaita::focusColor): (WebCore::ThemeAdwaita::paintFocus): (WebCore::ThemeAdwaita::paintArrow): (WebCore::ThemeAdwaita::controlSize const): (WebCore::ThemeAdwaita::paint): (WebCore::ThemeAdwaita::paintCheckbox): (WebCore::ThemeAdwaita::paintRadio): (WebCore::ThemeAdwaita::paintButton): (WebCore::ThemeAdwaita::paintSpinButton): * platform/adwaita/ThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/ThemeWPE.h. (WebCore::ThemeAdwaita::platformColorsDidChange): * platform/graphics/cairo/CairoOperations.cpp: (WebCore::Cairo::drawFocusRing): * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/gtk/RenderThemeGadget.cpp: Removed. * platform/gtk/RenderThemeGadget.h: Removed. * platform/gtk/RenderThemeWidget.cpp: Removed. * platform/gtk/RenderThemeWidget.h: Removed. * platform/gtk/ScrollbarThemeGtk.cpp: Removed. * platform/gtk/ScrollbarThemeGtk.h: Removed. * platform/gtk/ThemeGtk.cpp: Added. (WebCore::Theme::singleton): (WebCore::ThemeGtk::ensurePlatformColors const): (WebCore::ThemeGtk::platformColorsDidChange): (WebCore::ThemeGtk::activeSelectionForegroundColor const): (WebCore::ThemeGtk::activeSelectionBackgroundColor const): (WebCore::ThemeGtk::inactiveSelectionForegroundColor const): (WebCore::ThemeGtk::inactiveSelectionBackgroundColor const): * platform/gtk/ThemeGtk.h: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * rendering/RenderThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.cpp. (WebCore::RenderTheme::singleton): (WebCore::RenderThemeAdwaita::supportsFocusRing const): (WebCore::RenderThemeAdwaita::shouldHaveCapsLockIndicator const): (WebCore::RenderThemeAdwaita::platformActiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformFocusRingColor const): (WebCore::RenderThemeAdwaita::platformColorsDidChange): (WebCore::RenderThemeAdwaita::extraDefaultStyleSheet): (WebCore::RenderThemeAdwaita::extraMediaControlsStyleSheet): (WebCore::RenderThemeAdwaita::mediaControlsScript): (WebCore::RenderThemeAdwaita::paintTextField): (WebCore::RenderThemeAdwaita::paintTextArea): (WebCore::RenderThemeAdwaita::paintSearchField): (WebCore::RenderThemeAdwaita::popupInternalPaddingBox const): (WebCore::RenderThemeAdwaita::paintMenuList): (WebCore::RenderThemeAdwaita::paintMenuListButtonDecorations): (WebCore::RenderThemeAdwaita::animationRepeatIntervalForProgressBar const): (WebCore::RenderThemeAdwaita::animationDurationForProgressBar const): (WebCore::RenderThemeAdwaita::progressBarRectForBounds const): (WebCore::RenderThemeAdwaita::paintProgressBar): (WebCore::RenderThemeAdwaita::paintSliderTrack): (WebCore::RenderThemeAdwaita::adjustSliderThumbSize const): (WebCore::RenderThemeAdwaita::paintSliderThumb): (WebCore::RenderThemeAdwaita::paintMediaSliderTrack): (WebCore::RenderThemeAdwaita::paintMediaVolumeSliderTrack): (WebCore::RenderThemeAdwaita::sliderTickSize const): (WebCore::RenderThemeAdwaita::sliderTickOffsetFromTrackCenter const): (WebCore::RenderThemeAdwaita::adjustListButtonStyle const): * rendering/RenderThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.h. * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::updateCachedSystemFontDescription const): (WebCore::RenderThemeGtk::caretBlinkInterval const): * rendering/RenderThemeGtk.h: Source/WebKit: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::themeDidChange): Notify RenderTheme about the theme change to clear the colors cache. Source/WTF: Enable USE_NEW_THEME for the GTK port. * wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/221120@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-02-25 09:55:52 +00:00
platform/gtk/ThemeGtk.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
platform/gtk/WidgetGtk.cpp
platform/text/Hyphenation.cpp
platform/text/LocaleICU.cpp
platform/text/enchant/TextCheckerEnchant.cpp
platform/text/hyphen/HyphenationLibHyphen.cpp
platform/unix/LoggingUnix.cpp
platform/xdg/MIMETypeRegistryXdg.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
[GTK] Stop using gtk foreign drawing API to style form controls https://bugs.webkit.org/show_bug.cgi?id=208129 Reviewed by Adrian Perez de Castro. .: Add a test case for datalist element. * ManualTests/gtk/theme.html: Source/WebCore: It causes layout issues in some websites, it doesn't really work with all GTK themes and it won't be possible with GTK4 because foreign drawing APIs have been removed. Instead, we can use the new custom style used by WPE port, which is based on adwaita, but simplified to avoid the huge minimum control sizes, the usage of gradients and transparencies, etc. We can still use the GTK API to get the selection colors, to keep some consistency with the actual GTK theme, but that won't be possible with GTK4 either. This also means we won't be rendering directly to the cairo context anymore (which was required by GTK foreign drawing), so we can use things like threaded rendering in the GTK port now. This patch renames ScrollbarThemeWPE, RenderThemeWPE and ThemeWPE as ScrollbarThemeAdwaita, RenderThemeAdwaita and ThemeAdwaita and adds ThemeGtk. GTK media controls CSS and JavaScript files have been removed in favor of using the adwaita ones. * Modules/mediacontrols/mediaControlsGtk.js: Removed. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * css/mediaControlsGtk.css: Removed. * platform/adwaita/ScrollbarThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.cpp. (WebCore::ScrollbarThemeAdwaita::usesOverlayScrollbars const): (WebCore::ScrollbarThemeAdwaita::scrollbarThickness): (WebCore::ScrollbarThemeAdwaita::minimumThumbLength): (WebCore::ScrollbarThemeAdwaita::hasButtons): (WebCore::ScrollbarThemeAdwaita::hasThumb): (WebCore::ScrollbarThemeAdwaita::backButtonRect): (WebCore::ScrollbarThemeAdwaita::forwardButtonRect): (WebCore::ScrollbarThemeAdwaita::trackRect): (WebCore::ScrollbarThemeAdwaita::paint): (WebCore::ScrollbarThemeAdwaita::handleMousePressEvent): (WebCore::ScrollbarTheme::nativeTheme): * platform/adwaita/ScrollbarThemeAdwaita.h: Copied from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * platform/adwaita/ThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ThemeWPE.cpp. (WebCore::Theme::singleton): (WebCore::ThemeAdwaita::activeSelectionForegroundColor const): (WebCore::ThemeAdwaita::activeSelectionBackgroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionBackgroundColor const): (WebCore::ThemeAdwaita::focusColor): (WebCore::ThemeAdwaita::paintFocus): (WebCore::ThemeAdwaita::paintArrow): (WebCore::ThemeAdwaita::controlSize const): (WebCore::ThemeAdwaita::paint): (WebCore::ThemeAdwaita::paintCheckbox): (WebCore::ThemeAdwaita::paintRadio): (WebCore::ThemeAdwaita::paintButton): (WebCore::ThemeAdwaita::paintSpinButton): * platform/adwaita/ThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/ThemeWPE.h. (WebCore::ThemeAdwaita::platformColorsDidChange): * platform/graphics/cairo/CairoOperations.cpp: (WebCore::Cairo::drawFocusRing): * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/gtk/RenderThemeGadget.cpp: Removed. * platform/gtk/RenderThemeGadget.h: Removed. * platform/gtk/RenderThemeWidget.cpp: Removed. * platform/gtk/RenderThemeWidget.h: Removed. * platform/gtk/ScrollbarThemeGtk.cpp: Removed. * platform/gtk/ScrollbarThemeGtk.h: Removed. * platform/gtk/ThemeGtk.cpp: Added. (WebCore::Theme::singleton): (WebCore::ThemeGtk::ensurePlatformColors const): (WebCore::ThemeGtk::platformColorsDidChange): (WebCore::ThemeGtk::activeSelectionForegroundColor const): (WebCore::ThemeGtk::activeSelectionBackgroundColor const): (WebCore::ThemeGtk::inactiveSelectionForegroundColor const): (WebCore::ThemeGtk::inactiveSelectionBackgroundColor const): * platform/gtk/ThemeGtk.h: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * rendering/RenderThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.cpp. (WebCore::RenderTheme::singleton): (WebCore::RenderThemeAdwaita::supportsFocusRing const): (WebCore::RenderThemeAdwaita::shouldHaveCapsLockIndicator const): (WebCore::RenderThemeAdwaita::platformActiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformFocusRingColor const): (WebCore::RenderThemeAdwaita::platformColorsDidChange): (WebCore::RenderThemeAdwaita::extraDefaultStyleSheet): (WebCore::RenderThemeAdwaita::extraMediaControlsStyleSheet): (WebCore::RenderThemeAdwaita::mediaControlsScript): (WebCore::RenderThemeAdwaita::paintTextField): (WebCore::RenderThemeAdwaita::paintTextArea): (WebCore::RenderThemeAdwaita::paintSearchField): (WebCore::RenderThemeAdwaita::popupInternalPaddingBox const): (WebCore::RenderThemeAdwaita::paintMenuList): (WebCore::RenderThemeAdwaita::paintMenuListButtonDecorations): (WebCore::RenderThemeAdwaita::animationRepeatIntervalForProgressBar const): (WebCore::RenderThemeAdwaita::animationDurationForProgressBar const): (WebCore::RenderThemeAdwaita::progressBarRectForBounds const): (WebCore::RenderThemeAdwaita::paintProgressBar): (WebCore::RenderThemeAdwaita::paintSliderTrack): (WebCore::RenderThemeAdwaita::adjustSliderThumbSize const): (WebCore::RenderThemeAdwaita::paintSliderThumb): (WebCore::RenderThemeAdwaita::paintMediaSliderTrack): (WebCore::RenderThemeAdwaita::paintMediaVolumeSliderTrack): (WebCore::RenderThemeAdwaita::sliderTickSize const): (WebCore::RenderThemeAdwaita::sliderTickOffsetFromTrackCenter const): (WebCore::RenderThemeAdwaita::adjustListButtonStyle const): * rendering/RenderThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.h. * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::updateCachedSystemFontDescription const): (WebCore::RenderThemeGtk::caretBlinkInterval const): * rendering/RenderThemeGtk.h: Source/WebKit: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::themeDidChange): Notify RenderTheme about the theme change to clear the colors cache. Source/WTF: Enable USE_NEW_THEME for the GTK port. * wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/221120@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-02-25 09:55:52 +00:00
rendering/RenderThemeAdwaita.cpp
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
rendering/RenderThemeGtk.cpp