⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 280594 in webkit


Ignore:
Timestamp:
Aug 3, 2021, 9:42:24 AM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Use WeakPtr instead of manual raw pointer management in URLSearchParams
https://bugs.webkit.org/show_bug.cgi?id=228723

Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-03
Reviewed by Chris Dumez.

This is less error prone.

  • html/DOMURL.cpp:

(WebCore::DOMURL::~DOMURL): Deleted.

  • html/DOMURL.h:
  • html/URLSearchParams.cpp:

(WebCore::URLSearchParams::URLSearchParams):

  • html/URLSearchParams.h:

(WebCore::URLSearchParams::associatedURLDestroyed): Deleted.

Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r280593 r280594  
     12021-08-03  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use WeakPtr instead of manual raw pointer management in URLSearchParams
     4        https://bugs.webkit.org/show_bug.cgi?id=228723
     5
     6        Reviewed by Chris Dumez.
     7
     8        This is less error prone.
     9
     10        * html/DOMURL.cpp:
     11        (WebCore::DOMURL::~DOMURL): Deleted.
     12        * html/DOMURL.h:
     13        * html/URLSearchParams.cpp:
     14        (WebCore::URLSearchParams::URLSearchParams):
     15        * html/URLSearchParams.h:
     16        (WebCore::URLSearchParams::associatedURLDestroyed): Deleted.
     17
    1182021-08-03  Youenn Fablet  <youenn@apple.com>
    219
  • trunk/Source/WebCore/html/DOMURL.cpp

    r279681 r280594  
    6868}
    6969
    70 DOMURL::~DOMURL()
    71 {
    72     if (m_searchParams)
    73         m_searchParams->associatedURLDestroyed();
    74 }
     70DOMURL::~DOMURL() = default;
    7571
    7672ExceptionOr<void> DOMURL::setHref(const String& url)
  • trunk/Source/WebCore/html/DOMURL.h

    r266748 r280594  
    3030#include "URLDecomposition.h"
    3131#include <wtf/URL.h>
     32#include <wtf/WeakPtr.h>
    3233
    3334namespace WebCore {
     
    3839class URLSearchParams;
    3940
    40 class DOMURL final : public RefCounted<DOMURL>, public URLDecomposition {
     41class DOMURL final : public RefCounted<DOMURL>, public CanMakeWeakPtr<DOMURL>, public URLDecomposition {
    4142public:
    4243    static ExceptionOr<Ref<DOMURL>> create(const String& url, const String& base);
  • trunk/Source/WebCore/html/URLSearchParams.cpp

    r278253 r280594  
    3232
    3333URLSearchParams::URLSearchParams(const String& init, DOMURL* associatedURL)
    34     : m_associatedURL(associatedURL)
     34    : m_associatedURL(makeWeakPtr(associatedURL))
    3535    , m_pairs(init.startsWith('?') ? WTF::URLParser::parseURLEncodedForm(StringView(init).substring(1)) : WTF::URLParser::parseURLEncodedForm(init))
    3636{
  • trunk/Source/WebCore/html/URLSearchParams.h

    r278253 r280594  
    2828#include <wtf/Variant.h>
    2929#include <wtf/Vector.h>
     30#include <wtf/WeakPtr.h>
    3031#include <wtf/text/WTFString.h>
    3132
     
    4243    }
    4344
    44     void associatedURLDestroyed() { m_associatedURL = nullptr; }
    4545    void append(const String& name, const String& value);
    4646    void remove(const String& name);
     
    7070    void updateURL();
    7171
    72     DOMURL* m_associatedURL { nullptr };
     72    WeakPtr<DOMURL> m_associatedURL;
    7373    Vector<WTF::KeyValuePair<String, String>> m_pairs;
    7474};
Note: See TracChangeset for help on using the changeset viewer.