Check out the latest documentation.

RingMark Description

Ringmark is a 3rd party tool (developed by Facebook), that tests the features supported by web browsers. 51Degrees uses the results of these test to augment the browser profile data it collects. Properties which can be populated from Ringmark are shown in the following table.

51Degrees Property Ringmark Feature Test Specification
CssTransitions transitions supported W3C
AnimationTiming requestAnimationFrame supported W3C
cancelAnimationFrame supported
BlobBuilder Blob supported W3C
CssBackground background shorthand, multiple images supported W3C
CSS box-shadow supported
CSS border-radius supported
CssBorderImage border-image-source supported W3C
border-image-slice supported
border-image-width supported
border-image-outset supported
border-image-repeat supported
Shorthand border-image supported
CSS border-image shorthand property supported
CssCanvas N/A
CssColor CSS opacity supported W3C
RGBA color supported
HSLA color supported
CssColumn N/A
CssFlexbox alignContent supported W3C
alignItems supported
alignSelf supported
flex supported
flexBasis supported
flexDirection supported
flexFlow supported
flexGrow supported
flexShrink supported
flexWrap supported
justifyContent supported
order supported
alignFlow supported
alignPack supported
alignOrder supported
CssFont font-face supported W3C
linear-gradient supported
repeating-linear-gradient supported
radial-gradient supported
repeating-radial-gradient supported
object-fit supported
object-position supported
imageOrientation supported
imageResolution supported
CssMediaQueries matchMedia supported W3C
matchMedia expects passing results
matchMedia expects failing results
CssMinMax min-width supported W3C
max-width supported
min-height supported
max-height supported
CssPosition Fixed Position supported W3C
CssText textShadow supported W3C
wordWrap supported
wordBreak supported
CssTransforms transform supported W3C
transformOrigin supported
transformStyle supported
perspective supported
perspectiveOrigin supported
backfaceVisibility supported
CssUI textOverflow W3C
pointerEvents supported
DataSet Dataset supported
fixture.dataset property is DOMStringMap
fixture.dataset.length expects 1
fixture.getAttribute('data-beta') === 'b' (set with dataset)
fixture.dataset.alpha === 'a' (set with setAttribute)
compatible get with getAttribute
compatible set with setAttribute
Expected: data-foo = foo
Expected: data-foo-bar = fooBar
Expected: data-- = -
Expected: data--foo = Foo
Expected: data---foo = -Foo
Expected: data-Foo = foo
Expected: data- =
Expected: data-à = à
Expecting length === 0
DataUrl Data URL Loading: success
DeviceOrientation DeviceOrientationEvent supported W3C
DeviceMotionEvent supported
FileReader FileReader supported W3C
onabort supported
onerror supported
onload supported
onloadend supported
onloadstart supported
onprogress supported
readAsText supported
readAsDataURL supported
readAsArrayBuffer supported
FormData FormData supported W3C
Expected value, 'alpha'
Expected value, 'beta'
Expected value, 'alpha'
Expected value, 'beta'
Expected value, 'delta'
Fullscreen requestFullScreen supported W3C
requestFullScreen or requestFullscreen is a function
fullscreenElement supported
fullscreenEnabled supported
exitFullscreen is a function
GeoLocation navigator.geolocation supported W3C
getCurrentPosition supported
watchPosition supported
clearWatch supported
History history supported
history.pushState supported
history.pushState is a function
history.replaceState is a function
event.state supported
Html5 article instanceof HTMLElement
article node created
aside instanceof HTMLElement
aside node created
details instanceof HTMLElement
details node created
figure instanceof HTMLElement
figure node created
figcaption instanceof HTMLElement
figcaption node created
footer instanceof HTMLElement
footer node created
header instanceof HTMLElement
header node created
hgroup instanceof HTMLElement
hgroup node created
nav instanceof HTMLElement
nav node created
section instanceof HTMLElement
section node created
summary instanceof HTMLElement
summary node created
abbr instanceof HTMLElement
abbr node created
audio instanceof HTMLElement
audio node created
bdi instanceof HTMLElement
bdi node created
data instanceof HTMLElement
data node created
mark instanceof HTMLElement
mark node created
time instanceof HTMLElement
time node created
video instanceof HTMLElement
video node created
meter instanceof HTMLElement
meter node created
progress instanceof HTMLElement
progress node created supported === false
details height === 0
details height as expected
mark background is yellow
Iframe Sandbox iframe supported
sandbox iframe is blocked
IndexedDB indexedDB supported W3C
IDBTransaction supported
IDBRequest supported
Json JSON supported
JSON.stringify supported
JSON.parse supported
JSON.parse reviver supported(1)
JSON.parse reviver supported(2)
JSON.stringify (functional) supported
JSON.stringify replacer supported(1
JSON.stringify replacer supported(2)
PostMessage postMessage supported W3C
onmessage supported
onmessage event fired
message content matched expected
XHR onload callback event argument is instanceof ProgressEvent
event.lengthComputable supported
event.loaded supported supported
event.lengthComputable is boolean
event.loaded is number is number
confirm supported
prompt supported
Selector matchesSelector exists in some form as a property of document.body W3C
matchesSelector is a function
Expected ( body, 'body' )
Expected ( body, 'html body' )
Expected ( body, 'html > body' )
document.querySelector exists in some form
document.querySelector is a function
querySelector('body') returns something (element)
querySelector('body') returns an element with nodeType === 1
querySelectorAll exists in some form
querySelectorAll is a function
querySelectorAll('body') returns something with length (list)
list instanceof NodeList
list[ 0 ].matchesSelector('body')
Svg SVG createElementNS supported W3C
svg supported
svg Namespace getCurrentTime
svg Namespace ownerSVGElement supported
TouchEvents TouchEvent supported W3C
createTouch supported
ontouchstart supported
ontouchend supported
ontouchcancel supported
ontouchmove supported
track.kind supported
track.src supported
track.srclang supported
track.label supported
track.default supported
Video video supported
MPEG-4 supported (codecs="avc1.42E01E, mp4a.40.8")
H.264 supported (codecs="avc1.42E01E, mp4a.40.2")
H.264 supported (codecs="avc1.42E01E")
OGG supported (codecs="theora")
WebM supported (codecs="vp8, vorbis")
WebM supported (codecs="vp8")
WebWorkers Worker supported W3C
Netscape === Netscape
Win32 === Win32
Worker correctly implements navigator
hash in location
href in location
host in location
hostname in location
pathname in location
port in location
protocol in location
search in location
Worker implements location
WorkerGlobalScope implements addEventListener
WorkerGlobalScope implements removeEventListener
WorkerGlobalScope implements dispatchEvent
WorkerGlobalScope implements importScripts
WorkerGlobalScope implements close
WorkerGlobalScope implements location
WorkerGlobalScope implements navigator
WorkerGlobalScope implements postMessage
WorkerGlobalScope implements self
Worker implements global properties
Worker supports complex data objects
Blob Web Worker
Xhr2 xhr.upload is supported W3C
ArrayBuffer supported
Blob supported
URL supported
xhr.upload.onabort supported
xhr.upload.onabort is TreatNonCallableAsNull
xhr.upload.onerror supported
xhr.upload.onerror is TreatNonCallableAsNull
xhr.upload.onerror supported
xhr.upload.onerror is TreatNonCallableAsNull
xhr.upload.onload supported
xhr.upload.onload is TreatNonCallableAsNull
xhr.upload.onloadstart supported
xhr.upload.onloadstart is TreatNonCallableAsNull
xhr.upload.onprogress supported
xhr.upload.onprogress is TreatNonCallableAsNull
ArrayBuffer data.response supported
data.response.byteLength supported
data.response.byteLength is number
blob is an instance of Blob
blob.size supported
blob.type supported
typeof blob.size is number
blob.size of fixture png.png is 23115
typeof blob.type is string
blob.type of fixture png.png is image/png
Correct Blob type
Text Response supported (strings)
Blob Response supported (images)
Document Response supported (XML, HTML documents)
Masking image masking supported W3C
Canvas canvas getContext supported
canvas toDataURL supported
CanvasRenderingContext2D supported
context instanceof CanvasRenderingContext2D
2D Text supported


The 51Degrees property BrowserPropertySource should be checked for the value "Ringmark" to determine if the browser property information matched Ringmark.

Data from Ringmark is considered of secondary importance to

RingMark does not populate the following properties which are set from other sources or default to Unknown.

  • CssColumn
  • CssCanvas
  • CssOverflow
  • Filewriter
  • Filesaver