We've had a request from a developer to support Android's BigPictureStyle so they can show infographics in their notifications. https://developer.android.com/reference/android/app/Notification.BigPictureStyle.html I imagine we will need to extend the Notifications API and then implement support.
--> johnme@, who started working on this. John, do you recon we could get this behind a flag in M54?
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/578c5cc816365993c926a93514c9ae4ff6baa1af commit 578c5cc816365993c926a93514c9ae4ff6baa1af Author: johnme <johnme@chromium.org> Date: Wed Aug 24 22:38:54 2016 Add Notification images (Blink + desktop implementation) Behind --enable-experimental-web-platform-features flag. Not yet hooked up on Android. Intent to implement: https://groups.google.com/a/chromium.org/d/topic/blink-dev/FQxPB5GEQjo/discussion Screenshot: https://imgur.com/a/mUdgu BUG= 614456 Review-Url: https://codereview.chromium.org/2261283002 Cr-Commit-Position: refs/heads/master@{#414177} [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/chrome/browser/notifications/platform_notification_service_impl.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/chrome/browser/notifications/platform_notification_service_interactive_uitest.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/chrome/test/data/notifications/platform_notification_service.html [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/browser/notifications/notification_database_data.proto [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/browser/notifications/notification_database_data_conversions.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/browser/notifications/notification_database_data_unittest.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/browser/notifications/notification_message_filter.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/child/notifications/notification_data_conversions.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/child/notifications/notification_data_conversions_unittest.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/child/notifications/notification_manager.cc [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/common/platform_notification_messages.h [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/public/common/notification_resources.h [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/content/public/common/platform_notification_data.h [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/LayoutTests/http/tests/notifications/notification-properties.html [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/LayoutTests/http/tests/notifications/serviceworker-notification-properties.html [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/Notification.cpp [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/Notification.h [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/Notification.idl [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/NotificationData.cpp [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/NotificationDataTest.cpp [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/NotificationOptions.idl [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.h [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoaderTest.cpp [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in [add] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/web/tests/data/notifications/3000x1000.png [add] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/web/tests/data/notifications/3000x2000.png [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/web/tests/data/notifications/48x48.png [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/Source/web/tests/data/notifications/500x500.png [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/public/platform/modules/notifications/WebNotificationConstants.h [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/public/platform/modules/notifications/WebNotificationData.h [modify] https://crrev.com/578c5cc816365993c926a93514c9ae4ff6baa1af/third_party/WebKit/public/platform/modules/notifications/WebNotificationResources.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bcfbd47c643580867f4466d80acb0173925a91c8 commit bcfbd47c643580867f4466d80acb0173925a91c8 Author: johnme <johnme@chromium.org> Date: Thu Aug 25 17:34:18 2016 Add Notification images (Android without custom layouts) Behind --enable-experimental-web-platform-features flag. Not yet hooked up on Android Marshmallow or below, which use custom layouts for notifications. Intent to implement: https://groups.google.com/a/chromium.org/d/topic/blink-dev/FQxPB5GEQjo/discussion Screenshot: https://imgur.com/a/SM3tq Depends on https://codereview.chromium.org/2261283002 BUG= 614456 Review-Url: https://codereview.chromium.org/2273033002 Cr-Commit-Position: refs/heads/master@{#414466} [modify] https://crrev.com/bcfbd47c643580867f4466d80acb0173925a91c8/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java [modify] https://crrev.com/bcfbd47c643580867f4466d80acb0173925a91c8/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java [modify] https://crrev.com/bcfbd47c643580867f4466d80acb0173925a91c8/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java [modify] https://crrev.com/bcfbd47c643580867f4466d80acb0173925a91c8/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeTest.java [modify] https://crrev.com/bcfbd47c643580867f4466d80acb0173925a91c8/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilderTest.java [modify] https://crrev.com/bcfbd47c643580867f4466d80acb0173925a91c8/chrome/browser/notifications/notification_platform_bridge_android.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/edbb2648f4de98d287a5a65d3b16832f4fedf6a2 commit edbb2648f4de98d287a5a65d3b16832f4fedf6a2 Author: johnme <johnme@chromium.org> Date: Thu Oct 06 19:01:16 2016 Add Notification images (Android pre-N standard layout) Previously images were only supported on desktop and Android Nougat; they would be hidden on JellyBean through Marshmallow where we use a custom layout for the notifications. This patch makes us use the standard layout on all versions of Android when an image is present, thus images are now supported everywhere. Still behind the --enable-experimental-web-platform-features flag. Intent to implement: https://groups.google.com/a/chromium.org/d/topic/blink-dev/FQxPB5GEQjo/discussion Screenshot: https://imgur.com/a/A7VzK Depends on https://codereview.chromium.org/2273033002 BUG= 614456 Review-Url: https://codereview.chromium.org/2396063002 Cr-Commit-Position: refs/heads/master@{#423616} [modify] https://crrev.com/edbb2648f4de98d287a5a65d3b16832f4fedf6a2/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java [modify] https://crrev.com/edbb2648f4de98d287a5a65d3b16832f4fedf6a2/chrome/android/junit/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java
[Automated comment] removing mislabelled merge-merged-2840
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b0c683c3f0ca7bbefada86313f6d7c691467eba6 commit b0c683c3f0ca7bbefada86313f6d7c691467eba6 Author: johnme <johnme@chromium.org> Date: Wed Nov 16 13:04:31 2016 Add kill switch for Notification images The NotificationImage Blink feature is currently experimental, but will later be shipped by default. This patch adds a Finch kill switch so that the feature can be rolled back if necessary. BUG= 614456 Review-Url: https://codereview.chromium.org/2507463003 Cr-Commit-Position: refs/heads/master@{#432471} [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/chrome/browser/notifications/platform_notification_service_interactive_uitest.cc [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/content/browser/notifications/notification_message_filter.cc [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/content/child/runtime_features.cc [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/content/public/common/content_features.cc [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/content/public/common/content_features.h [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/third_party/WebKit/Source/modules/notifications/Notification.idl [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/third_party/WebKit/Source/modules/notifications/NotificationOptions.idl [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/third_party/WebKit/Source/web/WebRuntimeFeatures.cpp [modify] https://crrev.com/b0c683c3f0ca7bbefada86313f6d7c691467eba6/third_party/WebKit/public/web/WebRuntimeFeatures.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e46470fcbfad859c046e113258ae83780d60052b commit e46470fcbfad859c046e113258ae83780d60052b Author: johnme <johnme@chromium.org> Date: Wed Nov 16 22:56:13 2016 Ship Notification images Enables Notification images by default, instead of being behind the --enable-experimental-web-platform-features flag Intent to ship: https://groups.google.com/a/chromium.org/d/topic/blink-dev/y6U-3IGIduM/discussion BUG= 614456 Review-Url: https://codereview.chromium.org/2395113003 Cr-Commit-Position: refs/heads/master@{#432657} [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/content/browser/notifications/notification_message_filter.cc [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt [modify] https://crrev.com/e46470fcbfad859c046e113258ae83780d60052b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/468ed78ec76f5db7d89a0829b33c0f6427553411 commit 468ed78ec76f5db7d89a0829b33c0f6427553411 Author: johnme <johnme@chromium.org> Date: Thu Dec 01 14:00:53 2016 Notifications: Split up image loading histograms by image type It'll be useful to compare timings and byte sizes for the different image types (content image, icon, badge, action icon). BUG= 669621 , 614456 Review-Url: https://codereview.chromium.org/2540763002 Cr-Commit-Position: refs/heads/master@{#435601} [modify] https://crrev.com/468ed78ec76f5db7d89a0829b33c0f6427553411/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp [modify] https://crrev.com/468ed78ec76f5db7d89a0829b33c0f6427553411/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.h [modify] https://crrev.com/468ed78ec76f5db7d89a0829b33c0f6427553411/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp [modify] https://crrev.com/468ed78ec76f5db7d89a0829b33c0f6427553411/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp [modify] https://crrev.com/468ed78ec76f5db7d89a0829b33c0f6427553411/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.h [modify] https://crrev.com/468ed78ec76f5db7d89a0829b33c0f6427553411/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/df48f17f5512fa5a727e63290aded588bc776751 commit df48f17f5512fa5a727e63290aded588bc776751 Author: jbroman <jbroman@chromium.org> Date: Thu Dec 01 16:25:15 2016 Revert "Notifications: Split up image loading histograms by image type" This reverts commit 468ed78ec76f5db7d89a0829b33c0f6427553411. https://codereview.chromium.org/2540763002/ Failing on bots. NotificationImageLoaderTest.SuccessTest (run #1): [ RUN ] NotificationImageLoaderTest.SuccessTest ../../base/test/histogram_tester.cc:158: Failure Value of: actual_count Actual: 1 Expected: expected_count Which is: 0 Histogram "Notifications.LoadFinishTime.Icon" does not have the right number of samples (0) in the expected bucket (0). It has (1). [ FAILED ] NotificationImageLoaderTest.SuccessTest (5 ms) https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty/builds/20543 BUG= 669621 , 614456 TBR=johnme@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2540423003 Cr-Commit-Position: refs/heads/master@{#435622} [modify] https://crrev.com/df48f17f5512fa5a727e63290aded588bc776751/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp [modify] https://crrev.com/df48f17f5512fa5a727e63290aded588bc776751/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.h [modify] https://crrev.com/df48f17f5512fa5a727e63290aded588bc776751/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp [modify] https://crrev.com/df48f17f5512fa5a727e63290aded588bc776751/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp [modify] https://crrev.com/df48f17f5512fa5a727e63290aded588bc776751/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.h [modify] https://crrev.com/df48f17f5512fa5a727e63290aded588bc776751/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/548de683cebfaf09526f22bfa922512a114c251a commit 548de683cebfaf09526f22bfa922512a114c251a Author: johnme <johnme@chromium.org> Date: Thu Dec 01 20:52:46 2016 Reland: Notifications: Split up image loading histograms by image type Reland of https://codereview.chromium.org/2540763002 which was reverted in https://codereview.chromium.org/2540423003. Test has been fixed. It'll be useful to compare timings and byte sizes for the different image types (content image, icon, badge, action icon). BUG= 669621 , 614456 TBR=isherman@chromium.org (histograms unchanged from reverted patch) Review-Url: https://codereview.chromium.org/2544613004 Cr-Commit-Position: refs/heads/master@{#435705} [modify] https://crrev.com/548de683cebfaf09526f22bfa922512a114c251a/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp [modify] https://crrev.com/548de683cebfaf09526f22bfa922512a114c251a/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.h [modify] https://crrev.com/548de683cebfaf09526f22bfa922512a114c251a/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp [modify] https://crrev.com/548de683cebfaf09526f22bfa922512a114c251a/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp [modify] https://crrev.com/548de683cebfaf09526f22bfa922512a114c251a/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.h [modify] https://crrev.com/548de683cebfaf09526f22bfa922512a114c251a/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d91470167eb9d96442978d3bf17632aa5e5c7d05 commit d91470167eb9d96442978d3bf17632aa5e5c7d05 Author: John Mellor <johnme@chromium.org> Date: Tue Dec 06 11:55:17 2016 Reland: Notifications: Split up image loading histograms by image type Reland of https://codereview.chromium.org/2540763002 which was reverted in https://codereview.chromium.org/2540423003. Test has been fixed. It'll be useful to compare timings and byte sizes for the different image types (content image, icon, badge, action icon). BUG= 669621 , 614456 Review-Url: https://codereview.chromium.org/2544613004 Cr-Commit-Position: refs/heads/master@{#435705} (cherry picked from commit 548de683cebfaf09526f22bfa922512a114c251a) Review URL: https://codereview.chromium.org/2553813003 . Cr-Commit-Position: refs/branch-heads/2924@{#354} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} [modify] https://crrev.com/d91470167eb9d96442978d3bf17632aa5e5c7d05/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.cpp [modify] https://crrev.com/d91470167eb9d96442978d3bf17632aa5e5c7d05/third_party/WebKit/Source/modules/notifications/NotificationImageLoader.h [modify] https://crrev.com/d91470167eb9d96442978d3bf17632aa5e5c7d05/third_party/WebKit/Source/modules/notifications/NotificationImageLoaderTest.cpp [modify] https://crrev.com/d91470167eb9d96442978d3bf17632aa5e5c7d05/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.cpp [modify] https://crrev.com/d91470167eb9d96442978d3bf17632aa5e5c7d05/third_party/WebKit/Source/modules/notifications/NotificationResourcesLoader.h [modify] https://crrev.com/d91470167eb9d96442978d3bf17632aa5e5c7d05/tools/metrics/histograms/histograms.xml
See also follow-up UI work in issue 668087 and reporting in issue 678443.
Comment 1 by peter@chromium.org
, Aug 8 2016Labels: -OS-Android -Pri-3 OS-All Pri-2
Owner: joh...@chromium.org
Status: Started (was: Available)