Commit 67883843 authored by Gayane Petrosyan's avatar Gayane Petrosyan Committed by Commit Bot

Record when text selection is in iframe

Bug: 1139864
Change-Id: I17686adaf4241202e400acb18f6c8fc8b6a83a7c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2513290
Commit-Queue: Gayane Petrosyan <gayane@chromium.org>
Reviewed-by: default avatarsebsg <sebsg@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#824048}
parent 7d1f3a0a
......@@ -4029,6 +4029,7 @@ static_library("browser") {
"//components/services/app_service/public/cpp:intents",
"//components/services/app_service/public/cpp:preferred_apps",
"//components/services/app_service/public/cpp:publisher",
"//components/shared_highlighting/core/common",
"//components/soda:constants",
"//components/ukm/content",
"//components/web_modal",
......
......@@ -242,6 +242,7 @@ include_rules = [
"+components/safe_browsing",
"+components/safe_search_api",
"+components/schema_org",
"+components/shared_highlighting/core/common",
"+components/search",
"+components/search_engines",
"+components/search_provider_logos",
......
......@@ -10,6 +10,7 @@
#include "chrome/app/chrome_command_ids.h"
#include "chrome/grit/generated_resources.h"
#include "components/renderer_context_menu/render_view_context_menu_proxy.h"
#include "components/shared_highlighting/core/common/shared_highlighting_metrics.h"
#include "content/public/browser/context_menu_params.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
......@@ -71,6 +72,7 @@ void CopyLinkToTextMenuObserver::ExecuteCommand(int command_id) {
return;
if (main_frame != proxy_->GetWebContents()->GetFocusedFrame()) {
shared_highlighting::LogGenerateErrorIFrame();
OnGeneratedSelector(std::make_unique<ui::DataTransferEndpoint>(
main_frame->GetLastCommittedOrigin()),
std::string());
......
......@@ -73,6 +73,7 @@ public class LinkToTextCoordinator extends EmptyTabObserver {
public void requestSelector() {
if (mTab.getWebContents().getMainFrame() != mTab.getWebContents().getFocusedFrame()) {
LinkToTextMetricsBridge.logGenerateErrorIFrame();
onSelectorReady(INVALID_SELECTOR);
return;
}
......
......@@ -22,10 +22,15 @@ public class LinkToTextMetricsBridge {
LinkToTextMetricsBridgeJni.get().logGenerateErrorTabCrash();
}
public static void logGenerateErrorIFrame() {
LinkToTextMetricsBridgeJni.get().logGenerateErrorIFrame();
}
@NativeMethods
interface Natives {
void logGenerateErrorTabHidden();
void logGenerateErrorOmniboxNavigation();
void logGenerateErrorTabCrash();
void logGenerateErrorIFrame();
}
}
......@@ -19,3 +19,7 @@ static void JNI_LinkToTextMetricsBridge_LogGenerateErrorOmniboxNavigation(
static void JNI_LinkToTextMetricsBridge_LogGenerateErrorTabCrash(JNIEnv* env) {
shared_highlighting::LogGenerateErrorTabCrash();
}
static void JNI_LinkToTextMetricsBridge_LogGenerateErrorIFrame(JNIEnv* env) {
shared_highlighting::LogGenerateErrorIFrame();
}
......@@ -66,4 +66,8 @@ void LogGenerateErrorOmniboxNavigation() {
void LogGenerateErrorTabCrash() {
LogLinkGenerationErrorReason(LinkGenerationError::kTabCrash);
}
void LogGenerateErrorIFrame() {
LogLinkGenerationErrorReason(LinkGenerationError::kIFrame);
}
} // namespace shared_highlighting
......@@ -28,7 +28,10 @@ enum class LinkGenerationError {
// Catch-all bucket.
kUnknown = 9,
kMaxValue = kUnknown
// Selection happened on iframe.
kIFrame = 10,
kMaxValue = kIFrame
};
// These values are persisted to logs. Entries should not be renumbered and
......@@ -72,6 +75,10 @@ void LogGenerateErrorOmniboxNavigation();
// Records when tab crashes before generation is complete.
void LogGenerateErrorTabCrash();
// Records when link generation was not completed because selection happened on
// iframe.
void LogGenerateErrorIFrame();
} // namespace shared_highlighting
#endif // COMPONENTS_SHARED_HIGHLIGHTING_CORE_COMMON_SHARED_HIGHLIGHTING_METRICS_H_
......@@ -48,7 +48,9 @@ class CORE_EXPORT TextFragmentSelectorGenerator final
kUnknown,
kMaxValue = kUnknown
kIFrame,
kMaxValue = kIFrame
};
explicit TextFragmentSelectorGenerator() = default;
......
......@@ -40909,6 +40909,7 @@ Called by update_gpu_driver_bug_workaround_entries.py.-->
<int value="7" label="Omnibox navigation"/>
<int value="8" label="Tab crash"/>
<int value="9" label="Unknown"/>
<int value="10" label="Iframe"/>
</enum>
<enum name="LinkMonitorFailureType">
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