Title: [229453] trunk/Source/WebCore
Revision
229453
Author
[email protected]
Date
2018-03-08 23:42:34 -0800 (Thu, 08 Mar 2018)

Log Message

Move NicosiaPaintingContextCairo files under Cairo-specific directory
https://bugs.webkit.org/show_bug.cgi?id=183497

Reviewed by Carlos Garcia Campos.

Pack Cairo-specific files in the Nicosia subsystem under cairo/.

* platform/TextureMapper.cmake:
* platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp: Renamed from Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp.
* platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.h: Renamed from Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.h.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (229452 => 229453)


--- trunk/Source/WebCore/ChangeLog	2018-03-09 07:35:52 UTC (rev 229452)
+++ trunk/Source/WebCore/ChangeLog	2018-03-09 07:42:34 UTC (rev 229453)
@@ -1,3 +1,16 @@
+2018-03-08  Zan Dobersek  <[email protected]>
+
+        Move NicosiaPaintingContextCairo files under Cairo-specific directory
+        https://bugs.webkit.org/show_bug.cgi?id=183497
+
+        Reviewed by Carlos Garcia Campos.
+
+        Pack Cairo-specific files in the Nicosia subsystem under cairo/.
+
+        * platform/TextureMapper.cmake:
+        * platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp: Renamed from Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp.
+        * platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.h: Renamed from Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.h.
+
 2018-03-08  Nan Wang  <[email protected]>
 
         AX: AOM: More accessibility events support

Modified: trunk/Source/WebCore/platform/TextureMapper.cmake (229452 => 229453)


