Bug 45292

Summary: V8 generated code is missing include of V8BindingMacros.h for STRING_TO_V8PARAMETER_EXCEPTION_BLOCK
Product: WebKit Reporter: Kristian Monsen <kristianm>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: antonm, commit-queue, dumi, steveblock
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Android   
OS: Android   
Attachments:
Description Flags
Proposed patch
steveblock: review-
Updated patch with Bug# none

Description Kristian Monsen 2010-09-07 06:01:25 PDT
Created attachment 66711 [details]
Proposed patch

The header does not get included through other headers on Android.

Introduced in this CL:
http://trac.webkit.org/changeset/66664/trunk/WebCore/bindings/scripts/CodeGeneratorV8.pm
Comment 1 Steve Block 2010-09-07 06:23:54 PDT
The required include of V8BindingMacros.h was lost in http://trac.webkit.org/changeset/66521
Comment 2 Steve Block 2010-09-07 06:25:36 PDT
Comment on attachment 66711 [details]
Proposed patch

> +        Compile fix for Android. Explicitly add needed header for
> +        STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get included through
> +        other headers on Android.
Need a bug URL

Remember to set r? and cq? if you want the patch to be reviewed and added to the commit-queue.
Comment 3 Kristian Monsen 2010-09-07 06:36:41 PDT
Created attachment 66715 [details]
Updated patch with Bug#
Comment 4 Kristian Monsen 2010-09-07 06:42:06 PDT
(In reply to comment #2)
> (From update of attachment 66711 [details])
> > +        Compile fix for Android. Explicitly add needed header for
> > +        STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get included through
> > +        other headers on Android.
> Need a bug URL
> 
> Remember to set r? and cq? if you want the patch to be reviewed and added to the commit-queue.

I was not yet ready for review, as I was looking for where it got introduced. Thanks for noticing the missing bug url.
Comment 5 Steve Block 2010-09-07 07:25:23 PDT
Comment on attachment 66715 [details]
Updated patch with Bug#

Is the include of V8BindingMacros.h from GenerateNormalAttrSetter() still required?
Comment 6 Kristian Monsen 2010-09-07 07:36:35 PDT
(In reply to comment #5)
> (From update of attachment 66715 [details])
> Is the include of V8BindingMacros.h from GenerateNormalAttrSetter() still required?

This is the CL that actually caused the problem:
http://trac.webkit.org/changeset/66521/trunk/WebCore/bindings/scripts/CodeGeneratorV8.pm

I grepped through the generated files, and it seems like the header is never included twice at least.
Comment 7 Steve Block 2010-09-07 07:39:01 PDT
> I grepped through the generated files, and it seems like the header is never
> included twice at least.
Sure, but this doesn't mean that we don't add the header to the implIncludes map more than once.
Comment 8 anton muhin 2010-09-07 07:56:21 PDT
(In reply to comment #7)
> > I grepped through the generated files, and it seems like the header is never
> > included twice at least.
> Sure, but this doesn't mean that we don't add the header to the implIncludes map more than once.

Sorry guys for introducing this.  Could we setup BBs to watch for Android breakage?
Comment 9 anton muhin 2010-09-07 07:57:25 PDT
Just in case: I've added more cases to use the macro.  I hope you already have necessary includes on those paths.
Comment 10 Steve Block 2010-09-07 08:02:21 PDT
> Sorry guys for introducing this.  Could we setup BBs to watch for Android
> breakage?
No problem. We'd love to have an Android BB, but we have a lot of upstreaming to do first!

> Just in case: I've added more cases to use the macro.  I hope you already have
> necessary includes on those paths.
It looks like the macro is only used from ConvertToV8Parameter(), to which this patch adds the include, so I think we're OK.

Anton, do you know if the include from GenerateNormalAttrSetter() can be removed, or are you happy with this patch as it is?
Comment 11 anton muhin 2010-09-07 08:13:57 PDT
(In reply to comment #10)
> > Just in case: I've added more cases to use the macro.  I hope you already have
> > necessary includes on those paths.
> It looks like the macro is only used from ConvertToV8Parameter(), to which this patch adds the include, so I think we're OK.
> 
> Anton, do you know if the include from GenerateNormalAttrSetter() can be removed, or are you happy with this patch as it is?

Yes, you're right.  I think it's the best place for inclusion and we don't want to specialize unless build time is prohibitive (which should not be the case, hopefully)
Comment 12 WebKit Commit Bot 2010-09-07 09:45:20 PDT
Comment on attachment 66715 [details]
Updated patch with Bug#

Clearing flags on attachment: 66715

Committed r66888: <http://trac.webkit.org/changeset/66888>
Comment 13 WebKit Commit Bot 2010-09-07 09:45:26 PDT
All reviewed patches have been landed.  Closing bug.