New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 668389 link

Starred by 37 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Feature
Launch-Accessibility: NotReviewed
Launch-Legal: NotReviewed
Launch-Privacy: NotReviewed
Launch-Security: NotReviewed
Launch-Test: NotReviewed
Launch-UI: NotReviewed

Blocked on:
issue 689805
issue 795165


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

Web Share Target API

Project Member Reported by mgiuca@chromium.org, Nov 24 2016

Issue description

Change description:
Web Share Target is a proposed API for allowing websites to receive shared data (text, URLs, images) and register to be choosable by the user as targets from sharing contexts, including (but not limited to) Web Share.

Changes to API surface:
- Adding new entries to the Web App Manifest.

Links:
Public standards discussion: https://discourse.wicg.io/t/web-share-target-api-for-websites-to-receive-shared-content/1854

Support in other browsers:
Internet Explorer: No
Firefox: No (but similar API already exists, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Share)
Safari: No
 

Comment 1 by mgiuca@chromium.org, Nov 24 2016

Description: Show this description

Comment 3 by owe...@chromium.org, Dec 20 2016

Marking for posterity that since this launch likely has privacy, security, testing implications it needs a type=Launch issue too to track approval.

This will be done by me before we enable these changes.

For anyone reading and curious, the Type=Launch system is explained here: https://docs.google.com/document/d/1Z9x-PBYgDaR99tsNLvhibZLeAwDR757Gor--I60ygeE/edit

Comment 4 by mgiuca@chromium.org, Jan 11 2017

Labels: -M-57 M-59
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31b8b23c68531e587060823f8c9814d52c63425a

commit 31b8b23c68531e587060823f8c9814d52c63425a
Author: constantina <constantina@google.com>
Date: Fri Jan 13 01:31:20 2017

Changed email suffixes in OWNERS from .com to .org

BUG= 668389 

