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

Issue 614608 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
OOO until 4th Feb
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug
Team-Security-UX

Blocking:
issue 612954



Sign in to add a comment

Implement permission delegation in Chrome

Project Member Reported by raymes@chromium.org, May 25 2016

Issue description

Comment 1 by raymes@chromium.org, May 25 2016

Labels: OS-All
Cc: jww@chromium.org mlamouri@chromium.org raymes@chromium.org f...@chromium.org
 Issue 513866  has been merged into this issue.
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 29 2016

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

commit 76dd6b4c688ae32a7a240dcb9da09678472a9e09
Author: raymes <raymes@chromium.org>
Date: Wed Jun 29 07:40:06 2016

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 

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

[add] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/LayoutTests/virtual/stable/webexposed/permissions-attribute-expected.txt
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[add] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/LayoutTests/webexposed/permissions-attribute-expected.txt
[add] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/LayoutTests/webexposed/permissions-attribute.html
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/core.gypi
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/frame/FrameOwner.h
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLAttributeNames.in
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLFrameElementBase.h
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElement.h
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElement.idl
[add] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.cpp
[add] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h
[add] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissionsTest.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElementSandbox.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElementSandbox.h
[add] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/core/html/HTMLIFrameElementTest.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/web/RemoteFrameOwner.h
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/web/WebFrame.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
[modify] https://crrev.com/76dd6b4c688ae32a7a240dcb9da09678472a9e09/third_party/WebKit/public/web/WebFrameOwnerProperties.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 19 2016

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

commit bba82b368739017314eac8bed4ae8c5533975bf5
Author: raymes <raymes@chromium.org>
Date: Tue Jul 19 00:41:38 2016

Create a content::FrameOwnerProperties struct for IPC transport of WebFrameOwnerProperties

blink::WebFrameOwnerProperties can't be sent over IPC because one of its members
is a WebVector which doesn't have ParamTraits defined. We introduce a new struct
in content to transfer the data.

BUG= 614608 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/browser/frame_host/render_frame_host_manager.cc
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/browser/frame_host/render_frame_message_filter.cc
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/browser/frame_host/render_frame_proxy_host.cc
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/common/DEPS
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/common/frame_messages.h
[add] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/common/frame_owner_properties.cc
[add] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/common/frame_owner_properties.h
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/content_common.gypi
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/renderer/render_frame_impl.h
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/renderer/render_frame_proxy.h
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/bba82b368739017314eac8bed4ae8c5533975bf5/third_party/WebKit/public/platform/modules/permissions/WebPermissionType.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 20 2016

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

commit 3145780a24db76c6fc4131cfdaea6dcd21131c22
Author: raymes <raymes@chromium.org>
Date: Wed Jul 20 06:08:09 2016

Use content::FrameOwnerProperties instead of blink::WebFrameOwnerProperties in content/

In https://codereview.chromium.org/2146803004 we introduced
content::FrameOwnerProperties which was used to transport
blink::WebFrameOwnerProperties over IPC. This CL changes content/ to use this
new struct wherever possible to avoid converting back and forth between the
two structs as much.

BUG= 614608 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/DEPS
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/frame_tree.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/frame_tree.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/frame_tree_node.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/frame_tree_node.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/frame_tree_node_blame_context_unittest.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/frame_tree_unittest.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/navigation_controller_impl_unittest.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_host_manager.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_host_manager.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_host_manager_unittest.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_message_filter.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_message_filter.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/frame_host/render_frame_proxy_host.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/common/frame_owner_properties.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/common/frame_owner_properties.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/public/test/mock_render_thread.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/renderer/render_frame_impl.h
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/renderer/render_frame_impl_browsertest.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/content/test/test_render_frame_host.cc
[modify] https://crrev.com/3145780a24db76c6fc4131cfdaea6dcd21131c22/third_party/WebKit/public/web/WebFrameOwnerProperties.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 28 2016

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

commit c94140a3b3e85c7fb622a75338ec4c60e3425dd9
Author: raymes <raymes@chromium.org>
Date: Thu Jul 28 01:21:02 2016

Ensure the permissions DOMTokenList is initialized before access

The permissions DOMTokenList in the HTMLIFrameElement is lazily initialized but
we weren't initializing it before it was accessed through its accessor. This caused the
code not to work correctly in cases where the attribute is initially accessed via JS.