--- trunk/Source/WebCore/platform/TextureMapper.cmake	2018-03-09 07:35:52 UTC (rev 229452)
+++ trunk/Source/WebCore/platform/TextureMapper.cmake	2018-03-09 07:42:34 UTC (rev 229453)
@@ -47,13 +47,15 @@
     # FIXME: Move this into Nicosia.cmake once the component is set for long-term use.
     list(APPEND WebCore_INCLUDE_DIRECTORIES
         "${WEBCORE_DIR}/platform/graphics/nicosia"
+        "${WEBCORE_DIR}/platform/graphics/nicosia/cairo"
     )
     list(APPEND WebCore_SOURCES
         platform/graphics/nicosia/NicosiaBuffer.cpp
         platform/graphics/nicosia/NicosiaPaintingContext.cpp
-        platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp
         platform/graphics/nicosia/NicosiaPaintingEngine.cpp
         platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp
+
+        platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp
     )
 else ()
     list(APPEND WebCore_SOURCES

Deleted: trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp (229452 => 229453)


--- trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp	2018-03-09 07:35:52 UTC (rev 229452)
+++ trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp	2018-03-09 07:42:34 UTC (rev 229453)
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2017 Metrological Group B.V.
- * 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
- * HOLDER OR 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.
- */
-
-#include "config.h"
-#include "NicosiaPaintingContextCairo.h"
-
-#if USE(CAIRO)
-
-#include "GraphicsContext.h"
-#include "GraphicsContextImplCairo.h"
-#include "NicosiaBuffer.h"
-#include "PlatformContextCairo.h"
-#include "RefPtrCairo.h"
-#include <cairo.h>
-#include <utility>
-
-namespace Nicosia {
-
-PaintingContextCairo::PaintingContextCairo(Buffer& buffer)
-{
-    // Balanced by the deref in the s_bufferKey user data destroy callback.
-    buffer.ref();
-
-    m_cairo.surface = adoptRef(cairo_image_surface_create_for_data(buffer.data(),
-        CAIRO_FORMAT_ARGB32, buffer.size().width(), buffer.size().height(), buffer.stride()));
-
-    static cairo_user_data_key_t s_bufferKey;
-    cairo_surface_set_user_data(m_cairo.surface.get(), &s_bufferKey,
-        new std::pair<Buffer*, PaintingContextCairo*> { &buffer, this },
-        [](void* data)
-        {
-            auto* userData = static_cast<std::pair<Buffer*, PaintingContextCairo*>*>(data);
-
-            // Deref the Buffer object.
-            userData->first->deref();
-#if !ASSERT_DISABLED
-            // Mark the deletion of the cairo_surface_t object associated with this
-            // PaintingContextCairo as complete. This way we check that the cairo_surface_t
-            // object doesn't outlive the PaintingContextCairo through which it was used.
-            userData->second->m_deletionComplete = true;
-#endif
-            delete userData;
-        });
-
-    m_cairo.context = adoptRef(cairo_create(m_cairo.surface.get()));
-    m_platformContext = std::make_unique<WebCore::PlatformContextCairo>(m_cairo.context.get());
-    m_graphicsContext = std::make_unique<WebCore::GraphicsContext>(WebCore::GraphicsContextImplCairo::createFactory(*m_platformContext));
-}
-
-PaintingContextCairo::~PaintingContextCairo()
-{
-    cairo_surface_flush(m_cairo.surface.get());
-
-    m_graphicsContext = nullptr;
-    m_platformContext = nullptr;
-    m_cairo.context = nullptr;
-    m_cairo.surface = nullptr;
-
-    // With all the Cairo references purged, the cairo_surface_t object should be destroyed
-    // as well. This is checked by asserting that m_deletionComplete is true, which should
-    // be the case if the s_bufferKey user data destroy callback has been invoked upon the
-    // cairo_surface_t destruction.
-    ASSERT(m_deletionComplete);
-}
-
-WebCore::GraphicsContext& PaintingContextCairo::graphicsContext()
-{
-    return *m_graphicsContext;
-}
-
-} // namespace Nicosia
-
-#endif // USE(CAIRO)

Deleted: trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.h (229452 => 229453)


--- trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.h	2018-03-09 07:35:52 UTC (rev 229452)
+++ trunk/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingContextCairo.h	2018-03-09 07:42:34 UTC (rev 229453)
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2017 Metrological Group B.V.
- * 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
- * HOLDER OR 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.
- */
-
-#pragma once
-
-#include "NicosiaPaintingContext.h"
-
-#if USE(CAIRO)
-
-#include <wtf/RefPtr.h>
-
-typedef struct _cairo cairo_t;
-typedef struct _cairo_surface cairo_surface_t;
-
-namespace WebCore {
-class GraphicsContext;
-class PlatformContextCairo;
-}
-
-namespace Nicosia {
-
-class PaintingContextCairo final : public PaintingContext {
-public:
-    explicit PaintingContextCairo(Buffer&);
-    virtual ~PaintingContextCairo();
-
-private:
-    WebCore::GraphicsContext& graphicsContext() override;
-
-    struct {
-        RefPtr<cairo_surface_t> surface;
-        RefPtr<cairo_t> context;
-    } m_cairo;
-    std::unique_ptr<WebCore::PlatformContextCairo> m_platformContext;
-    std::unique_ptr<WebCore::GraphicsContext> m_graphicsContext;
-
-#ifndef NDEBUG
-    bool m_deletionComplete { false };
-#endif
-};
-
-} // namespace Nicosia
-
-#endif // USE(CAIRO)

Added: trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp (0 => 229453)


--- trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp	                        (rev 0)
+++ trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp	2018-03-09 07:42:34 UTC (rev 229453)
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2017 Metrological Group B.V.
+ * 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * HOLDER OR 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.
+ */
+
+#include "config.h"
+#include "NicosiaPaintingContextCairo.h"
+
+#if USE(CAIRO)
+
+#include "GraphicsContext.h"
+#include "GraphicsContextImplCairo.h"
+#include "NicosiaBuffer.h"
+#include "PlatformContextCairo.h"
+#include "RefPtrCairo.h"
+#include <cairo.h>
+#include <utility>
+
+namespace Nicosia {
+
+PaintingContextCairo::PaintingContextCairo(Buffer& buffer)
+{
+    // Balanced by the deref in the s_bufferKey user data destroy callback.
+    buffer.ref();
+
+    m_cairo.surface = adoptRef(cairo_image_surface_create_for_data(buffer.data(),
+        CAIRO_FORMAT_ARGB32, buffer.size().width(), buffer.size().height(), buffer.stride()));
+
+    static cairo_user_data_key_t s_bufferKey;
+    cairo_surface_set_user_data(m_cairo.surface.get(), &s_bufferKey,
+        new std::pair<Buffer*, PaintingContextCairo*> { &buffer, this },
+        [](void* data)
+        {
+            auto* userData = static_cast<std::pair<Buffer*, PaintingContextCairo*>*>(data);
+
+            // Deref the Buffer object.
+            userData->first->deref();
+#if !ASSERT_DISABLED
+            // Mark the deletion of the cairo_surface_t object associated with this
+            // PaintingContextCairo as complete. This way we check that the cairo_surface_t
+            // object doesn't outlive the PaintingContextCairo through which it was used.
+            userData->second->m_deletionComplete = true;
+#endif
+            delete userData;
+        });
+
+    m_cairo.context = adoptRef(cairo_create(m_cairo.surface.get()));
+    m_platformContext = std::make_unique<WebCore::PlatformContextCairo>(m_cairo.context.get());
+    m_graphicsContext = std::make_unique<WebCore::GraphicsContext>(WebCore::GraphicsContextImplCairo::createFactory(*m_platformContext));
+}
+
+PaintingContextCairo::~PaintingContextCairo()
+{
+    cairo_surface_flush(m_cairo.surface.get());
+
+    m_graphicsContext = nullptr;
+    m_platformContext = nullptr;
+    m_cairo.context = nullptr;
+    m_cairo.surface = nullptr;
+
+    // With all the Cairo references purged, the cairo_surface_t object should be destroyed
+    // as well. This is checked by asserting that m_deletionComplete is true, which should
+    // be the case if the s_bufferKey user data destroy callback has been invoked upon the
+    // cairo_surface_t destruction.
+    ASSERT(m_deletionComplete);
+}
+
+WebCore::GraphicsContext& PaintingContextCairo::graphicsContext()
+{
+    return *m_graphicsContext;
+}
+
+} // namespace Nicosia
+
+#endif // USE(CAIRO)

Added: trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.h (0 => 229453)


--- trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.h	2018-03-09 07:42:34 UTC (rev 229453)
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2017 Metrological Group B.V.
+ * 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * HOLDER OR 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.
+ */
+
+#pragma once
+
+#include "NicosiaPaintingContext.h"
+
+#if USE(CAIRO)
+
+#include <wtf/RefPtr.h>
+
+typedef struct _cairo cairo_t;
+typedef struct _cairo_surface cairo_surface_t;
+
+namespace WebCore {
+class GraphicsContext;
+class PlatformContextCairo;
+}
+
+namespace Nicosia {
+
+class PaintingContextCairo final : public PaintingContext {
+public:
+    explicit PaintingContextCairo(Buffer&);
+    virtual ~PaintingContextCairo();
+
+private:
+    WebCore::GraphicsContext& graphicsContext() override;
+
+    struct {
+        RefPtr<cairo_surface_t> surface;
+        RefPtr<cairo_t> context;
+    } m_cairo;
+    std::unique_ptr<WebCore::PlatformContextCairo> m_platformContext;
+    std::unique_ptr<WebCore::GraphicsContext> m_graphicsContext;
+
+#ifndef NDEBUG
+    bool m_deletionComplete { false };
+#endif
+};
+
+} // namespace Nicosia
+
+#endif // USE(CAIRO)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to