diff options
author | Xan Lopez <xan@src.gnome.org> | 2007-12-30 08:24:40 +0800 |
---|---|---|
committer | Xan Lopez <xan@src.gnome.org> | 2007-12-30 08:24:40 +0800 |
commit | e63a085bb01b783057e0cba91725f3af884d3292 (patch) | |
tree | 233f547200605c4001be2972b40ba516f976ce46 /embed | |
parent | 2a776b7f4ea30e814b2703a50633143b5b0ebc95 (diff) | |
download | gsoc2013-epiphany-e63a085bb01b783057e0cba91725f3af884d3292.tar.gz gsoc2013-epiphany-e63a085bb01b783057e0cba91725f3af884d3292.tar.zst gsoc2013-epiphany-e63a085bb01b783057e0cba91725f3af884d3292.zip |
Port ephy-window.c to the new API, remove old API.
Closes bug #506005
svn path=/trunk/; revision=7836
Diffstat (limited to 'embed')
-rw-r--r-- | embed/ephy-embed.c | 75 | ||||
-rw-r--r-- | embed/ephy-embed.h | 22 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed.cpp | 59 |
3 files changed, 8 insertions, 148 deletions
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c index 48fcee4e9..267b353fc 100644 --- a/embed/ephy-embed.c +++ b/embed/ephy-embed.c @@ -677,81 +677,6 @@ ephy_embed_scroll_pixels (EphyEmbed *embed, } /** - * ephy_embed_shistory_n_items: - * @embed: an #EphyEmbed - * - * Returns the number of items in @embed's history. In other words, returns the - * number of pages @embed has visited. - * - * The number is upper-bound by Mozilla's browser.sessionhistory.max_entries - * preference. - * - * Return value: the number of items in @embed's history - **/ -int -ephy_embed_shistory_n_items (EphyEmbed *embed) -{ - EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed); - return iface->shistory_n_items (embed); -} - -/** - * ephy_embed_shistory_get_nth: - * @embed: an #EphyEmbed - * @nth: index of the desired page in @embed's browser history - * @is_relative: if %TRUE, add @embed's current history position to @nth - * @url: returned value of the history entry's URL - * @title: returned value of the history entry's title - * - * Fetches the @url and @title of the @nth item in @embed's session history. - * If @is_relative is %TRUE, @nth is an offset from the browser's current - * history position. For example, calling this function with @is_relative %TRUE - * and @nth %0 will return the URL and title of the current page. - **/ -void -ephy_embed_shistory_get_nth (EphyEmbed *embed, - int nth, - gboolean is_relative, - char **url, - char **title) -{ - EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed); - iface->shistory_get_nth (embed, nth, is_relative, url, title); -} - -/** - * ephy_embed_shistory_get_pos: - * @embed: an #EphyEmbed - * - * Returns @embed's current position in its history. If the user never uses the - * "Back" button, this number will be the same as the return value of - * ephy_embed_shistory_n_items(). - * - * Return value: @embed's current position in its history - **/ -int -ephy_embed_shistory_get_pos (EphyEmbed *embed) -{ - EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed); - return iface->shistory_get_pos (embed); -} - -/** - * ephy_embed_shistory_go_nth: - * @embed: an #EphyEmbed - * @nth: desired history index - * - * Opens the webpage at location @nth in @embed's history. - **/ -void -ephy_embed_shistory_go_nth (EphyEmbed *embed, - int nth) -{ - EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed); - iface->shistory_go_nth (embed, nth); -} - -/** * ephy_embed_shistory_copy: * @source: the #EphyEmbed to copy the history from * @dest: the #EphyEmbed to copy the history to diff --git a/embed/ephy-embed.h b/embed/ephy-embed.h index 35f28240e..560a2f9cd 100644 --- a/embed/ephy-embed.h +++ b/embed/ephy-embed.h @@ -178,15 +178,6 @@ struct _EphyEmbedIface gboolean toplevel); const char * (* get_link_message) (EphyEmbed *embed); char * (* get_js_status) (EphyEmbed *embed); - int (* shistory_n_items) (EphyEmbed *embed); - void (* shistory_get_nth) (EphyEmbed *embed, - int nth, - gboolean is_relative, - char **url, - char **title); - int (* shistory_get_pos) (EphyEmbed *embed); - void (* shistory_go_nth) (EphyEmbed *embed, - int nth); void (* shistory_copy) (EphyEmbed *source, EphyEmbed *dest, gboolean copy_back, @@ -290,19 +281,6 @@ void ephy_embed_go_forward (EphyEmbed *embed); void ephy_embed_go_up (EphyEmbed *embed); -int ephy_embed_shistory_n_items (EphyEmbed *embed); - -void ephy_embed_shistory_get_nth (EphyEmbed *embed, - int nth, - gboolean is_relative, - char **url, - char **title); - -int ephy_embed_shistory_get_pos (EphyEmbed *embed); - -void ephy_embed_shistory_go_nth (EphyEmbed *embed, - int nth); - void ephy_embed_shistory_copy (EphyEmbed *source, EphyEmbed *dest, gboolean copy_back, diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp index b9badb6b2..d8ffc136b 100644 --- a/embed/mozilla/mozilla-embed.cpp +++ b/embed/mozilla/mozilla-embed.cpp @@ -669,43 +669,6 @@ impl_shistory_n_items (EphyEmbed *embed) return NS_SUCCEEDED(rv) ? count : 0; } -static void -impl_shistory_get_nth (EphyEmbed *embed, - int nth, - gboolean is_relative, - char **aUrl, - char **aTitle) -{ - nsresult rv; - nsCString url; - PRUnichar *title; - MozillaEmbedPrivate *mpriv = MOZILLA_EMBED(embed)->priv; - - if (is_relative) - { - nth += ephy_embed_shistory_get_pos (embed); - } - - rv = mpriv->browser->GetSHUrlAtIndex(nth, url); - - *aUrl = (NS_SUCCEEDED (rv) && url.Length()) ? g_strdup(url.get()) : NULL; - - rv = mpriv->browser->GetSHTitleAtIndex(nth, &title); - - if (title) - { - nsCString cTitle; - NS_UTF16ToCString (nsString(title), - NS_CSTRING_ENCODING_UTF8, cTitle); - *aTitle = g_strdup (cTitle.get()); - nsMemory::Free (title); - } - else - { - *aTitle = NULL; - } -} - static int impl_shistory_get_pos (EphyEmbed *embed) { @@ -719,15 +682,6 @@ impl_shistory_get_pos (EphyEmbed *embed) } static void -impl_shistory_go_nth (EphyEmbed *embed, - int nth) -{ - MozillaEmbedPrivate *mpriv = MOZILLA_EMBED(embed)->priv; - - mpriv->browser->GoToHistoryIndex (nth); -} - -static void impl_shistory_copy (EphyEmbed *source, EphyEmbed *dest, gboolean copy_back, @@ -882,12 +836,19 @@ mozilla_get_nth_history_item (MozillaEmbed *embed, gboolean is_relative, int nth) { + EphyHistoryItem *item = NULL; + if (is_relative) { nth += impl_shistory_get_pos (EPHY_EMBED (embed)); } - return (EphyHistoryItem*)mozilla_history_item_new (embed, nth); + if (nth >= 0 && nth <= impl_shistory_n_items (EPHY_EMBED (embed))) + { + item = (EphyHistoryItem*)mozilla_history_item_new (embed, nth); + } + + return item; } static GList* @@ -1448,10 +1409,6 @@ ephy_embed_iface_init (EphyEmbedIface *iface) iface->scroll_lines = impl_scroll_lines; iface->scroll_pages = impl_scroll_pages; iface->scroll_pixels = impl_scroll_pixels; - iface->shistory_n_items = impl_shistory_n_items; - iface->shistory_get_nth = impl_shistory_get_nth; - iface->shistory_get_pos = impl_shistory_get_pos; - iface->shistory_go_nth = impl_shistory_go_nth; iface->shistory_copy = impl_shistory_copy; iface->show_page_certificate = impl_show_page_certificate; iface->close = impl_close; |