From 5e0dd5c687dabb135ede4fe1b1bd77c2121287bb Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Wed, 23 Apr 2014 11:20:12 +0800 Subject: [PATCH] Remove from notification center when web contents is destroyed. --- brightray/browser/inspectable_web_contents_view_mac.h | 1 + brightray/browser/inspectable_web_contents_view_mac.mm | 4 ++++ brightray/browser/mac/bry_inspectable_web_contents_view.h | 1 + brightray/browser/mac/bry_inspectable_web_contents_view.mm | 4 ++++ 4 files changed, 10 insertions(+) diff --git a/brightray/browser/inspectable_web_contents_view_mac.h b/brightray/browser/inspectable_web_contents_view_mac.h index 86cc78221784..927a91a362d6 100644 --- a/brightray/browser/inspectable_web_contents_view_mac.h +++ b/brightray/browser/inspectable_web_contents_view_mac.h @@ -15,6 +15,7 @@ class InspectableWebContentsViewMac : public InspectableWebContentsView { public: explicit InspectableWebContentsViewMac( InspectableWebContentsImpl* inspectable_web_contents_impl); + virtual ~InspectableWebContentsViewMac(); virtual gfx::NativeView GetNativeView() const OVERRIDE; virtual void ShowDevTools() OVERRIDE; diff --git a/brightray/browser/inspectable_web_contents_view_mac.mm b/brightray/browser/inspectable_web_contents_view_mac.mm index 95ed74f2dbdb..54ad9f194048 100644 --- a/brightray/browser/inspectable_web_contents_view_mac.mm +++ b/brightray/browser/inspectable_web_contents_view_mac.mm @@ -17,6 +17,10 @@ InspectableWebContentsViewMac::InspectableWebContentsViewMac(InspectableWebConte view_([[BRYInspectableWebContentsView alloc] initWithInspectableWebContentsViewMac:this]) { } +InspectableWebContentsViewMac::~InspectableWebContentsViewMac() { + [view_ removeFromNotificationCenter]; +} + gfx::NativeView InspectableWebContentsViewMac::GetNativeView() const { return view_.get(); } diff --git a/brightray/browser/mac/bry_inspectable_web_contents_view.h b/brightray/browser/mac/bry_inspectable_web_contents_view.h index 49eff626321d..5c17e6c0165c 100644 --- a/brightray/browser/mac/bry_inspectable_web_contents_view.h +++ b/brightray/browser/mac/bry_inspectable_web_contents_view.h @@ -8,6 +8,7 @@ BRYInspectableWebContentsViewPrivate *_private; } +- (void)removeFromNotificationCenter; - (IBAction)showDevTools:(id)sender; @end diff --git a/brightray/browser/mac/bry_inspectable_web_contents_view.mm b/brightray/browser/mac/bry_inspectable_web_contents_view.mm index f193f7ef7650..edc455c2fd7f 100644 --- a/brightray/browser/mac/bry_inspectable_web_contents_view.mm +++ b/brightray/browser/mac/bry_inspectable_web_contents_view.mm @@ -76,6 +76,10 @@ void SetActive(content::WebContents* web_contents, bool active) { [super dealloc]; } +- (void)removeFromNotificationCenter { + [NSNotificationCenter.defaultCenter removeObserver:self]; +} + - (IBAction)showDevTools:(id)sender { _private->inspectableWebContentsView->inspectable_web_contents()->ShowDevTools(); }