Fixes issue 3210 by ensuring super.onBrowserEvent is called where appropriate in all of our core widgets.
Review by jlabanca
git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.6@4381 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/ui/Composite.java b/user/src/com/google/gwt/user/client/ui/Composite.java
index 1bb5a3e..c7ed3bd 100644
--- a/user/src/com/google/gwt/user/client/ui/Composite.java
+++ b/user/src/com/google/gwt/user/client/ui/Composite.java
@@ -47,6 +47,9 @@
@Override
public void onBrowserEvent(Event event) {
+ // Fire any handler added to the composite itself.
+ super.onBrowserEvent(event);
+
// Delegate events to the widget.
widget.onBrowserEvent(event);
}
diff --git a/user/src/com/google/gwt/user/client/ui/Hyperlink.java b/user/src/com/google/gwt/user/client/ui/Hyperlink.java
index c4ceead..7bb6109 100644
--- a/user/src/com/google/gwt/user/client/ui/Hyperlink.java
+++ b/user/src/com/google/gwt/user/client/ui/Hyperlink.java
@@ -138,13 +138,10 @@
@Override
public void onBrowserEvent(Event event) {
- if (DOM.eventGetType(event) == Event.ONCLICK) {
- super.onBrowserEvent(event);
-
- if (impl.handleAsClick(event)) {
- History.newItem(getTargetHistoryToken());
- DOM.eventPreventDefault(event);
- }
+ super.onBrowserEvent(event);
+ if (DOM.eventGetType(event) == Event.ONCLICK && impl.handleAsClick(event)) {
+ History.newItem(getTargetHistoryToken());
+ DOM.eventPreventDefault(event);
}
}
diff --git a/user/src/com/google/gwt/user/client/ui/MenuBar.java b/user/src/com/google/gwt/user/client/ui/MenuBar.java
index 04dc6b3..2cc23cf 100644
--- a/user/src/com/google/gwt/user/client/ui/MenuBar.java
+++ b/user/src/com/google/gwt/user/client/ui/MenuBar.java
@@ -395,8 +395,6 @@
@Override
public void onBrowserEvent(Event event) {
- super.onBrowserEvent(event);
-
MenuItem item = findItem(DOM.eventGetTarget(event));
switch (DOM.eventGetType(event)) {
case Event.ONCLICK: {
@@ -469,6 +467,7 @@
break;
} // end case Event.ONKEYDOWN
} // end switch (DOM.eventGetType(event))
+ super.onBrowserEvent(event);
}
/**
diff --git a/user/src/com/google/gwt/user/client/ui/SplitPanel.java b/user/src/com/google/gwt/user/client/ui/SplitPanel.java
index ff58976..aaf5692 100644
--- a/user/src/com/google/gwt/user/client/ui/SplitPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/SplitPanel.java
@@ -316,6 +316,7 @@
break;
}
}
+ super.onBrowserEvent(event);
}
@Override
diff --git a/user/src/com/google/gwt/user/client/ui/StackPanel.java b/user/src/com/google/gwt/user/client/ui/StackPanel.java
index ae17c23..8432a01 100644
--- a/user/src/com/google/gwt/user/client/ui/StackPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/StackPanel.java
@@ -171,6 +171,7 @@
showStack(index);
}
}
+ super.onBrowserEvent(event);
}
@Override