Last Comment Bug 775365 - Fill out the rooting API
: Fill out the rooting API
Status: RESOLVED FIXED
[js:t]
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: mozilla17
Assigned To: Steve Fink [:sfink] [:s:] (PTO Sep23-28)
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-18 17:00 PDT by Steve Fink [:sfink] [:s:] (PTO Sep23-28)
Modified: 2012-07-20 15:09 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
augment rooting API (4.70 KB, patch)
2012-07-18 17:08 PDT, Steve Fink [:sfink] [:s:] (PTO Sep23-28)
wmccloskey: review+
Details | Diff | Splinter Review

Description Steve Fink [:sfink] [:s:] (PTO Sep23-28) 2012-07-18 17:00:39 PDT
 - add external type JSHandleString
 - add external type JSMutableHandleValue
 - allow converting a MutableHandle -> Handle
 - add MutableHandle::fromMarkedLocation()
 - make a non-const AudoVectorRooter::handleAt() that returns a MutableHandle
Comment 1 Steve Fink [:sfink] [:s:] (PTO Sep23-28) 2012-07-18 17:08:25 PDT
Created attachment 643681 [details] [diff] [review]
augment rooting API
Comment 2 David Mandelin [:dmandelin] 2012-07-18 19:04:15 PDT
Did we ever come to a conclusion about whether the typedefs are actually good and/or what their names should be?
Comment 3 Steve Fink [:sfink] [:s:] (PTO Sep23-28) 2012-07-19 14:23:43 PDT
(In reply to David Mandelin [:dmandelin] from comment #2)
> Did we ever come to a conclusion about whether the typedefs are actually
> good and/or what their names should be?

Well, there are two categories of typedefs, for external and internal use. For internal use, I don't think we've settled on the Handle<JSObject*> vs HandleObject question, and I don't want to stall work on making that decision.

For external use, the typedefs are necessary for C users of the API, which we could pull the plug on at any time. Once we do that, it's mostly the same question as the internal use (though I could imagine wanting typedefs only for external users.)
Comment 4 Steve Fink [:sfink] [:s:] (PTO Sep23-28) 2012-07-19 21:41:34 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/b20344afee94
Comment 5 Ed Morley [:emorley] 2012-07-20 06:42:12 PDT
https://hg.mozilla.org/mozilla-central/rev/b20344afee94
Comment 6 David Mandelin [:dmandelin] 2012-07-20 15:09:07 PDT
(In reply to Steve Fink [:sfink] from comment #3)
> (In reply to David Mandelin [:dmandelin] from comment #2)
> > Did we ever come to a conclusion about whether the typedefs are actually
> > good and/or what their names should be?
> 
> Well, there are two categories of typedefs, for external and internal use.
> For internal use, I don't think we've settled on the Handle<JSObject*> vs
> HandleObject question, and I don't want to stall work on making that
> decision.

Sure.

> For external use, the typedefs are necessary for C users of the API, which
> we could pull the plug on at any time. Once we do that, it's mostly the same
> question as the internal use (though I could imagine wanting typedefs only
> for external users.)

Yeah. I suppose jsd probably still wants to work for now, or something.

Note You need to log in before you can comment on or make changes to this bug.