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

Issue 54833003: Fixing another case of multiple upgrades of a custom element (Closed)

Created:
7 years, 1 month ago by blois
Modified:
7 years, 1 month ago
Reviewers:
vsm, siva
CC:
reviews+dom_dartlang.org
Visibility:
Public.

Description

Fixing another case of multiple upgrades of a custom element The issue here is that when we upgrade a custom element that we create a second wrapper, but when the first wrapper gets GC'd it's clearing out the lookup tables for the new wrapper. The fix is to not clear out the tables if it's no longer associated with the element. The test for this is in https://codereview.chromium.org/55153002/ BUG=14483 R=asiva@google.com, vsm@google.com Committed: https://src.chromium.org/viewvc/multivm?view=rev&revision=1514

Patch Set 1 : #

Total comments: 3

Patch Set 2 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -1 line) Patch
M Source/bindings/dart/DartDOMWrapper.h View 1 1 chunk +8 lines, -1 line 1 comment Download

Messages

Total messages: 6 (0 generated)
blois
https://codereview.chromium.org/54833003/diff/30001/Source/bindings/dart/DartDOMWrapper.h File Source/bindings/dart/DartDOMWrapper.h (right): https://codereview.chromium.org/54833003/diff/30001/Source/bindings/dart/DartDOMWrapper.h#newcode282 Source/bindings/dart/DartDOMWrapper.h:282: if (!Dart_IdentityEquals(Dart_HandleFromWeakPersistent(currentWrapper), Dart_HandleFromWeakPersistent(wrapper))) { Changing the check to: if ...
7 years, 1 month ago (2013-10-31 18:43:07 UTC) #1
vsm
lgtm - siva: can you comment on the better pattern for comparing weak persistent handles?
7 years, 1 month ago (2013-10-31 19:28:49 UTC) #2
siva
lgtm https://codereview.chromium.org/54833003/diff/30001/Source/bindings/dart/DartDOMWrapper.h File Source/bindings/dart/DartDOMWrapper.h (right): https://codereview.chromium.org/54833003/diff/30001/Source/bindings/dart/DartDOMWrapper.h#newcode282 Source/bindings/dart/DartDOMWrapper.h:282: if (!Dart_IdentityEquals(Dart_HandleFromWeakPersistent(currentWrapper), Dart_HandleFromWeakPersistent(wrapper))) { On 2013/10/31 18:43:07, blois ...
7 years, 1 month ago (2013-10-31 19:42:40 UTC) #3
blois
https://codereview.chromium.org/54833003/diff/30001/Source/bindings/dart/DartDOMWrapper.h File Source/bindings/dart/DartDOMWrapper.h (right): https://codereview.chromium.org/54833003/diff/30001/Source/bindings/dart/DartDOMWrapper.h#newcode282 Source/bindings/dart/DartDOMWrapper.h:282: if (!Dart_IdentityEquals(Dart_HandleFromWeakPersistent(currentWrapper), Dart_HandleFromWeakPersistent(wrapper))) { On 2013/10/31 19:42:40, siva wrote: ...
7 years, 1 month ago (2013-10-31 20:24:17 UTC) #4
blois
Committed patchset #2 manually as r1514 (presubmit successful).
7 years, 1 month ago (2013-10-31 20:38:36 UTC) #5
vsm
7 years, 1 month ago (2013-10-31 23:19:43 UTC) #6
Message was sent while issue was closed.
https://codereview.chromium.org/54833003/diff/70001/Source/bindings/dart/Dart...
File Source/bindings/dart/DartDOMWrapper.h (right):

https://codereview.chromium.org/54833003/diff/70001/Source/bindings/dart/Dart...
Source/bindings/dart/DartDOMWrapper.h:280: Dart_WeakPersistentHandle
currentWrapper = Traits::MapTraits::domMap(domData)->get(domObject);
Looking the IDB failures - if they are from this - you'll need a
DartIsolate/ApiScope:

../../dart/runtime/vm/handles_impl.h:99: error: expected:
isolate->no_handle_scope_depth() == 0

Powered by Google App Engine
This is Rietveld 408576698