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

Issue 18811006: Fixing CustomEvent.detail leaks. (Closed)

Created:
7 years, 5 months ago by blois
Modified:
7 years, 5 months ago
Reviewers:
vsm
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Fixing CustomEvent.detail leaks. Basically CustomEvent.detail does no conversion of objects and will pass JS objects through unmodified. This fix restricts CustomEvent.detail for Dart down to serialized script values, but JS allows anything (which can lead to memory leaks). With this fix, CustomEvent.detail is essentially handled similar to MessageEvent.data. BUG=https://code.google.com/p/dart/issues/detail?id=6220 R=vsm@google.com Committed: https://code.google.com/p/dart/source/detail?r=24884

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -22 lines) Patch
M sdk/lib/html/dart2js/html_dart2js.dart View 2 chunks +6 lines, -2 lines 0 comments Download
M sdk/lib/html/dartium/html_dartium.dart View 1 chunk +2 lines, -1 line 2 comments Download
M tests/html/event_customevent_test.dart View 2 chunks +22 lines, -18 lines 0 comments Download
M tools/dom/scripts/generator.py View 1 chunk +4 lines, -0 lines 0 comments Download
M tools/dom/templates/html/impl/impl_CustomEvent.darttemplate View 1 chunk +5 lines, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
blois
7 years, 5 months ago (2013-07-10 18:47:50 UTC) #1
vsm
lgtm https://codereview.chromium.org/18811006/diff/1/sdk/lib/html/dartium/html_dartium.dart File sdk/lib/html/dartium/html_dartium.dart (left): https://codereview.chromium.org/18811006/diff/1/sdk/lib/html/dartium/html_dartium.dart#oldcode6545 sdk/lib/html/dartium/html_dartium.dart:6545: e.$dom_initCustomEvent(type, canBubble, cancelable, detail); Should the Dartium version ...
7 years, 5 months ago (2013-07-10 19:06:40 UTC) #2
blois
https://codereview.chromium.org/18811006/diff/1/sdk/lib/html/dartium/html_dartium.dart File sdk/lib/html/dartium/html_dartium.dart (left): https://codereview.chromium.org/18811006/diff/1/sdk/lib/html/dartium/html_dartium.dart#oldcode6545 sdk/lib/html/dartium/html_dartium.dart:6545: e.$dom_initCustomEvent(type, canBubble, cancelable, detail); On 2013/07/10 19:06:40, vsm wrote: ...
7 years, 5 months ago (2013-07-10 20:10:46 UTC) #3
blois
Committed patchset #1 manually as r24884 (presubmit successful).
7 years, 5 months ago (2013-07-10 20:12:31 UTC) #4
vsm
7 years, 5 months ago (2013-07-10 20:12:37 UTC) #5
Message was sent while issue was closed.
On 2013/07/10 20:10:46, blois wrote:
>
https://codereview.chromium.org/18811006/diff/1/sdk/lib/html/dartium/html_dar...
> File sdk/lib/html/dartium/html_dartium.dart (left):
> 
>
https://codereview.chromium.org/18811006/diff/1/sdk/lib/html/dartium/html_dar...
> sdk/lib/html/dartium/html_dartium.dart:6545: e.$dom_initCustomEvent(type,
> canBubble, cancelable, detail);
> On 2013/07/10 19:06:40, vsm wrote:
> > Should the Dartium version being doing a conversion also?  Or is it already
> > doing it in C++?
> 
> Dartium is already doing it (tests pass on Dartium), generated code for the
> constructor is:
> 
>   ScriptValue detailArg =
> DartUtilities::dartToScriptValue(Dart_GetNativeArgument(args, 4), exception);
>   if (exception)
>       goto fail;
> 
>   receiver->initCustomEvent(typeArg, canBubbleArg, cancelableArg, detailArg);
> 
> Also the getter for detail does a similar conversion.

Thanks, still lgtm.

Powered by Google App Engine
This is Rietveld 408576698