Bug 76703 - [MicroData] Compilation error while building Webkit with --microdata.
: [MicroData] Compilation error while building Webkit with --microdata.
Status: RESOLVED FIXED
Product: WebKit
Classification: Unclassified
Component: HTML DOM
: 528+ (Nightly build)
: Unspecified Unspecified
: P2 Normal
Assigned To: Nobody
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-20 05:38 PST by Arko Saha
Modified: 2012-01-23 16:26 PST (History)
4 users (show)

See Also:


Attachments
Patch (4.71 KB, patch)
2012-01-20 05:54 PST, Arko Saha
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Arko Saha 2012-01-20 05:38:15 PST
MICRODATA enabled build is now failing with below errors :

1. Due to changes http://trac.webkit.org/changeset/102834. MicroDataItemList should be derived from DynamicSubtreeNodeList instead of DynamicNodeList.
In file included from Source/WebCore/dom/Document.cpp:199:0:
Source/WebCore/dom/MicroDataItemList.h: In static member function ‘static WTF::PassRefPtr<WebCore::MicroDataItemList> WebCore::MicroDataItemList::create(WTF::PassRefPtr<WebCore::Node>, const WTF::String&)’:
Source/WebCore/dom/MicroDataItemList.h:41:66: error: cannot allocate an object of abstract type ‘WebCore::MicroDataItemList’
Source/WebCore/dom/MicroDataItemList.h:37:50: note:   because the following virtual functions are pure within ‘WebCore::MicroDataItemList’:
Source/WebCore/dom/DynamicNodeList.h:44:22: note: 	virtual unsigned int WebCore::DynamicNodeList::length() const
Source/WebCore/dom/DynamicNodeList.h:45:19: note: 	virtual WebCore::Node* WebCore::DynamicNodeList::item(unsigned int) const
In file included from Source/WebCore/dom/Document.cpp:200:0:
Source/WebCore/dom/NodeRareData.h: In member function ‘WebCore::HTMLPropertiesCollection* WebCore::NodeRareData::properties(WebCore::Node*)’:
Source/WebCore/dom/NodeRareData.h:223:75: error: no matching function for call to ‘adoptPtr(WTF::PassOwnPtr<WebCore::HTMLPropertiesCollection>)’
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/EventException.o
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/EventListenerMap.o
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/EventNames.o
In file included from Source/WebCore/dom/NodeRareData.h:42:0,
                 from Source/WebCore/dom/ElementRareData.h:29,
                 from Source/WebCore/dom/Element.cpp:41:
Source/WebCore/dom/MicroDataItemList.h: In static member function ‘static WTF::PassRefPtr<WebCore::MicroDataItemList> WebCore::MicroDataItemList::create(WTF::PassRefPtr<WebCore::Node>, const WTF::String&)’:
Source/WebCore/dom/MicroDataItemList.h:41:66: error: cannot allocate an object of abstract type ‘WebCore::MicroDataItemList’
Source/WebCore/dom/MicroDataItemList.h:37:50: note:   because the following virtual functions are pure within ‘WebCore::MicroDataItemList’:
Source/WebCore/dom/DynamicNodeList.h:44:22: note: 	virtual unsigned int WebCore::DynamicNodeList::length() const
Source/WebCore/dom/DynamicNodeList.h:45:19: note: 	virtual WebCore::Node* WebCore::DynamicNodeList::item(unsigned int) const
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/EventTarget.o
In file included from Source/WebCore/dom/ElementRareData.h:29:0,
                 from Source/WebCore/dom/Element.cpp:41:
Source/WebCore/dom/NodeRareData.h: In member function ‘WebCore::HTMLPropertiesCollection* WebCore::NodeRareData::properties(WebCore::Node*)’:
Source/WebCore/dom/NodeRareData.h:223:75: error: no matching function for call to ‘adoptPtr(WTF::PassOwnPtr<WebCore::HTMLPropertiesCollection>)’
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/ExceptionBase.o
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/ExceptionCodePlaceholder.o
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/IconURL.o
cc1plus: warnings being treated as errors
Source/WebCore/dom/MicroDataItemList.h: In static member function ‘static WTF::PassRefPtr<WebCore::MicroDataItemList> WebCore::MicroDataItemList::create(WTF::PassRefPtr<WebCore::Node>, const WTF::String&)’:
Source/WebCore/dom/MicroDataItemList.h:42:5: error: control reaches end of non-void function
  CXX(target) out/Release/obj.target/webcore_dom/Source/WebCore/dom/KeyboardEvent.o
make: *** [out/Release/obj.target/webcore_dom/Source/WebCore/dom/Document.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [out/Release/obj.target/webcore_dom/Source/WebCore/dom/Element.o] Error 1

2. Due to changes in http://trac.webkit.org/changeset/103883. The signature of 'WebCore::HTMLCollection::HTMLCollection()' is changed. Now it takes Node* as first parameter, hence resulting the error. 
Source/WebCore/html/HTMLPropertiesCollection.cpp: In constructor ‘WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection(WTF::PassRefPtr<WebCore::Node>)’:
Source/WebCore/html/HTMLPropertiesCollection.cpp:59:46: error: no matching function for call to ‘WebCore::HTMLCollection::HTMLCollection(WTF::PassRefPtr<WebCore::Node>&, WebCore::CollectionType)’
Source/WebCore/html/HTMLCollection.h:65:5: note: candidates are: WebCore::HTMLCollection::HTMLCollection(WebCore::Node*, WebCore::CollectionType)
Source/WebCore/html/HTMLCollection.h:39:22: note:                 WebCore::HTMLCollection::HTMLCollection(const WebCore::HTMLCollection&)
make: *** [out/Release/obj.target/webcore_html/Source/WebCore/html/HTMLPropertiesCollection.o] Error 1
make: *** Waiting for unfinished jobs....
Comment 1 Arko Saha 2012-01-20 05:54:49 PST
Created attachment 123298 [details]
Patch
Comment 2 WebKit Review Bot 2012-01-23 16:26:53 PST
Comment on attachment 123298 [details]
Patch

Clearing flags on attachment: 123298

Committed r105655: <http://trac.webkit.org/changeset/105655>
Comment 3 WebKit Review Bot 2012-01-23 16:26:58 PST
All reviewed patches have been landed.  Closing bug.