[HtmlUnit] SVN: [15557] trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit
rbri--- via HtmlUnit-develop <[email protected]> Thu, 30 Aug 2018 14:39:48 +0000
| Newsgroups | gmane.comp.java.htmlunit.devel |
|---|---|
| Message-ID | <[email protected]> |
Revision: 15557
http://sourceforge.net/p/htmlunit/code/15557
Author: rbri
Date: 2018-08-30 14:39:46 +0000 (Thu, 30 Aug 2018)
Log Message:
-----------
cleanup
Modified Paths:
--------------
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/ScriptResult.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocket.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventListenersContainer.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventTarget.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/worker/DedicatedWorkerGlobalScope.java
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/ScriptResult.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/ScriptResult.java 2018-08-30 08:13:33 UTC (rev 15556)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/ScriptResult.java 2018-08-30 14:39:46 UTC (rev 15557)
@@ -82,49 +82,4 @@
public static boolean isUndefined(final ScriptResult scriptResult) {
return scriptResult != null && scriptResult.getJavaScriptResult() instanceof Undefined;
}
-
- /**
- * Creates and returns a composite {@link ScriptResult} based on the two input {@link ScriptResult}s. This
- * method defines how the return values for multiple event handlers are combined during event capturing and
- * bubbling. The behavior of this method varies based on whether or not we are emulating IE.
- *
- * @param newResult the new {@link ScriptResult} (may be {@code null})
- * @param originalResult the original {@link ScriptResult} (may be {@code null})
- * @return a composite {@link ScriptResult}, based on the two input {@link ScriptResult}s
- */
- public static ScriptResult combine(final ScriptResult newResult, final ScriptResult originalResult) {
- final Object jsResult;
- final Page page;
-
- if (ScriptResult.isFalse(newResult)) {
- jsResult = newResult.getJavaScriptResult();
- }
- else if (originalResult != null) {
- jsResult = originalResult.getJavaScriptResult();
- }
- else if (newResult != null) {
- jsResult = newResult.getJavaScriptResult();
- }
- else {
- jsResult = null;
- }
-
- // The new page is always the newest page.
- if (newResult != null) {
- page = newResult.getNewPage();
- }
- else if (originalResult != null) {
- page = originalResult.getNewPage();
- }
- else {
- page = null;
- }
-
- // Build and return the composite script result.
- if (jsResult == null && page == null) {
- return null;
- }
- return new ScriptResult(jsResult, page);
- }
-
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocket.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocket.java 2018-08-30 08:13:33 UTC (rev 15556)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocket.java 2018-08-30 14:39:46 UTC (rev 15557)
@@ -499,7 +499,10 @@
evt.setPrototype(getPrototype(evt.getClass()));
final JavaScriptEngine engine = (JavaScriptEngine) containingPage_.getWebClient().getJavaScriptEngine();
- engine.getContextFactory().call(cx -> executeEventLocally(evt));
+ engine.getContextFactory().call(cx -> {
+ executeEventLocally(evt);
+ return null;
+ });
}
private void callFunction(final Function function, final Object[] args) {
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventListenersContainer.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventListenersContainer.java 2018-08-30 08:13:33 UTC (rev 15556)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventListenersContainer.java 2018-08-30 14:39:46 UTC (rev 15557)
@@ -290,14 +290,13 @@
});
}
- private ScriptResult executeEventListeners(final int eventPhase, final Event event, final Object[] args) {
+ private void executeEventListeners(final int eventPhase, final Event event, final Object[] args) {
final DomNode node = jsNode_.getDomNodeOrNull();
// some event don't apply on all kind of nodes, for instance "blur"
if (node != null && !node.handles(event)) {
- return null;
+ return;
}
- ScriptResult allResult = null;
final TypeContainer container = getTypeContainer(event.getType());
final List<Scriptable> listeners = container.getListeners(eventPhase);
if (!listeners.isEmpty()) {
@@ -346,17 +345,13 @@
// Return value is only honored for property handlers (Tested in Chrome/FF/IE11)
if (isPropertyHandler && !ScriptResult.isUndefined(result)) {
event.handlePropertyHandlerReturnValue(result.getJavaScriptResult());
-
- // This return value is now all but unused and can be refactored away
- allResult = null;
}
}
if (event.isImmediatePropagationStopped()) {
- return allResult;
+ return;
}
}
}
- return allResult;
}
/**
@@ -363,10 +358,9 @@
* Executes bubbling listeners.
* @param event the event
* @param args arguments
- * @return the result
*/
- public ScriptResult executeBubblingListeners(final Event event, final Object[] args) {
- return executeEventListeners(Event.BUBBLING_PHASE, event, args);
+ public void executeBubblingListeners(final Event event, final Object[] args) {
+ executeEventListeners(Event.BUBBLING_PHASE, event, args);
}
/**
@@ -373,10 +367,9 @@
* Executes capturing listeners.
* @param event the event
* @param args the arguments
- * @return the result
*/
- public ScriptResult executeCapturingListeners(final Event event, final Object[] args) {
- return executeEventListeners(Event.CAPTURING_PHASE, event, args);
+ public void executeCapturingListeners(final Event event, final Object[] args) {
+ executeEventListeners(Event.CAPTURING_PHASE, event, args);
}
/**
@@ -383,10 +376,9 @@
* Executes listeners for events targeting the node. (non-propagation phase)
* @param event the event
* @param args the arguments
- * @return the result
*/
- public ScriptResult executeAtTargetListeners(final Event event, final Object[] args) {
- return executeEventListeners(Event.AT_TARGET, event, args);
+ public void executeAtTargetListeners(final Event event, final Object[] args) {
+ executeEventListeners(Event.AT_TARGET, event, args);
}
/**
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventTarget.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventTarget.java 2018-08-30 08:13:33 UTC (rev 15556)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/event/EventTarget.java 2018-08-30 14:39:46 UTC (rev 15557)
@@ -87,10 +87,9 @@
/**
* Executes the event on this object only (needed for instance for onload on (i)frame tags).
* @param event the event
- * @return the result
* @see #fireEvent(Event)
*/
- public ScriptResult executeEventLocally(final Event event) {
+ public void executeEventLocally(final Event event) {
final EventListenersContainer eventListenersContainer = getEventListenersContainer();
final Window window = getWindow();
final Object[] args = new Object[] {event};
@@ -99,7 +98,7 @@
window.setCurrentEvent(event);
try {
event.setEventPhase(Event.AT_TARGET);
- return eventListenersContainer.executeAtTargetListeners(event, args);
+ eventListenersContainer.executeAtTargetListeners(event, args);
}
finally {
window.setCurrentEvent(previousEvent); // reset event
@@ -126,7 +125,6 @@
final Object[] args = new Object[] {event};
event.startFire();
- ScriptResult result = null;
final Event previousEvent = window.getCurrentEvent();
window.setCurrentEvent(event);
@@ -168,8 +166,7 @@
final EventTarget jsNode = propagationPath.get(i);
final EventListenersContainer elc = jsNode.eventListenersContainer_;
if (elc != null) {
- final ScriptResult r = elc.executeCapturingListeners(event, args);
- result = ScriptResult.combine(r, result);
+ elc.executeCapturingListeners(event, args);
if (event.isPropagationStopped()) {
return;
}
@@ -185,8 +182,7 @@
final EventTarget jsNode = propagationPath.get(0);
final EventListenersContainer elc = jsNode.eventListenersContainer_;
if (elc != null) {
- final ScriptResult r = elc.executeAtTargetListeners(event, args);
- result = ScriptResult.combine(r, result);
+ elc.executeAtTargetListeners(event, args);
if (event.isPropagationStopped()) {
return;
}
@@ -214,8 +210,7 @@
final EventTarget jsNode = propagationPath.get(i);
final EventListenersContainer elc = jsNode.eventListenersContainer_;
if (elc != null) {
- final ScriptResult r = elc.executeBubblingListeners(event, args);
- result = ScriptResult.combine(r, result);
+ elc.executeBubblingListeners(event, args);
if (event.isPropagationStopped()) {
return;
}
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement.java 2018-08-30 08:13:33 UTC (rev 15556)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement.java 2018-08-30 14:39:46 UTC (rev 15557)
@@ -20,7 +20,6 @@
import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF;
import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.IE;
-import com.gargoylesoftware.htmlunit.ScriptResult;
import com.gargoylesoftware.htmlunit.html.BaseFrameElement;
import com.gargoylesoftware.htmlunit.html.HtmlInlineFrame;
import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass;
@@ -200,12 +199,11 @@
* {@inheritDoc}
*/
@Override
- public ScriptResult executeEventLocally(final Event event) {
+ public void executeEventLocally(final Event event) {
if (Event.TYPE_LOAD != event.getType()
|| !isAttachedToPageDuringOnload_ || getBrowserVersion().hasFeature(JS_IFRAME_ALWAYS_EXECUTE_ONLOAD)) {
- return super.executeEventLocally(event);
+ super.executeEventLocally(event);
}
- return null;
}
/**
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/worker/DedicatedWorkerGlobalScope.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/worker/DedicatedWorkerGlobalScope.java 2018-08-30 08:13:33 UTC (rev 15556)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/worker/DedicatedWorkerGlobalScope.java 2018-08-30 14:39:46 UTC (rev 15557)
@@ -125,7 +125,8 @@
public Object run(final Context cx) {
worker_.getEventListenersContainer().executeCapturingListeners(event, null);
final Object[] args = new Object[] {event};
- return worker_.getEventListenersContainer().executeBubblingListeners(event, args);
+ worker_.getEventListenersContainer().executeBubblingListeners(event, args);
+ return null;
}
};
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot