diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-07-30 11:37:48 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-07-30 11:38:52 +0200 |
commit | 89e2486a48b739f8d771d69ede5a6a1b244a10fc (patch) | |
tree | 503b1a7812cf97d93704c32437eb5f62dc1a1ff9 /Tools/MiniBrowser | |
parent | 625f028249cb37c55bbbd153f3902afd0b0756d9 (diff) | |
download | qtwebkit-89e2486a48b739f8d771d69ede5a6a1b244a10fc.tar.gz |
Imported WebKit commit 0282df8ca7c11d8c8a66ea18543695c69f545a27 (http://svn.webkit.org/repository/webkit/trunk@124002)
New snapshot with prospective Mountain Lion build fix
Diffstat (limited to 'Tools/MiniBrowser')
-rw-r--r-- | Tools/MiniBrowser/efl/CMakeLists.txt | 12 | ||||
-rw-r--r-- | Tools/MiniBrowser/efl/main.c | 73 |
2 files changed, 66 insertions, 19 deletions
diff --git a/Tools/MiniBrowser/efl/CMakeLists.txt b/Tools/MiniBrowser/efl/CMakeLists.txt index 59cfc4fd1..fc4fcf370 100644 --- a/Tools/MiniBrowser/efl/CMakeLists.txt +++ b/Tools/MiniBrowser/efl/CMakeLists.txt @@ -12,7 +12,6 @@ SET(MiniBrowser_INCLUDE_DIRECTORIES ${EVAS_INCLUDE_DIRS} ${WEBKIT2_DIR}/UIProcess/API/efl ${WEBKIT2_DIR} - ${DERIVED_SOURCES_WEBKIT2_DIR}/include ${CMAKE_SOURCE_DIR}/Source ) @@ -47,14 +46,6 @@ IF (ENABLE_GLIB_SUPPORT) ) ENDIF () -ADD_CUSTOM_TARGET(forwarding-headerMiniBrowserEfl - COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${MiniBrowser_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include efl -) - -ADD_CUSTOM_TARGET(forwarding-headerMiniBrowserSoup - COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${MiniBrowser_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include soup -) - ADD_DEFINITIONS(-DTHEME_DIR=\"${THEME_BINARY_DIR}\") INCLUDE_DIRECTORIES(${MiniBrowser_INCLUDE_DIRECTORIES}) @@ -63,6 +54,3 @@ ADD_EXECUTABLE(MiniBrowser ${MiniBrowser_SOURCES}) TARGET_LINK_LIBRARIES(MiniBrowser ${MiniBrowser_LIBRARIES}) ADD_TARGET_PROPERTIES(MiniBrowser LINK_FLAGS "${MiniBrowser_LINK_FLAGS}") SET_TARGET_PROPERTIES(MiniBrowser PROPERTIES FOLDER "Tools") - -ADD_DEPENDENCIES(MiniBrowser forwarding-headerMiniBrowserEfl) -ADD_DEPENDENCIES(MiniBrowser forwarding-headerMiniBrowserSoup) diff --git a/Tools/MiniBrowser/efl/main.c b/Tools/MiniBrowser/efl/main.c index b104289e7..02630f1a8 100644 --- a/Tools/MiniBrowser/efl/main.c +++ b/Tools/MiniBrowser/efl/main.c @@ -43,6 +43,29 @@ typedef struct _MiniBrowser { Evas_Object *browser; } MiniBrowser; +static const Ecore_Getopt options = { + "MiniBrowser", + "%prog [options] [url]", + "0.0.1", + "(C)2012 Samsung Electronics\n", + "", + "Test Web Browser using the Enlightenment Foundation Libraries of WebKit2", + EINA_TRUE, { + ECORE_GETOPT_STORE_STR + ('e', "engine", "ecore-evas engine to use."), + ECORE_GETOPT_CALLBACK_NOARGS + ('E', "list-engines", "list ecore-evas engines.", + ecore_getopt_callback_ecore_evas_list_engines, NULL), + ECORE_GETOPT_VERSION + ('V', "version"), + ECORE_GETOPT_COPYRIGHT + ('R', "copyright"), + ECORE_GETOPT_HELP + ('h', "help"), + ECORE_GETOPT_SENTINEL + } +}; + static Eina_Bool main_signal_exit(void *data, int ev_type, void *ev) { ecore_main_loop_quit(); @@ -154,11 +177,27 @@ on_error(void *user_data, Evas_Object *webview, void *event_info) eina_strbuf_free(buffer); } -static MiniBrowser *browserCreate(const char *url) +static int +quit(Eina_Bool success, const char *msg) +{ + ewk_shutdown(); + + if (msg) + fputs(msg, (success) ? stdout : stderr); + + if (!success) + return EXIT_FAILURE; + + return EXIT_SUCCESS; +} + +static MiniBrowser *browserCreate(const char *url, const char *engine) { MiniBrowser *app = malloc(sizeof(MiniBrowser)); - app->ee = ecore_evas_new(0, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0); + app->ee = ecore_evas_new(engine, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0); + if (!app->ee) + return 0; ecore_evas_title_set(app->ee, APP_NAME); ecore_evas_callback_resize_set(app->ee, on_ecore_evas_resize); @@ -202,16 +241,38 @@ int main(int argc, char *argv[]) { const char *url; int args = 1; + char *engine = NULL; + unsigned char quitOption = 0; + + Ecore_Getopt_Value values[] = { + ECORE_GETOPT_VALUE_STR(engine), + ECORE_GETOPT_VALUE_BOOL(quitOption), + ECORE_GETOPT_VALUE_BOOL(quitOption), + ECORE_GETOPT_VALUE_BOOL(quitOption), + ECORE_GETOPT_VALUE_BOOL(quitOption), + ECORE_GETOPT_VALUE_NONE + }; - if (!ecore_evas_init()) + if (!ewk_init()) return EXIT_FAILURE; + ecore_app_args_set(argc, (const char **) argv); + args = ecore_getopt_parse(&options, values, argc, argv); + + if (args < 0) + return quit(EINA_FALSE, "ERROR: could not parse options.\n"); + + if (quitOption) + return quit(EINA_TRUE, NULL); + if (args < argc) url = argv[args]; else url = DEFAULT_URL; - MiniBrowser *browser = browserCreate(url); + MiniBrowser *browser = browserCreate(url, engine); + if (!browser) + return quit(EINA_FALSE, "ERROR: could not create browser.\n"); Ecore_Event_Handler *handle = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, 0); @@ -221,7 +282,5 @@ int main(int argc, char *argv[]) ecore_evas_free(browser->ee); free(browser); - ecore_evas_shutdown(); - - return 0; + return quit(EINA_TRUE, NULL); } |