summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-05-02 16:11:17 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-02 16:11:17 -0700
commit2f612bdfbd7bf94111015d06ba3fa4e864d0972b (patch)
treed87f6f6061e539864179617df4073c1532779fe9 /core/java
parent1771ee34d1d308193e61a1b75368149f2d06aa6c (diff)
parent33b019b183c8fad8c684967f8d81a2c1897f29e0 (diff)
Merge "Rewrite PictureSet" into jb-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/webkit/WebViewClassic.java36
-rw-r--r--core/java/android/webkit/WebViewCore.java28
2 files changed, 4 insertions, 60 deletions
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index 30229f18acf2..057f4f455d67 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -984,7 +984,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
static final int REQUEST_KEYBOARD = 118;
static final int SHOW_FULLSCREEN = 120;
static final int HIDE_FULLSCREEN = 121;
- static final int REPLACE_BASE_CONTENT = 123;
static final int UPDATE_MATCH_COUNT = 126;
static final int CENTER_FIT_RECT = 127;
static final int SET_SCROLLBAR_MODES = 129;
@@ -4232,14 +4231,8 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
df = mScrollFilter;
}
canvas.setDrawFilter(df);
- // XXX: Revisit splitting content. Right now it causes a
- // synchronization problem with layers.
- int content = nativeDraw(canvas, mVisibleContentRect, mBackgroundColor,
- extras, false);
+ nativeDraw(canvas, mVisibleContentRect, mBackgroundColor, extras);
canvas.setDrawFilter(null);
- if (!mBlockWebkitViewMessages && content != 0) {
- mWebViewCore.sendMessage(EventHub.SPLIT_PICTURE_SET, content, 0);
- }
}
canvas.restoreToCount(saveCount);
@@ -7256,10 +7249,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
mZoomManager.updateDefaultZoomDensity(density);
break;
}
- case REPLACE_BASE_CONTENT: {
- nativeReplaceBaseContent(msg.arg1);
- break;
- }
case NEW_PICTURE_MSG_ID: {
// called for new content
final WebViewCore.DrawData draw = (WebViewCore.DrawData) msg.obj;
@@ -8434,18 +8423,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
}
/**
- * Draw the HTML page into the specified canvas. This call ignores any
- * view-specific zoom, scroll offset, or other changes. It does not draw
- * any view-specific chrome, such as progress or URL bars.
- *
- * only needs to be accessible to Browser and testing
- */
- public void drawPage(Canvas canvas) {
- calcOurContentVisibleRectF(mVisibleContentRect);
- nativeDraw(canvas, mVisibleContentRect, 0, 0, false);
- }
-
- /**
* Enable the communication b/t the webView and VideoViewProxy
*
* only used by the Browser
@@ -8578,14 +8555,8 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
private native void nativeDebugDump();
private native void nativeDestroy();
- /**
- * Draw the picture set with a background color and extra. If
- * "splitIfNeeded" is true and the return value is not 0, the return value
- * MUST be passed to WebViewCore with SPLIT_PICTURE_SET message so that the
- * native allocation can be freed.
- */
- private native int nativeDraw(Canvas canvas, RectF visibleRect,
- int color, int extra, boolean splitIfNeeded);
+ private native void nativeDraw(Canvas canvas, RectF visibleRect,
+ int color, int extra);
private native void nativeDumpDisplayTree(String urlOrNull);
private native boolean nativeEvaluateLayersAnimations(int nativeInstance);
private native int nativeCreateDrawGLFunction(int nativeInstance, Rect rect,
@@ -8599,7 +8570,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
private native boolean nativeSetBaseLayer(int nativeInstance,
int layer, boolean showVisualIndicator, boolean isPictureAfterFirstLayout);
private native int nativeGetBaseLayer();
- private native void nativeReplaceBaseContent(int content);
private native void nativeCopyBaseContentToPicture(Picture pict);
private native boolean nativeHasContent();
private native void nativeStopGL();
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 12c9d69bc74c..7a757a81e4cf 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -610,12 +610,6 @@ public final class WebViewCore {
private native boolean nativeFocusBoundsChanged(int nativeClass);
- /**
- * Splits slow parts of the picture set. Called from the webkit thread after
- * WebView.nativeDraw() returns content to be split.
- */
- private native void nativeSplitContent(int nativeClass, int content);
-
private native boolean nativeKey(int nativeClass, int keyCode,
int unichar, int repeatCount, boolean isShift, boolean isAlt,
boolean isSym, boolean isDown);
@@ -1018,7 +1012,7 @@ public final class WebViewCore {
"WEBKIT_DRAW", // = 130;
"131", // = 131;
"POST_URL", // = 132;
- "SPLIT_PICTURE_SET", // = 133;
+ "", // = 133;
"CLEAR_CONTENT", // = 134;
"", // = 135;
"", // = 136;
@@ -1094,7 +1088,6 @@ public final class WebViewCore {
static final int WEBKIT_DRAW = 130;
static final int POST_URL = 132;
- static final int SPLIT_PICTURE_SET = 133;
static final int CLEAR_CONTENT = 134;
// UI nav messages
@@ -1611,13 +1604,6 @@ public final class WebViewCore {
data.mOrigin, data.mAllow, data.mRemember);
break;
- case SPLIT_PICTURE_SET:
- nativeSplitContent(mNativeClass, msg.arg1);
- mWebViewClassic.mPrivateHandler.obtainMessage(
- WebViewClassic.REPLACE_BASE_CONTENT, msg.arg1, 0);
- mSplitPictureIsScheduled = false;
- break;
-
case CLEAR_CONTENT:
// Clear the view so that onDraw() will draw nothing
// but white background
@@ -1879,7 +1865,6 @@ public final class WebViewCore {
private synchronized void removeMessages() {
// reset mDrawIsScheduled flag as WEBKIT_DRAW may be removed
mDrawIsScheduled = false;
- mSplitPictureIsScheduled = false;
if (mMessages != null) {
mMessages.clear();
} else {
@@ -2141,20 +2126,9 @@ public final class WebViewCore {
return usedQuota;
}
- // called from UI thread
- void splitContent(int content) {
- if (!mSplitPictureIsScheduled) {
- mSplitPictureIsScheduled = true;
- sendMessage(EventHub.SPLIT_PICTURE_SET, content, 0);
- }
- }
-
// Used to avoid posting more than one draw message.
private boolean mDrawIsScheduled;
- // Used to avoid posting more than one split picture message.
- private boolean mSplitPictureIsScheduled;
-
// Used to suspend drawing.
private boolean mDrawIsPaused;