This table below is copied and pasted into the code from the comment in the source code for qx.core.Environment

*

Synchronous checks

Key

Type

Example

Details

browser
browser.documentmodeInteger0 {@link qx.bom.client.Browser#getDocumentMode}
browser.nameString chrome {@link qx.bom.client.Browser#getName}
browser.quirksmodeBooleanfalse {@link qx.bom.client.Browser#getQuirksMode}
browser.versionString11.0 {@link qx.bom.client.Browser#getVersion}
runtime
runtime.name String node.js {@link qx.bom.client.Runtime#getName}
css
css.borderradiusString or nullborderRadius {@link qx.bom.client.Css#getBorderRadius}
css.borderimageString or nullWebkitBorderImage {@link qx.bom.client.Css#getBorderImage}
css.borderimage.standardsyntaxBoolean or nulltrue {@link qx.bom.client.Css#getBorderImageSyntax}
css.boxmodelStringcontent {@link qx.bom.client.Css#getBoxModel}
css.boxshadowString or nullboxShadow {@link qx.bom.client.Css#getBoxShadow}
css.gradient.linearString or null-moz-linear-gradient {@link qx.bom.client.Css#getLinearGradient}
css.gradient.filterBooleantrue {@link qx.bom.client.Css#getFilterGradient}
css.gradient.radialString or null-moz-radial-gradient {@link qx.bom.client.Css#getRadialGradient}
css.gradient.legacywebkitBooleanfalse {@link qx.bom.client.Css#getLegacyWebkitGradient}
css.placeholderBooleantrue {@link qx.bom.client.Css#getPlaceholder}
css.textoverflowString or nulltextOverflow {@link qx.bom.client.Css#getTextOverflow}
css.rgbaBooleantrue {@link qx.bom.client.Css#getRgba}
css.usermodifyString or nullWebkitUserModify {@link qx.bom.client.Css#getUserModify}
css.appearanceString or nullWebkitAppearance {@link qx.bom.client.Css#getAppearance}
css.floatString or nullcssFloat {@link qx.bom.client.Css#getFloat}
css.userselectString or nullWebkitUserSelect {@link qx.bom.client.Css#getUserSelect}
css.userselect.noneString or null-moz-none {@link qx.bom.client.Css#getUserSelectNone}
css.boxsizingString or nullboxSizing {@link qx.bom.client.Css#getBoxSizing}
css.animationObject or null{end-event: "webkitAnimationEnd", keyframes: "@-webkit-keyframes", play-state: null, name: "WebkitAnimation"} {@link qx.bom.client.CssAnimation#getSupport}
css.animation.requestframeString or nullmozRequestAnimationFrame {@link qx.bom.client.CssAnimation#getRequestAnimationFrame}
css.transformObject or null{3d: true, origin: "WebkitTransformOrigin", name: "WebkitTransform", style: "WebkitTransformStyle", perspective: "WebkitPerspective", perspective-origin: "WebkitPerspectiveOrigin", backface-visibility: "WebkitBackfaceVisibility"} {@link qx.bom.client.CssTransform#getSupport}
css.transform.3dBooleanfalse {@link qx.bom.client.CssTransform#get3D}
css.transitionObject or null{end-event: "webkitTransitionEnd", name: "WebkitTransition"} {@link qx.bom.client.CssTransition#getSupport}
css.inlineblockString or nullinline-block {@link qx.bom.client.Css#getInlineBlock}
css.opacityBooleantrue {@link qx.bom.client.Css#getOpacity}
css.textShadowBooleantrue {@link qx.bom.client.Css#getTextShadow}
css.textShadow.filterBooleantrue {@link qx.bom.client.Css#getFilterTextShadow}
css.alphaimageloaderneededBooleanfalse {@link qx.bom.client.Css#getAlphaImageLoaderNeeded}
css.pointereventsBooleantrue {@link qx.bom.client.Css#getPointerEvents}
css.flexboxSyntaxString or null"flex" {@link qx.bom.client.Css#getFlexboxSyntax}
device
device.nameStringpc {@link qx.bom.client.Device#getName}
device.typeStringmobile {@link qx.bom.client.Device#getType}
device.pixelRatioNumber2 {@link qx.bom.client.Device#getDevicePixelRatio}
device.touchStringtrue {@link qx.bom.client.Device#getTouch}
ecmascript
ecmascript.error.stacktraceString or nullstack {@link qx.bom.client.EcmaScript#getStackTrace}
ecmascript.mutationobserverBooleantrue {@link qx.bom.client.EcmaScript#getMutationObserver}
ecmascript.array.indexofBooleantrue {@link qx.bom.client.EcmaScript#getArrayIndexOf}
ecmascript.array.lastindexofBooleantrue {@link qx.bom.client.EcmaScript#getArrayLastIndexOf}
ecmascript.array.foreachBooleantrue {@link qx.bom.client.EcmaScript#getArrayForEach}
ecmascript.array.filterBooleantrue {@link qx.bom.client.EcmaScript#getArrayFilter}
ecmascript.array.mapBooleantrue {@link qx.bom.client.EcmaScript#getArrayMap}
ecmascript.array.someBooleantrue {@link qx.bom.client.EcmaScript#getArraySome}
ecmascript.array.findBooleantrue {@link qx.bom.client.EcmaScript#getArrayFind}
ecmascript.array.findIndexBooleantrue {@link qx.bom.client.EcmaScript#getArrayFindIndex}
ecmascript.array.everyBooleantrue {@link qx.bom.client.EcmaScript#getArrayEvery}
ecmascript.array.reduceBooleantrue {@link qx.bom.client.EcmaScript#getArrayReduce}
ecmascript.array.reducerightBooleantrue {@link qx.bom.client.EcmaScript#getArrayReduceRight}
ecmascript.function.bindBooleantrue {@link qx.bom.client.EcmaScript#getFunctionBind}
ecmascript.object.keysBooleantrue {@link qx.bom.client.EcmaScript#getObjectKeys}
ecmascript.date.nowBooleantrue {@link qx.bom.client.EcmaScript#getDateNow}
ecmascript.date.parseBooleantrue {@link qx.bom.client.EcmaScript#getDateParse}
ecmascript.error.toStringBooleantrue {@link qx.bom.client.EcmaScript#getErrorToString}
ecmascript.string.trimBooleantrue {@link qx.bom.client.EcmaScript#getStringTrim}
ecmascript.string.startsWithBooleantrue {@link qx.bom.client.EcmaScript#getStringStartsWith}
ecmascript.string.endsWithBooleantrue {@link qx.bom.client.EcmaScript#getStringEndsWith}
engine
engine.nameStringwebkit {@link qx.bom.client.Engine#getName}
engine.versionString534.24 {@link qx.bom.client.Engine#getVersion}
event
event.mspointerBooleantrue {@link qx.bom.client.Event#getMsPointer}
event.touchBooleanfalse {@link qx.bom.client.Event#getTouch}
event.helpBooleanfalse {@link qx.bom.client.Event#getHelp}
event.hashchangeBooleantrue {@link qx.bom.client.Event#getHashChange}
event.dispatcheventBooleantrue {@link qx.bom.client.Event#getDispatchEvent}
event.customeventBooleantrue {@link qx.bom.client.Event#getCustomEvent}
event.mouseeventBooleantrue {@link qx.bom.client.Event#getMouseEvent}
event.mousecreateeventStringUIEvents {@link qx.bom.client.Event#getMouseCreateEvent}
event.mousewheelMap{type: "wheel", target: window} {@link qx.bom.client.Event#getMouseWheel}
event.auxclickBooleantrue {@link qx.bom.client.Event#getAuxclickEvent}
html
html.audioBooleantrue {@link qx.bom.client.Html#getAudio}
html.audio.mp3String"" {@link qx.bom.client.Html#getAudioMp3}
html.audio.oggString"maybe" {@link qx.bom.client.Html#getAudioOgg}
html.audio.wavString"probably" {@link qx.bom.client.Html#getAudioWav}
html.audio.auString"maybe" {@link qx.bom.client.Html#getAudioAu}
html.audio.aifString"probably" {@link qx.bom.client.Html#getAudioAif}
html.canvasBooleantrue {@link qx.bom.client.Html#getCanvas}
html.classlistBooleantrue {@link qx.bom.client.Html#getClassList}
html.fullscreenBooleantrue {@link qx.bom.client.Html#getFullScreen}
html.geolocationBooleantrue {@link qx.bom.client.Html#getGeoLocation}
html.storage.localBooleantrue {@link qx.bom.client.Html#getLocalStorage}
html.storage.sessionBooleantrue {@link qx.bom.client.Html#getSessionStorage}
html.storage.userdataBooleantrue {@link qx.bom.client.Html#getUserDataStorage}
html.svgBooleantrue {@link qx.bom.client.Html#getSvg}
html.videoBooleantrue {@link qx.bom.client.Html#getVideo}
html.video.h264String"probably" {@link qx.bom.client.Html#getVideoH264}
html.video.oggString"" {@link qx.bom.client.Html#getVideoOgg}
html.video.webmString"maybe" {@link qx.bom.client.Html#getVideoWebm}
html.vmlBooleanfalse {@link qx.bom.client.Html#getVml}
html.webworkerBooleantrue {@link qx.bom.client.Html#getWebWorker}
html.filereaderBooleantrue {@link qx.bom.client.Html#getFileReader}
html.xpathBooleantrue {@link qx.bom.client.Html#getXPath}
html.xulBooleantrue {@link qx.bom.client.Html#getXul}
html.consoleBooleantrue {@link qx.bom.client.Html#getConsole}
html.element.containsBooleantrue {@link qx.bom.client.Html#getContains}
html.element.compareDocumentPositionBooleantrue {@link qx.bom.client.Html#getCompareDocumentPosition}
html.element.textContentBooleantrue {@link qx.bom.client.Html#getTextContent}
html.image.naturaldimensionsBooleantrue {@link qx.bom.client.Html#getNaturalDimensions}
html.history.stateBooleantrue {@link qx.bom.client.Html#getHistoryState}
html.selectionStringgetSelection {@link qx.bom.client.Html#getSelection}
html.node.isequalnodeBooleantrue {@link qx.bom.client.Html#getIsEqualNode}
XML
xml.implementationBooleantrue {@link qx.bom.client.Xml#getImplementation}
xml.domparserBooleantrue {@link qx.bom.client.Xml#getDomParser}
xml.selectsinglenodeBooleanfalse {@link qx.bom.client.Xml#getSelectSingleNode}
xml.selectnodesBooleanfalse {@link qx.bom.client.Xml#getSelectNodes}
xml.getelementsbytagnamensBooleantrue {@link qx.bom.client.Xml#getElementsByTagNameNS}
xml.dompropertiesBooleanfalse {@link qx.bom.client.Xml#getDomProperties}
xml.attributensBooleantrue {@link qx.bom.client.Xml#getAttributeNS}
xml.createelementnsBooleantrue {@link qx.bom.client.Xml#getCreateElementNS}
xml.createnodeBooleanfalse {@link qx.bom.client.Xml#getCreateNode}
xml.getqualifieditemBooleanfalse {@link qx.bom.client.Xml#getQualifiedItem}
Stylesheets
html.stylesheet.createstylesheetBooleanfalse {@link qx.bom.client.Stylesheet#getCreateStyleSheet}
html.stylesheet.insertruleBooleantrue {@link qx.bom.client.Stylesheet#getInsertRule}
html.stylesheet.deleteruleBooleantrue {@link qx.bom.client.Stylesheet#getDeleteRule}
html.stylesheet.addimportBooleanfalse {@link qx.bom.client.Stylesheet#getAddImport}
html.stylesheet.removeimportBooleanfalse {@link qx.bom.client.Stylesheet#getRemoveImport}
io
io.maxrequestsInteger4 {@link qx.bom.client.Transport#getMaxConcurrentRequestCount}
io.sslBooleanfalse {@link qx.bom.client.Transport#getSsl}
io.xhrStringxhr {@link qx.bom.client.Transport#getXmlHttpRequest}
locale
localeStringde {@link qx.bom.client.Locale#getLocale}
locale.variantStringde {@link qx.bom.client.Locale#getVariant}
locale.defaultStringC default locale C as in good tradition of unix {@link qx.bom.client.Locale}
os
os.nameStringosx {@link qx.bom.client.OperatingSystem#getName}
os.versionString10.6 {@link qx.bom.client.OperatingSystem#getVersion}
os.scrollBarOverlayedBooleanfalse {@link qx.bom.client.Scroll#scrollBarOverlayed}
phonegap
phonegapBooleanfalse {@link qx.bom.client.PhoneGap#getPhoneGap}
phonegap.notificationBooleanfalse {@link qx.bom.client.PhoneGap#getNotification}
plugin
plugin.divxBooleanfalse {@link qx.bom.client.Plugin#getDivX}
plugin.divx.versionString {@link qx.bom.client.Plugin#getDivXVersion}
plugin.flashBooleantrue {@link qx.bom.client.Flash#isAvailable}
plugin.flash.expressBooleantrue {@link qx.bom.client.Flash#getExpressInstall}
plugin.flash.strictsecurityBooleantrue {@link qx.bom.client.Flash#getStrictSecurityModel}
plugin.flash.versionString10.2.154 {@link qx.bom.client.Flash#getVersion}
plugin.gearsBooleanfalse {@link qx.bom.client.Plugin#getGears}
plugin.activexBooleanfalse {@link qx.bom.client.Plugin#getActiveX}
plugin.skypeBooleanfalse {@link qx.bom.client.Plugin#getSkype}
plugin.pdfBooleanfalse {@link qx.bom.client.Plugin#getPdf}
plugin.pdf.versionString {@link qx.bom.client.Plugin#getPdfVersion}
plugin.quicktimeBooleantrue {@link qx.bom.client.Plugin#getQuicktime}
plugin.quicktime.versionString7.6 {@link qx.bom.client.Plugin#getQuicktimeVersion}
plugin.silverlightBooleanfalse {@link qx.bom.client.Plugin#getSilverlight}
plugin.silverlight.versionString {@link qx.bom.client.Plugin#getSilverlightVersion}
plugin.windowsmediaBooleanfalse {@link qx.bom.client.Plugin#getWindowsMedia}
plugin.windowsmedia.versionString {@link qx.bom.client.Plugin#getWindowsMediaVersion}
qx
qx.allowUrlSettingsBooleantrue default: false
qx.allowUrlVariantsBooleantrue default: false
qx.applicationStringname.space default: <<application name>>
qx.aspectsBooleanfalse default: false
qx.debugBooleantrue default: true
qx.debug.databindingBooleanfalse default: false
qx.debug.disposeBooleanfalse default: false
qx.debug.dispose.levelInteger0 default: 0
qx.debug.ioBooleantrue default: false
qx.debug.io.remoteBooleantrue default: false
qx.debug.io.remote.dataBooleantrue default: false
qx.debug.property.levelInteger0 default: 0
qx.debug.ui.queueBooleantrue default: true
qx.dynlocaleBooleantrue default: true
qx.dynthemeBooleantrue default: true
qx.globalErrorHandlingBooleantrue default: true {@link qx.event.GlobalError}
qx.mobile.nativescrollBooleanfalse {@link qx.bom.client.Scroll#getNativeScroll}
qx.promise.warningsBooleansame as qx.debug true to enable runtime warnings in promises {@link qx.Promise}
qx.promise.longStackTracesBooleanfalse true to enable long stack traces in promises; this has a performance penalty but makes debugging asynchronous functions easier {@link qx.Promise}
qx.optimization.basecallsBooleantrue true if the corresponding optimize key is set in the config
qx.optimization.commentsBooleantrue true if the corresponding optimize key is set in the config
qx.optimization.privatesBooleantrue true if the corresponding optimize key is set in the config
qx.optimization.stringsBooleantrue true if the corresponding optimize key is set in the config
qx.optimization.variablesBooleantrue true if the corresponding optimize key is set in the config
qx.optimization.variantsBooleantrue true if the corresponding optimize key is set in the config
qx.revisionString27348
qx.themeStringqx.theme.Modern default: <<initial theme name>>
qx.versionString${qxversion}
qx.blankpageStringURI to blank.html page
module
module.databindingBooleantrue default: true
module.loggerBooleantrue default: true
module.propertyBooleantrue default: true
module.eventsBooleantrue default: true

Asynchronous checks

html.dataurlBooleantrue {@link qx.bom.client.Html#getDataUrl}
plugin.pdfjsBooleanfalse {@link qx.bom.client.Pdfjs#getPdfjs}