am 574a1296: Merge "Update tilebenchmark to work with current drawing infrastructure"
* commit '574a12968a24a0c24c96908568d8707a8d713d1c': Update tilebenchmark to work with current drawing infrastructure
This commit is contained in:
@@ -4538,7 +4538,7 @@ public class WebView extends AbsoluteLayout
|
||||
boolean isPictureAfterFirstLayout, boolean registerPageSwapCallback) {
|
||||
if (mNativeClass == 0)
|
||||
return;
|
||||
nativeSetBaseLayer(layer, invalRegion, showVisualIndicator,
|
||||
nativeSetBaseLayer(mNativeClass, layer, invalRegion, showVisualIndicator,
|
||||
isPictureAfterFirstLayout, registerPageSwapCallback);
|
||||
if (mHTML5VideoViewProxy != null) {
|
||||
mHTML5VideoViewProxy.setBaseLayer(layer);
|
||||
@@ -9493,7 +9493,12 @@ public class WebView extends AbsoluteLayout
|
||||
|
||||
/** @hide call pageSwapCallback upon next page swap */
|
||||
protected void registerPageSwapCallback() {
|
||||
nativeRegisterPageSwapCallback();
|
||||
nativeRegisterPageSwapCallback(mNativeClass);
|
||||
}
|
||||
|
||||
/** @hide discard all textures from tiles */
|
||||
protected void discardAllTextures() {
|
||||
nativeDiscardAllTextures();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -9643,7 +9648,8 @@ public class WebView extends AbsoluteLayout
|
||||
private native void nativeSetFindIsEmpty();
|
||||
private native void nativeSetFindIsUp(boolean isUp);
|
||||
private native void nativeSetHeightCanMeasure(boolean measure);
|
||||
private native void nativeSetBaseLayer(int layer, Region invalRegion,
|
||||
private native void nativeSetBaseLayer(int nativeInstance,
|
||||
int layer, Region invalRegion,
|
||||
boolean showVisualIndicator, boolean isPictureAfterFirstLayout,
|
||||
boolean registerPageSwapCallback);
|
||||
private native int nativeGetBaseLayer();
|
||||
@@ -9657,7 +9663,8 @@ public class WebView extends AbsoluteLayout
|
||||
private native void nativeStopGL();
|
||||
private native Rect nativeSubtractLayers(Rect content);
|
||||
private native int nativeTextGeneration();
|
||||
private native void nativeRegisterPageSwapCallback();
|
||||
private native void nativeRegisterPageSwapCallback(int nativeInstance);
|
||||
private native void nativeDiscardAllTextures();
|
||||
private native void nativeTileProfilingStart();
|
||||
private native float nativeTileProfilingStop();
|
||||
private native void nativeTileProfilingClear();
|
||||
|
||||
@@ -18,46 +18,52 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
>
|
||||
<LinearLayout
|
||||
android:id="@+id/top"
|
||||
android:layout_width="match_parent"
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/horizontalScrollView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<Spinner
|
||||
android:id="@+id/movement"
|
||||
android:layout_width="wrap_content"
|
||||
<LinearLayout
|
||||
android:id="@+id/top"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:prompt="@string/movement_method"
|
||||
/>
|
||||
<Spinner
|
||||
android:id="@+id/velocity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:prompt="@string/desired_scroll_velocity"
|
||||
/>
|
||||
<ToggleButton
|
||||
android:id="@+id/capture"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textOn="@string/capture_stop"
|
||||
android:textOff="@string/capture_start"
|
||||
/>
|
||||
<EditText
|
||||
android:id="@+id/url"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="textUri"
|
||||
android:imeOptions="actionGo"
|
||||
android:layout_weight="1"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/inspect"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/inspect_log"
|
||||
/>
|
||||
</LinearLayout>
|
||||
>
|
||||
<Spinner
|
||||
android:id="@+id/movement"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:prompt="@string/movement_method"
|
||||
/>
|
||||
<Spinner
|
||||
android:id="@+id/velocity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:prompt="@string/desired_scroll_velocity"
|
||||
/>
|
||||
<ToggleButton
|
||||
android:id="@+id/capture"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textOn="@string/capture_stop"
|
||||
android:textOff="@string/capture_start"
|
||||
/>
|
||||
<EditText
|
||||
android:id="@+id/url"
|
||||
android:layout_width="400dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="textUri"
|
||||
android:imeOptions="actionGo|flagNoExtractUi"
|
||||
android:layout_weight="1"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/inspect"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/inspect_log"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</HorizontalScrollView>
|
||||
<com.test.tilebenchmark.ProfiledWebView
|
||||
android:id="@+id/web"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -276,6 +276,7 @@ public class ProfileActivity extends Activity {
|
||||
settings.setEnableSmoothTransition(true);
|
||||
settings.setBuiltInZoomControls(true);
|
||||
settings.setLoadWithOverviewMode(true);
|
||||
settings.setProperty("use_minimal_memory", "false"); // prefetch tiles, as browser does
|
||||
mWeb.setWebViewClient(new LoggingWebViewClient());
|
||||
|
||||
// URL text entry
|
||||
|
||||
@@ -33,8 +33,7 @@ public class ProfiledWebView extends WebView {
|
||||
private ProfileCallback mCallback;
|
||||
private long mContentInvalMillis;
|
||||
private boolean mHadToBeForced = false;
|
||||
private int mTestCount = 0;
|
||||
private static final int LOAD_STALL_MILLIS = 5000; // nr of millis after load,
|
||||
private static final int LOAD_STALL_MILLIS = 2000; // nr of millis after load,
|
||||
// before test is forced
|
||||
|
||||
public ProfiledWebView(Context context) {
|
||||
@@ -76,13 +75,6 @@ public class ProfiledWebView extends WebView {
|
||||
mIsScrolling = autoScrolling;
|
||||
mCallback = callback;
|
||||
mIsTesting = false;
|
||||
mContentInvalMillis = System.currentTimeMillis();
|
||||
registerPageSwapCallback();
|
||||
contentInvalidateAll();
|
||||
invalidate();
|
||||
|
||||
mTestCount++;
|
||||
final int testCount = mTestCount;
|
||||
|
||||
if (autoScrolling) {
|
||||
// after a while, force it to start even if the pages haven't swapped
|
||||
@@ -93,13 +85,12 @@ public class ProfiledWebView extends WebView {
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
if (testCount == mTestCount && !mIsTesting) {
|
||||
mHadToBeForced = true;
|
||||
Log.d("ProfiledWebView", "num " + testCount
|
||||
+ " forcing a page swap with a scroll...");
|
||||
scrollBy(0, 1);
|
||||
invalidate(); // ensure a redraw so that auto-scrolling can occur
|
||||
}
|
||||
// invalidate all content, and kick off redraw
|
||||
registerPageSwapCallback();
|
||||
discardAllTextures();
|
||||
invalidate();
|
||||
|
||||
mContentInvalMillis = System.currentTimeMillis();
|
||||
}
|
||||
}.start();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user