Add missing screenshot when sharing from Chrome |
|||||||
Issue descriptionWhen using a share extension from Chrome, a screenshot of the tab should be displayed, like with Safari. Attached are the before/after screenshots. Paragraph giving more context and explanation: https://docs.google.com/document/d/1xYKyUn0yVt-qB6N3CR90b4XOczxbH7DDHZ6DqDkVHbI/edit#heading=h.5tat8tr1dkjj
,
Jan 27 2017
,
Jan 27 2017
Does this mean when sharing from Chrome to app A, before the user hits confirm (or the equivalent? I can't find it on the screenshot) app A gets a thumbnail?
,
Jan 27 2017
I attached the steps a user goes through to share a page (icons and transparency is messed up because the screenshots are taken on a simulator). Circled in red are the buttons the user touch to go from step N to step N+1. App B gets the thumbnail from app A when the user taps on the name of the app in step 3.
,
Jan 31 2017
So Chrome Privacy isn't particularly concerned about the Incognito sharing. Now the questions are: 1. Why are we adding this? It seems like we are currently sharing without the thumbnail. Is the driving factor to only align with Safari and other iOS apps? What are the added benefits for users other than consistency (not that consistency isn't great.) 2. How is the thumbnail generated? It's not the current screenshot, right? I didn't find related details in your doc. Can we show a safe version a website has approved or intends to show? For example, when I receive a shared link someone else on Android, some apps could show a thumbnail of a link, but this may be slightly different from what the sender sends. Can we do that?
,
Jan 31 2017
1. The driving factor is indeed consistency. Some see it as a facet of PE :-) 2.a. The thumbnail is generated by resizing a screenshot of the webpage (which excludes any browser UI). I added that bit to the paragraph in the doc. 2.b. I don't understand the part about a website approving a thumbnail. 2.c. On Android, a receiving app can indeed choose to create a thumbnail of a shared link by downloading and rendering the webpage itself. In our case, Chrome iOS is the sending app, and we do not control the receiving app. Are you suggesting that Chrome should redownload and rerender the page to create and share a thumbnail different from what is shown on-screen?
,
Feb 1 2017
#2 - yes what we meant is the version returned to the receiver app when the receiver app pings the server to render a thumbnail. We have some concern about someone sharing a URL while the user is signed in with a sensitive site and the current screen could be showing personal data. Once the thumbnail is rendered it's already sent to the receiving app (and perhaps also the person who will receive the URL?)
,
Feb 1 2017
Hi Kay, I have two comments: 1/ When the user is sharing a URL, they'd like the recipient entity (app or person) to have and to see what they're current looking at. So if this is a sensitive site and the current screen should not be seen by others, the user wouldn't share it. If they share it, then they don't deem it sensitive enough. 2/ The URL itself that the user is sharing might contain sensitive parameters (i.e. session tokens that would make the recipient log into the user's account if they click on the URL). We don't strip out the parameters from the URL. The engineering effort required to send thumbnails to some Google backend for sanitization and get it back is hard to justify on our end. As Jean-François mentioned, this is a product excellence fix so that our share extension looks polished. How strongly does the privacy team feel about the thumbnail issue and how big is the risk in your opinion? Thanks.
,
Feb 1 2017
We did discuss #1 in our weekly meeting this Monday. We factored in the fact that it takes 3 clicks to get to the point when a thumbnail is shared. But the moment the thumbnail is shown to the user sharing it, it's done and there's no way back. Personally, I've shared screenshots at Google with personal information that I had all the time to examine but yet still failed to notice. More than 3 clicks were involved and yet, these things do happen. I had to write to some engineer to delete my screenshot in their database. This will not be possible for users. I've discussed with Martin and I think we will grant privacy approval. But speaking of product excellence, watching out for users is another move towards the same goal. :) We'd encourage your team to consider an alternative to generating the thumbnail that is more privacy preserving for the users.
,
Feb 1 2017
Thanks, Kay. Much appreciated.
,
Feb 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4a8cf9449a9df503e1993433249a9e6923b5d810 commit 4a8cf9449a9df503e1993433249a9e6923b5d810 Author: jif <jif@chromium.org> Date: Fri Feb 03 12:05:24 2017 Expose thumbnails of pages to iOS share extensions. This CLs implements UIActivityItemSource's |activityViewController:thumbnailImageForActivityType:suggestedSize:|. Also: -factor out of the BVC the creation of ShareToData. -remove unused UIActivityURLSource. -fix ui/base/test/ios/OWNERS (broken by https://codereview.chromium.org/1885043012 ) TEST=Share a page from Chrome iOS to the Chrome iOS extension. A thumbnail of the page should be shown. BUG= 686049 Review-Url: https://codereview.chromium.org/2645653003 Cr-Commit-Position: refs/heads/master@{#447977} [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/BUILD.gn [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/activity_service_controller.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/activity_service_controller_unittest.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.h [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator.h [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator.mm [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator_unittest.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/share_to_data.h [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/share_to_data.mm [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/share_to_data_builder.h [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/activity_services/share_to_data_builder.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/browser_view_controller_unittest.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/ui_util.h [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/ui_util.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/ui_util_unittest.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ios/chrome/browser/ui/uikit_ui_util_unittest.mm [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ui/base/BUILD.gn [modify] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ui/base/test/ios/OWNERS [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ui/base/test/ios/ui_image_test_utils.h [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ui/base/test/ios/ui_image_test_utils.mm [add] https://crrev.com/4a8cf9449a9df503e1993433249a9e6923b5d810/ui/base/test/ios/ui_image_test_utils_unittest.mm
,
Feb 6 2017
,
Feb 6 2017
,
Feb 6 2017
Your change meets the bar and is auto-approved for M57. Please go ahead and merge the CL to branch 2987 manually. Please contact milestone owner if you have questions. Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 7 2017
Verified in 58.0.3005.0, iPad Air 2 iOS 10.2
,
Feb 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a2186c11d838c7a5633197018ec3727360827623 commit a2186c11d838c7a5633197018ec3727360827623 Author: Jean-François Geyelin <jif@google.com> Date: Wed Feb 08 09:46:34 2017 Expose thumbnails of pages to iOS share extensions. This CLs implements UIActivityItemSource's |activityViewController:thumbnailImageForActivityType:suggestedSize:|. Also: -factor out of the BVC the creation of ShareToData. -remove unused UIActivityURLSource. -fix ui/base/test/ios/OWNERS (broken by https://codereview.chromium.org/1885043012 ) TEST=Share a page from Chrome iOS to the Chrome iOS extension. A thumbnail of the page should be shown. BUG= 686049 Review-Url: https://codereview.chromium.org/2645653003 Cr-Commit-Position: refs/heads/master@{#447977} (cherry picked from commit 4a8cf9449a9df503e1993433249a9e6923b5d810) Review-Url: https://codereview.chromium.org/2682043002 . Cr-Commit-Position: refs/branch-heads/2987@{#383} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/BUILD.gn [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/activity_service_controller.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/activity_service_controller_unittest.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.h [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/chrome_activity_item_source.mm [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator.h [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator.mm [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/chrome_activity_item_thumbnail_generator_unittest.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/share_to_data.h [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/share_to_data.mm [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/share_to_data_builder.h [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/activity_services/share_to_data_builder.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/browser_view_controller.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/browser_view_controller_unittest.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/ui_util.h [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/ui_util.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/ui_util_unittest.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ios/chrome/browser/ui/uikit_ui_util_unittest.mm [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ui/base/BUILD.gn [modify] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ui/base/test/ios/OWNERS [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ui/base/test/ios/ui_image_test_utils.h [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ui/base/test/ios/ui_image_test_utils.mm [add] https://crrev.com/a2186c11d838c7a5633197018ec3727360827623/ui/base/test/ios/ui_image_test_utils_unittest.mm
,
Feb 14 2017
Verified in 57.0.2987.52 beta, iPad Air 2 iOS 10.2.1, iPhone iOS 10.2
,
Feb 15 2017
Verified on chrome beta version 57.0.2987.53 on iPhone 7 plus with iOS 10.2.1, iPad4 with iOS 10.2.1. Steps followed for verification: 1. Launch chrome. 2. Open any website ex:rediff.com 3. Go to Share --> Reminders Verified that the thumbnail of rediff.com is displayed on right side of pop up. Looks good.
,
Mar 17 2017
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by mard...@chromium.org
, Jan 27 2017