fix minor bugs

This commit is contained in:
Carmelo Messina 2022-02-17 11:19:55 +01:00
parent 6a59b21b58
commit 9578f8ce91
No known key found for this signature in database
GPG key ID: 968894BE688289FD
2 changed files with 95 additions and 62 deletions

View file

@ -22,7 +22,7 @@ part of the code was recovered from brave.
.../strings/android/browser_ui_strings.grd | 1 +
.../browser_ui/strings/android/webgl.grdp | 21 ++
components/components_strings.grd | 1 +
.../core/browser/content_settings_registry.cc | 15 ++
.../core/browser/content_settings_registry.cc | 15 +
.../core/browser/content_settings_utils.cc | 2 +
.../core/common/content_settings.cc | 4 +-
.../core/common/content_settings.h | 1 +
@ -34,17 +34,17 @@ part of the code was recovered from brave.
.../renderer/content_settings_agent_impl.h | 1 +
.../platform/web_content_settings_client.h | 2 +
.../renderer/core/execution_context/build.gni | 2 +
.../execution_context/execution_context.cc | 29 +++
.../execution_context/execution_context.cc | 29 ++
.../execution_context/execution_context.h | 5 +
.../core/execution_context/session_cache.cc | 117 +++++++++
.../core/execution_context/session_cache.cc | 117 ++++++++
.../core/execution_context/session_cache.h | 36 +++
.../webgl/webgl2_rendering_context_base.cc | 36 ++-
.../webgl/webgl2_rendering_context_base.h | 3 +-
.../webgl/webgl_rendering_context_base.cc | 244 +++++++++++++++++-
.../webgl/webgl_rendering_context_base.cc | 268 ++++++++++++++++--
.../webgl/webgl_rendering_context_base.h | 5 +-
.../graphics/gpu/webgl_image_conversion.cc | 6 +
.../graphics/gpu/webgl_image_conversion.h | 12 +-
31 files changed, 672 insertions(+), 27 deletions(-)
31 files changed, 677 insertions(+), 46 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java
create mode 100644 components/browser_ui/strings/android/webgl.grdp
create mode 100644 third_party/blink/renderer/core/execution_context/session_cache.cc
@ -170,14 +170,14 @@ new file mode 100644
+import java.util.ArrayList;
+
+public class BromiteWebGLContentSetting extends BromiteCustomContentSetting {
+ // CONTENT_SETTING_ALLOW allow with anti-fingerprinting
+ // CONTENT_SETTING_ALLOW allow with fingerprinting protection
+ // CONTENT_SETTING_ASK allow all
+ // CONTENT_SETTING_BLOCK block
+
+ public BromiteWebGLContentSetting() {
+ super(/*contentSettingsType*/ ContentSettingsType.WEBGL,
+ /*siteSettingsCategory*/ SiteSettingsCategory.Type.WEBGL,
+ /*defaultValue*/ ContentSettingValues.ALLOW,
+ /*initialDefaultValue*/ ContentSettingValues.BLOCK,
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
+ /*allowException*/ true,
+ /*preferenceKey*/ "webgl",
@ -189,7 +189,7 @@ new file mode 100644
+ return new ContentSettingsResources.ResourceItem(
+ /*icon*/ R.drawable.web_asset, /*smallicon*/ 0,
+ /*title*/ R.string.webgl_permission_title,
+ /*defaultEnabledValue*/ getDefaultValue(),
+ /*defaultEnabledValue*/ getInitialDefaultValue(),
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
+ /*enabledSummary*/ R.string.website_settings_category_webgl_enabled_antifingerprint,
+ /*disabledSummary*/ R.string.website_settings_category_webgl_disabled);
@ -235,7 +235,7 @@ new file mode 100644
+
+ @Override
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
+ return value != getDefaultValue();
+ return value != ContentSettingValues.BLOCK;
+ }
+}
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
@ -291,13 +291,13 @@ new file mode 100644
+ <message name="IDS_WEBGL_PERMISSION_TITLE" desc="Title of the permission to use webgl [CHAR-LIMIT=32]">
+ Webgl
+ </message>
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_ENABLED_ANTIFINGERPRINT" desc="Summary text explaining that webgl is enabled with antifingerprinting.">
+ Enabled with random data
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_ENABLED_ANTIFINGERPRINT" desc="Summary text explaining that webgl is enabled with fingerprinting protection.">
+ Enabled with fingerprinting protection
+ </message>
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_ENABLED" desc="Summary text explaining that webgl is full enabled.">
+ Enabled
+ </message>
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_DISABLED" desc="Summary text explaining that webgl is disabled.">
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_DISABLED" desc="Summary text explaining that webgl is full disabled.">
+ Disabled
+ </message>
+</grit-part>
@ -320,11 +320,11 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
+
+ Register(ContentSettingsType::WEBGL, "webgl", CONTENT_SETTING_ASK,
+ Register(ContentSettingsType::WEBGL, "webgl", CONTENT_SETTING_BLOCK,
+ WebsiteSettingsInfo::SYNCABLE,
+ AllowlistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW, // allow
+ CONTENT_SETTING_ASK, // allow with anti-fingerprinting
+ CONTENT_SETTING_ASK, // allow with fingerprinting protection
+ CONTENT_SETTING_BLOCK), // block
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
@ -854,16 +854,47 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
MutexLocker locker(WebGLContextLimitMutex());
DCHECK(webgl_context_limits_initialized_);
@@ -550,6 +561,8 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
@@ -464,25 +475,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) {
StringBuilder builder;
builder.Append("Could not create a WebGL context");
- FormatWebGLStatusString(
- "VENDOR",
- info.vendor_id ? String::Format("0x%04x", info.vendor_id) : "0xffff",
- builder);
- FormatWebGLStatusString(
- "DEVICE",
- info.device_id ? String::Format("0x%04x", info.device_id) : "0xffff",
- builder);
- FormatWebGLStatusString("GL_VENDOR", info.vendor_info, builder);
- FormatWebGLStatusString("GL_RENDERER", info.renderer_info, builder);
- FormatWebGLStatusString("GL_VERSION", info.driver_version, builder);
- FormatWebGLStatusString("Sandboxed", info.sandboxed ? "yes" : "no", builder);
- FormatWebGLStatusString("Optimus", info.optimus ? "yes" : "no", builder);
- FormatWebGLStatusString("AMD switchable", info.amd_switchable ? "yes" : "no",
- builder);
- FormatWebGLStatusString(
- "Reset notification strategy",
- String::Format("0x%04x", info.reset_notification_strategy).Utf8().c_str(),
- builder);
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder);
builder.Append('.');
@@ -550,6 +542,13 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) {
+ int setting = AllowWebglForHost(host);
+ if (setting == 2) return nullptr;
+ if (setting == 2) {
+ host->HostDispatchEvent(WebGLContextEvent::Create(
+ event_type_names::kWebglcontextcreationerror,
+ "disabled by site settings policy."));
+ return nullptr;
+ }
if ((context_type == Platform::kWebGL1ContextType &&
!host->IsWebGL1Enabled()) ||
(context_type == Platform::kWebGL2ContextType &&
@@ -3028,6 +3041,8 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveUniform(
@@ -3028,6 +3027,8 @@ WebGLActiveInfo* WebGLRenderingContextBase::getActiveUniform(
absl::optional<HeapVector<Member<WebGLShader>>>
WebGLRenderingContextBase::getAttachedShaders(WebGLProgram* program) {
@ -872,7 +903,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (!ValidateWebGLProgramOrShader("getAttachedShaders", program))
return absl::nullopt;
@@ -3075,6 +3090,8 @@ ScriptValue WebGLRenderingContextBase::getBufferParameter(
@@ -3075,6 +3076,8 @@ ScriptValue WebGLRenderingContextBase::getBufferParameter(
ScriptState* script_state,
GLenum target,
GLenum pname) {
@ -881,7 +912,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost() || !ValidateBufferTarget("getBufferParameter", target))
return ScriptValue::CreateNull(script_state->GetIsolate());
@@ -3182,6 +3199,12 @@ bool WebGLRenderingContextBase::TimerQueryExtensionsEnabled() {
@@ -3182,6 +3185,12 @@ bool WebGLRenderingContextBase::TimerQueryExtensionsEnabled() {
ScriptValue WebGLRenderingContextBase::getExtension(ScriptState* script_state,
const String& name) {
@ -894,7 +925,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
WebGLExtension* extension = nullptr;
if (name == WebGLDebugRendererInfo::ExtensionName()) {
@@ -3218,6 +3241,8 @@ ScriptValue WebGLRenderingContextBase::getFramebufferAttachmentParameter(
@@ -3218,6 +3227,8 @@ ScriptValue WebGLRenderingContextBase::getFramebufferAttachmentParameter(
GLenum target,
GLenum attachment,
GLenum pname) {
@ -903,7 +934,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost() ||
!ValidateFramebufferFuncParameters("getFramebufferAttachmentParameter",
target, attachment))
@@ -3342,6 +3367,24 @@ static const GLenum kIdentifiableGLParams[] = {
@@ -3342,6 +3353,24 @@ static const GLenum kIdentifiableGLParams[] = {
GL_RENDERBUFFER_SAMPLES,
};
@ -928,7 +959,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
bool ShouldMeasureGLParam(GLenum pname) {
return IdentifiabilityStudySettings::Get()->ShouldSample(
blink::IdentifiableSurface::Type::kWebGLParameter) &&
@@ -3350,6 +3393,35 @@ bool ShouldMeasureGLParam(GLenum pname) {
@@ -3350,6 +3379,35 @@ bool ShouldMeasureGLParam(GLenum pname) {
pname) != std::end(kIdentifiableGLParams);
}
@ -964,7 +995,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
} // namespace
void WebGLRenderingContextBase::RecordIdentifiableGLParameterDigest(
@@ -3398,6 +3470,7 @@ void WebGLRenderingContextBase::RecordUKMCanvasDrawnToAtFirstDrawCall() {
@@ -3398,6 +3456,7 @@ void WebGLRenderingContextBase::RecordUKMCanvasDrawnToAtFirstDrawCall() {
ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
GLenum pname) {
@ -972,7 +1003,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost())
return ScriptValue::CreateNull(script_state->GetIsolate());
const int kIntZero = 0;
@@ -3540,7 +3613,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
@@ -3540,7 +3599,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
RecordIdentifiableGLParameterDigest(
pname, IdentifiabilityBenignStringToken(String(
ContextGL()->GetString(GL_SHADING_LANGUAGE_VERSION))));
@ -981,7 +1012,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
return WebGLAny(
script_state,
"WebGL GLSL ES 1.0 (" +
@@ -3608,7 +3681,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
@@ -3608,7 +3667,7 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
RecordIdentifiableGLParameterDigest(
pname, IdentifiabilityBenignStringToken(
String(ContextGL()->GetString(GL_VERSION))));
@ -990,7 +1021,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
return WebGLAny(
script_state,
"WebGL 1.0 (" + String(ContextGL()->GetString(GL_VERSION)) + ")");
@@ -3624,6 +3697,13 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
@@ -3624,6 +3683,13 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
return ScriptValue::CreateNull(script_state->GetIsolate());
case WebGLDebugRendererInfo::kUnmaskedRendererWebgl:
if (ExtensionEnabled(kWebGLDebugRendererInfoName)) {
@ -1004,7 +1035,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (IdentifiabilityStudySettings::Get()->ShouldSample(
blink::IdentifiableSurface::Type::kWebGLParameter)) {
RecordIdentifiableGLParameterDigest(
@@ -3639,6 +3719,13 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
@@ -3639,6 +3705,13 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* script_state,
return ScriptValue::CreateNull(script_state->GetIsolate());
case WebGLDebugRendererInfo::kUnmaskedVendorWebgl:
if (ExtensionEnabled(kWebGLDebugRendererInfoName)) {
@ -1018,7 +1049,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (IdentifiabilityStudySettings::Get()->ShouldSample(
blink::IdentifiableSurface::Type::kWebGLParameter)) {
RecordIdentifiableGLParameterDigest(
@@ -3793,6 +3880,8 @@ ScriptValue WebGLRenderingContextBase::getRenderbufferParameter(
@@ -3793,6 +3866,8 @@ ScriptValue WebGLRenderingContextBase::getRenderbufferParameter(
ScriptState* script_state,
GLenum target,
GLenum pname) {
@ -1027,7 +1058,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost())
return ScriptValue::CreateNull(script_state->GetIsolate());
if (target != GL_RENDERBUFFER) {
@@ -3823,7 +3912,7 @@ ScriptValue WebGLRenderingContextBase::getRenderbufferParameter(
@@ -3823,7 +3898,7 @@ ScriptValue WebGLRenderingContextBase::getRenderbufferParameter(
case GL_RENDERBUFFER_ALPHA_SIZE:
case GL_RENDERBUFFER_DEPTH_SIZE:
case GL_RENDERBUFFER_STENCIL_SIZE:
@ -1036,7 +1067,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (IdentifiabilityStudySettings::Get()->ShouldSample(
blink::IdentifiableSurface::Type::kWebGLParameter)) {
RecordIdentifiableGLParameterDigest(pname, value);
@@ -3877,6 +3966,8 @@ ScriptValue WebGLRenderingContextBase::getShaderParameter(
@@ -3877,6 +3952,8 @@ ScriptValue WebGLRenderingContextBase::getShaderParameter(
String WebGLRenderingContextBase::getShaderInfoLog(WebGLShader* shader) {
if (!ValidateWebGLProgramOrShader("getShaderInfoLog", shader))
return String();
@ -1045,7 +1076,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
GLStringQuery query(ContextGL());
return query.Run<GLStringQuery::ShaderInfoLog>(ObjectNonZero(shader));
}
@@ -3907,6 +3998,12 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat(
@@ -3907,6 +3984,12 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat(
GLint precision = 0;
ContextGL()->GetShaderPrecisionFormat(shader_type, precision_type, range,
&precision);
@ -1058,7 +1089,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
auto* result = MakeGarbageCollected<WebGLShaderPrecisionFormat>(
range[0], range[1], precision);
if (IdentifiabilityStudySettings::Get()->ShouldSample(
@@ -3917,6 +4014,8 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat(
@@ -3917,6 +4000,8 @@ WebGLShaderPrecisionFormat* WebGLRenderingContextBase::getShaderPrecisionFormat(
}
String WebGLRenderingContextBase::getShaderSource(WebGLShader* shader) {
@ -1067,7 +1098,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (!ValidateWebGLProgramOrShader("getShaderSource", shader))
return String();
return EnsureNotNull(shader->Source());
@@ -3927,6 +4026,15 @@ WebGLRenderingContextBase::getSupportedExtensions() {
@@ -3927,6 +4012,15 @@ WebGLRenderingContextBase::getSupportedExtensions() {
if (isContextLost())
return absl::nullopt;
@ -1083,7 +1114,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
Vector<String> result;
for (ExtensionTracker* tracker : extensions_) {
@@ -3946,6 +4054,8 @@ ScriptValue WebGLRenderingContextBase::getTexParameter(
@@ -3946,6 +4040,8 @@ ScriptValue WebGLRenderingContextBase::getTexParameter(
ScriptState* script_state,
GLenum target,
GLenum pname) {
@ -1092,7 +1123,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost())
return ScriptValue::CreateNull(script_state->GetIsolate());
if (!ValidateTextureBinding("getTexParameter", target))
@@ -3980,6 +4090,8 @@ ScriptValue WebGLRenderingContextBase::getUniform(
@@ -3980,6 +4076,8 @@ ScriptValue WebGLRenderingContextBase::getUniform(
ScriptState* script_state,
WebGLProgram* program,
const WebGLUniformLocation* uniform_location) {
@ -1101,7 +1132,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (!ValidateWebGLProgramOrShader("getUniform", program))
return ScriptValue::CreateNull(script_state->GetIsolate());
DCHECK(uniform_location);
@@ -4263,6 +4375,8 @@ ScriptValue WebGLRenderingContextBase::getVertexAttrib(
@@ -4263,6 +4361,8 @@ ScriptValue WebGLRenderingContextBase::getVertexAttrib(
ScriptState* script_state,
GLuint index,
GLenum pname) {
@ -1110,7 +1141,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost())
return ScriptValue::CreateNull(script_state->GetIsolate());
if (index >= max_vertex_attribs_) {
@@ -4340,6 +4454,8 @@ ScriptValue WebGLRenderingContextBase::getVertexAttrib(
@@ -4340,6 +4440,8 @@ ScriptValue WebGLRenderingContextBase::getVertexAttrib(
int64_t WebGLRenderingContextBase::getVertexAttribOffset(GLuint index,
GLenum pname) {
@ -1119,7 +1150,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost())
return 0;
GLvoid* result = nullptr;
@@ -4676,9 +4792,13 @@ void WebGLRenderingContextBase::readPixels(
@@ -4676,9 +4778,13 @@ void WebGLRenderingContextBase::readPixels(
GLenum format,
GLenum type,
MaybeShared<DOMArrayBufferView> pixels) {
@ -1134,7 +1165,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
void WebGLRenderingContextBase::ReadPixelsHelper(GLint x,
GLint y,
GLsizei width,
@@ -4686,7 +4806,8 @@ void WebGLRenderingContextBase::ReadPixelsHelper(GLint x,
@@ -4686,7 +4792,8 @@ void WebGLRenderingContextBase::ReadPixelsHelper(GLint x,
GLenum format,
GLenum type,
DOMArrayBufferView* pixels,
@ -1144,7 +1175,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
if (isContextLost())
return;
// Due to WebGL's same-origin restrictions, it is not possible to
@@ -4750,7 +4871,58 @@ void WebGLRenderingContextBase::ReadPixelsHelper(GLint x,
@@ -4750,7 +4857,58 @@ void WebGLRenderingContextBase::ReadPixelsHelper(GLint x,
{
ScopedDrawingBufferBinder binder(GetDrawingBuffer(), framebuffer);
@ -1204,7 +1235,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
}
}
@@ -7418,6 +7590,18 @@ ScriptValue WebGLRenderingContextBase::GetFloatParameter(
@@ -7418,6 +7576,18 @@ ScriptValue WebGLRenderingContextBase::GetFloatParameter(
blink::IdentifiableSurface::Type::kWebGLParameter)) {
RecordIdentifiableGLParameterDigest(pname, value);
}
@ -1223,7 +1254,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
return WebGLAny(script_state, value);
}
@@ -7444,6 +7628,18 @@ ScriptValue WebGLRenderingContextBase::GetIntParameter(
@@ -7444,6 +7614,18 @@ ScriptValue WebGLRenderingContextBase::GetIntParameter(
blink::IdentifiableSurface::Type::kWebGLParameter)) {
RecordIdentifiableGLParameterDigest(pname, value);
}
@ -1242,7 +1273,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
return WebGLAny(script_state, value);
}
@@ -7453,6 +7649,18 @@ ScriptValue WebGLRenderingContextBase::GetInt64Parameter(
@@ -7453,6 +7635,18 @@ ScriptValue WebGLRenderingContextBase::GetInt64Parameter(
GLint64 value = 0;
if (!isContextLost())
ContextGL()->GetInteger64v(pname, &value);
@ -1261,7 +1292,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
return WebGLAny(script_state, value);
}
@@ -7492,6 +7700,18 @@ ScriptValue WebGLRenderingContextBase::GetWebGLFloatArrayParameter(
@@ -7492,6 +7686,18 @@ ScriptValue WebGLRenderingContextBase::GetWebGLFloatArrayParameter(
}
RecordIdentifiableGLParameterDigest(pname, builder.GetToken());
}
@ -1280,7 +1311,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
return WebGLAny(script_state, DOMFloat32Array::Create(value, length));
}
@@ -7520,6 +7740,18 @@ ScriptValue WebGLRenderingContextBase::GetWebGLIntArrayParameter(
@@ -7520,6 +7726,18 @@ ScriptValue WebGLRenderingContextBase::GetWebGLIntArrayParameter(
}
RecordIdentifiableGLParameterDigest(pname, builder.GetToken());
}
@ -1361,4 +1392,3 @@ diff --git a/third_party/blink/renderer/platform/graphics/gpu/webgl_image_conver
} // namespace blink
--
2.25.1

View file

@ -7,10 +7,10 @@ the ui relative to the site settings for use by the other patches
---
.../browser_ui/site_settings/android/BUILD.gn | 4 +
.../BromiteCustomContentSetting.java | 125 ++++++++
.../BromiteCustomContentSettingImpl.java | 269 ++++++++++++++++++
.../BromiteCustomContentSettingImpl.java | 271 ++++++++++++++++++
.../ContentSettingsResources.java | 24 +-
.../site_settings/SingleCategorySettings.java | 28 +-
.../site_settings/SingleWebsiteSettings.java | 19 +-
.../site_settings/SingleWebsiteSettings.java | 22 +-
.../site_settings/SiteSettings.java | 3 +-
.../site_settings/SiteSettingsCategory.java | 9 +-
.../TriStateSiteSettingsPreference.java | 13 +-
@ -27,7 +27,7 @@ the ui relative to the site settings for use by the other patches
.../android/page_info_controller_android.cc | 18 ++
components/page_info/page_info.cc | 23 +-
components/page_info/page_info_ui.cc | 18 ++
22 files changed, 591 insertions(+), 22 deletions(-)
22 files changed, 595 insertions(+), 23 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@ -85,7 +85,7 @@ new file mode 100644
+
+ private @ContentSettingsType int mContentSettingsType;
+ private @SiteSettingsCategory.Type int mSiteSettingsCategory;
+ private @ContentSettingValues Integer mDefaultValue;
+ private @ContentSettingValues Integer mInitialDefaultValue;
+ private @ContentSettingValues Integer mDefaultDisabledValue;
+ private boolean mAllowException;
+ private String mPreferenceKey;
@ -93,14 +93,14 @@ new file mode 100644
+
+ public BromiteCustomContentSetting(@ContentSettingsType int contentSettingsType,
+ @SiteSettingsCategory.Type int siteSettingsCategory,
+ @ContentSettingValues Integer defaultValue,
+ @ContentSettingValues Integer initialDefaultValue,
+ @ContentSettingValues Integer defaultDisabledValue,
+ boolean allowException,
+ String preferenceKey,
+ String profilePrefKey) {
+ mContentSettingsType = contentSettingsType;
+ mSiteSettingsCategory = siteSettingsCategory;
+ mDefaultValue = defaultValue;
+ mInitialDefaultValue = initialDefaultValue;
+ mDefaultDisabledValue = defaultDisabledValue;
+ mAllowException = allowException;
+ mPreferenceKey = preferenceKey;
@ -115,8 +115,8 @@ new file mode 100644
+ return mSiteSettingsCategory;
+ }
+
+ public @ContentSettingValues Integer getDefaultValue() {
+ return mDefaultValue;
+ protected @ContentSettingValues Integer getInitialDefaultValue() {
+ return mInitialDefaultValue;
+ }
+
+ public @ContentSettingValues Integer getDefaultDisabledValue() {
@ -148,7 +148,7 @@ new file mode 100644
+ }
+
+ public boolean isOnBlockList(@ContentSettingValues Integer contentSetting) {
+ return mDefaultValue != contentSetting;
+ return mDefaultDisabledValue == contentSetting;
+ }
+
+ public abstract @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value);
@ -179,7 +179,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@@ -0,0 +1,269 @@
@@ -0,0 +1,271 @@
+/*
+ This file is part of Bromite.
+
@ -304,8 +304,10 @@ new file mode 100644
+ continue;
+ }
+
+ int default_value = WebsitePreferenceBridge.getDefaultContentSetting(
+ browserContextHandle, cs.getContentSetting());
+ if (SingleCategorySettings.BINARY_TOGGLE_KEY.equals(preference.getKey())) {
+ int setting = ((boolean) newValue) == true ? cs.getDefaultValue() :
+ int setting = ((boolean) newValue) == true ? default_value :
+ cs.getDefaultDisabledValue();
+
+ WebsitePreferenceBridge.setDefaultContentSetting(browserContextHandle,
@ -628,7 +630,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type));
@@ -888,14 +890,21 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -888,14 +890,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@ -639,12 +641,14 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ if (value == null && cs == null) return;
+ if (value == null) {
+ if (cs.showIntoInfoPage() == false) return;
+ value = cs.getDefaultValue();
+ value = WebsitePreferenceBridge.getDefaultContentSetting(
+ getSiteSettingsDelegate().getBrowserContextHandle(), content_type);
+ }
setUpPreferenceCommon(preference, value);
ChromeSwitchPreference switchPreference = (ChromeSwitchPreference) preference;
switchPreference.setChecked(value == ContentSettingValues.ALLOW);
- switchPreference.setChecked(value == ContentSettingValues.ALLOW);
+ switchPreference.setChecked(value != ContentSettingValues.BLOCK);
switchPreference.setSummary(isEmbargoed
? getString(R.string.automatically_blocked)
- : getString(ContentSettingsResources.getCategorySummary(value)));
@ -652,7 +656,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1114,7 +1123,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1114,7 +1124,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
preference.setSummary(getDSECategorySummary(permission));
} else {
preference.setSummary(
@ -1102,4 +1106,3 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
--
2.25.1