From: <rb...@us...> - 2013-10-22 18:11:28
|
Revision: 8672 http://sourceforge.net/p/htmlunit/code/8672 Author: rbri Date: 2013-10-22 18:11:22 +0000 (Tue, 22 Oct 2013) Log Message: ----------- improved/more flexible javascript engine configuration; more HTMLelement fixes Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLButtonElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCanvasElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionDescriptionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionTermElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDelElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDirectoryElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFieldSetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFontElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameSetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHeadElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHeadingElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInlineQuotationElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInsElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIsIndexElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLIElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLabelElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLegendElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLinkElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMapElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMediaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMenuElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMetaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMeterElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLObjectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOptGroupElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOptionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLParagraphElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLParamElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPreElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLProgressElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLScriptElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSelectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSourceElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpacerElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLStyleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCellElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableComponent.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableRowElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableSectionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTextAreaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTitleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUnknownElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLVideoElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLWBRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAltGlyphElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateMotionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateTransformElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGCircleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGClipPathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGDefsElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGDescElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGEllipseElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEBlendElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEColorMatrixElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEComponentTransferElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFECompositeElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEConvolveMatrixElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEDiffuseLightingElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEDisplacementMapElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEDistantLightElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFloodElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncAElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncBElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEGaussianBlurElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEImageElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEMergeElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEMergeNodeElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEMorphologyElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEOffsetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEPointLightElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFESpecularLightingElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFESpotLightElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFETileElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFETurbulenceElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFilterElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGForeignObjectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGImageElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGLineElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGLinearGradientElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMarkerElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMaskElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMetadataElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMpathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPatternElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPolygonElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPolylineElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGRadialGradientElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGRectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSVGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGScriptElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGStopElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGStyleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSwitchElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSymbolElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTSpanElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTextElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTextPathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTitleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGUseElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlIsIndexTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElementTest.java Added Paths: ----------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLNoShowElement.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -19,8 +19,10 @@ import java.lang.reflect.Method; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import java.util.WeakHashMap; import org.apache.commons.logging.Log; @@ -171,6 +173,7 @@ import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLMenuElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLMetaElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLMeterElement; +import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLNoShowElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLOListElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLObjectElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLOptGroupElement; @@ -297,7 +300,8 @@ DOMTokenList.class, Document.class, DocumentFragment.class, DocumentType.class, Element.class, Enumerator.class, Event.class, EventNode.class, External.class, Float32Array.class, Float64Array.class, - FormChild.class, FormField.class, Geolocation.class, History.class, + FormChild.class, FormField.class, Geolocation.class, + HashChangeEvent.class, History.class, HTMLAnchorElement.class, HTMLAppletElement.class, HTMLAreaElement.class, HTMLAudioElement.class, HTMLBRElement.class, HTMLBaseElement.class, HTMLBaseFontElement.class, HTMLBGSoundElement.class, HTMLBlockElement.class, @@ -313,6 +317,7 @@ HTMLInsElement.class, HTMLIsIndexElement.class, HTMLLIElement.class, HTMLLabelElement.class, HTMLLegendElement.class, HTMLLinkElement.class, HTMLListElement.class, HTMLMapElement.class, HTMLMediaElement.class, HTMLMenuElement.class, HTMLMetaElement.class, HTMLMeterElement.class, + HTMLNoShowElement.class, HTMLOListElement.class, HTMLObjectElement.class, HTMLOptGroupElement.class, HTMLOptionElement.class, HTMLOptionsCollection.class, HTMLParagraphElement.class, HTMLParamElement.class, HTMLPhraseElement.class, @@ -320,8 +325,10 @@ HTMLSelectElement.class, HTMLSourceElement.class, HTMLSpacerElement.class, HTMLSpanElement.class, HTMLStyleElement.class, HTMLTableCaptionElement.class, HTMLTableCellElement.class, HTMLTableColElement.class, HTMLTableComponent.class, HTMLTableElement.class, HTMLTableRowElement.class, HTMLTableSectionElement.class, - HTMLTextAreaElement.class, HTMLTitleElement.class, HTMLUListElement.class, HTMLUnknownElement.class, - HTMLVideoElement.class, HTMLWBRElement.class, HashChangeEvent.class, History.class, + HTMLTextAreaElement.class, HTMLTitleElement.class, + HTMLUListElement.class, HTMLUnknownElement.class, + HTMLWBRElement.class, + HTMLVideoElement.class, Int16Array.class, Int32Array.class, Int8Array.class, KeyboardEvent.class, Location.class, MediaList.class, MessageEvent.class, MimeType.class, MimeTypeArray.class, MouseEvent.class, @@ -425,7 +432,6 @@ private ClassConfiguration processClass(final Class<? extends SimpleScriptable> klass, final BrowserVersion browser) { if (browser != null) { - final JsxClass jsxClass = klass.getAnnotation(JsxClass.class); final String expectedBrowserName; if (browser.isIE()) { expectedBrowserName = "IE"; @@ -437,75 +443,122 @@ expectedBrowserName = "CHROME"; } final float browserVersionNumeric = browser.getBrowserVersionNumeric(); + + final String hostClassName = klass.getName(); + final JsxClasses jsxClasses = klass.getAnnotation(JsxClasses.class); + if (jsxClasses != null + && isSupported(jsxClasses.browsers(), expectedBrowserName, browserVersionNumeric)) { + if (klass.getAnnotation(JsxClass.class) != null) { + throw new RuntimeException("Invalid JsxClasses/JsxClass annotation; class '" + + hostClassName + "' has both."); + } + final boolean isJsObject = jsxClasses.isJSObject(); + final JsxClass[] jsxClassValues = jsxClasses.value(); + + final Set<Class<?>> domClasses = new HashSet<Class<?>>(); + + for (int i = 0; i < jsxClassValues.length; i++) { + final JsxClass jsxClass = jsxClassValues[i]; + + if (jsxClass != null + && isSupported(jsxClass.browsers(), expectedBrowserName, browserVersionNumeric)) { + domClasses.add(jsxClass.domClass()); + } + } + + final ClassConfiguration classConfiguration = + new ClassConfiguration(klass, domClasses.toArray(new Class<?>[0]), isJsObject); + + process(classConfiguration, hostClassName, expectedBrowserName, + browserVersionNumeric); + return classConfiguration; + } + + final JsxClass jsxClass = klass.getAnnotation(JsxClass.class); if (jsxClass != null && isSupported(jsxClass.browsers(), expectedBrowserName, browserVersionNumeric)) { - final String hostClassName = klass.getName(); - final Class<?>[] domClasses = jsxClass.domClasses(); + final Set<Class<?>> domClasses = new HashSet<Class<?>>(); + final Class<?> domClass = jsxClass.domClass(); + if (domClass != null && domClass != Object.class) { + domClasses.add(domClass); + } - final boolean isJsObject = jsxClass.isJSObject(); - final ClassConfiguration classConfiguration = new ClassConfiguration(klass, domClasses, isJsObject); + final ClassConfiguration classConfiguration + = new ClassConfiguration(klass, domClasses.toArray(new Class<?>[0]), true); - final String simpleClassName = hostClassName.substring(hostClassName.lastIndexOf('.') + 1); - ClassnameMap_.put(hostClassName, simpleClassName); - final Map<String, Method> allGetters = new HashMap<String, Method>(); - final Map<String, Method> allSetters = new HashMap<String, Method>(); - for (final Method method : classConfiguration.getHostClass().getDeclaredMethods()) { - for (final Annotation annotation : method.getAnnotations()) { - if (annotation instanceof JsxGetter) { - final JsxGetter jsxGetter = (JsxGetter) annotation; - if (isSupported(jsxGetter.value(), expectedBrowserName, browserVersionNumeric)) { - String property; - if (jsxGetter.propertyName().isEmpty()) { - property = method.getName().substring(3); - property = Character.toLowerCase(property.charAt(0)) + property.substring(1); - } - else { - property = jsxGetter.propertyName(); - } - allGetters.put(property, method); - } + process(classConfiguration, hostClassName, expectedBrowserName, + browserVersionNumeric); + return classConfiguration; + } + } + return null; + } + + private void process(final ClassConfiguration classConfiguration, + final String hostClassName, final String expectedBrowserName, + final float browserVersionNumeric) { + final String simpleClassName = hostClassName.substring(hostClassName.lastIndexOf('.') + 1); + +// if (ClassnameMap_.containsKey(hostClassName)) { +// throw new RuntimeException("Invalid JsxClasses/JsxClass configuration; two mappings for class '" +// + hostClassName + "'."); +// } + ClassnameMap_.put(hostClassName, simpleClassName); + final Map<String, Method> allGetters = new HashMap<String, Method>(); + final Map<String, Method> allSetters = new HashMap<String, Method>(); + for (final Method method : classConfiguration.getHostClass().getDeclaredMethods()) { + for (final Annotation annotation : method.getAnnotations()) { + if (annotation instanceof JsxGetter) { + final JsxGetter jsxGetter = (JsxGetter) annotation; + if (isSupported(jsxGetter.value(), expectedBrowserName, browserVersionNumeric)) { + String property; + if (jsxGetter.propertyName().isEmpty()) { + property = method.getName().substring(3); + property = Character.toLowerCase(property.charAt(0)) + property.substring(1); } - else if (annotation instanceof JsxSetter) { - final JsxSetter jsxSetter = (JsxSetter) annotation; - if (isSupported(jsxSetter.value(), expectedBrowserName, browserVersionNumeric)) { - String property; - if (jsxSetter.propertyName().isEmpty()) { - property = method.getName().substring(3); - property = Character.toLowerCase(property.charAt(0)) + property.substring(1); - } - else { - property = jsxSetter.propertyName(); - } - allSetters.put(property, method); - } + else { + property = jsxGetter.propertyName(); } - else if (annotation instanceof JsxFunction) { - if (isSupported(((JsxFunction) annotation).value(), - expectedBrowserName, browserVersionNumeric)) { - classConfiguration.addFunction(method); - } + allGetters.put(property, method); + } + } + else if (annotation instanceof JsxSetter) { + final JsxSetter jsxSetter = (JsxSetter) annotation; + if (isSupported(jsxSetter.value(), expectedBrowserName, browserVersionNumeric)) { + String property; + if (jsxSetter.propertyName().isEmpty()) { + property = method.getName().substring(3); + property = Character.toLowerCase(property.charAt(0)) + property.substring(1); } - else if (annotation instanceof JsxConstructor) { - classConfiguration.setJSConstructor(method); + else { + property = jsxSetter.propertyName(); } + allSetters.put(property, method); } } - for (final Field field : classConfiguration.getHostClass().getDeclaredFields()) { - final JsxConstant jsxConstant = field.getAnnotation(JsxConstant.class); - if (jsxConstant != null - && isSupported(jsxConstant.value(), expectedBrowserName, browserVersionNumeric)) { - classConfiguration.addConstant(field.getName()); + else if (annotation instanceof JsxFunction) { + if (isSupported(((JsxFunction) annotation).value(), + expectedBrowserName, browserVersionNumeric)) { + classConfiguration.addFunction(method); } } - for (final Entry<String, Method> getterEntry : allGetters.entrySet()) { - final String property = getterEntry.getKey(); - classConfiguration.addProperty(property, - getterEntry.getValue(), allSetters.get(property)); + else if (annotation instanceof JsxConstructor) { + classConfiguration.setJSConstructor(method); } - return classConfiguration; } } - return null; + for (final Field field : classConfiguration.getHostClass().getDeclaredFields()) { + final JsxConstant jsxConstant = field.getAnnotation(JsxConstant.class); + if (jsxConstant != null + && isSupported(jsxConstant.value(), expectedBrowserName, browserVersionNumeric)) { + classConfiguration.addConstant(field.getName()); + } + } + for (final Entry<String, Method> getterEntry : allGetters.entrySet()) { + final String property = getterEntry.getKey(); + classConfiguration.addProperty(property, + getterEntry.getValue(), allSetters.get(property)); + } } private static boolean isSupported(final WebBrowser[] browsers, final String expectedBrowserName, @@ -552,8 +605,7 @@ * are the JavaScript class names (e.g. "HTMLAnchorElement"). * @return the mappings */ - public Map<Class<?>, Class<? extends SimpleScriptable>> - getDomJavaScriptMapping() { + public Map<Class<?>, Class<? extends SimpleScriptable>> getDomJavaScriptMapping() { if (domJavaScriptMap_ != null) { return domJavaScriptMap_; } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -34,16 +34,12 @@ public @interface JsxClass { /** The DOM class (if any). */ - Class<?>[] domClasses() default { }; + Class<?> domClass() default Object.class; - /** Is JavaScript Object. */ - boolean isJSObject() default true; - /** The {@link WebBrowser}s supported by this constant. */ WebBrowser[] browsers() default { @WebBrowser(IE), @WebBrowser(FF), @WebBrowser(CHROME) }; - } Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.javascript.configuration; + +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.CHROME; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * An annotation to mark a Java class as JavaScript class. + * + * @version $Revision$ + * @author Ronald Brill + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface JsxClasses { + + /** The different classes. */ + JsxClass[] value() default { }; + + /** Is JavaScript Object. */ + boolean isJSObject() default true; + + /** The {@link WebBrowser}s supported by this constant. */ + WebBrowser[] browsers() default { + @WebBrowser(IE), + @WebBrowser(FF), + @WebBrowser(CHROME) + }; +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -42,7 +42,7 @@ * @author Sudhan Moghe * @author Ronald Brill */ -@JsxClass(domClasses = DomAttr.class) +@JsxClass(domClass = DomAttr.class) public class Attr extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -23,7 +23,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = DomCDataSection.class) +@JsxClass(domClass = DomCDataSection.class) public final class CDATASection extends Text { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -27,7 +27,7 @@ * @author David K. Taylor * @author Chris Erskine */ -@JsxClass(domClasses = DomCharacterData.class) +@JsxClass(domClass = DomCharacterData.class) public class CharacterDataImpl extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -35,7 +35,7 @@ * @author Mirko Friedenhagen * @author Ahmed Ashour */ -@JsxClass(domClasses = DomComment.class) +@JsxClass(domClass = DomComment.class) public final class Comment extends CharacterDataImpl { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -40,7 +40,7 @@ * @see <a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core.html#ID-B63ED1A3"> * W3C Dom Level 1</a> */ -@JsxClass(domClasses = DomDocumentFragment.class) +@JsxClass(domClass = DomDocumentFragment.class) public class DocumentFragment extends Node { //TODO: seems that in IE, DocumentFragment extends HTMLDocument Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -38,7 +38,7 @@ * @see <a href="http://msdn.microsoft.com/en-us/library/ms762752.aspx">MSDN documentation</a> * @see <a href="http://www.xulplanet.com/references/objref/DocumentType.html">XUL Planet</a> */ -@JsxClass(domClasses = DomDocumentType.class) +@JsxClass(domClass = DomDocumentType.class) public class DocumentType extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -51,7 +51,7 @@ * @author Sudhan Moghe * @author Ronald Brill */ -@JsxClass(domClasses = DomElement.class) +@JsxClass(domClass = DomElement.class) public class Element extends EventNode { private NamedNodeMap attributes_; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -15,7 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host; import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLFormElement; @@ -26,7 +26,9 @@ * @version $Revision$ * @author Daniel Gredler */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class FormChild extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -20,7 +20,7 @@ import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -35,7 +35,9 @@ * @author Chris Erskine * @author Ahmed Ashour */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class FormField extends FormChild { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -25,7 +25,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = DomProcessingInstruction.class) +@JsxClass(domClass = DomProcessingInstruction.class) public final class ProcessingInstruction extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -22,7 +22,7 @@ import com.gargoylesoftware.htmlunit.javascript.ScriptableWithFallbackGetter; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; @@ -34,7 +34,9 @@ * * @see <a href="http://www.xulplanet.com/references/objref/MimeTypeArray.html">XUL Planet</a> */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class SimpleArray extends SimpleScriptable implements ScriptableWithFallbackGetter { private final List<Object> elements_ = new ArrayList<Object>(); Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -37,7 +37,7 @@ * @author Chuck Dumont * @author Ronald Brill */ -@JsxClass(domClasses = DomText.class) +@JsxClass(domClass = DomText.class) public class Text extends CharacterDataImpl { /** @@ -61,7 +61,7 @@ * Returns wholeText value. * @return wholeText value */ - @JsxGetter({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10), @WebBrowser(CHROME) }) public String getWholeText() { return ((DomText) getDomNodeOrDie()).getWholeText(); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -18,7 +18,7 @@ import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -28,7 +28,10 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(isJSObject = false, browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) +@JsxClasses( + isJSObject = false, + browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) } +) public class ArrayBufferView extends SimpleScriptable { private ArrayBuffer buffer_; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -22,7 +22,7 @@ import net.sourceforge.htmlunit.corejs.javascript.ScriptableObject; import net.sourceforge.htmlunit.corejs.javascript.Undefined; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -34,7 +34,9 @@ * @author Ahmed Ashour * @author Marc Guillemot */ -@JsxClass(isJSObject = false, browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) +@JsxClasses( + isJSObject = false, + browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) public class ArrayBufferViewBase extends ArrayBufferView { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -22,7 +22,7 @@ import net.sourceforge.htmlunit.corejs.javascript.Undefined; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxConstructor; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -33,7 +33,9 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(isJSObject = false, browsers = { @WebBrowser(value = FF, minVersion = 15), @WebBrowser(CHROME) }) +@JsxClasses( + isJSObject = false, + browsers = { @WebBrowser(value = FF, minVersion = 15), @WebBrowser(CHROME) }) public class DataView extends ArrayBufferView { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -17,7 +17,7 @@ import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -28,7 +28,9 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class CSSRule extends SimpleScriptable { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -46,7 +46,7 @@ * @author Daniel Gredler * @author Ronald Brill */ -@JsxClass(domClasses = HtmlAnchor.class) +@JsxClass(domClass = HtmlAnchor.class) public class HTMLAnchorElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -40,7 +40,7 @@ * @author Marc Guillemot * @author Daniel Gredler */ -@JsxClass(domClasses = HtmlApplet.class) +@JsxClass(domClass = HtmlApplet.class) public class HTMLAppletElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -31,7 +31,7 @@ * @author Ahmed Ashour * @author Ronald Brill */ -@JsxClass(domClasses = HtmlArea.class) +@JsxClass(domClass = HtmlArea.class) public class HTMLAreaElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -29,7 +29,7 @@ * @author Ronald Brill * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlAudio.class, browsers = { @WebBrowser(FF), +@JsxClass(domClass = HtmlAudio.class, browsers = { @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10), @WebBrowser(CHROME) }) public class HTMLAudioElement extends HTMLMediaElement { Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -25,7 +25,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlBackgroundSound.class) +@JsxClass(domClass = HtmlBackgroundSound.class) public class HTMLBGSoundElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -32,7 +32,7 @@ * @author Ahmed Ashour * @author Ronald Brill */ -@JsxClass(domClasses = HtmlBreak.class) +@JsxClass(domClass = HtmlBreak.class) public class HTMLBRElement extends HTMLElement { /** Valid values for the {@link #getClear() clear} property. */ Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -25,7 +25,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlBase.class) +@JsxClass(domClass = HtmlBase.class) public class HTMLBaseElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -31,7 +31,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlBaseFont.class, browsers = { @WebBrowser(IE), @WebBrowser(value = FF, maxVersion = 3.6f) }) +@JsxClass(domClass = HtmlBaseFont.class, browsers = { @WebBrowser(IE), @WebBrowser(value = FF, maxVersion = 3.6f) }) public class HTMLBaseFontElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -15,6 +15,8 @@ package com.gargoylesoftware.htmlunit.javascript.host.html; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_BLOCK_COMMON_CLASS_NAME; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_XML_SUPPORT_VIA_ACTIVEXOBJECT; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlAddress; @@ -22,7 +24,10 @@ import com.gargoylesoftware.htmlunit.html.HtmlExample; import com.gargoylesoftware.htmlunit.html.HtmlListing; import com.gargoylesoftware.htmlunit.html.HtmlPlainText; +import com.gargoylesoftware.htmlunit.html.HtmlPreformattedText; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; +import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; import com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject; /** @@ -31,12 +36,14 @@ * @version $Revision$ * @author Ronald Brill */ -@JsxClass(domClasses = { - HtmlAddress.class, - HtmlCenter.class, - HtmlExample.class, - HtmlListing.class, - HtmlPlainText.class }) +@JsxClasses({ + @JsxClass(domClass = HtmlAddress.class), + @JsxClass(domClass = HtmlCenter.class), + @JsxClass(domClass = HtmlExample.class), + @JsxClass(domClass = HtmlListing.class), + @JsxClass(domClass = HtmlPlainText.class), + @JsxClass(domClass = HtmlPreformattedText.class, browsers = @WebBrowser(value = IE, maxVersion = 8)) +}) public class HTMLBlockElement extends HTMLElement { /** @@ -47,7 +54,9 @@ public void setDomNode(final DomNode domNode) { super.setDomNode(domNode); - ActiveXObject.addProperty(this, "cite", true, true); + if (getBrowserVersion().hasFeature(JS_XML_SUPPORT_VIA_ACTIVEXOBJECT)) { + ActiveXObject.addProperty(this, "cite", true, true); + } } /** @@ -112,7 +121,8 @@ public String getDefaultStyleDisplay() { final String tagName = getTagName(); if ("ADDRESS".equals(tagName) - || "CENTER".equals(tagName)) { + || "CENTER".equals(tagName) + || "PRE".equals(tagName)) { return super.getDefaultStyleDisplay(); } return "inline"; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -28,7 +28,7 @@ * @author Ahmed Ashour * @author Ronald Brill */ -@JsxClass(domClasses = HtmlBlockQuote.class) +@JsxClass(domClass = HtmlBlockQuote.class) public class HTMLBlockQuoteElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -39,7 +39,7 @@ * @author Marc Guillem... [truncated message content] |