Enable some special debug url.

about.debug.dom -> dump the dom tree to adb log
about.debug.dom.tree -> dump the dom tree to /sdcard/domTree.txt
about.debug.render -> dump the render tree to adb log
about.debug.render.tree -> dump the render tree to /sdcard/renderTree.txt
about.debug.display -> dump the display tree to /sdcard/displayTree.txt
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 55e3dda..3b117df 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -519,8 +519,21 @@
                     }
                 }
             } else {
-                if ("about:debug".equals(urlData.mUrl)) {
-                    mSettings.toggleDebugSettings();
+                if (!urlData.isEmpty()
+                        && urlData.mUrl.startsWith("about:debug")) {
+                    if ("about:debug.dom".equals(urlData.mUrl)) {
+                        current.getWebView().dumpDomTree(false);
+                    } else if ("about:debug.dom.file".equals(urlData.mUrl)) {
+                        current.getWebView().dumpDomTree(true);
+                    } else if ("about:debug.render".equals(urlData.mUrl)) {
+                        current.getWebView().dumpRenderTree(false);
+                    } else if ("about:debug.render.file".equals(urlData.mUrl)) {
+                        current.getWebView().dumpRenderTree(true);
+                    } else if ("about:debug.display".equals(urlData.mUrl)) {
+                        current.getWebView().dumpDisplayTree();
+                    } else {
+                        mSettings.toggleDebugSettings();
+                    }
                     return;
                 }
                 // Get rid of the subwindow if it exists