Remove ANDROID_USER_GESTURE as the bug it fixed no longer applies.

I tested the original bug and found that without this change, the link works
perfectly fine. The only thing that does not work with this change is redirects
within iframes that are to non-http protocols. This is ok since iframes can
always change the parent window's location if this is the desired behavior.
diff --git a/WebCore/WebCorePrefixAndroid.h b/WebCore/WebCorePrefixAndroid.h
index a024ccd..acb0967 100644
--- a/WebCore/WebCorePrefixAndroid.h
+++ b/WebCore/WebCorePrefixAndroid.h
@@ -114,12 +114,6 @@
 // PLUGIN_SCHEDULE_TIMER)
 #define ANDROID_PLUGINS
 
-// This should possibly be patched back to WebKit since they seem to lose the
-// user gesture hint. If we do decide to patch this back, the user gesture flag
-// should probably be passed in the NavigationAction rather than the
-// ResourceRequest.
-#define ANDROID_USER_GESTURE
-
 // Add support for the orientation window property
 #define ANDROID_ORIENTATION_SUPPORT
 
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index 88beb24..af0fdad 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -425,9 +425,6 @@
     RefPtr<Frame> protect(m_frame);
 
     ResourceRequest request(url, referrer, refresh ? ReloadIgnoringCacheData : UseProtocolCachePolicy);
-#ifdef ANDROID_USER_GESTURE
-    request.setUserGesture(userGesture);
-#endif
     
     if (executeIfJavaScriptURL(request.url(), userGesture))
         return;
@@ -445,9 +442,6 @@
         target = m_frame->document()->baseTarget();
 
     FrameLoadRequest frameRequest(request, target);
-#ifdef ANDROID_USER_GESTURE
-    frameRequest.setWasUserGesture(userGesture);
-#endif
 
     if (frameRequest.resourceRequest().httpReferrer().isEmpty())
         frameRequest.resourceRequest().setHTTPReferrer(m_outgoingReferrer);
@@ -585,10 +579,6 @@
 
     formData->generateFiles(m_frame->page()->chrome()->client());
     
-#ifdef ANDROID_USER_GESTURE
-    frameRequest.setWasUserGesture(userGestureHint());
-#endif
-
     if (!m_outgoingReferrer.isEmpty())
         frameRequest.resourceRequest().setHTTPReferrer(m_outgoingReferrer);
 
@@ -1385,17 +1375,7 @@
 
     // We want a new history item if the refresh timeout is > 1 second.
     if (!m_scheduledRedirection || delay <= m_scheduledRedirection->delay)
-#ifdef ANDROID_USER_GESTURE
-    {
-        bool wasUserGesture = false;
-        DocumentLoader* docLoader = activeDocumentLoader();
-        if (docLoader)
-            wasUserGesture = docLoader->request().userGesture();
-        scheduleRedirection(new ScheduledRedirection(delay, url, true, delay <= 1, wasUserGesture, false));
-    }
-#else
         scheduleRedirection(new ScheduledRedirection(delay, url, true, delay <= 1, false, false));
-#endif
 }
 
 void FrameLoader::scheduleLocationChange(const String& url, const String& referrer, bool lockHistory, bool lockBackForwardList, bool wasUserGesture)
@@ -2277,32 +2257,13 @@
     }
 }
 
-#ifdef ANDROID_USER_GESTURE
-void FrameLoader::loadPostRequest(const ResourceRequest& request, const String& referrer, const String& frameName, bool lockHistory, FrameLoadType type, PassRefPtr<Event> event, PassRefPtr<FormState> state)
-{
-    loadPostRequest(request, referrer, frameName, lockHistory, type, event, state, false);
-}
-
-void FrameLoader::loadURL(const KURL& url, const String& referrer, const String& frameName, bool lockHistory, FrameLoadType type, PassRefPtr<Event> event, PassRefPtr<FormState> state)
-{
-    loadURL(url, referrer, frameName, lockHistory, type, event, state, false);
-}
-
-void FrameLoader::loadURL(const KURL& newURL, const String& referrer, const String& frameName, bool lockHistory, FrameLoadType newLoadType,
-    PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState,
-    bool userGesture)
-#else
 void FrameLoader::loadURL(const KURL& newURL, const String& referrer, const String& frameName, bool lockHistory, FrameLoadType newLoadType,
     PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState)
