Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Issue 7387010: Add PluginServiceFilter interface. (Closed)

Created:
9 years, 5 months ago by Bernhard Bauer
Modified:
9 years, 3 months ago
CC:
chromium-reviews, pam+watch_chromium.org, Erik does not do reviews, joi+watch-content_chromium.org, Aaron Boodman, darin-cc_chromium.org, stuartmorgan+watch_chromium.org
Visibility:
Public.

Description

Add PluginServiceFilter interface and ChromePluginServiceFilter. This should get rid of all references to webkit::npapi::IsPluginEnabled in content/. BUG=80794 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=99355

Patch Set 1 #

Patch Set 2 : fix #

Patch Set 3 : fix #

Patch Set 4 : fix #

Patch Set 5 : fix!!!111 #

Patch Set 6 : fixfixfix #

Patch Set 7 : fixity fix #

Patch Set 8 : '' #

Patch Set 9 : fix #

Patch Set 10 : fix stuff #

Patch Set 11 : stuff #

Patch Set 12 : cleanup & sync #

Patch Set 13 : fix win compile #

Patch Set 14 : sync & update #

Patch Set 15 : rebase #

Patch Set 16 : sync & fix #

Patch Set 17 : fix #

Patch Set 18 : fix #

Patch Set 19 : add resource_context #

Total comments: 19

Patch Set 20 : review #

Total comments: 6

Patch Set 21 : Move PluginFilter into content:: #

Total comments: 2

Patch Set 22 : rename pluginfilter to pluginservicefilter #

Patch Set 23 : Allow NULL PluginServiceFilter #

Patch Set 24 : rewrite #

Patch Set 25 : fix #

Patch Set 26 : fix #

Total comments: 3

Patch Set 27 : rebase #

Total comments: 4

Patch Set 28 : review #

Patch Set 29 : sync #

Patch Set 30 : fix #

Patch Set 31 : sync #

Patch Set 32 : sync #

Patch Set 33 : fix #

Patch Set 34 : sync #

Patch Set 35 : Gracefully handle the case where no PluginPrefs can be found for a ResourceContext #

Patch Set 36 : Don't warn when no PluginPrefs can be found #

Patch Set 37 : fix unit test? #

Patch Set 38 : sync #

Patch Set 39 : fix mac compile #

Patch Set 40 : review #

Total comments: 2

Patch Set 41 : I shouldn't be allowed to write code at 1 AM. #

Patch Set 42 : review #

Patch Set 43 : fix unit test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+526 lines, -243 lines) Patch
M chrome/browser/browser_process_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 2 chunks +4 lines, -1 line 0 comments Download
M chrome/browser/browsing_data_remover.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +1 line, -1 line 0 comments Download
A chrome/browser/chrome_plugin_service_filter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 chunk +88 lines, -0 lines 0 comments Download
A chrome/browser/chrome_plugin_service_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 chunk +139 lines, -0 lines 0 comments Download
M chrome/browser/extensions/extension_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 3 chunks +6 lines, -3 lines 0 comments Download
M chrome/browser/pdf_unsupported_feature.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 3 chunks +11 lines, -11 lines 0 comments Download
M chrome/browser/plugin_data_remover.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 4 chunks +5 lines, -1 line 0 comments Download
M chrome/browser/plugin_data_remover.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 4 chunks +8 lines, -2 lines 0 comments Download
chrome/browser/plugin_data_remover_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/plugin_data_remover_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/browser/plugin_prefs.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/printing/print_preview_tab_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 3 chunks +8 lines, -8 lines 0 comments Download
M chrome/browser/profiles/off_the_record_profile_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 4 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/plugins_ui.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 chunks +3 lines, -2 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/common/chrome_notification_types.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/renderer/chrome_content_renderer_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 1 chunk +0 lines, -2 lines 0 comments Download
M content/browser/plugin_process_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 2 chunks +7 lines, -1 line 0 comments Download
M content/browser/plugin_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 8 chunks +25 lines, -23 lines 0 comments Download
M content/browser/plugin_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 14 chunks +91 lines, -104 lines 0 comments Download
M content/browser/plugin_service_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 5 chunks +15 lines, -6 lines 0 comments Download
A content/browser/plugin_service_filter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 chunk +37 lines, -0 lines 0 comments Download
M content/browser/renderer_host/buffered_resource_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3 chunks +10 lines, -8 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2 chunks +1 line, -1 line 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 4 chunks +27 lines, -21 lines 0 comments Download
M content/common/content_notification_types.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 1 chunk +0 lines, -4 lines 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 2 chunks +4 lines, -5 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_view.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 2 chunks +0 lines, -8 lines 0 comments Download
M content/renderer/render_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/webplugin_delegate_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 1 chunk +2 lines, -2 lines 0 comments Download
M webkit/plugins/npapi/plugin_list.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 4 chunks +4 lines, -24 lines 0 comments Download

