+2008-10-23 Andreia Gaita <shana@jitted.com>
+
+ * Mono.Mozilla/DOM/Node.cs,
+ * Mono.Mozilla/DOM/Window.cs: Fix yet more equality operators
+
2008-10-23 Andreia Gaita <shana@jitted.com>
* Mono.Mozilla/DOM/Document.cs,
#endregion
- public override bool Equals (object obj) {
- return obj.GetHashCode () == this.GetHashCode ();
+ public override bool Equals (object obj)
+ {
+ return this == obj as Node;
+ }
+
+ public static bool operator == (Node left, Node right)
+ {
+ if (left == null || right == null)
+ return false;
+ return left.hashcode == right.hashcode;
+ }
+
+ public static bool operator != (Node left, Node right)
+ {
+ return !(left == right);
}
public override int GetHashCode ()
{
internal nsIDOMWindow window;
private EventListener eventListener;
+ int hashcode;
public Window(WebBrowser control, nsIDOMWindow domWindow) : base (control)
{
+ this.hashcode = domWindow.GetHashCode ();
this.window = domWindow;
}
EventListener.RemoveHandler (handler, eventName);
}
- public override bool Equals (object obj) {
- return obj.GetHashCode () == this.GetHashCode ();
- }
-
public void Focus () {
nsIWebBrowserFocus focus = (nsIWebBrowserFocus) this.window;
focus.setFocusedWindow (this.window);
}
- public override int GetHashCode () {
- return this.window.GetHashCode ();
- }
-
public void Open (string url)
{
nsIWebNavigation webnav = (nsIWebNavigation) this.window;
{
this.window.scrollTo (x, y);
}
+
+ public override bool Equals (object obj)
+ {
+ return this == obj as Window;
+ }
+
+ public static bool operator == (Window left, Window right)
+ {
+ if (left == null || right == null)
+ return false;
+ return left.hashcode == right.hashcode;
+ }
+
+ public static bool operator != (Window left, Window right)
+ {
+ return !(left == right);
+ }
+
+ public override int GetHashCode () {
+ return hashcode;
+ }
+
#endregion
#region Events