summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2011-11-10 08:32:10 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-10 08:32:10 -0800
commit20f46fec910aa17f0c59a1fe69348bf271afbf44 (patch)
tree638eb30bb8ac7b0b71367dc7b840bd68c1a01a68 /Source/WebKit/android/jni/WebCoreFrameBridge.cpp
parent5d8f08b924be7ee27891cda15c51ed2b5e20753c (diff)
parent5fd03af0d9f4f978332fa17a40cc9f782db2432c (diff)
downloadexternal_webkit-20f46fec910aa17f0c59a1fe69348bf271afbf44.zip
external_webkit-20f46fec910aa17f0c59a1fe69348bf271afbf44.tar.gz
external_webkit-20f46fec910aa17f0c59a1fe69348bf271afbf44.tar.bz2
Merge "DO NOT MERGE Offset scroll area by the scroll origin on Android" into ics-mr1
Diffstat (limited to 'Source/WebKit/android/jni/WebCoreFrameBridge.cpp')
-rw-r--r--Source/WebKit/android/jni/WebCoreFrameBridge.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
index bb28d28..d53ddb6 100644
--- a/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
+++ b/Source/WebKit/android/jni/WebCoreFrameBridge.cpp
@@ -2117,6 +2117,25 @@ static void OrientationChanged(JNIEnv *env, jobject obj, int orientation)
pFrame->sendOrientationChangeEvent(orientation);
}
+static jboolean GetShouldStartScrolledRight(JNIEnv *env, jobject obj,
+ jint browserFrame)
+{
+ jboolean startScrolledRight = false; // default is start scrolled left
+ WebCore::Frame* frame = reinterpret_cast<WebCore::Frame*>(browserFrame);
+ WebCore::Document* document = frame->document();
+ if (document) {
+ RenderStyle* style = document->renderer()->style();
+ WritingMode writingMode = style->writingMode();
+ LOG_ASSERT(writingMode != WebCore::BottomToTopWritingMode,
+ "BottomToTopWritingMode isn't supported");
+ if (writingMode == WebCore::RightToLeftWritingMode)
+ startScrolledRight = true; // vertical-rl pages start scrolled right
+ else if (writingMode == WebCore::TopToBottomWritingMode)
+ startScrolledRight = !style->isLeftToRightDirection(); // RTL starts right
+ }
+ return startScrolledRight;
+}
+
#if USE(CHROME_NETWORK_STACK)
static void AuthenticationProceed(JNIEnv *env, jobject obj, int handle, jstring jUsername, jstring jPassword)
@@ -2315,6 +2334,8 @@ static JNINativeMethod gBrowserFrameNativeMethods[] = {
(void*) SslCertErrorCancel },
{ "nativeSslClientCert", "(I[B[[B)V",
(void*) SslClientCert },
+ { "nativeGetShouldStartScrolledRight", "(I)Z",
+ (void*) GetShouldStartScrolledRight },
};
int registerWebFrame(JNIEnv* env)