summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2004-06-03 18:01:16 +0000
committerMarco Pesenti Gritti <marco@src.gnome.org>2004-06-03 18:01:16 +0000
commit4fb03e43ddbbdb218746ae13aeb587f904a64f16 (patch)
tree24979e07b3d5f966e3b8872dcd2b10be42cb2f16
parent55bee1d8d8631c33a5630e25755723580b3b6551 (diff)
downloadepiphany-mozilla-embed-strings.tar.gz
Misc fixes from chpe reviewmozilla-embed-strings
2004-06-03 Marco Pesenti Gritti <marco@gnome.org> * embed/ephy-embed.c: (ephy_embed_base_init): * embed/mozilla/EphyBrowser.cpp: * embed/mozilla/EphyHeaderSniffer.cpp: * embed/mozilla/EventContext.cpp: Misc fixes from chpe review
-rw-r--r--ChangeLog9
-rw-r--r--embed/ephy-embed.c11
-rw-r--r--embed/mozilla/EphyBrowser.cpp33
-rw-r--r--embed/mozilla/EphyHeaderSniffer.cpp2
-rw-r--r--embed/mozilla/EventContext.cpp64
5 files changed, 69 insertions, 50 deletions
diff --git a/ChangeLog b/ChangeLog
index 7df903d59..a61792001 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-06-03 Marco Pesenti Gritti <marco@gnome.org>
+
+ * embed/ephy-embed.c: (ephy_embed_base_init):
+ * embed/mozilla/EphyBrowser.cpp:
+ * embed/mozilla/EphyHeaderSniffer.cpp:
+ * embed/mozilla/EventContext.cpp:
+
+ Misc fixes from chpe review
+
2004-06-02 Marco Pesenti Gritti <marco@gnome.org>
* embed/ephy-embed.c:
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 9e00ea0ff..2a2397236 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -249,7 +249,16 @@ ephy_embed_base_init (gpointer g_class)
G_TYPE_NONE,
1,
G_TYPE_FLOAT);
-
+/**
+ * EphyEmbed::ge-content-change:
+ * @embed:
+ * @uri: URI of the new content
+ *
+ * The ::ge_content_change signal is emitted when a new page content
+ * is being loadedinto the browser. It's a good place to do view
+ * related changes, for example to restore the zoom level of a page
+ * or to set an user style sheet.
+ **/
g_signal_new ("ge_content_change",
EPHY_TYPE_EMBED,
G_SIGNAL_RUN_FIRST,
diff --git a/embed/mozilla/EphyBrowser.cpp b/embed/mozilla/EphyBrowser.cpp
index 17666e7fa..0205d376e 100644
--- a/embed/mozilla/EphyBrowser.cpp
+++ b/embed/mozilla/EphyBrowser.cpp
@@ -61,13 +61,14 @@
#include "nsIDOMElement.h"
#include "nsIDOMWindow2.h"
#include "nsEmbedString.h"
+#include "nsMemory.h"
#ifdef ALLOW_PRIVATE_API
#include "nsIMarkupDocumentViewer.h"
#endif
static PRUnichar DOMLinkAdded[] = { 'D', 'O', 'M', 'L', 'i', 'n', 'k',
- 'A', 'd', 'd', 'e', 'd' };
+ 'A', 'd', 'd', 'e', 'd', '\0' };
EphyEventListener::EphyEventListener(void)
: mOwner(nsnull)
@@ -106,8 +107,8 @@ EphyFaviconEventListener::HandleFaviconLink (nsIDOMNode *node)
nsEmbedCString rel;
NS_UTF16ToCString (value, NS_CSTRING_ENCODING_UTF8, rel);
- if (strcasecmp (rel.get(), "SHORTCUT ICON") == 0 ||
- strcasecmp (rel.get(), "ICON") == 0)
+ if (g_ascii_strcasecmp (rel.get(), "SHORTCUT ICON") == 0 ||
+ g_ascii_strcasecmp (rel.get(), "ICON") == 0)
{
PRUnichar hrefAttr[] = { 'h', 'r', 'e', 'f', '\0' };
nsEmbedString value;
@@ -209,8 +210,8 @@ EphyBrowser::GetListener (void)
nsCOMPtr<nsIDOMWindow> domWindowExternal;
mWebBrowser->GetContentDOMWindow (getter_AddRefs(domWindowExternal));
- nsCOMPtr<nsIDOMWindow2> domWindow;
- domWindow = do_QueryInterface (domWindowExternal);
+ nsCOMPtr<nsIDOMWindow2> domWindow (do_QueryInterface (domWindowExternal));
+ NS_ENSURE_TRUE (domWindow, NS_ERROR_FAILURE);
nsCOMPtr<nsIDOMEventTarget> rootWindow;
domWindow->GetWindowRoot (getter_AddRefs(rootWindow));
@@ -615,7 +616,7 @@ nsresult EphyBrowser::GetEncoding (nsACString &encoding)
char *charset;
docCharset->GetCharset (&charset);
encoding = charset;
- g_free (charset);
+ nsMemory::Free (charset);
return NS_OK;
}
@@ -678,6 +679,11 @@ nsresult EphyBrowser::GetCommandState (const char *command, PRBool *enabled)
PRBool
EphyBrowser::CompareFormsText (nsAString &aDefaultText, nsAString &aUserText)
{
+ if (aDefaultText.Length() != aUserText.Length())
+ {
+ return FALSE;
+ }
+
/* Mozilla Bug 218277, 195946 and others */
const PRUnichar *text = aDefaultText.BeginReading();
for (PRUint32 i = 0; i < aDefaultText.Length(); i++)
@@ -688,16 +694,9 @@ EphyBrowser::CompareFormsText (nsAString &aDefaultText, nsAString &aUserText)
}
}
- if (aDefaultText.Length() != aUserText.Length())
- {
- return FALSE;
- }
- else
- {
- return (memcmp (aDefaultText.BeginReading(),
- aUserText.BeginReading(),
- aUserText.Length()) == 0);
- }
+ return (memcmp (aDefaultText.BeginReading(),
+ aUserText.BeginReading(),
+ aUserText.Length() * sizeof (PRUnichar)) == 0);
}
nsresult EphyBrowser::GetDocumentHasModifiedForms (nsIDOMDocument *aDomDoc, PRUint32 *aNumTextFields, PRBool *aHasTextArea)
@@ -762,7 +761,7 @@ nsresult EphyBrowser::GetDocumentHasModifiedForms (nsIDOMDocument *aDomDoc, PRUi
nsEmbedCString cType;
NS_UTF16ToCString (type, NS_CSTRING_ENCODING_UTF8, cType);
- if (strcasecmp (cType.get(), "text") == 0)
+ if (g_ascii_strcasecmp (cType.get(), "text") == 0)
{
nsEmbedString defaultText, userText;
PRInt32 max_length;
diff --git a/embed/mozilla/EphyHeaderSniffer.cpp b/embed/mozilla/EphyHeaderSniffer.cpp
index 4ca8d9de5..e455f80b9 100644
--- a/embed/mozilla/EphyHeaderSniffer.cpp
+++ b/embed/mozilla/EphyHeaderSniffer.cpp
@@ -298,7 +298,7 @@ nsresult EphyHeaderSniffer::PerformSave (nsIURI* inOriginalURI)
}
}
- if (defaultFileName.Length() && mURL)
+ if (!defaultFileName.Length() && mURL)
{
/* 4 Use the host. */
nsEmbedCString hostName;
diff --git a/embed/mozilla/EventContext.cpp b/embed/mozilla/EventContext.cpp
index 2c3bc5d72..1ad257010 100644
--- a/embed/mozilla/EventContext.cpp
+++ b/embed/mozilla/EventContext.cpp
@@ -142,6 +142,8 @@ nsresult EventContext::GatherTextUnder (nsIDOMNode* aNode, nsAString& aResult)
}
}
+ /* FIXME we should trim spaces here */
+
aResult = text;
return NS_OK;
@@ -222,7 +224,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
nsEmbedCString tag;
NS_UTF16ToCString (uTag, NS_CSTRING_ENCODING_UTF8, tag);
- if (strcasecmp (tag.get(), "img") == 0)
+ if (g_ascii_strcasecmp (tag.get(), "img") == 0)
{
info->context |= EMBED_CONTEXT_IMAGE;
@@ -235,7 +237,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
SetStringProperty ("image", img);
}
- else if (strcasecmp (tag.get(), "input") == 0)
+ else if (g_ascii_strcasecmp (tag.get(), "input") == 0)
{
nsCOMPtr<nsIDOMElement> element;
element = do_QueryInterface (node);
@@ -247,7 +249,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
nsEmbedCString value;
NS_UTF16ToCString (uValue, NS_CSTRING_ENCODING_UTF8, value);
- if (strcasecmp (value.get(), "image") == 0)
+ if (g_ascii_strcasecmp (value.get(), "image") == 0)
{
info->context |= EMBED_CONTEXT_IMAGE;
nsCOMPtr<nsIDOMHTMLInputElement> input;
@@ -263,21 +265,21 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
if (NS_FAILED(rv)) return NS_ERROR_FAILURE;
SetStringProperty ("image", cImg.get());
}
- else if (strcasecmp (value.get(), "radio") != 0 &&
- strcasecmp (value.get(), "submit") != 0 &&
- strcasecmp (value.get(), "reset") != 0 &&
- strcasecmp (value.get(), "hidden") != 0 &&
- strcasecmp (value.get(), "button") != 0 &&
- strcasecmp (value.get(), "checkbox") != 0)
+ else if (g_ascii_strcasecmp (value.get(), "radio") != 0 &&
+ g_ascii_strcasecmp (value.get(), "submit") != 0 &&
+ g_ascii_strcasecmp (value.get(), "reset") != 0 &&
+ g_ascii_strcasecmp (value.get(), "hidden") != 0 &&
+ g_ascii_strcasecmp (value.get(), "button") != 0 &&
+ g_ascii_strcasecmp (value.get(), "checkbox") != 0)
{
info->context |= EMBED_CONTEXT_INPUT;
}
}
- else if (strcasecmp (tag.get(), "textarea") == 0)
+ else if (g_ascii_strcasecmp (tag.get(), "textarea") == 0)
{
info->context |= EMBED_CONTEXT_INPUT;
}
- else if (strcasecmp (tag.get(), "object") == 0)
+ else if (g_ascii_strcasecmp (tag.get(), "object") == 0)
{
nsCOMPtr<nsIDOMHTMLObjectElement> object;
object = do_QueryInterface (node);
@@ -331,7 +333,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
nsEmbedCString cValue;
NS_UTF16ToCString (value, NS_CSTRING_ENCODING_UTF8, cValue);
- if (strcasecmp (cValue.get(), "simple") == 0)
+ if (g_ascii_strcasecmp (cValue.get(), "simple") == 0)
{
info->context |= EMBED_CONTEXT_LINK;
dom_elem->GetAttributeNS (nsEmbedString(xlinknsLiteral),
@@ -357,7 +359,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
NS_UTF16ToCString (uTag, NS_CSTRING_ENCODING_UTF8, tag);
/* Link */
- if (strcasecmp (tag.get(), "a") == 0)
+ if (g_ascii_strcasecmp (tag.get(), "a") == 0)
{
nsEmbedString tmp;
@@ -407,7 +409,7 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
nsEmbedCString linkType;
NS_UTF16ToCString (tmp, NS_CSTRING_ENCODING_UTF8, linkType);
- if (strcasecmp (linkType.get(), "text/smartbookmark") == 0)
+ if (g_ascii_strcasecmp (linkType.get(), "text/smartbookmark") == 0)
{
SetIntProperty ("link_is_smart", TRUE);
@@ -436,12 +438,12 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
}
}
- else if (strcasecmp (tag.get(), "option") == 0)
+ else if (g_ascii_strcasecmp (tag.get(), "option") == 0)
{
info->context = EMBED_CONTEXT_NONE;
return NS_OK;
}
- if (strcasecmp (tag.get(), "area") == 0)
+ if (g_ascii_strcasecmp (tag.get(), "area") == 0)
{
info->context |= EMBED_CONTEXT_LINK;
nsCOMPtr <nsIDOMHTMLAreaElement> area =
@@ -457,8 +459,8 @@ nsresult EventContext::GetEventContext (nsIDOMEventTarget *EventTarget,
CheckLinkScheme (href);
}
}
- else if (strcasecmp (tag.get(), "textarea") == 0 ||
- strcasecmp (tag.get(), "input") == 0)
+ else if (g_ascii_strcasecmp (tag.get(), "textarea") == 0 ||
+ g_ascii_strcasecmp (tag.get(), "input") == 0)
{
info->context |= EMBED_CONTEXT_INPUT;
}
@@ -605,11 +607,11 @@ nsresult EventContext::GetMouseEventInfo (nsIDOMMouseEvent *aMouseEvent, Mozilla
nsEmbedCString cNodeName;
NS_UTF16ToCString (nodename, NS_CSTRING_ENCODING_UTF8, cNodeName);
- if (strcasecmp (cNodeName.get(), "xul:scrollbarbutton") == 0 ||
- strcasecmp (cNodeName.get(), "xul:thumb") == 0 ||
- strcasecmp (cNodeName.get(), "xul:vbox") == 0 ||
- strcasecmp (cNodeName.get(), "xul:spacer") == 0 ||
- strcasecmp (cNodeName.get(), "xul:slider") == 0)
+ if (g_ascii_strcasecmp (cNodeName.get(), "xul:scrollbarbutton") == 0 ||
+ g_ascii_strcasecmp (cNodeName.get(), "xul:thumb") == 0 ||
+ g_ascii_strcasecmp (cNodeName.get(), "xul:vbox") == 0 ||
+ g_ascii_strcasecmp (cNodeName.get(), "xul:spacer") == 0 ||
+ g_ascii_strcasecmp (cNodeName.get(), "xul:slider") == 0)
return NS_ERROR_FAILURE;
nsCOMPtr<nsIDOMEventTarget> EventTarget;
@@ -739,14 +741,14 @@ nsresult EventContext::CheckLinkScheme (const nsAString &link)
rv = uri->GetScheme (scheme);
if (NS_FAILED (rv)) return NS_ERROR_FAILURE;
- if (strcasecmp (scheme.get(), "http") ||
- strcasecmp (scheme.get(), "https") ||
- strcasecmp (scheme.get(), "ftp") ||
- strcasecmp (scheme.get(), "file") ||
- strcasecmp (scheme.get(), "data") ||
- strcasecmp (scheme.get(), "resource") ||
- strcasecmp (scheme.get(), "about") ||
- strcasecmp (scheme.get(), "gopher"))
+ if (g_ascii_strcasecmp (scheme.get(), "http") ||
+ g_ascii_strcasecmp (scheme.get(), "https") ||
+ g_ascii_strcasecmp (scheme.get(), "ftp") ||
+ g_ascii_strcasecmp (scheme.get(), "file") ||
+ g_ascii_strcasecmp (scheme.get(), "data") ||
+ g_ascii_strcasecmp (scheme.get(), "resource") ||
+ g_ascii_strcasecmp (scheme.get(), "about") ||
+ g_ascii_strcasecmp (scheme.get(), "gopher"))
{
SetIntProperty ("link-has-web-scheme", TRUE);
}