Bug 53390 - Files missing ENABLE_VIDEO #ifdef
Summary: Files missing ENABLE_VIDEO #ifdef
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-29 18:02 PST by Andrew Wason
Modified: 2011-02-11 11:53 PST (History)
2 users (show)

See Also:


Attachments
wrap HTMLVideoElement references with ENABLE_VIDEO ifdef in WebGLRenderingContext.idl (4.33 KB, patch)
2011-01-29 18:02 PST, Andrew Wason
no flags Details | Formatted Diff | Diff
wrap HTMLVideoElement references with ENABLE_VIDEO ifdef in WebGLRenderingContext (5.54 KB, patch)
2011-01-31 07:59 PST, Andrew Wason
paroga: review-
Details | Formatted Diff | Diff
wrap HTMLVideoElement references with ENABLE(VIDEO) ifdef in WebGLRenderingContext (5.46 KB, patch)
2011-02-08 20:12 PST, Andrew Wason
levin: review-
Details | Formatted Diff | Diff
wrap HTMLVideoElement references with ENABLE(VIDEO) ifdef in WebGLRenderingContext (6.42 KB, patch)
2011-02-11 07:45 PST, Andrew Wason
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Wason 2011-01-29 18:02:15 PST
Created attachment 80584 [details]
wrap HTMLVideoElement references with ENABLE_VIDEO ifdef in WebGLRenderingContext.idl

Some files in Source/WebCore/html/canvas reference HTMLVideoElement without wrapping in ENABLE_VIDEO ifdef.

