Bug 36648 - [WML] WML enabled build failure.
Summary: [WML] WML enabled build failure.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-26 02:07 PDT by Nayan
Modified: 2010-04-05 23:20 PDT (History)
3 users (show)

See Also:


Attachments
Build failure fix (2.74 KB, patch)
2010-03-26 02:18 PDT, Nayan
eric: review-
Details | Formatted Diff | Diff
Patch with review comments incorporated. (2.74 KB, patch)
2010-03-27 01:57 PDT, Nayan
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nayan 2010-03-26 02:07:14 PDT
WML enabled builds are failing with following errors,

DerivedSources/WMLElementFactory.cpp: In function ‘WTF::PassRefPtr<WebCore::WMLElement> WebCore::optionConstructor(const WebCore::QualifiedName&, WebCore::Document*, bool)’:
DerivedSources/WMLElementFactory.cpp:154: error: cannot allocate an object of abstract type ‘WebCore::WMLOptionElement’
./WebCore/wml/WMLOptionElement.h:31: note:   because the following virtual functions are pure within ‘WebCore::WMLOptionElement’:
./WebCore/dom/OptionElement.h:37: note: 	virtual bool WebCore::OptionElement::disabled() const
DerivedSources/WMLElementFactory.cpp: In function ‘WTF::PassRefPtr<WebCore::WMLElement> WebCore::selectConstructor(const WebCore::QualifiedName&, WebCore::Document*, bool)’:
DerivedSources/WMLElementFactory.cpp:179: error: cannot allocate an object of abstract type ‘WebCore::WMLSelectElement’
./WebCore/wml/WMLSelectElement.h:30: note:   because the following virtual functions are pure within ‘WebCore::WMLSelectElement’:
./WebCore/dom/SelectElement.h:64: note: 	virtual void WebCore::SelectElement::listBoxSelectItem(int, bool, bool, bool)
make[1]: *** [DerivedSources/libwebkit_1_0_la-WMLElementFactory.lo] Error 1
Comment 1 Nayan 2010-03-26 02:10:03 PDT
This build failures are due to the following changesets,

http://trac.webkit.org/changeset/56041
http://trac.webkit.org/changeset/56180

These changesets make OptionElement::disabled() and SelectElement::listBoxSelectItem pure virtual. But, WMLOptionElement and WMLSelectElement derived from these classes doesn't contain the implementation for these pure virtual function, hence resulting in build failure.
Comment 2 Nayan 2010-03-26 02:18:42 PDT
Created attachment 51720 [details]
Build failure fix
Comment 3 Eric Seidel (no email) 2010-03-26 13:39:45 PDT
Comment on attachment 51720 [details]
Build failure fix

Our preferred style is to always mark virtual methods as virtual.  Thus listBoxSelectItem should have virtual in its declaration.
Comment 4 Nayan 2010-03-27 01:57:34 PDT
Created attachment 51821 [details]
Patch with review comments incorporated.
Comment 5 Eric Seidel (no email) 2010-04-01 23:37:20 PDT
Comment on attachment 51821 [details]
Patch with review comments incorporated.

OK.  It seems these could have just as well been in the header, but OK.
Comment 6 WebKit Commit Bot 2010-04-02 01:50:17 PDT
Comment on attachment 51821 [details]
Patch with review comments incorporated.

Rejecting patch 51821 from commit-queue.

Failed to run "['WebKitTools/Scripts/run-webkit-tests', '--no-launch-safari', '--exit-after-n-failures=1', '--quiet']" exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default'.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 12613 test cases.
fast/canvas/webgl/index-validation.html -> failed

Exiting early after 1 failures. 5081 tests run.
88.21s total testing time

5080 test cases (99%) succeeded
1 test case (<1%) had incorrect layout
1 test case (<1%) had stderr output

Full output: http://webkit-commit-queue.appspot.com/results/1607151
Comment 7 Eric Seidel (no email) 2010-04-02 17:18:05 PDT
Comment on attachment 51821 [details]
Patch with review comments incorporated.

Flaky test.
Comment 8 WebKit Commit Bot 2010-04-02 18:03:31 PDT
Comment on attachment 51821 [details]
Patch with review comments incorporated.

Clearing flags on attachment: 51821

Committed r57038: <http://trac.webkit.org/changeset/57038>
Comment 9 WebKit Commit Bot 2010-04-02 18:03:35 PDT
All reviewed patches have been landed.  Closing bug.
Comment 10 WebKit Review Bot 2010-04-02 19:18:31 PDT
http://trac.webkit.org/changeset/57039 might have broken Leopard Intel Debug (Tests)
Comment 11 Gyuyoung Kim 2010-04-05 23:20:14 PDT
There are build breaks as below because of duplicate patches.
Even though the patch of bug below already was puahed to trunk, this patch was landed again.

There are build breaks when wml is enabled.
(https://bugs.webkit.org/show_bug.cgi?id=36698).

-----------------------------------------------------------------------------
In file included from WebCore/dom/OptionElement.cpp:34:
./WebCore/wml/WMLOptionElement.h:59: error: ‘virtual bool WebCore::WMLOptionElement::disabled() const’ cannot be overloaded
./WebCore/wml/WMLOptionElement.h:44: error: with ‘virtual bool WebCore::WMLOptionElement::disabled() const’

In file included from WebCore/dom/SelectElement.cpp:48:
./WebCore/wml/WMLSelectElement.h:92: error: ‘virtual void WebCore::WMLSelectElement::listBoxSelectItem(int, bool, bool, bool)’ cannot be overloaded
./WebCore/wml/WMLSelectElement.h:90: error: with ‘virtual void WebCore::WMLSelectElement::listBoxSelectItem(int, bool, bool, bool)’
  CXX    WebCore/dom/libwebkit_1_0_la-SelectorNodeList.lo
make[1]: *** [WebCore/dom/libwebkit_1_0_la-SelectElement.lo] 
--------------------------------------------------------------------------------

It seems to me that one of patches should be removed.