diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index e643d45..5d8ac35 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -75,6 +75,7 @@
 import android.view.MenuItem.OnMenuItemClickListener;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.WindowManager;
 import android.webkit.MimeTypeMap;
 import android.webkit.ValueCallback;
 import android.webkit.WebChromeClient.CustomViewCallback;
@@ -3314,6 +3315,17 @@
         mActivity.startActivityForResult(voice, VOICE_RESULT);
     }
 
+    public void setWindowDimming(float level) {
+        if (level != 0) {
+            WindowManager.LayoutParams lp = mActivity.getWindow().getAttributes();
+            lp.dimAmount = level;
+            mActivity.getWindow().setAttributes(lp);
+            mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+        } else {
+            mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+        }
+    }
+
     @Override
     public void setBlockEvents(boolean block) {
         mBlockEvents = block;
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java
index 796320a..076e4ad 100644
--- a/src/com/android/browser/NavigationBarPhone.java
+++ b/src/com/android/browser/NavigationBarPhone.java
@@ -228,6 +228,9 @@
             mTabSwitcher.setVisibility(View.VISIBLE);
             mTitleContainer.setBackgroundDrawable(null);
             mMore.setVisibility(mNeedsMenu ? View.VISIBLE : View.GONE);
+            if (mUiController != null) {
+                mUiController.setWindowDimming(0f);
+            }
             break;
         case StateListener.STATE_HIGHLIGHTED:
             mComboIcon.setVisibility(View.GONE);
@@ -240,11 +243,16 @@
             mTabSwitcher.setVisibility(View.GONE);
             mMore.setVisibility(View.GONE);
             mTitleContainer.setBackgroundDrawable(mTextfieldBgDrawable);
+
             if (!mUrlInput.getText().toString().equals(mUrlInput.getTag())) {
                 // only change text if different
                 mUrlInput.setText((String) mUrlInput.getTag(), false);
                 mUrlInput.selectAll();
             }
+
+            if (mUiController != null) {
+                mUiController.setWindowDimming(0.75f);
+            }
             break;
         case StateListener.STATE_EDITED:
             mComboIcon.setVisibility(View.GONE);
diff --git a/src/com/android/browser/UiController.java b/src/com/android/browser/UiController.java
index 36ee452..446083a 100644
--- a/src/com/android/browser/UiController.java
+++ b/src/com/android/browser/UiController.java
@@ -113,4 +113,6 @@
 
     void startVoiceRecognizer();
 
+    void setWindowDimming(float level);
+
 }
