Bug 94725

Summary: [CSS Shaders] Refactor CustomFilterMesh and CustomFilter*Program
Product: WebKit Reporter: Joshua Netterfield <jnetterfield>
Component: CSSAssignee: Arvid Nilsson <anilsson>
Status: RESOLVED FIXED    
Severity: Normal CC: achicu, anilsson, dino, eric, gyuyoung.kim, jamesr, jpetsovits, mifenton, mvujovic, rakuco, rwlbuis, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 93869, 96146    
Bug Blocks: 94728    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Description Joshua Netterfield 2012-08-22 10:37:14 PDT
The BlackBerry port does not use a hidden GraphicsContext3D to render CSS shaders, but would like to share as much code with other ports as possible. In order to share the most code possible, a small refactoring of CustomFilterMesh and CustomFilter*Program is needed.
Comment 1 Joshua Netterfield 2012-08-31 10:28:59 PDT
Created attachment 161729 [details]
Patch
Comment 2 Joshua Netterfield 2012-08-31 11:31:26 PDT
Max, could you comment on this?
Comment 3 Max Vujovic 2012-08-31 11:34:12 PDT
(In reply to comment #2)
> Max, could you comment on this?

Sure, I'll take a look. I think Alex is looking at this right now as well.
Comment 4 Alexandru Chiculita 2012-08-31 12:04:10 PDT
Comment on attachment 161729 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=161729&action=review

Looks good! Thanks for working on this. I just had different view on the overall architecture for this.

> Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp:145
> +    m_positionAttribLocation = getAttribLocation("a_position");

This is the only common part of this two implementations. Initially I thought the CustomFilterValidatedProgram would have references to two different Compiled Programs:
1. CustomFilterCompiledProgram as it is today - This will be used whenever it decides to run the shader in software, ie SVG when the feCustom tag will be implemented.
2. CustomFilterPlatformCompiledProgram which would be used and owned by the platform.

This will eliminate the need to have all this virtual functions and if you look at it the reused part is really small.

> Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h:86
> +    virtual Platform3DObject compileShader(GC3Denum shaderType, const String& shaderString) = 0;

Some platforms might not have access to Platform3DObject. That's also an argument for having two different classes for the CompiledPrograms.

> Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h:122
> +class CustomFilterCompiledProgramGC3D : public CustomFilterCompiledProgram {

If you follow my pattern CustomFilterCompiledProgramGC3D will not exist anymore.

> Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp:77
>  void CustomFilterGlobalContext::prepareContextIfNeeded(HostWindow* hostWindow)

I think hostWindow will become unused parameter.

> Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:108
> +        m_compiledProgram = CustomFilterCompiledProgramOpenGLCommon::create(m_validatedVertexShader, m_validatedFragmentShader);

I think this should go into something named CustomFilterValidatedProgram::platformCompiledProgram() which will do nothing on other platforms for now and on Blackberry will create the CustomFilterCompiledProgramOpenGLCommon.

You can have a typedef in the ValidatedProgram for the CustomFilterPlatformCompiledProgram to  CustomFilterCompiledProgramOpenGLCommon on Blackberry.

Note that compiledProgram will co-exist with platformCompiledProgram.

> Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:206
> +    m_mesh = CustomFilterMeshGC3D::create(m_context.get(), m_meshColumns, m_meshRows, 

I think we could use a different pattern on CustomFilterMesh. Let's extract that into two different classes:
CustomFilterMesh will just be the generator of the mesh coordinates. While the actual loading into GPU and reference keeping will be moved to an object called CustomFilterMeshOwnerGC3D or CustomFilterMeshOwnerOpenGLCommon. The last two classes do not need to be related as they are used in different contexts.  

The construction pattern of CustomFilterMeshOwnerGC3D would look like: CustomFilterMeshOwnerGC3D::create(CustomFilterMesh::create(...)); The same can be applied for CustomFilterMeshOwnerOpenGLCommon.

This way CustomFilterMesh will just work in the CPU memory. The Owner will upload it on the GPU and keep a reference to the native vertex buffers. The Owner will not really need to keep the Mesh object alive after it uploads to GPU.
Comment 5 Joshua Netterfield 2012-08-31 12:35:28 PDT
(In reply to comment #4)
> (From update of attachment 161729 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=161729&action=review
> 
> Looks good! Thanks for working on this. I just had different view on the overall architecture for this.
> 
> > Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp:145
> > +    m_positionAttribLocation = getAttribLocation("a_position");
> 
> This is the only common part of this two implementations. Initially I thought the CustomFilterValidatedProgram would have references to two different Compiled Programs:
> 1. CustomFilterCompiledProgram as it is today - This will be used whenever it decides to run the shader in software, ie SVG when the feCustom tag will be implemented.
> 2. CustomFilterPlatformCompiledProgram which would be used and owned by the platform.
> 
> This will eliminate the need to have all this virtual functions and if you look at it the reused part is really small.

I wrote this first, but then didn't like it, so wrote what you see now. The difference was a bit more extreme two weeks ago, but there's still more code in common (40 lines) than not in common (36 lines). If any of the parameters change, you'd have to change it in two places, so it's a bit awkward. It's not a huge deal obviously, so if you prefer that, I can revert it to what I made before?

> 
> > Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h:86
> > +    virtual Platform3DObject compileShader(GC3Denum shaderType, const String& shaderString) = 0;
> 
> Some platforms might not have access to Platform3DObject. That's also an argument for having two different classes for the CompiledPrograms.

I think all platforms typedef Platform3DObject as GC3Duint, as defined in GraphicsTypes3D.h. Is this not the case? Is code in -OpenGLCommon not cross-platform?

> 
> > Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h:122
> > +class CustomFilterCompiledProgramGC3D : public CustomFilterCompiledProgram {
> 
> If you follow my pattern CustomFilterCompiledProgramGC3D will not exist anymore.
> 
> > Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp:77
> >  void CustomFilterGlobalContext::prepareContextIfNeeded(HostWindow* hostWindow)
> 
> I think hostWindow will become unused parameter.
> 
> > Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:108
> > +        m_compiledProgram = CustomFilterCompiledProgramOpenGLCommon::create(m_validatedVertexShader, m_validatedFragmentShader);
> 
> I think this should go into something named CustomFilterValidatedProgram::platformCompiledProgram() which will do nothing on other platforms for now and on Blackberry will create the CustomFilterCompiledProgramOpenGLCommon.

Will do.

> 
> You can have a typedef in the ValidatedProgram for the CustomFilterPlatformCompiledProgram to  CustomFilterCompiledProgramOpenGLCommon on Blackberry.
> 
> Note that compiledProgram will co-exist with platformCompiledProgram.

There isn't currently non-accelerated filter effects, but for other platforms this would be true.

> 
> > Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:206
> > +    m_mesh = CustomFilterMeshGC3D::create(m_context.get(), m_meshColumns, m_meshRows, 
> 
> I think we could use a different pattern on CustomFilterMesh. Let's extract that into two different classes:
> CustomFilterMesh will just be the generator of the mesh coordinates. While the actual loading into GPU and reference keeping will be moved to an object called CustomFilterMeshOwnerGC3D or CustomFilterMeshOwnerOpenGLCommon. The last two classes do not need to be related as they are used in different contexts. 

Ok, that's just a matter of renaming things I think.
 
> 
> The construction pattern of CustomFilterMeshOwnerGC3D would look like: CustomFilterMeshOwnerGC3D::create(CustomFilterMesh::create(...)); The same can be applied for CustomFilterMeshOwnerOpenGLCommon.
> 
> This way CustomFilterMesh will just work in the CPU memory. The Owner will upload it on the GPU and keep a reference to the native vertex buffers. The Owner will not really need to keep the Mesh object alive after it uploads to GPU.

Sure.
Comment 6 Joshua Netterfield 2012-08-31 12:38:00 PDT
Hmm... I'm making the changes, and it's about 100 lines more? Is that okay?
Comment 7 Joshua Netterfield 2012-08-31 13:02:42 PDT
I'm sorry to leave it like this, but they're kicking me out. Arvid has agreed to look at this.
Comment 8 Joshua Netterfield 2012-08-31 13:10:59 PDT
^ I'm a co-op.
Comment 9 Arvid Nilsson 2012-08-31 13:30:24 PDT
(In reply to comment #7)
> I'm sorry to leave it like this, but they're kicking me out. Arvid has agreed to look at this.

Thanks for all your hard work, it's great stuff! I'll try to adapt your patches to the reviewers' suggestions and make sure you're credited as the originator! Best of luck in your studies :)
Comment 10 Max Vujovic 2012-08-31 14:27:53 PDT
(In reply to comment #9)
> (In reply to comment #7)
> > I'm sorry to leave it like this, but they're kicking me out. Arvid has agreed to look at this.
> 
> Thanks for all your hard work, it's great stuff! I'll try to adapt your patches to the reviewers' suggestions and make sure you're credited as the originator! Best of luck in your studies :)

Yup, thanks Joshua! We appreciate all your help on shaders :)
Comment 11 Arvid Nilsson 2012-09-03 07:16:16 PDT
I'm looking into this and Joshua's other unlanded patches.
Comment 12 Alexandru Chiculita 2012-09-03 10:07:02 PDT
(In reply to comment #5)
> (In reply to comment #4)
> > (From update of attachment 161729 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=161729&action=review
> > 
Thank you for working on CSS Shaders! Sorry about all delay with my comments, but I need to make sure we can reuse this on other platforms too.

> > Looks good! Thanks for working on this. I just had different view on the overall architecture for this.
> > 
> > > Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp:145
> > > +    m_positionAttribLocation = getAttribLocation("a_position");
> > 
> > This is the only common part of this two implementations. Initially I thought the CustomFilterValidatedProgram would have references to two different Compiled Programs:
> > 1. CustomFilterCompiledProgram as it is today - This will be used whenever it decides to run the shader in software, ie SVG when the feCustom tag will be implemented.
> > 2. CustomFilterPlatformCompiledProgram which would be used and owned by the platform.
> > 
> > This will eliminate the need to have all this virtual functions and if you look at it the reused part is really small.
> 
> I wrote this first, but then didn't like it, so wrote what you see now. The difference was a bit more extreme two weeks ago, but there's still more code in common (40 lines) than not in common (36 lines). If any of the parameters change, you'd have to change it in two places, so it's a bit awkward. It's not a huge deal obviously, so if you prefer that, I can revert it to what I made before?

I think this would be a better way to do it, even if we duplicate the parameters. That's because other platforms might choose to implement the rendering in platform code that is not part of WebKit, so this part of the code would duplicate anyway.

> 
> > 
> > > Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h:86
> > > +    virtual Platform3DObject compileShader(GC3Denum shaderType, const String& shaderString) = 0;
> > 
> > Some platforms might not have access to Platform3DObject. That's also an argument for having two different classes for the CompiledPrograms.
> 
> I think all platforms typedef Platform3DObject as GC3Duint, as defined in GraphicsTypes3D.h. Is this not the case? Is code in -OpenGLCommon not cross-platform?
> 
> > 
> > > Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h:122
> > > +class CustomFilterCompiledProgramGC3D : public CustomFilterCompiledProgram {
> > 
> > If you follow my pattern CustomFilterCompiledProgramGC3D will not exist anymore.
> > 
> > > Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp:77
> > >  void CustomFilterGlobalContext::prepareContextIfNeeded(HostWindow* hostWindow)
> > 
> > I think hostWindow will become unused parameter.
> > 
> > > Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:108
> > > +        m_compiledProgram = CustomFilterCompiledProgramOpenGLCommon::create(m_validatedVertexShader, m_validatedFragmentShader);
> > 
> > I think this should go into something named CustomFilterValidatedProgram::platformCompiledProgram() which will do nothing on other platforms for now and on Blackberry will create the CustomFilterCompiledProgramOpenGLCommon.
> 
> Will do.
> 
> > 
> > You can have a typedef in the ValidatedProgram for the CustomFilterPlatformCompiledProgram to  CustomFilterCompiledProgramOpenGLCommon on Blackberry.
> > 
> > Note that compiledProgram will co-exist with platformCompiledProgram.
> 
> There isn't currently non-accelerated filter effects, but for other platforms this would be true.
> 
> > 
> > > Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:206
> > > +    m_mesh = CustomFilterMeshGC3D::create(m_context.get(), m_meshColumns, m_meshRows, 
> > 
> > I think we could use a different pattern on CustomFilterMesh. Let's extract that into two different classes:
> > CustomFilterMesh will just be the generator of the mesh coordinates. While the actual loading into GPU and reference keeping will be moved to an object called CustomFilterMeshOwnerGC3D or CustomFilterMeshOwnerOpenGLCommon. The last two classes do not need to be related as they are used in different contexts. 
> 
> Ok, that's just a matter of renaming things I think.
> 
> > 
> > The construction pattern of CustomFilterMeshOwnerGC3D would look like: CustomFilterMeshOwnerGC3D::create(CustomFilterMesh::create(...)); The same can be applied for CustomFilterMeshOwnerOpenGLCommon.
> > 
> > This way CustomFilterMesh will just work in the CPU memory. The Owner will upload it on the GPU and keep a reference to the native vertex buffers. The Owner will not really need to keep the Mesh object alive after it uploads to GPU.
> 
> Sure.
Comment 13 Arvid Nilsson 2012-09-04 16:24:17 PDT
Created attachment 162128 [details]
Patch
Comment 14 Arvid Nilsson 2012-09-04 16:29:05 PDT
(In reply to comment #13)
> Created an attachment (id=162128) [details]
> Patch

Note, this patch lacks a hunk that adds CustomFilterMeshGenerator.h/cpp to the xcodeproj, because I can't generate the proper hashes on my Linux machine. I'll need to use a Mac for that at some point.
Comment 15 Alexandru Chiculita 2012-09-04 16:42:02 PDT
Comment on attachment 162128 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=162128&action=review

It looks good! Thanks!

> Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp:91
> +    // FIXME: We should consider separating filter validation into a separate class that has no GraphicsContext3D dependency.

I think the assert was not needed anymore in here, so it's safe to remove the fixme too. Could you please move the assert to CustomFilterValidatedProgram::compiledProgram() instead ?

ASSERT(m_globalContext->context());

> Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.h:86
> +    PlatformCompiledProgramPtr platformCompiledProgram();

I think you return a RefPtr<WebCore::LayerCompiledProgram> in here. I suppose we want a PassRefPtr<>.
Comment 16 Arvid Nilsson 2012-09-04 16:47:37 PDT
(In reply to comment #13)
> Created an attachment (id=162128) [details]
> Patch

I was also gonna say, the code in https://bugs.webkit.org/show_bug.cgi?id=94728 shows how we'll leverage this refactoring in the BlackBerry port.
Comment 17 Arvid Nilsson 2012-09-04 16:49:48 PDT
Comment on attachment 162128 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=162128&action=review

>> Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.h:86
>> +    PlatformCompiledProgramPtr platformCompiledProgram();
> 
> I think you return a RefPtr<WebCore::LayerCompiledProgram> in here. I suppose we want a PassRefPtr<>.

The reason I do it like this is to avoid having two typedefs for a pointer type. The BlackBerry port doesn't mind the additional refcount churn here.
Otherwise, I'd have to do something which I think looks silly:


#if PLATFORM(BLACKBERRY)
namespace WebCore {
class LayerCompiledProgram;
}
typedef WebCore::LayerCompiledProgram PlatformCompiledProgram;
typedef RefPtr<WebCore::LayerCompiledProgram> PlatformCompiledProgramPtr;
typedef PassRefPtr<WebCore::LayerCompiledProgram> PlatformCompiledProgramPassPtr;
#else
typedef void PlatformCompiledProgram;
typedef PlatformCompiledProgram* PlatformCompiledProgramPtr;
typedef PlatformCompiledProgram* PlatformCompiledProgramPassPtr;
#endif
Comment 18 Build Bot 2012-09-04 16:56:56 PDT
Comment on attachment 162128 [details]
Patch

Attachment 162128 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13753582
Comment 19 Arvid Nilsson 2012-09-04 17:29:14 PDT
Created attachment 162137 [details]
Patch
Comment 20 Build Bot 2012-09-04 19:54:41 PDT
Comment on attachment 162137 [details]
Patch

Attachment 162137 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13746702
Comment 21 Arvid Nilsson 2012-09-07 10:07:05 PDT
Created attachment 162798 [details]
Patch
Comment 22 Arvid Nilsson 2012-09-07 10:10:06 PDT
(In reply to comment #21)
> Created an attachment (id=162798) [details]
> Patch

This is the same patch as last time, only now I managed to update the xcodeproj. Hope it passes mac ews now.
Comment 23 Alexandru Chiculita 2012-09-07 10:35:33 PDT
Comment on attachment 162798 [details]
Patch

Thanks! Looks good to me.
Comment 24 Rob Buis 2012-09-07 10:59:14 PDT
Comment on attachment 162798 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=162798&action=review

Looks good.

> Source/WebCore/platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp:2
> + * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved.

Should likely be BB.
Comment 25 Arvid Nilsson 2012-09-07 11:03:41 PDT
Created attachment 162820 [details]
Patch

Fix copyright header for BlackBerry-specific file
Comment 26 Arvid Nilsson 2012-09-07 11:05:55 PDT
Comment on attachment 162820 [details]
Patch

Argh, what happened to the xcodeproj diff =(
Comment 27 Arvid Nilsson 2012-09-07 11:10:22 PDT
Created attachment 162823 [details]
Patch

Fix copyright header in BB specific file without changing anything about the xcode project file diff
Comment 28 Rob Buis 2012-09-07 11:22:11 PDT
Comment on attachment 162823 [details]
Patch

Ok.
Comment 29 WebKit Review Bot 2012-09-07 13:19:04 PDT
Comment on attachment 162823 [details]
Patch

Clearing flags on attachment: 162823

Committed r127911: <http://trac.webkit.org/changeset/127911>
Comment 30 WebKit Review Bot 2012-09-07 13:19:10 PDT
All reviewed patches have been landed.  Closing bug.
Comment 31 WebKit Review Bot 2012-09-07 14:03:06 PDT
Re-opened since this is blocked by 96146
Comment 32 James Robinson 2012-09-07 14:14:54 PDT
Broke the build: http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/44069/steps/compile-webkit/logs/stdio

Failure:


CompileC ../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/Objects-normal/i386/CustomFilterValidatedProgram.o ../platform/graphics/filters/CustomFilterValidatedProgram.cpp normal i386 c++ com.apple.compilers.llvmgcc42
    cd /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp
    setenv LANG en_US.US-ASCII
    /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/third_party/llvm-build/Release+Asserts/bin/clang -x c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fno-exceptions -fno-rtti -O3 -Werror -Wnewline-eof -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DWEBKIT_IMPLEMENTATION=1 "-DWEBCORE_NAVIGATOR_VENDOR=\"Google Inc.\"" -DWEBCORE_NAVIGATOR_PLATFORM="MacIntel" -DWebCascadeList=ChromiumWebCoreObjCWebCascadeList -DWebCoreFlippedView=ChromiumWebCoreObjCWebCoreFlippedView -DWebScrollbarPrefsObserver=ChromiumWebCoreObjCWebScrollbarPrefsObserver -DWebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver -DWebFontCache=ChromiumWebCoreObjCWebFontCache -DWebScrollAnimationHelperDelegate=ChromiumWebCoreObjCWebScrollAnimationHelperDelegate -DWebScrollbarPainterControllerDelegate=ChromiumWebCoreObjCWebScrollbarPainterControllerDelegate -DWebScrollbarPainterDelegate=ChromiumWebCoreObjCWebScrollbarPainterDelegate -DWebScrollbarPartAnimation=ChromiumWebCoreObjCWebScrollbarPartAnimation -DENABLE_3D_PLUGIN=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_BLOB=1 -DENABLE_BLOB_SLICE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSP_NEXT=1 -DENABLE_CSS3_TEXT_DECORATION=0 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=0 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHADERS=1 -DENABLE_CSS_VARIABLES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATA_TRANSFER_ITEMS=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DIALOG_ELEMENT=1 -DENABLE_DIRECTORY_UPLOAD=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_ENCRYPTED_MEDIA=1 -DENABLE_FILE_SYSTEM=1 -DENABLE_FILTERS=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GAMEPAD=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=0 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_DATE=1 -DENABLE_INPUT_TYPE_DATETIME=1 -DENABLE_INPUT_TYPE_DATETIMELOCAL=1 -DENABLE_INPUT_TYPE_MONTH=1 -DENABLE_INPUT_TYPE_TIME=1 -DENABLE_INPUT_TYPE_WEEK=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_LINK_PRERENDER=1 -DENABLE_MEDIA_SOURCE=1 -DENABLE_MEDIA_STATISTICS=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=1 -DENABLE_NAVIGATOR_CONTENT_UTILS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_POINTER_LOCK=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_QUOTA=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_SCRIPTED_SPEECH=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_STYLE_SCOPED=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TEXT_AUTOSIZING=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_TOUCH_SLIDER=1 -DENABLE_V8_SCRIPT_DEBUG_SERVER=1 -DENABLE_VIDEO=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEWPORT=1 -DENABLE_WEBGL=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WIDGET_REGION=1 -DENABLE_WORKERS=1 -DENABLE_XHR_RESPONSE_BLOB=1 -DENABLE_XSLT=1 -DWTF_USE_LEVELDB=1 -DWTF_USE_BUILTIN_UTF8_CODEC=1 -DWTF_USE_OPENTYPE_SANITIZER=1 -DWTF_USE_RTL_SCROLLBAR=1 -DWTF_USE_SKIA_TEXT=1 -DWTF_USE_WEBP=1 -DWTF_USE_WEBKIT_IMAGE_DECODERS=1 -DENABLE_CALENDAR_PICKER=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS=1 -DENABLE_JAVASCRIPT_I18N_API=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_MEDIA_STREAM=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_OVERFLOW_SCROLLING=0 -DENABLE_PAGE_POPUP=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_WEB_AUDIO=1 -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DWTF_USE_ACCELERATED_COMPOSITING=1 -DENABLE_RUBBER_BANDING=1 -DWTF_USE_SKIA_ON_MAC_CHROMIUM=1 -DBUILDING_CHROMIUM__=1 -DUSE_SYSTEM_MALLOC=1 -DWTF_USE_NEW_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DSK_BUILD_NO_IMAGE_ENCODE -DSK_DEFERRED_CANVAS_USES_GPIPE=1 -DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h" -DGR_AGGRESSIVE_SHADER_OPTS=1 -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DLIBXML_STATIC -DLIBXSLT_STATIC -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -mmacosx-version-min=10.6 -gdwarf-2 -Wglobal-constructors -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wheader-hygiene -Wno-char-subscripts -Wno-unused-function -Wno-unnamed-type-template-args -Wno-c++11-extensions -Wno-covered-switch-default -Wexit-time-destructors -F/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/Release -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/Release/include -I../../WebKit/chromium/third_party/icu/public/common -I../../WebKit/chromium/third_party/icu/public/i18n -I../../WebKit/chromium/third_party/apple_webkit -I../../WebKit/chromium/third_party/khronos -I../../WebKit/chromium -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/DerivedSources/Release -I.. -I../.. -I../Modules/battery -I../Modules/filesystem -I../Modules/filesystem/chromium -I../Modules/gamepad -I../Modules/geolocation -I../Modules/intents -I../Modules/indexeddb -I../Modules/mediasource -I../Modules/mediastream -I../Modules/navigatorcontentutils -I../Modules/notifications -I../Modules/quota -I../Modules/speech -I../Modules/webaudio -I../Modules/webdatabase -I../Modules/webdatabase/chromium -I../Modules/websockets -I../accessibility -I../accessibility/chromium -I../bindings -I../bindings/generic -I../bindings/v8 -I../bindings/v8/custom -I../bridge -I../bridge/jni -I../bridge/jni/v8 -I../css -I../dom -I../dom/default -I../editing -I../fileapi -I../history -I../html -I../html/canvas -I../html/parser -I../html/shadow -I../html/track -I../inspector -I../loader -I../loader/appcache -I../loader/archive -I../loader/archive/cf -I../loader/archive/mhtml -I../loader/cache -I../loader/icon -I../mathml -I../page -I../page/animation -I../page/chromium -I../page/scrolling -I../platform -I../platform/animation -I../platform/audio -I../platform/audio/chromium -I../platform/chromium -I../platform/chromium/support -I../platform/graphics -I../platform/graphics/chromium -I../platform/graphics/chromium/cc -I../platform/graphics/filters -I../platform/graphics/filters/arm -I../platform/graphics/gpu -I../platform/graphics/opentype -I../platform/graphics/skia -I../platform/graphics/transforms -I../platform/image-decoders -I../platform/image-decoders/bmp -I../platform/image-decoders/gif -I../platform/image-decoders/ico -I../platform/image-decoders/jpeg -I../platform/image-decoders/png -I../platform/image-decoders/skia -I../platform/image-decoders/webp -I../platform/image-encoders/skia -I../platform/leveldb -I../platform/mediastream -I../platform/mediastream/chromium -I../platform/mock -I../platform/network -I../platform/network/chromium -I../platform/sql -I../platform/text -I../platform/text/transcoder -I../plugins -I../plugins/chromium -I../rendering -I../rendering/style -I../rendering/svg -I../storage -I../storage/chromium -I../svg -I../svg/animation -I../svg/graphics -I../svg/graphics/filters -I../svg/properties -I../../ThirdParty/glu -I../workers -I../xml -I../xml/parser -I../platform/audio/mac -I../platform/cocoa -I../platform/graphics/cg -I../platform/graphics/cocoa -I../platform/graphics/mac -I../platform/mac -I../platform/text/mac -I../platform/graphics/harfbuzz -I../platform/graphics/harfbuzz/ng -I../../WebKit/chromium/gpu -I../../WebKit/chromium/third_party/angle/include/GLSLANG -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/DerivedSources/Release/webkit -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/DerivedSources/Release/webkit/bindings -I../../WTF -I../../JavaScriptCore -I../../Platform/chromium -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/DerivedSources/Release/webcore_headers -I../../WebKit/chromium/skia/config -I../../WebKit/chromium/third_party/skia/src/core -I../../WebKit/chromium/third_party/skia/include/config -I../../WebKit/chromium/third_party/skia/include/core -I../../WebKit/chromium/third_party/skia/include/effects -I../../WebKit/chromium/third_party/skia/include/pdf -I../../WebKit/chromium/third_party/skia/include/gpu -I../../WebKit/chromium/third_party/skia/include/gpu/gl -I../../WebKit/chromium/third_party/skia/include/pipe -I../../WebKit/chromium/third_party/skia/include/ports -I../../WebKit/chromium/third_party/skia/include/utils -I../../WebKit/chromium/skia/ext -I../../WebKit/chromium/third_party/skia/include/utils/mac -I../../WebKit/chromium/third_party/iccjpeg -I../../WebKit/chromium/third_party/libwebp -I../../WebKit/chromium/third_party/libpng -I../../WebKit/chromium/third_party/libxml/mac/include -I../../WebKit/chromium/third_party/libxml/src/include -I../../WebKit/chromium/third_party/libxslt -I../../WebKit/chromium/third_party/npapi -I../../WebKit/chromium/third_party/npapi/bindings -I../../WebKit/chromium/third_party/ots/include -I../../WebKit/chromium/third_party/qcms/src -I../../WebKit/chromium/third_party/sqlite -I../../WebKit/chromium/third_party/zlib -I../../WebKit/chromium/v8/include -I../../WebKit/chromium/third_party/libjpeg_turbo -I../../WebKit/chromium/third_party/leveldatabase/src/include -I../../WebKit/chromium/third_party/leveldatabase/src -I../../WebKit/chromium/third_party/harfbuzz-ng/src -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/DerivedSources/i386 -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/DerivedSources -fno-strict-aliasing -include /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../WebCorePrefix.h -c /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/graphics/filters/CustomFilterValidatedProgram.cpp -o /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/Objects-normal/i386/CustomFilterValidatedProgram.o

In file included from /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/graphics/filters/CustomFilterValidatedProgram.cpp:34:
../platform/graphics/filters/CustomFilterValidatedProgram.h:112:30: error: private field 'm_platformCompiledProgram' is not used [-Werror,-Wunused-private-field]
    PlatformCompiledProgram* m_platformCompiledProgram;

Please don't mark patches that touch cross-platform code with [blackberry]
Comment 33 Arvid Nilsson 2012-09-07 14:16:42 PDT
(In reply to comment #32)
> Broke the build: http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/44069/steps/compile-webkit/logs/stdio
> 
> Failure:
> 
> 
> CompileC ../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/Objects-normal/i386/CustomFilterValidatedProgram.o ../platform/graphics/filters/CustomFilterValidatedProgram.cpp normal i386 c++ com.apple.compilers.llvmgcc42
>     cd /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp
>     setenv LANG en_US.US-ASCII
>     /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/third_party/llvm-build/Release+Asserts/bin/clang -x c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fno-exceptions -fno-rtti -O3 -Werror -Wnewline-eof -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DWEBKIT_IMPLEMENTATION=1 "-DWEBCORE_NAVIGATOR_VENDOR=\"Google Inc.\"" -DWEBCORE_NAVIGATOR_PLATFORM="MacIntel" -DWebCascadeList=ChromiumWebCoreObjCWebCascadeList -DWebCoreFlippedView=ChromiumWebCoreObjCWebCoreFlippedView -DWebScrollbarPrefsObserver=ChromiumWebCoreObjCWebScrollbarPrefsObserver -DWebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver -DWebFontCache=ChromiumWebCoreObjCWebFontCache -DWebScrollAnimationHelperDelegate=ChromiumWebCoreObjCWebScrollAnimationHelperDelegate -DWebScrollbarPainterControllerDelegate=ChromiumWebCoreObjCWebScrollbarPainterControllerDelegate -DWebScrollbarPainterDelegate=ChromiumWebCoreObjCWebScrollbarPainterDelegate -DWebScrollbarPartAnimation=ChromiumWebCoreObjCWebScrollbarPartAnimation -DENABLE_3D_PLUGIN=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_BLOB=1 -DENABLE_BLOB_SLICE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSP_NEXT=1 -DENABLE_CSS3_TEXT_DECORATION=0 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=0 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHADERS=1 -DENABLE_CSS_VARIABLES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATA_TRANSFER_ITEMS=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DIALOG_ELEMENT=1 -DENABLE_DIRECTORY_UPLOAD=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_ENCRYPTED_MEDIA=1 -DENABLE_FILE_SYSTEM=1 -DENABLE_FILTERS=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GAMEPAD=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=0 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_DATE=1 -DENABLE_INPUT_TYPE_DATETIME=1 -DENABLE_INPUT_TYPE_DATETIMELOCAL=1 -DENABLE_INPUT_TYPE_MONTH=1 -DENABLE_INPUT_TYPE_TIME=1 -DENABLE_INPUT_TYPE_WEEK=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_LINK_PRERENDER=1 -DENABLE_MEDIA_SOURCE=1 -DENABLE_MEDIA_STATISTICS=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=1 -DENABLE_NAVIGATOR_CONTENT_UTILS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_POINTER_LOCK=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_QUOTA=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_SCRIPTED_SPEECH=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_STYLE_SCOPED=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TEXT_AUTOSIZING=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_TOUCH_SLIDER=1 -DENABLE_V8_SCRIPT_DEBUG_SERVER=1 -DENABLE_VIDEO=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEWPORT=1 -DENABLE_WEBGL=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WIDGET_REGION=1 -DENABLE_WORKERS=1 -DENABLE_XHR_RESPONSE_BLOB=1 -DENABLE_XSLT=1 -DWTF_USE_LEVELDB=1 -DWTF_USE_BUILTIN_UTF8_CODEC=1 -DWTF_USE_OPENTYPE_SANITIZER=1 -DWTF_USE_RTL_SCROLLBAR=1 -DWTF_USE_SKIA_TEXT=1 -DWTF_USE_WEBP=1 -DWTF_USE_WEBKIT_IMAGE_DECODERS=1 -DENABLE_CALENDAR_PICKER=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS=1 -DENABLE_JAVASCRIPT_I18N_API=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_MEDIA_STREAM=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_OVERFLOW_SCROLLING=0 -DENABLE_PAGE_POPUP=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_WEB_AUDIO=1 -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DWTF_USE_ACCELERATED_COMPOSITING=1 -DENABLE_RUBBER_BANDING=1 -DWTF_USE_SKIA_ON_MAC_CHROMIUM=1 -DBUILDING_CHROMIUM__=1 -DUSE_SYSTEM_MALLOC=1 -DWTF_USE_NEW_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DSK_BUILD_NO_IMAGE_ENCODE -DSK_DEFERRED_CANVAS_USES_GPIPE=1 -DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h" -DGR_AGGRESSIVE_SHADER_OPTS=1 -DCHROME_PNG_WRITE_SUPPORT -DPNG_USER_CONFIG -DLIBXML_STATIC -DLIBXSLT_STATIC -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -mmacosx-version-min=10.6 -gdwarf-2 -Wglobal-constructors -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wheader-hygiene -Wno-char-subscripts -Wno-unused-function -Wno-unnamed-type-template-args -Wno-c++11-extensions -Wno-covered-switch-default -Wexit-time-destructors -F/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/Release -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/Release/include -I../../WebKit/chromium/third_party/icu/public/common -I../../WebKit/chromium/third_party/icu/public/i18n -I../../WebKit/chromium/third_party/apple_webkit -I../../WebKit/chromium/third_party/khronos -I../../WebKit/chromium -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/DerivedSources/Release -I.. -I../.. -I../Modules/battery -I../Modules/filesystem -I../Modules/filesystem/chromium -I../Modules/gamepad -I../Modules/geolocation -I../Modules/intents -I../Modules/indexeddb -I../Modules/mediasource -I../Modules/mediastream -I../Modules/navigatorcontentutils -I../Modules/notifications -I../Modules/quota -I../Modules/speech -I../Modules/webaudio -I../Modules/webdatabase -I../Modules/webdatabase/chromium -I../Modules/websockets -I../accessibility -I../accessibility/chromium -I../bindings -I../bindings/generic -I../bindings/v8 -I../bindings/v8/custom -I../bridge -I../bridge/jni -I../bridge/jni/v8 -I../css -I../dom -I../dom/default -I../editing -I../fileapi -I../history -I../html -I../html/canvas -I../html/parser -I../html/shadow -I../html/track -I../inspector -I../loader -I../loader/appcache -I../loader/archive -I../loader/archive/cf -I../loader/archive/mhtml -I../loader/cache -I../loader/icon -I../mathml -I../page -I../page/animation -I../page/chromium -I../page/scrolling -I../platform -I../platform/animation -I../platform/audio -I../platform/audio/chromium -I../platform/chromium -I../platform/chromium/support -I../platform/graphics -I../platform/graphics/chromium -I../platform/graphics/chromium/cc -I../platform/graphics/filters -I../platform/graphics/filters/arm -I../platform/graphics/gpu -I../platform/graphics/opentype -I../platform/graphics/skia -I../platform/graphics/transforms -I../platform/image-decoders -I../platform/image-decoders/bmp -I../platform/image-decoders/gif -I../platform/image-decoders/ico -I../platform/image-decoders/jpeg -I../platform/image-decoders/png -I../platform/image-decoders/skia -I../platform/image-decoders/webp -I../platform/image-encoders/skia -I../platform/leveldb -I../platform/mediastream -I../platform/mediastream/chromium -I../platform/mock -I../platform/network -I../platform/network/chromium -I../platform/sql -I../platform/text -I../platform/text/transcoder -I../plugins -I../plugins/chromium -I../rendering -I../rendering/style
> -I../rendering/svg -I../storage -I../storage/chromium -I../svg -I../svg/animation -I../svg/graphics -I../svg/graphics/filters -I../svg/properties -I../../ThirdParty/glu -I../workers -I../xml -I../xml/parser -I../platform/audio/mac -I../platform/cocoa -I../platform/graphics/cg -I../platform/graphics/cocoa -I../platform/graphics/mac -I../platform/mac -I../platform/text/mac -I../platform/graphics/harfbuzz -I../platform/graphics/harfbuzz/ng -I../../WebKit/chromium/gpu -I../../WebKit/chromium/third_party/angle/include/GLSLANG -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/DerivedSources/Release/webkit -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/DerivedSources/Release/webkit/bindings -I../../WTF -I../../JavaScriptCore -I../../Platform/chromium -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/DerivedSources/Release/webcore_headers -I../../WebKit/chromium/skia/config -I../../WebKit/chromium/third_party/skia/src/core -I../../WebKit/chromium/third_party/skia/include/config -I../../WebKit/chromium/third_party/skia/include/core -I../../WebKit/chromium/third_party/skia/include/effects -I../../WebKit/chromium/third_party/skia/include/pdf -I../../WebKit/chromium/third_party/skia/include/gpu -I../../WebKit/chromium/third_party/skia/include/gpu/gl -I../../WebKit/chromium/third_party/skia/include/pipe -I../../WebKit/chromium/third_party/skia/include/ports -I../../WebKit/chromium/third_party/skia/include/utils -I../../WebKit/chromium/skia/ext -I../../WebKit/chromium/third_party/skia/include/utils/mac -I../../WebKit/chromium/third_party/iccjpeg -I../../WebKit/chromium/third_party/libwebp -I../../WebKit/chromium/third_party/libpng -I../../WebKit/chromium/third_party/libxml/mac/include -I../../WebKit/chromium/third_party/libxml/src/include -I../../WebKit/chromium/third_party/libxslt -I../../WebKit/chromium/third_party/npapi -I../../WebKit/chromium/third_party/npapi/bindings -I../../WebKit/chromium/third_party/ots/include -I../../WebKit/chromium/third_party/qcms/src -I../../WebKit/chromium/third_party/sqlite -I../../WebKit/chromium/third_party/zlib -I../../WebKit/chromium/v8/include -I../../WebKit/chromium/third_party/libjpeg_turbo -I../../WebKit/chromium/third_party/leveldatabase/src/include -I../../WebKit/chromium/third_party/leveldatabase/src -I../../WebKit/chromium/third_party/harfbuzz-ng/src -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/DerivedSources/i386 -I/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/DerivedSources -fno-strict-aliasing -include /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../WebCorePrefix.h -c /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/graphics/filters/CustomFilterValidatedProgram.cpp -o /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../../WebKit/chromium/xcodebuild/WebCore.build/Release/webcore_platform.build/Objects-normal/i386/CustomFilterValidatedProgram.o
> 
> In file included from /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/graphics/filters/CustomFilterValidatedProgram.cpp:34:
> ../platform/graphics/filters/CustomFilterValidatedProgram.h:112:30: error: private field 'm_platformCompiledProgram' is not used [-Werror,-Wunused-private-field]
>     PlatformCompiledProgram* m_platformCompiledProgram;
> 
> Please don't mark patches that touch cross-platform code with [blackberry]

Is it automatically reverted, or do I need to do something?
Comment 34 Arvid Nilsson 2012-09-07 14:19:11 PDT
Removing BlackBerry tag
Comment 35 Arvid Nilsson 2012-09-07 14:53:12 PDT
Created attachment 162878 [details]
Patch

New patch without unused variables or functions (unused on ports other than BlackBerry, that is)
Comment 36 Arvid Nilsson 2012-09-08 00:25:37 PDT
Comment on attachment 162878 [details]
Patch

This one is green on all bots, let's go!
Comment 37 WebKit Review Bot 2012-09-08 00:31:37 PDT
Comment on attachment 162878 [details]
Patch

Clearing flags on attachment: 162878

Committed r127964: <http://trac.webkit.org/changeset/127964>
Comment 38 WebKit Review Bot 2012-09-08 00:31:44 PDT
All reviewed patches have been landed.  Closing bug.