Remove Flash debug URLs
Start with Flash debug URLs, and remove lots of code related to
handling them.
Fixed: 1263693
Change-Id: I17f898db54589ec9ddc6450ee77c7b8f329436f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3245978
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#935993}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
def507007a
commit
bb0f59d26e
chrome
browser
common
renderer
content
browser
ppapi_plugin
public
ppapi/proxy
third_party/blink
tools/metrics/histograms/metadata/plugin
@@ -79,7 +79,6 @@ class PluginInfoHostImplTest : public ::testing::Test {
|
|||||||
PluginInfoHostImplTest()
|
PluginInfoHostImplTest()
|
||||||
: foo_plugin_path_(FILE_PATH_LITERAL("/path/to/foo")),
|
: foo_plugin_path_(FILE_PATH_LITERAL("/path/to/foo")),
|
||||||
bar_plugin_path_(FILE_PATH_LITERAL("/path/to/bar")),
|
bar_plugin_path_(FILE_PATH_LITERAL("/path/to/bar")),
|
||||||
fake_flash_path_(FILE_PATH_LITERAL("/path/to/fake/flash")),
|
|
||||||
context_(0, &profile_),
|
context_(0, &profile_),
|
||||||
host_content_settings_map_(
|
host_content_settings_map_(
|
||||||
HostContentSettingsMapFactory::GetForProfile(&profile_)) {}
|
HostContentSettingsMapFactory::GetForProfile(&profile_)) {}
|
||||||
@@ -102,14 +101,6 @@ class PluginInfoHostImplTest : public ::testing::Test {
|
|||||||
bar_plugin.type = content::WebPluginInfo::PLUGIN_TYPE_PEPPER_IN_PROCESS;
|
bar_plugin.type = content::WebPluginInfo::PLUGIN_TYPE_PEPPER_IN_PROCESS;
|
||||||
PluginService::GetInstance()->RegisterInternalPlugin(bar_plugin, false);
|
PluginService::GetInstance()->RegisterInternalPlugin(bar_plugin, false);
|
||||||
|
|
||||||
content::WebPluginInfo fake_flash(
|
|
||||||
base::ASCIIToUTF16(content::kFlashPluginName), fake_flash_path_,
|
|
||||||
u"100.0", u"Fake Flash Description.");
|
|
||||||
mime_type.mime_type = "application/x-shockwave-flash";
|
|
||||||
fake_flash.mime_types.push_back(mime_type);
|
|
||||||
fake_flash.type = content::WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS;
|
|
||||||
PluginService::GetInstance()->RegisterInternalPlugin(fake_flash, false);
|
|
||||||
|
|
||||||
PluginService::GetInstance()->SetFilter(&filter_);
|
PluginService::GetInstance()->SetFilter(&filter_);
|
||||||
|
|
||||||
#if !defined(OS_WIN)
|
#if !defined(OS_WIN)
|
||||||
@@ -136,7 +127,6 @@ class PluginInfoHostImplTest : public ::testing::Test {
|
|||||||
|
|
||||||
base::FilePath foo_plugin_path_;
|
base::FilePath foo_plugin_path_;
|
||||||
base::FilePath bar_plugin_path_;
|
base::FilePath bar_plugin_path_;
|
||||||
base::FilePath fake_flash_path_;
|
|
||||||
FakePluginServiceFilter filter_;
|
FakePluginServiceFilter filter_;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
#include "base/values.h"
|
#include "base/values.h"
|
||||||
#include "chrome/browser/profiles/profile.h"
|
#include "chrome/browser/profiles/profile.h"
|
||||||
#include "chrome/common/plugin_utils.h"
|
|
||||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||||
#include "components/content_settings/core/common/content_settings_types.h"
|
#include "components/content_settings/core/common/content_settings_types.h"
|
||||||
#include "components/content_settings/core/common/content_settings_utils.h"
|
#include "components/content_settings/core/common/content_settings_utils.h"
|
||||||
@@ -35,13 +34,6 @@ void PluginUtils::GetPluginContentSetting(
|
|||||||
ContentSetting* setting,
|
ContentSetting* setting,
|
||||||
bool* is_default,
|
bool* is_default,
|
||||||
bool* is_managed) {
|
bool* is_managed) {
|
||||||
// Not JS means Flash. Flash is deprecated.
|
|
||||||
if (!ShouldUseJavaScriptSettingForPlugin(plugin)) {
|
|
||||||
*is_default = true;
|
|
||||||
*setting = CONTENT_SETTING_BLOCK;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
GURL main_frame_url = main_frame_origin.GetURL();
|
GURL main_frame_url = main_frame_origin.GetURL();
|
||||||
std::unique_ptr<base::Value> value;
|
std::unique_ptr<base::Value> value;
|
||||||
content_settings::SettingInfo info;
|
content_settings::SettingInfo info;
|
||||||
|
@@ -461,8 +461,6 @@ static_library("common") {
|
|||||||
|
|
||||||
if (enable_plugins) {
|
if (enable_plugins) {
|
||||||
sources += [
|
sources += [
|
||||||
"plugin_utils.cc",
|
|
||||||
"plugin_utils.h",
|
|
||||||
"ppapi_utils.cc",
|
"ppapi_utils.cc",
|
||||||
"ppapi_utils.h",
|
"ppapi_utils.h",
|
||||||
]
|
]
|
||||||
|
@@ -1,23 +0,0 @@
|
|||||||
// Copyright 2016 The Chromium Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style license that can be
|
|
||||||
// found in the LICENSE file.
|
|
||||||
|
|
||||||
#include "chrome/common/plugin_utils.h"
|
|
||||||
|
|
||||||
#include "base/strings/utf_string_conversions.h"
|
|
||||||
#include "content/public/common/content_constants.h"
|
|
||||||
#include "content/public/common/webplugininfo.h"
|
|
||||||
|
|
||||||
bool ShouldUseJavaScriptSettingForPlugin(const content::WebPluginInfo& plugin) {
|
|
||||||
if (plugin.name == base::ASCIIToUTF16(content::kFlashPluginName))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// Since all the UI surfaces for Plugin content settings display "Flash",
|
|
||||||
// treat all other plugins as JavaScript. These include all of:
|
|
||||||
// - Internally registered plugins such as:
|
|
||||||
// - NaCl
|
|
||||||
// - Widevine
|
|
||||||
// - PDF
|
|
||||||
// - Custom plugins loaded from the command line
|
|
||||||
return true;
|
|
||||||
}
|
|
@@ -1,15 +0,0 @@
|
|||||||
// Copyright 2016 The Chromium Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style license that can be
|
|
||||||
// found in the LICENSE file.
|
|
||||||
|
|
||||||
#ifndef CHROME_COMMON_PLUGIN_UTILS_H_
|
|
||||||
#define CHROME_COMMON_PLUGIN_UTILS_H_
|
|
||||||
|
|
||||||
namespace content {
|
|
||||||
struct WebPluginInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true if |plugin| should use the JavaScript Content Settings.
|
|
||||||
bool ShouldUseJavaScriptSettingForPlugin(const content::WebPluginInfo& plugin);
|
|
||||||
|
|
||||||
#endif // CHROME_COMMON_PLUGIN_UTILS_H_
|
|
@@ -674,8 +674,6 @@ const char* const kChromeDebugURLs[] = {
|
|||||||
blink::kChromeUIMemoryExhaustURL,
|
blink::kChromeUIMemoryExhaustURL,
|
||||||
blink::kChromeUIMemoryPressureCriticalURL,
|
blink::kChromeUIMemoryPressureCriticalURL,
|
||||||
blink::kChromeUIMemoryPressureModerateURL,
|
blink::kChromeUIMemoryPressureModerateURL,
|
||||||
blink::kChromeUIPpapiFlashCrashURL,
|
|
||||||
blink::kChromeUIPpapiFlashHangURL,
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
blink::kChromeUIBrowserHeapCorruptionURL,
|
blink::kChromeUIBrowserHeapCorruptionURL,
|
||||||
blink::kChromeUIHeapCorruptionCrashURL,
|
blink::kChromeUIHeapCorruptionCrashURL,
|
||||||
|
@@ -218,7 +218,6 @@
|
|||||||
#endif // BUILDFLAG(ENABLE_PDF)
|
#endif // BUILDFLAG(ENABLE_PDF)
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||||
#include "chrome/common/plugin_utils.h"
|
|
||||||
#include "chrome/renderer/plugins/chrome_plugin_placeholder.h"
|
#include "chrome/renderer/plugins/chrome_plugin_placeholder.h"
|
||||||
#include "ppapi/shared_impl/ppapi_switches.h" // nogncheck crbug.com/1125897
|
#include "ppapi/shared_impl/ppapi_switches.h" // nogncheck crbug.com/1125897
|
||||||
#else
|
#else
|
||||||
@@ -915,16 +914,6 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
|||||||
render_frame, original_params);
|
render_frame, original_params);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Flash is deprecated in M87 and removed in M88+. If a plugin uses flash,
|
|
||||||
// its status will be |PluginStatus::kNotFound|. If for some reason the
|
|
||||||
// status is different, we should not treat it as JavaScript plugin but
|
|
||||||
// return a deprecated message.
|
|
||||||
if (!ShouldUseJavaScriptSettingForPlugin(info)) {
|
|
||||||
return NonLoadablePluginPlaceholder::CreateFlashDeprecatedPlaceholder(
|
|
||||||
render_frame, original_params)
|
|
||||||
->plugin();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(bauerb): This should be in content/.
|
// TODO(bauerb): This should be in content/.
|
||||||
WebPluginParams params(original_params);
|
WebPluginParams params(original_params);
|
||||||
for (const auto& mime_type : info.mime_types) {
|
for (const auto& mime_type : info.mime_types) {
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
#include "base/files/file_path.h"
|
#include "base/files/file_path.h"
|
||||||
#include "base/location.h"
|
#include "base/location.h"
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
#include "base/metrics/histogram_macros.h"
|
|
||||||
#include "base/strings/string_piece.h"
|
#include "base/strings/string_piece.h"
|
||||||
#include "base/strings/string_util.h"
|
#include "base/strings/string_util.h"
|
||||||
#include "base/strings/utf_string_conversions.h"
|
#include "base/strings/utf_string_conversions.h"
|
||||||
@@ -50,16 +49,6 @@
|
|||||||
namespace content {
|
namespace content {
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// This enum is used to collect Flash usage data.
|
|
||||||
enum FlashUsage {
|
|
||||||
// Number of browser processes that have started at least one PPAPI Flash
|
|
||||||
// process during their lifetime.
|
|
||||||
START_PPAPI_FLASH_AT_LEAST_ONCE = 1,
|
|
||||||
// Total number of browser processes.
|
|
||||||
TOTAL_BROWSER_PROCESSES,
|
|
||||||
FLASH_USAGE_ENUM_COUNT
|
|
||||||
};
|
|
||||||
|
|
||||||
// Callback set on the PluginList to assert that plugin loading happens on the
|
// Callback set on the PluginList to assert that plugin loading happens on the
|
||||||
// correct thread.
|
// correct thread.
|
||||||
void WillLoadPluginsCallback(base::SequenceChecker* sequence_checker) {
|
void WillLoadPluginsCallback(base::SequenceChecker* sequence_checker) {
|
||||||
@@ -88,20 +77,9 @@ PluginServiceImpl* PluginServiceImpl::GetInstance() {
|
|||||||
return base::Singleton<PluginServiceImpl>::get();
|
return base::Singleton<PluginServiceImpl>::get();
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginServiceImpl::PluginServiceImpl() : filter_(nullptr) {
|
PluginServiceImpl::PluginServiceImpl() = default;
|
||||||
// Collect the total number of browser processes (which create
|
|
||||||
// PluginServiceImpl objects, to be precise). The number is used to normalize
|
|
||||||
// the number of processes which start at least one NPAPI/PPAPI Flash process.
|
|
||||||
static bool counted = false;
|
|
||||||
if (!counted) {
|
|
||||||
counted = true;
|
|
||||||
UMA_HISTOGRAM_ENUMERATION("Plugin.FlashUsage", TOTAL_BROWSER_PROCESSES,
|
|
||||||
FLASH_USAGE_ENUM_COUNT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
PluginServiceImpl::~PluginServiceImpl() {
|
PluginServiceImpl::~PluginServiceImpl() = default;
|
||||||
}
|
|
||||||
|
|
||||||
void PluginServiceImpl::Init() {
|
void PluginServiceImpl::Init() {
|
||||||
plugin_list_task_runner_ = base::ThreadPool::CreateSequencedTaskRunner(
|
plugin_list_task_runner_ = base::ThreadPool::CreateSequencedTaskRunner(
|
||||||
@@ -208,15 +186,6 @@ PpapiPluginProcessHost* PluginServiceImpl::FindOrStartPpapiPluginProcess(
|
|||||||
if (plugin_host)
|
if (plugin_host)
|
||||||
return plugin_host;
|
return plugin_host;
|
||||||
|
|
||||||
// Record when PPAPI Flash process is started for the first time.
|
|
||||||
static bool counted = false;
|
|
||||||
if (!counted && info->name == kFlashPluginName) {
|
|
||||||
counted = true;
|
|
||||||
UMA_HISTOGRAM_ENUMERATION("Plugin.FlashUsage",
|
|
||||||
START_PPAPI_FLASH_AT_LEAST_ONCE,
|
|
||||||
FLASH_USAGE_ENUM_COUNT);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Avoid fork bomb.
|
// Avoid fork bomb.
|
||||||
if (origin_lock.has_value() && CountPpapiPluginProcessesForProfile(
|
if (origin_lock.has_value() && CountPpapiPluginProcessesForProfile(
|
||||||
plugin_path, profile_data_directory) >=
|
plugin_path, profile_data_directory) >=
|
||||||
|
@@ -136,7 +136,7 @@ class CONTENT_EXPORT PluginServiceImpl : public PluginService {
|
|||||||
int max_ppapi_processes_per_profile_ = kDefaultMaxPpapiProcessesPerProfile;
|
int max_ppapi_processes_per_profile_ = kDefaultMaxPpapiProcessesPerProfile;
|
||||||
|
|
||||||
// Weak pointer; set during the startup on UI thread and must outlive us.
|
// Weak pointer; set during the startup on UI thread and must outlive us.
|
||||||
PluginServiceFilter* filter_;
|
PluginServiceFilter* filter_ = nullptr;
|
||||||
|
|
||||||
// Used to load plugins from disk.
|
// Used to load plugins from disk.
|
||||||
scoped_refptr<base::SequencedTaskRunner> plugin_list_task_runner_;
|
scoped_refptr<base::SequencedTaskRunner> plugin_list_task_runner_;
|
||||||
|
@@ -55,22 +55,6 @@ const char kAsanCorruptHeapBlock[] = "/browser-corrupt-heap-block";
|
|||||||
const char kAsanCorruptHeap[] = "/browser-corrupt-heap";
|
const char kAsanCorruptHeap[] = "/browser-corrupt-heap";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void HandlePpapiFlashDebugURL(const GURL& url) {
|
|
||||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
|
||||||
bool crash = url == blink::kChromeUIPpapiFlashCrashURL;
|
|
||||||
|
|
||||||
std::vector<PpapiPluginProcessHost*> hosts;
|
|
||||||
PpapiPluginProcessHost::FindByName(base::UTF8ToUTF16(kFlashPluginName),
|
|
||||||
&hosts);
|
|
||||||
for (auto iter = hosts.begin(); iter != hosts.end(); ++iter) {
|
|
||||||
if (crash)
|
|
||||||
(*iter)->Send(new PpapiMsg_Crash());
|
|
||||||
else
|
|
||||||
(*iter)->Send(new PpapiMsg_Hang());
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IsAsanDebugURL(const GURL& url) {
|
bool IsAsanDebugURL(const GURL& url) {
|
||||||
if (!(url.is_valid() && url.SchemeIs(kChromeUIScheme) &&
|
if (!(url.is_valid() && url.SchemeIs(kChromeUIScheme) &&
|
||||||
url.DomainIs(kAsanCrashDomain) && url.has_path())) {
|
url.DomainIs(kAsanCrashDomain) && url.has_path())) {
|
||||||
@@ -212,13 +196,6 @@ bool HandleDebugURL(const GURL& url,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (url == blink::kChromeUIPpapiFlashCrashURL ||
|
|
||||||
url == blink::kChromeUIPpapiFlashHangURL) {
|
|
||||||
GetIOThreadTaskRunner({})->PostTask(
|
|
||||||
FROM_HERE, base::BindOnce(&HandlePpapiFlashDebugURL, url));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (url == blink::kChromeUIMemoryPressureCriticalURL) {
|
if (url == blink::kChromeUIMemoryPressureCriticalURL) {
|
||||||
base::MemoryPressureListener::NotifyMemoryPressure(
|
base::MemoryPressureListener::NotifyMemoryPressure(
|
||||||
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL);
|
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL);
|
||||||
|
@@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
#include "base/command_line.h"
|
#include "base/command_line.h"
|
||||||
#include "base/cpu.h"
|
#include "base/cpu.h"
|
||||||
#include "base/debug/alias.h"
|
|
||||||
#include "base/debug/crash_logging.h"
|
#include "base/debug/crash_logging.h"
|
||||||
#include "base/files/file_util.h"
|
#include "base/files/file_util.h"
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
@@ -19,7 +18,6 @@
|
|||||||
#include "base/rand_util.h"
|
#include "base/rand_util.h"
|
||||||
#include "base/strings/utf_string_conversions.h"
|
#include "base/strings/utf_string_conversions.h"
|
||||||
#include "base/task/single_thread_task_runner.h"
|
#include "base/task/single_thread_task_runner.h"
|
||||||
#include "base/threading/platform_thread.h"
|
|
||||||
#include "base/time/time.h"
|
#include "base/time/time.h"
|
||||||
#include "base/trace_event/trace_event.h"
|
#include "base/trace_event/trace_event.h"
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
@@ -136,8 +134,6 @@ bool PpapiThread::OnControlMessageReceived(const IPC::Message& msg) {
|
|||||||
IPC_MESSAGE_HANDLER(PpapiMsg_LoadPlugin, OnLoadPlugin)
|
IPC_MESSAGE_HANDLER(PpapiMsg_LoadPlugin, OnLoadPlugin)
|
||||||
IPC_MESSAGE_HANDLER(PpapiMsg_CreateChannel, OnCreateChannel)
|
IPC_MESSAGE_HANDLER(PpapiMsg_CreateChannel, OnCreateChannel)
|
||||||
IPC_MESSAGE_HANDLER(PpapiMsg_SetNetworkState, OnSetNetworkState)
|
IPC_MESSAGE_HANDLER(PpapiMsg_SetNetworkState, OnSetNetworkState)
|
||||||
IPC_MESSAGE_HANDLER(PpapiMsg_Crash, OnCrash)
|
|
||||||
IPC_MESSAGE_HANDLER(PpapiMsg_Hang, OnHang)
|
|
||||||
IPC_MESSAGE_UNHANDLED(handled = false)
|
IPC_MESSAGE_UNHANDLED(handled = false)
|
||||||
IPC_END_MESSAGE_MAP()
|
IPC_END_MESSAGE_MAP()
|
||||||
return handled;
|
return handled;
|
||||||
@@ -355,24 +351,6 @@ void PpapiThread::OnSetNetworkState(bool online) {
|
|||||||
ns->SetOnLine(PP_FromBool(online));
|
ns->SetOnLine(PP_FromBool(online));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PpapiThread::OnCrash() {
|
|
||||||
// Intentionally crash upon the request of the browser.
|
|
||||||
//
|
|
||||||
// Linker's ICF feature may merge this function with other functions with the
|
|
||||||
// same definition and it may confuse the crash report processing system.
|
|
||||||
static int static_variable_to_make_this_function_unique = 0;
|
|
||||||
base::debug::Alias(&static_variable_to_make_this_function_unique);
|
|
||||||
|
|
||||||
volatile int* null_pointer = nullptr;
|
|
||||||
*null_pointer = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void PpapiThread::OnHang() {
|
|
||||||
// Intentionally hang upon the request of the browser.
|
|
||||||
for (;;)
|
|
||||||
base::PlatformThread::Sleep(base::Seconds(1));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool PpapiThread::SetupChannel(base::ProcessId renderer_pid,
|
bool PpapiThread::SetupChannel(base::ProcessId renderer_pid,
|
||||||
int renderer_child_id,
|
int renderer_child_id,
|
||||||
bool incognito,
|
bool incognito,
|
||||||
|
@@ -95,8 +95,6 @@ class PpapiThread : public ChildThreadImpl,
|
|||||||
int renderer_child_id,
|
int renderer_child_id,
|
||||||
bool incognito);
|
bool incognito);
|
||||||
void OnSetNetworkState(bool online);
|
void OnSetNetworkState(bool online);
|
||||||
void OnCrash();
|
|
||||||
void OnHang();
|
|
||||||
|
|
||||||
// Sets up the channel to the given renderer. If |renderer_pid| is
|
// Sets up the channel to the given renderer. If |renderer_pid| is
|
||||||
// base::kNullProcessId, the channel is set up to the browser. On success,
|
// base::kNullProcessId, the channel is set up to the browser. On success,
|
||||||
|
@@ -18,8 +18,6 @@ const base::FilePath::CharType kPepperDataDirname[] =
|
|||||||
|
|
||||||
const char kBrowserPluginMimeType[] = "application/browser-plugin";
|
const char kBrowserPluginMimeType[] = "application/browser-plugin";
|
||||||
|
|
||||||
const char kFlashPluginName[] = "Shockwave Flash";
|
|
||||||
|
|
||||||
const size_t kMaxURLDisplayChars = 32 * 1024;
|
const size_t kMaxURLDisplayChars = 32 * 1024;
|
||||||
|
|
||||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||||
|
@@ -27,8 +27,6 @@ CONTENT_EXPORT extern const base::FilePath::CharType kPepperDataDirname[];
|
|||||||
// The MIME type used for the browser plugin.
|
// The MIME type used for the browser plugin.
|
||||||
CONTENT_EXPORT extern const char kBrowserPluginMimeType[];
|
CONTENT_EXPORT extern const char kBrowserPluginMimeType[];
|
||||||
|
|
||||||
CONTENT_EXPORT extern const char kFlashPluginName[];
|
|
||||||
|
|
||||||
// The maximum number of characters in the URL that we're willing to accept
|
// The maximum number of characters in the URL that we're willing to accept
|
||||||
// in the browser process. It is set low enough to avoid damage to the browser
|
// in the browser process. It is set low enough to avoid damage to the browser
|
||||||
// but high enough that a web site can abuse location.hash for a little storage.
|
// but high enough that a web site can abuse location.hash for a little storage.
|
||||||
|
@@ -599,12 +599,6 @@ IPC_MESSAGE_CONTROL3(PpapiMsg_CreateChannel,
|
|||||||
IPC_MESSAGE_CONTROL1(PpapiMsg_InitializeNaClDispatcher,
|
IPC_MESSAGE_CONTROL1(PpapiMsg_InitializeNaClDispatcher,
|
||||||
ppapi::PpapiNaClPluginArgs /* args */)
|
ppapi::PpapiNaClPluginArgs /* args */)
|
||||||
|
|
||||||
// Instructs the plugin process to crash.
|
|
||||||
IPC_MESSAGE_CONTROL0(PpapiMsg_Crash)
|
|
||||||
|
|
||||||
// Instructs the plugin process to hang.
|
|
||||||
IPC_MESSAGE_CONTROL0(PpapiMsg_Hang)
|
|
||||||
|
|
||||||
// Each plugin may be referenced by multiple renderers. We need the instance
|
// Each plugin may be referenced by multiple renderers. We need the instance
|
||||||
// IDs to be unique within a plugin, despite coming from different renderers,
|
// IDs to be unique within a plugin, despite coming from different renderers,
|
||||||
// and unique within a renderer, despite going to different plugins. This means
|
// and unique within a renderer, despite going to different plugins. This means
|
||||||
|
@@ -43,8 +43,6 @@ const char kChromeUIMemoryPressureModerateURL[] =
|
|||||||
"chrome://memory-pressure-moderate/";
|
"chrome://memory-pressure-moderate/";
|
||||||
const char kChromeUINetworkErrorURL[] = "chrome://network-error/";
|
const char kChromeUINetworkErrorURL[] = "chrome://network-error/";
|
||||||
const char kChromeUINetworkErrorsListingURL[] = "chrome://network-errors/";
|
const char kChromeUINetworkErrorsListingURL[] = "chrome://network-errors/";
|
||||||
const char kChromeUIPpapiFlashCrashURL[] = "chrome://ppapiflashcrash/";
|
|
||||||
const char kChromeUIPpapiFlashHangURL[] = "chrome://ppapiflashhang/";
|
|
||||||
const char kChromeUIProcessInternalsURL[] = "chrome://process-internals";
|
const char kChromeUIProcessInternalsURL[] = "chrome://process-internals";
|
||||||
#if defined(OS_ANDROID)
|
#if defined(OS_ANDROID)
|
||||||
const char kChromeUIGpuJavaCrashURL[] = "chrome://gpu-java-crash/";
|
const char kChromeUIGpuJavaCrashURL[] = "chrome://gpu-java-crash/";
|
||||||
|
@@ -38,8 +38,6 @@ BLINK_COMMON_EXPORT extern const char kChromeUIMemoryPressureCriticalURL[];
|
|||||||
BLINK_COMMON_EXPORT extern const char kChromeUIMemoryPressureModerateURL[];
|
BLINK_COMMON_EXPORT extern const char kChromeUIMemoryPressureModerateURL[];
|
||||||
BLINK_COMMON_EXPORT extern const char kChromeUINetworkErrorsListingURL[];
|
BLINK_COMMON_EXPORT extern const char kChromeUINetworkErrorsListingURL[];
|
||||||
BLINK_COMMON_EXPORT extern const char kChromeUINetworkErrorURL[];
|
BLINK_COMMON_EXPORT extern const char kChromeUINetworkErrorURL[];
|
||||||
BLINK_COMMON_EXPORT extern const char kChromeUIPpapiFlashCrashURL[];
|
|
||||||
BLINK_COMMON_EXPORT extern const char kChromeUIPpapiFlashHangURL[];
|
|
||||||
BLINK_COMMON_EXPORT extern const char kChromeUIProcessInternalsURL[];
|
BLINK_COMMON_EXPORT extern const char kChromeUIProcessInternalsURL[];
|
||||||
#if defined(OS_ANDROID)
|
#if defined(OS_ANDROID)
|
||||||
BLINK_COMMON_EXPORT extern const char kChromeUIGpuJavaCrashURL[];
|
BLINK_COMMON_EXPORT extern const char kChromeUIGpuJavaCrashURL[];
|
||||||
|
@@ -29,6 +29,9 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
|
|||||||
|
|
||||||
<histogram name="Plugin.FlashUsage" enum="FlashUsage"
|
<histogram name="Plugin.FlashUsage" enum="FlashUsage"
|
||||||
expires_after="2022-04-24">
|
expires_after="2022-04-24">
|
||||||
|
<obsolete>
|
||||||
|
Removed Oct 2021.
|
||||||
|
</obsolete>
|
||||||
<owner>yzshen@chromium.org</owner>
|
<owner>yzshen@chromium.org</owner>
|
||||||
<owner>thestig@chromium.org</owner>
|
<owner>thestig@chromium.org</owner>
|
||||||
<summary>Collects Flash usage data.</summary>
|
<summary>Collects Flash usage data.</summary>
|
||||||
|
Reference in New Issue
Block a user