Get drawable directory for the platform buttons.

Fix http://b/issue?id=2086818
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index ce27fd7f9..599c6b0 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -112,8 +112,6 @@
             // create PluginManager with current Context
             PluginManager.getInstance(context);
         }
-        AssetManager am = context.getAssets();
-        nativeCreateFrame(w, am, proxy.getBackForwardList());
 
         mSettings = settings;
         mContext = context;
@@ -121,6 +119,9 @@
         mDatabase = WebViewDatabase.getInstance(context);
         mWebViewCore = w;
 
+        AssetManager am = context.getAssets();
+        nativeCreateFrame(w, am, proxy.getBackForwardList());
+
         if (DebugFlags.BROWSER_FRAME) {
             Log.v(LOGTAG, "BrowserFrame constructor: this=" + this);
         }
@@ -670,6 +671,7 @@
     // these ids need to be in sync with enum RAW_RES_ID in WebFrame
     private static final int NODOMAIN = 1;
     private static final int LOADERROR = 2;
+    private static final int DRAWABLEDIR = 3;
 
     String getRawResFilename(int id) {
         int resid;
@@ -682,12 +684,26 @@
                 resid = com.android.internal.R.raw.loaderror;
                 break;
 
+            case DRAWABLEDIR:
+                // use one known resource to find the drawable directory
+                resid = com.android.internal.R.drawable.btn_check_off;
+                break;
+
             default:
                 Log.e(LOGTAG, "getRawResFilename got incompatible resource ID");
                 return "";
         }
         TypedValue value = new TypedValue();
         mContext.getResources().getValue(resid, value, true);
+        if (id == DRAWABLEDIR) {
+            String path = value.string.toString();
+            int index = path.lastIndexOf('/');
+            if (index < 0) {
+                Log.e(LOGTAG, "Can't find drawable directory.");
+                return "";
+            }
+            return path.substring(0, index + 1);
+        }
         return value.string.toString();
     }