[chromium] Move geometry headers in Platform API to Platform directory
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Feb 2012 06:56:26 +0000 (06:56 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Feb 2012 06:56:26 +0000 (06:56 +0000)
https://bugs.webkit.org/show_bug.cgi?id=78067

Patch by James Robinson <jamesr@chromium.org> on 2012-02-07
Reviewed by Adam Barth.

Source/Platform:

This moves several geometry-related headers in the chromium WebKit platform API to Platform/chromium/public.
These require a bit of extra work since when WEBKIT_IMPLEMENTATION is set they #include headers from
WebCore/platform such as IntPoint so that the implementations of several functions can be inlined. Since we do
not want to add anything in WebCore to the include path of projects that depend on the Platform API this poses a
bit of an issue. I've added an extra build step to copy the specific headers used into the
SHARED_INTERMEDIATE_DIR to preserve this inlining.

Eventually we'll move the cross-platform code, including these headers, into somewhere under Platform/, but doing
that requires non-trivial modifications to every build system in WebKit.

* Platform.gyp/Platform.gyp:
* Platform.gyp/copy_webcore_headers.py: Added.
(CopyHeaders):
(Main):
* chromium/public/WebFloatPoint.h: Copied from Source/WebKit/chromium/public/platform/WebFloatPoint.h.
(WebKit):
(WebFloatPoint):
(WebKit::WebFloatPoint::WebFloatPoint):
(WebKit::WebFloatPoint::operator=):
(WebKit::WebFloatPoint::operator WebCore::FloatPoint):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/public/WebFloatQuad.h: Copied from Source/WebKit/chromium/public/platform/WebFloatQuad.h.
(WebKit):
(WebFloatQuad):
(WebKit::WebFloatQuad::WebFloatQuad):
(WebKit::WebFloatQuad::operator=):
* chromium/public/WebFloatRect.h: Copied from Source/WebKit/chromium/public/platform/WebFloatRect.h.
(WebKit):
(WebFloatRect):
(WebKit::WebFloatRect::isEmpty):
(WebKit::WebFloatRect::WebFloatRect):
(WebKit::WebFloatRect::operator=):
(WebKit::WebFloatRect::operator WebCore::FloatRect):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/public/WebPoint.h: Copied from Source/WebKit/chromium/public/platform/WebPoint.h.
(WebKit):
(WebPoint):
(WebKit::WebPoint::WebPoint):
(WebKit::WebPoint::operator=):
(WebKit::WebPoint::operator WebCore::IntPoint):
(WebKit::WebPoint::operator gfx::Point):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/public/WebRect.h: Copied from Source/WebKit/chromium/public/platform/WebRect.h.
(WebKit):
(WebRect):
(WebKit::WebRect::isEmpty):
(WebKit::WebRect::WebRect):
(WebKit::WebRect::operator=):
(WebKit::WebRect::operator WebCore::IntRect):
(WebKit::WebRect::operator gfx::Rect):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/public/WebSize.h: Copied from Source/WebKit/chromium/public/platform/WebSize.h.
(WebKit):
(WebSize):
(WebKit::WebSize::isEmpty):
(WebKit::WebSize::WebSize):
(WebKit::WebSize::operator=):
(WebKit::WebSize::operator WebCore::IntSize):
(WebKit::WebSize::operator gfx::Size):
(WebKit::operator==):
(WebKit::operator!=):

Source/WebKit/chromium:

Add forwarding headers for several API types moved into Platform.

* public/platform/WebFloatPoint.h:
* public/platform/WebFloatQuad.h:
* public/platform/WebFloatRect.h:
* public/platform/WebPoint.h:
* public/platform/WebRect.h:
* public/platform/WebSize.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@107042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

19 files changed:
Source/Platform/ChangeLog
Source/Platform/Platform.gyp/Platform.gyp
Source/Platform/Platform.gyp/copy_webcore_headers.py [new file with mode: 0644]
Source/Platform/Platform.gypi
Source/Platform/chromium/public/WebFloatPoint.h [new file with mode: 0644]
Source/Platform/chromium/public/WebFloatQuad.h [new file with mode: 0644]
Source/Platform/chromium/public/WebFloatRect.h [new file with mode: 0644]
Source/Platform/chromium/public/WebPoint.h [new file with mode: 0644]
Source/Platform/chromium/public/WebRect.h [new file with mode: 0644]
Source/Platform/chromium/public/WebSize.h [new file with mode: 0644]
Source/Platform/chromium/src/WebFloatQuad.cpp [moved from Source/WebKit/chromium/src/WebFloatQuad.cpp with 79% similarity]
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gyp
Source/WebKit/chromium/public/platform/WebFloatPoint.h
Source/WebKit/chromium/public/platform/WebFloatQuad.h
Source/WebKit/chromium/public/platform/WebFloatRect.h
Source/WebKit/chromium/public/platform/WebPoint.h
Source/WebKit/chromium/public/platform/WebRect.h
Source/WebKit/chromium/public/platform/WebSize.h

index fc45347b256c6bb1ed265b9716f8dbeb71b87d07..3f96ff3d08a1ea4df8a3890cddc33a27734dac9d 100644 (file)
@@ -1,3 +1,76 @@
+2012-02-07  James Robinson  <jamesr@chromium.org>
+
+        [chromium] Move geometry headers in Platform API to Platform directory
+        https://bugs.webkit.org/show_bug.cgi?id=78067
+
+        Reviewed by Adam Barth.
+
+        This moves several geometry-related headers in the chromium WebKit platform API to Platform/chromium/public.
+        These require a bit of extra work since when WEBKIT_IMPLEMENTATION is set they #include headers from
+        WebCore/platform such as IntPoint so that the implementations of several functions can be inlined. Since we do
+        not want to add anything in WebCore to the include path of projects that depend on the Platform API this poses a
+        bit of an issue. I've added an extra build step to copy the specific headers used into the
+        SHARED_INTERMEDIATE_DIR to preserve this inlining.
+        
+        Eventually we'll move the cross-platform code, including these headers, into somewhere under Platform/, but doing
+        that requires non-trivial modifications to every build system in WebKit.
+
+        * Platform.gyp/Platform.gyp:
+        * Platform.gyp/copy_webcore_headers.py: Added.
+        (CopyHeaders):
+        (Main):
+        * chromium/public/WebFloatPoint.h: Copied from Source/WebKit/chromium/public/platform/WebFloatPoint.h.
+        (WebKit):
+        (WebFloatPoint):
+        (WebKit::WebFloatPoint::WebFloatPoint):
+        (WebKit::WebFloatPoint::operator=):
+        (WebKit::WebFloatPoint::operator WebCore::FloatPoint):
+        (WebKit::operator==):
+        (WebKit::operator!=):
+        * chromium/public/WebFloatQuad.h: Copied from Source/WebKit/chromium/public/platform/WebFloatQuad.h.
+        (WebKit):
+        (WebFloatQuad):
+        (WebKit::WebFloatQuad::WebFloatQuad):
+        (WebKit::WebFloatQuad::operator=):
+        * chromium/public/WebFloatRect.h: Copied from Source/WebKit/chromium/public/platform/WebFloatRect.h.
+        (WebKit):
+        (WebFloatRect):
+        (WebKit::WebFloatRect::isEmpty):
+        (WebKit::WebFloatRect::WebFloatRect):
+        (WebKit::WebFloatRect::operator=):
+        (WebKit::WebFloatRect::operator WebCore::FloatRect):
+        (WebKit::operator==):
+        (WebKit::operator!=):
+        * chromium/public/WebPoint.h: Copied from Source/WebKit/chromium/public/platform/WebPoint.h.
+        (WebKit):
+        (WebPoint):
+        (WebKit::WebPoint::WebPoint):
+        (WebKit::WebPoint::operator=):
+        (WebKit::WebPoint::operator WebCore::IntPoint):
+        (WebKit::WebPoint::operator gfx::Point):
+        (WebKit::operator==):
+        (WebKit::operator!=):
+        * chromium/public/WebRect.h: Copied from Source/WebKit/chromium/public/platform/WebRect.h.
+        (WebKit):
+        (WebRect):
+        (WebKit::WebRect::isEmpty):
+        (WebKit::WebRect::WebRect):
+        (WebKit::WebRect::operator=):
+        (WebKit::WebRect::operator WebCore::IntRect):
+        (WebKit::WebRect::operator gfx::Rect):
+        (WebKit::operator==):
+        (WebKit::operator!=):
+        * chromium/public/WebSize.h: Copied from Source/WebKit/chromium/public/platform/WebSize.h.
+        (WebKit):
+        (WebSize):
+        (WebKit::WebSize::isEmpty):
+        (WebKit::WebSize::WebSize):
+        (WebKit::WebSize::operator=):
+        (WebKit::WebSize::operator WebCore::IntSize):
+        (WebKit::WebSize::operator gfx::Size):
+        (WebKit::operator==):
+        (WebKit::operator!=):
+
 2012-01-19  Joi Sigurdsson  <joi@chromium.org>
 
         Enable use of precompiled headers in Chromium port on Windows.
index d3d4bbe077251f742511f9c6f31e5608536929d3..7b69f33ab164872f97de17555e30727e16e94b76 100644 (file)
@@ -43,6 +43,7 @@
             ],
             'include_dirs': [
                 '../chromium',
+                '<(output_dir)',
             ],
             'defines': [
                 'WEBKIT_IMPLEMENTATION=1',
             'sources': [
                 '<@(platform_files)',
             ],
+            'variables': {
+                # List of headers that are #included in Platform API headers that exist inside
+                # the WebCore directory. These are only included when WEBKIT_IMPLEMENTATION=1.
+                # Since Platform/ can't add WebCore/* to the include path, this build step
+                # copies these headers into the shared intermediate directory and adds that to the include path.
+                # This is temporary, the better solution is to move these headers into the Platform
+                # directory for all ports and just use them as normal.
+                'webcore_headers': [
+                    '../../WebCore/platform/graphics/FloatPoint.h',
+                    '../../WebCore/platform/graphics/FloatQuad.h',
+                    '../../WebCore/platform/graphics/FloatRect.h',
+                    '../../WebCore/platform/graphics/FloatSize.h',
+                    '../../WebCore/platform/graphics/IntPoint.h',
+                    '../../WebCore/platform/graphics/IntRect.h',
+                    '../../WebCore/platform/graphics/IntSize.h',
+                ],
+                'output_dir': '<(SHARED_INTERMEDIATE_DIR)/webcore_headers'
+            },
             'direct_dependent_settings': {
                 'include_dirs': [
                     '../chromium',
+                    '<(output_dir)'
                 ],
             },
             'conditions': [
                         }],
                     ],
                 }],
+            ],
+            'actions': [
+                {
+                    'action_name': 'platform_api_copy_webcore_headers',
+                    'inputs': [
+                        '<@(webcore_headers)'
+                    ],
+                    'outputs': [
+                        '<(output_dir)/IntPoint.h' # Just have to depend on any one copied header
+                    ],
+                    'action': [
+                        'python',
+                        'copy_webcore_headers.py',
+                        '<(SHARED_INTERMEDIATE_DIR)/webcore_headers',
+                        '<@(webcore_headers)'
+                    ],
+                    'message': 'Copying WebCore headers needed by Platform API'
+                }
             ]
         }
     ]
diff --git a/Source/Platform/Platform.gyp/copy_webcore_headers.py b/Source/Platform/Platform.gyp/copy_webcore_headers.py
new file mode 100644 (file)
index 0000000..cd2a38d
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# Copyright (c) 2012 Google Inc. All rights reserved.
+#
+# 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.
+
+"""A helper script for copying WebCore/platform headers into a location the WebKit Platform API headers can include"""
+
+import errno
+import os
+import shutil
+import sys
+
+
+def CopyHeaders(dest_dir, headers):
+    try:
+        os.makedirs(dest_dir)
+    except OSError, e:
+        if e.errno != errno.EEXIST:
+            raise
+    for header in headers:
+        dest_filename = dest_dir + os.sep + header.split('/')[-1]
+        shutil.copyfile(header, dest_filename)
+
+
+def Main(argv):
+    dest_dir = argv[1]
+    headers = argv[2:]
+    CopyHeaders(dest_dir, headers)
+
+if __name__ == '__main__':
+    sys.exit(Main(sys.argv))
index 17e50adc125bdb059be9b5a0cdccc0bf9f34adf7..c4da4d9dc42acf74ff98cbfa86226edfc5dc320c 100644 (file)
         'platform_files': [
             'chromium/public/WebCString.h',
             'chromium/public/WebCommon.h',
-            'chromium/public/WebString.h',
+            'chromium/public/WebFloatPoint.h',
+            'chromium/public/WebFloatQuad.h',
+            'chromium/public/WebFloatRect.h',
             'chromium/public/WebMimeRegistry.h',
+            'chromium/public/WebPoint.h',
+            'chromium/public/WebRect.h',
+            'chromium/public/WebSize.h',
+            'chromium/public/WebString.h',
             'chromium/src/WebCString.cpp',
+            'chromium/src/WebFloatQuad.cpp',
             'chromium/src/WebString.cpp',
         ]
     }
