[Xfce4-commits] <midori:master> Tie special flag to URI change and manually flag internal pages

Christian Dywan noreply at xfce.org
Thu Oct 11 19:40:01 CEST 2012


Updating branch refs/heads/master
         to 3c6bd123e8b8cea3a4ab3cc4afc88ebfddb92dab (commit)
       from a8a370207dd44eb2ddf01bffad53137576e84122 (commit)

commit 3c6bd123e8b8cea3a4ab3cc4afc88ebfddb92dab
Author: Christian Dywan <christian at twotoasts.de>
Date:   Thu Oct 11 19:36:22 2012 +0200

    Tie special flag to URI change and manually flag internal pages

 midori/midori-view.c |    6 ++++--
 tests/tab.vala       |   13 ++++++++++---
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/midori/midori-view.c b/midori/midori-view.c
index 377e1b4..cde0add 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -733,7 +733,6 @@ midori_view_web_view_navigation_decision_cb (WebKitWebView*             web_view
         }
     }
     #endif
-    midori_tab_set_special (MIDORI_TAB (view), FALSE);
 
     if (katze_item_get_meta_integer (view->item, "delay") == MIDORI_DELAY_PENDING_UNDELAY)
         katze_item_set_meta_integer (view->item, "delay", MIDORI_DELAY_UNDELAYED);
@@ -805,6 +804,7 @@ webkit_web_view_load_committed_cb (WebKitWebView*  web_view,
     {
         midori_tab_set_uri (MIDORI_TAB (view), uri);
         katze_item_set_uri (view->item, uri);
+        midori_tab_set_special (MIDORI_TAB (view), FALSE);
     }
 
     katze_item_set_added (view->item, time (NULL));
@@ -1248,6 +1248,7 @@ midori_view_display_error (MidoriView*     view,
 
         midori_view_load_alternate_string (view,
             result, uri, web_frame);
+        katze_item_set_uri (view->item, uri);
 
         g_free (result);
         g_free (path);
@@ -4017,6 +4018,7 @@ midori_view_set_uri (MidoriView*  view,
             }
 
             midori_tab_set_uri (MIDORI_TAB (view), uri);
+            midori_tab_set_special (MIDORI_TAB (view), TRUE);
             webkit_web_view_load_html_string (WEBKIT_WEB_VIEW (view->web_view), data, uri);
             g_free (data);
             katze_item_set_meta_integer (view->item, "delay", MIDORI_DELAY_UNDELAYED);
@@ -4025,12 +4027,12 @@ midori_view_set_uri (MidoriView*  view,
         else if (katze_item_get_meta_integer (view->item, "delay") == MIDORI_DELAY_DELAYED)
         {
             midori_tab_set_uri (MIDORI_TAB (view), uri);
+            midori_tab_set_special (MIDORI_TAB (view), TRUE);
             katze_item_set_meta_integer (view->item, "delay", MIDORI_DELAY_PENDING_UNDELAY);
             midori_view_display_error (view, NULL, NULL, _("Page loading delayed"),
                 _("Loading delayed either due to a recent crash or startup preferences."),
                 _("Load Page"),
                 NULL);
-            katze_item_set_uri (view->item, midori_tab_get_uri (MIDORI_TAB (view)));
         }
         else if (g_str_has_prefix (uri, "javascript:"))
         {
diff --git a/tests/tab.vala b/tests/tab.vala
index 39432ee..c01868b 100644
--- a/tests/tab.vala
+++ b/tests/tab.vala
@@ -91,12 +91,19 @@ void tab_special () {
     /* FIXME assert (tab.special); */
     assert (!tab.can_save ());
 
+    tab.set_uri ("about:private");
+    do { loop.iteration (true); } while (tab.load_status != Midori.LoadStatus.FINISHED);
+    assert (tab.is_blank ());
+    assert (!tab.can_view_source ());
+    assert (tab.special);
+    assert (!tab.can_save ());
+
     tab.set_uri ("error:nodocs file:///some/docs/path");
     do { loop.iteration (true); } while (tab.load_status != Midori.LoadStatus.FINISHED);
     assert (!tab.is_blank ());
-    assert (tab.can_view_source ());
-    /* FIXME assert (tab.special); */
-    /* FIXME assert (!tab.can_save ()); */
+    assert (!tab.can_view_source ());
+    assert (tab.special);
+    assert (!tab.can_save ());
 
     tab.set_uri ("http://.invalid");
     do { loop.iteration (true); } while (tab.load_status != Midori.LoadStatus.FINISHED);


More information about the Xfce4-commits mailing list