Bug 76703

Summary: [MicroData] Compilation error while building Webkit with --microdata.
Product: WebKit Reporter: Arko Saha <arko>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, kling, rniwa, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

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.