diff --git a/Source/Platform/chromium/public/WebFloatPoint.h b/Source/Platform/chromium/public/WebFloatPoint.h
new file mode 100644 (file)
index 0000000..4afc16b
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * 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
+ * OWNER 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.
+ */
+
+#ifndef WebFloatPoint_h
+#define WebFloatPoint_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include "FloatPoint.h"
+#endif
+
+namespace WebKit {
+
+struct WebFloatPoint {
+    float x;
+    float y;
+
+    WebFloatPoint()
+        : x(0.0f)
+        , y(0.0f)
+    {
+    }
+
+    WebFloatPoint(float x, float y)
+        : x(x)
+        , y(y)
+    {
+    }
+
+#if WEBKIT_IMPLEMENTATION
+    WebFloatPoint(const WebCore::FloatPoint& p)
+        : x(p.x())
+        , y(p.y())
+    {
+    }
+
+    WebFloatPoint& operator=(const WebCore::FloatPoint& p)
+    {
+        x = p.x();
+        y = p.y();
+        return *this;
+    }
+
+    operator WebCore::FloatPoint() const
+    {
+        return WebCore::FloatPoint(x, y);
+    }
+#endif
+};
+
+inline bool operator==(const WebFloatPoint& a, const WebFloatPoint& b)
+{
+    return a.x == b.x && a.y == b.y;
+}
+
+inline bool operator!=(const WebFloatPoint& a, const WebFloatPoint& b)
+{
+    return !(a == b);
+}
+
+} // namespace WebKit
+
+#endif
diff --git a/Source/Platform/chromium/public/WebFloatQuad.h b/Source/Platform/chromium/public/WebFloatQuad.h
new file mode 100644 (file)
index 0000000..da5eb05
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * 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
+ * OWNER 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.
+ */
+
+#ifndef WebFloatQuad_h
+#define WebFloatQuad_h
+
+#include "WebCommon.h"
+#include "WebFloatPoint.h"
+#include "WebRect.h"
+
+#include <algorithm>
+#include <cmath>
+
+#if WEBKIT_IMPLEMENTATION
+#include "FloatQuad.h"
+#endif
+
+namespace WebKit {
+
+struct WebFloatQuad {
+    WebFloatPoint p[4];
+
+    WebFloatQuad()
+    {
+    }
+
+    WebFloatQuad(const WebFloatPoint& p0, const WebFloatPoint& p1, const WebFloatPoint& p2, const WebFloatPoint& p3)
+    {
+        p[0] = p0;
+        p[1] = p1;
+        p[2] = p2;
+        p[3] = p3;
+    }
+
+    WEBKIT_EXPORT WebRect enclosingRect() const;
+
+#if WEBKIT_IMPLEMENTATION
+    WebFloatQuad& operator=(const WebCore::FloatQuad& q)
+    {
+        p[0] = q.p1();
+        p[1] = q.p2();
+        p[2] = q.p3();
+        p[3] = q.p4();
+        return *this;
+    }
+    WebFloatQuad(const WebCore::FloatQuad& q)
+    {
+        *this = q;
+    }
+#endif
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/Source/Platform/chromium/public/WebFloatRect.h b/Source/Platform/chromium/public/WebFloatRect.h
new file mode 100644 (file)
index 0000000..a883513
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * 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
+ * OWNER 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.
+ */
+
+#ifndef WebFloatRect_h
+#define WebFloatRect_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include "FloatRect.h"
+#endif
+
+namespace WebKit {
+
+struct WebFloatRect {
+    float x;
+    float y;
+    float width;
+    float height;
+
+    bool isEmpty() const { return width <= 0 || height <= 0; }
+
+    WebFloatRect()
+        : x(0.0f)
+        , y(0.0f)
+        , width(0.0f)
+        , height(0.0f)
+    {
+    }
+
+    WebFloatRect(float x, float y, float width, float height)
+        : x(x)
+        , y(y)
+        , width(width)
+        , height(height)
+    {
+    }
+
+#if WEBKIT_IMPLEMENTATION
+    WebFloatRect(const WebCore::FloatRect& r)
+        : x(r.x())
+        , y(r.y())
+        , width(r.width())
+        , height(r.height())
+    {
+    }
+
+    WebFloatRect& operator=(const WebCore::FloatRect& r)
+    {
+        x = r.x();
+        y = r.y();
+        width = r.width();
+        height = r.height();
+        return *this;
+    }
+
+    operator WebCore::FloatRect() const
+    {
+        return WebCore::FloatRect(x, y, width, height);
+    }
+#endif
+};
+
+inline bool operator==(const WebFloatRect& a, const WebFloatRect& b)
+{
+    return a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height;
+}
+
+inline bool operator!=(const WebFloatRect& a, const WebFloatRect& b)
+{
+    return !(a == b);
+}
+
+} // namespace WebKit
+
+#endif
diff --git a/Source/Platform/chromium/public/WebPoint.h b/Source/Platform/chromium/public/WebPoint.h
new file mode 100644 (file)
index 0000000..7662363
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * 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
+ * OWNER 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.
+ */
+
+#ifndef WebPoint_h
+#define WebPoint_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include "IntPoint.h"
+#else
+#include <ui/gfx/point.h>
+#endif
+
+namespace WebKit {
+
+struct WebPoint {
+    int x;
+    int y;
+
+    WebPoint()
+        : x(0)
+        , y(0)
+    {
+    }
+
+    WebPoint(int x, int y)
+        : x(x)
+        , y(y)
+    {
+    }
+
+#if WEBKIT_IMPLEMENTATION
+    WebPoint(const WebCore::IntPoint& p)
+        : x(p.x())
+        , y(p.y())
+    {
+    }
+
+    WebPoint& operator=(const WebCore::IntPoint& p)
+    {
+        x = p.x();
+        y = p.y();
+        return *this;
+    }
+
+    operator WebCore::IntPoint() const
+    {
+        return WebCore::IntPoint(x, y);
+    }
+#else
+    WebPoint(const gfx::Point& p)
+        : x(p.x())
+        , y(p.y())
+    {
+    }
+
+    WebPoint& operator=(const gfx::Point& p)
+    {
+        x = p.x();
+        y = p.y();
+        return *this;
+    }
+
+    operator gfx::Point() const
+    {
+        return gfx::Point(x, y);
+    }
+#endif
+};
+
+inline bool operator==(const WebPoint& a, const WebPoint& b)
+{
+    return a.x == b.x && a.y == b.y;
+}
+
+inline bool operator!=(const WebPoint& a, const WebPoint& b)
+{
+    return !(a == b);
+}
+
+} // namespace WebKit
+
+#endif
diff --git a/Source/Platform/chromium/public/WebRect.h b/Source/Platform/chromium/public/WebRect.h
new file mode 100644 (file)
index 0000000..045b7a8
--- /dev/null
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * 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
+ * OWNER 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.
+ */
+
+#ifndef WebRect_h
+#define WebRect_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include "IntRect.h"
+#else
+#include <ui/gfx/rect.h>
+#endif
+
+namespace WebKit {
+
+struct WebRect {
+    int x;
+    int y;
+    int width;
+    int height;
+
+    bool isEmpty() const { return width <= 0 || height <= 0; }
+
+    WebRect()
+        : x(0)
+        , y(0)
+        , width(0)
+        , height(0)
+    {
+    }
+
+    WebRect(int x, int y, int width, int height)
+        : x(x)
+        , y(y)
+        , width(width)
+        , height(height)
+    {
+    }
+
+#if WEBKIT_IMPLEMENTATION
+    WebRect(const WebCore::IntRect& r)
+        : x(r.x())
+        , y(r.y())
+        , width(r.width())
+        , height(r.height())
+    {
+    }
+
+    WebRect& operator=(const WebCore::IntRect& r)
+    {
+        x = r.x();
+        y = r.y();
+        width = r.width();
+        height = r.height();
+        return *this;
+    }
+
+    operator WebCore::IntRect() const
+    {
+        return WebCore::IntRect(x, y, width, height);
+    }
+#else
+    WebRect(const gfx::Rect& r)
+        : x(r.x())
+        , y(r.y())
+        , width(r.width())
+        , height(r.height())
+    {
+    }
+
+    WebRect& operator=(const gfx::Rect& r)
+    {
+        x = r.x();
+        y = r.y();
+        width = r.width();
+        height = r.height();
+        return *this;
+    }
+
+    operator gfx::Rect() const
+    {
+        return gfx::Rect(x, y, width, height);
+    }
+#endif
+};
+
+inline bool operator==(const WebRect& a, const WebRect& b)
+{
+    return a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height;
+}
+
+inline bool operator!=(const WebRect& a, const WebRect& b)
+{
+    return !(a == b);
+}
+
+} // namespace WebKit
+
+#endif
diff --git a/Source/Platform/chromium/public/WebSize.h b/Source/Platform/chromium/public/WebSize.h
new file mode 100644 (file)
index 0000000..94a5365
--- /dev/null
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * 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
+ * OWNER 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.
+ */
+
+#ifndef WebSize_h
+#define WebSize_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include "IntSize.h"
+#else
+#include <ui/gfx/size.h>
+#endif
+
+namespace WebKit {
+
+struct WebSize {
+    int width;
+    int height;
+
+    bool isEmpty() const { return width <= 0 || height <= 0; }
+
+    WebSize()
+        : width(0)
+        , height(0)
+    {
+    }
+
+    WebSize(int width, int height)
+        : width(width)
+        , height(height)
+    {
+    }
+
+#if WEBKIT_IMPLEMENTATION
+    WebSize(const WebCore::IntSize& s)
+        : width(s.width())
+        , height(s.height())
+    {
+    }
+
+    WebSize& operator=(const WebCore::IntSize& s)
+    {
+        width = s.width();
+        height = s.height();
+        return *this;
+    }
+
+    operator WebCore::IntSize() const
+    {
+        return WebCore::IntSize(width, height);
+    }
+#else
+    WebSize(const gfx::Size& s)
+        : width(s.width())
+        , height(s.height())
+    {
+    }
+
+    WebSize& operator=(const gfx::Size& s)
+    {
+        width = s.width();
+        height = s.height();
+        return *this;
+    }
+
+    operator gfx::Size() const
+    {
+        return gfx::Size(width, height);
+    }
+#endif
+};
+
+inline bool operator==(const WebSize& a, const WebSize& b)
+{
+    return a.width == b.width && a.height == b.height;
+}
+
+inline bool operator!=(const WebSize& a, const WebSize& b)
+{
+    return !(a == b);
+}
+
+} // namespace WebKit
+
+#endif
similarity index 79%
rename from Source/WebKit/chromium/src/WebFloatQuad.cpp
rename to Source/Platform/chromium/src/WebFloatQuad.cpp
index fe7d68a98ac45159f1ad15d3398ac3fe0910580f..67cbdc6010e2fbf2fb3deb316cd0fcf446f9afaa 100644 (file)
  */
 
 #include "config.h"
-#include "platform/WebFloatQuad.h"
+#include <public/WebFloatQuad.h>
+
+#include <algorithm>
+#include <math.h>
+
+using namespace std;
 
 namespace WebKit {
 
 WebRect WebFloatQuad::enclosingRect() const
 {
-    int left = static_cast<int>(floorf(std::min(std::min(std::min(p[0].x, p[1].x), p[2].x), p[3].x)));
-    int top = static_cast<int>(floorf(std::min(std::min(std::min(p[0].y, p[1].y), p[2].y), p[3].y)));
-    int right = static_cast<int>(ceilf(std::max(std::max(std::max(p[0].x, p[1].x), p[2].x), p[3].x)));
-    int bottom = static_cast<int>(ceilf(std::max(std::max(std::max(p[0].y, p[1].y), p[2].y), p[3].y)));
+    int left = static_cast<int>(floorf(min(min(min(p[0].x, p[1].x), p[2].x), p[3].x)));
+    int top = static_cast<int>(floorf(min(min(min(p[0].y, p[1].y), p[2].y), p[3].y)));
+    int right = static_cast<int>(ceilf(max(max(max(p[0].x, p[1].x), p[2].x), p[3].x)));
+    int bottom = static_cast<int>(ceilf(max(max(max(p[0].y, p[1].y), p[2].y), p[3].y)));
 
     return WebRect(left, top, right - left, bottom - top);
 }
index 16ead294eecb1a378b69ef865ac2b9ad5071258d..8b4d57e2af561a749280f649578fc548338103ff 100644 (file)
@@ -1,3 +1,19 @@
+2012-02-07  James Robinson  <jamesr@chromium.org>
+
+        [chromium] Move geometry headers in Platform API to Platform directory
+        https://bugs.webkit.org/show_bug.cgi?id=78067
+
+        Reviewed by Adam Barth.
+
+        Add forwarding headers for several API types moved into Platform.
+
+        * public/platform/WebFloatPoint.h:
+        * public/platform/WebFloatQuad.h:
+        * public/platform/WebFloatRect.h:
+        * public/platform/WebPoint.h:
+        * public/platform/WebRect.h:
+        * public/platform/WebSize.h:
+
 2012-02-07  MORITA Hajime  <morrita@google.com>
 
         [Chromium] WebTextCheckingResult should have new default constructor
index 68c9bb2a598a695cbd6129990d9b2f94f1d79aae..8dd2dde6e6110ff0f6b3b496a95c9e32edad94a0 100644 (file)
                 'src/WebFileChooserCompletionImpl.h',
                 'src/WebFileSystemCallbacksImpl.cpp',
                 'src/WebFileSystemCallbacksImpl.h',
-                'src/WebFloatQuad.cpp',
                 'src/WebFontCache.cpp',
                 'src/WebFontDescription.cpp',
                 'src/WebFontImpl.cpp',
index 4afc16b9c84e6f5ea30403eb3e77ec4f3e8f9fb9..3fd4c6c86dc6615a202f46893ff12b8257c0d64e 100644 (file)
@@ -1,91 +1,26 @@
 /*
- * Copyright (C) 2010 Google Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * modification, are permitted provided that the following conditions
+ * are met:
  *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * 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.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * 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
- * OWNER 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.
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
  */
 
-#ifndef WebFloatPoint_h
-#define WebFloatPoint_h
-
-#include "WebCommon.h"
-
-#if WEBKIT_IMPLEMENTATION
-#include "FloatPoint.h"
-#endif
-
-namespace WebKit {
-
-struct WebFloatPoint {
-    float x;
-    float y;
-
-    WebFloatPoint()
-        : x(0.0f)
-        , y(0.0f)
-    {
-    }
-
-    WebFloatPoint(float x, float y)
-        : x(x)
-        , y(y)
-    {
-    }
-
-#if WEBKIT_IMPLEMENTATION
-    WebFloatPoint(const WebCore::FloatPoint& p)
-        : x(p.x())
-        , y(p.y())
-    {
-    }
-
-    WebFloatPoint& operator=(const WebCore::FloatPoint& p)
-    {
-        x = p.x();
-        y = p.y();
-        return *this;
-    }
-
-    operator WebCore::FloatPoint() const
-    {
-        return WebCore::FloatPoint(x, y);
-    }
-#endif
-};
-
-inline bool operator==(const WebFloatPoint& a, const WebFloatPoint& b)
-{
-    return a.x == b.x && a.y == b.y;
-}
-
-inline bool operator!=(const WebFloatPoint& a, const WebFloatPoint& b)
-{
-    return !(a == b);
-}
-
-} // namespace WebKit
-
-#endif
+#include "../../../../Platform/chromium/public/WebFloatPoint.h"
index da5eb054202fae5ab71b7c89db1f3145cd7693c1..5d07f92b5050dcaf7b034993118e272aa7be91a5 100644 (file)
@@ -1,82 +1,26 @@
 /*
- * Copyright (C) 2011 Google Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * modification, are permitted provided that the following conditions
+ * are met:
  *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * 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.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * 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
- * OWNER 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.
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
  */
 
-#ifndef WebFloatQuad_h
-#define WebFloatQuad_h
-
-#include "WebCommon.h"
-#include "WebFloatPoint.h"
-#include "WebRect.h"
-
-#include <algorithm>
-#include <cmath>
-
-#if WEBKIT_IMPLEMENTATION
-#include "FloatQuad.h"
-#endif
-
-namespace WebKit {
-
-struct WebFloatQuad {
-    WebFloatPoint p[4];
-
-    WebFloatQuad()
-    {
-    }
-
-    WebFloatQuad(const WebFloatPoint& p0, const WebFloatPoint& p1, const WebFloatPoint& p2, const WebFloatPoint& p3)
-    {
-        p[0] = p0;
-        p[1] = p1;
-        p[2] = p2;
-        p[3] = p3;
-    }
-
-    WEBKIT_EXPORT WebRect enclosingRect() const;
-
-#if WEBKIT_IMPLEMENTATION
-    WebFloatQuad& operator=(const WebCore::FloatQuad& q)
-    {
-        p[0] = q.p1();
-        p[1] = q.p2();
-        p[2] = q.p3();
-        p[3] = q.p4();
-        return *this;
-    }
-    WebFloatQuad(const WebCore::FloatQuad& q)
-    {
-        *this = q;
-    }
-#endif
-};
-
-} // namespace WebKit
-
-#endif
+#include "../../../../Platform/chromium/public/WebFloatQuad.h"
index a883513fcdac543e9003772e542205b21c73ba03..c6dd54fdbb70016e415bbe1dd728434b91301688 100644 (file)
 /*
- * Copyright (C) 2010 Google Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * modification, are permitted provided that the following conditions
+ * are met:
  *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * 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.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * 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
- * OWNER 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.
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
  */
 
-#ifndef WebFloatRect_h
-#define WebFloatRect_h
-
-#include "WebCommon.h"
-
-#if WEBKIT_IMPLEMENTATION
-#include "FloatRect.h"
-#endif
-
-namespace WebKit {
-
-struct WebFloatRect {
-    float x;
-    float y;
-    float width;
-    float height;
-
-    bool isEmpty() const { return width <= 0 || height <= 0; }
-
-    WebFloatRect()
-        : x(0.0f)
-        , y(0.0f)
-        , width(0.0f)
-        , height(0.0f)
-    {
-    }
-
-    WebFloatRect(float x, float y, float width, float height)
-        : x(x)
-        , y(y)
-        , width(width)
-        , height(height)
-    {
-    }
-
-#if WEBKIT_IMPLEMENTATION
-    WebFloatRect(const WebCore::FloatRect& r)
-        : x(r.x())
-        , y(r.y())
-        , width(r.width())
-        , height(r.height())
-    {
-    }
-
-    WebFloatRect& operator=(const WebCore::FloatRect& r)
-    {
-        x = r.x();
-        y = r.y();
-        width = r.width();
-        height = r.height();
-        return *this;
-    }
-
-    operator WebCore::FloatRect() const
-    {
-        return WebCore::FloatRect(x, y, width, height);
-    }
-#endif
-};
-
-inline bool operator==(const WebFloatRect& a, const WebFloatRect& b)
-{
-    return a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height;
-}
-
-inline bool operator!=(const WebFloatRect& a, const WebFloatRect& b)
-{
-    return !(a == b);
-}
-
-} // namespace WebKit
-
-#endif
+#include "../../../../Platform/chromium/public/WebFloatRect.h"
index 766236398cbc703760c8a7cf9a04e2c9738f930f..3e64e43cee9aa33298656eed965a0141906d9efd 100644 (file)
 /*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * modification, are permitted provided that the following conditions
+ * are met:
  *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * 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.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * 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
- * OWNER 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.
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
  */
 
-#ifndef WebPoint_h
-#define WebPoint_h
+#include "../../../../Platform/chromium/public/WebPoint.h"
 
-#include "WebCommon.h"
-
-#if WEBKIT_IMPLEMENTATION
-#include "IntPoint.h"
-#else
-#include <ui/gfx/point.h>
-#endif
-
-namespace WebKit {
-
-struct WebPoint {
-    int x;
-    int y;
-
-    WebPoint()
-        : x(0)
-        , y(0)
-    {
-    }
-
-    WebPoint(int x, int y)
-        : x(x)
-        , y(y)
-    {
-    }
-
-#if WEBKIT_IMPLEMENTATION
-    WebPoint(const WebCore::IntPoint& p)
-        : x(p.x())
-        , y(p.y())
-    {
-    }
-
-    WebPoint& operator=(const WebCore::IntPoint& p)
-    {
-        x = p.x();
-        y = p.y();
-        return *this;
-    }
-
-    operator WebCore::IntPoint() const
-    {
-        return WebCore::IntPoint(x, y);
-    }
-#else
-    WebPoint(const gfx::Point& p)
-        : x(p.x())
-        , y(p.y())
-    {
-    }
-
-    WebPoint& operator=(const gfx::Point& p)
-    {
-        x = p.x();
-        y = p.y();
-        return *this;
-    }
-
-    operator gfx::Point() const
-    {
-        return gfx::Point(x, y);
-    }
-#endif
-};
-
-inline bool operator==(const WebPoint& a, const WebPoint& b)
-{
-    return a.x == b.x && a.y == b.y;
-}
-
-inline bool operator!=(const WebPoint& a, const WebPoint& b)
-{
-    return !(a == b);
-}
-
-} // namespace WebKit
-
-#endif
index 045b7a8eb379c4dd6c10e824cd1b2284844ec5a8..c1ced007195c469c3d39aba4798201a128444538 100644 (file)
 /*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * modification, are permitted provided that the following conditions
+ * are met:
  *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * 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.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * 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
- * OWNER 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.
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
  */
 
-#ifndef WebRect_h
-#define WebRect_h
-
-#include "WebCommon.h"
-
-#if WEBKIT_IMPLEMENTATION
-#include "IntRect.h"
-#else
-#include <ui/gfx/rect.h>
-#endif
-
-namespace WebKit {
-
-struct WebRect {
-    int x;
-    int y;
-    int width;
-    int height;
-
-    bool isEmpty() const { return width <= 0 || height <= 0; }
-
-    WebRect()
-        : x(0)
-        , y(0)
-        , width(0)
-        , height(0)
-    {
-    }
-
-    WebRect(int x, int y, int width, int height)
-        : x(x)
-        , y(y)
-        , width(width)
-        , height(height)
-    {
-    }
-
-#if WEBKIT_IMPLEMENTATION
-    WebRect(const WebCore::IntRect& r)
-        : x(r.x())
-        , y(r.y())
-        , width(r.width())
-        , height(r.height())
-    {
-    }
-
-    WebRect& operator=(const WebCore::IntRect& r)
-    {
-        x = r.x();
-        y = r.y();
-        width = r.width();
-        height = r.height();
-        return *this;
-    }
-
-    operator WebCore::IntRect() const
-    {
-        return WebCore::IntRect(x, y, width, height);
-    }
-#else
-    WebRect(const gfx::Rect& r)
-        : x(r.x())
-        , y(r.y())
-        , width(r.width())
-        , height(r.height())
-    {
-    }
-
-    WebRect& operator=(const gfx::Rect& r)
-    {
-        x = r.x();
-        y = r.y();
-        width = r.width();
-        height = r.height();
-        return *this;
-    }
-
-    operator gfx::Rect() const
-    {
-        return gfx::Rect(x, y, width, height);
-    }
-#endif
-};
-
-inline bool operator==(const WebRect& a, const WebRect& b)
-{
-    return a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height;
-}
-
-inline bool operator!=(const WebRect& a, const WebRect& b)
-{
-    return !(a == b);
-}
-
-} // namespace WebKit
-
-#endif
+#include "../../../../Platform/chromium/public/WebRect.h"
index 94a53654d5874142230ff3ee8613ebecf556aeee..b8526a118e73bdac183dc0e154c09abaeabb6fda 100644 (file)
 /*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2012 Google Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * modification, are permitted provided that the following conditions
+ * are met:
  *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * 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.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * 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
- * OWNER 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.
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
  */
 
-#ifndef WebSize_h
-#define WebSize_h
-
-#include "WebCommon.h"
-
-#if WEBKIT_IMPLEMENTATION
-#include "IntSize.h"
-#else
-#include <ui/gfx/size.h>
-#endif
-
-namespace WebKit {
-
-struct WebSize {
-    int width;
-    int height;
-
-    bool isEmpty() const { return width <= 0 || height <= 0; }
-
-    WebSize()
-        : width(0)
-        , height(0)
-    {
-    }
-
-    WebSize(int width, int height)
-        : width(width)
-        , height(height)
-    {
-    }
-
-#if WEBKIT_IMPLEMENTATION
-    WebSize(const WebCore::IntSize& s)
-        : width(s.width())
-        , height(s.height())
-    {
-    }
-
-    WebSize& operator=(const WebCore::IntSize& s)
-    {
-        width = s.width();
-        height = s.height();
-        return *this;
-    }
-
-    operator WebCore::IntSize() const
-    {
-        return WebCore::IntSize(width, height);
-    }
-#else
-    WebSize(const gfx::Size& s)
-        : width(s.width())
-        , height(s.height())
-    {
-    }
-
-    WebSize& operator=(const gfx::Size& s)
-    {
-        width = s.width();
-        height = s.height();
-        return *this;
-    }
-
-    operator gfx::Size() const
-    {
-        return gfx::Size(width, height);
-    }
-#endif
-};
-
-inline bool operator==(const WebSize& a, const WebSize& b)
-{
-    return a.width == b.width && a.height == b.height;
-}
-
-inline bool operator!=(const WebSize& a, const WebSize& b)
-{
-    return !(a == b);
-}
-
-} // namespace WebKit
-
-#endif
+#include "../../../../Platform/chromium/public/WebSize.h"