BUG= 614608 

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

[modify] https://crrev.com/c94140a3b3e85c7fb622a75338ec4c60e3425dd9/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
[modify] https://crrev.com/c94140a3b3e85c7fb622a75338ec4c60e3425dd9/third_party/WebKit/Source/core/html/HTMLIFrameElementTest.cpp

Components: Internals>Permissions>Model

Comment 8 by raymes@chromium.org, Nov 29 2016

Components: -Internals>Permissions
Project Member

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

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

commit e777c2aebf305f494ca8186328b03532a78f35d8
Author: rijubrata.bhaumik <rijubrata.bhaumik@intel.com>
Date: Fri Feb 10 10:01:06 2017

Make delegated permissions use mojo generated -permissions.

Remove the WebPermissionType as the only feature which used it
was delegated permissions.

BUG= 614608 

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

[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/content/common/DEPS
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/content/common/frame_messages.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/content/common/frame_owner_properties.cc
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/content/common/frame_owner_properties.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/core/frame/FrameOwner.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/core/html/HTMLIFrameElement.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.cpp
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissionsTest.cpp
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/modules/permissions/PermissionStatus.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/Source/web/RemoteFrameOwner.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/public/BUILD.gn
[delete] https://crrev.com/6ac19e1710b6bdf828bc721d56c1f7ba8e48ff73/third_party/WebKit/public/platform/modules/permissions/WebPermissionType.h
[modify] https://crrev.com/e777c2aebf305f494ca8186328b03532a78f35d8/third_party/WebKit/public/web/WebFrameOwnerProperties.h

Project Member

Comment 10 by bugdroid1@chromium.org, Mar 16 2017

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

commit 168b507a6d9c69a833e5ab1ce9ff59d15ebf309a
Author: timloh <timloh@chromium.org>
Date: Thu Mar 16 02:21:53 2017

Remove old permission delegation prototype

This patch removes the permission delegation prototype code, as we've
decided to support this capability via Feature Policy instead and so the
delegation logic will be implemented differently.

BUG= 614608 

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

[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/chrome/browser/BUILD.gn
[delete] https://crrev.com/ef8ab61bac3cd1a4d714fbc4c1b9e5a042df3422/chrome/browser/permissions/delegation_tracker.cc
[delete] https://crrev.com/ef8ab61bac3cd1a4d714fbc4c1b9e5a042df3422/chrome/browser/permissions/delegation_tracker.h
[delete] https://crrev.com/ef8ab61bac3cd1a4d714fbc4c1b9e5a042df3422/chrome/browser/permissions/delegation_tracker_unittest.cc
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/chrome/test/BUILD.gn
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/content/common/frame_owner_properties.cc
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/content/common/frame_owner_properties.h
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/content/renderer/frame_owner_properties.cc
[delete] https://crrev.com/ef8ab61bac3cd1a4d714fbc4c1b9e5a042df3422/third_party/WebKit/LayoutTests/virtual/stable/webexposed/permissions-attribute-expected.txt
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/LayoutTests/webexposed/permissions-attribute-expected.txt
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/frame/FrameOwner.h
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/BUILD.gn
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/HTMLAttributeNames.json5
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/HTMLIFrameElement.h
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/HTMLIFrameElement.idl
[delete] https://crrev.com/ef8ab61bac3cd1a4d714fbc4c1b9e5a042df3422/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.cpp
[delete] https://crrev.com/ef8ab61bac3cd1a4d714fbc4c1b9e5a042df3422/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissions.h
[delete] https://crrev.com/ef8ab61bac3cd1a4d714fbc4c1b9e5a042df3422/third_party/WebKit/Source/core/html/HTMLIFrameElementPermissionsTest.cpp
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/core/html/HTMLIFrameElementTest.cpp
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/web/LocalFrameClientImpl.cpp
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/web/RemoteFrameOwner.h
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/web/WebFrame.cpp
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
[modify] https://crrev.com/168b507a6d9c69a833e5ab1ce9ff59d15ebf309a/third_party/WebKit/public/web/WebFrameOwnerProperties.h

Status: WontFix (was: Assigned)
We're now using Feature policy as the mechanism for delegation. Marking WontFix

Sign in to add a comment