This is in svn r77075
(You will also need the patch from bug 53041 comment #15 applied so that --3d-canvas takes effect)


QTDIR=/usr/share/qt4 ./build-webkit --qt --makeargs="-j5" --debug --3d-canvas --no-video

Build fails with:

g++ -c -pipe -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -Werror -ffunction-sections -fdata-sections -g -D_REENTRANT -fPIC -DENABLE_WEBGL=1 -DBUILDING_QT__=1 -DQT_MAKEDLL -DBUILDING_WEBKIT -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_DATABASE=1 -DENABLE_EVENTSOURCE=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_SQLITE=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=1 -DENABLE_XPATH=1 -DENABLE_WCSS=0 -DENABLE_WML=0 -DENABLE_SHARED_WORKERS=1 -DENABLE_WORKERS=1 -DENABLE_XHTMLMP=0 -DENABLE_DATAGRID=0 -DENABLE_METER_TAG=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_BLOB=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_IMAGE_RESIZER=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INSPECTOR=1 -DENABLE_3D_RENDERING=1 -DENABLE_WEB_AUDIO=0 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_USE=1 -DENABLE_DATALIST=1 -DENABLE_TILED_BACKING_STORE=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_XSLT=1 -DENABLE_QT_BEARER=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIDEO=0 -DXP_UNIX -DENABLE_NETSCAPE_PLUGIN_METADATA_CACHE=1 -DQT_XMLPATTERNS_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I../../../Source/WebCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4 -I../../../Source/WebCore/bridge/qt -I../../../Source/WebCore/page/qt -I../../../Source/WebCore/platform/graphics/qt -I../../../Source/WebCore/platform/network/qt -I../../../Source/WebCore/platform/qt -I../../../Source/WebKit/qt/Api -I../../../Source/WebKit/qt/WebCoreSupport -I../../../Source/WebCore -I../../../Source/WebCore/accessibility -I../../../Source/WebCore/bindings -I../../../Source/WebCore/bindings/generic -I../../../Source/WebCore/bridge -I../../../Source/WebCore/css -I../../../Source/WebCore/dom -I../../../Source/WebCore/dom/default -I../../../Source/WebCore/editing -I../../../Source/WebCore/fileapi -I../../../Source/WebCore/history -I../../../Source/WebCore/html -I../../../Source/WebCore/html/canvas -I../../../Source/WebCore/html/parser -I../../../Source/WebCore/html/shadow -I../../../Source/WebCore/inspector -I../../../Source/WebCore/loader -I../../../Source/WebCore/loader/appcache -I../../../Source/WebCore/loader/archive -I../../../Source/WebCore/loader/cache -I../../../Source/WebCore/loader/icon -I../../../Source/WebCore/mathml -I../../../Source/WebCore/notifications -I../../../Source/WebCore/page -I../../../Source/WebCore/page/animation -I../../../Source/WebCore/platform -I../../../Source/WebCore/platform/animation -I../../../Source/WebCore/platform/audio -I../../../Source/WebCore/platform/graphics -I../../../Source/WebCore/platform/graphics/filters -I../../../Source/WebCore/platform/graphics/transforms -I../../../Source/WebCore/platform/image-decoders -I../../../Source/WebCore/platform/mock -I../../../Source/WebCore/platform/network -I../../../Source/WebCore/platform/sql -I../../../Source/WebCore/platform/text -I../../../Source/WebCore/platform/text/transcoder -I../../../Source/WebCore/plugins -I../../../Source/WebCore/rendering -I../../../Source/WebCore/rendering/mathml -I../../../Source/WebCore/rendering/style -I../../../Source/WebCore/rendering/svg -I../../../Source/WebCore/storage -I../../../Source/WebCore/svg -I../../../Source/WebCore/svg/animation -I../../../Source/WebCore/svg/graphics -I../../../Source/WebCore/svg/graphics/filters -I../../../Source/WebCore/svg/properties -I../../../Source/WebCore/webaudio -I../../../Source/WebCore/websockets -I../../../Source/WebCore/wml -I../../../Source/WebCore/workers -I../../../Source/WebCore/xml -Igenerated -I../../../Source/WebCore/bridge/jsc -I../../../Source/WebCore/bindings/js -I/home/aw/Projects/foundation/WebKit/Source/WebCore/bindings/js/specialization -I../../../Source/WebCore/bridge/c -I../../../Source/JavaScriptCore -I../../../Source -I../../../Source/ThirdParty -I../../../Source/JavaScriptCore/assembler -I../../../Source/JavaScriptCore/bytecode -I../../../Source/JavaScriptCore/bytecompiler -I../../../Source/JavaScriptCore/debugger -I../../../Source/JavaScriptCore/interpreter -I../../../Source/JavaScriptCore/jit -I../../../Source/JavaScriptCore/parser -I../../../Source/JavaScriptCore/pcre -I../../../Source/JavaScriptCore/profiler -I../../../Source/JavaScriptCore/runtime -I../../../Source/JavaScriptCore/wtf -I../../../Source/JavaScriptCore/wtf/gobject -I/home/aw/Projects/foundation/WebKit/Source/JavaScriptCore/wtf/symbian -I../../../Source/JavaScriptCore/wtf/unicode -I../../../Source/JavaScriptCore/yarr -I../../../Source/JavaScriptCore/API -I../../../Source/JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated -I../include/QtWebKit -I/usr/src/3rdparty/sqlite/ -I/usr/X11R6/include -I/usr/X11R6/include -I. -I../../../Source/WebCore -I. -o obj/debug/JSWebGLRenderingContext.o generated/JSWebGLRenderingContext.cpp


generated/JSWebGLRenderingContext.cpp: In function ‘void* WebCore::jsWebGLRenderingContextPrototypeFunctionTexImage2D5(JSC::ExecState*)’:
generated/JSWebGLRenderingContext.cpp:3012: error: ‘JSHTMLVideoElement’ has not been declared
generated/JSWebGLRenderingContext.cpp:3014: error: ‘toHTMLVideoElement’ was not declared in this scope
generated/JSWebGLRenderingContext.cpp: In function ‘void* WebCore::jsWebGLRenderingContextPrototypeFunctionTexImage2D(JSC::ExecState*)’:
generated/JSWebGLRenderingContext.cpp:3033: error: ‘JSHTMLVideoElement’ has not been declared
generated/JSWebGLRenderingContext.cpp: In function ‘void* WebCore::jsWebGLRenderingContextPrototypeFunctionTexSubImage2D5(JSC::ExecState*)’:
generated/JSWebGLRenderingContext.cpp:3218: error: ‘JSHTMLVideoElement’ has not been declared
generated/JSWebGLRenderingContext.cpp:3220: error: ‘toHTMLVideoElement’ was not declared in this scope
generated/JSWebGLRenderingContext.cpp: In function ‘void* WebCore::jsWebGLRenderingContextPrototypeFunctionTexSubImage2D(JSC::ExecState*)’:
generated/JSWebGLRenderingContext.cpp:3239: error: ‘JSHTMLVideoElement’ has not been declared
make[1]: *** [obj/debug/JSWebGLRenderingContext.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/aw/Projects/foundation/WebKit/WebKitBuild/Debug/WebCore'
make: *** [sub-WebCore-make_default-ordered] Error 2
Comment 1 Andrew Wason 2011-01-31 07:59:04 PST
Created attachment 80642 [details]
wrap HTMLVideoElement references with ENABLE_VIDEO ifdef in WebGLRenderingContext

regenerate patch using prepare-ChangeLog and svn-create-patch
Comment 2 Patrick R. Gansterer 2011-02-08 16:41:11 PST
Comment on attachment 80642 [details]
wrap HTMLVideoElement references with ENABLE_VIDEO ifdef in WebGLRenderingContext

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

> Source/WebCore/html/canvas/WebGLRenderingContext.cpp:2990
> +#if defined(ENABLE_VIDEO) && ENABLE_VIDEO

Please use the ENABLE macro in non-idl files. This should be written as ENABLE(VIDEO).
Comment 3 Andrew Wason 2011-02-08 20:12:29 PST
Created attachment 81738 [details]
wrap HTMLVideoElement references with ENABLE(VIDEO) ifdef in WebGLRenderingContext

Use ENABLE(VIDEO) in non-idl file.
Comment 4 David Levin 2011-02-10 17:55:40 PST
Comment on attachment 81738 [details]
wrap HTMLVideoElement references with ENABLE(VIDEO) ifdef in WebGLRenderingContext

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

> Source/WebCore/html/canvas/WebGLRenderingContext.cpp:2988
>  PassRefPtr<Image> WebGLRenderingContext::videoFrameToImage(HTMLVideoElement* video)

Can't you put the #if ENABLE(VIDEO) on the outside of this method? (In the header too.)

Ditto for the other instances in this file.
Comment 5 Andrew Wason 2011-02-11 07:45:33 PST
Created attachment 82136 [details]
wrap HTMLVideoElement references with ENABLE(VIDEO) ifdef in WebGLRenderingContext

Put #ifdefs outside methods, and in header.
Comment 6 David Levin 2011-02-11 09:07:09 PST
Comment on attachment 82136 [details]
wrap HTMLVideoElement references with ENABLE(VIDEO) ifdef in WebGLRenderingContext

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

> Source/WebCore/ChangeLog:8
> +        No new tests.

ok, note that typically this should say explain why there are no new test (or have the tests).

For example, "No new functionality exposed so no new tests."
Comment 7 WebKit Commit Bot 2011-02-11 11:53:32 PST
Comment on attachment 82136 [details]
wrap HTMLVideoElement references with ENABLE(VIDEO) ifdef in WebGLRenderingContext

Clearing flags on attachment: 82136

Committed r78355: <http://trac.webkit.org/changeset/78355>
Comment 8 WebKit Commit Bot 2011-02-11 11:53:36 PST
All reviewed patches have been landed.  Closing bug.