Messages

Total messages: 37 (0 generated)
Bernhard Bauer
Please review :-)
9 years, 4 months ago (2011-07-29 15:56:04 UTC) #1
jam
I like making content simpler :) some comments http://codereview.chromium.org/7387010/diff/30001/chrome/browser/chrome_plugin_service_helper.h File chrome/browser/chrome_plugin_service_helper.h (right): http://codereview.chromium.org/7387010/diff/30001/chrome/browser/chrome_plugin_service_helper.h#newcode23 chrome/browser/chrome_plugin_service_helper.h:23: class ...
9 years, 4 months ago (2011-08-01 03:25:44 UTC) #2
Bernhard Bauer
Thanks for the review! http://codereview.chromium.org/7387010/diff/30001/chrome/browser/chrome_plugin_service_helper.h File chrome/browser/chrome_plugin_service_helper.h (right): http://codereview.chromium.org/7387010/diff/30001/chrome/browser/chrome_plugin_service_helper.h#newcode25 chrome/browser/chrome_plugin_service_helper.h:25: struct OverriddenPlugin { On 2011/08/01 ...
9 years, 4 months ago (2011-08-01 16:06:12 UTC) #3
jam
http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h File content/browser/content_browser_client.h (right): http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 content/browser/content_browser_client.h:163: virtual PluginService::Filter* CreatePluginFilter( On 2011/08/01 16:06:12, Bernhard Bauer wrote: ...
9 years, 4 months ago (2011-08-01 17:25:03 UTC) #4
Bernhard Bauer
http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h File content/browser/content_browser_client.h (right): http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 content/browser/content_browser_client.h:163: virtual PluginService::Filter* CreatePluginFilter( On 2011/08/01 17:25:04, John Abd-El-Malek wrote: ...
9 years, 4 months ago (2011-08-01 18:07:38 UTC) #5
jam
http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h File content/browser/content_browser_client.h (right): http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 content/browser/content_browser_client.h:163: virtual PluginService::Filter* CreatePluginFilter( On 2011/08/01 18:07:39, Bernhard Bauer wrote: ...
9 years, 4 months ago (2011-08-02 04:18:17 UTC) #6
Bernhard Bauer
http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h File content/browser/content_browser_client.h (right): http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 content/browser/content_browser_client.h:163: virtual PluginService::Filter* CreatePluginFilter( On 2011/08/02 04:18:18, John Abd-El-Malek wrote: ...
9 years, 4 months ago (2011-08-02 12:45:08 UTC) #7
jam
http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h File content/browser/content_browser_client.h (right): http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 content/browser/content_browser_client.h:163: virtual PluginService::Filter* CreatePluginFilter( On 2011/08/02 12:45:08, Bernhard Bauer wrote: ...
9 years, 4 months ago (2011-08-02 15:13:32 UTC) #8
Bernhard Bauer
http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h File content/browser/content_browser_client.h (right): http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 content/browser/content_browser_client.h:163: virtual PluginService::Filter* CreatePluginFilter( On 2011/08/02 15:13:32, John Abd-El-Malek wrote: ...
9 years, 4 months ago (2011-08-02 15:52:46 UTC) #9
jam
On 2011/08/02 15:52:46, Bernhard Bauer wrote: > http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h > File content/browser/content_browser_client.h (right): > > http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 ...
9 years, 4 months ago (2011-08-02 16:02:36 UTC) #10
Bernhard Bauer
http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h File content/browser/content_browser_client.h (right): http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h#newcode163 content/browser/content_browser_client.h:163: virtual PluginService::Filter* CreatePluginFilter( On 2011/08/02 15:52:47, Bernhard Bauer wrote: ...
9 years, 4 months ago (2011-08-02 16:13:30 UTC) #11
jam
On Tue, Aug 2, 2011 at 9:13 AM, <bauerb@chromium.org> wrote: > > http://codereview.chromium.**org/7387010/diff/30001/** > content/browser/content_**browser_client.h<http://codereview.chromium.org/7387010/diff/30001/content/browser/content_browser_client.h> ...
9 years, 4 months ago (2011-08-02 16:17:12 UTC) #12
Bernhard Bauer
On Tue, Aug 2, 2011 at 18:17, John Abd-El-Malek <jam@chromium.org> wrote: > On Tue, Aug ...
9 years, 4 months ago (2011-08-02 16:33:14 UTC) #13
Bernhard Bauer
PTAL. http://codereview.chromium.org/7387010/diff/15032/content/browser/renderer_host/buffered_resource_handler.cc File content/browser/renderer_host/buffered_resource_handler.cc (right): http://codereview.chromium.org/7387010/diff/15032/content/browser/renderer_host/buffered_resource_handler.cc#newcode394 content/browser/renderer_host/buffered_resource_handler.cc:394: content::BrowserContext* browser_context = NULL; // XXX This is ...
9 years, 4 months ago (2011-08-03 14:47:32 UTC) #14
jam
http://codereview.chromium.org/7387010/diff/15032/content/browser/renderer_host/buffered_resource_handler.cc File content/browser/renderer_host/buffered_resource_handler.cc (right): http://codereview.chromium.org/7387010/diff/15032/content/browser/renderer_host/buffered_resource_handler.cc#newcode394 content/browser/renderer_host/buffered_resource_handler.cc:394: content::BrowserContext* browser_context = NULL; // XXX On 2011/08/03 14:47:33, ...
9 years, 4 months ago (2011-08-03 16:20:43 UTC) #15
Bernhard Bauer
http://codereview.chromium.org/7387010/diff/15032/content/browser/renderer_host/buffered_resource_handler.cc File content/browser/renderer_host/buffered_resource_handler.cc (right): http://codereview.chromium.org/7387010/diff/15032/content/browser/renderer_host/buffered_resource_handler.cc#newcode394 content/browser/renderer_host/buffered_resource_handler.cc:394: content::BrowserContext* browser_context = NULL; // XXX On 2011/08/03 16:20:43, ...
9 years, 4 months ago (2011-08-03 16:45:36 UTC) #16
Bernhard Bauer
PTAL? I rebased this CL on top of http://codereview.chromium.org/7564006/, which adds PluginPrefs. Note that there's ...
9 years, 4 months ago (2011-08-09 13:01:23 UTC) #17
jam
lgtm re the race condition, it seems harmless since the renderers should already be shut ...
9 years, 4 months ago (2011-08-10 06:31:51 UTC) #18
Bernhard Bauer
On 2011/08/10 06:31:51, John Abd-El-Malek wrote: > re the race condition, it seems harmless since ...
9 years, 4 months ago (2011-08-10 09:18:34 UTC) #19
Bernhard Bauer
On 2011/08/10 06:31:51, John Abd-El-Malek wrote: > lgtm > > re the race condition, it ...
9 years, 4 months ago (2011-08-19 13:18:36 UTC) #20
Bernhard Bauer
On 2011/08/19 13:18:36, Bernhard Bauer wrote: > On 2011/08/10 06:31:51, John Abd-El-Malek wrote: > > ...
9 years, 3 months ago (2011-08-30 13:39:38 UTC) #21
jam
On 2011/08/30 13:39:38, Bernhard Bauer wrote: > On 2011/08/19 13:18:36, Bernhard Bauer wrote: > > ...
9 years, 3 months ago (2011-08-30 16:55:07 UTC) #22
Bernhard Bauer
On 2011/08/30 16:55:07, John Abd-El-Malek wrote: > On 2011/08/30 13:39:38, Bernhard Bauer wrote: > > ...
9 years, 3 months ago (2011-08-30 17:09:34 UTC) #23
jam
On Tue, Aug 30, 2011 at 10:09 AM, <bauerb@chromium.org> wrote: > On 2011/08/30 16:55:07, John ...
9 years, 3 months ago (2011-08-30 17:13:06 UTC) #24
Bernhard Bauer
On 2011/08/30 17:13:06, John Abd-El-Malek wrote: > On Tue, Aug 30, 2011 at 10:09 AM, ...
9 years, 3 months ago (2011-08-30 20:49:11 UTC) #25
jam
On 2011/08/30 17:13:06, John Abd-El-Malek wrote: > On Tue, Aug 30, 2011 at 10:09 AM, ...
9 years, 3 months ago (2011-08-30 21:17:17 UTC) #26
Bernhard Bauer
On 2011/08/30 21:17:17, John Abd-El-Malek wrote: > On 2011/08/30 17:13:06, John Abd-El-Malek wrote: > > ...
9 years, 3 months ago (2011-08-30 21:32:38 UTC) #27
jam
On Tue, Aug 30, 2011 at 2:32 PM, <bauerb@chromium.org> wrote: > On 2011/08/30 21:17:17, John ...
9 years, 3 months ago (2011-08-30 21:46:59 UTC) #28
Bernhard Bauer
On 2011/08/30 21:46:59, John Abd-El-Malek wrote: > On Tue, Aug 30, 2011 at 2:32 PM, ...
9 years, 3 months ago (2011-08-30 22:12:20 UTC) #29
jam
On Tue, Aug 30, 2011 at 3:12 PM, <bauerb@chromium.org> wrote: > On 2011/08/30 21:46:59, John ...
9 years, 3 months ago (2011-08-30 22:18:13 UTC) #30
Bernhard Bauer
On Wed, Aug 31, 2011 at 00:18, John Abd-El-Malek <jam@chromium.org> wrote: > > > On ...
9 years, 3 months ago (2011-08-31 12:07:41 UTC) #31
Bernhard Bauer
Sorry to bother you again, another small change to fix a unit test crash: patch ...
9 years, 3 months ago (2011-08-31 21:56:53 UTC) #32
willchan no longer on Chromium
On 2011/08/31 21:56:53, Bernhard Bauer wrote: > Sorry to bother you again, another small change ...
9 years, 3 months ago (2011-09-01 19:50:24 UTC) #33
Bernhard Bauer
On 2011/09/01 19:50:24, willchan wrote: > On 2011/08/31 21:56:53, Bernhard Bauer wrote: > > Sorry ...
9 years, 3 months ago (2011-09-01 22:47:28 UTC) #34
willchan no longer on Chromium
profiles/ LGTM It's a bit annoying that the OffTheRecordProfile and ProfileImpl don't compose a common ...
9 years, 3 months ago (2011-09-01 23:34:44 UTC) #35
willchan no longer on Chromium
On 2011/09/01 22:47:28, Bernhard Bauer wrote: > On 2011/09/01 19:50:24, willchan wrote: > > On ...
9 years, 3 months ago (2011-09-01 23:36:18 UTC) #36
Bernhard Bauer
9 years, 3 months ago (2011-09-02 08:41:47 UTC) #37
On 2011/09/01 23:36:18, willchan wrote:
> Does GetPluginInfo need to be handled synchronously? Otherwise, the solution
we
> adopt elsewhere in code is to service is asynchronously and proxy the lookup
to
> the owning thread.

Usually we do that (at the call sites of GetPluginInfo), but for example in one
case we're in a Cocoa callback on the UI thread, so we have do it synchronously.

http://codereview.chromium.org/7387010/diff/93050/chrome/browser/profiles/pro...
File chrome/browser/profiles/profile_io_data.cc (right):

http://codereview.chromium.org/7387010/diff/93050/chrome/browser/profiles/pro...
chrome/browser/profiles/profile_io_data.cc:18: #include
"chrome/browser/chrome_plugin_service_filter.h"
On 2011/09/01 23:34:44, willchan wrote:
> Remove

Done.

Powered by Google App Engine
This is Rietveld 408576698