Fix the popup issue 12/72912/1
authormin7.choi <min7.choi@samsung.com>
Fri, 3 Jun 2016 04:37:50 +0000 (13:37 +0900)
committermin7.choi <min7.choi@samsung.com>
Fri, 3 Jun 2016 04:37:54 +0000 (13:37 +0900)
    [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 <min7.choi@samsung.com>
core/AbstractWebEngine/AbstractWebEngine.h
services/SimpleUI/SimplePopup.h
services/SimpleUI/SimpleUI.cpp
services/SimpleUI/SimpleUI.h
services/WebEngineService/WebEngineService.cpp
services/WebEngineService/WebEngineService.h
services/WebEngineService/WebView.cpp
services/WebEngineService/WebView.h

index 4b2a215f44237f67dab1d860a54cdaeb51058f79..7b024d8830540f379b6ef84f7a0916e4346aacf3 100644 (file)
@@ -416,7 +416,7 @@ public:
     /**
      * File downoad started
      */
-    boost::signals2::signal<void (bool)> downloadStarted;
+    boost::signals2::signal<void (int)> downloadStarted;
 
     /**
      * Page load finished
index e4b581cdda5c7c733f84fb74d8b243690ea088ce..6100899dd2da43914c59019e35e24ae6e985039e 100644 (file)
 #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
index 5a2b15efba3050a049c2110437b427ce902f9b87..3cff31ad737579dfc9f0b3d475ce2c1d65a154d1 100644 (file)
@@ -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();
 }
 
index 0b1e3cb3bdf84cc783e7179519c44f396524ba5c..34248b5fe6868b02164dfa816a8078b0dde5ecb9 100644 (file)
@@ -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();
index 3dbc28fd1e2ad9f84e36cfd5ad75aa8da78960b8..01009f6d031fbeea3be1f1a234b3cd8d916983ec 100644 (file)
@@ -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);
 }
index 9c671de7264589eb5e334f648ff0a482ff287f85..c8eeaf0bb0cdc4ef1a8be17f9d358b85383b0f1b 100644 (file)
@@ -225,7 +225,7 @@ private:
     void _favIconChanged(std::shared_ptr<tizen_browser::tools::BrowserImage> 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();
index e7c3c527959b4250a858be7bec3577d746a90062..5e0e6928bd0a86747f04b17764cd7f2ced1ccc8c 100755 (executable)
@@ -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);
index 45dc3f2e75e521bd08b219a669ef34e55a8d3fae..3eec7ab20bacecd1681a6d9775aafa0b70954c6a 100644 (file)
@@ -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<void (std::shared_ptr<tizen_browser::tools::BrowserImage>, tizen_browser::tools::SnapshotType snapshot_type)> snapshotCaptured;
     boost::signals2::signal<void (const std::string&)> titleChanged;
     boost::signals2::signal<void (const std::string)> uriChanged;
-    boost::signals2::signal<void (bool)> downloadStarted;
+    boost::signals2::signal<void (int)> downloadStarted;
     boost::signals2::signal<void (const std::string&)> findOnPage;
 
     boost::signals2::signal<void ()> loadFinished;