[Release] wrt_0.8.270
authorTae-Jeong Lee <taejeong.lee@samsung.com>
Fri, 6 Sep 2013 15:34:53 +0000 (00:34 +0900)
committerHoseon LEE <hoseon46.lee@samsung.com>
Sun, 29 Sep 2013 05:38:22 +0000 (14:38 +0900)
Change-Id: I658031fa288cafb4de102d8a133abe42aa06994d

packaging/wrt.spec
src/view/webkit/injected-bundle/injected_bundle_uri_handling.cpp
src/view/webkit/injected-bundle/wrt-injected-bundle.cpp
src/wrt-client/window_data.cpp
src/wrt-client/window_data.h

index ff9025d..db89ff6 100644 (file)
@@ -1,7 +1,7 @@
 #git:framework/web/wrt
 Name:       wrt
 Summary:    web runtime
-Version:    0.8.268
+Version:    0.8.270
 Release:    1
 Group:      Development/Libraries
 License:    Apache License, Version 2.0
index bf71466..c575730 100644 (file)
@@ -315,10 +315,7 @@ bool processMainResource(const DPL::String& inputURI,
 
 bool processURIForPlugin(const char* url)
 {
-    if (!checkWhitelist(url)) {
-        return false;
-    }
-    return true;
+    return checkWhitelist(url);
 }
 
 std::string localizeURI(const std::string& inputURI, const std::string& tizenId)
index 9eb6a1a..838d1bf 100644 (file)
@@ -82,6 +82,7 @@ const char SCHEME_FILE[] = "file";
 const char SCHEME_FILE_SLASH[] = "file://";
 const char SCHEME_BOX_SLASH[] = "box://";
 const char BLANK_PAGE_URL[] = "about:blank";
+const char SRC_DOC_PAGE_URL[] = "about:srcdoc";
 const char HTML_MIME[] = "text/html";
 const char PHP_MIME[] = "application/x-php";
 const char WRT_WILL_SEND_REQUEST_LOG_ENABLE[] = "WRT_WILL_SEND_REQUEST_LOG_ENABLE";
@@ -782,13 +783,18 @@ WKURLRequestRef Bundle::willSendRequestForFrame(WKURLRequestRef request)
     std::string scheme = stdUrl.substr(0, stdUrl.find_first_of(':'));
 
 #ifdef APP_SCHEME_ENABLED
-    if (scheme == SCHEME_FILE)
-    {
+    if (scheme == SCHEME_FILE) {
         _E("File schema blocked for: %s", stdUrl.c_str());
         return NULL;
     }
 #endif
 
+    // "about:blank"/"about:srcdoc" uri doesn't need uri processing.
+    if (stdUrl == BLANK_PAGE_URL || stdUrl == SRC_DOC_PAGE_URL) {
+        WKRetain(request);
+        return request;
+    }
+
     localizedUrl = InjectedBundleURIHandling::localizeURI(stdUrl, DPL::ToUTF8String(m_widgetTizenId));
     bool ret = InjectedBundleURIHandling::processURI(localizedUrl, m_widgetTizenId, m_securityModelVersion);
 
index 91c2a3a..8272624 100644 (file)
@@ -296,6 +296,7 @@ Evas_Object* WindowData::createMainLayout(Evas_Object* parent)
             NULL);  // const char* item_style
     ADD_PROFILING_POINT("elm_naviframe_item_push", "stop");
     elm_naviframe_item_title_visible_set(naviIt, EINA_FALSE);
+    elm_naviframe_item_pop_cb_set(naviIt, naviframeItemPopCallback, NULL);
     setEvasObjectData(Layer::MAIN_LAYOUT, obj);
     return obj;
 }
@@ -437,3 +438,13 @@ void WindowData::winProfileChangedCallback(void *data,
         elm_win_icon_object_set(This->m_win, icon);
     }
 }
+
+Eina_Bool WindowData::naviframeItemPopCallback(void* /*data*/,
+                                            Elm_Object_Item* /*it*/)
+{
+    LogDebug("naviframeItemPopCallback");
+    // This return value makes naviframe not to perform a pop operation
+    // about this item.
+    return EINA_FALSE;
+}
+
index d7cb7f8..5e79ae6 100644 (file)
@@ -128,6 +128,8 @@ class WindowData : private DPL::Noncopyable
     static void winProfileChangedCallback(void* data,
                                           Evas_Object* obj,
                                           void* eventInfo);
+    static Eina_Bool naviframeItemPopCallback(void *data,
+                                          Elm_Object_Item *it);
 
  };