Files
electron/shell/app/electron_content_client.h
Niklas Wenzel 7e0499d55d feat: support heap profiling in contentTracing (#51178)
* feat: support heap profiling in `contentTracing`

* chore: backport crrev.com/c/7603976 to fix DCHECK failure

* fix: heap profiling test flakes (#51224)
2026-04-29 11:29:46 -07:00

47 lines
1.6 KiB
C++

// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ELECTRON_SHELL_APP_ELECTRON_CONTENT_CLIENT_H_
#define ELECTRON_SHELL_APP_ELECTRON_CONTENT_CLIENT_H_
#include <string_view>
#include <vector>
#include "content/public/common/content_client.h"
#include "url/origin.h"
namespace electron {
class ElectronContentClient : public content::ContentClient {
public:
ElectronContentClient();
~ElectronContentClient() override;
// disable copy
ElectronContentClient(const ElectronContentClient&) = delete;
ElectronContentClient& operator=(const ElectronContentClient&) = delete;
protected:
// content::ContentClient:
std::u16string GetLocalizedString(int message_id) override;
std::string_view GetDataResource(int resource_id,
ui::ResourceScaleFactor) override;
gfx::Image& GetNativeImageNamed(int resource_id) override;
base::RefCountedMemory* GetDataResourceBytes(int resource_id) override;
void AddAdditionalSchemes(Schemes* schemes) override;
void AddPlugins(std::vector<content::WebPluginInfo>* plugins) override;
void AddContentDecryptionModules(
std::vector<content::CdmInfo>* cdms,
std::vector<media::CdmHostFilePath>* cdm_host_file_paths) override;
bool IsFilePickerAllowedForCrossOriginSubframe(
const url::Origin& origin) override;
void ExposeInterfacesToBrowser(
scoped_refptr<base::SequencedTaskRunner> io_task_runner,
mojo::BinderMap* binders) override;
};
} // namespace electron
#endif // ELECTRON_SHELL_APP_ELECTRON_CONTENT_CLIENT_H_