New issue
Advanced search Search tips

Issue 656517 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 781257
Owner:
Closed: Nov 2
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocked on: View detail
issue 650150
issue 839389



Sign in to add a comment

Support partial interface for mix-in IDL

Project Member Reported by kochi@chromium.org, Oct 17 2016

Issue description

This issue came up during the code review in:
https://codereview.chromium.org/2340263003/

What I wanted to achieve was to add an interface (.fullscreenElement) to
both Document and ShadowRoot.

DocumentOrShadowRoot.idl can be the IDL file for that, but as originally
the fullscreen API is in a separated IDL file (DocumentFullscreen.idl)
as a partial interface for Document.
It would be nice if we can write a partial interface for mix-in
interface like DocumentOrShadowRoot.

e.g.

Document.idl:
interface Document { ... };
Document implements DocumentOrShadowRoot

DocumentOrShadowRoot.idl:
interface DocumentOrShadowRoot { ... };

DocumentFullscreen.idl:
partial interface Document { ... };

DocumentOrShadowRootFullscreen.idl (new):
partial interface DocumentOrShadowRoot {
  readonly attribute Element fullscreenElement;
  ...
};

 
Cc: peria@chromium.org bashi@chromium.org
Status: Available (was: Untriaged)
Project Member

Comment 3 by sheriffbot@chromium.org, Nov 10 2017

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 4 by peria@chromium.org, Nov 10 2017

Owner: peria@chromium.org
Status: Assigned (was: Untriaged)

Comment 5 by peria@chromium.org, Nov 20 2017

Blockedon: 650150
Project Member

Comment 6 by bugdroid1@chromium.org, Feb 9 2018

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

commit 2082cf8ad3a0704a162ed640945fdf643dee07ed
Author: François Beaufort <beaufort.francois@gmail.com>
Date: Fri Feb 09 17:50:49 2018

[Picture-in-Picture] Add Shadow DOM support for pictureInPictureElement

Until now, pictureInPictureElement was supported only in Document. This
CL makes it compliant with the spec by adding Shadow DOM support to
pictureInPictureElement. Note that I wish I could have used a partial
interface DocumentOrShadowRoot but partial interface for mix-in IDL are
not supported at that time ( crbug.com/656517 ).

Bug:  806249 ,  656517 
Change-Id: I5f9666ea9c52ded9a6d07a238fc7756371b7550e
Reviewed-on: https://chromium-review.googlesource.com/897513
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: apacible <apacible@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535747}
[add] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/LayoutTests/external/wpt/picture-in-picture/shadow-dom.html
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/BUILD.gn
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/DocumentPictureInPicture.cpp
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/DocumentPictureInPicture.h
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/DocumentPictureInPicture.idl
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/HTMLVideoElementPictureInPicture.cpp
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/PictureInPictureController.cpp
[modify] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/PictureInPictureController.h
[add] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/ShadowRootPictureInPicture.cpp
[add] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/ShadowRootPictureInPicture.h
[add] https://crrev.com/2082cf8ad3a0704a162ed640945fdf643dee07ed/third_party/WebKit/Source/modules/picture_in_picture/ShadowRootPictureInPicture.idl

Comment 7 by peria@chromium.org, May 3 2018

Blockedon: 839389

Comment 8 by peria@chromium.org, May 25 2018

Labels: Hotlist-Bindings-IDLCompiler
Mergedinto: 781257
Status: Duplicate (was: Assigned)
Now Web IDL spec defines "partial interface mixin" as this issue suggests.

Sign in to add a comment