Review-Url: https://codereview.chromium.org/2628043003
Cr-Commit-Position: refs/heads/master@{#443437}

[modify] https://crrev.com/31b8b23c68531e587060823f8c9814d52c63425a/chrome/browser/webshare/OWNERS

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 13 2017

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/39e40676d8769fade0dca9fc864eb5e2ef80ee58

commit 39e40676d8769fade0dca9fc864eb5e2ef80ee58
Author: mgiuca <mgiuca@chromium.org>
Date: Tue Jan 31 04:16:49 2017

Add picker view for Web Share Target.

This is temporary UI which has not been approved by UX and will only be
used for an experimental feature behind a flag.

Hooked up to the share service for navigator.share on Desktop. Currently
does not show any real apps (just the dummy app which is currently
hard-coded in the share service).

BUG= 668389 

Review-Url: https://codereview.chromium.org/2644793006
Cr-Commit-Position: refs/heads/master@{#447187}

[modify] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/app/generated_resources.grd
[modify] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/browser/ui/browser_dialogs.h
[add] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/browser/ui/views/webshare/webshare_target_picker_view.cc
[add] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/browser/ui/views/webshare/webshare_target_picker_view.h
[modify] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/browser/webshare/share_service_impl.cc
[modify] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/browser/webshare/share_service_impl.h
[modify] https://crrev.com/39e40676d8769fade0dca9fc864eb5e2ef80ee58/chrome/browser/webshare/share_service_impl_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Feb 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8bad70ff3383c7c71a96451d32aa93fc4a87b018

commit 8bad70ff3383c7c71a96451d32aa93fc4a87b018
Author: constantina <constantina@google.com>
Date: Thu Feb 02 07:42:20 2017

Add a pref name for share targets, and store their manifest data.

Adds a dictionary pref name, to store sites with manifests that
contain the share_url_template field; the key is the site origin, and
value is the value of share_url_template in the site's manifest.

Reads manifests after they have been parsed, for the share_url_template,
and stores the site and value under the pref name added.

Follow-up CL will read the pref store for the pref name added, and read
share targets in chrome/browser/webshare/share_service_impl.cc.

NO_DEPENDENCY_CHECKS=true
BUG= 668389 

Review-Url: https://codereview.chromium.org/2639463002
Cr-Commit-Position: refs/heads/master@{#447721}

[modify] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/browser/BUILD.gn
[modify] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/browser/extensions/bookmark_app_helper.cc
[modify] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/browser/profiles/profile.cc
[add] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/browser/webshare/share_target_pref_helper.cc
[add] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/browser/webshare/share_target_pref_helper.h
[add] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/browser/webshare/share_target_pref_helper_unittest.cc
[modify] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/common/pref_names.cc
[modify] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/common/pref_names.h
[modify] https://crrev.com/8bad70ff3383c7c71a96451d32aa93fc4a87b018/chrome/test/BUILD.gn

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4c513e7ae3fd3a6c7752f8add47b93fb1c66444

commit e4c513e7ae3fd3a6c7752f8add47b93fb1c66444
Author: constantina <constantina@google.com>
Date: Tue Feb 07 02:14:10 2017

Picker takes a vector of pairs, and passes back the user chosen target.

Instead of vector of string16s, input is a vector of pairs of string16
and GURL where the first element is the app name, and the second is the
manifest URL of the app.

The manifest URL of the chosen target is passed back via a callback as
a string. The passed URL is Optional, so it can be null if the share is
cancelled.

BUG= 668389 

Review-Url: https://codereview.chromium.org/2667803002
Cr-Commit-Position: refs/heads/master@{#448512}

[modify] https://crrev.com/e4c513e7ae3fd3a6c7752f8add47b93fb1c66444/chrome/browser/ui/browser_dialogs.h
[modify] https://crrev.com/e4c513e7ae3fd3a6c7752f8add47b93fb1c66444/chrome/browser/ui/views/webshare/webshare_target_picker_view.cc
[modify] https://crrev.com/e4c513e7ae3fd3a6c7752f8add47b93fb1c66444/chrome/browser/ui/views/webshare/webshare_target_picker_view.h
[modify] https://crrev.com/e4c513e7ae3fd3a6c7752f8add47b93fb1c66444/chrome/browser/webshare/share_service_impl.cc
[modify] https://crrev.com/e4c513e7ae3fd3a6c7752f8add47b93fb1c66444/chrome/browser/webshare/share_service_impl.h
[modify] https://crrev.com/e4c513e7ae3fd3a6c7752f8add47b93fb1c66444/chrome/browser/webshare/share_service_impl_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Feb 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2883697c7814c4fca4675bd071161498b3b6aa27

commit 2883697c7814c4fca4675bd071161498b3b6aa27
Author: constantina <constantina@google.com>
Date: Tue Feb 07 08:04:02 2017

Store target app name in Web Share prefs, and remove external logic.

UpdateShareTargetInPrefs now stores the name field of the supplied
target's manifest in the Web Share target prefs. For the given share
target, adds the name to the dictionary associated with the target.

UpdateShareTargetInPrefs also handles the logic about web apps with
manifests that don't have the share_target field, entirely internally.

BUG= 668389 

Review-Url: https://codereview.chromium.org/2679523002
Cr-Commit-Position: refs/heads/master@{#448568}

[modify] https://crrev.com/2883697c7814c4fca4675bd071161498b3b6aa27/chrome/browser/extensions/bookmark_app_helper.cc
[modify] https://crrev.com/2883697c7814c4fca4675bd071161498b3b6aa27/chrome/browser/webshare/share_target_pref_helper.cc
[modify] https://crrev.com/2883697c7814c4fca4675bd071161498b3b6aa27/chrome/browser/webshare/share_target_pref_helper.h
[modify] https://crrev.com/2883697c7814c4fca4675bd071161498b3b6aa27/chrome/browser/webshare/share_target_pref_helper_unittest.cc

Blockedon: 689805
Project Member

Comment 13 by bugdroid1@chromium.org, Feb 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5166d7cb235178146eee3431f7f64f0afc8aa4f

commit c5166d7cb235178146eee3431f7f64f0afc8aa4f
Author: mgiuca <mgiuca@chromium.org>
Date: Thu Feb 09 05:48:05 2017

Added unit test for WebShareTargetPickerView.

Also minor fix to avoid a DCHECK if double-clicking on an empty table
(which I don't think was possible to trigger anyway).

BUG= 668389 

Review-Url: https://codereview.chromium.org/2679533002
Cr-Commit-Position: refs/heads/master@{#449210}

[modify] https://crrev.com/c5166d7cb235178146eee3431f7f64f0afc8aa4f/chrome/browser/ui/views/webshare/webshare_target_picker_view.h
[add] https://crrev.com/c5166d7cb235178146eee3431f7f64f0afc8aa4f/chrome/browser/ui/views/webshare/webshare_target_picker_view_unittest.cc
[modify] https://crrev.com/c5166d7cb235178146eee3431f7f64f0afc8aa4f/chrome/test/BUILD.gn

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/33f13724ed6d1a1a56b0f112767e62c36824e377

commit 33f13724ed6d1a1a56b0f112767e62c36824e377
Author: mgiuca <mgiuca@chromium.org>
Date: Mon Feb 13 02:02:54 2017

Do not build share_service_impl and associated test on Mac/Android.

These files are not used on those platforms and have a growing number of
conditional compilation statements which can be removed in a follow-up
CL.

BUG= 668389 

Review-Url: https://codereview.chromium.org/2695563002
Cr-Commit-Position: refs/heads/master@{#449905}

[modify] https://crrev.com/33f13724ed6d1a1a56b0f112767e62c36824e377/chrome/browser/BUILD.gn
[modify] https://crrev.com/33f13724ed6d1a1a56b0f112767e62c36824e377/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/33f13724ed6d1a1a56b0f112767e62c36824e377/chrome/test/BUILD.gn

Project Member

Comment 15 by bugdroid1@chromium.org, Feb 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5558f3f32e3182a29ef236242e2c50c37a3f6a1a

commit 5558f3f32e3182a29ef236242e2c50c37a3f6a1a
Author: constantina <constantina@google.com>
Date: Mon Feb 13 05:37:54 2017

Read share targets from prefstore, and filter by engagement.

New function, GetTargetsWithSufficientEngagement, called when browser
receives Share from renderer. Function collates all share targets and
their templates, and keeps targets that have a high enough engagement
score with the user.

Calls picker UI with this filtered list of targets.

BUG= 668389 

Review-Url: https://codereview.chromium.org/2664033002
Cr-Commit-Position: refs/heads/master@{#449911}

[modify] https://crrev.com/5558f3f32e3182a29ef236242e2c50c37a3f6a1a/chrome/browser/webshare/share_service_impl.cc
[modify] https://crrev.com/5558f3f32e3182a29ef236242e2c50c37a3f6a1a/chrome/browser/webshare/share_service_impl.h
[modify] https://crrev.com/5558f3f32e3182a29ef236242e2c50c37a3f6a1a/chrome/browser/webshare/share_service_impl_unittest.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f7077234f58cf96b6a9102691ce13cb28150cbab

commit f7077234f58cf96b6a9102691ce13cb28150cbab
Author: mgiuca <mgiuca@chromium.org>
Date: Tue Feb 14 01:45:42 2017

Remove conditional compile statements in ShareServiceImpl (and test).

These were previously added to allow this code to compile (but be
useless) on Mac and Android. As of r449905, these files are not compiled
at all on Mac and Android, so these if statements are no longer needed.

BUG= 668389 

Review-Url: https://codereview.chromium.org/2694643002
Cr-Commit-Position: refs/heads/master@{#450193}

[modify] https://crrev.com/f7077234f58cf96b6a9102691ce13cb28150cbab/chrome/browser/webshare/share_service_impl.cc
[modify] https://crrev.com/f7077234f58cf96b6a9102691ce13cb28150cbab/chrome/browser/webshare/share_service_impl.h
[modify] https://crrev.com/f7077234f58cf96b6a9102691ce13cb28150cbab/chrome/browser/webshare/share_service_impl_unittest.cc

Labels: migrated-launch-owp Type-Task
This issue has been automatically relabelled type=task because type=launch-owp issues are now officially deprecated. The deprecation is because they were creating confusion about how to get launch approvals, which should be instead done via type=launch issues.

We recommend this issue be used for implementation tracking (for public visibility), but if you already have an issue for that, you may mark this as duplicate.

For more details see here: https://docs.google.com/document/d/1JA6RohjtZQc26bTrGoIE_bSXGXUDQz8vc6G0n_sZJ2o/edit

For any questions, please contact owencm, sshruthi, larforge
Components: Privacy
Blockedon: 795165
Do we have an Intent to Implement/etc for this? Or was it subsumed into another I2I ?
Labels: -Pri-3 Proj-Fugu Pri-1
Labels: -M-59 M-71
Labels: Type-Feature

Comment 25 by mgiuca@chromium.org, Dec 13 (4 days ago)

Cc: ericwilligers@chromium.org
Labels: -OS-Linux -OS-Windows -OS-Chrome OS-Android
Launched in M71 on Android.

Will file separate feature bugs to ship WST on each other platform (which will be shipping individually).

Comment 26 by mgiuca@chromium.org, Dec 13 (4 days ago)

Status: Fixed (was: Assigned)

Sign in to add a comment