Copy WebViewShell to Browser2

This code is from chromium, at android_webview/tools/WebViewShell. The
only changes are the addition of Android.mk and README, the removal of
OWNERS, and the move of strings into strings.xml

Change-Id: Idf86bbf087d122b6bc0a739451ad9312260c149d
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..81513d0
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,13 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SDK_VERSION := current
+
+LOCAL_SRC_FILES := \
+        $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := Browser2
+
+include $(BUILD_PACKAGE)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
new file mode 100644
index 0000000..9394ffa
--- /dev/null
+++ b/AndroidManifest.xml
@@ -0,0 +1,79 @@
+<!--
+ * Copyright 2015 The Chromium Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+-->
+
+<manifest
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    package="org.chromium.webview_shell"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="22" />
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+    <uses-permission android:name="android.permission.CAMERA"/>
+    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
+
+    <application
+        android:icon="@drawable/ic_launcher"
+        android:label="@string/app_name"
+        android:theme="@android:style/Theme.Light" >
+        <activity
+            android:name=".TelemetryActivity"
+            android:label="@string/title_activity_telemetry"
+            android:exported="true">
+        </activity>
+        <activity
+            android:name=".TelemetryMemoryPressureActivity"
+            android:launchMode="singleTask"
+            android:label="@string/title_activity_telemetry"
+            android:exported="true">
+        </activity>
+        <activity
+            android:name=".JankActivity"
+            android:label="@string/title_activity_jank"
+            android:noHistory="true"
+            android:exported="true">
+        </activity>
+        <activity
+            android:name=".StartupTimeActivity"
+            android:label="@string/title_activity_startup_time"
+            android:noHistory="true"
+            android:exported="true">
+        </activity>
+        <activity
+            android:name=".WebViewBrowserActivity"
+            android:label="@string/title_activity_browser"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="http" />
+                <data android:scheme="https" />
+            </intent-filter>
+        </activity>
+        <activity
+            android:name=".WebViewLayoutTestActivity"
+            android:label="@string/title_activity_layout_test"
+            android:exported="true">
+        </activity>
+
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation android:name="org.chromium.webview_shell.WebViewLayoutTestRunner"
+        android:targetPackage="org.chromium.webview_shell"
+        android:label="Tests for org.chromium.webview_shell" />
+</manifest>
diff --git a/README b/README
new file mode 100644
index 0000000..9159f52
--- /dev/null
+++ b/README
@@ -0,0 +1,4 @@
+Browser2 is a copy of the WebViewShell, a minimal test browser using WebView.
+The old Browser is no longer supported. To build a full-fledged browser for
+AOSP, please follow the instructions at:
+https://code.google.com/p/chromium/wiki/AndroidBuildInstructions
diff --git a/res/drawable/breadcrumb_arrow_black.png b/res/drawable/breadcrumb_arrow_black.png
new file mode 100644
index 0000000..7b9ff79
--- /dev/null
+++ b/res/drawable/breadcrumb_arrow_black.png
Binary files differ
diff --git a/res/drawable/ic_launcher.png b/res/drawable/ic_launcher.png
new file mode 100644
index 0000000..96a442e
--- /dev/null
+++ b/res/drawable/ic_launcher.png
Binary files differ
diff --git a/res/drawable/item_more_black.png b/res/drawable/item_more_black.png
new file mode 100644
index 0000000..b984062
--- /dev/null
+++ b/res/drawable/item_more_black.png
Binary files differ
diff --git a/res/layout/activity_webview.xml b/res/layout/activity_webview.xml
new file mode 100644
index 0000000..547bb2c
--- /dev/null
+++ b/res/layout/activity_webview.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+     Use of this source code is governed by a BSD-style license that can be
+     found in the LICENSE file.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:gravity="center">
+    <WebView
+        android:id="@+id/webview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</LinearLayout>
diff --git a/res/layout/activity_webview_browser.xml b/res/layout/activity_webview_browser.xml
new file mode 100644
index 0000000..d583562
--- /dev/null
+++ b/res/layout/activity_webview_browser.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+     Use of this source code is governed by a BSD-style license that can be
+     found in the LICENSE file.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:gravity="center">
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content">
+        <EditText
+            android:id="@+id/url_field"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1.0"
+            android:singleLine="true"
+            android:inputType="textUri"
+            android:imeOptions="actionGo" />
+        <ImageButton
+            android:layout_width="wrap_content" 
+            android:layout_height="match_parent" 
+            android:src="@drawable/breadcrumb_arrow_black"
+            android:contentDescription="@string/load_url"
+            android:onClick="loadUrlFromUrlBar" />
+        <ImageButton
+            android:layout_width="wrap_content" 
+            android:layout_height="match_parent" 
+            android:src="@drawable/item_more_black"
+            android:contentDescription="@string/menu_about"
+            android:onClick="showPopup" />
+    </LinearLayout>
+    <WebView
+        android:id="@+id/webview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</LinearLayout>
diff --git a/res/menu/main_menu.xml b/res/menu/main_menu.xml
new file mode 100644
index 0000000..abddef3
--- /dev/null
+++ b/res/menu/main_menu.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+     Use of this source code is governed by a BSD-style license that can be
+     found in the LICENSE file. -->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:id="@+id/menu_about"
+          android:title="@string/menu_about"/>
+</menu>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
new file mode 100644
index 0000000..b8058ea
--- /dev/null
+++ b/res/values/strings.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+     Use of this source code is governed by a BSD-style license that can be
+     found in the LICENSE file.
+-->
+
+<resources>
+    <string name="app_name">WebView Shell</string>
+    <string name="title_activity_telemetry">WebView Telemetry</string>
+    <string name="title_activity_jank">WebView Jank Tester</string>
+    <string name="title_activity_startup_time">WebView Startup Time Tester</string>
+    <string name="title_activity_browser">WebView Browser Tester</string>
+    <string name="title_activity_layout_test">WebView Layout Test</string>
+    <string name="menu_about">About WebView</string>
+    <string name="load_url">Load URL</string>
+</resources>
diff --git a/run_startup_time_test.sh b/run_startup_time_test.sh
new file mode 100755
index 0000000..50ac7f3
--- /dev/null
+++ b/run_startup_time_test.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+if ! which adb &> /dev/null; then
+  echo "adb is not in your path, did you run envsetup.sh?"
+  exit -1
+fi
+
+TMPFILE=$(tempfile)
+echo '<body><div>just some text</div></body>' > $TMPFILE
+adb push $TMPFILE /data/local/tmp/file.html
+rm $TMPFILE
+adb shell am start -n com.android.htmlviewer/.HTMLViewerActivity -d \
+    "file:///data/local/tmp/file.html" -a VIEW -t "text/html"
+
+sleep 3
+
+echo 'Running test, you should run \
+`adb logcat | grep WebViewStartupTimeMillis=` in another shell to see results.'
+
+# Launch webview test shell 100 times
+for i in $(seq 1 100); do
+  if [[ $(($i % 10)) -eq 0 ]]; then
+    echo -n "..$i.."
+  fi
+  adb shell kill -9 `adb shell ps | grep org.chromium.webview_shell \
+      | tr -s " " " " | cut -d" " -f2`
+  adb shell am start -n org.chromium.webview_shell/.StartupTimeActivity \
+      -a VIEW > /dev/null
+  sleep 0.5
+done
+echo
+
+adb shell rm /data/local/tmp/file.html
diff --git a/src/org/chromium/webview_shell/JankActivity.java b/src/org/chromium/webview_shell/JankActivity.java
new file mode 100644
index 0000000..13390b7
--- /dev/null
+++ b/src/org/chromium/webview_shell/JankActivity.java
@@ -0,0 +1,45 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.webkit.CookieManager;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+/**
+ * This activity is designed for Android Jank testing of WebView. It takes a URL as an argument, and
+ * displays the page ready for the Jank tester to test scrolling etc.
+ */
+public class JankActivity extends Activity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        getWindow().setTitle(
+                getResources().getString(R.string.title_activity_jank));
+        setContentView(R.layout.activity_webview);
+
+        WebView webView = (WebView) findViewById(R.id.webview);
+        CookieManager.setAcceptFileSchemeCookies(true);
+
+        webView.setWebViewClient(new WebViewClient() {
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView webView, String url) {
+                return false;
+            }
+        });
+
+        String url = getUrlFromIntent(getIntent());
+        webView.loadUrl(url);
+    }
+
+    private static String getUrlFromIntent(Intent intent) {
+        return intent != null ? intent.getDataString() : null;
+    }
+
+}
diff --git a/src/org/chromium/webview_shell/StartupTimeActivity.java b/src/org/chromium/webview_shell/StartupTimeActivity.java
new file mode 100644
index 0000000..e5c4605
--- /dev/null
+++ b/src/org/chromium/webview_shell/StartupTimeActivity.java
@@ -0,0 +1,31 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.SystemClock;
+import android.webkit.WebView;
+
+/**
+ * This activity is designed for startup time testing of the WebView.
+ */
+public class StartupTimeActivity extends Activity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        getWindow().setTitle(
+                getResources().getString(R.string.title_activity_startup_time));
+
+        long t1 = SystemClock.elapsedRealtime();
+        WebView webView = new WebView(this);
+        setContentView(webView);
+        long t2 = SystemClock.elapsedRealtime();
+        android.util.Log.i("WebViewShell", "WebViewStartupTimeMillis=" + (t2 - t1));
+    }
+
+}
+
diff --git a/src/org/chromium/webview_shell/TelemetryActivity.java b/src/org/chromium/webview_shell/TelemetryActivity.java
new file mode 100644
index 0000000..11fa10b
--- /dev/null
+++ b/src/org/chromium/webview_shell/TelemetryActivity.java
@@ -0,0 +1,38 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.webkit.CookieManager;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+/**
+ * This activity is designed for Telemetry testing of WebView.
+ */
+public class TelemetryActivity extends Activity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        getWindow().setTitle(
+                getResources().getString(R.string.title_activity_telemetry));
+        setContentView(R.layout.activity_webview);
+
+        WebView webView = (WebView) findViewById(R.id.webview);
+        CookieManager.setAcceptFileSchemeCookies(true);
+        webView.getSettings().setJavaScriptEnabled(true);
+
+        webView.setWebViewClient(new WebViewClient() {
+                @Override
+                public boolean shouldOverrideUrlLoading(WebView webView, String url) {
+                    return false;
+                }
+        });
+
+        webView.loadUrl("about:blank");
+    }
+}
diff --git a/src/org/chromium/webview_shell/TelemetryMemoryPressureActivity.java b/src/org/chromium/webview_shell/TelemetryMemoryPressureActivity.java
new file mode 100644
index 0000000..d9e6dfc
--- /dev/null
+++ b/src/org/chromium/webview_shell/TelemetryMemoryPressureActivity.java
@@ -0,0 +1,46 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.webkit.CookieManager;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+/**
+ * This activity is designed for sending memory pressure signals for testing WebView.
+ */
+public class TelemetryMemoryPressureActivity extends Activity {
+
+    private static final String TAG = "WebViewTelemetry";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        getWindow().setTitle(
+                getResources().getString(R.string.title_activity_telemetry));
+        setContentView(R.layout.activity_webview);
+
+        WebView webview = (WebView) findViewById(R.id.webview);
+        CookieManager.setAcceptFileSchemeCookies(true);
+        webview.getSettings().setJavaScriptEnabled(true);
+
+        webview.setWebViewClient(new WebViewClient() {
+                @Override
+                public boolean shouldOverrideUrlLoading(WebView webView, String url) {
+                    return false;
+                }
+        });
+
+        webview.loadUrl("about:blank");
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        moveTaskToBack(true);
+    }
+}
diff --git a/src/org/chromium/webview_shell/WebViewBrowserActivity.java b/src/org/chromium/webview_shell/WebViewBrowserActivity.java
new file mode 100644
index 0000000..fbe41e3
--- /dev/null
+++ b/src/org/chromium/webview_shell/WebViewBrowserActivity.java
@@ -0,0 +1,235 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.os.Bundle;
+
+import android.view.KeyEvent;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.View.OnKeyListener;
+import android.view.inputmethod.InputMethodManager;
+
+import android.webkit.GeolocationPermissions;
+import android.webkit.PermissionRequest;
+import android.webkit.WebChromeClient;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+import android.widget.EditText;
+import android.widget.LinearLayout.LayoutParams;
+import android.widget.PopupMenu;
+import android.widget.TextView;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This activity is designed for starting a "mini-browser" for manual testing of WebView.
+ * It takes an optional URL as an argument, and displays the page. There is a URL bar
+ * on top of the webview for manually specifying URLs to load.
+ */
+public class WebViewBrowserActivity extends Activity implements PopupMenu.OnMenuItemClickListener {
+    private EditText mUrlBar;
+    private WebView mWebView;
+    private String mWebViewVersion;
+
+    private static final Pattern WEBVIEW_VERSION_PATTERN =
+            Pattern.compile("(Chrome/)([\\d\\.]+)\\s");
+
+    // TODO(michaelbai) : Replace "android.webkit.resoruce.MIDI_SYSEX" with
+    // PermissionRequest.RESOURCE_MIDI_SYSEX once Android M SDK is used.
+    private static final String[] AUTOMATICALLY_GRANT =
+            { PermissionRequest.RESOURCE_VIDEO_CAPTURE, PermissionRequest.RESOURCE_AUDIO_CAPTURE,
+              "android.webkit.resource.MIDI_SYSEX" };
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_webview_browser);
+        mWebView = (WebView) findViewById(R.id.webview);
+        WebSettings settings = mWebView.getSettings();
+        initializeSettings(settings);
+
+        Matcher matcher = WEBVIEW_VERSION_PATTERN.matcher(settings.getUserAgentString());
+        if (matcher.find()) {
+            mWebViewVersion = matcher.group(2);
+        } else {
+            mWebViewVersion = "-";
+        }
+        setTitle(getResources().getString(R.string.title_activity_browser) + " " + mWebViewVersion);
+
+        mWebView.setWebViewClient(new WebViewClient() {
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView webView, String url) {
+                return false;
+            }
+
+            @Override
+            public void onReceivedError(WebView view, int errorCode, String description,
+                    String failingUrl) {
+                setUrlFail(true);
+            }
+        });
+
+        mWebView.setWebChromeClient(new WebChromeClient() {
+            @Override
+            public Bitmap getDefaultVideoPoster() {
+                return Bitmap.createBitmap(
+                        new int[] {Color.TRANSPARENT}, 1, 1, Bitmap.Config.ARGB_8888);
+            }
+
+            @Override
+            public void onGeolocationPermissionsShowPrompt(String origin,
+                    GeolocationPermissions.Callback callback) {
+                callback.invoke(origin, true, false);
+            }
+
+            @Override
+            public void onPermissionRequest(PermissionRequest request) {
+                request.grant(AUTOMATICALLY_GRANT);
+            }
+        });
+
+        mUrlBar = (EditText) findViewById(R.id.url_field);
+        mUrlBar.setOnKeyListener(new OnKeyListener() {
+            public boolean onKey(View view, int keyCode, KeyEvent event) {
+                if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
+                    loadUrlFromUrlBar(view);
+                    return true;
+                }
+                return false;
+            }
+        });
+
+        String url = getUrlFromIntent(getIntent());
+        if (url != null) {
+            setUrlBarText(url);
+            setUrlFail(false);
+            loadUrlFromUrlBar(mUrlBar);
+        }
+    }
+
+    public void loadUrlFromUrlBar(View view) {
+        String url = mUrlBar.getText().toString();
+        try {
+            URI uri = new URI(url);
+            url = (uri.getScheme() == null) ? "http://" + uri.toString() : uri.toString();
+        } catch (URISyntaxException e) {
+            String message = "<html><body>URISyntaxException: " + e.getMessage() + "</body></html>";
+            mWebView.loadData(message, "text/html", "UTF-8");
+            setUrlFail(true);
+            return;
+        }
+
+        setUrlBarText(url);
+        setUrlFail(false);
+        loadUrl(url);
+        hideKeyboard(mUrlBar);
+    }
+
+    public void showPopup(View v) {
+        PopupMenu popup = new PopupMenu(this, v);
+        popup.setOnMenuItemClickListener(this);
+        popup.inflate(R.menu.main_menu);
+        popup.show();
+    }
+
+    @Override
+    public boolean onMenuItemClick(MenuItem item) {
+        switch(item.getItemId()) {
+            case R.id.menu_about:
+                about();
+                hideKeyboard(mUrlBar);
+                return true;
+            default:
+                return false;
+        }
+    }
+
+    private void initializeSettings(WebSettings settings) {
+        settings.setJavaScriptEnabled(true);
+
+        // configure local storage apis and their database paths.
+        settings.setAppCachePath(getDir("appcache", 0).getPath());
+        settings.setGeolocationDatabasePath(getDir("geolocation", 0).getPath());
+        settings.setDatabasePath(getDir("databases", 0).getPath());
+
+        settings.setAppCacheEnabled(true);
+        settings.setGeolocationEnabled(true);
+        settings.setDatabaseEnabled(true);
+        settings.setDomStorageEnabled(true);
+    }
+
+    private void about() {
+        WebSettings settings = mWebView.getSettings();
+        StringBuilder summary = new StringBuilder();
+        summary.append("WebView version : " + mWebViewVersion + "\n");
+
+        for (Method method : settings.getClass().getMethods()) {
+            if (!methodIsSimpleInspector(method)) continue;
+            try {
+                summary.append(method.getName() + " : " + method.invoke(settings) + "\n");
+            } catch (IllegalAccessException e) {
+            } catch (InvocationTargetException e) { }
+        }
+
+        AlertDialog dialog = new AlertDialog.Builder(this)
+                .setTitle(getResources().getString(R.string.menu_about))
+                .setMessage(summary)
+                .setPositiveButton("OK", null)
+                .create();
+        dialog.show();
+        dialog.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
+    }
+
+    // Returns true is a method has no arguments and returns either a boolean or a String.
+    private boolean methodIsSimpleInspector(Method method) {
+        Class<?> returnType = method.getReturnType();
+        return ((returnType.equals(boolean.class) || returnType.equals(String.class))
+                && method.getParameterTypes().length == 0);
+    }
+
+    private void loadUrl(String url) {
+        mWebView.loadUrl(url);
+        mWebView.requestFocus();
+    }
+
+    private void setUrlBarText(String url) {
+        mUrlBar.setText(url, TextView.BufferType.EDITABLE);
+    }
+
+    private void setUrlFail(boolean fail) {
+        mUrlBar.setTextColor(fail ? Color.RED : Color.BLACK);
+    }
+
+    /**
+     * Hides the keyboard.
+     * @param view The {@link View} that is currently accepting input.
+     * @return Whether the keyboard was visible before.
+     */
+    private static boolean hideKeyboard(View view) {
+        InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(
+                Context.INPUT_METHOD_SERVICE);
+        return imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
+    }
+
+    private static String getUrlFromIntent(Intent intent) {
+        return intent != null ? intent.getDataString() : null;
+    }
+}
diff --git a/src/org/chromium/webview_shell/WebViewLayoutTest.java b/src/org/chromium/webview_shell/WebViewLayoutTest.java
new file mode 100644
index 0000000..aa220e6
--- /dev/null
+++ b/src/org/chromium/webview_shell/WebViewLayoutTest.java
@@ -0,0 +1,171 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.os.Environment;
+import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
+/**
+ * Tests running end-to-end layout tests.
+ */
+public class WebViewLayoutTest
+        extends ActivityInstrumentationTestCase2<WebViewLayoutTestActivity> {
+
+    private static final String TAG = "WebViewLayoutTest";
+
+    private static final String EXTERNAL_PREFIX =
+            Environment.getExternalStorageDirectory().getAbsolutePath() + "/";
+    private static final String BASE_WEBVIEW_TEST_PATH = "android_webview/tools/WebViewShell/test/";
+    private static final String BASE_BLINK_TEST_PATH = "third_party/WebKit/LayoutTests/";
+    private static final String PATH_WEBVIEW_PREFIX = EXTERNAL_PREFIX + BASE_WEBVIEW_TEST_PATH;
+    private static final String PATH_BLINK_PREFIX = EXTERNAL_PREFIX + BASE_BLINK_TEST_PATH;
+
+    private static final long TIMEOUT_SECONDS = 20;
+
+    private WebViewLayoutTestActivity mTestActivity;
+
+    public WebViewLayoutTest() {
+        super(WebViewLayoutTestActivity.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mTestActivity = (WebViewLayoutTestActivity) getActivity();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mTestActivity.finish();
+        super.tearDown();
+    }
+
+    @Override
+    public WebViewLayoutTestRunner getInstrumentation() {
+        return (WebViewLayoutTestRunner) super.getInstrumentation();
+    }
+
+    public void testSimple() throws Exception {
+        runWebViewLayoutTest("experimental/basic-logging.html",
+                             "experimental/basic-logging-expected.txt");
+    }
+
+    public void testGlobalInterface() throws Exception {
+        runBlinkLayoutTest("webexposed/global-interface-listing.html",
+                           "webexposed/global-interface-listing-expected.txt");
+    }
+
+    // test helper methods
+
+    private void runWebViewLayoutTest(final String fileName, final String fileNameExpected)
+            throws Exception {
+        runTest(PATH_WEBVIEW_PREFIX + fileName, PATH_WEBVIEW_PREFIX + fileNameExpected);
+    }
+
+    private void runBlinkLayoutTest(final String fileName, final String fileNameExpected)
+            throws Exception {
+        ensureJsTestCopied();
+        runTest(PATH_BLINK_PREFIX + fileName, PATH_WEBVIEW_PREFIX + fileNameExpected);
+    }
+
+    private void runTest(final String fileName, final String fileNameExpected)
+            throws FileNotFoundException, IOException, InterruptedException, TimeoutException {
+        loadUrlWebViewAsync("file://" + fileName, mTestActivity);
+
+        if (getInstrumentation().isRebaseline()) {
+            // this is the rebaseline process
+            mTestActivity.waitForFinish(TIMEOUT_SECONDS, TimeUnit.SECONDS);
+            String result = mTestActivity.getTestResult();
+            writeFile(fileNameExpected, result, true);
+            Log.i(TAG, "file: " + fileNameExpected + " --> rebaselined, length=" + result.length());
+        } else {
+            String expected = readFile(fileNameExpected);
+            mTestActivity.waitForFinish(TIMEOUT_SECONDS, TimeUnit.SECONDS);
+            String result = mTestActivity.getTestResult();
+            assertEquals(expected, result);
+        }
+    }
+
+    private void loadUrlWebViewAsync(final String fileUrl,
+            final WebViewLayoutTestActivity activity) {
+        getInstrumentation().runOnMainSync(new Runnable() {
+            @Override
+            public void run() {
+                activity.loadUrl(fileUrl);
+            }
+        });
+    }
+
+    private static void ensureJsTestCopied() throws IOException {
+        File jsTestFile = new File(PATH_BLINK_PREFIX + "resources/js-test.js");
+        if (jsTestFile.exists()) return;
+        String original = readFile(PATH_WEBVIEW_PREFIX + "resources/js-test.js");
+        writeFile(PATH_BLINK_PREFIX + "resources/js-test.js", original, false);
+    }
+
+    /**
+     * Reads a file and returns it's contents as string.
+     */
+    private static String readFile(String fileName) throws IOException {
+        FileInputStream inputStream = new FileInputStream(new File(fileName));
+        try {
+            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
+            try {
+                StringBuilder contents = new StringBuilder();
+                String line;
+
+                while ((line = reader.readLine()) != null) {
+                    contents.append(line);
+                    contents.append("\n");
+                }
+                return contents.toString();
+            } finally {
+                reader.close();
+            }
+        } finally {
+            inputStream.close();
+        }
+    }
+
+    /**
+     * Writes a file with the given fileName and contents. If overwrite is true overwrites any
+     * exisiting file with the same file name. If the file does not exist any intermediate
+     * required directories are created.
+     */
+    private static void writeFile(final String fileName, final String contents, boolean overwrite)
+            throws FileNotFoundException, IOException {
+        File fileOut = new File(fileName);
+
+        if (fileOut.exists() && !overwrite) {
+            return;
+        }
+
+        String absolutePath = fileOut.getAbsolutePath();
+        File filePath = new File(absolutePath.substring(0, absolutePath.lastIndexOf("/")));
+
+        if (!filePath.exists()) {
+            if (!filePath.mkdirs())
+                throw new IOException("failed to create directories: " + filePath);
+        }
+
+        FileOutputStream outputStream = new FileOutputStream(fileOut);
+        try {
+            outputStream.write(contents.getBytes());
+        } finally {
+            outputStream.close();
+        }
+    }
+}
diff --git a/src/org/chromium/webview_shell/WebViewLayoutTestActivity.java b/src/org/chromium/webview_shell/WebViewLayoutTestActivity.java
new file mode 100644
index 0000000..19c1792
--- /dev/null
+++ b/src/org/chromium/webview_shell/WebViewLayoutTestActivity.java
@@ -0,0 +1,111 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import android.webkit.ConsoleMessage;
+import android.webkit.GeolocationPermissions;
+import android.webkit.PermissionRequest;
+import android.webkit.WebChromeClient;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
+/**
+ * This activity is used for running layout tests using webview. The activity
+ * creates a webview instance, loads url and captures console messages from
+ * JavaScript until the test is finished.
+ * provides a blocking callback.
+ */
+public class WebViewLayoutTestActivity extends Activity {
+
+    private final StringBuilder mConsoleLog = new StringBuilder();
+    private final Object mLock = new Object();
+    private static final String TEST_FINISHED_SENTINEL = "TEST FINISHED";
+
+    private WebView mWebView;
+    private boolean mFinished = false;
+
+    private static final String[] AUTOMATICALLY_GRANT =
+            { PermissionRequest.RESOURCE_VIDEO_CAPTURE, PermissionRequest.RESOURCE_AUDIO_CAPTURE };
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_webview);
+        mWebView = (WebView) findViewById(R.id.webview);
+        WebSettings settings = mWebView.getSettings();
+        initializeSettings(settings);
+
+        mWebView.setWebViewClient(new WebViewClient() {
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView webView, String url) {
+                return false;
+            }
+        });
+
+        mWebView.setWebChromeClient(new WebChromeClient() {
+            @Override
+            public void onGeolocationPermissionsShowPrompt(String origin,
+                    GeolocationPermissions.Callback callback) {
+                callback.invoke(origin, true, false);
+            }
+
+            @Override
+            public void onPermissionRequest(PermissionRequest request) {
+                request.grant(AUTOMATICALLY_GRANT);
+            }
+
+            @Override
+            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
+                // TODO(timvolodine): put log and warnings in separate string builders.
+                mConsoleLog.append(consoleMessage.message() + "\n");
+                if (consoleMessage.message().equals(TEST_FINISHED_SENTINEL)) {
+                    finishTest();
+                }
+                return true;
+            }
+        });
+    }
+
+    public void waitForFinish(long timeout, TimeUnit unit) throws InterruptedException,
+            TimeoutException {
+        synchronized (mLock) {
+            long deadline = System.currentTimeMillis() + unit.toMillis(timeout);
+            while (!mFinished && System.currentTimeMillis() < deadline) {
+                mLock.wait(deadline - System.currentTimeMillis());
+            }
+            if (!mFinished) {
+                throw new TimeoutException("timeout");
+            }
+        }
+    }
+
+    public String getTestResult() {
+        return mConsoleLog.toString();
+    }
+
+    public void loadUrl(String url) {
+        mWebView.loadUrl(url);
+        mWebView.requestFocus();
+    }
+
+    private void initializeSettings(WebSettings settings) {
+        settings.setJavaScriptEnabled(true);
+        settings.setGeolocationEnabled(true);
+    }
+
+    private void finishTest() {
+        mFinished = true;
+        synchronized (mLock) {
+            mLock.notifyAll();
+        }
+    }
+}
diff --git a/src/org/chromium/webview_shell/WebViewLayoutTestRunner.java b/src/org/chromium/webview_shell/WebViewLayoutTestRunner.java
new file mode 100644
index 0000000..4356e3b
--- /dev/null
+++ b/src/org/chromium/webview_shell/WebViewLayoutTestRunner.java
@@ -0,0 +1,28 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.webview_shell;
+
+import android.os.Bundle;
+import android.test.InstrumentationTestRunner;
+
+/**
+ * Customized test runner for running instrumentation tests in WebViewBrowserTests.
+ */
+public class WebViewLayoutTestRunner extends InstrumentationTestRunner {
+    private String mModeArgument;
+    private static final String MODE_REBASELINE = "rebaseline";
+
+    @Override
+    public void onCreate(Bundle arguments) {
+        super.onCreate(arguments);
+        if (arguments != null) {
+            mModeArgument = arguments.getString("mode");
+        }
+    }
+
+    public boolean isRebaseline() {
+        return mModeArgument != null ? mModeArgument.equals(MODE_REBASELINE) : false;
+    }
+}
\ No newline at end of file
diff --git a/test/experimental/basic-logging-expected.txt b/test/experimental/basic-logging-expected.txt
new file mode 100644
index 0000000..6031faa
--- /dev/null
+++ b/test/experimental/basic-logging-expected.txt
@@ -0,0 +1,5 @@
+Test JavaScript feedback into WebView
+some debug text
+false
+undefined
+TEST FINISHED
diff --git a/test/experimental/basic-logging.html b/test/experimental/basic-logging.html
new file mode 100644
index 0000000..5f96087
--- /dev/null
+++ b/test/experimental/basic-logging.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+  <script src="../resources/js-test.js"></script>
+  <body>
+      SOMETEXT
+    <script type="text/javascript">
+      description("Test JavaScript feedback into WebView");
+      debug("some debug text");
+      debug(isWorker());
+      debug(window.testRunner);
+    </script>
+  </body>
+</html>
diff --git a/test/resources/js-test.js b/test/resources/js-test.js
new file mode 100644
index 0000000..929a801
--- /dev/null
+++ b/test/resources/js-test.js
@@ -0,0 +1,45 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+debug = function debug(msg)
+{
+  console.log(msg);
+};
+
+description = function description(msg, quiet)
+{
+  console.log(msg);
+};
+
+finishJSTest = function finishJSTest() {
+  console.log("TEST FINISHED");
+};
+
+function isWorker()
+{
+  // It's conceivable that someone would stub out 'document' in a worker so
+  // also check for childNodes, an arbitrary DOM-related object that is
+  // meaningless in a WorkerContext.
+  return (typeof document === 'undefined' ||
+          typeof document.childNodes === 'undefined') && !!self.importScripts;
+}
+
+function handleTestFinished() {
+  if (!window.jsTestIsAsync)
+    finishJSTest();
+}
+
+// Returns a sorted array of property names of object.  This function returns
+// not only own properties but also properties on prototype chains.
+function getAllPropertyNames(object) {
+    var properties = [];
+    for (var property in object) {
+        properties.push(property);
+    }
+    return properties.sort();
+}
+
+if (!isWorker()) {
+  window.addEventListener('DOMContentLoaded', handleTestFinished, false);
+}
diff --git a/test/run_tests.sh b/test/run_tests.sh
new file mode 100755
index 0000000..516a3f7
--- /dev/null
+++ b/test/run_tests.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+PACKAGE_NAME="org.chromium.webview_shell"
+DEVICE_WEBVIEW_TEST_PATH="/sdcard/android_webview/tools/WebViewShell/test/"
+TESTRUNNER="../../../../build/android/test_runner.py"
+
+$TESTRUNNER instrumentation \
+    --test-apk AndroidWebViewShell \
+    -f 'WebViewLayoutTest*' \
+    --isolate-file-path android_webview/android_webview_shell_test_apk.isolate
+
+if [ "$1" = "rebaseline" ]; then
+  adb shell am instrument -w -e mode rebaseline -e class \
+      $PACKAGE_NAME.WebViewLayoutTest \
+      $PACKAGE_NAME/$PACKAGE_NAME.WebViewLayoutTestRunner
+  adb pull $DEVICE_WEBVIEW_TEST_PATH ../test_rebaseline/
+fi
+
+exit 0
diff --git a/test/webexposed/global-interface-listing-expected.txt b/test/webexposed/global-interface-listing-expected.txt
new file mode 100644
index 0000000..73c1650
--- /dev/null
+++ b/test/webexposed/global-interface-listing-expected.txt
@@ -0,0 +1,5845 @@
+[INTERFACES]
+'webkitOfflineAudioContext' is deprecated. Please use 'OfflineAudioContext' instead.
+'webkitAudioContext' is deprecated. Please use 'AudioContext' instead.
+'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.
+'webkitIDBTransaction' is deprecated. Please use 'IDBTransaction' instead.
+'webkitIDBRequest' is deprecated. Please use 'IDBRequest' instead.
+'webkitIDBObjectStore' is deprecated. Please use 'IDBObjectStore' instead.
+'webkitIDBKeyRange' is deprecated. Please use 'IDBKeyRange' instead.
+'webkitIDBIndex' is deprecated. Please use 'IDBIndex' instead.
+'webkitIDBFactory' is deprecated. Please use 'IDBFactory' instead.
+'webkitIDBDatabase' is deprecated. Please use 'IDBDatabase' instead.
+'webkitIDBCursor' is deprecated. Please use 'IDBCursor' instead.
+'webkitIndexedDB' is deprecated. Please use 'indexedDB' instead.
+'webkitURL' is deprecated. Please use 'URL' instead.
+interface AnalyserNode
+    getter fftSize
+    getter frequencyBinCount
+    getter maxDecibels
+    getter minDecibels
+    getter smoothingTimeConstant
+    method constructor
+    method getByteFrequencyData
+    method getByteTimeDomainData
+    method getFloatFrequencyData
+    method getFloatTimeDomainData
+    setter fftSize
+    setter maxDecibels
+    setter minDecibels
+    setter smoothingTimeConstant
+interface AnimationEvent
+    getter animationName
+    getter elapsedTime
+    method constructor
+interface AppBannerPromptResult
+    getter outcome
+    getter platform
+    method constructor
+interface ApplicationCache
+    attribute CHECKING
+    attribute DOWNLOADING
+    attribute IDLE
+    attribute OBSOLETE
+    attribute UNCACHED
+    attribute UPDATEREADY
+    getter oncached
+    getter onchecking
+    getter ondownloading
+    getter onerror
+    getter onnoupdate
+    getter onobsolete
+    getter onprogress
+    getter onupdateready
+    getter status
+    method abort
+    method constructor
+    method swapCache
+    method update
+    setter oncached
+    setter onchecking
+    setter ondownloading
+    setter onerror
+    setter onnoupdate
+    setter onobsolete
+    setter onprogress
+    setter onupdateready
+interface ApplicationCacheErrorEvent
+    getter message
+    getter reason
+    getter status
+    getter url
+    method constructor
+interface Attr
+    getter localName
+    getter name
+    getter namespaceURI
+    getter nodeValue
+    getter ownerElement
+    getter prefix
+    getter specified
+    getter textContent
+    getter value
+    method constructor
+    setter nodeValue
+    setter textContent
+    setter value
+interface Audio
+    method constructor
+interface AudioBuffer
+    getter duration
+    getter length
+    getter numberOfChannels
+    getter sampleRate
+    method constructor
+    method copyFromChannel
+    method copyToChannel
+    method getChannelData
+interface AudioBufferSourceNode
+    getter buffer
+    getter detune
+    getter loop
+    getter loopEnd
+    getter loopStart
+    getter onended
+    getter playbackRate
+    method constructor
+    method start
+    method stop
+    setter buffer
+    setter loop
+    setter loopEnd
+    setter loopStart
+    setter onended
+interface AudioContext
+    getter currentTime
+    getter destination
+    getter listener
+    getter onstatechange
+    getter sampleRate
+    getter state
+    method close
+    method constructor
+    method createAnalyser
+    method createBiquadFilter
+    method createBuffer
+    method createBufferSource
+    method createChannelMerger
+    method createChannelSplitter
+    method createConvolver
+    method createDelay
+    method createDynamicsCompressor
+    method createGain
+    method createMediaElementSource
+    method createMediaStreamDestination
+    method createMediaStreamSource
+    method createOscillator
+    method createPanner
+    method createPeriodicWave
+    method createScriptProcessor
+    method createStereoPanner
+    method createWaveShaper
+    method decodeAudioData
+    method resume
+    method suspend
+    setter onstatechange
+interface AudioDestinationNode
+    getter maxChannelCount
+    method constructor
+interface AudioListener
+    getter dopplerFactor
+    getter speedOfSound
+    method constructor
+    method setOrientation
+    method setPosition
+    method setVelocity
+    setter dopplerFactor
+    setter speedOfSound
+interface AudioNode
+    getter channelCount
+    getter channelCountMode
+    getter channelInterpretation
+    getter context
+    getter numberOfInputs
+    getter numberOfOutputs
+    method connect
+    method constructor
+    method disconnect
+    setter channelCount
+    setter channelCountMode
+    setter channelInterpretation
+interface AudioParam
+    getter defaultValue
+    getter value
+    method cancelScheduledValues
+    method constructor
+    method exponentialRampToValueAtTime
+    method linearRampToValueAtTime
+    method setTargetAtTime
+    method setValueAtTime
+    method setValueCurveAtTime
+    setter value
+interface AudioProcessingEvent
+    getter inputBuffer
+    getter outputBuffer
+    getter playbackTime
+    method constructor
+interface AutocompleteErrorEvent
+    getter reason
+    method constructor
+interface BarProp
+    getter visible
+    method constructor
+interface BatteryManager
+    getter charging
+    getter chargingTime
+    getter dischargingTime
+    getter level
+    getter onchargingchange
+    getter onchargingtimechange
+    getter ondischargingtimechange
+    getter onlevelchange
+    method constructor
+    setter onchargingchange
+    setter onchargingtimechange
+    setter ondischargingtimechange
+    setter onlevelchange
+interface BeforeInstallPromptEvent
+    getter platforms
+    getter userChoice
+    method constructor
+    method prompt
+interface BeforeUnloadEvent
+    getter returnValue
+    method constructor
+    setter returnValue
+interface BiquadFilterNode
+    getter Q
+    getter detune
+    getter frequency
+    getter gain
+    getter type
+    method constructor
+    method getFrequencyResponse
+    setter type
+interface Blob
+    getter size
+    getter type
+    method constructor
+    method slice
+interface CDATASection
+    method constructor
+interface CSS
+    method constructor
+interface CSSFontFaceRule
+    getter style
+    method constructor
+interface CSSGroupingRule
+    getter cssRules
+    method constructor
+    method deleteRule
+    method insertRule
+interface CSSImportRule
+    getter href
+    getter media
+    getter styleSheet
+    method constructor
+interface CSSKeyframeRule
+    getter keyText
+    getter style
+    method constructor
+    setter keyText
+interface CSSKeyframesRule
+    getter cssRules
+    getter name
+    method appendRule
+    method constructor
+    method deleteRule
+    method findRule
+    setter name
+interface CSSMediaRule
+    getter media
+    method constructor
+interface CSSPageRule
+    getter selectorText
+    getter style
+    method constructor
+    setter selectorText
+interface CSSRule
+    attribute CHARSET_RULE
+    attribute FONT_FACE_RULE
+    attribute IMPORT_RULE
+    attribute KEYFRAMES_RULE
+    attribute KEYFRAME_RULE
+    attribute MEDIA_RULE
+    attribute PAGE_RULE
+    attribute STYLE_RULE
+    attribute SUPPORTS_RULE
+    attribute WEBKIT_KEYFRAMES_RULE
+    attribute WEBKIT_KEYFRAME_RULE
+    getter cssText
+    getter parentRule
+    getter parentStyleSheet
+    getter type
+    method constructor
+    setter cssText
+interface CSSRuleList
+    getter length
+    method constructor
+    method item
+interface CSSStyleDeclaration
+    getter cssText
+    getter length
+    getter parentRule
+    method constructor
+    method getPropertyPriority
+    method getPropertyValue
+    method item
+    method removeProperty
+    method setProperty
+    setter cssText
+interface CSSStyleRule
+    getter selectorText
+    getter style
+    method constructor
+    setter selectorText
+interface CSSStyleSheet
+    getter cssRules
+    getter ownerRule
+    getter rules
+    method addRule
+    method constructor
+    method deleteRule
+    method insertRule
+    method removeRule
+interface CSSSupportsRule
+    getter conditionText
+    getter cssRules
+    method constructor
+    method deleteRule
+    method insertRule
+interface CSSViewportRule
+    getter style
+    method constructor
+interface Cache
+    method add
+    method constructor
+    method delete
+    method keys
+    method match
+    method put
+interface CacheStorage
+    method constructor
+    method delete
+    method has
+    method keys
+    method match
+    method open
+interface CanvasGradient
+    method addColorStop
+    method constructor
+interface CanvasPattern
+    method constructor
+interface CanvasRenderingContext2D
+    getter canvas
+    getter fillStyle
+    getter font
+    getter globalAlpha
+    getter globalCompositeOperation
+    getter imageSmoothingEnabled
+    getter lineCap
+    getter lineDashOffset
+    getter lineJoin
+    getter lineWidth
+    getter miterLimit
+    getter shadowBlur
+    getter shadowColor
+    getter shadowOffsetX
+    getter shadowOffsetY
+    getter strokeStyle
+    getter textAlign
+    getter textBaseline
+    getter webkitImageSmoothingEnabled
+    method arc
+    method arcTo
+    method beginPath
+    method bezierCurveTo
+    method clearRect
+    method clip
+    method closePath
+    method constructor
+    method createImageData
+    method createLinearGradient
+    method createPattern
+    method createRadialGradient
+    method drawFocusIfNeeded
+    method drawImage
+    method ellipse
+    method fill
+    method fillRect
+    method fillText
+    method getContextAttributes
+    method getImageData
+    method getLineDash
+    method isPointInPath
+    method isPointInStroke
+    method lineTo
+    method measureText
+    method moveTo
+    method putImageData
+    method quadraticCurveTo
+    method rect
+    method resetTransform
+    method restore
+    method rotate
+    method save
+    method scale
+    method setLineDash
+    method setTransform
+    method stroke
+    method strokeRect
+    method strokeText
+    method transform
+    method translate
+    setter fillStyle
+    setter font
+    setter globalAlpha
+    setter globalCompositeOperation
+    setter imageSmoothingEnabled
+    setter lineCap
+    setter lineDashOffset
+    setter lineJoin
+    setter lineWidth
+    setter miterLimit
+    setter shadowBlur
+    setter shadowColor
+    setter shadowOffsetX
+    setter shadowOffsetY
+    setter strokeStyle
+    setter textAlign
+    setter textBaseline
+    setter webkitImageSmoothingEnabled
+interface ChannelMergerNode
+    method constructor
+interface ChannelSplitterNode
+    method constructor
+interface CharacterData
+    getter data
+    getter length
+    getter nextElementSibling
+    getter previousElementSibling
+    method appendData
+    method constructor
+    method deleteData
+    method insertData
+    method remove
+    method replaceData
+    method substringData
+    setter data
+interface ClientRect
+    getter bottom
+    getter height
+    getter left
+    getter right
+    getter top
+    getter width
+    method constructor
+interface ClientRectList
+    getter length
+    method constructor
+    method item
+interface ClipboardEvent
+    getter clipboardData
+    method constructor
+interface CloseEvent
+    getter code
+    getter reason
+    getter wasClean
+    method constructor
+interface Comment
+    method constructor
+interface CompositionEvent
+    getter data
+    method constructor
+    method initCompositionEvent
+interface ConvolverNode
+    getter buffer
+    getter normalize
+    method constructor
+    setter buffer
+    setter normalize
+interface Crypto
+    getter subtle
+    method constructor
+    method getRandomValues
+interface CryptoKey
+    getter algorithm
+    getter extractable
+    getter type
+    getter usages
+    method constructor
+interface CustomEvent
+    getter detail
+    method constructor
+    method initCustomEvent
+interface DOMError
+    getter message
+    getter name
+    method constructor
+interface DOMException
+    attribute ABORT_ERR
+    attribute DATA_CLONE_ERR
+    attribute DOMSTRING_SIZE_ERR
+    attribute HIERARCHY_REQUEST_ERR
+    attribute INDEX_SIZE_ERR
+    attribute INUSE_ATTRIBUTE_ERR
+    attribute INVALID_ACCESS_ERR
+    attribute INVALID_CHARACTER_ERR
+    attribute INVALID_MODIFICATION_ERR
+    attribute INVALID_NODE_TYPE_ERR
+    attribute INVALID_STATE_ERR
+    attribute NAMESPACE_ERR
+    attribute NETWORK_ERR
+    attribute NOT_FOUND_ERR
+    attribute NOT_SUPPORTED_ERR
+    attribute NO_DATA_ALLOWED_ERR
+    attribute NO_MODIFICATION_ALLOWED_ERR
+    attribute QUOTA_EXCEEDED_ERR
+    attribute SECURITY_ERR
+    attribute SYNTAX_ERR
+    attribute TIMEOUT_ERR
+    attribute TYPE_MISMATCH_ERR
+    attribute URL_MISMATCH_ERR
+    attribute VALIDATION_ERR
+    attribute WRONG_DOCUMENT_ERR
+    getter code
+    getter message
+    getter name
+    method constructor
+    method toString
+interface DOMImplementation
+    method constructor
+    method createDocument
+    method createDocumentType
+    method createHTMLDocument
+    method hasFeature
+interface DOMParser
+    method constructor
+    method parseFromString
+interface DOMSettableTokenList
+    getter value
+    method constructor
+    setter value
+interface DOMStringList
+    getter length
+    method constructor
+    method contains
+    method item
+interface DOMStringMap
+    method constructor
+interface DOMTokenList
+    getter length
+    method add
+    method constructor
+    method contains
+    method entries
+    method forEach
+    method item
+    method keys
+    method remove
+    method toString
+    method toggle
+    method values
+interface DataTransfer
+    getter dropEffect
+    getter effectAllowed
+    getter files
+    getter items
+    getter types
+    method clearData
+    method constructor
+    method getData
+    method setData
+    method setDragImage
+    setter dropEffect
+    setter effectAllowed
+interface DataTransferItem
+    getter kind
+    getter type
+    method constructor
+    method getAsFile
+    method getAsString
+    method webkitGetAsEntry
+interface DataTransferItemList
+    getter length
+    method add
+    method clear
+    method constructor
+    method remove
+interface DataView
+    getter buffer
+    getter byteLength
+    getter byteOffset
+    method constructor
+    method getFloat32
+    method getFloat64
+    method getInt16
+    method getInt32
+    method getInt8
+    method getUint16
+    method getUint32
+    method getUint8
+    method setFloat32
+    method setFloat64
+    method setInt16
+    method setInt32
+    method setInt8
+    method setUint16
+    method setUint32
+    method setUint8
+interface DelayNode
+    getter delayTime
+    method constructor
+interface DeviceMotionEvent
+    getter acceleration
+    getter accelerationIncludingGravity
+    getter interval
+    getter rotationRate
+    method constructor
+    method initDeviceMotionEvent
+interface DeviceOrientationEvent
+    getter absolute
+    getter alpha
+    getter beta
+    getter gamma
+    method constructor
+    method initDeviceOrientationEvent
+interface Document
+    getter URL
+    getter activeElement
+    getter anchors
+    getter applets
+    getter body
+    getter characterSet
+    getter charset
+    getter childElementCount
+    getter children
+    getter compatMode
+    getter contentType
+    getter cookie
+    getter currentScript
+    getter defaultCharset
+    getter defaultView
+    getter designMode
+    getter dir
+    getter doctype
+    getter documentElement
+    getter documentURI
+    getter domain
+    getter embeds
+    getter firstElementChild
+    getter fonts
+    getter forms
+    getter head
+    getter hidden
+    getter images
+    getter implementation
+    getter inputEncoding
+    getter lastElementChild
+    getter lastModified
+    getter links
+    getter onabort
+    getter onbeforecopy
+    getter onbeforecut
+    getter onbeforepaste
+    getter onblur
+    getter oncancel
+    getter oncanplay
+    getter oncanplaythrough
+    getter onchange
+    getter onclick
+    getter onclose
+    getter oncontextmenu
+    getter oncopy
+    getter oncuechange
+    getter oncut
+    getter ondblclick
+    getter ondrag
+    getter ondragend
+    getter ondragenter
+    getter ondragleave
+    getter ondragover
+    getter ondragstart
+    getter ondrop
+    getter ondurationchange
+    getter onemptied
+    getter onended
+    getter onerror
+    getter onfocus
+    getter oninput
+    getter oninvalid
+    getter onkeydown
+    getter onkeypress
+    getter onkeyup
+    getter onload
+    getter onloadeddata
+    getter onloadedmetadata
+    getter onloadstart
+    getter onmousedown
+    getter onmouseenter
+    getter onmouseleave
+    getter onmousemove
+    getter onmouseout
+    getter onmouseover
+    getter onmouseup
+    getter onmousewheel
+    getter onpaste
+    getter onpause
+    getter onplay
+    getter onplaying
+    getter onpointercancel
+    getter onpointerdown
+    getter onpointerenter
+    getter onpointerleave
+    getter onpointerlockchange
+    getter onpointerlockerror
+    getter onpointermove
+    getter onpointerout
+    getter onpointerover
+    getter onpointerup
+    getter onprogress
+    getter onratechange
+    getter onreadystatechange
+    getter onreset
+    getter onresize
+    getter onscroll
+    getter onsearch
+    getter onseeked
+    getter onseeking
+    getter onselect
+    getter onselectionchange
+    getter onselectstart
+    getter onshow
+    getter onstalled
+    getter onsubmit
+    getter onsuspend
+    getter ontimeupdate
+    getter ontoggle
+    getter ontouchcancel
+    getter ontouchend
+    getter ontouchmove
+    getter ontouchstart
+    getter onvolumechange
+    getter onwaiting
+    getter onwebkitfullscreenchange
+    getter onwebkitfullscreenerror
+    getter onwheel
+    getter origin
+    getter plugins
+    getter pointerLockElement
+    getter preferredStylesheetSet
+    getter readyState
+    getter referrer
+    getter rootElement
+    getter scripts
+    getter scrollingElement
+    getter selectedStylesheetSet
+    getter styleSheets
+    getter title
+    getter visibilityState
+    getter webkitCurrentFullScreenElement
+    getter webkitFullscreenElement
+    getter webkitFullscreenEnabled
+    getter webkitHidden
+    getter webkitIsFullScreen
+    getter webkitVisibilityState
+    getter xmlEncoding
+    getter xmlStandalone
+    getter xmlVersion
+    method adoptNode
+    method caretRangeFromPoint
+    method close
+    method constructor
+    method createAttribute
+    method createAttributeNS
+    method createCDATASection
+    method createComment
+    method createDocumentFragment
+    method createElement
+    method createElementNS
+    method createEvent
+    method createExpression
+    method createNSResolver
+    method createNodeIterator
+    method createProcessingInstruction
+    method createRange
+    method createTextNode
+    method createTouch
+    method createTouchList
+    method createTreeWalker
+    method elementFromPoint
+    method elementsFromPoint
+    method evaluate
+    method execCommand
+    method exitPointerLock
+    method getCSSCanvasContext
+    method getElementById
+    method getElementsByClassName
+    method getElementsByName
+    method getElementsByTagName
+    method getElementsByTagNameNS
+    method getSelection
+    method hasFocus
+    method importNode
+    method open
+    method queryCommandEnabled
+    method queryCommandIndeterm
+    method queryCommandState
+    method queryCommandSupported
+    method queryCommandValue
+    method querySelector
+    method querySelectorAll
+    method registerElement
+    method webkitCancelFullScreen
+    method webkitExitFullscreen
+    method write
+    method writeln
+    setter body
+    setter cookie
+    setter designMode
+    setter dir
+    setter domain
+    setter onabort
+    setter onbeforecopy
+    setter onbeforecut
+    setter onbeforepaste
+    setter onblur
+    setter oncancel
+    setter oncanplay
+    setter oncanplaythrough
+    setter onchange
+    setter onclick
+    setter onclose
+    setter oncontextmenu
+    setter oncopy
+    setter oncuechange
+    setter oncut
+    setter ondblclick
+    setter ondrag
+    setter ondragend
+    setter ondragenter
+    setter ondragleave
+    setter ondragover
+    setter ondragstart
+    setter ondrop
+    setter ondurationchange
+    setter onemptied
+    setter onended
+    setter onerror
+    setter onfocus
+    setter oninput
+    setter oninvalid
+    setter onkeydown
+    setter onkeypress
+    setter onkeyup
+    setter onload
+    setter onloadeddata
+    setter onloadedmetadata
+    setter onloadstart
+    setter onmousedown
+    setter onmouseenter
+    setter onmouseleave
+    setter onmousemove
+    setter onmouseout
+    setter onmouseover
+    setter onmouseup
+    setter onmousewheel
+    setter onpaste
+    setter onpause
+    setter onplay
+    setter onplaying
+    setter onpointercancel
+    setter onpointerdown
+    setter onpointerenter
+    setter onpointerleave
+    setter onpointerlockchange
+    setter onpointerlockerror
+    setter onpointermove
+    setter onpointerout
+    setter onpointerover
+    setter onpointerup
+    setter onprogress
+    setter onratechange
+    setter onreadystatechange
+    setter onreset
+    setter onresize
+    setter onscroll
+    setter onsearch
+    setter onseeked
+    setter onseeking
+    setter onselect
+    setter onselectionchange
+    setter onselectstart
+    setter onshow
+    setter onstalled
+    setter onsubmit
+    setter onsuspend
+    setter ontimeupdate
+    setter ontoggle
+    setter ontouchcancel
+    setter ontouchend
+    setter ontouchmove
+    setter ontouchstart
+    setter onvolumechange
+    setter onwaiting
+    setter onwebkitfullscreenchange
+    setter onwebkitfullscreenerror
+    setter onwheel
+    setter selectedStylesheetSet
+    setter title
+    setter xmlStandalone
+    setter xmlVersion
+interface DocumentFragment
+    getter childElementCount
+    getter children
+    getter firstElementChild
+    getter lastElementChild
+    method constructor
+    method getElementById
+    method querySelector
+    method querySelectorAll
+interface DocumentType
+    getter name
+    getter publicId
+    getter systemId
+    method constructor
+    method remove
+interface DynamicsCompressorNode
+    getter attack
+    getter knee
+    getter ratio
+    getter reduction
+    getter release
+    getter threshold
+    method constructor
+interface Element
+    getter attributes
+    getter childElementCount
+    getter children
+    getter classList
+    getter className
+    getter clientHeight
+    getter clientLeft
+    getter clientTop
+    getter clientWidth
+    getter firstElementChild
+    getter id
+    getter innerHTML
+    getter lastElementChild
+    getter localName
+    getter namespaceURI
+    getter nextElementSibling
+    getter offsetHeight
+    getter offsetLeft
+    getter offsetParent
+    getter offsetTop
+    getter offsetWidth
+    getter onbeforecopy
+    getter onbeforecut
+    getter onbeforepaste
+    getter oncopy
+    getter oncut
+    getter onpaste
+    getter onsearch
+    getter onselectstart
+    getter ontouchcancel
+    getter ontouchend
+    getter ontouchmove
+    getter ontouchstart
+    getter onwebkitfullscreenchange
+    getter onwebkitfullscreenerror
+    getter onwheel
+    getter outerHTML
+    getter prefix
+    getter previousElementSibling
+    getter scrollHeight
+    getter scrollLeft
+    getter scrollTop
+    getter scrollWidth
+    getter shadowRoot
+    getter tagName
+    method animate
+    method closest
+    method constructor
+    method createShadowRoot
+    method getAttribute
+    method getAttributeNS
+    method getAttributeNode
+    method getAttributeNodeNS
+    method getBoundingClientRect
+    method getClientRects
+    method getDestinationInsertionPoints
+    method getElementsByClassName
+    method getElementsByTagName
+    method getElementsByTagNameNS
+    method hasAttribute
+    method hasAttributeNS
+    method hasAttributes
+    method insertAdjacentElement
+    method insertAdjacentHTML
+    method insertAdjacentText
+    method matches
+    method querySelector
+    method querySelectorAll
+    method remove
+    method removeAttribute
+    method removeAttributeNS
+    method removeAttributeNode
+    method requestPointerLock
+    method scrollIntoView
+    method scrollIntoViewIfNeeded
+    method setAttribute
+    method setAttributeNS
+    method setAttributeNode
+    method setAttributeNodeNS
+    method webkitMatchesSelector
+    method webkitRequestFullScreen
+    method webkitRequestFullscreen
+    setter className
+    setter id
+    setter innerHTML
+    setter onbeforecopy
+    setter onbeforecut
+    setter onbeforepaste
+    setter oncopy
+    setter oncut
+    setter onpaste
+    setter onsearch
+    setter onselectstart
+    setter ontouchcancel
+    setter ontouchend
+    setter ontouchmove
+    setter ontouchstart
+    setter onwebkitfullscreenchange
+    setter onwebkitfullscreenerror
+    setter onwheel
+    setter outerHTML
+    setter scrollLeft
+    setter scrollTop
+interface ErrorEvent
+    getter colno
+    getter error
+    getter filename
+    getter lineno
+    getter message
+    method constructor
+interface Event
+    attribute AT_TARGET
+    attribute BLUR
+    attribute BUBBLING_PHASE
+    attribute CAPTURING_PHASE
+    attribute CHANGE
+    attribute CLICK
+    attribute DBLCLICK
+    attribute DRAGDROP
+    attribute FOCUS
+    attribute KEYDOWN
+    attribute KEYPRESS
+    attribute KEYUP
+    attribute MOUSEDOWN
+    attribute MOUSEDRAG
+    attribute MOUSEMOVE
+    attribute MOUSEOUT
+    attribute MOUSEOVER
+    attribute MOUSEUP
+    attribute NONE
+    attribute SELECT
+    getter bubbles
+    getter cancelBubble
+    getter cancelable
+    getter currentTarget
+    getter defaultPrevented
+    getter eventPhase
+    getter path
+    getter returnValue
+    getter srcElement
+    getter target
+    getter timeStamp
+    getter type
+    method constructor
+    method initEvent
+    method preventDefault
+    method stopImmediatePropagation
+    method stopPropagation
+    setter cancelBubble
+    setter returnValue
+interface EventSource
+    attribute CLOSED
+    attribute CONNECTING
+    attribute OPEN
+    getter onerror
+    getter onmessage
+    getter onopen
+    getter readyState
+    getter url
+    getter withCredentials
+    method close
+    method constructor
+    setter onerror
+    setter onmessage
+    setter onopen
+interface EventTarget
+    method addEventListener
+    method constructor
+    method dispatchEvent
+    method removeEventListener
+interface File
+    getter lastModified
+    getter lastModifiedDate
+    getter name
+    getter webkitRelativePath
+    method constructor
+interface FileError
+    attribute ABORT_ERR
+    attribute ENCODING_ERR
+    attribute INVALID_MODIFICATION_ERR
+    attribute INVALID_STATE_ERR
+    attribute NOT_FOUND_ERR
+    attribute NOT_READABLE_ERR
+    attribute NO_MODIFICATION_ALLOWED_ERR
+    attribute PATH_EXISTS_ERR
+    attribute QUOTA_EXCEEDED_ERR
+    attribute SECURITY_ERR
+    attribute SYNTAX_ERR
+    attribute TYPE_MISMATCH_ERR
+    getter code
+    method constructor
+interface FileList
+    getter length
+    method constructor
+    method item
+interface FileReader
+    attribute DONE
+    attribute EMPTY
+    attribute LOADING
+    getter error
+    getter onabort
+    getter onerror
+    getter onload
+    getter onloadend
+    getter onloadstart
+    getter onprogress
+    getter readyState
+    getter result
+    method abort
+    method constructor
+    method readAsArrayBuffer
+    method readAsBinaryString
+    method readAsDataURL
+    method readAsText
+    setter onabort
+    setter onerror
+    setter onload
+    setter onloadend
+    setter onloadstart
+    setter onprogress
+interface FocusEvent
+    getter relatedTarget
+    method constructor
+interface FontFace
+    getter family
+    getter featureSettings
+    getter loaded
+    getter status
+    getter stretch
+    getter style
+    getter unicodeRange
+    getter variant
+    getter weight
+    method constructor
+    method load
+    setter family
+    setter featureSettings
+    setter stretch
+    setter style
+    setter unicodeRange
+    setter variant
+    setter weight
+interface FormData
+    method append
+    method constructor
+interface GainNode
+    getter gain
+    method constructor
+interface Gamepad
+    getter axes
+    getter buttons
+    getter connected
+    getter id
+    getter index
+    getter mapping
+    getter timestamp
+    method constructor
+interface GamepadButton
+    getter pressed
+    getter value
+    method constructor
+interface GamepadEvent
+    getter gamepad
+    method constructor
+interface HTMLAllCollection
+    getter length
+    method constructor
+    method item
+    method namedItem
+interface HTMLAnchorElement
+    getter charset
+    getter coords
+    getter download
+    getter hash
+    getter host
+    getter hostname
+    getter href
+    getter hreflang
+    getter name
+    getter origin
+    getter password
+    getter pathname
+    getter ping
+    getter port
+    getter protocol
+    getter rel
+    getter rev
+    getter search
+    getter shape
+    getter target
+    getter text
+    getter type
+    getter username
+    method constructor
+    method toString
+    setter charset
+    setter coords
+    setter download
+    setter hash
+    setter host
+    setter hostname
+    setter href
+    setter hreflang
+    setter name
+    setter password
+    setter pathname
+    setter ping
+    setter port
+    setter protocol
+    setter rel
+    setter rev
+    setter search
+    setter shape
+    setter target
+    setter text
+    setter type
+    setter username
+interface HTMLAppletElement
+    method constructor
+interface HTMLAreaElement
+    getter alt
+    getter coords
+    getter hash
+    getter host
+    getter hostname
+    getter href
+    getter noHref
+    getter origin
+    getter password
+    getter pathname
+    getter ping
+    getter port
+    getter protocol
+    getter search
+    getter shape
+    getter target
+    getter username
+    method constructor
+    method toString
+    setter alt
+    setter coords
+    setter hash
+    setter host
+    setter hostname
+    setter href
+    setter noHref
+    setter password
+    setter pathname
+    setter ping
+    setter port
+    setter protocol
+    setter search
+    setter shape
+    setter target
+    setter username
+interface HTMLAudioElement
+    method constructor
+interface HTMLBRElement
+    getter clear
+    method constructor
+    setter clear
+interface HTMLBaseElement
+    getter href
+    getter target
+    method constructor
+    setter href
+    setter target
+interface HTMLBodyElement
+    getter aLink
+    getter background
+    getter bgColor
+    getter link
+    getter onbeforeunload
+    getter onblur
+    getter onerror
+    getter onfocus
+    getter onhashchange
+    getter onlanguagechange
+    getter onload
+    getter onmessage
+    getter onoffline
+    getter ononline
+    getter onorientationchange
+    getter onpagehide
+    getter onpageshow
+    getter onpopstate
+    getter onresize
+    getter onscroll
+    getter onstorage
+    getter onunload
+    getter text
+    getter vLink
+    method constructor
+    setter aLink
+    setter background
+    setter bgColor
+    setter link
+    setter onbeforeunload
+    setter onblur
+    setter onerror
+    setter onfocus
+    setter onhashchange
+    setter onlanguagechange
+    setter onload
+    setter onmessage
+    setter onoffline
+    setter ononline
+    setter onorientationchange
+    setter onpagehide
+    setter onpageshow
+    setter onpopstate
+    setter onresize
+    setter onscroll
+    setter onstorage
+    setter onunload
+    setter text
+    setter vLink
+interface HTMLButtonElement
+    getter autofocus
+    getter disabled
+    getter form
+    getter formAction
+    getter formEnctype
+    getter formMethod
+    getter formNoValidate
+    getter formTarget
+    getter labels
+    getter name
+    getter type
+    getter validationMessage
+    getter validity
+    getter value
+    getter willValidate
+    method checkValidity
+    method constructor
+    method reportValidity
+    method setCustomValidity
+    setter autofocus
+    setter disabled
+    setter formAction
+    setter formEnctype
+    setter formMethod
+    setter formNoValidate
+    setter formTarget
+    setter name
+    setter type
+    setter value
+interface HTMLCanvasElement
+    getter height
+    getter width
+    method constructor
+    method getContext
+    method toDataURL
+    setter height
+    setter width
+interface HTMLCollection
+    getter length
+    method constructor
+    method item
+    method namedItem
+interface HTMLContentElement
+    getter select
+    method constructor
+    method getDistributedNodes
+    setter select
+interface HTMLDListElement
+    getter compact
+    method constructor
+    setter compact
+interface HTMLDataListElement
+    getter options
+    method constructor
+interface HTMLDetailsElement
+    getter open
+    method constructor
+    setter open
+interface HTMLDialogElement
+    getter open
+    getter returnValue
+    method close
+    method constructor
+    method show
+    method showModal
+    setter open
+    setter returnValue
+interface HTMLDirectoryElement
+    getter compact
+    method constructor
+    setter compact
+interface HTMLDivElement
+    getter align
+    method constructor
+    setter align
+interface HTMLDocument
+    getter alinkColor
+    getter all
+    getter bgColor
+    getter fgColor
+    getter linkColor
+    getter vlinkColor
+    method captureEvents
+    method clear
+    method constructor
+    method releaseEvents
+    setter alinkColor
+    setter all
+    setter bgColor
+    setter fgColor
+    setter linkColor
+    setter vlinkColor
+interface HTMLElement
+    getter accessKey
+    getter contentEditable
+    getter dataset
+    getter dir
+    getter draggable
+    getter hidden
+    getter innerText
+    getter isContentEditable
+    getter lang
+    getter offsetHeight
+    getter offsetLeft
+    getter offsetParent
+    getter offsetTop
+    getter offsetWidth
+    getter onabort
+    getter onblur
+    getter oncancel
+    getter oncanplay
+    getter oncanplaythrough
+    getter onchange
+    getter onclick
+    getter onclose
+    getter oncontextmenu
+    getter oncuechange
+    getter ondblclick
+    getter ondrag
+    getter ondragend
+    getter ondragenter
+    getter ondragleave
+    getter ondragover
+    getter ondragstart
+    getter ondrop
+    getter ondurationchange
+    getter onemptied
+    getter onended
+    getter onerror
+    getter onfocus
+    getter oninput
+    getter oninvalid
+    getter onkeydown
+    getter onkeypress
+    getter onkeyup
+    getter onload
+    getter onloadeddata
+    getter onloadedmetadata
+    getter onloadstart
+    getter onmousedown
+    getter onmouseenter
+    getter onmouseleave
+    getter onmousemove
+    getter onmouseout
+    getter onmouseover
+    getter onmouseup
+    getter onmousewheel
+    getter onpause
+    getter onplay
+    getter onplaying
+    getter onpointercancel
+    getter onpointerdown
+    getter onpointerenter
+    getter onpointerleave
+    getter onpointermove
+    getter onpointerout
+    getter onpointerover
+    getter onpointerup
+    getter onprogress
+    getter onratechange
+    getter onreset
+    getter onresize
+    getter onscroll
+    getter onseeked
+    getter onseeking
+    getter onselect
+    getter onshow
+    getter onstalled
+    getter onsubmit
+    getter onsuspend
+    getter ontimeupdate
+    getter ontoggle
+    getter onvolumechange
+    getter onwaiting
+    getter outerText
+    getter spellcheck
+    getter style
+    getter tabIndex
+    getter title
+    getter translate
+    getter webkitdropzone
+    method blur
+    method click
+    method constructor
+    method focus
+    setter accessKey
+    setter contentEditable
+    setter dir
+    setter draggable
+    setter hidden
+    setter innerText
+    setter lang
+    setter onabort
+    setter onblur
+    setter oncancel
+    setter oncanplay
+    setter oncanplaythrough
+    setter onchange
+    setter onclick
+    setter onclose
+    setter oncontextmenu
+    setter oncuechange
+    setter ondblclick
+    setter ondrag
+    setter ondragend
+    setter ondragenter
+    setter ondragleave
+    setter ondragover
+    setter ondragstart
+    setter ondrop
+    setter ondurationchange
+    setter onemptied
+    setter onended
+    setter onerror
+    setter onfocus
+    setter oninput
+    setter oninvalid
+    setter onkeydown
+    setter onkeypress
+    setter onkeyup
+    setter onload
+    setter onloadeddata
+    setter onloadedmetadata
+    setter onloadstart
+    setter onmousedown
+    setter onmouseenter
+    setter onmouseleave
+    setter onmousemove
+    setter onmouseout
+    setter onmouseover
+    setter onmouseup
+    setter onmousewheel
+    setter onpause
+    setter onplay
+    setter onplaying
+    setter onpointercancel
+    setter onpointerdown
+    setter onpointerenter
+    setter onpointerleave
+    setter onpointermove
+    setter onpointerout
+    setter onpointerover
+    setter onpointerup
+    setter onprogress
+    setter onratechange
+    setter onreset
+    setter onresize
+    setter onscroll
+    setter onseeked
+    setter onseeking
+    setter onselect
+    setter onshow
+    setter onstalled
+    setter onsubmit
+    setter onsuspend
+    setter ontimeupdate
+    setter ontoggle
+    setter onvolumechange
+    setter onwaiting
+    setter outerText
+    setter spellcheck
+    setter tabIndex
+    setter title
+    setter translate
+    setter webkitdropzone
+interface HTMLEmbedElement
+    method constructor
+    method getSVGDocument
+interface HTMLFieldSetElement
+    getter disabled
+    getter elements
+    getter form
+    getter name
+    getter type
+    getter validationMessage
+    getter validity
+    getter willValidate
+    method checkValidity
+    method constructor
+    method reportValidity
+    method setCustomValidity
+    setter disabled
+    setter name
+interface HTMLFontElement
+    getter color
+    getter face
+    getter size
+    method constructor
+    setter color
+    setter face
+    setter size
+interface HTMLFormControlsCollection
+    method constructor
+    method namedItem
+interface HTMLFormElement
+    method checkValidity
+    method constructor
+    method reportValidity
+    method reset
+    method submit
+interface HTMLFrameElement
+    getter contentDocument
+    getter contentWindow
+    getter frameBorder
+    getter longDesc
+    getter marginHeight
+    getter marginWidth
+    getter name
+    getter noResize
+    getter scrolling
+    getter src
+    method constructor
+    method getSVGDocument
+    setter frameBorder
+    setter longDesc
+    setter marginHeight
+    setter marginWidth
+    setter name
+    setter noResize
+    setter scrolling
+    setter src
+interface HTMLFrameSetElement
+    method constructor
+interface HTMLHRElement
+    getter align
+    getter color
+    getter noShade
+    getter size
+    getter width
+    method constructor
+    setter align
+    setter color
+    setter noShade
+    setter size
+    setter width
+interface HTMLHeadElement
+    method constructor
+interface HTMLHeadingElement
+    getter align
+    method constructor
+    setter align
+interface HTMLHtmlElement
+    getter version
+    method constructor
+    setter version
+interface HTMLIFrameElement
+    getter align
+    getter allowFullscreen
+    getter contentDocument
+    getter contentWindow
+    getter frameBorder
+    getter height
+    getter longDesc
+    getter marginHeight
+    getter marginWidth
+    getter name
+    getter sandbox
+    getter scrolling
+    getter src
+    getter srcdoc
+    getter width
+    method constructor
+    method getSVGDocument
+    setter align
+    setter allowFullscreen
+    setter frameBorder
+    setter height
+    setter longDesc
+    setter marginHeight
+    setter marginWidth
+    setter name
+    setter sandbox
+    setter scrolling
+    setter src
+    setter srcdoc
+    setter width
+interface HTMLImageElement
+    getter align
+    getter alt
+    getter border
+    getter complete
+    getter crossOrigin
+    getter currentSrc
+    getter height
+    getter hspace
+    getter isMap
+    getter longDesc
+    getter lowsrc
+    getter name
+    getter naturalHeight
+    getter naturalWidth
+    getter sizes
+    getter src
+    getter srcset
+    getter useMap
+    getter vspace
+    getter width
+    getter x
+    getter y
+    method constructor
+    setter align
+    setter alt
+    setter border
+    setter crossOrigin
+    setter height
+    setter hspace
+    setter isMap
+    setter longDesc
+    setter lowsrc
+    setter name
+    setter sizes
+    setter src
+    setter srcset
+    setter useMap
+    setter vspace
+    setter width
+interface HTMLInputElement
+    getter accept
+    getter align
+    getter alt
+    getter autocapitalize
+    getter autocomplete
+    getter autofocus
+    getter capture
+    getter checked
+    getter defaultChecked
+    getter defaultValue
+    getter dirName
+    getter disabled
+    getter files
+    getter form
+    getter formAction
+    getter formEnctype
+    getter formMethod
+    getter formNoValidate
+    getter formTarget
+    getter height
+    getter incremental
+    getter indeterminate
+    getter labels
+    getter list
+    getter max
+    getter maxLength
+    getter min
+    getter minLength
+    getter multiple
+    getter name
+    getter pattern
+    getter placeholder
+    getter readOnly
+    getter required
+    getter selectionDirection
+    getter selectionEnd
+    getter selectionStart
+    getter size
+    getter src
+    getter step
+    getter type
+    getter useMap
+    getter validationMessage
+    getter validity
+    getter value
+    getter valueAsDate
+    getter valueAsNumber
+    getter webkitdirectory
+    getter width
+    getter willValidate
+    method checkValidity
+    method constructor
+    method reportValidity
+    method select
+    method setCustomValidity
+    method setRangeText
+    method setSelectionRange
+    method stepDown
+    method stepUp
+    setter accept
+    setter align
+    setter alt
+    setter autocapitalize
+    setter autocomplete
+    setter autofocus
+    setter capture
+    setter checked
+    setter defaultChecked
+    setter defaultValue
+    setter dirName
+    setter disabled
+    setter files
+    setter formAction
+    setter formEnctype
+    setter formMethod
+    setter formNoValidate
+    setter formTarget
+    setter height
+    setter incremental
+    setter indeterminate
+    setter max
+    setter maxLength
+    setter min
+    setter minLength
+    setter multiple
+    setter name
+    setter pattern
+    setter placeholder
+    setter readOnly
+    setter required
+    setter selectionDirection
+    setter selectionEnd
+    setter selectionStart
+    setter size
+    setter src
+    setter step
+    setter type
+    setter useMap
+    setter value
+    setter valueAsDate
+    setter valueAsNumber
+    setter webkitdirectory
+    setter width
+interface HTMLKeygenElement
+    getter autofocus
+    getter challenge
+    getter disabled
+    getter form
+    getter keytype
+    getter labels
+    getter name
+    getter type
+    getter validationMessage
+    getter validity
+    getter willValidate
+    method checkValidity
+    method constructor
+    method reportValidity
+    method setCustomValidity
+    setter autofocus
+    setter challenge
+    setter disabled
+    setter keytype
+    setter name
+interface HTMLLIElement
+    getter type
+    getter value
+    method constructor
+    setter type
+    setter value
+interface HTMLLabelElement
+    getter control
+    getter form
+    getter htmlFor
+    method constructor
+    setter htmlFor
+interface HTMLLegendElement
+    getter align
+    getter form
+    method constructor
+    setter align
+interface HTMLLinkElement
+    getter charset
+    getter crossOrigin
+    getter disabled
+    getter href
+    getter hreflang
+    getter import
+    getter integrity
+    getter media
+    getter rel
+    getter rev
+    getter sheet
+    getter sizes
+    getter target
+    getter type
+    method constructor
+    setter charset
+    setter crossOrigin
+    setter disabled
+    setter href
+    setter hreflang
+    setter integrity
+    setter media
+    setter rel
+    setter rev
+    setter sizes
+    setter target
+    setter type
+interface HTMLMapElement
+    getter areas
+    getter name
+    method constructor
+    setter name
+interface HTMLMarqueeElement
+    getter behavior
+    getter bgColor
+    getter direction
+    getter height
+    getter hspace
+    getter loop
+    getter scrollAmount
+    getter scrollDelay
+    getter trueSpeed
+    getter vspace
+    getter width
+    method constructor
+    method start
+    method stop
+    setter behavior
+    setter bgColor
+    setter direction
+    setter height
+    setter hspace
+    setter loop
+    setter scrollAmount
+    setter scrollDelay
+    setter trueSpeed
+    setter vspace
+    setter width
+interface HTMLMediaElement
+    attribute HAVE_CURRENT_DATA
+    attribute HAVE_ENOUGH_DATA
+    attribute HAVE_FUTURE_DATA
+    attribute HAVE_METADATA
+    attribute HAVE_NOTHING
+    attribute NETWORK_EMPTY
+    attribute NETWORK_IDLE
+    attribute NETWORK_LOADING
+    attribute NETWORK_NO_SOURCE
+    getter autoplay
+    getter buffered
+    getter controls
+    getter crossOrigin
+    getter currentSrc
+    getter currentTime
+    getter defaultMuted
+    getter defaultPlaybackRate
+    getter duration
+    getter ended
+    getter error
+    getter loop
+    getter mediaKeys
+    getter muted
+    getter networkState
+    getter onencrypted
+    getter onwebkitkeyadded
+    getter onwebkitkeyerror
+    getter onwebkitkeymessage
+    getter onwebkitneedkey
+    getter paused
+    getter playbackRate
+    getter played
+    getter preload
+    getter readyState
+    getter seekable
+    getter seeking
+    getter src
+    getter textTracks
+    getter volume
+    getter webkitAudioDecodedByteCount
+    getter webkitVideoDecodedByteCount
+    method addTextTrack
+    method canPlayType
+    method constructor
+    method load
+    method pause
+    method play
+    method setMediaKeys
+    method webkitAddKey
+    method webkitCancelKeyRequest
+    method webkitGenerateKeyRequest
+    setter autoplay
+    setter controls
+    setter crossOrigin
+    setter currentTime
+    setter defaultMuted
+    setter defaultPlaybackRate
+    setter loop
+    setter muted
+    setter onencrypted
+    setter onwebkitkeyadded
+    setter onwebkitkeyerror
+    setter onwebkitkeymessage
+    setter onwebkitneedkey
+    setter playbackRate
+    setter preload
+    setter src
+    setter volume
+interface HTMLMenuElement
+    getter compact
+    method constructor
+    setter compact
+interface HTMLMetaElement
+    getter content
+    getter httpEquiv
+    getter name
+    getter scheme
+    method constructor
+    setter content
+    setter httpEquiv
+    setter name
+    setter scheme
+interface HTMLMeterElement
+    getter high
+    getter labels
+    getter low
+    getter max
+    getter min
+    getter optimum
+    getter value
+    method constructor
+    setter high
+    setter low
+    setter max
+    setter min
+    setter optimum
+    setter value
+interface HTMLModElement
+    getter cite
+    getter dateTime
+    method constructor
+    setter cite
+    setter dateTime
+interface HTMLOListElement
+    getter compact
+    getter reversed
+    getter start
+    getter type
+    method constructor
+    setter compact
+    setter reversed
+    setter start
+    setter type
+interface HTMLObjectElement
+    method checkValidity
+    method constructor
+    method getSVGDocument
+    method reportValidity
+    method setCustomValidity
+interface HTMLOptGroupElement
+    getter disabled
+    getter label
+    method constructor
+    setter disabled
+    setter label
+interface HTMLOptionElement
+    getter defaultSelected
+    getter disabled
+    getter form
+    getter index
+    getter label
+    getter selected
+    getter text
+    getter value
+    method constructor
+    setter defaultSelected
+    setter disabled
+    setter label
+    setter selected
+    setter text
+    setter value
+interface HTMLOptionsCollection
+    getter length
+    getter selectedIndex
+    method add
+    method constructor
+    method namedItem
+    method remove
+    setter length
+    setter selectedIndex
+interface HTMLOutputElement
+    getter defaultValue
+    getter form
+    getter htmlFor
+    getter labels
+    getter name
+    getter type
+    getter validationMessage
+    getter validity
+    getter value
+    getter willValidate
+    method checkValidity
+    method constructor
+    method reportValidity
+    method setCustomValidity
+    setter defaultValue
+    setter htmlFor
+    setter name
+    setter value
+interface HTMLParagraphElement
+    getter align
+    method constructor
+    setter align
+interface HTMLParamElement
+    getter name
+    getter type
+    getter value
+    getter valueType
+    method constructor
+    setter name
+    setter type
+    setter value
+    setter valueType
+interface HTMLPictureElement
+    method constructor
+interface HTMLPreElement
+    getter width
+    method constructor
+    setter width
+interface HTMLProgressElement
+    getter labels
+    getter max
+    getter position
+    getter value
+    method constructor
+    setter max
+    setter value
+interface HTMLQuoteElement
+    getter cite
+    method constructor
+    setter cite
+interface HTMLScriptElement
+    getter async
+    getter charset
+    getter crossOrigin
+    getter defer
+    getter event
+    getter htmlFor
+    getter integrity
+    getter src
+    getter text
+    getter type
+    method constructor
+    setter async
+    setter charset
+    setter crossOrigin
+    setter defer
+    setter event
+    setter htmlFor
+    setter integrity
+    setter src
+    setter text
+    setter type
+interface HTMLSelectElement
+    getter autofocus
+    getter disabled
+    getter form
+    getter labels
+    getter length
+    getter multiple
+    getter name
+    getter options
+    getter required
+    getter selectedIndex
+    getter selectedOptions
+    getter size
+    getter type
+    getter validationMessage
+    getter validity
+    getter value
+    getter willValidate
+    method add
+    method checkValidity
+    method constructor
+    method item
+    method namedItem
+    method remove
+    method reportValidity
+    method setCustomValidity
+    setter autofocus
+    setter disabled
+    setter length
+    setter multiple
+    setter name
+    setter required
+    setter selectedIndex
+    setter size
+    setter value
+interface HTMLShadowElement
+    method constructor
+    method getDistributedNodes
+interface HTMLSourceElement
+    getter media
+    getter sizes
+    getter src
+    getter srcset
+    getter type
+    method constructor
+    setter media
+    setter sizes
+    setter src
+    setter srcset
+    setter type
+interface HTMLSpanElement
+    method constructor
+interface HTMLStyleElement
+    getter disabled
+    getter media
+    getter sheet
+    getter type
+    method constructor
+    setter disabled
+    setter media
+    setter type
+interface HTMLTableCaptionElement
+    getter align
+    method constructor
+    setter align
+interface HTMLTableCellElement
+    getter abbr
+    getter align
+    getter axis
+    getter bgColor
+    getter cellIndex
+    getter ch
+    getter chOff
+    getter colSpan
+    getter headers
+    getter height
+    getter noWrap
+    getter rowSpan
+    getter scope
+    getter vAlign
+    getter width
+    method constructor
+    setter abbr
+    setter align
+    setter axis
+    setter bgColor
+    setter ch
+    setter chOff
+    setter colSpan
+    setter headers
+    setter height
+    setter noWrap
+    setter rowSpan
+    setter scope
+    setter vAlign
+    setter width
+interface HTMLTableColElement
+    getter align
+    getter ch
+    getter chOff
+    getter span
+    getter vAlign
+    getter width
+    method constructor
+    setter align
+    setter ch
+    setter chOff
+    setter span
+    setter vAlign
+    setter width
+interface HTMLTableElement
+    getter align
+    getter bgColor
+    getter border
+    getter caption
+    getter cellPadding
+    getter cellSpacing
+    getter frame
+    getter rows
+    getter rules
+    getter summary
+    getter tBodies
+    getter tFoot
+    getter tHead
+    getter width
+    method constructor
+    method createCaption
+    method createTBody
+    method createTFoot
+    method createTHead
+    method deleteCaption
+    method deleteRow
+    method deleteTFoot
+    method deleteTHead
+    method insertRow
+    setter align
+    setter bgColor
+    setter border
+    setter caption
+    setter cellPadding
+    setter cellSpacing
+    setter frame
+    setter rules
+    setter summary
+    setter tFoot
+    setter tHead
+    setter width
+interface HTMLTableRowElement
+    getter align
+    getter bgColor
+    getter cells
+    getter ch
+    getter chOff
+    getter rowIndex
+    getter sectionRowIndex
+    getter vAlign
+    method constructor
+    method deleteCell
+    method insertCell
+    setter align
+    setter bgColor
+    setter ch
+    setter chOff
+    setter vAlign
+interface HTMLTableSectionElement
+    getter align
+    getter ch
+    getter chOff
+    getter rows
+    getter vAlign
+    method constructor
+    method deleteRow
+    method insertRow
+    setter align
+    setter ch
+    setter chOff
+    setter vAlign
+interface HTMLTemplateElement
+    getter content
+    method constructor
+interface HTMLTextAreaElement
+    getter autocapitalize
+    getter autofocus
+    getter cols
+    getter defaultValue
+    getter dirName
+    getter disabled
+    getter form
+    getter labels
+    getter maxLength
+    getter minLength
+    getter name
+    getter placeholder
+    getter readOnly
+    getter required
+    getter rows
+    getter selectionDirection
+    getter selectionEnd
+    getter selectionStart
+    getter textLength
+    getter type
+    getter validationMessage
+    getter validity
+    getter value
+    getter willValidate
+    getter wrap
+    method checkValidity
+    method constructor
+    method reportValidity
+    method select
+    method setCustomValidity
+    method setRangeText
+    method setSelectionRange
+    setter autocapitalize
+    setter autofocus
+    setter cols
+    setter defaultValue
+    setter dirName
+    setter disabled
+    setter maxLength
+    setter minLength
+    setter name
+    setter placeholder
+    setter readOnly
+    setter required
+    setter rows
+    setter selectionDirection
+    setter selectionEnd
+    setter selectionStart
+    setter value
+    setter wrap
+interface HTMLTitleElement
+    getter text
+    method constructor
+    setter text
+interface HTMLTrackElement
+    attribute ERROR
+    attribute LOADED
+    attribute LOADING
+    attribute NONE
+    getter default
+    getter kind
+    getter label
+    getter readyState
+    getter src
+    getter srclang
+    getter track
+    method constructor
+    setter default
+    setter kind
+    setter label
+    setter src
+    setter srclang
+interface HTMLUListElement
+    getter compact
+    getter type
+    method constructor
+    setter compact
+    setter type
+interface HTMLUnknownElement
+    method constructor
+interface HTMLVideoElement
+    getter height
+    getter poster
+    getter videoHeight
+    getter videoWidth
+    getter webkitDecodedFrameCount
+    getter webkitDisplayingFullscreen
+    getter webkitDroppedFrameCount
+    getter webkitSupportsFullscreen
+    getter width
+    method constructor
+    method webkitEnterFullScreen
+    method webkitEnterFullscreen
+    method webkitExitFullScreen
+    method webkitExitFullscreen
+    setter height
+    setter poster
+    setter width
+interface HashChangeEvent
+    getter newURL
+    getter oldURL
+    method constructor
+    method initHashChangeEvent
+interface Headers
+    method append
+    method constructor
+    method delete
+    method entries
+    method forEach
+    method get
+    method getAll
+    method has
+    method keys
+    method set
+    method values
+interface History
+    getter length
+    getter state
+    method back
+    method constructor
+    method forward
+    method go
+    method pushState
+    method replaceState
+interface IDBCursor
+    getter direction
+    getter key
+    getter primaryKey
+    getter source
+    method advance
+    method constructor
+    method continue
+    method delete
+    method update
+interface IDBCursorWithValue
+    getter value
+    method constructor
+interface IDBDatabase
+    getter name
+    getter objectStoreNames
+    getter onabort
+    getter onclose
+    getter onerror
+    getter onversionchange
+    getter version
+    method close
+    method constructor
+    method createObjectStore
+    method deleteObjectStore
+    method transaction
+    setter onabort
+    setter onclose
+    setter onerror
+    setter onversionchange
+interface IDBFactory
+    method cmp
+    method constructor
+    method deleteDatabase
+    method open
+    method webkitGetDatabaseNames
+interface IDBIndex
+    getter keyPath
+    getter multiEntry
+    getter name
+    getter objectStore
+    getter unique
+    method constructor
+    method count
+    method get
+    method getKey
+    method openCursor
+    method openKeyCursor
+interface IDBKeyRange
+    getter lower
+    getter lowerOpen
+    getter upper
+    getter upperOpen
+    method constructor
+interface IDBObjectStore
+    getter autoIncrement
+    getter indexNames
+    getter keyPath
+    getter name
+    getter transaction
+    method add
+    method clear
+    method constructor
+    method count
+    method createIndex
+    method delete
+    method deleteIndex
+    method get
+    method index
+    method openCursor
+    method put
+interface IDBOpenDBRequest
+    getter onblocked
+    getter onupgradeneeded
+    method constructor
+    setter onblocked
+    setter onupgradeneeded
+interface IDBRequest
+    getter error
+    getter onerror
+    getter onsuccess
+    getter readyState
+    getter result
+    getter source
+    getter transaction
+    method constructor
+    setter onerror
+    setter onsuccess
+interface IDBTransaction
+    getter db
+    getter error
+    getter mode
+    getter onabort
+    getter oncomplete
+    getter onerror
+    method abort
+    method constructor
+    method objectStore
+    setter onabort
+    setter oncomplete
+    setter onerror
+interface IDBVersionChangeEvent
+    getter dataLoss
+    getter dataLossMessage
+    getter newVersion
+    getter oldVersion
+    method constructor
+interface Image
+    method constructor
+interface ImageBitmap
+    getter height
+    getter width
+    method constructor
+interface ImageData
+    getter height
+    getter width
+    method constructor
+interface KeyboardEvent
+    attribute DOM_KEY_LOCATION_LEFT
+    attribute DOM_KEY_LOCATION_NUMPAD
+    attribute DOM_KEY_LOCATION_RIGHT
+    attribute DOM_KEY_LOCATION_STANDARD
+    getter altKey
+    getter charCode
+    getter ctrlKey
+    getter keyCode
+    getter keyIdentifier
+    getter keyLocation
+    getter location
+    getter metaKey
+    getter repeat
+    getter shiftKey
+    getter which
+    method constructor
+    method getModifierState
+    method initKeyboardEvent
+interface Location
+    method constructor
+interface MIDIAccess
+    getter inputs
+    getter onstatechange
+    getter outputs
+    getter sysexEnabled
+    method constructor
+    setter onstatechange
+interface MIDIConnectionEvent
+    getter port
+    method constructor
+interface MIDIInput
+    getter onmidimessage
+    method constructor
+    setter onmidimessage
+interface MIDIInputMap
+    getter size
+    method constructor
+    method entries
+    method forEach
+    method get
+    method has
+    method keys
+    method values
+interface MIDIMessageEvent
+    getter data
+    getter receivedTime
+    method constructor
+interface MIDIOutput
+    method constructor
+    method send
+interface MIDIOutputMap
+    getter size
+    method constructor
+    method entries
+    method forEach
+    method get
+    method has
+    method keys
+    method values
+interface MIDIPort
+    getter connection
+    getter id
+    getter manufacturer
+    getter name
+    getter onstatechange
+    getter state
+    getter type
+    getter version
+    method close
+    method constructor
+    method open
+    setter onstatechange
+interface MediaDevices
+    method constructor
+    method enumerateDevices
+    method getUserMedia
+interface MediaElementAudioSourceNode
+    getter mediaElement
+    method constructor
+interface MediaEncryptedEvent
+    getter initData
+    getter initDataType
+    method constructor
+interface MediaError
+    attribute MEDIA_ERR_ABORTED
+    attribute MEDIA_ERR_DECODE
+    attribute MEDIA_ERR_NETWORK
+    attribute MEDIA_ERR_SRC_NOT_SUPPORTED
+    getter code
+    method constructor
+interface MediaKeyError
+    attribute MEDIA_KEYERR_CLIENT
+    attribute MEDIA_KEYERR_DOMAIN
+    attribute MEDIA_KEYERR_HARDWARECHANGE
+    attribute MEDIA_KEYERR_OUTPUT
+    attribute MEDIA_KEYERR_SERVICE
+    attribute MEDIA_KEYERR_UNKNOWN
+    getter code
+    getter systemCode
+    method constructor
+interface MediaKeyEvent
+    getter defaultURL
+    getter errorCode
+    getter initData
+    getter keySystem
+    getter message
+    getter sessionId
+    getter systemCode
+    method constructor
+interface MediaKeyMessageEvent
+    getter message
+    getter messageType
+    method constructor
+interface MediaKeySession
+    getter closed
+    getter expiration
+    getter keyStatuses
+    getter sessionId
+    method close
+    method constructor
+    method generateRequest
+    method load
+    method remove
+    method update
+interface MediaKeyStatusMap
+    getter size
+    method constructor
+    method entries
+    method forEach
+    method get
+    method has
+    method keys
+    method values
+interface MediaKeySystemAccess
+    getter keySystem
+    method constructor
+    method createMediaKeys
+    method getConfiguration
+interface MediaKeys
+    method constructor
+    method createSession
+    method setServerCertificate
+interface MediaList
+    getter length
+    getter mediaText
+    method appendMedium
+    method constructor
+    method deleteMedium
+    method item
+    setter mediaText
+interface MediaQueryList
+    getter matches
+    getter media
+    getter onchange
+    method addListener
+    method constructor
+    method removeListener
+    setter onchange
+interface MediaQueryListEvent
+    getter matches
+    getter media
+    method constructor
+interface MediaSource
+    getter activeSourceBuffers
+    getter duration
+    getter readyState
+    getter sourceBuffers
+    method addSourceBuffer
+    method constructor
+    method endOfStream
+    method removeSourceBuffer
+    setter duration
+interface MediaStreamAudioDestinationNode
+    getter stream
+    method constructor
+interface MediaStreamAudioSourceNode
+    getter mediaStream
+    method constructor
+interface MediaStreamEvent
+    getter stream
+    method constructor
+interface MediaStreamTrack
+    getter enabled
+    getter id
+    getter kind
+    getter label
+    getter muted
+    getter onended
+    getter onmute
+    getter onunmute
+    getter readyState
+    method clone
+    method constructor
+    method stop
+    setter enabled
+    setter onended
+    setter onmute
+    setter onunmute
+interface MessageChannel
+    getter port1
+    getter port2
+    method constructor
+interface MessageEvent
+    getter data
+    getter lastEventId
+    getter origin
+    getter ports
+    getter source
+    method constructor
+    method initMessageEvent
+interface MessagePort
+    getter onmessage
+    method close
+    method constructor
+    method postMessage
+    method start
+    setter onmessage
+interface MimeType
+    getter description
+    getter enabledPlugin
+    getter suffixes
+    getter type
+    method constructor
+interface MimeTypeArray
+    getter length
+    method constructor
+    method item
+    method namedItem
+interface MouseEvent
+    getter altKey
+    getter button
+    getter buttons
+    getter clientX
+    getter clientY
+    getter ctrlKey
+    getter dataTransfer
+    getter fromElement
+    getter layerX
+    getter layerY
+    getter metaKey
+    getter movementX
+    getter movementY
+    getter offsetX
+    getter offsetY
+    getter pageX
+    getter pageY
+    getter relatedTarget
+    getter screenX
+    getter screenY
+    getter shiftKey
+    getter toElement
+    getter webkitMovementX
+    getter webkitMovementY
+    getter which
+    getter x
+    getter y
+    method constructor
+    method initMouseEvent
+interface MutationEvent
+    attribute ADDITION
+    attribute MODIFICATION
+    attribute REMOVAL
+    getter attrChange
+    getter attrName
+    getter newValue
+    getter prevValue
+    getter relatedNode
+    method constructor
+    method initMutationEvent
+interface MutationObserver
+    method constructor
+    method disconnect
+    method observe
+    method takeRecords
+interface MutationRecord
+    getter addedNodes
+    getter attributeName
+    getter attributeNamespace
+    getter nextSibling
+    getter oldValue
+    getter previousSibling
+    getter removedNodes
+    getter target
+    getter type
+    method constructor
+interface NamedNodeMap
+    getter length
+    method constructor
+    method getNamedItem
+    method getNamedItemNS
+    method item
+    method removeNamedItem
+    method removeNamedItemNS
+    method setNamedItem
+    method setNamedItemNS
+interface Navigator
+    getter appCodeName
+    getter appName
+    getter appVersion
+    getter connection
+    getter cookieEnabled
+    getter doNotTrack
+    getter geolocation
+    getter hardwareConcurrency
+    getter language
+    getter languages
+    getter maxTouchPoints
+    getter mediaDevices
+    getter mimeTypes
+    getter onLine
+    getter platform
+    getter plugins
+    getter product
+    getter productSub
+    getter serviceWorker
+    getter userAgent
+    getter vendor
+    getter vendorSub
+    getter webkitPersistentStorage
+    getter webkitTemporaryStorage
+    method constructor
+    method getBattery
+    method getGamepads
+    method getStorageUpdates
+    method javaEnabled
+    method requestMIDIAccess
+    method requestMediaKeySystemAccess
+    method sendBeacon
+    method vibrate
+    method webkitGetUserMedia
+interface NetworkInformation
+    getter ontypechange
+    getter type
+    method constructor
+    setter ontypechange
+interface Node
+    attribute ATTRIBUTE_NODE
+    attribute CDATA_SECTION_NODE
+    attribute COMMENT_NODE
+    attribute DOCUMENT_FRAGMENT_NODE
+    attribute DOCUMENT_NODE
+    attribute DOCUMENT_POSITION_CONTAINED_BY
+    attribute DOCUMENT_POSITION_CONTAINS
+    attribute DOCUMENT_POSITION_DISCONNECTED
+    attribute DOCUMENT_POSITION_FOLLOWING
+    attribute DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
+    attribute DOCUMENT_POSITION_PRECEDING
+    attribute DOCUMENT_TYPE_NODE
+    attribute ELEMENT_NODE
+    attribute ENTITY_NODE
+    attribute ENTITY_REFERENCE_NODE
+    attribute NOTATION_NODE
+    attribute PROCESSING_INSTRUCTION_NODE
+    attribute TEXT_NODE
+    getter baseURI
+    getter childNodes
+    getter firstChild
+    getter lastChild
+    getter localName
+    getter namespaceURI
+    getter nextSibling
+    getter nodeName
+    getter nodeType
+    getter nodeValue
+    getter ownerDocument
+    getter parentElement
+    getter parentNode
+    getter previousSibling
+    getter textContent
+    method appendChild
+    method cloneNode
+    method compareDocumentPosition
+    method constructor
+    method contains
+    method hasChildNodes
+    method insertBefore
+    method isDefaultNamespace
+    method isEqualNode
+    method isSameNode
+    method lookupNamespaceURI
+    method lookupPrefix
+    method normalize
+    method removeChild
+    method replaceChild
+    setter nodeValue
+    setter textContent
+interface NodeFilter
+    attribute FILTER_ACCEPT
+    attribute FILTER_REJECT
+    attribute FILTER_SKIP
+    attribute SHOW_ALL
+    attribute SHOW_ATTRIBUTE
+    attribute SHOW_CDATA_SECTION
+    attribute SHOW_COMMENT
+    attribute SHOW_DOCUMENT
+    attribute SHOW_DOCUMENT_FRAGMENT
+    attribute SHOW_DOCUMENT_TYPE
+    attribute SHOW_ELEMENT
+    attribute SHOW_ENTITY
+    attribute SHOW_ENTITY_REFERENCE
+    attribute SHOW_NOTATION
+    attribute SHOW_PROCESSING_INSTRUCTION
+    attribute SHOW_TEXT
+    method acceptNode
+    method constructor
+interface NodeIterator
+    getter filter
+    getter pointerBeforeReferenceNode
+    getter referenceNode
+    getter root
+    getter whatToShow
+    method constructor
+    method detach
+    method nextNode
+    method previousNode
+interface NodeList
+    getter length
+    method constructor
+    method item
+interface OfflineAudioCompletionEvent
+    getter renderedBuffer
+    method constructor
+interface OfflineAudioContext
+    getter oncomplete
+    method constructor
+    method startRendering
+    setter oncomplete
+interface Option
+    method constructor
+interface OscillatorNode
+    getter detune
+    getter frequency
+    getter onended
+    getter type
+    method constructor
+    method setPeriodicWave
+    method start
+    method stop
+    setter onended
+    setter type
+interface PageTransitionEvent
+    getter persisted
+    method constructor
+interface Path2D
+    method arc
+    method arcTo
+    method bezierCurveTo
+    method closePath
+    method constructor
+    method ellipse
+    method lineTo
+    method moveTo
+    method quadraticCurveTo
+    method rect
+interface Performance
+    getter memory
+    getter navigation
+    getter onwebkitresourcetimingbufferfull
+    getter timing
+    method clearMarks
+    method clearMeasures
+    method constructor
+    method getEntries
+    method getEntriesByName
+    method getEntriesByType
+    method mark
+    method measure
+    method now
+    method webkitClearResourceTimings
+    method webkitSetResourceTimingBufferSize
+    setter onwebkitresourcetimingbufferfull
+interface PerformanceEntry
+    getter duration
+    getter entryType
+    getter name
+    getter startTime
+    method constructor
+    method toJSON
+interface PerformanceMark
+    method constructor
+interface PerformanceMeasure
+    method constructor
+interface PerformanceNavigation
+    attribute TYPE_BACK_FORWARD
+    attribute TYPE_NAVIGATE
+    attribute TYPE_RELOAD
+    attribute TYPE_RESERVED
+    getter redirectCount
+    getter type
+    method constructor
+interface PerformanceResourceTiming
+    getter connectEnd
+    getter connectStart
+    getter domainLookupEnd
+    getter domainLookupStart
+    getter fetchStart
+    getter initiatorType
+    getter redirectEnd
+    getter redirectStart
+    getter requestStart
+    getter responseEnd
+    getter responseStart
+    getter secureConnectionStart
+    getter workerStart
+    method constructor
+interface PerformanceTiming
+    getter connectEnd
+    getter connectStart
+    getter domComplete
+    getter domContentLoadedEventEnd
+    getter domContentLoadedEventStart
+    getter domInteractive
+    getter domLoading
+    getter domainLookupEnd
+    getter domainLookupStart
+    getter fetchStart
+    getter loadEventEnd
+    getter loadEventStart
+    getter navigationStart
+    getter redirectEnd
+    getter redirectStart
+    getter requestStart
+    getter responseEnd
+    getter responseStart
+    getter secureConnectionStart
+    getter unloadEventEnd
+    getter unloadEventStart
+    method constructor
+    method toJSON
+interface PeriodicWave
+    method constructor
+interface Plugin
+    getter description
+    getter filename
+    getter length
+    getter name
+    method constructor
+    method item
+    method namedItem
+interface PluginArray
+    getter length
+    method constructor
+    method item
+    method namedItem
+    method refresh
+interface PopStateEvent
+    getter state
+    method constructor
+interface ProcessingInstruction
+    getter sheet
+    getter target
+    method constructor
+interface ProgressEvent
+    getter lengthComputable
+    getter loaded
+    getter total
+    method constructor
+interface RTCIceCandidate
+    getter candidate
+    getter sdpMLineIndex
+    getter sdpMid
+    method constructor
+    method toJSON
+    setter candidate
+    setter sdpMLineIndex
+    setter sdpMid
+interface RTCSessionDescription
+    getter sdp
+    getter type
+    method constructor
+    method toJSON
+    setter sdp
+    setter type
+interface RadioNodeList
+    getter value
+    method constructor
+    setter value
+interface Range
+    attribute END_TO_END
+    attribute END_TO_START
+    attribute START_TO_END
+    attribute START_TO_START
+    getter collapsed
+    getter commonAncestorContainer
+    getter endContainer
+    getter endOffset
+    getter startContainer
+    getter startOffset
+    method cloneContents
+    method cloneRange
+    method collapse
+    method compareBoundaryPoints
+    method comparePoint
+    method constructor
+    method createContextualFragment
+    method deleteContents
+    method detach
+    method expand
+    method extractContents
+    method getBoundingClientRect
+    method getClientRects
+    method insertNode
+    method intersectsNode
+    method isPointInRange
+    method selectNode
+    method selectNodeContents
+    method setEnd
+    method setEndAfter
+    method setEndBefore
+    method setStart
+    method setStartAfter
+    method setStartBefore
+    method surroundContents
+    method toString
+interface ReadableByteStream
+    method cancel
+    method constructor
+    method getReader
+interface ReadableStream
+    method cancel
+    method constructor
+    method getReader
+interface Request
+    getter bodyUsed
+    getter context
+    getter credentials
+    getter headers
+    getter method
+    getter mode
+    getter referrer
+    getter url
+    method arrayBuffer
+    method blob
+    method clone
+    method constructor
+    method json
+    method text
+interface Response
+    getter body
+    getter bodyUsed
+    getter headers
+    getter ok
+    getter status
+    getter statusText
+    getter type
+    getter url
+    method arrayBuffer
+    method blob
+    method clone
+    method constructor
+    method json
+    method text
+interface SVGAElement
+    getter href
+    getter target
+    method constructor
+interface SVGAngle
+    attribute SVG_ANGLETYPE_DEG
+    attribute SVG_ANGLETYPE_GRAD
+    attribute SVG_ANGLETYPE_RAD
+    attribute SVG_ANGLETYPE_UNKNOWN
+    attribute SVG_ANGLETYPE_UNSPECIFIED
+    getter unitType
+    getter value
+    getter valueAsString
+    getter valueInSpecifiedUnits
+    method constructor
+    method convertToSpecifiedUnits
+    method newValueSpecifiedUnits
+    setter value
+    setter valueAsString
+    setter valueInSpecifiedUnits
+interface SVGAnimateElement
+    method constructor
+interface SVGAnimateMotionElement
+    method constructor
+interface SVGAnimateTransformElement
+    method constructor
+interface SVGAnimatedAngle
+    getter animVal
+    getter baseVal
+    method constructor
+interface SVGAnimatedBoolean
+    getter animVal
+    getter baseVal
+    method constructor
+    setter baseVal
+interface SVGAnimatedEnumeration
+    getter animVal
+    getter baseVal
+    method constructor
+    setter baseVal
+interface SVGAnimatedInteger
+    getter animVal
+    getter baseVal
+    method constructor
+    setter baseVal
+interface SVGAnimatedLength
+    getter animVal
+    getter baseVal
+    method constructor
+interface SVGAnimatedLengthList
+    getter animVal
+    getter baseVal
+    method constructor
+interface SVGAnimatedNumber
+    getter animVal
+    getter baseVal
+    method constructor
+    setter baseVal
+interface SVGAnimatedNumberList
+    getter animVal
+    getter baseVal
+    method constructor
+interface SVGAnimatedPreserveAspectRatio
+    getter animVal
+    getter baseVal
+    method constructor
+interface SVGAnimatedRect
+    getter animVal
+    getter baseVal
+    method constructor
+interface SVGAnimatedString
+    getter animVal
+    getter baseVal
+    method constructor
+    setter baseVal
+interface SVGAnimatedTransformList
+    getter animVal
+    getter baseVal
+    method constructor
+interface SVGAnimationElement
+    getter onbegin
+    getter onend
+    getter onrepeat
+    getter requiredExtensions
+    getter requiredFeatures
+    getter systemLanguage
+    getter targetElement
+    method beginElement
+    method beginElementAt
+    method constructor
+    method endElement
+    method endElementAt
+    method getCurrentTime
+    method getSimpleDuration
+    method getStartTime
+    method hasExtension
+    setter onbegin
+    setter onend
+    setter onrepeat
+interface SVGCircleElement
+    getter cx
+    getter cy
+    getter r
+    method constructor
+interface SVGClipPathElement
+    getter clipPathUnits
+    method constructor
+interface SVGComponentTransferFunctionElement
+    attribute SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE
+    attribute SVG_FECOMPONENTTRANSFER_TYPE_GAMMA
+    attribute SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY
+    attribute SVG_FECOMPONENTTRANSFER_TYPE_LINEAR
+    attribute SVG_FECOMPONENTTRANSFER_TYPE_TABLE
+    attribute SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN
+    getter amplitude
+    getter exponent
+    getter intercept
+    getter offset
+    getter slope
+    getter tableValues
+    getter type
+    method constructor
+interface SVGCursorElement
+    getter href
+    getter requiredExtensions
+    getter requiredFeatures
+    getter systemLanguage
+    getter x
+    getter y
+    method constructor
+    method hasExtension
+interface SVGDefsElement
+    method constructor
+interface SVGDescElement
+    method constructor
+interface SVGDiscardElement
+    method constructor
+interface SVGElement
+    getter className
+    getter onabort
+    getter onblur
+    getter oncancel
+    getter oncanplay
+    getter oncanplaythrough
+    getter onchange
+    getter onclick
+    getter onclose
+    getter oncontextmenu
+    getter oncuechange
+    getter ondblclick
+    getter ondrag
+    getter ondragend
+    getter ondragenter
+    getter ondragleave
+    getter ondragover
+    getter ondragstart
+    getter ondrop
+    getter ondurationchange
+    getter onemptied
+    getter onended
+    getter onerror
+    getter onfocus
+    getter oninput
+    getter oninvalid
+    getter onkeydown
+    getter onkeypress
+    getter onkeyup
+    getter onload
+    getter onloadeddata
+    getter onloadedmetadata
+    getter onloadstart
+    getter onmousedown
+    getter onmouseenter
+    getter onmouseleave
+    getter onmousemove
+    getter onmouseout
+    getter onmouseover
+    getter onmouseup
+    getter onmousewheel
+    getter onpause
+    getter onplay
+    getter onplaying
+    getter onpointercancel
+    getter onpointerdown
+    getter onpointerenter
+    getter onpointerleave
+    getter onpointermove
+    getter onpointerout
+    getter onpointerover
+    getter onpointerup
+    getter onprogress
+    getter onratechange
+    getter onreset
+    getter onresize
+    getter onscroll
+    getter onseeked
+    getter onseeking
+    getter onselect
+    getter onshow
+    getter onstalled
+    getter onsubmit
+    getter onsuspend
+    getter ontimeupdate
+    getter ontoggle
+    getter onvolumechange
+    getter onwaiting
+    getter ownerSVGElement
+    getter style
+    getter tabIndex
+    getter viewportElement
+    method blur
+    method constructor
+    method focus
+    setter onabort
+    setter onblur
+    setter oncancel
+    setter oncanplay
+    setter oncanplaythrough
+    setter onchange
+    setter onclick
+    setter onclose
+    setter oncontextmenu
+    setter oncuechange
+    setter ondblclick
+    setter ondrag
+    setter ondragend
+    setter ondragenter
+    setter ondragleave
+    setter ondragover
+    setter ondragstart
+    setter ondrop
+    setter ondurationchange
+    setter onemptied
+    setter onended
+    setter onerror
+    setter onfocus
+    setter oninput
+    setter oninvalid
+    setter onkeydown
+    setter onkeypress
+    setter onkeyup
+    setter onload
+    setter onloadeddata
+    setter onloadedmetadata
+    setter onloadstart
+    setter onmousedown
+    setter onmouseenter
+    setter onmouseleave
+    setter onmousemove
+    setter onmouseout
+    setter onmouseover
+    setter onmouseup
+    setter onmousewheel
+    setter onpause
+    setter onplay
+    setter onplaying
+    setter onpointercancel
+    setter onpointerdown
+    setter onpointerenter
+    setter onpointerleave
+    setter onpointermove
+    setter onpointerout
+    setter onpointerover
+    setter onpointerup
+    setter onprogress
+    setter onratechange
+    setter onreset
+    setter onresize
+    setter onscroll
+    setter onseeked
+    setter onseeking
+    setter onselect
+    setter onshow
+    setter onstalled
+    setter onsubmit
+    setter onsuspend
+    setter ontimeupdate
+    setter ontoggle
+    setter onvolumechange
+    setter onwaiting
+    setter tabIndex
+interface SVGEllipseElement
+    getter cx
+    getter cy
+    getter rx
+    getter ry
+    method constructor
+interface SVGFEBlendElement
+    attribute SVG_FEBLEND_MODE_DARKEN
+    attribute SVG_FEBLEND_MODE_LIGHTEN
+    attribute SVG_FEBLEND_MODE_MULTIPLY
+    attribute SVG_FEBLEND_MODE_NORMAL
+    attribute SVG_FEBLEND_MODE_SCREEN
+    attribute SVG_FEBLEND_MODE_UNKNOWN
+    getter height
+    getter in1
+    getter in2
+    getter mode
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEColorMatrixElement
+    attribute SVG_FECOLORMATRIX_TYPE_HUEROTATE
+    attribute SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA
+    attribute SVG_FECOLORMATRIX_TYPE_MATRIX
+    attribute SVG_FECOLORMATRIX_TYPE_SATURATE
+    attribute SVG_FECOLORMATRIX_TYPE_UNKNOWN
+    getter height
+    getter in1
+    getter result
+    getter type
+    getter values
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEComponentTransferElement
+    getter height
+    getter in1
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFECompositeElement
+    attribute SVG_FECOMPOSITE_OPERATOR_ARITHMETIC
+    attribute SVG_FECOMPOSITE_OPERATOR_ATOP
+    attribute SVG_FECOMPOSITE_OPERATOR_IN
+    attribute SVG_FECOMPOSITE_OPERATOR_OUT
+    attribute SVG_FECOMPOSITE_OPERATOR_OVER
+    attribute SVG_FECOMPOSITE_OPERATOR_UNKNOWN
+    attribute SVG_FECOMPOSITE_OPERATOR_XOR
+    getter height
+    getter in1
+    getter in2
+    getter k1
+    getter k2
+    getter k3
+    getter k4
+    getter operator
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEConvolveMatrixElement
+    attribute SVG_EDGEMODE_DUPLICATE
+    attribute SVG_EDGEMODE_NONE
+    attribute SVG_EDGEMODE_UNKNOWN
+    attribute SVG_EDGEMODE_WRAP
+    getter bias
+    getter divisor
+    getter edgeMode
+    getter height
+    getter in1
+    getter kernelMatrix
+    getter kernelUnitLengthX
+    getter kernelUnitLengthY
+    getter orderX
+    getter orderY
+    getter preserveAlpha
+    getter result
+    getter targetX
+    getter targetY
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEDiffuseLightingElement
+    getter diffuseConstant
+    getter height
+    getter in1
+    getter kernelUnitLengthX
+    getter kernelUnitLengthY
+    getter result
+    getter surfaceScale
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEDisplacementMapElement
+    attribute SVG_CHANNEL_A
+    attribute SVG_CHANNEL_B
+    attribute SVG_CHANNEL_G
+    attribute SVG_CHANNEL_R
+    attribute SVG_CHANNEL_UNKNOWN
+    getter height
+    getter in1
+    getter in2
+    getter result
+    getter scale
+    getter width
+    getter x
+    getter xChannelSelector
+    getter y
+    getter yChannelSelector
+    method constructor
+interface SVGFEDistantLightElement
+    getter azimuth
+    getter elevation
+    method constructor
+interface SVGFEDropShadowElement
+    getter dx
+    getter dy
+    getter height
+    getter in1
+    getter result
+    getter stdDeviationX
+    getter stdDeviationY
+    getter width
+    getter x
+    getter y
+    method constructor
+    method setStdDeviation
+interface SVGFEFloodElement
+    getter height
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEFuncAElement
+    method constructor
+interface SVGFEFuncBElement
+    method constructor
+interface SVGFEFuncGElement
+    method constructor
+interface SVGFEFuncRElement
+    method constructor
+interface SVGFEGaussianBlurElement
+    getter height
+    getter in1
+    getter result
+    getter stdDeviationX
+    getter stdDeviationY
+    getter width
+    getter x
+    getter y
+    method constructor
+    method setStdDeviation
+interface SVGFEImageElement
+    getter height
+    getter href
+    getter preserveAspectRatio
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEMergeElement
+    getter height
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEMergeNodeElement
+    getter in1
+    method constructor
+interface SVGFEMorphologyElement
+    attribute SVG_MORPHOLOGY_OPERATOR_DILATE
+    attribute SVG_MORPHOLOGY_OPERATOR_ERODE
+    attribute SVG_MORPHOLOGY_OPERATOR_UNKNOWN
+    getter height
+    getter in1
+    getter operator
+    getter radiusX
+    getter radiusY
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEOffsetElement
+    getter dx
+    getter dy
+    getter height
+    getter in1
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFEPointLightElement
+    getter x
+    getter y
+    getter z
+    method constructor
+interface SVGFESpecularLightingElement
+    getter height
+    getter in1
+    getter kernelUnitLengthX
+    getter kernelUnitLengthY
+    getter result
+    getter specularConstant
+    getter specularExponent
+    getter surfaceScale
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFESpotLightElement
+    getter limitingConeAngle
+    getter pointsAtX
+    getter pointsAtY
+    getter pointsAtZ
+    getter specularExponent
+    getter x
+    getter y
+    getter z
+    method constructor
+interface SVGFETileElement
+    getter height
+    getter in1
+    getter result
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFETurbulenceElement
+    attribute SVG_STITCHTYPE_NOSTITCH
+    attribute SVG_STITCHTYPE_STITCH
+    attribute SVG_STITCHTYPE_UNKNOWN
+    attribute SVG_TURBULENCE_TYPE_FRACTALNOISE
+    attribute SVG_TURBULENCE_TYPE_TURBULENCE
+    attribute SVG_TURBULENCE_TYPE_UNKNOWN
+    getter baseFrequencyX
+    getter baseFrequencyY
+    getter height
+    getter numOctaves
+    getter result
+    getter seed
+    getter stitchTiles
+    getter type
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGFilterElement
+    getter filterUnits
+    getter height
+    getter href
+    getter primitiveUnits
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGForeignObjectElement
+    getter height
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGGElement
+    method constructor
+interface SVGGeometryElement
+    method constructor
+    method isPointInFill
+    method isPointInStroke
+interface SVGGradientElement
+    attribute SVG_SPREADMETHOD_PAD
+    attribute SVG_SPREADMETHOD_REFLECT
+    attribute SVG_SPREADMETHOD_REPEAT
+    attribute SVG_SPREADMETHOD_UNKNOWN
+    getter gradientTransform
+    getter gradientUnits
+    getter href
+    getter spreadMethod
+    method constructor
+interface SVGGraphicsElement
+    getter farthestViewportElement
+    getter nearestViewportElement
+    getter requiredExtensions
+    getter requiredFeatures
+    getter systemLanguage
+    getter transform
+    method constructor
+    method getBBox
+    method getCTM
+    method getScreenCTM
+    method getTransformToElement
+    method hasExtension
+interface SVGImageElement
+    getter height
+    getter href
+    getter preserveAspectRatio
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGLength
+    attribute SVG_LENGTHTYPE_CM
+    attribute SVG_LENGTHTYPE_EMS
+    attribute SVG_LENGTHTYPE_EXS
+    attribute SVG_LENGTHTYPE_IN
+    attribute SVG_LENGTHTYPE_MM
+    attribute SVG_LENGTHTYPE_NUMBER
+    attribute SVG_LENGTHTYPE_PC
+    attribute SVG_LENGTHTYPE_PERCENTAGE
+    attribute SVG_LENGTHTYPE_PT
+    attribute SVG_LENGTHTYPE_PX
+    attribute SVG_LENGTHTYPE_UNKNOWN
+    getter unitType
+    getter value
+    getter valueAsString
+    getter valueInSpecifiedUnits
+    method constructor
+    method convertToSpecifiedUnits
+    method newValueSpecifiedUnits
+    setter value
+    setter valueAsString
+    setter valueInSpecifiedUnits
+interface SVGLengthList
+    getter length
+    getter numberOfItems
+    method appendItem
+    method clear
+    method constructor
+    method getItem
+    method initialize
+    method insertItemBefore
+    method removeItem
+    method replaceItem
+interface SVGLineElement
+    getter x1
+    getter x2
+    getter y1
+    getter y2
+    method constructor
+interface SVGLinearGradientElement
+    getter x1
+    getter x2
+    getter y1
+    getter y2
+    method constructor
+interface SVGMPathElement
+    getter href
+    method constructor
+interface SVGMarkerElement
+    attribute SVG_MARKERUNITS_STROKEWIDTH
+    attribute SVG_MARKERUNITS_UNKNOWN
+    attribute SVG_MARKERUNITS_USERSPACEONUSE
+    attribute SVG_MARKER_ORIENT_ANGLE
+    attribute SVG_MARKER_ORIENT_AUTO
+    attribute SVG_MARKER_ORIENT_UNKNOWN
+    getter markerHeight
+    getter markerUnits
+    getter markerWidth
+    getter orientAngle
+    getter orientType
+    getter preserveAspectRatio
+    getter refX
+    getter refY
+    getter viewBox
+    method constructor
+    method setOrientToAngle
+    method setOrientToAuto
+interface SVGMaskElement
+    getter height
+    getter maskContentUnits
+    getter maskUnits
+    getter requiredExtensions
+    getter requiredFeatures
+    getter systemLanguage
+    getter width
+    getter x
+    getter y
+    method constructor
+    method hasExtension
+interface SVGMatrix
+    getter a
+    getter b
+    getter c
+    getter d
+    getter e
+    getter f
+    method constructor
+    method flipX
+    method flipY
+    method inverse
+    method multiply
+    method rotate
+    method rotateFromVector
+    method scale
+    method scaleNonUniform
+    method skewX
+    method skewY
+    method translate
+    setter a
+    setter b
+    setter c
+    setter d
+    setter e
+    setter f
+interface SVGMetadataElement
+    method constructor
+interface SVGNumber
+    getter value
+    method constructor
+    setter value
+interface SVGNumberList
+    getter length
+    getter numberOfItems
+    method appendItem
+    method clear
+    method constructor
+    method getItem
+    method initialize
+    method insertItemBefore
+    method removeItem
+    method replaceItem
+interface SVGPathElement
+    getter animatedNormalizedPathSegList
+    getter animatedPathSegList
+    getter normalizedPathSegList
+    getter pathLength
+    getter pathSegList
+    method constructor
+    method createSVGPathSegArcAbs
+    method createSVGPathSegArcRel
+    method createSVGPathSegClosePath
+    method createSVGPathSegCurvetoCubicAbs
+    method createSVGPathSegCurvetoCubicRel
+    method createSVGPathSegCurvetoCubicSmoothAbs
+    method createSVGPathSegCurvetoCubicSmoothRel
+    method createSVGPathSegCurvetoQuadraticAbs
+    method createSVGPathSegCurvetoQuadraticRel
+    method createSVGPathSegCurvetoQuadraticSmoothAbs
+    method createSVGPathSegCurvetoQuadraticSmoothRel
+    method createSVGPathSegLinetoAbs
+    method createSVGPathSegLinetoHorizontalAbs
+    method createSVGPathSegLinetoHorizontalRel
+    method createSVGPathSegLinetoRel
+    method createSVGPathSegLinetoVerticalAbs
+    method createSVGPathSegLinetoVerticalRel
+    method createSVGPathSegMovetoAbs
+    method createSVGPathSegMovetoRel
+    method getPathSegAtLength
+    method getPointAtLength
+    method getTotalLength
+interface SVGPathSeg
+    attribute PATHSEG_ARC_ABS
+    attribute PATHSEG_ARC_REL
+    attribute PATHSEG_CLOSEPATH
+    attribute PATHSEG_CURVETO_CUBIC_ABS
+    attribute PATHSEG_CURVETO_CUBIC_REL
+    attribute PATHSEG_CURVETO_CUBIC_SMOOTH_ABS
+    attribute PATHSEG_CURVETO_CUBIC_SMOOTH_REL
+    attribute PATHSEG_CURVETO_QUADRATIC_ABS
+    attribute PATHSEG_CURVETO_QUADRATIC_REL
+    attribute PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS
+    attribute PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL
+    attribute PATHSEG_LINETO_ABS
+    attribute PATHSEG_LINETO_HORIZONTAL_ABS
+    attribute PATHSEG_LINETO_HORIZONTAL_REL
+    attribute PATHSEG_LINETO_REL
+    attribute PATHSEG_LINETO_VERTICAL_ABS
+    attribute PATHSEG_LINETO_VERTICAL_REL
+    attribute PATHSEG_MOVETO_ABS
+    attribute PATHSEG_MOVETO_REL
+    attribute PATHSEG_UNKNOWN
+    getter pathSegType
+    getter pathSegTypeAsLetter
+    method constructor
+interface SVGPathSegArcAbs
+    getter angle
+    getter largeArcFlag
+    getter r1
+    getter r2
+    getter sweepFlag
+    getter x
+    getter y
+    method constructor
+    setter angle
+    setter largeArcFlag
+    setter r1
+    setter r2
+    setter sweepFlag
+    setter x
+    setter y
+interface SVGPathSegArcRel
+    getter angle
+    getter largeArcFlag
+    getter r1
+    getter r2
+    getter sweepFlag
+    getter x
+    getter y
+    method constructor
+    setter angle
+    setter largeArcFlag
+    setter r1
+    setter r2
+    setter sweepFlag
+    setter x
+    setter y
+interface SVGPathSegClosePath
+    method constructor
+interface SVGPathSegCurvetoCubicAbs
+    getter x
+    getter x1
+    getter x2
+    getter y
+    getter y1
+    getter y2
+    method constructor
+    setter x
+    setter x1
+    setter x2
+    setter y
+    setter y1
+    setter y2
+interface SVGPathSegCurvetoCubicRel
+    getter x
+    getter x1
+    getter x2
+    getter y
+    getter y1
+    getter y2
+    method constructor
+    setter x
+    setter x1
+    setter x2
+    setter y
+    setter y1
+    setter y2
+interface SVGPathSegCurvetoCubicSmoothAbs
+    getter x
+    getter x2
+    getter y
+    getter y2
+    method constructor
+    setter x
+    setter x2
+    setter y
+    setter y2
+interface SVGPathSegCurvetoCubicSmoothRel
+    getter x
+    getter x2
+    getter y
+    getter y2
+    method constructor
+    setter x
+    setter x2
+    setter y
+    setter y2
+interface SVGPathSegCurvetoQuadraticAbs
+    getter x
+    getter x1
+    getter y
+    getter y1
+    method constructor
+    setter x
+    setter x1
+    setter y
+    setter y1
+interface SVGPathSegCurvetoQuadraticRel
+    getter x
+    getter x1
+    getter y
+    getter y1
+    method constructor
+    setter x
+    setter x1
+    setter y
+    setter y1
+interface SVGPathSegCurvetoQuadraticSmoothAbs
+    getter x
+    getter y
+    method constructor
+    setter x
+    setter y
+interface SVGPathSegCurvetoQuadraticSmoothRel
+    getter x
+    getter y
+    method constructor
+    setter x
+    setter y
+interface SVGPathSegLinetoAbs
+    getter x
+    getter y
+    method constructor
+    setter x
+    setter y
+interface SVGPathSegLinetoHorizontalAbs
+    getter x
+    method constructor
+    setter x
+interface SVGPathSegLinetoHorizontalRel
+    getter x
+    method constructor
+    setter x
+interface SVGPathSegLinetoRel
+    getter x
+    getter y
+    method constructor
+    setter x
+    setter y
+interface SVGPathSegLinetoVerticalAbs
+    getter y
+    method constructor
+    setter y
+interface SVGPathSegLinetoVerticalRel
+    getter y
+    method constructor
+    setter y
+interface SVGPathSegList
+    getter length
+    getter numberOfItems
+    method appendItem
+    method clear
+    method constructor
+    method getItem
+    method initialize
+    method insertItemBefore
+    method removeItem
+    method replaceItem
+interface SVGPathSegMovetoAbs
+    getter x
+    getter y
+    method constructor
+    setter x
+    setter y
+interface SVGPathSegMovetoRel
+    getter x
+    getter y
+    method constructor
+    setter x
+    setter y
+interface SVGPatternElement
+    getter height
+    getter href
+    getter patternContentUnits
+    getter patternTransform
+    getter patternUnits
+    getter preserveAspectRatio
+    getter requiredExtensions
+    getter requiredFeatures
+    getter systemLanguage
+    getter viewBox
+    getter width
+    getter x
+    getter y
+    method constructor
+    method hasExtension
+interface SVGPoint
+    getter x
+    getter y
+    method constructor
+    method matrixTransform
+    setter x
+    setter y
+interface SVGPointList
+    getter length
+    getter numberOfItems
+    method appendItem
+    method clear
+    method constructor
+    method getItem
+    method initialize
+    method insertItemBefore
+    method removeItem
+    method replaceItem
+interface SVGPolygonElement
+    getter animatedPoints
+    getter points
+    method constructor
+interface SVGPolylineElement
+    getter animatedPoints
+    getter points
+    method constructor
+interface SVGPreserveAspectRatio
+    attribute SVG_MEETORSLICE_MEET
+    attribute SVG_MEETORSLICE_SLICE
+    attribute SVG_MEETORSLICE_UNKNOWN
+    attribute SVG_PRESERVEASPECTRATIO_NONE
+    attribute SVG_PRESERVEASPECTRATIO_UNKNOWN
+    attribute SVG_PRESERVEASPECTRATIO_XMAXYMAX
+    attribute SVG_PRESERVEASPECTRATIO_XMAXYMID
+    attribute SVG_PRESERVEASPECTRATIO_XMAXYMIN
+    attribute SVG_PRESERVEASPECTRATIO_XMIDYMAX
+    attribute SVG_PRESERVEASPECTRATIO_XMIDYMID
+    attribute SVG_PRESERVEASPECTRATIO_XMIDYMIN
+    attribute SVG_PRESERVEASPECTRATIO_XMINYMAX
+    attribute SVG_PRESERVEASPECTRATIO_XMINYMID
+    attribute SVG_PRESERVEASPECTRATIO_XMINYMIN
+    getter align
+    getter meetOrSlice
+    method constructor
+    setter align
+    setter meetOrSlice
+interface SVGRadialGradientElement
+    getter cx
+    getter cy
+    getter fr
+    getter fx
+    getter fy
+    getter r
+    method constructor
+interface SVGRect
+    getter height
+    getter width
+    getter x
+    getter y
+    method constructor
+    setter height
+    setter width
+    setter x
+    setter y
+interface SVGRectElement
+    getter height
+    getter rx
+    getter ry
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGSVGElement
+    attribute SVG_ZOOMANDPAN_DISABLE
+    attribute SVG_ZOOMANDPAN_MAGNIFY
+    attribute SVG_ZOOMANDPAN_UNKNOWN
+    getter currentScale
+    getter currentTranslate
+    getter currentView
+    getter height
+    getter pixelUnitToMillimeterX
+    getter pixelUnitToMillimeterY
+    getter preserveAspectRatio
+    getter screenPixelToMillimeterX
+    getter screenPixelToMillimeterY
+    getter useCurrentView
+    getter viewBox
+    getter viewport
+    getter width
+    getter x
+    getter y
+    getter zoomAndPan
+    method animationsPaused
+    method checkEnclosure
+    method checkIntersection
+    method constructor
+    method createSVGAngle
+    method createSVGLength
+    method createSVGMatrix
+    method createSVGNumber
+    method createSVGPoint
+    method createSVGRect
+    method createSVGTransform
+    method createSVGTransformFromMatrix
+    method deselectAll
+    method forceRedraw
+    method getCurrentTime
+    method getElementById
+    method getEnclosureList
+    method getIntersectionList
+    method pauseAnimations
+    method setCurrentTime
+    method suspendRedraw
+    method unpauseAnimations
+    method unsuspendRedraw
+    method unsuspendRedrawAll
+    setter currentScale
+    setter zoomAndPan
+interface SVGScriptElement
+    getter href
+    getter type
+    method constructor
+    setter type
+interface SVGSetElement
+    method constructor
+interface SVGStopElement
+    getter offset
+    method constructor
+interface SVGStringList
+    getter length
+    getter numberOfItems
+    method appendItem
+    method clear
+    method constructor
+    method getItem
+    method initialize
+    method insertItemBefore
+    method removeItem
+    method replaceItem
+interface SVGStyleElement
+    getter disabled
+    getter media
+    getter sheet
+    getter title
+    getter type
+    method constructor
+    setter disabled
+    setter media
+    setter title
+    setter type
+interface SVGSwitchElement
+    method constructor
+interface SVGSymbolElement
+    getter preserveAspectRatio
+    getter viewBox
+    method constructor
+interface SVGTSpanElement
+    method constructor
+interface SVGTextContentElement
+    attribute LENGTHADJUST_SPACING
+    attribute LENGTHADJUST_SPACINGANDGLYPHS
+    attribute LENGTHADJUST_UNKNOWN
+    getter lengthAdjust
+    getter textLength
+    method constructor
+    method getCharNumAtPosition
+    method getComputedTextLength
+    method getEndPositionOfChar
+    method getExtentOfChar
+    method getNumberOfChars
+    method getRotationOfChar
+    method getStartPositionOfChar
+    method getSubStringLength
+    method selectSubString
+interface SVGTextElement
+    method constructor
+interface SVGTextPathElement
+    attribute TEXTPATH_METHODTYPE_ALIGN
+    attribute TEXTPATH_METHODTYPE_STRETCH
+    attribute TEXTPATH_METHODTYPE_UNKNOWN
+    attribute TEXTPATH_SPACINGTYPE_AUTO
+    attribute TEXTPATH_SPACINGTYPE_EXACT
+    attribute TEXTPATH_SPACINGTYPE_UNKNOWN
+    getter href
+    getter method
+    getter spacing
+    getter startOffset
+    method constructor
+interface SVGTextPositioningElement
+    getter dx
+    getter dy
+    getter rotate
+    getter x
+    getter y
+    method constructor
+interface SVGTitleElement
+    method constructor
+interface SVGTransform
+    attribute SVG_TRANSFORM_MATRIX
+    attribute SVG_TRANSFORM_ROTATE
+    attribute SVG_TRANSFORM_SCALE
+    attribute SVG_TRANSFORM_SKEWX
+    attribute SVG_TRANSFORM_SKEWY
+    attribute SVG_TRANSFORM_TRANSLATE
+    attribute SVG_TRANSFORM_UNKNOWN
+    getter angle
+    getter matrix
+    getter type
+    method constructor
+    method setMatrix
+    method setRotate
+    method setScale
+    method setSkewX
+    method setSkewY
+    method setTranslate
+interface SVGTransformList
+    getter length
+    getter numberOfItems
+    method appendItem
+    method clear
+    method consolidate
+    method constructor
+    method createSVGTransformFromMatrix
+    method getItem
+    method initialize
+    method insertItemBefore
+    method removeItem
+    method replaceItem
+interface SVGUnitTypes
+    method constructor
+interface SVGUseElement
+    getter height
+    getter href
+    getter width
+    getter x
+    getter y
+    method constructor
+interface SVGViewElement
+    attribute SVG_ZOOMANDPAN_DISABLE
+    attribute SVG_ZOOMANDPAN_MAGNIFY
+    attribute SVG_ZOOMANDPAN_UNKNOWN
+    getter preserveAspectRatio
+    getter viewBox
+    getter viewTarget
+    getter zoomAndPan
+    method constructor
+    setter zoomAndPan
+interface SVGViewSpec
+    getter preserveAspectRatio
+    getter preserveAspectRatioString
+    getter transform
+    getter transformString
+    getter viewBox
+    getter viewBoxString
+    getter viewTarget
+    getter viewTargetString
+    getter zoomAndPan
+    method constructor
+    setter zoomAndPan
+interface SVGZoomEvent
+    getter newScale
+    getter newTranslate
+    getter previousScale
+    getter previousTranslate
+    getter zoomRectScreen
+    method constructor
+interface Screen
+    getter availHeight
+    getter availLeft
+    getter availTop
+    getter availWidth
+    getter colorDepth
+    getter height
+    getter orientation
+    getter pixelDepth
+    getter width
+    method constructor
+interface ScreenOrientation
+    getter angle
+    getter onchange
+    getter type
+    method constructor
+    method lock
+    method unlock
+    setter onchange
+interface ScriptProcessorNode
+    getter bufferSize
+    getter onaudioprocess
+    method constructor
+    setter onaudioprocess
+interface SecurityPolicyViolationEvent
+    getter blockedURI
+    getter columnNumber
+    getter documentURI
+    getter effectiveDirective
+    getter lineNumber
+    getter originalPolicy
+    getter referrer
+    getter sourceFile
+    getter statusCode
+    getter violatedDirective
+    method constructor
+interface Selection
+    getter anchorNode
+    getter anchorOffset
+    getter baseNode
+    getter baseOffset
+    getter extentNode
+    getter extentOffset
+    getter focusNode
+    getter focusOffset
+    getter isCollapsed
+    getter rangeCount
+    getter type
+    method addRange
+    method collapse
+    method collapseToEnd
+    method collapseToStart
+    method constructor
+    method containsNode
+    method deleteFromDocument
+    method empty
+    method extend
+    method getRangeAt
+    method modify
+    method removeAllRanges
+    method selectAllChildren
+    method setBaseAndExtent
+    method setPosition
+    method toString
+interface ServiceWorker
+    getter onerror
+    getter onstatechange
+    getter scriptURL
+    getter state
+    method constructor
+    method postMessage
+    setter onerror
+    setter onstatechange
+interface ServiceWorkerContainer
+    getter oncontrollerchange
+    getter onmessage
+    getter ready
+    method constructor
+    method getRegistration
+    method getRegistrations
+    method register
+    setter oncontrollerchange
+    setter onmessage
+interface ServiceWorkerMessageEvent
+    getter data
+    getter lastEventId
+    getter origin
+    getter ports
+    getter source
+    method constructor
+interface ServiceWorkerRegistration
+    getter onupdatefound
+    getter scope
+    method constructor
+    method getNotifications
+    method showNotification
+    method unregister
+    method update
+    setter onupdatefound
+interface ShadowRoot
+    getter activeElement
+    getter host
+    getter innerHTML
+    getter olderShadowRoot
+    getter styleSheets
+    method cloneNode
+    method constructor
+    method elementFromPoint
+    method elementsFromPoint
+    method getSelection
+    setter innerHTML
+interface Storage
+    getter length
+    method clear
+    method constructor
+    method getItem
+    method key
+    method removeItem
+    method setItem
+interface StorageEvent
+    getter key
+    getter newValue
+    getter oldValue
+    getter storageArea
+    getter url
+    method constructor
+    method initStorageEvent
+interface StyleSheet
+    getter disabled
+    getter href
+    getter media
+    getter ownerNode
+    getter parentStyleSheet
+    getter title
+    getter type
+    method constructor
+    setter disabled
+interface StyleSheetList
+    getter length
+    method constructor
+    method item
+interface SubtleCrypto
+    method constructor
+    method decrypt
+    method deriveBits
+    method deriveKey
+    method digest
+    method encrypt
+    method exportKey
+    method generateKey
+    method importKey
+    method sign
+    method unwrapKey
+    method verify
+    method wrapKey
+interface Text
+    getter wholeText
+    method constructor
+    method getDestinationInsertionPoints
+    method splitText
+interface TextDecoder
+    getter encoding
+    getter fatal
+    getter ignoreBOM
+    method constructor
+    method decode
+interface TextEncoder
+    getter encoding
+    method constructor
+    method encode
+interface TextEvent
+    getter data
+    method constructor
+    method initTextEvent
+interface TextMetrics
+    getter width
+    method constructor
+interface TextTrack
+    getter activeCues
+    getter cues
+    getter id
+    getter kind
+    getter label
+    getter language
+    getter mode
+    getter oncuechange
+    method addCue
+    method constructor
+    method removeCue
+    setter mode
+    setter oncuechange
+interface TextTrackCue
+    getter endTime
+    getter id
+    getter onenter
+    getter onexit
+    getter pauseOnExit
+    getter startTime
+    getter track
+    method constructor
+    setter endTime
+    setter id
+    setter onenter
+    setter onexit
+    setter pauseOnExit
+    setter startTime
+interface TextTrackCueList
+    getter length
+    method constructor
+    method getCueById
+    method item
+interface TextTrackList
+    getter length
+    getter onaddtrack
+    getter onchange
+    getter onremovetrack
+    method constructor
+    method getTrackById
+    method item
+    setter onaddtrack
+    setter onchange
+    setter onremovetrack
+interface TimeRanges
+    getter length
+    method constructor
+    method end
+    method start
+interface Touch
+    getter clientX
+    getter clientY
+    getter force
+    getter identifier
+    getter pageX
+    getter pageY
+    getter radiusX
+    getter radiusY
+    getter rotationAngle
+    getter screenX
+    getter screenY
+    getter target
+    getter webkitForce
+    getter webkitRadiusX
+    getter webkitRadiusY
+    getter webkitRotationAngle
+    method constructor
+interface TouchEvent
+    getter altKey
+    getter changedTouches
+    getter ctrlKey
+    getter metaKey
+    getter shiftKey
+    getter targetTouches
+    getter touches
+    method constructor
+    method initTouchEvent
+interface TouchList
+    getter length
+    method constructor
+    method item
+interface TrackEvent
+    getter track
+    method constructor
+interface TransitionEvent
+    getter elapsedTime
+    getter propertyName
+    getter pseudoElement
+    method constructor
+interface TreeWalker
+    getter currentNode
+    getter filter
+    getter root
+    getter whatToShow
+    method constructor
+    method firstChild
+    method lastChild
+    method nextNode
+    method nextSibling
+    method parentNode
+    method previousNode
+    method previousSibling
+    setter currentNode
+interface UIEvent
+    getter charCode
+    getter detail
+    getter keyCode
+    getter view
+    getter which
+    method constructor
+    method initUIEvent
+interface URL
+    getter hash
+    getter host
+    getter hostname
+    getter href
+    getter origin
+    getter password
+    getter pathname
+    getter port
+    getter protocol
+    getter search
+    getter username
+    method constructor
+    method toString
+    setter hash
+    setter host
+    setter hostname
+    setter href
+    setter password
+    setter pathname
+    setter port
+    setter protocol
+    setter search
+    setter username
+interface VTTCue
+    getter align
+    getter line
+    getter position
+    getter size
+    getter snapToLines
+    getter text
+    getter vertical
+    method constructor
+    method getCueAsHTML
+    setter align
+    setter line
+    setter position
+    setter size
+    setter snapToLines
+    setter text
+    setter vertical
+interface ValidityState
+    getter badInput
+    getter customError
+    getter patternMismatch
+    getter rangeOverflow
+    getter rangeUnderflow
+    getter stepMismatch
+    getter tooLong
+    getter tooShort
+    getter typeMismatch
+    getter valid
+    getter valueMissing
+    method constructor
+interface WaveShaperNode
+    getter curve
+    getter oversample
+    method constructor
+    setter curve
+    setter oversample
+interface WebGLActiveInfo
+    getter name
+    getter size
+    getter type
+    method constructor
+interface WebGLBuffer
+    method constructor
+interface WebGLContextEvent
+    getter statusMessage
+    method constructor
+interface WebGLFramebuffer
+    method constructor
+interface WebGLProgram
+    method constructor
+interface WebGLRenderbuffer
+    method constructor
+interface WebGLRenderingContext
+    attribute ACTIVE_ATTRIBUTES
+    attribute ACTIVE_TEXTURE
+    attribute ACTIVE_UNIFORMS
+    attribute ALIASED_LINE_WIDTH_RANGE
+    attribute ALIASED_POINT_SIZE_RANGE
+    attribute ALPHA
+    attribute ALPHA_BITS
+    attribute ALWAYS
+    attribute ARRAY_BUFFER
+    attribute ARRAY_BUFFER_BINDING
+    attribute ATTACHED_SHADERS
+    attribute BACK
+    attribute BLEND
+    attribute BLEND_COLOR
+    attribute BLEND_DST_ALPHA
+    attribute BLEND_DST_RGB
+    attribute BLEND_EQUATION
+    attribute BLEND_EQUATION_ALPHA
+    attribute BLEND_EQUATION_RGB
+    attribute BLEND_SRC_ALPHA
+    attribute BLEND_SRC_RGB
+    attribute BLUE_BITS
+    attribute BOOL
+    attribute BOOL_VEC2
+    attribute BOOL_VEC3
+    attribute BOOL_VEC4
+    attribute BROWSER_DEFAULT_WEBGL
+    attribute BUFFER_SIZE
+    attribute BUFFER_USAGE
+    attribute BYTE
+    attribute CCW
+    attribute CLAMP_TO_EDGE
+    attribute COLOR_ATTACHMENT0
+    attribute COLOR_BUFFER_BIT
+    attribute COLOR_CLEAR_VALUE
+    attribute COLOR_WRITEMASK
+    attribute COMPILE_STATUS
+    attribute COMPRESSED_TEXTURE_FORMATS
+    attribute CONSTANT_ALPHA
+    attribute CONSTANT_COLOR
+    attribute CONTEXT_LOST_WEBGL
+    attribute CULL_FACE
+    attribute CULL_FACE_MODE
+    attribute CURRENT_PROGRAM
+    attribute CURRENT_VERTEX_ATTRIB
+    attribute CW
+    attribute DECR
+    attribute DECR_WRAP
+    attribute DELETE_STATUS
+    attribute DEPTH_ATTACHMENT
+    attribute DEPTH_BITS
+    attribute DEPTH_BUFFER_BIT
+    attribute DEPTH_CLEAR_VALUE
+    attribute DEPTH_COMPONENT
+    attribute DEPTH_COMPONENT16
+    attribute DEPTH_FUNC
+    attribute DEPTH_RANGE
+    attribute DEPTH_STENCIL
+    attribute DEPTH_STENCIL_ATTACHMENT
+    attribute DEPTH_TEST
+    attribute DEPTH_WRITEMASK
+    attribute DITHER
+    attribute DONT_CARE
+    attribute DST_ALPHA
+    attribute DST_COLOR
+    attribute DYNAMIC_DRAW
+    attribute ELEMENT_ARRAY_BUFFER
+    attribute ELEMENT_ARRAY_BUFFER_BINDING
+    attribute EQUAL
+    attribute FASTEST
+    attribute FLOAT
+    attribute FLOAT_MAT2
+    attribute FLOAT_MAT3
+    attribute FLOAT_MAT4
+    attribute FLOAT_VEC2
+    attribute FLOAT_VEC3
+    attribute FLOAT_VEC4
+    attribute FRAGMENT_SHADER
+    attribute FRAMEBUFFER
+    attribute FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
+    attribute FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
+    attribute FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
+    attribute FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
+    attribute FRAMEBUFFER_BINDING
+    attribute FRAMEBUFFER_COMPLETE
+    attribute FRAMEBUFFER_INCOMPLETE_ATTACHMENT
+    attribute FRAMEBUFFER_INCOMPLETE_DIMENSIONS
+    attribute FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
+    attribute FRAMEBUFFER_UNSUPPORTED
+    attribute FRONT
+    attribute FRONT_AND_BACK
+    attribute FRONT_FACE
+    attribute FUNC_ADD
+    attribute FUNC_REVERSE_SUBTRACT
+    attribute FUNC_SUBTRACT
+    attribute GENERATE_MIPMAP_HINT
+    attribute GEQUAL
+    attribute GREATER
+    attribute GREEN_BITS
+    attribute HIGH_FLOAT
+    attribute HIGH_INT
+    attribute IMPLEMENTATION_COLOR_READ_FORMAT
+    attribute IMPLEMENTATION_COLOR_READ_TYPE
+    attribute INCR
+    attribute INCR_WRAP
+    attribute INT
+    attribute INT_VEC2
+    attribute INT_VEC3
+    attribute INT_VEC4
+    attribute INVALID_ENUM
+    attribute INVALID_FRAMEBUFFER_OPERATION
+    attribute INVALID_OPERATION
+    attribute INVALID_VALUE
+    attribute INVERT
+    attribute KEEP
+    attribute LEQUAL
+    attribute LESS
+    attribute LINEAR
+    attribute LINEAR_MIPMAP_LINEAR
+    attribute LINEAR_MIPMAP_NEAREST
+    attribute LINES
+    attribute LINE_LOOP
+    attribute LINE_STRIP
+    attribute LINE_WIDTH
+    attribute LINK_STATUS
+    attribute LOW_FLOAT
+    attribute LOW_INT
+    attribute LUMINANCE
+    attribute LUMINANCE_ALPHA
+    attribute MAX_COMBINED_TEXTURE_IMAGE_UNITS
+    attribute MAX_CUBE_MAP_TEXTURE_SIZE
+    attribute MAX_FRAGMENT_UNIFORM_VECTORS
+    attribute MAX_RENDERBUFFER_SIZE
+    attribute MAX_TEXTURE_IMAGE_UNITS
+    attribute MAX_TEXTURE_SIZE
+    attribute MAX_VARYING_VECTORS
+    attribute MAX_VERTEX_ATTRIBS
+    attribute MAX_VERTEX_TEXTURE_IMAGE_UNITS
+    attribute MAX_VERTEX_UNIFORM_VECTORS
+    attribute MAX_VIEWPORT_DIMS
+    attribute MEDIUM_FLOAT
+    attribute MEDIUM_INT
+    attribute MIRRORED_REPEAT
+    attribute NEAREST
+    attribute NEAREST_MIPMAP_LINEAR
+    attribute NEAREST_MIPMAP_NEAREST
+    attribute NEVER
+    attribute NICEST
+    attribute NONE
+    attribute NOTEQUAL
+    attribute NO_ERROR
+    attribute ONE
+    attribute ONE_MINUS_CONSTANT_ALPHA
+    attribute ONE_MINUS_CONSTANT_COLOR
+    attribute ONE_MINUS_DST_ALPHA
+    attribute ONE_MINUS_DST_COLOR
+    attribute ONE_MINUS_SRC_ALPHA
+    attribute ONE_MINUS_SRC_COLOR
+    attribute OUT_OF_MEMORY
+    attribute PACK_ALIGNMENT
+    attribute POINTS
+    attribute POLYGON_OFFSET_FACTOR
+    attribute POLYGON_OFFSET_FILL
+    attribute POLYGON_OFFSET_UNITS
+    attribute RED_BITS
+    attribute RENDERBUFFER
+    attribute RENDERBUFFER_ALPHA_SIZE
+    attribute RENDERBUFFER_BINDING
+    attribute RENDERBUFFER_BLUE_SIZE
+    attribute RENDERBUFFER_DEPTH_SIZE
+    attribute RENDERBUFFER_GREEN_SIZE
+    attribute RENDERBUFFER_HEIGHT
+    attribute RENDERBUFFER_INTERNAL_FORMAT
+    attribute RENDERBUFFER_RED_SIZE
+    attribute RENDERBUFFER_STENCIL_SIZE
+    attribute RENDERBUFFER_WIDTH
+    attribute RENDERER
+    attribute REPEAT
+    attribute REPLACE
+    attribute RGB
+    attribute RGB565
+    attribute RGB5_A1
+    attribute RGBA
+    attribute RGBA4
+    attribute SAMPLER_2D
+    attribute SAMPLER_CUBE
+    attribute SAMPLES
+    attribute SAMPLE_ALPHA_TO_COVERAGE
+    attribute SAMPLE_BUFFERS
+    attribute SAMPLE_COVERAGE
+    attribute SAMPLE_COVERAGE_INVERT
+    attribute SAMPLE_COVERAGE_VALUE
+    attribute SCISSOR_BOX
+    attribute SCISSOR_TEST
+    attribute SHADER_TYPE
+    attribute SHADING_LANGUAGE_VERSION
+    attribute SHORT
+    attribute SRC_ALPHA
+    attribute SRC_ALPHA_SATURATE
+    attribute SRC_COLOR
+    attribute STATIC_DRAW
+    attribute STENCIL_ATTACHMENT
+    attribute STENCIL_BACK_FAIL
+    attribute STENCIL_BACK_FUNC
+    attribute STENCIL_BACK_PASS_DEPTH_FAIL
+    attribute STENCIL_BACK_PASS_DEPTH_PASS
+    attribute STENCIL_BACK_REF
+    attribute STENCIL_BACK_VALUE_MASK
+    attribute STENCIL_BACK_WRITEMASK
+    attribute STENCIL_BITS
+    attribute STENCIL_BUFFER_BIT
+    attribute STENCIL_CLEAR_VALUE
+    attribute STENCIL_FAIL
+    attribute STENCIL_FUNC
+    attribute STENCIL_INDEX
+    attribute STENCIL_INDEX8
+    attribute STENCIL_PASS_DEPTH_FAIL
+    attribute STENCIL_PASS_DEPTH_PASS
+    attribute STENCIL_REF
+    attribute STENCIL_TEST
+    attribute STENCIL_VALUE_MASK
+    attribute STENCIL_WRITEMASK
+    attribute STREAM_DRAW
+    attribute SUBPIXEL_BITS
+    attribute TEXTURE
+    attribute TEXTURE0
+    attribute TEXTURE1
+    attribute TEXTURE10
+    attribute TEXTURE11
+    attribute TEXTURE12
+    attribute TEXTURE13
+    attribute TEXTURE14
+    attribute TEXTURE15
+    attribute TEXTURE16
+    attribute TEXTURE17
+    attribute TEXTURE18
+    attribute TEXTURE19
+    attribute TEXTURE2
+    attribute TEXTURE20
+    attribute TEXTURE21
+    attribute TEXTURE22
+    attribute TEXTURE23
+    attribute TEXTURE24
+    attribute TEXTURE25
+    attribute TEXTURE26
+    attribute TEXTURE27
+    attribute TEXTURE28
+    attribute TEXTURE29
+    attribute TEXTURE3
+    attribute TEXTURE30
+    attribute TEXTURE31
+    attribute TEXTURE4
+    attribute TEXTURE5
+    attribute TEXTURE6
+    attribute TEXTURE7
+    attribute TEXTURE8
+    attribute TEXTURE9
+    attribute TEXTURE_2D
+    attribute TEXTURE_BINDING_2D
+    attribute TEXTURE_BINDING_CUBE_MAP
+    attribute TEXTURE_CUBE_MAP
+    attribute TEXTURE_CUBE_MAP_NEGATIVE_X
+    attribute TEXTURE_CUBE_MAP_NEGATIVE_Y
+    attribute TEXTURE_CUBE_MAP_NEGATIVE_Z
+    attribute TEXTURE_CUBE_MAP_POSITIVE_X
+    attribute TEXTURE_CUBE_MAP_POSITIVE_Y
+    attribute TEXTURE_CUBE_MAP_POSITIVE_Z
+    attribute TEXTURE_MAG_FILTER
+    attribute TEXTURE_MIN_FILTER
+    attribute TEXTURE_WRAP_S
+    attribute TEXTURE_WRAP_T
+    attribute TRIANGLES
+    attribute TRIANGLE_FAN
+    attribute TRIANGLE_STRIP
+    attribute UNPACK_ALIGNMENT
+    attribute UNPACK_COLORSPACE_CONVERSION_WEBGL
+    attribute UNPACK_FLIP_Y_WEBGL
+    attribute UNPACK_PREMULTIPLY_ALPHA_WEBGL
+    attribute UNSIGNED_BYTE
+    attribute UNSIGNED_INT
+    attribute UNSIGNED_SHORT
+    attribute UNSIGNED_SHORT_4_4_4_4
+    attribute UNSIGNED_SHORT_5_5_5_1
+    attribute UNSIGNED_SHORT_5_6_5
+    attribute VALIDATE_STATUS
+    attribute VENDOR
+    attribute VERSION
+    attribute VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
+    attribute VERTEX_ATTRIB_ARRAY_ENABLED
+    attribute VERTEX_ATTRIB_ARRAY_NORMALIZED
+    attribute VERTEX_ATTRIB_ARRAY_POINTER
+    attribute VERTEX_ATTRIB_ARRAY_SIZE
+    attribute VERTEX_ATTRIB_ARRAY_STRIDE
+    attribute VERTEX_ATTRIB_ARRAY_TYPE
+    attribute VERTEX_SHADER
+    attribute VIEWPORT
+    attribute ZERO
+    getter canvas
+    getter drawingBufferHeight
+    getter drawingBufferWidth
+    method activeTexture
+    method attachShader
+    method bindAttribLocation
+    method bindBuffer
+    method bindFramebuffer
+    method bindRenderbuffer
+    method bindTexture
+    method blendColor
+    method blendEquation
+    method blendEquationSeparate
+    method blendFunc
+    method blendFuncSeparate
+    method bufferData
+    method bufferSubData
+    method checkFramebufferStatus
+    method clear
+    method clearColor
+    method clearDepth
+    method clearStencil
+    method colorMask
+    method compileShader
+    method compressedTexImage2D
+    method compressedTexSubImage2D
+    method constructor
+    method copyTexImage2D
+    method copyTexSubImage2D
+    method createBuffer
+    method createFramebuffer
+    method createProgram
+    method createRenderbuffer
+    method createShader
+    method createTexture
+    method cullFace
+    method deleteBuffer
+    method deleteFramebuffer
+    method deleteProgram
+    method deleteRenderbuffer
+    method deleteShader
+    method deleteTexture
+    method depthFunc
+    method depthMask
+    method depthRange
+    method detachShader
+    method disable
+    method disableVertexAttribArray
+    method drawArrays
+    method drawElements
+    method enable
+    method enableVertexAttribArray
+    method finish
+    method flush
+    method framebufferRenderbuffer
+    method framebufferTexture2D
+    method frontFace
+    method generateMipmap
+    method getActiveAttrib
+    method getActiveUniform
+    method getAttachedShaders
+    method getAttribLocation
+    method getBufferParameter
+    method getContextAttributes
+    method getError
+    method getExtension
+    method getFramebufferAttachmentParameter
+    method getParameter
+    method getProgramInfoLog
+    method getProgramParameter
+    method getRenderbufferParameter
+    method getShaderInfoLog
+    method getShaderParameter
+    method getShaderPrecisionFormat
+    method getShaderSource
+    method getSupportedExtensions
+    method getTexParameter
+    method getUniform
+    method getUniformLocation
+    method getVertexAttrib
+    method getVertexAttribOffset
+    method hint
+    method isBuffer
+    method isContextLost
+    method isEnabled
+    method isFramebuffer
+    method isProgram
+    method isRenderbuffer
+    method isShader
+    method isTexture
+    method lineWidth
+    method linkProgram
+    method pixelStorei
+    method polygonOffset
+    method readPixels
+    method renderbufferStorage
+    method sampleCoverage
+    method scissor
+    method shaderSource
+    method stencilFunc
+    method stencilFuncSeparate
+    method stencilMask
+    method stencilMaskSeparate
+    method stencilOp
+    method stencilOpSeparate
+    method texImage2D
+    method texParameterf
+    method texParameteri
+    method texSubImage2D
+    method uniform1f
+    method uniform1fv
+    method uniform1i
+    method uniform1iv
+    method uniform2f
+    method uniform2fv
+    method uniform2i
+    method uniform2iv
+    method uniform3f
+    method uniform3fv
+    method uniform3i
+    method uniform3iv
+    method uniform4f
+    method uniform4fv
+    method uniform4i
+    method uniform4iv
+    method uniformMatrix2fv
+    method uniformMatrix3fv
+    method uniformMatrix4fv
+    method useProgram
+    method validateProgram
+    method vertexAttrib1f
+    method vertexAttrib1fv
+    method vertexAttrib2f
+    method vertexAttrib2fv
+    method vertexAttrib3f
+    method vertexAttrib3fv
+    method vertexAttrib4f
+    method vertexAttrib4fv
+    method vertexAttribPointer
+    method viewport
+interface WebGLShader
+    method constructor
+interface WebGLShaderPrecisionFormat
+    getter precision
+    getter rangeMax
+    getter rangeMin
+    method constructor
+interface WebGLTexture
+    method constructor
+interface WebGLUniformLocation
+    method constructor
+interface WebKitAnimationEvent
+    getter animationName
+    getter elapsedTime
+    method constructor
+interface WebKitCSSMatrix
+    getter a
+    getter b
+    getter c
+    getter d
+    getter e
+    getter f
+    getter m11
+    getter m12
+    getter m13
+    getter m14
+    getter m21
+    getter m22
+    getter m23
+    getter m24
+    getter m31
+    getter m32
+    getter m33
+    getter m34
+    getter m41
+    getter m42
+    getter m43
+    getter m44
+    method constructor
+    method inverse
+    method multiply
+    method rotate
+    method rotateAxisAngle
+    method scale
+    method setMatrixValue
+    method skewX
+    method skewY
+    method toString
+    method translate
+    setter a
+    setter b
+    setter c
+    setter d
+    setter e
+    setter f
+    setter m11
+    setter m12
+    setter m13
+    setter m14
+    setter m21
+    setter m22
+    setter m23
+    setter m24
+    setter m31
+    setter m32
+    setter m33
+    setter m34
+    setter m41
+    setter m42
+    setter m43
+    setter m44
+interface WebKitMutationObserver
+    method constructor
+    method disconnect
+    method observe
+    method takeRecords
+interface WebKitTransitionEvent
+    getter elapsedTime
+    getter propertyName
+    getter pseudoElement
+    method constructor
+interface WebSocket
+    attribute CLOSED
+    attribute CLOSING
+    attribute CONNECTING
+    attribute OPEN
+    getter binaryType
+    getter bufferedAmount
+    getter extensions
+    getter onclose
+    getter onerror
+    getter onmessage
+    getter onopen
+    getter protocol
+    getter readyState
+    getter url
+    method close
+    method constructor
+    method send
+    setter binaryType
+    setter onclose
+    setter onerror
+    setter onmessage
+    setter onopen
+interface WheelEvent
+    attribute DOM_DELTA_LINE
+    attribute DOM_DELTA_PAGE
+    attribute DOM_DELTA_PIXEL
+    getter deltaMode
+    getter deltaX
+    getter deltaY
+    getter deltaZ
+    getter wheelDelta
+    getter wheelDeltaX
+    getter wheelDeltaY
+    method constructor
+interface Window
+    attribute PERSISTENT
+    attribute TEMPORARY
+    attribute onabort
+    attribute onanimationend
+    attribute onanimationiteration
+    attribute onanimationstart
+    attribute onbeforeunload
+    attribute onblur
+    attribute oncancel
+    attribute oncanplay
+    attribute oncanplaythrough
+    attribute onchange
+    attribute onclick
+    attribute onclose
+    attribute oncontextmenu
+    attribute oncuechange
+    attribute ondblclick
+    attribute ondevicemotion
+    attribute ondeviceorientation
+    attribute ondrag
+    attribute ondragend
+    attribute ondragenter
+    attribute ondragleave
+    attribute ondragover
+    attribute ondragstart
+    attribute ondrop
+    attribute ondurationchange
+    attribute onemptied
+    attribute onended
+    attribute onerror
+    attribute onfocus
+    attribute onhashchange
+    attribute oninput
+    attribute oninvalid
+    attribute onkeydown
+    attribute onkeypress
+    attribute onkeyup
+    attribute onlanguagechange
+    attribute onload
+    attribute onloadeddata
+    attribute onloadedmetadata
+    attribute onloadstart
+    attribute onmessage
+    attribute onmousedown
+    attribute onmouseenter
+    attribute onmouseleave
+    attribute onmousemove
+    attribute onmouseout
+    attribute onmouseover
+    attribute onmouseup
+    attribute onmousewheel
+    attribute onoffline
+    attribute ononline
+    attribute onorientationchange
+    attribute onpagehide
+    attribute onpageshow
+    attribute onpause
+    attribute onplay
+    attribute onplaying
+    attribute onpointercancel
+    attribute onpointerdown
+    attribute onpointerenter
+    attribute onpointerleave
+    attribute onpointermove
+    attribute onpointerout
+    attribute onpointerover
+    attribute onpointerup
+    attribute onpopstate
+    attribute onprogress
+    attribute onratechange
+    attribute onreset
+    attribute onresize
+    attribute onscroll
+    attribute onsearch
+    attribute onseeked
+    attribute onseeking
+    attribute onselect
+    attribute onshow
+    attribute onstalled
+    attribute onstorage
+    attribute onsubmit
+    attribute onsuspend
+    attribute ontimeupdate
+    attribute ontoggle
+    attribute ontouchcancel
+    attribute ontouchend
+    attribute ontouchmove
+    attribute ontouchstart
+    attribute ontransitionend
+    attribute onunload
+    attribute onvolumechange
+    attribute onwaiting
+    attribute onwebkitanimationend
+    attribute onwebkitanimationiteration
+    attribute onwebkitanimationstart
+    attribute onwebkittransitionend
+    attribute onwheel
+    method alert
+    method atob
+    method blur
+    method btoa
+    method cancelAnimationFrame
+    method captureEvents
+    method clearInterval
+    method clearTimeout
+    method close
+    method confirm
+    method constructor
+    method fetch
+    method find
+    method focus
+    method getComputedStyle
+    method getMatchedCSSRules
+    method getSelection
+    method matchMedia
+    method moveBy
+    method moveTo
+    method open
+    method postMessage
+    method print
+    method prompt
+    method releaseEvents
+    method requestAnimationFrame
+    method resizeBy
+    method resizeTo
+    method scroll
+    method scrollBy
+    method scrollTo
+    method setInterval
+    method setTimeout
+    method stop
+    method toString
+    method webkitCancelAnimationFrame
+    method webkitCancelRequestAnimationFrame
+    method webkitRequestAnimationFrame
+interface Worker
+    getter onerror
+    getter onmessage
+    method constructor
+    method postMessage
+    method terminate
+    setter onerror
+    setter onmessage
+interface XMLDocument
+    method constructor
+interface XMLHttpRequest
+    attribute DONE
+    attribute HEADERS_RECEIVED
+    attribute LOADING
+    attribute OPENED
+    attribute UNSENT
+    getter onreadystatechange
+    getter readyState
+    getter response
+    getter responseText
+    getter responseType
+    getter responseURL
+    getter responseXML
+    getter status
+    getter statusText
+    getter timeout
+    getter upload
+    getter withCredentials
+    method abort
+    method constructor
+    method getAllResponseHeaders
+    method getResponseHeader
+    method open
+    method overrideMimeType
+    method send
+    method setRequestHeader
+    setter onreadystatechange
+    setter responseType
+    setter timeout
+    setter withCredentials
+interface XMLHttpRequestEventTarget
+    getter onabort
+    getter onerror
+    getter onload
+    getter onloadend
+    getter onloadstart
+    getter onprogress
+    getter ontimeout
+    method constructor
+    setter onabort
+    setter onerror
+    setter onload
+    setter onloadend
+    setter onloadstart
+    setter onprogress
+    setter ontimeout
+interface XMLHttpRequestProgressEvent
+    getter position
+    getter totalSize
+    method constructor
+interface XMLHttpRequestUpload
+    method constructor
+interface XMLSerializer
+    method constructor
+    method serializeToString
+interface XPathEvaluator
+    method constructor
+    method createExpression
+    method createNSResolver
+    method evaluate
+interface XPathExpression
+    method constructor
+    method evaluate
+interface XPathResult
+    attribute ANY_TYPE
+    attribute ANY_UNORDERED_NODE_TYPE
+    attribute BOOLEAN_TYPE
+    attribute FIRST_ORDERED_NODE_TYPE
+    attribute NUMBER_TYPE
+    attribute ORDERED_NODE_ITERATOR_TYPE
+    attribute ORDERED_NODE_SNAPSHOT_TYPE
+    attribute STRING_TYPE
+    attribute UNORDERED_NODE_ITERATOR_TYPE
+    attribute UNORDERED_NODE_SNAPSHOT_TYPE
+    getter booleanValue
+    getter invalidIteratorState
+    getter numberValue
+    getter resultType
+    getter singleNodeValue
+    getter snapshotLength
+    getter stringValue
+    method constructor
+    method iterateNext
+    method snapshotItem
+interface XSLTProcessor
+    method clearParameters
+    method constructor
+    method getParameter
+    method importStylesheet
+    method removeParameter
+    method reset
+    method setParameter
+    method transformToDocument
+    method transformToFragment
+interface webkitAudioContext
+    getter currentTime
+    getter destination
+    getter listener
+    getter onstatechange
+    getter sampleRate
+    getter state
+    method close
+    method constructor
+    method createAnalyser
+    method createBiquadFilter
+    method createBuffer
+    method createBufferSource
+    method createChannelMerger
+    method createChannelSplitter
+    method createConvolver
+    method createDelay
+    method createDynamicsCompressor
+    method createGain
+    method createMediaElementSource
+    method createMediaStreamDestination
+    method createMediaStreamSource
+    method createOscillator
+    method createPanner
+    method createPeriodicWave
+    method createScriptProcessor
+    method createStereoPanner
+    method createWaveShaper
+    method decodeAudioData
+    method resume
+    method suspend
+    setter onstatechange
+interface webkitIDBCursor
+    getter direction
+    getter key
+    getter primaryKey
+    getter source
+    method advance
+    method constructor
+    method continue
+    method delete
+    method update
+interface webkitIDBDatabase
+    getter name
+    getter objectStoreNames
+    getter onabort
+    getter onclose
+    getter onerror
+    getter onversionchange
+    getter version
+    method close
+    method constructor
+    method createObjectStore
+    method deleteObjectStore
+    method transaction
+    setter onabort
+    setter onclose
+    setter onerror
+    setter onversionchange
+interface webkitIDBFactory
+    method cmp
+    method constructor
+    method deleteDatabase
+    method open
+    method webkitGetDatabaseNames
+interface webkitIDBIndex
+    getter keyPath
+    getter multiEntry
+    getter name
+    getter objectStore
+    getter unique
+    method constructor
+    method count
+    method get
+    method getKey
+    method openCursor
+    method openKeyCursor
+interface webkitIDBKeyRange
+    getter lower
+    getter lowerOpen
+    getter upper
+    getter upperOpen
+    method constructor
+interface webkitIDBObjectStore
+    getter autoIncrement
+    getter indexNames
+    getter keyPath
+    getter name
+    getter transaction
+    method add
+    method clear
+    method constructor
+    method count
+    method createIndex
+    method delete
+    method deleteIndex
+    method get
+    method index
+    method openCursor
+    method put
+interface webkitIDBRequest
+    getter error
+    getter onerror
+    getter onsuccess
+    getter readyState
+    getter result
+    getter source
+    getter transaction
+    method constructor
+    setter onerror
+    setter onsuccess
+interface webkitIDBTransaction
+    getter db
+    getter error
+    getter mode
+    getter onabort
+    getter oncomplete
+    getter onerror
+    method abort
+    method constructor
+    method objectStore
+    setter onabort
+    setter oncomplete
+    setter onerror
+interface webkitMediaStream
+    getter active
+    getter ended
+    getter id
+    getter label
+    getter onactive
+    getter onaddtrack
+    getter onended
+    getter oninactive
+    getter onremovetrack
+    method addTrack
+    method clone
+    method constructor
+    method getAudioTracks
+    method getTrackById
+    method getTracks
+    method getVideoTracks
+    method removeTrack
+    method stop
+    setter onactive
+    setter onaddtrack
+    setter onended
+    setter oninactive
+    setter onremovetrack
+interface webkitOfflineAudioContext
+    getter oncomplete
+    method constructor
+    method startRendering
+    setter oncomplete
+interface webkitRTCPeerConnection
+    getter iceConnectionState
+    getter iceGatheringState
+    getter localDescription
+    getter onaddstream
+    getter ondatachannel
+    getter onicecandidate
+    getter oniceconnectionstatechange
+    getter onnegotiationneeded
+    getter onremovestream
+    getter onsignalingstatechange
+    getter remoteDescription
+    getter signalingState
+    method addIceCandidate
+    method addStream
+    method close
+    method constructor
+    method createAnswer
+    method createDTMFSender
+    method createDataChannel
+    method createOffer
+    method getLocalStreams
+    method getRemoteStreams
+    method getStats
+    method getStreamById
+    method removeStream
+    method setLocalDescription
+    method setRemoteDescription
+    method updateIce
+    setter onaddstream
+    setter ondatachannel
+    setter onicecandidate
+    setter oniceconnectionstatechange
+    setter onnegotiationneeded
+    setter onremovestream
+    setter onsignalingstatechange
+interface webkitURL
+    getter hash
+    getter host
+    getter hostname
+    getter href
+    getter origin
+    getter password
+    getter pathname
+    getter port
+    getter protocol
+    getter search
+    getter username
+    method constructor
+    method toString
+    setter hash
+    setter host
+    setter hostname
+    setter href
+    setter password
+    setter pathname
+    setter port
+    setter protocol
+    setter search
+    setter username
+This test documents all interface attributes and methods on the global window object and element instances.
+TEST FINISHED