From: min7.choi Date: Fri, 3 Jun 2016 04:37:50 +0000 (+0900) Subject: Fix the popup issue X-Git-Tag: submit/tizen_mobile/20160603.053700~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8342de5801ff3d9127a45076e45378aa5cda09d2;p=profile%2Fcommon%2Fapps%2Fweb%2Fbrowser.git Fix the popup issue [Issue] popup issue [Problem] when file:// url download, popup doesn't come out [Solution] added the popup [Verify] when file:// url download, popup is displayed Change-Id: I17d274a73a04a8f27a42ad8d4bb62145d528251a Signed-off-by: min7.choi --- diff --git a/core/AbstractWebEngine/AbstractWebEngine.h b/core/AbstractWebEngine/AbstractWebEngine.h index 4b2a215f..7b024d88 100644 --- a/core/AbstractWebEngine/AbstractWebEngine.h +++ b/core/AbstractWebEngine/AbstractWebEngine.h @@ -416,7 +416,7 @@ public: /** * File downoad started */ - boost::signals2::signal downloadStarted; + boost::signals2::signal downloadStarted; /** * Page load finished diff --git a/services/SimpleUI/SimplePopup.h b/services/SimpleUI/SimplePopup.h index e4b581cd..6100899d 100644 --- a/services/SimpleUI/SimplePopup.h +++ b/services/SimpleUI/SimplePopup.h @@ -27,6 +27,14 @@ #include "PopupButtons.h" #include "WebConfirmation.h" +typedef enum _download_popup_type{ + DOWNLOAD_UNABLE_TO_DOWNLOAD = 0, + DOWNLOAD_STARTING_DOWNLOAD, + DOWNLOAD_SAVEDPAGES, + DOWNLOAD_FAIL, + DOWNLOAD_ONLY_HTTP_OR_HTTPS_URLS, +} download_popup_type; + namespace tizen_browser { namespace base_ui diff --git a/services/SimpleUI/SimpleUI.cpp b/services/SimpleUI/SimpleUI.cpp index 5a2b15ef..3cff31ad 100644 --- a/services/SimpleUI/SimpleUI.cpp +++ b/services/SimpleUI/SimpleUI.cpp @@ -1139,14 +1139,31 @@ void SimpleUI::reloadEnable(bool enable) m_webPageUI->setReloadButtonEnabled(enable); } -void SimpleUI::downloadStarted(bool status) +void SimpleUI::downloadStarted(int status) { BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); NotificationPopup *popup = NotificationPopup::createNotificationPopup(m_viewManager.getContent()); - if (status) - popup->show("Starting download", false); - else - popup->show("Fail to start download", false); + + switch(status) + { + case DOWNLOAD_UNABLE_TO_DOWNLOAD: + popup->show(_("IDS_BR_HEADER_UNABLE_TO_DOWNLOAD_ABB"), false); + break; + case DOWNLOAD_STARTING_DOWNLOAD: + popup->show(_("IDS_BR_POP_STARTING_DOWNLOAD_ING"), false); + break; + case DOWNLOAD_SAVEDPAGES: + popup->show(_("IDS_BR_OPT_SAVEDPAGES"), false); + break; + case DOWNLOAD_FAIL: + popup->show(_("IDS_BR_POP_FAIL"), false); + break; + case DOWNLOAD_ONLY_HTTP_OR_HTTPS_URLS: + popup->show(_("IDS_BR_POP_ONLY_HTTP_OR_HTTPS_URLS_CAN_BE_DOWNLOADED"), false); + break; + default: + break; + } popup->dismiss(); } diff --git a/services/SimpleUI/SimpleUI.h b/services/SimpleUI/SimpleUI.h index 0b1e3cb3..34248b5f 100644 --- a/services/SimpleUI/SimpleUI.h +++ b/services/SimpleUI/SimpleUI.h @@ -105,7 +105,7 @@ private: void stopEnable(bool enable); void reloadEnable(bool enable); - void downloadStarted(bool status); + void downloadStarted(int status); void loadFinished(); void progressChanged(double progress); void loadStarted(); diff --git a/services/WebEngineService/WebEngineService.cpp b/services/WebEngineService/WebEngineService.cpp index 3dbc28fd..01009f6d 100644 --- a/services/WebEngineService/WebEngineService.cpp +++ b/services/WebEngineService/WebEngineService.cpp @@ -310,7 +310,7 @@ void WebEngineService::_uriChanged(const std::string & uri) uriChanged(uri); } -void WebEngineService::_downloadStarted(bool status) +void WebEngineService::_downloadStarted(int status) { downloadStarted(status); } diff --git a/services/WebEngineService/WebEngineService.h b/services/WebEngineService/WebEngineService.h index 9c671de7..c8eeaf0b 100644 --- a/services/WebEngineService/WebEngineService.h +++ b/services/WebEngineService/WebEngineService.h @@ -225,7 +225,7 @@ private: void _favIconChanged(std::shared_ptr bi); void _titleChanged(const std::string&); void _uriChanged(const std::string &); - void _downloadStarted(bool status); + void _downloadStarted(int status); void _loadFinished(); void _loadStarted(); void _loadStop(); diff --git a/services/WebEngineService/WebView.cpp b/services/WebEngineService/WebView.cpp index e7c3c527..5e0e6928 100755 --- a/services/WebEngineService/WebView.cpp +++ b/services/WebEngineService/WebView.cpp @@ -1732,16 +1732,20 @@ void WebView::__download_request_cb(const char *download_uri, void *data) WebView *wv = (WebView *)data; if (!strncmp(download_uri, "data:", strlen("data:"))){ - BROWSER_LOGD("[%s:%d] popup1", __PRETTY_FUNCTION__, __LINE__); + wv->downloadStarted(DOWNLOAD_STARTING_DOWNLOAD); + BROWSER_LOGD("[%s:%d] download start..", __PRETTY_FUNCTION__, __LINE__); + if (wv->m_downloadControl->handle_data_scheme(download_uri) == EINA_TRUE){ - BROWSER_LOGD("[%s:%d] popup2", __PRETTY_FUNCTION__, __LINE__); + BROWSER_LOGD("[%s:%d] saved..", __PRETTY_FUNCTION__, __LINE__); + wv->downloadStarted(DOWNLOAD_SAVEDPAGES); } else{ - BROWSER_LOGD("[%s:%d] popup3", __PRETTY_FUNCTION__, __LINE__); + BROWSER_LOGD("[%s:%d] fail..", __PRETTY_FUNCTION__, __LINE__); + wv->downloadStarted(DOWNLOAD_FAIL); } } else if (strncmp(download_uri, "http://", strlen("http://")) && strncmp(download_uri, "https://", strlen("https://"))) { BROWSER_LOGD("[%s:%d] Only http or https URLs can be downloaded", __PRETTY_FUNCTION__, __LINE__); - BROWSER_LOGD("[%s:%d] popup4", __PRETTY_FUNCTION__, __LINE__); + wv->downloadStarted(DOWNLOAD_ONLY_HTTP_OR_HTTPS_URLS); return; } else { wv->downloadStarted(wv->m_downloadControl->launch_download_app(download_uri) == EINA_TRUE); diff --git a/services/WebEngineService/WebView.h b/services/WebEngineService/WebView.h index 45dc3f2e..3eec7ab2 100644 --- a/services/WebEngineService/WebView.h +++ b/services/WebEngineService/WebView.h @@ -62,6 +62,14 @@ typedef enum _custom_context_menu_item_tag { CUSTOM_CONTEXT_MENU_ITEM_SEND_EMAIL, CUSTOM_CONTEXT_MENU_ITEM_SEND_ADD_TO_CONTACT, } custom_context_menu_item_tag; + +typedef enum _download_popup_type{ + DOWNLOAD_UNABLE_TO_DOWNLOAD = 0, + DOWNLOAD_STARTING_DOWNLOAD, + DOWNLOAD_SAVEDPAGES, + DOWNLOAD_FAIL, + DOWNLOAD_ONLY_HTTP_OR_HTTPS_URLS, +} download_popup_type; #endif namespace tizen_browser { @@ -262,7 +270,7 @@ public: boost::signals2::signal, tizen_browser::tools::SnapshotType snapshot_type)> snapshotCaptured; boost::signals2::signal titleChanged; boost::signals2::signal uriChanged; - boost::signals2::signal downloadStarted; + boost::signals2::signal downloadStarted; boost::signals2::signal findOnPage; boost::signals2::signal loadFinished;