Commit 243bc7a0 authored by Gauthier Ambard's avatar Gauthier Ambard Committed by Commit Bot

[iOS] Add snackbar for the copy action

This CL adds a snackbar for the copy action from the share menu.
It also consolidates metrics for the different actions of the share
menu.

Bug: 880030, 883642
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: I9ad39ad2f4f9b34e4d26aacc12a9db1fb2364bb6
Reviewed-on: https://chromium-review.googlesource.com/1224311Reviewed-by: default avatarMark Pearson <mpearson@chromium.org>
Reviewed-by: default avatarPeter Lee <pkl@chromium.org>
Commit-Queue: Gauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591320}
parent e8664ecd
...@@ -83,8 +83,6 @@ NSString* const kBookmarkActivityType = @"com.google.chrome.bookmarkActivity"; ...@@ -83,8 +83,6 @@ NSString* const kBookmarkActivityType = @"com.google.chrome.bookmarkActivity";
} }
- (void)performActivity { - (void)performActivity {
base::RecordAction(
base::UserMetricsAction("MobileShareActionBookmarkThisPage"));
[self.dispatcher bookmarkPage]; [self.dispatcher bookmarkPage];
[self activityDidFinish:YES]; [self activityDidFinish:YES];
} }
......
...@@ -65,7 +65,6 @@ NSString* const kFindInPageActivityType = ...@@ -65,7 +65,6 @@ NSString* const kFindInPageActivityType =
} }
- (void)performActivity { - (void)performActivity {
base::RecordAction(base::UserMetricsAction("MobileShareActionFindInPage"));
[self.dispatcher showFindInPage]; [self.dispatcher showFindInPage];
[self activityDidFinish:YES]; [self activityDidFinish:YES];
} }
......
...@@ -75,7 +75,6 @@ NSString* const kReadingListActivityType = ...@@ -75,7 +75,6 @@ NSString* const kReadingListActivityType =
} }
- (void)performActivity { - (void)performActivity {
base::RecordAction(base::UserMetricsAction("MobileShareActionReadLater"));
ReadingListAddCommand* command = ReadingListAddCommand* command =
[[ReadingListAddCommand alloc] initWithURL:_activityURL title:_title]; [[ReadingListAddCommand alloc] initWithURL:_activityURL title:_title];
[_dispatcher addToReadingList:command]; [_dispatcher addToReadingList:command];
......
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
namespace activity_type_util { namespace activity_type_util {
enum ActivityType { enum ActivityType {
BOOKMARK,
COPY,
NATIVE_FACEBOOK, NATIVE_FACEBOOK,
NATIVE_MAIL, NATIVE_MAIL,
NATIVE_MESSAGE, NATIVE_MESSAGE,
...@@ -17,12 +19,15 @@ enum ActivityType { ...@@ -17,12 +19,15 @@ enum ActivityType {
NATIVE_WEIBO, NATIVE_WEIBO,
NATIVE_CLIPBOARD, NATIVE_CLIPBOARD,
PRINT, PRINT,
FIND_IN_PAGE,
GOOGLE_DRIVE, GOOGLE_DRIVE,
GOOGLE_GMAIL, GOOGLE_GMAIL,
GOOGLE_GOOGLEPLUS, GOOGLE_GOOGLEPLUS,
GOOGLE_HANGOUTS, GOOGLE_HANGOUTS,
GOOGLE_INBOX, GOOGLE_INBOX,
GOOGLE_UNKNOWN, GOOGLE_UNKNOWN,
READ_LATER,
REQUEST_DESKTOP_MOBILE_SITE,
THIRD_PARTY_MAILBOX, THIRD_PARTY_MAILBOX,
THIRD_PARTY_FACEBOOK_MESSENGER, THIRD_PARTY_FACEBOOK_MESSENGER,
THIRD_PARTY_WHATS_APP, THIRD_PARTY_WHATS_APP,
......
...@@ -71,6 +71,8 @@ struct PrefixTypeAssociation { ...@@ -71,6 +71,8 @@ struct PrefixTypeAssociation {
}; };
const PrefixTypeAssociation prefixTypeAssociations[] = { const PrefixTypeAssociation prefixTypeAssociations[] = {
{BOOKMARK, @"com.google.chrome.bookmarkActivity", true},
{COPY, @"com.google.chrome.copyActivity", true},
{NATIVE_FACEBOOK, @"com.apple.UIKit.activity.PostToFacebook", true}, {NATIVE_FACEBOOK, @"com.apple.UIKit.activity.PostToFacebook", true},
{NATIVE_MAIL, @"com.apple.UIKit.activity.Mail", true}, {NATIVE_MAIL, @"com.apple.UIKit.activity.Mail", true},
{NATIVE_MESSAGE, @"com.apple.UIKit.activity.Message", true}, {NATIVE_MESSAGE, @"com.apple.UIKit.activity.Message", true},
...@@ -78,6 +80,7 @@ const PrefixTypeAssociation prefixTypeAssociations[] = { ...@@ -78,6 +80,7 @@ const PrefixTypeAssociation prefixTypeAssociations[] = {
{NATIVE_WEIBO, @"com.apple.UIKit.activity.PostToWeibo", true}, {NATIVE_WEIBO, @"com.apple.UIKit.activity.PostToWeibo", true},
{NATIVE_CLIPBOARD, @"com.apple.UIKit.activity.CopyToPasteboard", true}, {NATIVE_CLIPBOARD, @"com.apple.UIKit.activity.CopyToPasteboard", true},
{PRINT, @"com.google.chrome.printActivity", true}, {PRINT, @"com.google.chrome.printActivity", true},
{FIND_IN_PAGE, @"com.google.chrome.FindInPageActivityType", true},
// The trailing '.' prevents false positives. // The trailing '.' prevents false positives.
// For instance, "com.viberific" won't be matched by the "com.viber.". // For instance, "com.viberific" won't be matched by the "com.viber.".
{GOOGLE_DRIVE, @"com.google.Drive.", false}, {GOOGLE_DRIVE, @"com.google.Drive.", false},
...@@ -86,6 +89,9 @@ const PrefixTypeAssociation prefixTypeAssociations[] = { ...@@ -86,6 +89,9 @@ const PrefixTypeAssociation prefixTypeAssociations[] = {
{GOOGLE_HANGOUTS, @"com.google.hangouts.", false}, {GOOGLE_HANGOUTS, @"com.google.hangouts.", false},
{GOOGLE_INBOX, @"com.google.inbox.", false}, {GOOGLE_INBOX, @"com.google.inbox.", false},
{GOOGLE_UNKNOWN, @"com.google.", false}, {GOOGLE_UNKNOWN, @"com.google.", false},
{READ_LATER, @"com.google.chrome.readingListActivity", true},
{REQUEST_DESKTOP_MOBILE_SITE,
@"com.google.chrome.requestDesktopOrMobileSiteActivity", true},
{THIRD_PARTY_MAILBOX, @"com.orchestra.v2.", false}, {THIRD_PARTY_MAILBOX, @"com.orchestra.v2.", false},
{THIRD_PARTY_FACEBOOK_MESSENGER, @"com.facebook.Messenger.", false}, {THIRD_PARTY_FACEBOOK_MESSENGER, @"com.facebook.Messenger.", false},
{THIRD_PARTY_WHATS_APP, @"net.whatsapp.WhatsApp.", false}, {THIRD_PARTY_WHATS_APP, @"net.whatsapp.WhatsApp.", false},
...@@ -127,6 +133,7 @@ NSString* CompletionMessageForActivity(ActivityType type) { ...@@ -127,6 +133,7 @@ NSString* CompletionMessageForActivity(ActivityType type) {
// Make sure that the message is meaningful even if the activity completed // Make sure that the message is meaningful even if the activity completed
// unsuccessfully. // unsuccessfully.
switch (type) { switch (type) {
case COPY:
case NATIVE_CLIPBOARD: case NATIVE_CLIPBOARD:
return l10n_util::GetNSString(IDS_IOS_SHARE_TO_CLIPBOARD_SUCCESS); return l10n_util::GetNSString(IDS_IOS_SHARE_TO_CLIPBOARD_SUCCESS);
case APPEX_PASSWORD_MANAGEMENT: case APPEX_PASSWORD_MANAGEMENT:
...@@ -141,12 +148,25 @@ void RecordMetricForActivity(ActivityType type) { ...@@ -141,12 +148,25 @@ void RecordMetricForActivity(ActivityType type) {
case UNKNOWN: case UNKNOWN:
base::RecordAction(base::UserMetricsAction("MobileShareMenuUnknown")); base::RecordAction(base::UserMetricsAction("MobileShareMenuUnknown"));
break; break;
case BOOKMARK:
base::RecordAction(base::UserMetricsAction("MobileShareMenuBookmark"));
break;
case COPY:
case NATIVE_CLIPBOARD: case NATIVE_CLIPBOARD:
base::RecordAction(base::UserMetricsAction("MobileShareMenuClipboard")); base::RecordAction(base::UserMetricsAction("MobileShareMenuClipboard"));
break; break;
case FIND_IN_PAGE:
base::RecordAction(base::UserMetricsAction("MobileShareMenuFindInPage"));
break;
case PRINT: case PRINT:
base::RecordAction(base::UserMetricsAction("MobileShareMenuPrint")); base::RecordAction(base::UserMetricsAction("MobileShareMenuPrint"));
break; break;
case READ_LATER:
base::RecordAction(base::UserMetricsAction("MobileShareMenuReadLater"));
break;
case REQUEST_DESKTOP_MOBILE_SITE:
base::RecordAction(base::UserMetricsAction("MobileShareMenuRequestSite"));
break;
case GOOGLE_GMAIL: case GOOGLE_GMAIL:
base::RecordAction(base::UserMetricsAction("MobileShareMenuGmail")); base::RecordAction(base::UserMetricsAction("MobileShareMenuGmail"));
break; break;
......
...@@ -11604,6 +11604,7 @@ should be able to be added at any place in this file. ...@@ -11604,6 +11604,7 @@ should be able to be added at any place in this file.
</action> </action>
<action name="MobileShareActionBookmarkThisPage"> <action name="MobileShareActionBookmarkThisPage">
<obsolete>Deprecated as of 9/2018</obsolete>
<owner>gambard@chromium.org</owner> <owner>gambard@chromium.org</owner>
<description> <description>
The user pressed &quot;Bookmark&quot; from the share action menu. The user pressed &quot;Bookmark&quot; from the share action menu.
...@@ -11611,6 +11612,7 @@ should be able to be added at any place in this file. ...@@ -11611,6 +11612,7 @@ should be able to be added at any place in this file.
</action> </action>
<action name="MobileShareActionFindInPage"> <action name="MobileShareActionFindInPage">
<obsolete>Deprecated as of 9/2018</obsolete>
<owner>gambard@chromium.org</owner> <owner>gambard@chromium.org</owner>
<description> <description>
The user pressed &quot;Find In Page&quot; from the share action menu. The user pressed &quot;Find In Page&quot; from the share action menu.
...@@ -11618,6 +11620,7 @@ should be able to be added at any place in this file. ...@@ -11618,6 +11620,7 @@ should be able to be added at any place in this file.
</action> </action>
<action name="MobileShareActionReadLater"> <action name="MobileShareActionReadLater">
<obsolete>Deprecated as of 9/2018</obsolete>
<owner>gambard@chromium.org</owner> <owner>gambard@chromium.org</owner>
<description> <description>
The user pressed &quot;Read Later&quot; from the share action menu. The user pressed &quot;Read Later&quot; from the share action menu.
...@@ -11628,7 +11631,8 @@ should be able to be added at any place in this file. ...@@ -11628,7 +11631,8 @@ should be able to be added at any place in this file.
<owner>gambard@chromium.org</owner> <owner>gambard@chromium.org</owner>
<description> <description>
The user pressed &quot;Request Desktop Site&quot; from the share action The user pressed &quot;Request Desktop Site&quot; from the share action
menu. menu. This action is logged in addition to MobileShareMenuRequestSite to
disambiguate between desktop and mobile.
</description> </description>
</action> </action>
...@@ -11636,6 +11640,33 @@ should be able to be added at any place in this file. ...@@ -11636,6 +11640,33 @@ should be able to be added at any place in this file.
<owner>gambard@chromium.org</owner> <owner>gambard@chromium.org</owner>
<description> <description>
The user pressed &quot;Request Mobile Site&quot; from the share action menu. The user pressed &quot;Request Mobile Site&quot; from the share action menu.
This action is logged in addition to MobileShareMenuRequestSite to
disambiguate between desktop and mobile.
</description>
</action>
<action name="MobileShareMenuBookmark">
<owner>gambard@chromium.org</owner>
<description>User shared to the device's bookmarks.</description>
</action>
<action name="MobileShareMenuFindInPage">
<owner>gambard@chromium.org</owner>
<description>
User activated the device's FindInPage from the share menu.
</description>
</action>
<action name="MobileShareMenuReadLater">
<owner>gambard@chromium.org</owner>
<description>User shared to the device's Reading List.</description>
</action>
<action name="MobileShareMenuRequestSite">
<owner>gambard@chromium.org</owner>
<description>
User requested the desktop or mobile version of a site web from the share
menu.
</description> </description>
</action> </action>
......
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