Strengthen SuperDevMode test in selection script

Selection script used sessionStorage without checking first whether it's
supported and enabled (e.g. IE8 doesn't support it with local files).

Bug: issue 8587
Change-Id: I5d5b9312d9a8c5db87924ea943e2230cda1e5fac
(cherry picked from commit e1e8e20e056c186d73e492473c04043d76912af1)
diff --git a/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js b/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js
index aa19b6d..3c1287d 100644
--- a/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js
+++ b/dev/core/src/com/google/gwt/core/linker/DevModeRedirectHook.js
@@ -22,7 +22,19 @@
   // (This assumes that properties.js has already set up the map.)
   $wnd.__gwt_activeModules["__MODULE_NAME__"].canRedirect = devModePermitted;
 
-  if (devModePermitted) {
+  function supportsSessionStorage() {
+    // adapted from Modernizr
+    var key = '_gwt_dummy_';
+    try {
+      $wnd.sessionStorage.setItem(key, key);
+      $wnd.sessionStorage.removeItem(key);
+      return true;
+    } catch(e) {
+      return false;
+    }
+  }
+
+  if (devModePermitted && supportsSessionStorage()) {
     // We use a different key for each module so that we can turn on dev mode
     // independently for each.
     var devModeKey = '__gwtDevModeHook:__MODULE_NAME__';