WebBackForwardListItem::setPageState should receive pageState by rvalue reference
authormcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Jul 2019 20:58:43 +0000 (20:58 +0000)
committermcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Jul 2019 20:58:43 +0000 (20:58 +0000)
https://bugs.webkit.org/show_bug.cgi?id=199535

Reviewed by Alex Christensen

Coverity is complaining here about copying PageState by value in the parameter list. It's
sort of a false positive, in that the PageState really does need to be copied here, so this
is the best we can do. But pass by value and then WTFMove() is a pretty strange way to write
it. Passing by rvalue reference would be better. This makes the copy more clear.

* Shared/WebBackForwardListItem.h:
(WebKit::WebBackForwardListItem::setPageState):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::updateBackForwardItem):

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

Source/WebKit/ChangeLog
Source/WebKit/Shared/WebBackForwardListItem.h
Source/WebKit/UIProcess/WebProcessProxy.cpp

index 3285e6f..58a5249 100644 (file)
@@ -1,3 +1,20 @@
+2019-07-12  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        WebBackForwardListItem::setPageState should receive pageState by rvalue reference
+        https://bugs.webkit.org/show_bug.cgi?id=199535
+
+        Reviewed by Alex Christensen
+
+        Coverity is complaining here about copying PageState by value in the parameter list. It's
+        sort of a false positive, in that the PageState really does need to be copied here, so this
+        is the best we can do. But pass by value and then WTFMove() is a pretty strange way to write
+        it. Passing by rvalue reference would be better. This makes the copy more clear.
+
+        * Shared/WebBackForwardListItem.h:
+        (WebKit::WebBackForwardListItem::setPageState):
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::updateBackForwardItem):
+
 2019-07-12  Youenn Fablet  <youenn@apple.com>
 
         Add release logging for quota checks
index 3b9b0bf..3a45e1c 100644 (file)
@@ -60,7 +60,7 @@ public:
     WebCore::ProcessIdentifier lastProcessIdentifier() const { return m_lastProcessIdentifier; }
     void setLastProcessIdentifier(const WebCore::ProcessIdentifier& identifier) { m_lastProcessIdentifier = identifier; }
 
-    void setPageState(PageState pageState) { m_itemState.pageState = WTFMove(pageState); }
+    void setPageState(PageState&& pageState) { m_itemState.pageState = WTFMove(pageState); }
     const PageState& pageState() const { return m_itemState.pageState; }
 
     const String& originalURL() const { return m_itemState.pageState.mainFrameState.originalURLString; }
index 404b438..ea42f0c 100644 (file)
@@ -592,7 +592,7 @@ void WebProcessProxy::updateBackForwardItem(const BackForwardListItemState& item
     if (!item || !isAllowedToUpdateBackForwardItem(*item))
         return;
 
-    item->setPageState(itemState.pageState);
+    item->setPageState(PageState { itemState.pageState });
 }
 
 #if ENABLE(NETSCAPE_PLUGIN_API)