Skip to content

Commit

Permalink
[chromium] Add the null check in PromptDelegateImpl
Browse files Browse the repository at this point in the history
This patch adds the null check since `mDelegate` can be null.
  • Loading branch information
MyidShin committed Feb 22, 2024
1 parent 96a090f commit 4879b26
Showing 1 changed file with 40 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,27 +61,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));
if (mDelegate != null) {
mDelegate.onAlertPrompt(mSession, new AlertPrompt(dialogCallback, message));
} else {
dialogCallback.dismiss();
}
}

@Override
public void onConfirmDialog(@NonNull String message,
UserDialogManagerBridge.DialogCallback dialogCallback) {
mDelegate.onButtonPrompt(mSession, new ButtonPrompt(dialogCallback, message));
if (mDelegate != null) {
mDelegate.onButtonPrompt(mSession, new ButtonPrompt(dialogCallback, message));
} else {
dialogCallback.dismiss();
}
}

@Override
public void onTextDialog(@NonNull String message, @NonNull String defaultUserInput,
UserDialogManagerBridge.DialogCallback dialogCallback) {
mDelegate.onTextPrompt(mSession, new TextPrompt(dialogCallback, message, defaultUserInput));
if (mDelegate != null) {
mDelegate.onTextPrompt(mSession, new TextPrompt(dialogCallback, message, defaultUserInput));
} else {
dialogCallback.dismiss();
}
}

@Override
public void onBeforeUnloadDialog(UserDialogManagerBridge.DialogCallback dialogCallback) {
mDelegate.onBeforeUnloadPrompt(mSession, new BeforeUnloadPrompt(dialogCallback));
if (mDelegate != null) {
mDelegate.onBeforeUnloadPrompt(mSession, new BeforeUnloadPrompt(dialogCallback));
} else {
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 @@ -494,10 +512,13 @@ public ChoicePromptBridge(Context windowContext, Callback<int[]> selectionChange
@Override
public void show() {
try {
final WSession.PromptDelegate delegate = mSession.getPromptDelegate();
delegate.onChoicePrompt(mSession, mChoicePrompt);
if (mDelegate != null) {
mDelegate.onChoicePrompt(mSession, mChoicePrompt);
} else {
mChoicePrompt.dismiss();
}
} catch (WindowManager.BadTokenException e) {
mChoicePrompt.markComplete();
mChoicePrompt.dismiss();
}
}

Expand All @@ -524,10 +545,13 @@ public ColorPromptBridge(int initialColor, ColorChooserManager.Listener listener
@Override
public void show() {
try {
final WSession.PromptDelegate delegate = mSession.getPromptDelegate();
delegate.onColorPrompt(mSession, mColorPrompt);
if (mDelegate != null) {
mDelegate.onColorPrompt(mSession, mColorPrompt);
} else {
mColorPrompt.dismiss();
}
} catch (WindowManager.BadTokenException e) {
mColorPrompt.markComplete();
mColorPrompt.dismiss();
}
}

Expand Down Expand Up @@ -593,8 +617,12 @@ public void showDialog(final int type, final double value,
mDatePrompt.setDateTime(type, value, min, max);

try {
mDelegate.onDateTimePrompt(mSession, mDatePrompt);
} catch (WindowManager.BadTokenException | NullPointerException e) {
if (mDelegate != null) {
mDelegate.onDateTimePrompt(mSession, mDatePrompt);
} else {
mDatePrompt.dismiss();
}
} catch (WindowManager.BadTokenException e) {
mDatePrompt.dismiss();
}
}
Expand Down

0 comments on commit 4879b26

Please sign in to comment.