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

accessibility/atspi/AccessibilityAtspi.cpp
accessibility/atspi/AccessibilityObjectAtspi.cpp
accessibility/atspi/AccessibilityObjectActionAtspi.cpp
accessibility/atspi/AccessibilityObjectComponentAtspi.cpp
accessibility/atspi/AccessibilityObjectDocumentAtspi.cpp
accessibility/atspi/AccessibilityObjectHyperlinkAtspi.cpp
accessibility/atspi/AccessibilityObjectHypertextAtspi.cpp
accessibility/atspi/AccessibilityObjectImageAtspi.cpp
accessibility/atspi/AccessibilityObjectTextAtspi.cpp
accessibility/atspi/AccessibilityObjectValueAtspi.cpp
accessibility/atspi/AccessibilityRootAtspi.cpp
accessibility/atspi/AXObjectCacheAtspi.cpp

accessibility/isolatedtree/atspi/AXIsolatedObjectAtspi.cpp

editing/atk/FrameSelectionAtk.cpp

editing/atspi/FrameSelectionAtspi.cpp

editing/gtk/EditorGtk.cpp
editing/gtk/WebContentReaderGtk.cpp

loader/soup/ResourceLoaderSoup.cpp

page/gtk/DragControllerGtk.cpp

page/linux/ResourceUsageOverlayLinux.cpp
page/linux/ResourceUsageThreadLinux.cpp

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
page/scrolling/nicosia/ScrollingTreePositionedNode.cpp
page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp
page/scrolling/nicosia/ScrollingTreeStickyNodeNicosia.cpp

platform/UserAgentQuirks.cpp

platform/adwaita/ScrollbarThemeAdwaita.cpp
platform/adwaita/ThemeAdwaita.cpp

platform/gamepad/manette/ManetteGamepad.cpp
platform/gamepad/manette/ManetteGamepadProvider.cpp

platform/generic/ScrollbarsControllerGeneric.cpp

platform/graphics/ANGLEWebKitBridge.cpp
platform/graphics/GLContext.cpp @no-unify
platform/graphics/PlatformDisplay.cpp @no-unify

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
platform/graphics/egl/GLContextEGLX11.cpp @no-unify

platform/graphics/glx/GLContextGLX.cpp

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

platform/graphics/libwpe/PlatformDisplayLibWPE.cpp

platform/graphics/opentype/OpenTypeVerticalData.cpp

platform/graphics/wayland/PlatformDisplayWayland.cpp

platform/graphics/x11/PlatformDisplayX11.cpp @no-unify
platform/graphics/x11/XErrorTrapper.cpp @no-unify
platform/graphics/x11/XUniqueResource.cpp @no-unify

platform/gtk/CursorGtk.cpp
platform/gtk/DragDataGtk.cpp
platform/gtk/DragImageGtk.cpp
platform/gtk/GRefPtrGtk.cpp
platform/gtk/GtkUtilities.cpp @no-unify
platform/gtk/LocalizedStringsGtk.cpp
platform/gtk/PasteboardGtk.cpp
platform/gtk/PlatformKeyboardEventGtk.cpp
platform/gtk/PlatformScreenGtk.cpp
platform/gtk/RenderThemeGadget.cpp
platform/gtk/RenderThemeScrollbar.cpp
platform/gtk/ScrollbarThemeGtk.cpp
platform/gtk/SelectionData.cpp
platform/gtk/ThemeGtk.cpp
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

rendering/RenderThemeAdwaita.cpp
rendering/RenderThemeGtk.cpp
