Skip to content

Commit

Permalink
[chromium] Add NullPointerException in PromptDelegateImpl
Browse files Browse the repository at this point in the history
This patch adds NullPointerException since `mDelegate` can be null.
  • Loading branch information
MyidShin committed Feb 21, 2024
1 parent d9c38c9 commit eeeebd2
Showing 1 changed file with 28 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,27 +48,45 @@ public PromptDelegateImpl(WSession.PromptDelegate mDelegate, SessionImpl mSessio
@Override
public void onAlertDialog(@NonNull String message,
UserDialogManagerBridge.DialogCallback dialogCallback) {
mDelegate.onAlertPrompt(mSession, new AlertPrompt(dialogCallback, message));
try {
mDelegate.onAlertPrompt(mSession, new AlertPrompt(dialogCallback, message));
} catch (NullPointerException e) {
dialogCallback.dismiss();
}
}

@Override
public void onConfirmDialog(@NonNull String message,
UserDialogManagerBridge.DialogCallback dialogCallback) {
mDelegate.onButtonPrompt(mSession, new ButtonPrompt(dialogCallback, message));
try {
mDelegate.onButtonPrompt(mSession, new ButtonPrompt(dialogCallback, message));
} catch (NullPointerException e) {
dialogCallback.dismiss();
}
}

@Override
public void onTextDialog(@NonNull String message, @NonNull String defaultUserInput,
UserDialogManagerBridge.DialogCallback dialogCallback) {
mDelegate.onTextPrompt(mSession, new TextPrompt(dialogCallback, message, defaultUserInput));
try {
mDelegate.onTextPrompt(mSession, new TextPrompt(dialogCallback, message, defaultUserInput));
} catch (NullPointerException e) {
dialogCallback.dismiss();
}
}

@Override
public void onBeforeUnloadDialog(UserDialogManagerBridge.DialogCallback dialogCallback) {
mDelegate.onBeforeUnloadPrompt(mSession, new BeforeUnloadPrompt(dialogCallback));
try {
mDelegate.onBeforeUnloadPrompt(mSession, new BeforeUnloadPrompt(dialogCallback));
} catch (NullPointerException e) {
dialogCallback.dismiss();
}
}

public WResult<PromptResponseImpl> onRepostConfirmWarningDialog() {
if (mDelegate == null)
return WResult.fromValue(null);;
return mDelegate.onRepostConfirmPrompt(mSession, new RepostConfirmPrompt()).then(result -> WResult.fromValue((PromptResponseImpl) result));
}

Expand Down Expand Up @@ -481,10 +499,9 @@ public ChoicePromptBridge(Context windowContext, Callback<int[]> selectionChange
@Override
public void show() {
try {
final WSession.PromptDelegate delegate = mSession.getPromptDelegate();
delegate.onChoicePrompt(mSession, mChoicePrompt);
} catch (WindowManager.BadTokenException e) {
mChoicePrompt.markComplete();
mDelegate.onChoicePrompt(mSession, mChoicePrompt);
} catch (WindowManager.BadTokenException | NullPointerException e) {
mChoicePrompt.dismiss();
}
}

Expand All @@ -511,10 +528,9 @@ public ColorPromptBridge(int initialColor, ColorChooserManager.Listener listener
@Override
public void show() {
try {
final WSession.PromptDelegate delegate = mSession.getPromptDelegate();
delegate.onColorPrompt(mSession, mColorPrompt);
} catch (WindowManager.BadTokenException e) {
mColorPrompt.markComplete();
mDelegate.onColorPrompt(mSession, mColorPrompt);
} catch (WindowManager.BadTokenException | NullPointerException e) {
mColorPrompt.dismiss();
}
}

Expand Down

0 comments on commit eeeebd2

Please sign in to comment.