Bug 136110 - [EFL] Build break occurs when ENABLE_GAMEPAD_DEPRECATED option are turned on.
Summary: [EFL] Build break occurs when ENABLE_GAMEPAD_DEPRECATED option are turned on.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 134076
  Show dependency treegraph
 
Reported: 2014-08-20 11:03 PDT by KwangHyuk
Modified: 2014-08-22 23:29 PDT (History)
6 users (show)

See Also:


Attachments
Patch to fix build break when ENABLE_GAMEPAD_DEPRECATED is on. (2.93 KB, patch)
2014-08-20 11:54 PDT, KwangHyuk
gyuyoung.kim: review+
Details | Formatted Diff | Diff
Patch. (3.14 KB, patch)
2014-08-21 11:37 PDT, KwangHyuk
no flags Details | Formatted Diff | Diff
Proposed patch (3.28 KB, patch)
2014-08-21 19:05 PDT, Gyuyoung Kim
no flags Details | Formatted Diff | Diff
patch to apply reviewer's suggestion. (2.64 KB, patch)
2014-08-22 00:54 PDT, KwangHyuk
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description KwangHyuk 2014-08-20 11:03:57 PDT
In file included from /home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:25:0:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:34:101: error: ‘Gamepad’ was not declared in this scope
     static JSGamepad* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr<Gamepad> impl)
                                                                                                     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:34:108: error: template argument 1 is invalid
     static JSGamepad* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr<Gamepad> impl)
                                                                                                            ^
In file included from /home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:25:0:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:53:5: error: ‘Gamepad’ does not name a type
     Gamepad& impl() const { return *m_impl; }
     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:65:5: error: ‘Gamepad’ does not name a type
     Gamepad* m_impl;
     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:67:63: error: ‘Gamepad’ was not declared in this scope
     JSGamepad(JSC::Structure*, JSDOMGlobalObject*, PassRefPtr<Gamepad>);
                                                               ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:67:70: error: template argument 1 is invalid
     JSGamepad(JSC::Structure*, JSDOMGlobalObject*, PassRefPtr<Gamepad>);
                                                                      ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h: In member function ‘void WebCore::JSGamepad::releaseImpl()’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:54:26: error: ‘m_impl’ was not declared in this scope
     void releaseImpl() { m_impl->deref(); m_impl = 0; }
                          ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h: In member function ‘void WebCore::JSGamepad::releaseImplIfNotNull()’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:58:13: error: ‘m_impl’ was not declared in this scope
         if (m_impl) {
             ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h: At global scope:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:83:61: error: ‘Gamepad’ has not been declared
 inline JSC::WeakHandleOwner* wrapperOwner(DOMWrapperWorld&, Gamepad*)
                                                             ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:89:53: error: ‘Gamepad’ has not been declared
 inline void* wrapperContext(DOMWrapperWorld& world, Gamepad*)
                                                     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:94:56: error: ‘Gamepad’ has not been declared
 JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Gamepad*);
                                                        ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:95:1: error: ‘Gamepad’ does not name a type
 Gamepad* toGamepad(JSC::JSValue);
 ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:93:88: error: ‘Gamepad’ was not declared in this scope
 JSGamepad::JSGamepad(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr<Gamepad> impl)
                                                                                        ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:93:95: error: template argument 1 is invalid
 JSGamepad::JSGamepad(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr<Gamepad> impl)
                                                                                               ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: In constructor ‘WebCore::JSGamepad::JSGamepad(JSC::Structure*, WebCore::JSDOMGlobalObject*, int)’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:95:7: error: class ‘WebCore::JSGamepad’ does not have any field named ‘m_impl’
     , m_impl(impl.leakRef())
       ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:95:19: error: request for member ‘leakRef’ in ‘impl’, which is of non-class type ‘int’
     , m_impl(impl.leakRef())
                   ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: In function ‘JSC::EncodedJSValue WebCore::jsGamepadId(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName)’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:131:5: error: ‘Gamepad’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:131:14: error: ‘impl’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
              ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:131:33: error: ‘class WebCore::JSGamepad’ has no member named ‘impl’
     Gamepad& impl = castedThis->impl();
                                 ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: In function ‘JSC::EncodedJSValue WebCore::jsGamepadIndex(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName)’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:148:5: error: ‘Gamepad’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:148:14: error: ‘impl’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
              ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:148:33: error: ‘class WebCore::JSGamepad’ has no member named ‘impl’
     Gamepad& impl = castedThis->impl();
                                 ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: In function ‘JSC::EncodedJSValue WebCore::jsGamepadTimestamp(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName)’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:165:5: error: ‘Gamepad’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:165:14: error: ‘impl’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
              ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:165:33: error: ‘class WebCore::JSGamepad’ has no member named ‘impl’
     Gamepad& impl = castedThis->impl();
                                 ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: In function ‘JSC::EncodedJSValue WebCore::jsGamepadAxes(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName)’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:182:5: error: ‘Gamepad’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:182:14: error: ‘impl’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
              ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:182:33: error: ‘class WebCore::JSGamepad’ has no member named ‘impl’
     Gamepad& impl = castedThis->impl();
                                 ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: In function ‘JSC::EncodedJSValue WebCore::jsGamepadButtons(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName)’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:199:5: error: ‘Gamepad’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:199:14: error: ‘impl’ was not declared in this scope
     Gamepad& impl = castedThis->impl();
              ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:199:33: error: ‘class WebCore::JSGamepad’ has no member named ‘impl’
     Gamepad& impl = castedThis->impl();
                                 ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: In member function ‘virtual void WebCore::JSGamepadOwner::finalize(JSC::Handle<JSC::Unknown>, void*)’:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:216:39: error: ‘class WebCore::JSGamepad’ has no member named ‘impl’
     uncacheWrapper(world, &jsGamepad->impl(), jsGamepad);
                                       ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp: At global scope:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:220:69: error: ‘Gamepad’ has not been declared
 JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, Gamepad* impl)
                                                                     ^
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:236:1: error: ‘Gamepad’ does not name a type
 Gamepad* toGamepad(JSC::JSValue value)
 ^
