Commit 94d27223 authored by Chandani Shrestha's avatar Chandani Shrestha Committed by Commit Bot

DevTools: Show error message when invalid pattern is entered in Framework...

DevTools: Show error message when invalid pattern is entered in Framework Blackbox in settings pane.

This change adds error messages in pattern validator. Below are the list of error messages:
- Pattern cannot be empty
- Pattern already exists
- Pattern must be a valid regular expression

Gif showing error messages https://imgur.com/wyIv4VR

Bug: 963183
Change-Id: I2c814ea576f7aa6f2093d78ae60428e9f6c12acf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1695982Reviewed-by: default avatarJoel Einbinder <einbinder@chromium.org>
Commit-Queue: Chandani Shrestha <chshrest@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#681939}
parent d51fec50
...@@ -158,9 +158,13 @@ Settings.FrameworkBlackboxSettingsTab = class extends UI.VBox { ...@@ -158,9 +158,13 @@ Settings.FrameworkBlackboxSettingsTab = class extends UI.VBox {
function patternValidator(item, index, input) { function patternValidator(item, index, input) {
const pattern = input.value.trim(); const pattern = input.value.trim();
const patterns = this._setting.getAsArray(); const patterns = this._setting.getAsArray();
if (!pattern.length)
return {valid: false, errorMessage: ls`Pattern cannot be empty`};
for (let i = 0; i < patterns.length; ++i) { for (let i = 0; i < patterns.length; ++i) {
if (i !== index && patterns[i].pattern === pattern) if (i !== index && patterns[i].pattern === pattern)
return {valid: false}; return {valid: false, errorMessage: ls`Pattern already exists`};
} }
let regex; let regex;
...@@ -168,7 +172,10 @@ Settings.FrameworkBlackboxSettingsTab = class extends UI.VBox { ...@@ -168,7 +172,10 @@ Settings.FrameworkBlackboxSettingsTab = class extends UI.VBox {
regex = new RegExp(pattern); regex = new RegExp(pattern);
} catch (e) { } catch (e) {
} }
return {valid: !!(pattern && regex)}; if (!regex)
return {valid: false, errorMessage: ls`Pattern must be a valid regular expression`};
else
return {valid: true};
} }
/** /**
......
...@@ -12,6 +12,9 @@ ...@@ -12,6 +12,9 @@
<message name="IDS_DEVTOOLS_331f303e56b067dd84abf94c3bd349c4" desc="Header text content in Framework Blackbox Settings Tab of the Settings"> <message name="IDS_DEVTOOLS_331f303e56b067dd84abf94c3bd349c4" desc="Header text content in Framework Blackbox Settings Tab of the Settings">
Framework Blackboxing Framework Blackboxing
</message> </message>
<message name="IDS_DEVTOOLS_34fbf59db640eda5a3c07d59333f1d18" desc="Error message in Framework Blackbox settings pane that declares pattern must not be empty">
Pattern cannot be empty
</message>
<message name="IDS_DEVTOOLS_4829262cecb9828817b33e0f9c907f91" desc="Text in Settings Screen of the Settings"> <message name="IDS_DEVTOOLS_4829262cecb9828817b33e0f9c907f91" desc="Text in Settings Screen of the Settings">
Experiments Experiments
</message> </message>
...@@ -21,6 +24,9 @@ ...@@ -21,6 +24,9 @@
<message name="IDS_DEVTOOLS_57391192dfa1f247ad015a0fe2eca48e" desc="Aria accessible name in Framework Blackbox Settings Tab of the Settings"> <message name="IDS_DEVTOOLS_57391192dfa1f247ad015a0fe2eca48e" desc="Aria accessible name in Framework Blackbox Settings Tab of the Settings">
Pattern Pattern
</message> </message>
<message name="IDS_DEVTOOLS_87ae3156c118350d6b13cdebc37485e9" desc="Error message in Framework Blackbox settings pane that declares pattern must be a valid regular expression">
Pattern must be a valid regular expression
</message>
<message name="IDS_DEVTOOLS_89bacc9715d030658f2602ce65426a7f" desc="Warning text content in Settings Screen of the Settings"> <message name="IDS_DEVTOOLS_89bacc9715d030658f2602ce65426a7f" desc="Warning text content in Settings Screen of the Settings">
WARNING: WARNING:
</message> </message>
...@@ -45,6 +51,9 @@ ...@@ -45,6 +51,9 @@
<message name="IDS_DEVTOOLS_d2ef7dcdede23820e315ca1c3425ba4f" desc="Text in Framework Blackbox Settings Tab of the Settings"> <message name="IDS_DEVTOOLS_d2ef7dcdede23820e315ca1c3425ba4f" desc="Text in Framework Blackbox Settings Tab of the Settings">
Debugger will skip through the scripts and will not stop on exceptions thrown by them. Debugger will skip through the scripts and will not stop on exceptions thrown by them.
</message> </message>
<message name="IDS_DEVTOOLS_dd08f9d5ae3e9ba421754fd31db1a44a" desc="Error message in Framework Blackbox settings pane that declares pattern already exits">
Pattern already exists
</message>
<message name="IDS_DEVTOOLS_e3b2f7d0af9c89f5ea504968ffcd2ef0" desc="Message text content in Settings Screen of the Settings"> <message name="IDS_DEVTOOLS_e3b2f7d0af9c89f5ea504968ffcd2ef0" desc="Message text content in Settings Screen of the Settings">
These experiments could be dangerous and may require restart. These experiments could be dangerous and may require restart.
</message> </message>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment