Bug 898443 - Add a parent pointer to the AsyncPanZoomController class. r=BenWa

This commit is contained in:
Kartikaya Gupta 2013-08-21 12:03:02 -04:00
parent ac6c77d91b
commit 6065102f13
2 changed files with 17 additions and 2 deletions

View File

@ -255,6 +255,7 @@ AsyncPanZoomController::Destroy()
}
mPrevSibling = nullptr;
mLastChild = nullptr;
mParent = nullptr;
}
/* static */float

View File

@ -616,13 +616,27 @@ private:
* instance.
*/
public:
void SetLastChild(AsyncPanZoomController* child) { mLastChild = child; }
void SetPrevSibling(AsyncPanZoomController* sibling) { mPrevSibling = sibling; }
void SetLastChild(AsyncPanZoomController* child) {
mLastChild = child;
if (child) {
child->mParent = this;
}
}
void SetPrevSibling(AsyncPanZoomController* sibling) {
mPrevSibling = sibling;
if (sibling) {
sibling->mParent = mParent;
}
}
AsyncPanZoomController* GetLastChild() const { return mLastChild; }
AsyncPanZoomController* GetPrevSibling() const { return mPrevSibling; }
AsyncPanZoomController* GetParent() const { return mParent; }
private:
nsRefPtr<AsyncPanZoomController> mLastChild;
nsRefPtr<AsyncPanZoomController> mPrevSibling;
nsRefPtr<AsyncPanZoomController> mParent;
/* The functions and members in this section are used to maintain the
* area that this APZC instance is responsible for. This is used when