diff options
author | George Mount <mount@google.com> | 2011-11-10 08:32:10 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-11-10 08:32:10 -0800 |
commit | 20f46fec910aa17f0c59a1fe69348bf271afbf44 (patch) | |
tree | 638eb30bb8ac7b0b71367dc7b840bd68c1a01a68 /Source/WebKit/android/jni/WebCoreFrameBridge.cpp | |
parent | 5d8f08b924be7ee27891cda15c51ed2b5e20753c (diff) | |
parent | 5fd03af0d9f4f978332fa17a40cc9f782db2432c (diff) | |
download | external_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.cpp | 21 |
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) |