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

Issue 599859 link

Starred by 15 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature

Blocking:
issue 650302
issue 834580



Sign in to add a comment

Implement web notification inline replies

Project Member Reported by nsatra...@chromium.org, Apr 1 2016

Issue description

It would be great to start experimenting with exposing inline replies in the service worker Notification API. A discussion is taking place in the spec [1]. There's a tentative design doc [2] in the works, too.

[1] https://github.com/whatwg/notifications/issues/68
[2] https://goo.gl/qc6g1z
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 7 2016

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

commit d1c3e840df52f94b23a129c5466cb7866c8261c7
Author: nsatragno <nsatragno@chromium.org>
Date: Thu Apr 07 12:32:20 2016

Implement receiving side of web notification inline replies

Implement the part of the web notification inline replies API that tells
actions that they should show a text input. The new API is under an
experimetal flag (NotificationInlineReplies) and does not do anything
yet.

This is a highly experimental API. An intent to implement has already
been sent [1]. For a more detailed explanation of the implementation plan and
what the feature does please refer to the doc [2]

[1] https://goo.gl/7wzBMB
[2] https://goo.gl/qc6g1z

BUG=599859
TEST=NotificationDatabaseDataTest.SerializeAndDeserializeActionTypes, NotificationDatabaseDataTest.SerializeAndDeserializeData, NotificationDatabaseDataTest.SerializeAndDeserializeNullPlaceholder,  NotificationDataConversionsTest.ToPlatformNotificationData, NotificationDataConversionsTest.ToWebNotificationData, http/tests/notifications/serviceworker-notification-properties.html, http/tests/notifications/notification-properties.html

Review URL: https://codereview.chromium.org/1855443002

