Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e9fe62b authored by Cary Clark's avatar Cary Clark
Browse files

do not merge -- original checkin to mr2 here:

https://android-git.corp.google.com/g/#change,30204

check for native initialization before calling public function

Added more checks where it is possible to call a native function
after creating a WebView but before the native side is initialized.

These cases can be triggered by the monkey.

Fixes http://b/issue?id=2187719
parent 8b1243e5
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -1713,6 +1713,7 @@ public class WebView extends AbsoluteLayout
     *            as the data member with "url" as key. The result can be null.
     *            as the data member with "url" as key. The result can be null.
     */
     */
    public void requestImageRef(Message msg) {
    public void requestImageRef(Message msg) {
        if (0 == mNativeClass) return; // client isn't initialized
        int contentX = viewToContentX((int) mLastTouchX + mScrollX);
        int contentX = viewToContentX((int) mLastTouchX + mScrollX);
        int contentY = viewToContentY((int) mLastTouchY + mScrollY);
        int contentY = viewToContentY((int) mLastTouchY + mScrollY);
        String ref = nativeImageURI(contentX, contentY);
        String ref = nativeImageURI(contentX, contentY);
@@ -2331,6 +2332,7 @@ public class WebView extends AbsoluteLayout
     * @param forward Direction to search.
     * @param forward Direction to search.
     */
     */
    public void findNext(boolean forward) {
    public void findNext(boolean forward) {
        if (0 == mNativeClass) return; // client isn't initialized
        nativeFindNext(forward);
        nativeFindNext(forward);
    }
    }


@@ -2341,6 +2343,7 @@ public class WebView extends AbsoluteLayout
     *              that were found.
     *              that were found.
     */
     */
    public int findAll(String find) {
    public int findAll(String find) {
        if (0 == mNativeClass) return 0; // client isn't initialized
        if (mFindIsUp == false) {
        if (mFindIsUp == false) {
            recordNewContentSize(mContentWidth, mContentHeight + mFindHeight,
            recordNewContentSize(mContentWidth, mContentHeight + mFindHeight,
                    false);
                    false);
@@ -3431,6 +3434,7 @@ public class WebView extends AbsoluteLayout
     * @hide
     * @hide
     */
     */
    public void emulateShiftHeld() {
    public void emulateShiftHeld() {
        if (0 == mNativeClass) return; // client isn't initialized
        mExtendSelection = false;
        mExtendSelection = false;
        mShiftIsPressed = true;
        mShiftIsPressed = true;
        nativeHideCursor();
        nativeHideCursor();