зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1851761 - [bidi] Add `defaultValue` field to the "browsingContext.userPromptOpened" event. r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D189633
This commit is contained in:
Родитель
15aa26cc46
Коммит
5efc971076
|
@ -210,4 +210,18 @@ modal.Dialog = class {
|
|||
}
|
||||
return this.ui.infoBody.textContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns text of the prompt input.
|
||||
*
|
||||
* @returns {string}
|
||||
* Returns string on desktop and Promise on Android.
|
||||
*/
|
||||
async getInputText() {
|
||||
if (lazy.AppInfo.isAndroid) {
|
||||
const textPromise = await this.window.getInputText();
|
||||
return textPromise;
|
||||
}
|
||||
return this.ui.loginTextbox.value;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1679,12 +1679,6 @@
|
|||
"parameters": ["cdp", "firefox"],
|
||||
"expectations": ["FAIL"]
|
||||
},
|
||||
{
|
||||
"testIdPattern": "[dialog.spec] Page.Events.Dialog should allow accepting prompts",
|
||||
"platforms": ["darwin", "linux", "win32"],
|
||||
"parameters": ["firefox", "webDriverBiDi"],
|
||||
"expectations": ["FAIL"]
|
||||
},
|
||||
{
|
||||
"testIdPattern": "[dialog.spec] Page.Events.Dialog should allow accepting prompts",
|
||||
"platforms": ["darwin", "linux", "win32"],
|
||||
|
|
|
@ -1314,13 +1314,25 @@ class BrowsingContextModule extends Module {
|
|||
type: lazy.WindowGlobalMessageHandler.type,
|
||||
};
|
||||
|
||||
const eventPayload = {
|
||||
context: contextId,
|
||||
type: prompt.promptType,
|
||||
message: await prompt.getText(),
|
||||
};
|
||||
|
||||
// Bug 1859814: Since the platform doesn't provide the access to the `defaultValue` of the prompt,
|
||||
// we use prompt the `value` instead. The `value` is set to `defaultValue` when `defaultValue` is provided.
|
||||
// This approach doesn't allow us to distinguish between the `defaultValue` being set to an empty string and
|
||||
// `defaultValue` not set, because `value` is always defaulted to an empty string.
|
||||
// We should switch to using the actual `defaultValue` when it's available and check for the `null` here.
|
||||
const defaultValue = await prompt.getInputText();
|
||||
if (defaultValue) {
|
||||
eventPayload.defaultValue = defaultValue;
|
||||
}
|
||||
|
||||
this.emitEvent(
|
||||
"browsingContext.userPromptOpened",
|
||||
{
|
||||
context: contextId,
|
||||
type: prompt.promptType,
|
||||
message: await prompt.getText(),
|
||||
},
|
||||
eventPayload,
|
||||
contextInfo
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,3 @@
|
|||
[test_subscribe_to_one_context[window\]]
|
||||
disabled:
|
||||
if os == "android": Not supported
|
||||
|
||||
[test_prompt_default_value]
|
||||
expected: FAIL
|
||||
|
|
Загрузка…
Ссылка в новой задаче