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

Issue 2011763006: Add an iframe permissions= attribute for implementing permission delegation (Closed)

Created:
4 years, 7 months ago by raymes
Modified:
4 years, 5 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, blink-reviews-html_chromium.org, chrome-apps-syd-reviews_chromium.org, chromium-reviews, dcheng, dglazkov+blink, Mike West, mlamouri+watch-blink_chromium.org, palmer
Base URL:
https://chromium.googlesource.com/chromium/src.git@permission-delegation-1-flag
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add an iframe permissions= attribute for implementing permission delegation This adds a permissions= attribute to the iframe element. The delegation information is parsed and then plumbed down to the WebFrameOwnerProperties which will be replicated to the browser process. BUG=614608 Committed: https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09 Cr-Commit-Position: refs/heads/master@{#402751}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 14

Patch Set 5 : #

Total comments: 2

Patch Set 6 : Blink-side #

Total comments: 17

Patch Set 7 : Blink-side #

Patch Set 8 : Blink-side #

Patch Set 9 : Blink-side #

Total comments: 2

Patch Set 10 : Blink-side #

Patch Set 11 : Blink-side #

Total comments: 8

Patch Set 12 : Blink-side #

Patch Set 13 : Blink-side #

Patch Set 14 : Blink-side #

Unified diffs Side-by-side diffs Delta from patch set Stats (+399 lines, -36 lines) Patch
A + third_party/WebKit/LayoutTests/virtual/stable/webexposed/permissions-attribute-expected.txt View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webexposed/permissions-attribute.html View 1 2 3 4 5 1 chunk +7 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/webexposed/permissions-attribute-expected.txt View 1 2 3 4 5 1 chunk +10 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameOwner.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLAttributeNames.in View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameElementBase.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElement.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +16 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +34 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElement.idl View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
A third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +44 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +103 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/html/HTMLIFrameElementPermissionsTest.cpp View 1 2 3 4 5 6 7 8 1 chunk +57 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElementSandbox.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +15 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLIFrameElementSandbox.cpp View 1 2 3 4 5 6 7 8 1 chunk +39 lines, -19 lines 0 comments Download
A third_party/WebKit/Source/core/html/HTMLIFrameElementTest.cpp View 1 2 3 4 1 chunk +28 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/RemoteFrameOwner.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrame.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/public/web/WebFrameOwnerProperties.h View 1 2 4 chunks +11 lines, -2 lines 0 comments Download

Messages

Total messages: 47 (12 generated)
raymes
Hey Elliot, please take a look at this initial attempt at the blink-side code. I'm ...
4 years, 7 months ago (2016-05-26 04:46:15 UTC) #2
raymes
Friendly ping
4 years, 6 months ago (2016-06-01 00:55:04 UTC) #3
esprehn
This needs tests :) https://codereview.chromium.org/2011763006/diff/60001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/60001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode163 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:163: // DOMTokenList* to valueWasSet()? I ...
4 years, 6 months ago (2016-06-01 05:05:57 UTC) #4
raymes
Thanks! I haven't addressed the comments yet but for tests I wasn't sure what would ...
4 years, 6 months ago (2016-06-01 05:17:27 UTC) #5
esprehn
On 2016/06/01 at 05:17:27, raymes wrote: > Thanks! I haven't addressed the comments yet but ...
4 years, 6 months ago (2016-06-01 05:29:12 UTC) #6
raymes
Thanks! Tests added. https://codereview.chromium.org/2011763006/diff/60001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/60001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode163 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:163: // DOMTokenList* to valueWasSet()? On 2016/06/01 ...
4 years, 6 months ago (2016-06-06 06:48:29 UTC) #7
raymes
Ping :)
4 years, 6 months ago (2016-06-09 04:59:01 UTC) #8
raymes
esprehn: ping
4 years, 6 months ago (2016-06-13 23:31:36 UTC) #9
esprehn
On 2016/06/13 at 23:31:36, raymes wrote: > esprehn: ping Sorry been swamped, I'll look tomorrow. ...
4 years, 6 months ago (2016-06-14 21:17:48 UTC) #10
raymes
On 2016/06/14 21:17:48, esprehn wrote: > On 2016/06/13 at 23:31:36, raymes wrote: > > esprehn: ...
4 years, 6 months ago (2016-06-16 22:54:33 UTC) #11
esprehn
haraken@ and hayato@ can you take this?
4 years, 6 months ago (2016-06-17 02:22:50 UTC) #13
dominicc (has gone to gerrit)
https://codereview.chromium.org/2011763006/diff/80001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/80001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode204 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:204: void HTMLIFrameElement::permissionsValueWasSet() Um, I might have missed something but ...
4 years, 6 months ago (2016-06-17 04:55:06 UTC) #15
raymes
Thanks dominicc! haraken or hayato: ping :) https://codereview.chromium.org/2011763006/diff/80001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/80001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode204 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:204: void HTMLIFrameElement::permissionsValueWasSet() ...
4 years, 6 months ago (2016-06-22 06:43:32 UTC) #16
haraken
(I think dominicc@/hayato@/tkent@ will be a better reviewer for this one.)
4 years, 6 months ago (2016-06-22 06:50:33 UTC) #17
hayato
Sorry for the late reply. The CL looks good, but I am afraid that I ...
4 years, 6 months ago (2016-06-22 10:53:30 UTC) #18
dominicc (has gone to gerrit)
This LGTM but you will need tkent for platform/web etc.
4 years, 6 months ago (2016-06-23 03:51:49 UTC) #20
tkent
https://codereview.chromium.org/2011763006/diff/100001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/100001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode38 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:38: class SandboxObserver : public GarbageCollected<SandboxObserver>, public DOMTokenListObserver { nit: ...
4 years, 6 months ago (2016-06-23 04:57:28 UTC) #21
raymes
Thanks tkent! I haven't updated the CL because I have a question below. I'll update ...
4 years, 5 months ago (2016-06-27 07:25:57 UTC) #22
sof
https://codereview.chromium.org/2011763006/diff/100001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/100001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode38 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:38: class SandboxObserver : public GarbageCollected<SandboxObserver>, public DOMTokenListObserver { On ...
4 years, 5 months ago (2016-06-27 07:41:09 UTC) #24
tkent
https://codereview.chromium.org/2011763006/diff/100001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/100001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode38 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:38: class SandboxObserver : public GarbageCollected<SandboxObserver>, public DOMTokenListObserver { On ...
4 years, 5 months ago (2016-06-27 07:42:04 UTC) #25
raymes
Thanks! I managed to get it working with those tips, please take a look :) ...
4 years, 5 months ago (2016-06-27 08:09:50 UTC) #26
tkent
lgtm
4 years, 5 months ago (2016-06-27 08:16:08 UTC) #27
sof
https://codereview.chromium.org/2011763006/diff/160001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/160001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode42 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:42: , m_permissions(HTMLIFrameElementPermissions::create(this)) As this isn't commonly accessed (or enabled ...
4 years, 5 months ago (2016-06-27 08:38:52 UTC) #28
raymes
https://codereview.chromium.org/2011763006/diff/160001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp File third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp (right): https://codereview.chromium.org/2011763006/diff/160001/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp#newcode42 third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp:42: , m_permissions(HTMLIFrameElementPermissions::create(this)) On 2016/06/27 08:38:52, sof wrote: > As ...
4 years, 5 months ago (2016-06-28 01:19:04 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2011763006/180001
4 years, 5 months ago (2016-06-28 01:19:54 UTC) #31
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/212762)
4 years, 5 months ago (2016-06-28 02:25:57 UTC) #33
sof
https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h File third_party/WebKit/Source/core/html/HTMLIFrameElement.h (right): https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h#newcode69 third_party/WebKit/Source/core/html/HTMLIFrameElement.h:69: const WebVector<WebPermissionType>* delegatedPermissions() const override { return &m_delegatedPermissions; } ...
4 years, 5 months ago (2016-06-28 05:29:00 UTC) #34
raymes
Thanks! https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h File third_party/WebKit/Source/core/html/HTMLIFrameElement.h (right): https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h#newcode69 third_party/WebKit/Source/core/html/HTMLIFrameElement.h:69: const WebVector<WebPermissionType>* delegatedPermissions() const override { return &m_delegatedPermissions; ...
4 years, 5 months ago (2016-06-28 06:49:46 UTC) #35
sof
https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h File third_party/WebKit/Source/core/html/HTMLIFrameElement.h (right): https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h#newcode69 third_party/WebKit/Source/core/html/HTMLIFrameElement.h:69: const WebVector<WebPermissionType>* delegatedPermissions() const override { return &m_delegatedPermissions; } ...
4 years, 5 months ago (2016-06-28 06:57:48 UTC) #36
raymes
Thanks https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h File third_party/WebKit/Source/core/html/HTMLIFrameElement.h (right): https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h#newcode69 third_party/WebKit/Source/core/html/HTMLIFrameElement.h:69: const WebVector<WebPermissionType>* delegatedPermissions() const override { return &m_delegatedPermissions; ...
4 years, 5 months ago (2016-06-29 05:54:47 UTC) #37
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2011763006/260001
4 years, 5 months ago (2016-06-29 05:57:47 UTC) #39
sof
https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h File third_party/WebKit/Source/core/html/HTMLIFrameElement.h (right): https://codereview.chromium.org/2011763006/diff/200001/third_party/WebKit/Source/core/html/HTMLIFrameElement.h#newcode69 third_party/WebKit/Source/core/html/HTMLIFrameElement.h:69: const WebVector<WebPermissionType>* delegatedPermissions() const override { return &m_delegatedPermissions; } ...
4 years, 5 months ago (2016-06-29 06:10:28 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2011763006/260001
4 years, 5 months ago (2016-06-29 06:22:45 UTC) #44
commit-bot: I haz the power
Committed patchset #14 (id:260001)
4 years, 5 months ago (2016-06-29 07:40:21 UTC) #45
commit-bot: I haz the power
4 years, 5 months ago (2016-06-29 07:42:17 UTC) #47
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09
Cr-Commit-Position: refs/heads/master@{#402751}

Powered by Google App Engine
This is Rietveld 408576698