Cr-Commit-Position: refs/heads/master@{#385724}

[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/content/browser/notifications/notification_database_data.proto
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/content/browser/notifications/notification_database_data_conversions.cc
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/content/browser/notifications/notification_database_data_unittest.cc
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/content/child/notifications/notification_data_conversions.cc
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/content/child/notifications/notification_data_conversions_unittest.cc
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/content/common/platform_notification_messages.h
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/content/public/common/platform_notification_data.h
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/LayoutTests/http/tests/notifications/notification-properties.html
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/LayoutTests/http/tests/notifications/serviceworker-notification-properties.html
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/Source/modules/notifications/Notification.cpp
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/Source/modules/notifications/NotificationAction.idl
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/Source/modules/notifications/NotificationData.cpp
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/Source/modules/notifications/NotificationDataTest.cpp
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/d1c3e840df52f94b23a129c5466cb7866c8261c7/third_party/WebKit/public/platform/modules/notifications/WebNotificationAction.h

Comment 2 by awdf@chromium.org, Sep 26 2016

Owner: awdf@chromium.org

Comment 3 by awdf@chromium.org, Sep 26 2016

Summary: Implement web notifications inline replies (was: Experiment with web notifications inline replies)

Comment 4 by awdf@chromium.org, Sep 26 2016

Blocking: 650302
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 28 2016

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

commit e022c1faebded93d1f771b74efd2f8c0914d8eed
Author: awdf <awdf@google.com>
Date: Wed Sep 28 14:00:32 2016

Plumb through the notification action types and placeholder text

- Notification actions with type="text" now trigger an 'inline reply'
input textbox to be displayed on Android N+ (and trigger voice input
on Android Wear K+) when experimental web platform features are enabled.
- However, this change does not do anything with text entered in the
textbox.

BUG=599859

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

[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilderTest.java
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeTest.java
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilderTest.java
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/app/generated_resources.grd
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/browser/notifications/notification_platform_bridge_android.cc
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/chrome/browser/notifications/platform_notification_service_impl.cc
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/ui/message_center/notification.cc
[modify] https://crrev.com/e022c1faebded93d1f771b74efd2f8c0914d8eed/ui/message_center/notification.h

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 29 2016

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

commit 0463eb5e689328081e71de001f621fefed5b737c
Author: awdf <awdf@google.com>
Date: Thu Sep 29 16:25:55 2016

Give PlatformNotificationAction's scalar type field a default value

- This fixes the underlying reason for the uninit warning in
PlatformNotificationServiceTest.DisplayPersistentNotificationMatches
by initializing the field in PlatformNotificationAction's constructor.

BUG=599859, 651165 

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

[modify] https://crrev.com/0463eb5e689328081e71de001f621fefed5b737c/content/public/common/platform_notification_data.h

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 13 2016

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

commit f42998eab3fc522255647f6bf5fed75dcb444436
Author: awdf <awdf@chromium.org>
Date: Thu Oct 13 16:58:54 2016

Plumbing in notification replies: PlatformNotificationService -> SW

- Created an interactive_ui_test, which simulates a
notification click with a reply, and tests the reply is
received in the notificationclick event.
- Did enough plumbing so this new test passes.
- Note inline replies are not fully hooked up yet, still need
to pass the reply back from Android to native.
- Layout tests will be added in subsequent patch (see
https://codereview.chromium.org/2403893002/)

BUG=599859

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

[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/native_notification_display_service.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/non_persistent_notification_handler.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/non_persistent_notification_handler.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/notification_handler.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/persistent_notification_delegate.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/persistent_notification_delegate.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/persistent_notification_handler.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/persistent_notification_handler.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/platform_notification_service_impl.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/platform_notification_service_impl.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/browser/notifications/platform_notification_service_interactive_uitest.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/test/data/notifications/platform_notification_service.html
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/chrome/test/data/notifications/platform_notification_service.js
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/content/browser/notifications/notification_event_dispatcher_impl.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/content/browser/notifications/notification_event_dispatcher_impl.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/content/common/service_worker/service_worker_messages.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/content/public/browser/notification_event_dispatcher.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/content/renderer/service_worker/service_worker_context_client.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/content/renderer/service_worker/service_worker_context_client.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/content/shell/browser/layout_test/layout_test_notification_manager.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/third_party/WebKit/public/web/modules/serviceworker/WebServiceWorkerContextProxy.h
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/ui/message_center/notification_delegate.cc
[modify] https://crrev.com/f42998eab3fc522255647f6bf5fed75dcb444436/ui/message_center/notification_delegate.h

Comment 9 by awdf@chromium.org, Oct 18 2016

This code review & patch which hooks things up end-to-end for Android N should have been linked to this bug:
https://codereview.chromium.org/2418153002/
https://crrev.com/d469d710efef5c56381c67cef9c23db402290b8c

(Just landed)
Project Member

Comment 11 by bugdroid1@chromium.org, Oct 6 2017

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

commit ffe0588ba92b644e60499e691c3172da2d25b743
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Fri Oct 06 14:00:27 2017

Win10 Native Notifications: Implement inline replies.

Bug:  734095 , 599859
Change-Id: Ia3968218928d79c6791a32f3fed84c08f7f9bb55
Reviewed-on: https://chromium-review.googlesource.com/695207
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507052}
[modify] https://crrev.com/ffe0588ba92b644e60499e691c3172da2d25b743/chrome/browser/notifications/notification_template_builder.cc
[modify] https://crrev.com/ffe0588ba92b644e60499e691c3172da2d25b743/chrome/browser/notifications/notification_template_builder_unittest.cc

Cc: tetsui@chromium.org fukino@chromium.org yoshiki@chromium.org
Project Member

Comment 13 by bugdroid1@chromium.org, Nov 16 2017

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

commit af6a15929770f14dc6c26d796d2bcf810a9410e0
Author: Tetsui Ohkubo <tetsui@chromium.org>
Date: Thu Nov 16 03:35:05 2017

Add non-UI part support of notification inline reply.

A web notification with the inline reply actions is already implemented
on Android and Windows 10 native notifications.
In order to support the feature on Chrome OS, we have to implement it
in the views framework notification implementation.

This CL adds the non user interface part of the notification inline
reply support.

TEST=manual
BUG=599859, 773586 

Change-Id: Ib6079f8dadd5e154e68a5c32b5c99df2fb100499
Reviewed-on: https://chromium-review.googlesource.com/756184
Reviewed-by: Yoshiki Iguchi <yoshiki@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Tetsui Ohkubo <tetsui@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516969}
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ash/message_center/message_center_view.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ash/message_center/message_center_view.h
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ash/message_center/message_center_view_unittest.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ash/message_center/message_list_view_unittest.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/arc/notification/arc_notification_content_view_unittest.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/arc/notification/arc_notification_view_unittest.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/fake_message_center.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/fake_message_center.h
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/message_center.h
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/message_center_impl.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/message_center_impl.h
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/message_center_observer.h
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/views/message_popup_collection.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/views/message_popup_collection.h
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/views/message_view_delegate.h
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/views/notification_view_md_unittest.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/views/notification_view_unittest.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/views/toast_contents_view.cc
[modify] https://crrev.com/af6a15929770f14dc6c26d796d2bcf810a9410e0/ui/message_center/views/toast_contents_view.h

Comment 14 by awdf@chromium.org, Dec 20 2017

Summary: Implement web notification inline replies (was: Implement web notifications inline replies)
Blocking: 834580
Owner: peter@chromium.org
The only remaining piece of implementation here is to turn it on by default once the Intent to Ship is approved.

CL for doing that is here:

https://chromium-review.googlesource.com/c/chromium/src/+/1143482

Reassigning to peter@ since I'm leaving the team.
Project Member

Comment 17 by bugdroid1@chromium.org, Aug 10

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

commit 3616635d7c5ffbf67d1e39dd7d02f47e0b91955f
Author: Peter Beverloo <peter@chromium.org>
Date: Fri Aug 10 11:08:29 2018

Enable inline replies for notifications by default

This was approved in the following blink-dev thread:
https://groups.google.com/a/chromium.org/d/topic/blink-dev/PNTQCliD2oA/discussion

Bug: 599859, 834580
Change-Id: I5419f4b804d864f7837487ec881fb5542d9304df
Reviewed-on: https://chromium-review.googlesource.com/1169477
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Commit-Queue: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582114}
[modify] https://crrev.com/3616635d7c5ffbf67d1e39dd7d02f47e0b91955f/third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/3616635d7c5ffbf67d1e39dd7d02f47e0b91955f/third_party/blink/renderer/platform/runtime_enabled_features.json5

Sign in to add a comment