| Index: chrome/browser/ui/cocoa/tracking_area.mm
|
| diff --git a/chrome/browser/ui/cocoa/tracking_area.mm b/chrome/browser/ui/cocoa/tracking_area.mm
|
| index cd3e9ed7530e6bd86047b90da328f8711168dcfb..ac638b853f71536e4106261823218d8639964b2f 100644
|
| --- a/chrome/browser/ui/cocoa/tracking_area.mm
|
| +++ b/chrome/browser/ui/cocoa/tracking_area.mm
|
| @@ -92,6 +92,7 @@
|
| }
|
|
|
| - (void)dealloc {
|
| + [self clearOwner];
|
| [[NSNotificationCenter defaultCenter] removeObserver:self];
|
| [super dealloc];
|
| }
|
| @@ -114,3 +115,21 @@
|
| }
|
|
|
| @end
|
| +
|
| +// Scoper //////////////////////////////////////////////////////////////////////
|
| +
|
| +ScopedCrTrackingArea::ScopedCrTrackingArea(CrTrackingArea* tracking_area)
|
| + : tracking_area_(tracking_area) {
|
| +}
|
| +
|
| +ScopedCrTrackingArea::~ScopedCrTrackingArea() {
|
| + [tracking_area_ clearOwner];
|
| +}
|
| +
|
| +void ScopedCrTrackingArea::reset(CrTrackingArea* tracking_area) {
|
| + tracking_area_.reset(tracking_area);
|
| +}
|
| +
|
| +CrTrackingArea* ScopedCrTrackingArea::get() const {
|
| + return tracking_area_.get();
|
| +}
|
|
|