Title: [295317] branches/safari-613-branch/Source/WebCore
Revision
295317
Author
[email protected]
Date
2022-06-06 19:30:12 -0700 (Mon, 06 Jun 2022)

Log Message

Cherry-pick 753398de3962. rdar://problem/92081823

    Use more smart pointers in Element.cpp
    https://bugs.webkit.org/show_bug.cgi?id=239836

    Patch by Alex Christensen <[email protected]> on 2022-04-28
    Reviewed by Chris Dumez.

    * dom/Element.cpp:
    (WebCore::Element::setScrollLeft):
    (WebCore::Element::setScrollTop):

    Canonical link: https://commits.webkit.org/250083@main
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293569 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-613-branch/Source/WebCore/ChangeLog (295316 => 295317)


--- branches/safari-613-branch/Source/WebCore/ChangeLog	2022-06-07 02:30:09 UTC (rev 295316)
+++ branches/safari-613-branch/Source/WebCore/ChangeLog	2022-06-07 02:30:12 UTC (rev 295317)
@@ -1,5 +1,16 @@
 2022-04-28  Alex Christensen  <[email protected]>
 
+        Use more smart pointers in Element.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=239836
+
+        Reviewed by Chris Dumez.
+
+        * dom/Element.cpp:
+        (WebCore::Element::setScrollLeft):
+        (WebCore::Element::setScrollTop):
+
+2022-04-28  Alex Christensen  <[email protected]>
+
         afterprint event should be scheduled on event loop
         https://bugs.webkit.org/show_bug.cgi?id=239883
 

Modified: branches/safari-613-branch/Source/WebCore/dom/Element.cpp (295316 => 295317)


--- branches/safari-613-branch/Source/WebCore/dom/Element.cpp	2022-06-07 02:30:09 UTC (rev 295316)
+++ branches/safari-613-branch/Source/WebCore/dom/Element.cpp	2022-06-07 02:30:12 UTC (rev 295317)
@@ -1458,7 +1458,7 @@
     options.animated = useSmoothScrolling(ScrollBehavior::Auto, this) ? ScrollIsAnimated::Yes : ScrollIsAnimated::No;
 
     if (document().scrollingElement() == this) {
-        if (auto* frame = documentFrameWithNonNullView()) {
+        if (RefPtr frame = documentFrameWithNonNullView()) {
             IntPoint position(static_cast<int>(newLeft * frame->pageZoomFactor() * frame->frameScaleFactor()), frame->view()->scrollY());
             frame->view()->setScrollPosition(position, options);
         }
@@ -1465,10 +1465,10 @@
         return;
     }
 
-    if (auto* renderer = renderBox()) {
+    if (WeakPtr renderer = renderBox()) {
         int clampedLeft = clampToInteger(newLeft * renderer->style().effectiveZoom());
         renderer->setScrollLeft(clampedLeft, options);
-        if (auto* scrollableArea = renderer->layer() ? renderer->layer()->scrollableArea() : nullptr)
+        if (auto* scrollableArea = renderer && renderer->layer() ? renderer->layer()->scrollableArea() : nullptr)
             scrollableArea->setScrollShouldClearLatchedState(true);
     }
 }
@@ -1481,7 +1481,7 @@
     options.animated = useSmoothScrolling(ScrollBehavior::Auto, this) ? ScrollIsAnimated::Yes : ScrollIsAnimated::No;
 
     if (document().scrollingElement() == this) {
-        if (auto* frame = documentFrameWithNonNullView()) {
+        if (RefPtr frame = documentFrameWithNonNullView()) {
             IntPoint position(frame->view()->scrollX(), static_cast<int>(newTop * frame->pageZoomFactor() * frame->frameScaleFactor()));
             frame->view()->setScrollPosition(position, options);
         }
@@ -1488,10 +1488,10 @@
         return;
     }
 
-    if (auto* renderer = renderBox()) {
+    if (WeakPtr renderer = renderBox()) {
         int clampedTop = clampToInteger(newTop * renderer->style().effectiveZoom());
         renderer->setScrollTop(clampedTop, options);
-        if (auto* scrollableArea = renderer->layer() ? renderer->layer()->scrollableArea() : nullptr)
+        if (auto* scrollableArea = renderer && renderer->layer() ? renderer->layer()->scrollableArea() : nullptr)
             scrollableArea->setScrollShouldClearLatchedState(true);
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to