WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
111375
[v8] Binding integrity non-functional on windows
https://bugs.webkit.org/show_bug.cgi?id=111375
Summary
[v8] Binding integrity non-functional on windows
Thomas Sepez
Reported
2013-03-04 16:11:29 PST
Tracking bug to get V8 Binding integrity changes landed for windows.
Attachments
WIP.
(10.04 KB, patch)
2013-03-04 16:40 PST
,
Thomas Sepez
no flags
Details
Formatted Diff
Diff
Patch.
(22.72 KB, patch)
2013-03-04 17:25 PST
,
Thomas Sepez
haraken
: review-
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Thomas Sepez
Comment 1
2013-03-04 16:40:41 PST
Created
attachment 191348
[details]
WIP.
Thomas Sepez
Comment 2
2013-03-04 17:25:12 PST
Created
attachment 191360
[details]
Patch.
Adam Barth
Comment 3
2013-03-04 17:35:49 PST
Comment on
attachment 191360
[details]
Patch. View in context:
https://bugs.webkit.org/attachment.cgi?id=191360&action=review
> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3722 > + return "ActiveDOMObject\@1\@" if ($typename eq "AbstractWorker"); > + return "ActiveDOMObject\@1\@" if ($typename eq "AudioContext");
We don't want to special-case all these interfaces in the code generator.
Kentaro Hara
Comment 4
2013-03-04 17:36:04 PST
Comment on
attachment 191360
[details]
Patch. View in context:
https://bugs.webkit.org/attachment.cgi?id=191360&action=review
> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3717 > +sub GetWinMangledExtensionForType
This looks really fragile. Wouldn't there be any alternative idea to avoid hard-coding?
Kentaro Hara
Comment 5
2013-03-04 17:36:52 PST
Comment on
attachment 191360
[details]
Patch. oops, my comment has overwritten abarth's r-.
Thomas Sepez
Comment 6
2013-03-05 12:51:41 PST
(In reply to
comment #3
)
> (From update of
attachment 191360
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=191360&action=review
> > > Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3722 > > + return "ActiveDOMObject\@1\@" if ($typename eq "AbstractWorker"); > > + return "ActiveDOMObject\@1\@" if ($typename eq "AudioContext"); > > We don't want to special-case all these interfaces in the code generator.
Ok, so would an .in file be acceptable?
Thomas Sepez
Comment 7
2013-03-05 12:54:19 PST
(In reply to
comment #4
)
> (From update of
attachment 191360
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=191360&action=review
> > > Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3717 > > +sub GetWinMangledExtensionForType > > This looks really fragile. Wouldn't there be any alternative idea to avoid hard-coding?
I've toyed with the idea of simply creating an instance of the class the first time one is wrapped and extracting the pointer from it directly via its first member rather than playing linker tricks. The downside with that is bloat and performance, but not a big deal when we are doing it at wrap time, rather than toNative() time. The obstacle is that each of these would need a no-arg constructor to make such a object from which to extract the pointer, which currently isn't the case.
Adam Barth
Comment 8
2013-03-05 13:39:52 PST
Comment on
attachment 191360
[details]
Patch. View in context:
https://bugs.webkit.org/attachment.cgi?id=191360&action=review
>>> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3722 >>> + return "ActiveDOMObject\@1\@" if ($typename eq "AudioContext"); >> >> We don't want to special-case all these interfaces in the code generator. > > Ok, so would an .in file be acceptable?
What is the relationship between the two strings? What I'm worried about here is that folks who add or change these interfaces or objects will need to be able to keep this information up-to-date or else they'll get some kind of strange compile error on Windows. We need to set them up for success by making this as easy and automatic as possible.
Thomas Sepez
Comment 9
2013-03-05 14:41:56 PST
> > Ok, so would an .in file be acceptable? > > What is the relationship between the two strings? >
Its truly icky and a burden which may put this out of reach. It the name of the first superclass that declares a new virtual function, where first is the leftmost class in transitive expansion of the class C : public A, public B ... inheritance list. If that makes any sense at all.
Adam Barth
Comment 10
2013-03-05 15:05:51 PST
I see. It's the class name for the first vtable in the object.
Anders Carlsson
Comment 11
2013-05-02 11:51:47 PDT
V8 is gone from WebKit.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug