aboutsummaryrefslogtreecommitdiffstats
path: root/embed
diff options
context:
space:
mode:
Diffstat (limited to 'embed')
-rw-r--r--embed/ephy-embed.c75
-rw-r--r--embed/ephy-embed.h22
-rw-r--r--embed/mozilla/mozilla-embed.cpp59
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;