Unreviewed, rolling out r235129.
authordavid_fenton@apple.com <david_fenton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2018 23:36:02 +0000 (23:36 +0000)
committerdavid_fenton@apple.com <david_fenton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2018 23:36:02 +0000 (23:36 +0000)
broke internal builds

Reverted changeset:

"Allow creating WeakPtrs to const objects"
https://bugs.webkit.org/show_bug.cgi?id=188785
https://trac.webkit.org/changeset/235129

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

Source/WTF/ChangeLog
Source/WTF/wtf/WeakPtr.h
Source/WebCore/ChangeLog
Source/WebCore/css/MediaQueryEvaluator.cpp
Source/WebCore/css/MediaQueryEvaluator.h
Source/WebCore/rendering/FloatingObjects.cpp
Source/WebCore/rendering/FloatingObjects.h
Tools/ChangeLog
Tools/TestWebKitAPI/Tests/WTF/WeakPtr.cpp

index 124be2f..77e5ab0 100644 (file)
@@ -1,3 +1,15 @@
+2018-08-23  David Fenton  <david_fenton@apple.com>
+
+        Unreviewed, rolling out r235129.
+
+        broke internal builds
+
+        Reverted changeset:
+
+        "Allow creating WeakPtrs to const objects"
+        https://bugs.webkit.org/show_bug.cgi?id=188785
+        https://trac.webkit.org/changeset/235129
+
 2018-08-23  Don Olmstead  <don.olmstead@sony.com>
 
         [CMake] Add HAVE_MALLOC_TRIM definition
index e524225..56f3866 100644 (file)
@@ -111,13 +111,6 @@ public:
         return { makeRef(*m_ref) };
     }
 
-    WeakPtr<const T> createWeakPtr(const T& ptr) const
-    {
-        if (!m_ref)
-            m_ref = WeakReference<T>::create(const_cast<T*>(&ptr));
-        return { makeRef(reinterpret_cast<WeakReference<const T>&>(*m_ref)) };
-    }
-
     void revokeAll()
     {
         if (!m_ref)
index c48feb6..57b14a1 100644 (file)
@@ -1,3 +1,15 @@
+2018-08-23  David Fenton  <david_fenton@apple.com>
+
+        Unreviewed, rolling out r235129.
+
+        broke internal builds
+
+        Reverted changeset:
+
+        "Allow creating WeakPtrs to const objects"
+        https://bugs.webkit.org/show_bug.cgi?id=188785
+        https://trac.webkit.org/changeset/235129
+
 2018-08-23  Daniel Bates  <dabates@apple.com>
 
         [iOS] Test editing/undo/replace-text-in-node-preserving-markers-crash.html crashes
index 0fb9e99..06368c0 100644 (file)
@@ -110,7 +110,7 @@ MediaQueryEvaluator::MediaQueryEvaluator(const String& acceptedMediaType, bool m
 
 MediaQueryEvaluator::MediaQueryEvaluator(const String& acceptedMediaType, const Document& document, const RenderStyle* style)
     : m_mediaType(acceptedMediaType)
-    , m_document(makeWeakPtr(document))
+    , m_document(makeWeakPtr(const_cast<Document&>(document)))
     , m_style(style)
 {
 }
@@ -787,7 +787,7 @@ bool MediaQueryEvaluator::evaluate(const MediaQueryExpression& expression) const
     if (!m_document)
         return m_fallbackResult;
 
-    auto& document = *m_document;
+    Document& document = *m_document;
     auto* frame = document.frame();
     if (!frame || !frame->view() || !m_style)
         return m_fallbackResult;
index 08de8ee..8be2f0e 100644 (file)
@@ -75,7 +75,7 @@ public:
 
 private:
     String m_mediaType;
-    WeakPtr<const Document> m_document;
+    WeakPtr<Document> m_document;
     const RenderStyle* m_style { nullptr };
     bool m_fallbackResult { false };
 };
index 4338bd3..3f7db1b 100644 (file)
@@ -124,7 +124,7 @@ class ComputeFloatOffsetAdapter {
 public:
     typedef FloatingObjectInterval IntervalType;
 
-    ComputeFloatOffsetAdapter(const RenderBlockFlow& renderer, LayoutUnit lineTop, LayoutUnit lineBottom, LayoutUnit offset)
+    ComputeFloatOffsetAdapter(RenderBlockFlow& renderer, LayoutUnit lineTop, LayoutUnit lineBottom, LayoutUnit offset)
         : m_renderer(makeWeakPtr(renderer))
         , m_lineTop(lineTop)
         , m_lineBottom(lineBottom)
@@ -144,7 +144,7 @@ public:
 protected:
     virtual bool updateOffsetIfNeeded(const FloatingObject&) = 0;
 
-    WeakPtr<const RenderBlockFlow> m_renderer;
+    WeakPtr<RenderBlockFlow> m_renderer;
     LayoutUnit m_lineTop;
     LayoutUnit m_lineBottom;
     LayoutUnit m_offset;
@@ -154,7 +154,7 @@ protected:
 template <FloatingObject::Type FloatTypeValue>
 class ComputeFloatOffsetForFloatLayoutAdapter : public ComputeFloatOffsetAdapter<FloatTypeValue> {
 public:
-    ComputeFloatOffsetForFloatLayoutAdapter(const RenderBlockFlow& renderer, LayoutUnit lineTop, LayoutUnit lineBottom, LayoutUnit offset)
+    ComputeFloatOffsetForFloatLayoutAdapter(RenderBlockFlow& renderer, LayoutUnit lineTop, LayoutUnit lineBottom, LayoutUnit offset)
         : ComputeFloatOffsetAdapter<FloatTypeValue>(renderer, lineTop, lineBottom, offset)
     {
     }
@@ -170,7 +170,7 @@ protected:
 template <FloatingObject::Type FloatTypeValue>
 class ComputeFloatOffsetForLineLayoutAdapter : public ComputeFloatOffsetAdapter<FloatTypeValue> {
 public:
-    ComputeFloatOffsetForLineLayoutAdapter(const RenderBlockFlow& renderer, LayoutUnit lineTop, LayoutUnit lineBottom, LayoutUnit offset)
+    ComputeFloatOffsetForLineLayoutAdapter(RenderBlockFlow& renderer, LayoutUnit lineTop, LayoutUnit lineBottom, LayoutUnit offset)
         : ComputeFloatOffsetAdapter<FloatTypeValue>(renderer, lineTop, lineBottom, offset)
     {
     }
@@ -185,7 +185,7 @@ class FindNextFloatLogicalBottomAdapter {
 public:
     typedef FloatingObjectInterval IntervalType;
 
-    FindNextFloatLogicalBottomAdapter(const RenderBlockFlow& renderer, LayoutUnit belowLogicalHeight)
+    FindNextFloatLogicalBottomAdapter(RenderBlockFlow& renderer, LayoutUnit belowLogicalHeight)
         : m_renderer(makeWeakPtr(renderer))
         , m_belowLogicalHeight(belowLogicalHeight)
     {
@@ -199,7 +199,7 @@ public:
     LayoutUnit nextShapeLogicalBottom() const { return m_nextShapeLogicalBottom.value_or(nextLogicalBottom()); }
 
 private:
-    WeakPtr<const RenderBlockFlow> m_renderer;
+    WeakPtr<RenderBlockFlow> m_renderer;
     LayoutUnit m_belowLogicalHeight;
     std::optional<LayoutUnit> m_nextLogicalBottom;
     std::optional<LayoutUnit> m_nextShapeLogicalBottom;
@@ -250,7 +250,7 @@ FloatingObjects::FloatingObjects(const RenderBlockFlow& renderer)
     : m_leftObjectsCount(0)
     , m_rightObjectsCount(0)
     , m_horizontalWritingMode(renderer.isHorizontalWritingMode())
-    , m_renderer(makeWeakPtr(renderer))
+    , m_renderer(makeWeakPtr(const_cast<RenderBlockFlow&>(renderer)))
 {
 }
 
index e5ecf9a..11e68a7 100644 (file)
@@ -161,7 +161,7 @@ public:
     LayoutUnit findNextFloatLogicalBottomBelowForBlock(LayoutUnit logicalHeight);
 
 private:
-    const RenderBlockFlow& renderer() const { return *m_renderer; }
+    RenderBlockFlow& renderer() const { return *m_renderer; }
     void computePlacedFloatsTree();
     const FloatingObjectTree* placedFloatsTree();
     void increaseObjectsCount(FloatingObject::Type);
@@ -173,7 +173,7 @@ private:
     unsigned m_leftObjectsCount;
     unsigned m_rightObjectsCount;
     bool m_horizontalWritingMode;
-    WeakPtr<const RenderBlockFlow> m_renderer;
+    WeakPtr<RenderBlockFlow> m_renderer;
 };
 
 } // namespace WebCore
index 3bb19b8..7c4cfbd 100644 (file)
@@ -1,3 +1,15 @@
+2018-08-23  David Fenton  <david_fenton@apple.com>
+
+        Unreviewed, rolling out r235129.
+
+        broke internal builds
+
+        Reverted changeset:
+
+        "Allow creating WeakPtrs to const objects"
+        https://bugs.webkit.org/show_bug.cgi?id=188785
+        https://trac.webkit.org/changeset/235129
+
 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
 
         API tests should output json results
index 2f8ae07..ee259ba 100644 (file)
@@ -206,7 +206,7 @@ public:
         return 0;
     }
 
-    auto& weakPtrFactory() const { return m_weakPtrFactory; }
+    auto& weakPtrFactory() { return m_weakPtrFactory; }
 
 private:
     WeakPtrFactory<Base> m_weakPtrFactory;
@@ -284,38 +284,4 @@ TEST(WTF_WeakPtr, DerivedConstructAndAssign)
     }
 }
 
-TEST(WTF_WeakPtr, DerivedConstructAndAssignConst)
-{
-    const Derived derived;
-    {
-        auto derivedWeakPtr = makeWeakPtr(derived);
-        WeakPtr<const Base> baseWeakPtr { WTFMove(derivedWeakPtr) };
-        EXPECT_EQ(baseWeakPtr.get(), &derived);
-        EXPECT_NULL(derivedWeakPtr.get());
-    }
-
-    {
-        auto derivedWeakPtr = makeWeakPtr(derived);
-        WeakPtr<const Base> baseWeakPtr { derivedWeakPtr };
-        EXPECT_EQ(baseWeakPtr.get(), &derived);
-        EXPECT_EQ(derivedWeakPtr.get(), &derived);
-    }
-
-    {
-        auto derivedWeakPtr = makeWeakPtr(derived);
-        WeakPtr<const Base> baseWeakPtr;
-        baseWeakPtr = WTFMove(derivedWeakPtr);
-        EXPECT_EQ(baseWeakPtr.get(), &derived);
-        EXPECT_NULL(derivedWeakPtr.get());
-    }
-
-    {
-        auto derivedWeakPtr = makeWeakPtr(derived);
-        WeakPtr<const Base> baseWeakPtr;
-        baseWeakPtr = derivedWeakPtr;
-        EXPECT_EQ(baseWeakPtr.get(), &derived);
-        EXPECT_EQ(derivedWeakPtr.get(), &derived);
-    }
-}
-
 } // namespace TestWebKitAPI