In file included from /home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:28:0:
/home/hyuki/git/webkit/Source/WebCore/bindings/js/JSDOMBinding.h: In instantiation of ‘WebCore::JSDOMWrapper* WebCore::createWrapper(WebCore::JSDOMGlobalObject*, DOMClass*) [with WrapperClass = WebCore::JSGamepad; DOMClass = int]’:
/home/hyuki/git/webkit/Source/WebCore/bindings/js/JSDOMBinding.h:253:63:   required from ‘JSC::JSValue WebCore::createNewWrapper(WebCore::JSDOMGlobalObject*, DOMClass*) [with WrapperClass = WebCore::JSGamepad; DOMClass = int]’
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:233:58:   required from here
/home/hyuki/git/webkit/Source/WebCore/bindings/js/JSDOMBinding.h:229:133: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive]
     WrapperClass* wrapper = WrapperClass::create(getDOMStructure<WrapperClass>(globalObject->vm(), globalObject), globalObject, node);
                                                                                                                                     ^
In file included from /home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.cpp:25:0:
/home/hyuki/git/webkit/WebKitBuild/Release/DerivedSources/WebCore/JSGamepad.h:34:23: error:   initializing argument 3 of ‘static WebCore::JSGamepad* WebCore::JSGamepad::create(JSC::Structure*, WebCore::JSDOMGlobalObject*, int)’ [-fpermissive]
     static JSGamepad* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr<Gamepad> impl)
                       ^
[ 71%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/JSGeoposition.cpp.o
make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/JSGamepad.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
make: *** [all] Error 2
Comment 1 KwangHyuk 2014-08-20 11:54:19 PDT
Created attachment 236887 [details]
Patch to fix build break when ENABLE_GAMEPAD_DEPRECATED is on.
Comment 2 KwangHyuk 2014-08-21 11:37:15 PDT
Created attachment 236931 [details]
Patch.

To fix gtk build break.
Comment 3 Gyuyoung Kim 2014-08-21 19:05:54 PDT
Created attachment 236956 [details]
Proposed patch
Comment 4 Gyuyoung Kim 2014-08-21 19:08:31 PDT
Comment on attachment 236931 [details]
Patch.

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

> Source/WebCore/CMakeLists.txt:-7
> -    "${WEBCORE_DIR}/Modules/gamepad/deprecated"

AFAIK, GAMEPAD_DEPRECATED is only needed for EFL port as legacy. right ? If so, I think other ports should follow upcoming GAMEPAD implementation. And EFL port only supports GAMEPAD_DEPRECATED until we need to use it. So, how about using my proposal ?
Comment 5 KwangHyuk 2014-08-21 19:12:22 PDT
(In reply to comment #4)
> (From update of attachment 236931 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=236931&action=review
> 
> > Source/WebCore/CMakeLists.txt:-7
> > -    "${WEBCORE_DIR}/Modules/gamepad/deprecated"
> 
> AFAIK, GAMEPAD_DEPRECATED is only needed for EFL port as legacy. right ? If so, I think other ports should follow upcoming GAMEPAD implementation. And EFL port only supports GAMEPAD_DEPRECATED until we need to use it. So, how about using my proposal ?

Looks nice. :)
Comment 6 Gyuyoung Kim 2014-08-21 19:13:43 PDT
(In reply to comment #5)
> (In reply to comment #4)
> > (From update of attachment 236931 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=236931&action=review
> > 
> > > Source/WebCore/CMakeLists.txt:-7
> > > -    "${WEBCORE_DIR}/Modules/gamepad/deprecated"
> > 
> > AFAIK, GAMEPAD_DEPRECATED is only needed for EFL port as legacy. right ? If so, I think other ports should follow upcoming GAMEPAD implementation. And EFL port only supports GAMEPAD_DEPRECATED until we need to use it. So, how about using my proposal ?
> 
> Looks nice. :)

Please upload my proposal with updated ChangeLog.
Comment 7 KwangHyuk 2014-08-22 00:54:58 PDT
Created attachment 236973 [details]
patch to apply reviewer's suggestion.
Comment 8 WebKit Commit Bot 2014-08-22 23:29:50 PDT
Comment on attachment 236973 [details]
patch to apply reviewer's suggestion.

Clearing flags on attachment: 236973

Committed r172882: <http://trac.webkit.org/changeset/172882>
Comment 9 WebKit Commit Bot 2014-08-22 23:29:54 PDT
All reviewed patches have been landed.  Closing bug.