-#endif
 {
     RefPtr<FormState> formState = prpFormState;
     bool isFormSubmission = formState;
     
     ResourceRequest request(newURL);
-#ifdef ANDROID_USER_GESTURE
-    request.setUserGesture(userGesture);
-#endif
     if (!referrer.isEmpty()) {
         request.setHTTPReferrer(referrer);
         RefPtr<SecurityOrigin> referrerOrigin = SecurityOrigin::createFromString(referrer);
@@ -3721,11 +3682,7 @@
     m_client->committedLoad(loader, data, length);
 }
 
-#ifdef ANDROID_USER_GESTURE
-void FrameLoader::loadPostRequest(const ResourceRequest& inRequest, const String& referrer, const String& frameName, bool lockHistory, FrameLoadType loadType, PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState, bool userGesture)
-#else
 void FrameLoader::loadPostRequest(const ResourceRequest& inRequest, const String& referrer, const String& frameName, bool lockHistory, FrameLoadType loadType, PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState)
-#endif
 {
     RefPtr<FormState> formState = prpFormState;
 
@@ -3745,9 +3702,6 @@
     String origin = inRequest.httpOrigin();
 
     ResourceRequest workingResourceRequest(url);    
-#ifdef ANDROID_USER_GESTURE
-    workingResourceRequest.setUserGesture(userGesture);
-#endif
 
     if (!referrer.isEmpty())
         workingResourceRequest.setHTTPReferrer(referrer);
diff --git a/WebCore/loader/FrameLoader.h b/WebCore/loader/FrameLoader.h
index 24e7d96..6a63382 100644
--- a/WebCore/loader/FrameLoader.h
+++ b/WebCore/loader/FrameLoader.h
@@ -512,13 +512,6 @@
         void loadWithNavigationAction(const ResourceRequest&, const NavigationAction&,      // Calls loadWithDocumentLoader
             bool lockHistory, FrameLoadType, PassRefPtr<FormState>);
 
-#ifdef ANDROID_USER_GESTURE
-        void loadPostRequest(const ResourceRequest&, const String& referrer,                // Called by loadFrameRequest, calls loadWithNavigationAction
-            const String& frameName, bool lockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>, bool userGesture);
-        void loadURL(const KURL&, const String& referrer, const String& frameName,          // Called by loadFrameRequest, calls loadWithNavigationAction or dispatches to navigation policy delegate
-            bool lockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>, bool userGesture);
-#endif // ANDROID_USER_GESTURE
-
         void loadPostRequest(const ResourceRequest&, const String& referrer,                // Called by loadFrameRequest, calls loadWithNavigationAction
             const String& frameName, bool lockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>);
         void loadURL(const KURL&, const String& referrer, const String& frameName,          // Called by loadFrameRequest, calls loadWithNavigationAction or dispatches to navigation policy delegate
diff --git a/WebCore/page/FrameLoadRequest.h b/WebCore/page/FrameLoadRequest.h
index 0f92c45..b84a1ec 100644
--- a/WebCore/page/FrameLoadRequest.h
+++ b/WebCore/page/FrameLoadRequest.h
@@ -33,26 +33,17 @@
     struct FrameLoadRequest {
     public:
         FrameLoadRequest()
-#ifdef ANDROID_USER_GESTURE
-            : m_wasUserGesture(true)
-#endif
         {
         }
 
         FrameLoadRequest(const ResourceRequest& resourceRequest)
             : m_resourceRequest(resourceRequest)
-#ifdef ANDROID_USER_GESTURE
-            , m_wasUserGesture(true)
-#endif
         {
         }
 
         FrameLoadRequest(const ResourceRequest& resourceRequest, const String& frameName)
             : m_resourceRequest(resourceRequest)
             , m_frameName(frameName)
-#ifdef ANDROID_USER_GESTURE
-            , m_wasUserGesture(true)
-#endif
         {
         }
 
@@ -64,17 +55,9 @@
         const String& frameName() const { return m_frameName; }
         void setFrameName(const String& frameName) { m_frameName = frameName; }
 
-#ifdef ANDROID_USER_GESTURE
-        void setWasUserGesture(bool wasUserGesture) { m_wasUserGesture = wasUserGesture; }
-        bool wasUserGesture() const { return m_wasUserGesture; }
-#endif
-
     private:
         ResourceRequest m_resourceRequest;
         String m_frameName;
-#ifdef ANDROID_USER_GESTURE
-        bool m_wasUserGesture;
-#endif
     };
 
 }
diff --git a/WebCore/platform/network/android/ResourceRequest.h b/WebCore/platform/network/android/ResourceRequest.h
index bc12600..937707f 100644
--- a/WebCore/platform/network/android/ResourceRequest.h
+++ b/WebCore/platform/network/android/ResourceRequest.h
@@ -38,27 +38,18 @@
         ResourceRequest(const String& url) 
             : ResourceRequestBase(KURL(url), UseProtocolCachePolicy)
             , m_cachedResource(0)
-#ifdef ANDROID_USER_GESTURE
-            , m_wasUserGesture(true)
-#endif
         {
         }
 
         ResourceRequest(const KURL& url) 
             : ResourceRequestBase(url, UseProtocolCachePolicy)
             , m_cachedResource(0)
-#ifdef ANDROID_USER_GESTURE
-            , m_wasUserGesture(true)
-#endif
         {
         }
 
         ResourceRequest(const KURL& url, const String& referrer, ResourceRequestCachePolicy policy = UseProtocolCachePolicy) 
             : ResourceRequestBase(url, policy)
             , m_cachedResource(0)
-#ifdef ANDROID_USER_GESTURE
-            , m_wasUserGesture(true)
-#endif
         {
             setHTTPReferrer(referrer);
         }
@@ -66,9 +57,6 @@
         ResourceRequest()
             : ResourceRequestBase(KURL(), UseProtocolCachePolicy)
             , m_cachedResource(0)
-#ifdef ANDROID_USER_GESTURE
-            , m_wasUserGesture(true)
-#endif
         {
         }
         
@@ -76,16 +64,9 @@
         void doUpdateResourceRequest() {}
         void setCachedResource(CachedResource* r) { m_cachedResource = r; }
         CachedResource* getCachedResource() const { return m_cachedResource; }
-#ifdef ANDROID_USER_GESTURE
-        void setUserGesture(bool userGesture)     { m_wasUserGesture = userGesture; }
-        bool userGesture() const                  { return m_wasUserGesture; }
-#endif
     private:
         friend class ResourceRequestBase;
         CachedResource* m_cachedResource;
-#ifdef ANDROID_USER_GESTURE
-        bool m_wasUserGesture;
-#endif
     };
 
 } // namespace WebCore
diff --git a/WebKit/android/jni/WebCoreFrameBridge.cpp b/WebKit/android/jni/WebCoreFrameBridge.cpp
index 091417b..3e55693 100644
--- a/WebKit/android/jni/WebCoreFrameBridge.cpp
+++ b/WebKit/android/jni/WebCoreFrameBridge.cpp
@@ -584,17 +584,11 @@
 #ifdef ANDROID_INSTRUMENT
     TimeCounterAuto counter(TimeCounter::JavaCallbackTimeCounter);
 #endif
-    // Internal loads are ok but any request that is due to a user hitting a key
-    // should be checked.
-    bool userGesture = false;
-#ifdef ANDROID_USER_GESTURE
-    userGesture = request.userGesture();
-#endif
     // always handle "POST" in place
     if (equalIgnoringCase(request.httpMethod(), "POST"))
         return true;
     WebCore::KURL requestUrl = request.url();
-    if (!mUserInitiatedClick && !userGesture &&
+    if (!mUserInitiatedClick &&
         (requestUrl.protocolIs("http") || requestUrl.protocolIs("https") ||
             requestUrl.protocolIs("file") || requestUrl.protocolIs("about") ||
             requestUrl.protocolIs("javascript")))