Commit 19e70e5a authored by Eugene But's avatar Eugene But Committed by Commit Bot

Allow configuring Feedback category tag

Add UserFeedbackProvider::CreateViewController method which takes
UserFeedbackSender as an argument. Downstream code will convert this
sender to Feedback category tag. This will allow to distinguish user
feedback sent from Tools Menu vs. SadTab.

Bug: 1138523
Change-Id: Ibd768abb170e447c9ee06f1d2a3384721318d920
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2485877
Commit-Queue: Eugene But <eugenebut@chromium.org>
Auto-Submit: Eugene But <eugenebut@chromium.org>
Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#819530}
parent 63291a4b
......@@ -7,6 +7,7 @@ source_set("user_feedback") {
sources = [
"user_feedback_provider.h",
"user_feedback_provider.mm",
"user_feedback_sender.h",
]
deps = [ "//base" ]
}
......
......@@ -8,6 +8,7 @@
#import <UIKit/UIKit.h>
#include "base/macros.h"
#include "ios/public/provider/chrome/browser/user_feedback/user_feedback_sender.h"
@protocol ApplicationCommands;
......@@ -58,6 +59,13 @@ class UserFeedbackProvider {
// on behalf of the UserFeedbackProvider.
// TODO(crbug.com/1117041): Send a configuration object instead of these
// parameters.
virtual UIViewController* CreateViewController(
id<UserFeedbackDataSource> data_source,
id<ApplicationCommands> handler,
UserFeedbackSender sender);
// TODO(crbug.com/1138523): Remove the method below, once
// CreateViewController(id<UserFeedbackDataSource>,
// id<ApplicationCommands>, CategoryTag) is implemented downstream.
virtual UIViewController* CreateViewController(
id<UserFeedbackDataSource> data_source,
id<ApplicationCommands> handler);
......
......@@ -18,8 +18,16 @@ bool UserFeedbackProvider::IsUserFeedbackEnabled() {
UIViewController* UserFeedbackProvider::CreateViewController(
id<UserFeedbackDataSource> data_source,
id<ApplicationCommands> handler) {
id<ApplicationCommands> handler,
UserFeedbackSender sender) {
return nil;
}
UIViewController* UserFeedbackProvider::CreateViewController(
id<UserFeedbackDataSource> data_source,
id<ApplicationCommands> handler) {
return CreateViewController(data_source, handler,
UserFeedbackSender::ToolsMenu);
}
void UserFeedbackProvider::Synchronize() {}
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_PUBLIC_PROVIDER_CHROME_BROWSER_USER_FEEDBACK_USER_FEEDBACK_SENDER_H_
#define IOS_PUBLIC_PROVIDER_CHROME_BROWSER_USER_FEEDBACK_USER_FEEDBACK_SENDER_H_
// Indicates where is this feedback coming from.
enum class UserFeedbackSender {
// Set from tools overflow menu.
ToolsMenu = 0,
// Sent from a Sad Tab.
SadTab,
// Sent from Discover Feed.
Feed,
};
#endif // IOS_PUBLIC_PROVIDER_CHROME_BROWSER_USER_FEEDBACK_USER_FEEDBACK_SENDER_H_
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