Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 101403 Details for
Bug 153902
Epiphany has few regressions after mozilla-firefox upgrade to 2.0
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
fix-keyword-search.patch
keyword.diff (text/plain), 10.57 KB, created by
Priit Laes (IRC: plaes)
on 2006-11-07 09:48:09 UTC
(
hide
)
Description:
fix-keyword-search.patch
Filename:
MIME Type:
Creator:
Priit Laes (IRC: plaes)
Created:
2006-11-07 09:48:09 UTC
Size:
10.57 KB
patch
obsolete
>Index: embed/mozilla/EphyBrowser.cpp >=================================================================== >RCS file: /cvs/gnome/epiphany/embed/mozilla/EphyBrowser.cpp,v >retrieving revision 1.110 >diff -p -u -b -r1.110 EphyBrowser.cpp >--- embed/mozilla/EphyBrowser.cpp 13 Sep 2006 11:34:14 -0000 1.110 >+++ embed/mozilla/EphyBrowser.cpp 5 Oct 2006 20:08:13 -0000 >@@ -1524,3 +1524,55 @@ EphyBrowser::Close () > > return domWin->Close(); > } >+ >+nsresult >+EphyBrowser::GetPIDOMWindow(nsPIDOMWindow **aPIWin) >+{ >+ *aPIWin = nsnull; >+ >+ // get the private DOM window >+ nsCOMPtr<nsPIDOMWindow> domWindowPrivate = do_QueryInterface(mDOMWindow); >+ >+ // and the root window for that DOM window >+ *aPIWin = domWindowPrivate->GetPrivateRoot(); >+ >+ if (*aPIWin) >+ { >+ NS_ADDREF(*aPIWin); >+ return NS_OK; >+ } >+ >+ return NS_ERROR_FAILURE; >+ >+} >+ >+nsresult >+EphyBrowser::LoadURI(const char *aURI, >+ PRUint32 aLoadFlags, >+ nsIURI *aReferrer) >+{ >+ nsString uURI; >+ nsresult rv = NS_OK; >+ >+ NS_CStringToUTF16 (nsCString (aURI), NS_CSTRING_ENCODING_UTF8, uURI); >+ >+ if (uURI.Length() == 0) return NS_OK; >+ >+ nsCOMPtr<nsIWebNavigation> contentNav = do_QueryInterface (mWebBrowser); >+ NS_ENSURE_TRUE (contentNav, NS_ERROR_FAILURE); >+ >+ nsCOMPtr<nsPIDOMWindow> piWin; >+ rv = GetPIDOMWindow(getter_AddRefs(piWin)); >+ NS_ENSURE_SUCCESS (rv, rv); >+ >+ nsAutoPopupStatePusher popupStatePusher(piWin, openAllowed); >+ >+ rv = contentNav->LoadURI(uURI.get(), // URI string >+ aLoadFlags, // Load flags >+ aReferrer, // Referring URI >+ nsnull, // Post data >+ nsnull); // extra headers >+ >+ return rv; >+} >+ >Index: embed/mozilla/EphyBrowser.h >=================================================================== >RCS file: /cvs/gnome/epiphany/embed/mozilla/EphyBrowser.h,v >retrieving revision 1.54 >diff -p -u -b -r1.54 EphyBrowser.h >--- embed/mozilla/EphyBrowser.h 13 Sep 2006 11:34:14 -0000 1.54 >+++ embed/mozilla/EphyBrowser.h 5 Oct 2006 20:08:13 -0000 >@@ -36,6 +36,7 @@ > #include <nsIWebBrowserFocus.h> > #include <nsIWebBrowser.h> > #include <nsIWebNavigation.h> >+#include <nsPIDOMWindow.h> > > #ifdef ALLOW_PRIVATE_API > #include <nsIContentViewer.h> >@@ -172,6 +173,7 @@ public: > nsresult GetDocumentURI (nsIURI **aURI); > nsresult GetTargetDocumentURI (nsIURI **aURI); > nsresult GetDOMWindow (nsIDOMWindow **window); >+ nsresult GetPIDOMWindow(nsPIDOMWindow **aPIWin); > > nsresult GetHasModifiedForms (PRBool *modified); > >@@ -182,6 +184,10 @@ public: > PRBool copy_forward, PRBool copy_current); > > nsresult Close (); >+ >+ nsresult LoadURI(const char *aURI, >+ PRUint32 aLoadFlags = nsIWebNavigation::LOAD_FLAGS_NONE, >+ nsIURI *aURI = nsnull); > > EphyEmbedDocumentType GetDocumentType (); > >Index: embed/mozilla/mozilla-embed.cpp >=================================================================== >RCS file: /cvs/gnome/epiphany/embed/mozilla/mozilla-embed.cpp,v >retrieving revision 1.129 >diff -p -u -b -r1.129 mozilla-embed.cpp >--- embed/mozilla/mozilla-embed.cpp 13 Sep 2006 11:34:15 -0000 1.129 >+++ embed/mozilla/mozilla-embed.cpp 5 Oct 2006 20:08:15 -0000 >@@ -324,6 +324,42 @@ impl_load_url (EphyEmbed *embed, > gtk_moz_embed_load_url (GTK_MOZ_EMBED(embed), url); > } > >+static char * impl_get_location (EphyEmbed *embed, gboolean toplevel); >+ >+static void >+impl_load (EphyEmbed *embed, >+ const char *url, >+ EphyEmbedLoadFlags flags, >+ EphyEmbed *preview_embed) >+{ >+ EphyBrowser *browser; >+ >+ browser = MOZILLA_EMBED(embed)->priv->browser; >+ g_return_if_fail (browser != NULL); >+ >+ nsCOMPtr<nsIURI> uri; >+ if (preview_embed != NULL) >+ { >+ EphyBrowser *pbrowser; >+ nsresult rv; >+ >+ pbrowser = MOZILLA_EMBED(preview_embed)->priv->browser; >+ if (pbrowser != NULL) >+ { >+ pbrowser->GetDocumentURI (getter_AddRefs (uri)); >+ } >+ } >+ >+ if (flags & EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP) >+ { >+ browser->LoadURI (url, nsIWebNavigation::LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP, uri); >+ } >+ else >+ { >+ browser->LoadURI (url, nsIWebNavigation::LOAD_FLAGS_NONE, uri); >+ } >+} >+ > static void > impl_stop_load (EphyEmbed *embed) > { >@@ -1114,6 +1150,7 @@ static void > ephy_embed_iface_init (EphyEmbedIface *iface) > { > iface->load_url = impl_load_url; >+ iface->load = impl_load; > iface->stop_load = impl_stop_load; > iface->can_go_back = impl_can_go_back; > iface->can_go_forward =impl_can_go_forward; >Index: embed/ephy-embed.h >=================================================================== >RCS file: /cvs/gnome/epiphany/embed/ephy-embed.h,v >retrieving revision 1.64 >diff -p -u -b -r1.64 ephy-embed.h >--- embed/ephy-embed.h 13 Sep 2006 11:34:13 -0000 1.64 >+++ embed/ephy-embed.h 5 Oct 2006 20:08:16 -0000 >@@ -63,6 +63,12 @@ typedef enum > EPHY_EMBED_CHROME_BOOKMARKSBAR = 1 << 3 > } EphyEmbedChrome; > >+typedef enum >+{ >+ EPHY_EMBED_LOAD_FLAGS_NONE = 1 << 0, >+ EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP = 1 << 1, >+} EphyEmbedLoadFlags; >+ > #define EPHY_EMBED_CHROME_ALL (EPHY_EMBED_CHROME_MENUBAR | \ > EPHY_EMBED_CHROME_TOOLBAR | \ > EPHY_EMBED_CHROME_STATUSBAR | \ >@@ -157,6 +163,10 @@ struct _EphyEmbedIface > /* Methods */ > void (* load_url) (EphyEmbed *embed, > const char *url); >+ void (* load) (EphyEmbed *embed, >+ const char *url, >+ EphyEmbedLoadFlags flags, >+ EphyEmbed *referring_embed); > void (* stop_load) (EphyEmbed *embed); > void (* reload) (EphyEmbed *embed, > gboolean force); >@@ -232,6 +242,10 @@ GType ephy_embed_get_type (void); > /* Base */ > void ephy_embed_load_url (EphyEmbed *embed, > const char *url); >+void ephy_embed_load (EphyEmbed *embed, >+ const char *url, >+ EphyEmbedLoadFlags flags, >+ EphyEmbed *referring_embed); > > void ephy_embed_stop_load (EphyEmbed *embed); > >Index: embed/ephy-embed.c >=================================================================== >RCS file: /cvs/gnome/epiphany/embed/ephy-embed.c,v >retrieving revision 1.73 >diff -p -u -b -r1.73 ephy-embed.c >--- embed/ephy-embed.c 13 Sep 2006 11:34:13 -0000 1.73 >+++ embed/ephy-embed.c 5 Oct 2006 20:08:17 -0000 >@@ -423,6 +423,25 @@ ephy_embed_load_url (EphyEmbed *embed, > } > > /** >+ * ephy_embed_load: >+ * @embed: an #EphyEmbed >+ * @url: an URL >+ * @flags: flags modifying load behaviour >+ * @previous_embed: the referrer embed or %NULL >+ * >+ * Loads a new web page in @embed. >+ **/ >+void >+ephy_embed_load (EphyEmbed *embed, >+ const char *url, >+ EphyEmbedLoadFlags flags, >+ EphyEmbed *referring_embed) >+{ >+ EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed); >+ iface->load (embed, url, flags, referring_embed); >+} >+ >+/** > * ephy_embed_stop_load: > * @embed: an #EphyEmbed > * >Index: src/ephy-link.h >=================================================================== >RCS file: /cvs/gnome/epiphany/src/ephy-link.h,v >retrieving revision 1.4 >diff -p -u -b -r1.4 ephy-link.h >--- src/ephy-link.h 13 Sep 2006 11:34:22 -0000 1.4 >+++ src/ephy-link.h 5 Oct 2006 20:08:21 -0000 >@@ -41,7 +41,8 @@ typedef enum > { > EPHY_LINK_NEW_WINDOW = 1 << 0, > EPHY_LINK_NEW_TAB = 1 << 1, >- EPHY_LINK_JUMP_TO = 1 << 2 >+ EPHY_LINK_JUMP_TO = 1 << 2, >+ EPHY_LINK_ALLOW_FIXUP = 1 << 3 > } EphyLinkFlags; > > struct _EphyLinkIface >Index: src/ephy-location-action.c >=================================================================== >RCS file: /cvs/gnome/epiphany/src/ephy-location-action.c,v >retrieving revision 1.47 >diff -p -u -b -r1.47 ephy-location-action.c >--- src/ephy-location-action.c 13 Sep 2006 11:34:22 -0000 1.47 >+++ src/ephy-location-action.c 5 Oct 2006 20:08:21 -0000 >@@ -139,7 +139,7 @@ action_activated_cb (GtkEntryCompletion > if (url == NULL) return; > > ephy_link_open (EPHY_LINK (action), url, NULL, >- ephy_link_flags_from_current_event ()); >+ ephy_link_flags_from_current_event () | EPHY_LINK_ALLOW_FIXUP); > > g_free (url); > } >@@ -162,7 +162,7 @@ entry_activate_cb (GtkEntry *entry, > g_return_if_fail (address != NULL); > > ephy_link_open (EPHY_LINK (action), address, NULL, >- ephy_link_flags_from_current_event ()); >+ ephy_link_flags_from_current_event () | EPHY_LINK_ALLOW_FIXUP); > > g_free (address); > } >Index: src/ephy-window.c >=================================================================== >RCS file: /cvs/gnome/epiphany/src/ephy-window.c,v >retrieving revision 1.360 >diff -p -u -b -r1.360 ephy-window.c >--- src/ephy-window.c 24 Sep 2006 19:59:37 -0000 1.360 >+++ src/ephy-window.c 5 Oct 2006 20:08:25 -0000 >@@ -2970,7 +2970,9 @@ ephy_window_open_link (EphyLink *link, > tab = ephy_window_get_active_tab (window); > } > >- if (flags != 0) >+ if (flags & (EPHY_LINK_JUMP_TO | >+ EPHY_LINK_NEW_TAB | >+ EPHY_LINK_NEW_WINDOW)) > { > EphyNewTabFlags ntflags = EPHY_NEW_TAB_OPEN_PAGE; > >@@ -2987,6 +2989,10 @@ ephy_window_open_link (EphyLink *link, > { > ntflags |= EPHY_NEW_TAB_IN_EXISTING_WINDOW; > } >+ if (flags & EPHY_LINK_ALLOW_FIXUP) >+ { >+ ntflags |= EPHY_NEW_TAB_ALLOW_FIXUP; >+ } > > new_tab = ephy_shell_new_tab > (ephy_shell, >@@ -2999,7 +3005,17 @@ ephy_window_open_link (EphyLink *link, > > embed = ephy_tab_get_embed (tab); > >+ if (flags & EPHY_LINK_ALLOW_FIXUP) >+ { >+ ephy_embed_load (embed, >+ address, >+ EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP, >+ NULL); >+ } >+ else >+ { > ephy_embed_load_url (embed, address); >+ } > > if (address == NULL || address[0] == '\0' || strcmp (address, "about:blank") == 0) > { >Index: src/ephy-shell.c >=================================================================== >RCS file: /cvs/gnome/epiphany/src/ephy-shell.c,v >retrieving revision 1.146 >diff -p -u -b -r1.146 ephy-shell.c >--- src/ephy-shell.c 13 Sep 2006 11:34:23 -0000 1.146 >+++ src/ephy-shell.c 5 Oct 2006 20:08:26 -0000 >@@ -530,8 +530,20 @@ ephy_shell_new_tab_full (EphyShell *shel > } > else if (flags & EPHY_NEW_TAB_OPEN_PAGE) > { >+ EphyEmbedLoadFlags load_flags = 0; >+ > g_assert (url != NULL); >- ephy_embed_load_url (embed, url); >+ >+ if (flags & EPHY_NEW_TAB_ALLOW_FIXUP) >+ { >+ load_flags = EPHY_EMBED_LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP; >+ } >+ else >+ { >+ load_flags = EPHY_EMBED_LOAD_FLAGS_NONE; >+ } >+ ephy_embed_load (embed, url, load_flags, previous_embed); >+ > is_empty = url_is_empty (url); > } > >Index: src/ephy-shell.h >=================================================================== >RCS file: /cvs/gnome/epiphany/src/ephy-shell.h,v >retrieving revision 1.39 >diff -p -u -b -r1.39 ephy-shell.h >--- src/ephy-shell.h 13 Sep 2006 11:34:23 -0000 1.39 >+++ src/ephy-shell.h 5 Oct 2006 20:08:26 -0000 >@@ -62,6 +62,10 @@ typedef enum > EPHY_NEW_TAB_JUMP = 1 << 9, > EPHY_NEW_TAB_IN_NEW_WINDOW = 1 << 10, > EPHY_NEW_TAB_IN_EXISTING_WINDOW = 1 << 11, >+ >+ /* The way to load */ >+ EPHY_NEW_TAB_ALLOW_FIXUP = 1 << 12, >+ > } EphyNewTabFlags; > > struct _EphyShell
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 153902
: 101403 |
102152