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

Issue 789818 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task



Sign in to add a comment

Unify frame feature mojo's enum

Project Member Reported by lucmult@chromium.org, Nov 30 2017

Issue description

As part of FramePolicy migration from IPC to Mojo, this enum has been duped as mojo enum.

blink::WebSandboxFlags is a enum class acting as a bitfield, which isn't directly supported by mojo enum.

Migration to Mojo CL:
https://chromium-review.googlesource.com/c/chromium/src/+/784372 
 
Summary: Unify frame feature mojo's enum (was: Unify enum blink::WebSandboxFlags and blink::mojom::WebSandboxFlags)

- blink::WebSandboxFlags and blink::mojom::WebSandboxFlags
- blink::FeaturePolicyFeature and blink::mojom::FeaturePolicyFeature

# Roughly number of files:
$ ack-grep --ignore-dir=./out/  --noheading --type=cpp -lR '(WebSandboxFlags|FeaturePolicyFeature)' ./third_party/WebKit/Source/ ./third_party/WebKit/common/ ./third_party/WebKit/public/ ./content/ |wc -l
97

# Roughly number of lines  
$ ack-grep --ignore-dir=./out/  --noheading --type=cpp -R '(WebSandboxFlags|FeaturePolicyFeature)' ./third_party/WebKit/Source/ ./third_party/WebKit/common/ ./third_party/WebKit/public/ ./content/ |wc -l
597

Owner: loonyb...@chromium.org
I wonder if we need to do something this complicated.

I was thinking:
Step one:
In feature_policy_feature.h
using FeaturePolicyFeature = mojom::FeaturePolicyFeature

Step two:
do the same for WebSandboxFlags with maybe modification on the bitfield part?

Status: Started (was: Untriaged)
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 8 2018

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

commit 730f283fbc668bcca07612aeb4c24c1b4a11409a
Author: Luna Lu <loonybear@chromium.org>
Date: Thu Feb 08 16:38:03 2018

Remove duplicated definition of FeaturePolicyFeature

Previously FeaturePolicyFeature was defined in
   third_party/WebKit/common/feature_policy/feature_policy_feature.h
Then redefined in feature_policy.mojom when moving Feature Policy IPC to mojo
https://chromium-review.googlesource.com/c/chromium/src/+/784372

This CL removes the duplicated definition in feature_policy_feature.h and use
mojom::FeaturePolicyFeature everywhere instead.

Bug:  789818 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_dbg_ng
Change-Id: Ia50428b30264becb54d3a4180118bc2fa4d98d94
Reviewed-on: https://chromium-review.googlesource.com/902642
Commit-Queue: Luna Lu <loonybear@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535401}
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/build/check_gn_headers_whitelist.txt
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/DEPS
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/accessibility/accessibility_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/background_sync/background_sync_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/clipboard/clipboard_read_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/clipboard/clipboard_write_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/generic_sensor/sensor_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/geolocation/geolocation_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/media/midi_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/media/midi_sysex_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/media/protected_media_identifier_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/media/webrtc/media_stream_device_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/media/webrtc/media_stream_devices_controller.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/notifications/notification_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/permissions/permission_context_base.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/permissions/permission_context_base.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/permissions/permission_context_base_feature_policy_unittest.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/permissions/permission_context_base_unittest.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/plugins/flash_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/storage/durable_storage_permission_context.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/chrome/browser/usb/usb_tab_helper.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/DEPS
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/frame_host/render_frame_host_feature_policy_unittest.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/geolocation/geolocation_service_impl.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/geolocation/geolocation_service_impl_unittest.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/media/media_devices_permission_checker.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/media/media_devices_permission_checker_unittest.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/renderer_host/media/media_stream_ui_proxy.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/common/frame_messages.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/public/browser/render_frame_host.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/public/test/test_renderer_host.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/test/test_render_frame_host.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/content/test/test_render_frame_host.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/frame/Deprecation.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/frame/Deprecation.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/frame/DeviceSingleWindowEventController.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/frame/DeviceSingleWindowEventController.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/frame/Frame.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/frame/Frame.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/frame/UseCounterTest.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/fullscreen/Fullscreen.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/html/HTMLFrameElement.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/html/HTMLFrameElementTest.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/html/HTMLIFrameElementTest.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/device_orientation/DeviceMotionController.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/device_orientation/DeviceOrientationAbsoluteController.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/device_orientation/DeviceOrientationController.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/encryptedmedia/NavigatorRequestMediaKeySystemAccess.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/geolocation/Geolocation.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/mediastream/UserMediaRequest.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/picture_in_picture/PictureInPictureController.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/AbsoluteOrientationSensor.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/Accelerometer.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/Accelerometer.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/AmbientLightSensor.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/Gyroscope.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/LinearAccelerationSensor.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/Magnetometer.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/OrientationSensor.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/OrientationSensor.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/RelativeOrientationSensor.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/Sensor.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/sensor/Sensor.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/vibration/NavigatorVibration.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/vr/NavigatorVR.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/webmidi/NavigatorWebMIDI.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/webusb/USB.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/modules/xr/XR.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/common/feature_policy/README.md
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/common/feature_policy/feature_policy.cc
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/common/feature_policy/feature_policy.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/common/feature_policy/feature_policy.mojom
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/common/feature_policy/feature_policy.typemap
[delete] https://crrev.com/0cf17f10709166c18d04de2cddf526d93328ac2e/third_party/WebKit/common/feature_policy/feature_policy_feature.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/common/feature_policy/feature_policy_struct_traits.h
[modify] https://crrev.com/730f283fbc668bcca07612aeb4c24c1b4a11409a/third_party/WebKit/common/feature_policy/feature_policy_unittest.cc

Status: Fixed (was: Started)
I think for WebSandboxFlags, the long term plan is to move them to Feature Policy (i.e. create FeaturePolicyFeature enums for them). I created another bug entry for that: https://bugs.chromium.org/p/chromium/issues/detail?id=812381

So I am closing this bug for now. 

Sign in to add a comment