./Tools/Scripts/build-webkit --efl --cmakeargs="-DSHARED_CORE=ON" --minimal fails with this error: [Creating forwarding header foScanning dependencies of target DefaultTheme [ 0%] Generating ../../../../../WebCore/platform/efl/DefaultTheme/default.edj edje_cc: Error. file not found: -DCURSOR_IMAGE_DIR=/home/ed/git/wk/WebKit/Source/WebCore/Resources. Usage: edje_cc [OPTIONS] input_file.edc [output_file.edj] Where OPTIONS is one or more of: -w files.txt Dump all sources files path into files.txt -id image/directory Add a directory to look in for relative path images -fd font/directory Add a directory to look in for relative path fonts -sd sound/directory Add a directory to look in for relative path sounds samples -td temp/directory Directory to store temporary files -v Verbose output -no-lossy Do NOT allow images to be lossy -no-comp Do NOT allow images to be stored with lossless compression -no-raw Do NOT allow images to be stored with zero compression (raw) -no-save Do NOT store the input EDC file in the EDJ file -min-quality VAL Do NOT allow lossy images with quality < VAL (0-100) -max-quality VAL Do NOT allow lossy images with quality > VAL (0-100) -Ddefine_val=to CPP style define to define input macro definitions to the .edc source -fastcomp Use a faster compression algorithm (LZ4) (mutually exclusive with -fastdecomp) -fastdecomp Use a faster decompression algorithm (LZ4HC) (mutually exclusive with -fastcomp) -threads Compile the edje file using multiple parallel threads (by default) -nothreads Compile the edje file using only the main loop make[2]: *** [WebCore/platform/efl/DefaultTheme/default.edj] Error 255 make[1]: *** [Source/WebCore/platform/efl/DefaultTheme/CMakeFiles/DefaultTheme.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
Created attachment 195858 [details] Fix for the first build failure.
Second failure: /home/ed/git/wk/WebKit/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp: In function `void WebCore::restartedCallback(SoupMessage*, gpointer)': /home/ed/git/wk/WebKit/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:397:29: error: unused variable `d' [-Werror=unused-variable] [ 82%] Building CXX object Source/WebCore/CMakeFiles/webcore_efl.dir/platform/text/TextCodecICU.cpp.o [ 82%] Building CXX object Source/WebCore/CMakeFiles/webcore_efl.dir/platform/text/TextEncodingDetectorICU.cpp.o [ 82%] Building CXX object Source/WebCore/CMakeFiles/webcore_efl.dir/plugins/PluginPackageNone.cpp.o cc1plus: all warnings being treated as errors make[2]: *** [Source/WebCore/CMakeFiles/webcore_efl.dir/platform/network/soup/ResourceHandleSoup.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Source/WebCore/CMakeFiles/webcore_efl.dir/all] Error 2 make: *** [all] Error 2
Created attachment 195859 [details] Fix for the first and second build failures
Third failure: /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:210:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:211:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:212:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:213:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:214:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:215:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:216:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:217:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:218:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:219:1: error: size of array `dummymismatchingEnums' is negative /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:220:1: error: size of array `dummymismatchingEnums' is negative make[2]: *** [Source/WebKit2/CMakeFiles/ewebkit2.dir/UIProcess/API/efl/ewk_context_menu_item.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Source/WebKit2/CMakeFiles/ewebkit2.dir/all] Error 2 make: *** [all] Error 2
next one: /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:152:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:153:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:154:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:155:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:156:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:157:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:158:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:159:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:160:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:161:1: error: size of array `dummymismatching_enums' is negative /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:162:1: error: size of array `dummymismatching_enums' is negative make[2]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/efl/WebCoreSupport/AssertMatchingEnums.cpp.o] Error 1 make[1]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/all] Error 2 make: *** [all] Error 2
/home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp: In static member function `static void DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled(bool)': /home/ed/git/wk/WebKit/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp:316:5: error: `setSeamlessIFramesEnabled' is not a member of `WebCore::RuntimeEnabledFeatures' make[2]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp.o] Error 1 make[1]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/all] Error 2
Created attachment 195871 [details] fixes for --minimal build
next one: /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp: In member function `void EwkContextMenu::contextMenuItemSelected(const WebKit::WebContextMenuItemData&)': /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:91:23: error: invalid use of incomplete type `class WebKit::WebContextMenuProxyEfl' In file included from /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:30:0: /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/EwkView.h:70:7: error: forward declaration of `class WebKit::WebContextMenuProxyEfl' /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp: In function `Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu*, Ewk_Context_Menu_Item*)': /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:146:119: error: invalid use of incomplete type `class WebKit::WebContextMenuItemData' In file included from /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:30:0: /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/EwkView.h:69:7: error: forward declaration of `class WebKit::WebContextMenuItemData' In file included from /home/ed/git/wk/WebKit/Source/WTF/wtf/text/CString.h:31:0, from /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/EwkViewCallbacks.h:34, from /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/EwkView.h:26, from /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:30: /home/ed/git/wk/WebKit/Source/WTF/wtf/Vector.h: In instantiation of `const T& WTF::Vector<T, inlineCapacity>::at(size_t) const [with T = WebKit::WebContextMenuItemData; long unsigned int inlineCapacity = 0ul; size_t = long unsigned int]': /home/ed/git/wk/WebKit/Source/WTF/wtf/Vector.h:563:58: required from `const T& WTF::Vector<T, inlineCapacity>::operator[](size_t) const [with T = WebKit::WebContextMenuItemData; long unsigned int inlineCapacity = 0ul; size_t = long unsigned int]' /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:46:104: required from here /home/ed/git/wk/WebKit/Source/WTF/wtf/Vector.h:559:39: error: invalid use of incomplete type `class WebKit::WebContextMenuItemData' In file included from /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:30:0: /home/ed/git/wk/WebKit/Source/WebKit2/UIProcess/API/efl/EwkView.h:69:7: error: forward declaration of `class WebKit::WebContextMenuItemData' [ 92%] Building CXX object Source/WebKit2/CMakeFiles/ewebkit2.dir/UIProcess/API/efl/ewk_favicon_database.cpp.o make[2]: *** [Source/WebKit2/CMakeFiles/ewebkit2.dir/UIProcess/API/efl/ewk_context_menu.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Source/WebKit2/CMakeFiles/ewebkit2.dir/all] Error 2 make: *** [all] Error 2
/home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_security_origin.cpp: In function `uint64_t ewk_security_origin_web_database_quota_get(const Ewk_Security_Origin*)': /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_security_origin.cpp:85:5: error: expected `;' before `return' /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_security_origin.cpp:87:1: error: no return statement in function returning non-void [-Werror=return-type] /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_security_origin.cpp: At global scope: /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_security_origin.cpp:89:6: warning: unused parameter `quota' [-Wunused-parameter] cc1plus: all warnings being treated as errors make[2]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/efl/ewk/ewk_security_origin.cpp.o] Error 1 make[1]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/all] Error 2 make: *** [all] Error 2
/home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_view.cpp: In function `Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data*)': /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_view.cpp:829:5: error: `setSeamlessIFramesEnabled' is not a member of `WebCore::RuntimeEnabledFeatures' /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_view.cpp: At global scope: /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_view.cpp:4361:11: warning: unused parameter `ewkView' [-Wunused-parameter] /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_view.cpp:4361:11: warning: unused parameter `pageVisibilityState' [-Wunused-parameter] /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_view.cpp:4361:11: warning: unused parameter `initialState' [-Wunused-parameter] /home/ed/git/wk/WebKit/Source/WebKit/efl/ewk/ewk_view.cpp:4376:27: warning: unused parameter `ewkView' [-Wunused-parameter] make[2]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/efl/ewk/ewk_view.cpp.o] Error 1 make[1]: *** [Source/WebKit/CMakeFiles/ewebkit.dir/all] Error 2 make: *** [all] Error 2 Sorry for the spam, guys. I didn't expect that there are so many failures. If it's annoying for you just let me know - I'll stop it and submit patch when I'm done.
Created attachment 195873 [details] fixes for --minimal build
Created attachment 195997 [details] Patch
Attachment 195997 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/editing/FrameSelection.cpp', u'Source/WebCore/editing/FrameSelection.h', u'Source/WebCore/editing/chromium/FrameSelectionChromium.cpp', u'Source/WebCore/platform/efl/DefaultTheme/CMakeLists.txt', u'Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp', u'Source/WebKit/efl/ChangeLog', u'Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp', u'Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp', u'Source/WebKit/efl/ewk/ewk_security_origin.cpp', u'Source/WebKit/efl/ewk/ewk_view.cpp', u'Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp', u'Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp', u'Source/WebKit2/UIProcess/efl/WebView.cpp', u'Tools/DumpRenderTree/AccessibilityController.cpp', u'Tools/DumpRenderTree/AccessibilityUIElement.cpp', u'Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp', u'Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h', u'Tools/DumpRenderTree/efl/TestRunnerEfl.cpp']" exit_code: 1 Tools/DumpRenderTree/AccessibilityUIElement.cpp:32: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 18 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 195997 [details] Patch Attachment 195997 [details] did not pass qt-ews (qt): Output: http://webkit-commit-queue.appspot.com/results/17343531
Comment on attachment 195997 [details] Patch Attachment 195997 [details] did not pass qt-wk2-ews (qt): Output: http://webkit-commit-queue.appspot.com/results/17387126
Created attachment 196012 [details] Patch
Comment on attachment 196012 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=196012&action=review > Source/WebCore/editing/FrameSelection.h:333 > #if !(PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(CHROMIUM) || PLATFORM(EFL)) > +#if HAVE(ACCESSIBILITY) Are you sure that HAVE(ACCESSIBILITY) defined for all these ports? Also do these ports all allow turning ACCESSIBILITY off ? Not all configuration options are valid for all ports. Shouldn't this be the following instead: #if !(PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(CHROMIUM) || (PLATFORM(EFL) && HAVE(ACCESSIBILITY))) > Source/WebCore/editing/chromium/FrameSelectionChromium.cpp:39 > +#if HAVE(ACCESSIBILITY) This should not be necessary as this is file is not used for EFL.
> Are you sure that HAVE(ACCESSIBILITY) defined for all these ports? Also do these ports all allow turning ACCESSIBILITY off ? Not all configuration options are valid for all ports. I thought it would break builds for those platforms if it's not defined. grep -r 'HAVE(ACCESSIBILITY)' Source/* |grep 'chromium\|mac\|gtk' shows that it's used in all 3 platforms in question. > > Source/WebCore/editing/chromium/FrameSelectionChromium.cpp:39 > > +#if HAVE(ACCESSIBILITY) > > This should not be necessary as this is file is not used for EFL. Valid point. I'll updated the patch. Thank you for review!
Looking at how my other changes are reviewed I decided to leave only accessibility-related changes in this bug. I think it would give this patch better chance to be landed in the tree.
Created attachment 196415 [details] Patch
Comment on attachment 196415 [details] Patch Attachment 196415 [details] did not pass cr-android-ews (chromium-android): Output: http://webkit-commit-queue.appspot.com/results/17449001
I'll add back fix change for FrameSelectionChromium.cpp as it breaks android build: ../../Source/WebCore/editing/chromium/FrameSelectionChromium.cpp:40:60: error: no 'void WebCore::FrameSelection::notifyAccessibilityForSelectionChange()' member function declared in class 'WebCore::FrameSelection' ninja: build stopped: subcommand failed. Failed to run "['Tools/Scripts/build-webkit', '--release', '--chromium', '--update-chromium', '--chromium-android']" exit_code: 1 mber function declared in class 'WebCore::FrameSelection' ninja: build stopped: subcommand failed.
Created attachment 196495 [details] Patch Returned back change in WebCore/editing/chromium/FrameSelectionChromium.cpp to fix Android build
Attachment 196495 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/editing/FrameSelection.cpp', u'Source/WebCore/editing/FrameSelection.h', u'Source/WebCore/editing/chromium/FrameSelectionChromium.cpp', u'Tools/ChangeLog', u'Tools/DumpRenderTree/AccessibilityController.cpp', u'Tools/DumpRenderTree/AccessibilityUIElement.cpp', u'Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp', u'Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h']" exit_code: 1 Source/WebCore/ChangeLog:9: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] Total errors found: 1 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 196503 [details] Patch Returned back change in WebCore/editing/chromium/FrameSelectionChromium.cpp to fix Android build
Created attachment 196723 [details] Patch Rebased. Please, review. Thanks.
Comment on attachment 196723 [details] Patch Attachment 196723 [details] did not pass qt-ews (qt): Output: http://webkit-commit-queue.appspot.com/results/17525334
Comment on attachment 196723 [details] Patch Attachment 196723 [details] did not pass qt-wk2-ews (qt): Output: http://webkit-commit-queue.appspot.com/results/17472424
closing this messy bug. I'll create new one with clear description.