Commit b7d7cb57 authored by Carlos IL's avatar Carlos IL Committed by Commit Bot

Add metrics for same origin iframe JS modal dialogs

This adds use counters for same origin iframe use of alert, confirm,
print, and prompt.

Bug: 1047451
Change-Id: Ieee5a69821be5aa8a96af897073e5b8d3deb8cd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2032180
Auto-Submit: Carlos IL <carlosil@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Commit-Queue: Carlos IL <carlosil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#737163}
parent 0a8dee3c
...@@ -2513,6 +2513,10 @@ enum WebFeature { ...@@ -2513,6 +2513,10 @@ enum WebFeature {
kClassicSharedWorker = 3148, kClassicSharedWorker = 3148,
kModuleSharedWorker = 3149, kModuleSharedWorker = 3149,
kV8Animation_CommitStyles_Method = 3150, kV8Animation_CommitStyles_Method = 3150,
kSameOriginIframeWindowAlert = 3151,
kSameOriginIframeWindowConfirm = 3152,
kSameOriginIframeWindowPrompt = 3153,
kSameOriginIframeWindowPrint = 3154,
// Add new features immediately above this line. Don't change assigned // Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots. // numbers of any item, and don't reuse removed slots.
......
...@@ -706,6 +706,9 @@ void LocalDOMWindow::print(ScriptState* script_state) { ...@@ -706,6 +706,9 @@ void LocalDOMWindow::print(ScriptState* script_state) {
return; return;
} }
if (!GetFrame()->IsMainFrame() && !GetFrame()->IsCrossOriginSubframe()) {
document()->CountUse(WebFeature::kSameOriginIframeWindowPrint);
}
document()->CountUseOnlyInCrossOriginIframe( document()->CountUseOnlyInCrossOriginIframe(
WebFeature::kCrossOriginWindowPrint); WebFeature::kCrossOriginWindowPrint);
...@@ -743,6 +746,9 @@ void LocalDOMWindow::alert(ScriptState* script_state, const String& message) { ...@@ -743,6 +746,9 @@ void LocalDOMWindow::alert(ScriptState* script_state, const String& message) {
if (!page) if (!page)
return; return;
if (!GetFrame()->IsMainFrame() && !GetFrame()->IsCrossOriginSubframe()) {
document()->CountUse(WebFeature::kSameOriginIframeWindowAlert);
}
document()->CountUseOnlyInCrossOriginIframe( document()->CountUseOnlyInCrossOriginIframe(
WebFeature::kCrossOriginWindowAlert); WebFeature::kCrossOriginWindowAlert);
...@@ -773,6 +779,9 @@ bool LocalDOMWindow::confirm(ScriptState* script_state, const String& message) { ...@@ -773,6 +779,9 @@ bool LocalDOMWindow::confirm(ScriptState* script_state, const String& message) {
if (!page) if (!page)
return false; return false;
if (!GetFrame()->IsMainFrame() && !GetFrame()->IsCrossOriginSubframe()) {
document()->CountUse(WebFeature::kSameOriginIframeWindowConfirm);
}
document()->CountUseOnlyInCrossOriginIframe( document()->CountUseOnlyInCrossOriginIframe(
WebFeature::kCrossOriginWindowConfirm); WebFeature::kCrossOriginWindowConfirm);
...@@ -810,6 +819,9 @@ String LocalDOMWindow::prompt(ScriptState* script_state, ...@@ -810,6 +819,9 @@ String LocalDOMWindow::prompt(ScriptState* script_state,
default_value, return_value)) default_value, return_value))
return return_value; return return_value;
if (!GetFrame()->IsMainFrame() && !GetFrame()->IsCrossOriginSubframe()) {
document()->CountUse(WebFeature::kSameOriginIframeWindowPrompt);
}
document()->CountUseOnlyInCrossOriginIframe( document()->CountUseOnlyInCrossOriginIframe(
WebFeature::kCrossOriginWindowPrompt); WebFeature::kCrossOriginWindowPrompt);
......
...@@ -26369,6 +26369,10 @@ to ensure that the crash string is shown properly on the user-facing crash UI. ...@@ -26369,6 +26369,10 @@ to ensure that the crash string is shown properly on the user-facing crash UI.
<int value="3148" label="ClassicSharedWorker"/> <int value="3148" label="ClassicSharedWorker"/>
<int value="3149" label="ModuleSharedWorker"/> <int value="3149" label="ModuleSharedWorker"/>
<int value="3150" label="V8Animation_CommitStyles_Method"/> <int value="3150" label="V8Animation_CommitStyles_Method"/>
<int value="3151" label="SameOriginIframeWindowAlert"/>
<int value="3152" label="SameOriginIframeWindowConfirm"/>
<int value="3153" label="SameOriginIframeWindowPrompt"/>
<int value="3154" label="SameOriginIframeWindowPrint"/>
</enum> </enum>
<enum name="FeaturePolicyAllowlistType"> <enum name="FeaturePolicyAllowlistType">
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