Commit b19539d8 authored by ch.dumez@samsung.com's avatar ch.dumez@samsung.com

Store IdTargetObserver::m_registry as a reference

Store IdTargetObserver::m_registry as a reference instead of a pointer.
This makes the code look safer and gets rid of an unnecessary null check.

Also make IdTargetObserverRegistry non copyable to protect against bad
assignments to references.

R=adamk@chromium.org, adamk, rwlbuis

Review URL: https://codereview.chromium.org/183463004

git-svn-id: svn://svn.chromium.org/blink/trunk@168419 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent bf826990
......@@ -31,16 +31,15 @@
namespace WebCore {
IdTargetObserver::IdTargetObserver(IdTargetObserverRegistry& registry, const AtomicString& id)
: m_registry(&registry)
: m_registry(registry)
, m_id(id)
{
m_registry->addObserver(m_id, this);
m_registry.addObserver(m_id, this);
}
IdTargetObserver::~IdTargetObserver()
{
if (m_registry)
m_registry->removeObserver(m_id, this);
m_registry.removeObserver(m_id, this);
}
} // namespace WebCore
......@@ -41,7 +41,7 @@ protected:
IdTargetObserver(IdTargetObserverRegistry&, const AtomicString& id);
private:
IdTargetObserverRegistry* m_registry;
IdTargetObserverRegistry& m_registry;
AtomicString m_id;
};
......
......@@ -37,7 +37,7 @@ namespace WebCore {
class IdTargetObserver;
class IdTargetObserverRegistry {
WTF_MAKE_FAST_ALLOCATED;
WTF_MAKE_NONCOPYABLE(IdTargetObserverRegistry); WTF_MAKE_FAST_ALLOCATED;
friend class IdTargetObserver;
public:
static PassOwnPtr<IdTargetObserverRegistry> create();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment