summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/WebKit/android/jni/WebViewCore.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/Source/WebKit/android/jni/WebViewCore.cpp b/Source/WebKit/android/jni/WebViewCore.cpp
index c3937bc..3a48490 100644
--- a/Source/WebKit/android/jni/WebViewCore.cpp
+++ b/Source/WebKit/android/jni/WebViewCore.cpp
@@ -538,6 +538,8 @@ WebViewCore* WebViewCore::getWebViewCore(const WebCore::FrameView* view)
{
if (!view)
return 0;
+ if (view->platformWidget())
+ return static_cast<WebFrameView*>(view->platformWidget())->webViewCore();
Frame* frame = view->frame();
while (Frame* parent = frame->tree()->parent())
frame = parent;
@@ -553,9 +555,16 @@ WebViewCore* WebViewCore::getWebViewCore(const WebCore::ScrollView* view)
{
if (!view)
return 0;
- FrameView* frameView = static_cast<FrameView*>(view->root());
- if (!frameView)
- return 0;
+ if (view->platformWidget())
+ return static_cast<WebFrameView*>(view->platformWidget())->webViewCore();
+ const FrameView* frameView = 0;
+ if (view->isFrameView())
+ frameView = static_cast<const FrameView*>(view);
+ else {
+ frameView = static_cast<const FrameView*>(view->root());
+ if (!frameView)
+ return 0;
+ }
return getWebViewCore(frameView);
}
@@ -898,8 +907,6 @@ void WebViewCore::scrollTo(int x, int y, bool animate)
{
ALOG_ASSERT(m_javaGlue->m_obj, "A Java widget was not associated with this view bridge!");
-// ALOGD("WebViewCore::scrollTo(%d %d)\n", x, y);
-
JNIEnv* env = JSC::Bindings::getJNIEnv();
AutoJObject javaObject = m_javaGlue->object(env);
if (!javaObject.get())