ResourceHandleAndroid fix
diff --git a/WebCore/platform/network/android/ResourceHandleAndroid.cpp b/WebCore/platform/network/android/ResourceHandleAndroid.cpp
index d67bc2b..8da2446 100644
--- a/WebCore/platform/network/android/ResourceHandleAndroid.cpp
+++ b/WebCore/platform/network/android/ResourceHandleAndroid.cpp
@@ -93,7 +93,7 @@
 * side may be slow, but is only used during a navigation to
 * a POST response.
 */
-bool ResourceHandle::willLoadFromCache(ResourceRequest& request) 
+bool ResourceHandle::willLoadFromCache(ResourceRequest& request, Frame*)
 {
     // set the cache policy correctly, copied from
     // network/mac/ResourceHandleMac.mm
diff --git a/WebCore/plugins/PluginDatabase.h b/WebCore/plugins/PluginDatabase.h
index e5e4d4f..14a6fb3 100644
--- a/WebCore/plugins/PluginDatabase.h
+++ b/WebCore/plugins/PluginDatabase.h
@@ -81,14 +81,7 @@
         static Vector<String> defaultPluginDirectories();
         Vector<String> pluginDirectories() const { return m_pluginDirectories; }
 
-#ifdef ANDROID_PLUGINS
-        void setPluginDirectories(const Vector<String>& directories) { m_pluginDirectories = directories; }
-#endif
-
     private:
-#ifndef ANDROID_PLUGINS
-        void setPluginDirectories(const Vector<String>& directories) { m_pluginDirectories = directories; }
-#endif
         void getPluginPathsInDirectories(HashSet<String>&) const;
         void getDeletedPlugins(PluginSet&) const;
 
diff --git a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
index 7554a84..c69d5e7 100644
--- a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
@@ -905,17 +905,17 @@
             && equalIgnoringCase(mimeType, "application/x-shockwave-flash");
 }
 
-Widget* FrameLoaderClientAndroid::createPlugin(
+WTF::PassRefPtr<Widget> FrameLoaderClientAndroid::createPlugin(
         const IntSize& size,
         HTMLPlugInElement* element,
         const KURL& url,
-        const WTF::Vector<String, 0u>& names,
-        const WTF::Vector<String, 0u>& values,
+        const WTF::Vector<String>& names,
+        const WTF::Vector<String>& values,
         const String& mimeType,
         bool loadManually) {
     // Create an iframe for youtube urls.
     if (isYouTubeUrl(url, mimeType)) {
-        RefPtr<Frame> frame = createFrame(blankURL(), String(), element,
+        WTF::RefPtr<Frame> frame = createFrame(blankURL(), String(), element,
                 String(), false, 0, 0);
         if (frame) {
             // grab everything after /v/
@@ -938,7 +938,9 @@
             delete a;
             loadDataIntoFrame(frame.get(),
                     KURL("file:///android_asset/webkit/"), String(), s);
-            return frame->view();
+            // Transfer ownership to a local refptr.
+            WTF::RefPtr<Widget> widget = adoptRef(frame->view());
+            return widget.release();
         }
         return NULL;
     }
@@ -961,7 +963,7 @@
     notImplemented();
 }
 
-Widget* FrameLoaderClientAndroid::createJavaAppletWidget(const IntSize&, HTMLAppletElement*,
+WTF::PassRefPtr<Widget> FrameLoaderClientAndroid::createJavaAppletWidget(const IntSize&, HTMLAppletElement*,
                                         const KURL& baseURL, const WTF::Vector<String>& paramNames,
                                         const WTF::Vector<String>& paramValues) {
     // don't support widget yet
diff --git a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h
index e0de972..1db3d70 100644
--- a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h
+++ b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.h
@@ -169,12 +169,12 @@
 
         virtual WTF::PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
                                    const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
-       virtual Widget* createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, 
-            const WTF::Vector<WebCore::String, 0u>&, const WTF::Vector<String, 0u>&, 
-            const String&, bool);
+       virtual WTF::PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&,
+               const WTF::Vector<String>&, const WTF::Vector<String>&,
+               const String&, bool loadManually);
         virtual void redirectDataToPlugin(Widget* pluginWidget);
-        
-        virtual Widget* createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const WTF::Vector<String>& paramNames, const WTF::Vector<String>& paramValues);
+
+        virtual WTF::PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const WTF::Vector<String>& paramNames, const WTF::Vector<String>& paramValues);
 
         virtual ObjectContentType objectContentType(const KURL& url, const String& mimeType);
         virtual String overrideMediaType() const;