Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Issue 981703002: Ensure WebContentsObserver.destroy is called (Closed)

Created:
5 years, 9 months ago by jdduke (slow)
Modified:
5 years, 9 months ago
Reviewers:
Ted C
CC:
chromium-reviews, darin-cc_chromium.org, jam, David Trainor- moved to gerrit
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Ensure WebContentsObserver.destroy is called When a Java-based WebContents instance is destroyed, it may yet have Java-based WebContentsObserver instances. Previously, these instances would always see a destroy (formerly detach) call, as they each had a native counterpart. With the introduction of the proxy WebContentsObserver, destroy was not always called, as the remaining observers were simply cleared from the observer list. Explicitly call WebContentsObserver.destroy for these dangling instances, ensuring proper cleanup. BUG=464076 Committed: https://crrev.com/28f5f23899a3131bcd63bf73707479d8fa082c20 Cr-Commit-Position: refs/heads/master@{#319162}

Patch Set 1 #

Total comments: 5

Patch Set 2 : assert #

Patch Set 3 : Fix build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+7 lines, -4 lines) Patch
M content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java View 1 chunk +0 lines, -4 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java View 1 2 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (3 generated)
jdduke (slow)
+tedchoc per earlier review, +dtrainor per offline discussion. This should fix the issue with testTabsAreDestroyedOnModelDestruction.
5 years, 9 months ago (2015-03-04 22:01:28 UTC) #2
jdduke (slow)
https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java File content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java (right): https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java#newcode230 content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java:230: mObservers.clear(); I'm tempted to slap a |assert mObservers.empty()| here...
5 years, 9 months ago (2015-03-04 22:05:42 UTC) #3
Ted C
https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java File content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java (left): https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java#oldcode334 content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java:334: if (!mObserverProxy.hasObservers()) { Why did this get removed? It ...
5 years, 9 months ago (2015-03-04 22:11:53 UTC) #4
Ted C
5 years, 9 months ago (2015-03-04 22:11:54 UTC) #5
jdduke (slow)
https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java File content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java (left): https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java#oldcode334 content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java:334: if (!mObserverProxy.hasObservers()) { On 2015/03/04 22:11:53, Ted C wrote: ...
5 years, 9 months ago (2015-03-04 22:14:17 UTC) #6
Ted C
lgtm https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java File content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java (left): https://codereview.chromium.org/981703002/diff/1/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java#oldcode334 content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java:334: if (!mObserverProxy.hasObservers()) { On 2015/03/04 22:14:17, jdduke wrote: ...
5 years, 9 months ago (2015-03-04 22:17:44 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/981703002/40001
5 years, 9 months ago (2015-03-04 22:42:39 UTC) #10
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 9 months ago (2015-03-04 23:41:23 UTC) #11
commit-bot: I haz the power
5 years, 9 months ago (2015-03-04 23:42:08 UTC) #12
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/28f5f23899a3131bcd63bf73707479d8fa082c20
Cr-Commit-Position: refs/heads/master@{#319162}

Powered by Google App Engine
This is Rietveld 408576698