mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Compare commits
36 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
29d6e22fe4 | ||
|
78c653a2ed | ||
|
9782362fea | ||
|
0e8702df26 | ||
|
57be9e2aba | ||
|
856e56194e | ||
|
63805e69e3 | ||
|
358ca263f4 | ||
|
42d1b7e0f9 | ||
|
7fe84d02b3 | ||
|
f1a0035c82 | ||
|
d87e3f41f6 | ||
|
eb2c682768 | ||
|
f07ce7b357 | ||
|
b2f0f54fdd | ||
|
4d42a6c31a | ||
|
0e3b3bb110 | ||
|
0cc7a7bdab | ||
|
a8dbe5cae2 | ||
|
16dbbdc695 | ||
|
657697d8dd | ||
|
7a5a4c683a | ||
|
24e09fef3e | ||
|
419264812d | ||
|
5a865afa07 | ||
|
2f5e1b621e | ||
|
dfc0131516 | ||
|
b76badd958 | ||
|
1eb55cbba8 | ||
|
9484d6528c | ||
|
83ffc1f00d | ||
|
f4d5395c4b | ||
|
f6cf7f9ec7 | ||
|
c75ebbccec | ||
|
d6d316e304 | ||
|
833612ba9a |
27
BUILD.gn
27
BUILD.gn
@@ -96,6 +96,7 @@
|
||||
import("//base/allocator/allocator.gni")
|
||||
import("//build/config/features.gni")
|
||||
import("//build/config/locales.gni")
|
||||
import("//build/config/ozone.gni")
|
||||
import("//build/config/sanitizers/sanitizers.gni")
|
||||
import("//build/config/ui.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
@@ -306,7 +307,7 @@ group("cef") {
|
||||
":libcef_static_unittests",
|
||||
]
|
||||
|
||||
if (!is_linux || use_x11) {
|
||||
if (!is_linux || ozone_platform_x11) {
|
||||
deps += [ ":cefclient" ]
|
||||
}
|
||||
}
|
||||
@@ -983,7 +984,7 @@ static_library("libcef_static") {
|
||||
"libcef/browser/printing/print_dialog_linux.h",
|
||||
]
|
||||
|
||||
if (use_x11) {
|
||||
if (ozone_platform_x11) {
|
||||
sources += [
|
||||
"libcef/browser/native/window_x11.cc",
|
||||
"libcef/browser/native/window_x11.h",
|
||||
@@ -995,7 +996,7 @@ static_library("libcef_static") {
|
||||
"//third_party/fontconfig",
|
||||
]
|
||||
|
||||
if (is_linux && !use_x11) {
|
||||
if (is_linux && !ozone_platform_x11) {
|
||||
deps += [
|
||||
"//third_party/angle:libEGL",
|
||||
]
|
||||
@@ -1027,7 +1028,7 @@ static_library("libcef_static") {
|
||||
deps += [ "//third_party/crashpad/crashpad/handler" ]
|
||||
}
|
||||
|
||||
if (use_x11) {
|
||||
if (ozone_platform_x11) {
|
||||
deps += [ "//ui/events/devices/x11" ]
|
||||
}
|
||||
|
||||
@@ -1201,7 +1202,7 @@ static_library("libcef_static") {
|
||||
"//ui/ozone:generate_test_support_constructor_list",
|
||||
]
|
||||
|
||||
if (use_x11) {
|
||||
if (ozone_platform_x11) {
|
||||
sources += [
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base/x:test_support which is testingonly.
|
||||
@@ -1296,6 +1297,8 @@ static_library("libcef_dll_wrapper") {
|
||||
|
||||
configs += [ ":libcef_dll_wrapper_config" ]
|
||||
public_configs = [ ":libcef_dll_wrapper_config" ]
|
||||
|
||||
deps = [ ":cef_make_headers" ]
|
||||
}
|
||||
|
||||
|
||||
@@ -1486,12 +1489,22 @@ action("make_api_hash_header") {
|
||||
args = rebase_path(outputs + include_dir, root_build_dir)
|
||||
}
|
||||
|
||||
# Generate cef_config.h.
|
||||
action("make_config_header") {
|
||||
script = "tools/make_config_header.py"
|
||||
|
||||
outputs = [ "$root_out_dir/includes/include/cef_config.h" ]
|
||||
|
||||
args = rebase_path(outputs + [ "$root_out_dir/args.gn" ], root_build_dir)
|
||||
}
|
||||
|
||||
# Generate pack files and associated CEF header files.
|
||||
group("cef_make_headers") {
|
||||
deps = [
|
||||
":make_pack_header_resources",
|
||||
":make_pack_header_strings",
|
||||
":make_api_hash_header",
|
||||
":make_config_header",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2249,7 +2262,7 @@ if (is_mac) {
|
||||
sources += includes_linux +
|
||||
gypi_paths2.cefsimple_sources_linux
|
||||
|
||||
if (use_x11) {
|
||||
if (ozone_platform_x11) {
|
||||
libs = [
|
||||
"X11",
|
||||
]
|
||||
@@ -2309,7 +2322,7 @@ if (is_mac) {
|
||||
sources += gypi_paths2.shared_sources_linux +
|
||||
gypi_paths2.ceftests_sources_linux
|
||||
|
||||
if (use_x11) {
|
||||
if (ozone_platform_x11) {
|
||||
libs = [
|
||||
"X11",
|
||||
]
|
||||
|
@@ -7,6 +7,6 @@
|
||||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||
|
||||
{
|
||||
'chromium_checkout': 'refs/tags/97.0.4692.99',
|
||||
'depot_tools_checkout': 'f7b8f8f3cd'
|
||||
'chromium_checkout': 'refs/tags/98.0.4758.109',
|
||||
'depot_tools_checkout': 'db41eed6b7'
|
||||
}
|
||||
|
10
README.md
10
README.md
@@ -45,15 +45,11 @@ The base CEF framework includes support for the C and C++ programming languages.
|
||||
|
||||
* .Net (CEF3) - https://github.com/cefsharp/CefSharp
|
||||
* .Net (CEF1) - https://bitbucket.org/fddima/cefglue
|
||||
* .Net/Mono (CEF3) - https://bitbucket.org/xilium/xilium.cefglue
|
||||
* .Net (CEF3) - https://bitbucket.org/chromiumfx/chromiumfx
|
||||
* Delphi (CEF1) - http://code.google.com/p/delphichromiumembedded/
|
||||
* Delphi (CEF3) - https://github.com/hgourvest/dcef3
|
||||
* Delphi (CEF3) - https://github.com/salvadordf/CEF4Delphi
|
||||
* Go - https://github.com/richardwilkes/cef
|
||||
* .Net/Mono (CEF3) - https://gitlab.com/xiliumhq/chromiumembedded/cefglue
|
||||
* Delphi - https://github.com/hgourvest/dcef3
|
||||
* Delphi - https://github.com/salvadordf/CEF4Delphi
|
||||
* Go - https://github.com/CzarekTomczak/cef2go
|
||||
* Java - https://bitbucket.org/chromiumembedded/java-cef
|
||||
* Java - http://code.google.com/p/javacef/
|
||||
* Python - http://code.google.com/p/cefpython/
|
||||
|
||||
If you're the maintainer of a project not listed above and would like your project listed here please either post to the [CEF Forum](http://www.magpcss.org/ceforum/) or contact Marshall directly.
|
||||
|
@@ -38,7 +38,6 @@
|
||||
'include/base/internal/cef_thread_checker_impl.h',
|
||||
'include/cef_api_hash.h',
|
||||
'include/cef_base.h',
|
||||
'include/cef_config.h',
|
||||
'include/cef_version.h',
|
||||
'include/internal/cef_export.h',
|
||||
'include/internal/cef_ptr.h',
|
||||
|
@@ -45,7 +45,6 @@
|
||||
|
||||
#include <atomic>
|
||||
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_thread_checker.h"
|
||||
|
||||
namespace base {
|
||||
@@ -56,6 +55,10 @@ namespace base {
|
||||
class AtomicFlag {
|
||||
public:
|
||||
AtomicFlag();
|
||||
|
||||
AtomicFlag(const AtomicFlag&) = delete;
|
||||
AtomicFlag& operator=(const AtomicFlag&) = delete;
|
||||
|
||||
~AtomicFlag();
|
||||
|
||||
// Set the flag. Must always be called from the same thread.
|
||||
@@ -76,8 +79,6 @@ class AtomicFlag {
|
||||
private:
|
||||
std::atomic<uint_fast8_t> flag_{0};
|
||||
base::ThreadChecker set_thread_checker_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(AtomicFlag);
|
||||
};
|
||||
|
||||
} // namespace base
|
||||
|
@@ -41,7 +41,6 @@
|
||||
// updated to match.
|
||||
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_platform_thread.h"
|
||||
#include "include/base/internal/cef_lock_impl.h"
|
||||
|
||||
@@ -55,6 +54,10 @@ class Lock {
|
||||
public:
|
||||
#if !DCHECK_IS_ON() // Optimized wrapper implementation
|
||||
Lock() : lock_() {}
|
||||
|
||||
Lock(const Lock&) = delete;
|
||||
Lock& operator=(const Lock&) = delete;
|
||||
|
||||
~Lock() {}
|
||||
void Acquire() { lock_.Lock(); }
|
||||
void Release() { lock_.Unlock(); }
|
||||
@@ -111,8 +114,6 @@ class Lock {
|
||||
|
||||
// Platform specific underlying lock implementation.
|
||||
LockImpl lock_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(Lock);
|
||||
};
|
||||
|
||||
// A helper class that acquires the given Lock while the AutoLock is in scope.
|
||||
@@ -126,6 +127,9 @@ class AutoLock {
|
||||
lock_.AssertAcquired();
|
||||
}
|
||||
|
||||
AutoLock(const AutoLock&) = delete;
|
||||
AutoLock& operator=(const AutoLock&) = delete;
|
||||
|
||||
~AutoLock() {
|
||||
lock_.AssertAcquired();
|
||||
lock_.Release();
|
||||
@@ -133,7 +137,6 @@ class AutoLock {
|
||||
|
||||
private:
|
||||
Lock& lock_;
|
||||
DISALLOW_COPY_AND_ASSIGN(AutoLock);
|
||||
};
|
||||
|
||||
// AutoUnlock is a helper that will Release() the |lock| argument in the
|
||||
@@ -146,11 +149,13 @@ class AutoUnlock {
|
||||
lock_.Release();
|
||||
}
|
||||
|
||||
AutoUnlock(const AutoUnlock&) = delete;
|
||||
AutoUnlock& operator=(const AutoUnlock&) = delete;
|
||||
|
||||
~AutoUnlock() { lock_.Acquire(); }
|
||||
|
||||
private:
|
||||
Lock& lock_;
|
||||
DISALLOW_COPY_AND_ASSIGN(AutoUnlock);
|
||||
};
|
||||
|
||||
} // namespace cef_internal
|
||||
@@ -158,9 +163,9 @@ class AutoUnlock {
|
||||
// Implement classes in the cef_internal namespace and then expose them to the
|
||||
// base namespace. This avoids conflicts with the base.lib implementation when
|
||||
// linking sandbox support on Windows.
|
||||
using cef_internal::Lock;
|
||||
using cef_internal::AutoLock;
|
||||
using cef_internal::AutoUnlock;
|
||||
using cef_internal::Lock;
|
||||
|
||||
} // namespace base
|
||||
|
||||
|
@@ -164,7 +164,6 @@
|
||||
#include <string>
|
||||
|
||||
#include "include/base/cef_build.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/internal/cef_logging_internal.h"
|
||||
|
||||
namespace cef {
|
||||
@@ -202,21 +201,21 @@ const LogSeverity LOG_DFATAL = LOG_FATAL;
|
||||
// A few definitions of macros that don't generate much code. These are used
|
||||
// by LOG() and LOG_IF, etc. Since these are used all over our code, it's
|
||||
// better to have compact code for these operations.
|
||||
#define COMPACT_GOOGLE_LOG_EX_INFO(ClassName, ...) \
|
||||
#define COMPACT_GOOGLE_LOG_EX_INFO(ClassName, ...) \
|
||||
::cef::logging::ClassName(__FILE__, __LINE__, ::cef::logging::LOG_INFO, \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_WARNING(ClassName, ...) \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_WARNING(ClassName, ...) \
|
||||
::cef::logging::ClassName(__FILE__, __LINE__, ::cef::logging::LOG_WARNING, \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_ERROR(ClassName, ...) \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_ERROR(ClassName, ...) \
|
||||
::cef::logging::ClassName(__FILE__, __LINE__, ::cef::logging::LOG_ERROR, \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_FATAL(ClassName, ...) \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_FATAL(ClassName, ...) \
|
||||
::cef::logging::ClassName(__FILE__, __LINE__, ::cef::logging::LOG_FATAL, \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_DFATAL(ClassName, ...) \
|
||||
##__VA_ARGS__)
|
||||
#define COMPACT_GOOGLE_LOG_EX_DFATAL(ClassName, ...) \
|
||||
::cef::logging::ClassName(__FILE__, __LINE__, ::cef::logging::LOG_DFATAL, \
|
||||
##__VA_ARGS__)
|
||||
##__VA_ARGS__)
|
||||
|
||||
#define COMPACT_GOOGLE_LOG_INFO COMPACT_GOOGLE_LOG_EX_INFO(LogMessage)
|
||||
#define COMPACT_GOOGLE_LOG_WARNING COMPACT_GOOGLE_LOG_EX_WARNING(LogMessage)
|
||||
@@ -583,6 +582,9 @@ class LogMessage {
|
||||
LogSeverity severity,
|
||||
std::string* result);
|
||||
|
||||
LogMessage(const LogMessage&) = delete;
|
||||
LogMessage& operator=(const LogMessage&) = delete;
|
||||
|
||||
~LogMessage();
|
||||
|
||||
std::ostream& stream() { return stream_; }
|
||||
@@ -614,8 +616,6 @@ class LogMessage {
|
||||
|
||||
SaveLastError last_error_;
|
||||
#endif
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(LogMessage);
|
||||
};
|
||||
|
||||
// A non-macro interface to the log facility; (useful
|
||||
@@ -655,6 +655,9 @@ class Win32ErrorLogMessage {
|
||||
LogSeverity severity,
|
||||
SystemErrorCode err);
|
||||
|
||||
Win32ErrorLogMessage(const Win32ErrorLogMessage&) = delete;
|
||||
Win32ErrorLogMessage& operator=(const Win32ErrorLogMessage&) = delete;
|
||||
|
||||
// Appends the error message before destructing the encapsulated class.
|
||||
~Win32ErrorLogMessage();
|
||||
|
||||
@@ -663,8 +666,6 @@ class Win32ErrorLogMessage {
|
||||
private:
|
||||
SystemErrorCode err_;
|
||||
LogMessage log_message_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(Win32ErrorLogMessage);
|
||||
};
|
||||
#elif defined(OS_POSIX)
|
||||
// Appends a formatted system message of the errno type
|
||||
@@ -675,6 +676,9 @@ class ErrnoLogMessage {
|
||||
LogSeverity severity,
|
||||
SystemErrorCode err);
|
||||
|
||||
ErrnoLogMessage(const ErrnoLogMessage&) = delete;
|
||||
ErrnoLogMessage& operator=(const ErrnoLogMessage&) = delete;
|
||||
|
||||
// Appends the error message before destructing the encapsulated class.
|
||||
~ErrnoLogMessage();
|
||||
|
||||
@@ -683,8 +687,6 @@ class ErrnoLogMessage {
|
||||
private:
|
||||
SystemErrorCode err_;
|
||||
LogMessage log_message_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ErrnoLogMessage);
|
||||
};
|
||||
#endif // OS_WIN
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
|
||||
#if defined(USING_CHROMIUM_INCLUDES)
|
||||
// When building CEF include the Chromium header directly.
|
||||
#include "base/macros.h"
|
||||
#include "base/ignore_result.h"
|
||||
|
||||
#else // !USING_CHROMIUM_INCLUDES
|
||||
// The following is substantially similar to the Chromium implementation.
|
||||
|
@@ -49,7 +49,6 @@
|
||||
#include "include/base/cef_build.h"
|
||||
#include "include/base/cef_compiler_specific.h"
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_scoped_refptr.h"
|
||||
#include "include/base/cef_template_util.h"
|
||||
#include "include/base/cef_thread_checker.h"
|
||||
@@ -76,6 +75,9 @@ class RefCountedBase {
|
||||
#endif
|
||||
}
|
||||
|
||||
RefCountedBase(const RefCountedBase&) = delete;
|
||||
RefCountedBase& operator=(const RefCountedBase&) = delete;
|
||||
|
||||
~RefCountedBase() {
|
||||
#if DCHECK_IS_ON()
|
||||
DCHECK(in_dtor_) << "RefCounted object deleted without calling Release()";
|
||||
@@ -168,8 +170,6 @@ class RefCountedBase {
|
||||
mutable bool in_dtor_ = false;
|
||||
mutable ThreadChecker thread_checker_;
|
||||
#endif
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(RefCountedBase);
|
||||
};
|
||||
|
||||
class RefCountedThreadSafeBase {
|
||||
@@ -186,6 +186,9 @@ class RefCountedThreadSafeBase {
|
||||
#endif
|
||||
}
|
||||
|
||||
RefCountedThreadSafeBase(const RefCountedThreadSafeBase&) = delete;
|
||||
RefCountedThreadSafeBase& operator=(const RefCountedThreadSafeBase&) = delete;
|
||||
|
||||
#if DCHECK_IS_ON()
|
||||
~RefCountedThreadSafeBase();
|
||||
#else
|
||||
@@ -259,8 +262,6 @@ class RefCountedThreadSafeBase {
|
||||
mutable bool needs_adopt_ref_ = false;
|
||||
mutable bool in_dtor_ = false;
|
||||
#endif
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(RefCountedThreadSafeBase);
|
||||
};
|
||||
|
||||
// ScopedAllowCrossThreadRefCountAccess disables the check documented on
|
||||
@@ -357,6 +358,9 @@ class RefCounted : public cef_subtle::RefCountedBase {
|
||||
|
||||
RefCounted() : cef_subtle::RefCountedBase(T::kRefCountPreference) {}
|
||||
|
||||
RefCounted(const RefCounted&) = delete;
|
||||
RefCounted& operator=(const RefCounted&) = delete;
|
||||
|
||||
void AddRef() const { cef_subtle::RefCountedBase::AddRef(); }
|
||||
|
||||
void Release() const {
|
||||
@@ -379,8 +383,6 @@ class RefCounted : public cef_subtle::RefCountedBase {
|
||||
static void DeleteInternal(const U* x) {
|
||||
delete x;
|
||||
}
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(RefCounted);
|
||||
};
|
||||
|
||||
// Forward declaration.
|
||||
@@ -424,6 +426,9 @@ class RefCountedThreadSafe : public cef_subtle::RefCountedThreadSafeBase {
|
||||
explicit RefCountedThreadSafe()
|
||||
: cef_subtle::RefCountedThreadSafeBase(T::kRefCountPreference) {}
|
||||
|
||||
RefCountedThreadSafe(const RefCountedThreadSafe&) = delete;
|
||||
RefCountedThreadSafe& operator=(const RefCountedThreadSafe&) = delete;
|
||||
|
||||
void AddRef() const { AddRefImpl(T::kRefCountPreference); }
|
||||
|
||||
void Release() const {
|
||||
@@ -450,8 +455,6 @@ class RefCountedThreadSafe : public cef_subtle::RefCountedThreadSafeBase {
|
||||
void AddRefImpl(cef_subtle::StartRefCountFromOneTag) const {
|
||||
cef_subtle::RefCountedThreadSafeBase::AddRefWithCheck();
|
||||
}
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(RefCountedThreadSafe);
|
||||
};
|
||||
|
||||
//
|
||||
|
@@ -48,7 +48,6 @@
|
||||
|
||||
#include "include/base/cef_compiler_specific.h"
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
|
||||
template <class T>
|
||||
class scoped_refptr;
|
||||
|
@@ -109,7 +109,6 @@
|
||||
|
||||
#include "include/base/cef_atomic_flag.h"
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_ref_counted.h"
|
||||
#include "include/base/cef_thread_checker.h"
|
||||
|
||||
@@ -357,9 +356,14 @@ class WeakPtrFactoryBase {
|
||||
template <class T>
|
||||
class WeakPtrFactory : public internal::WeakPtrFactoryBase {
|
||||
public:
|
||||
WeakPtrFactory() = delete;
|
||||
|
||||
explicit WeakPtrFactory(T* ptr)
|
||||
: WeakPtrFactoryBase(reinterpret_cast<uintptr_t>(ptr)) {}
|
||||
|
||||
WeakPtrFactory(const WeakPtrFactory&) = delete;
|
||||
WeakPtrFactory& operator=(const WeakPtrFactory&) = delete;
|
||||
|
||||
~WeakPtrFactory() = default;
|
||||
|
||||
WeakPtr<T> GetWeakPtr() const {
|
||||
@@ -378,9 +382,6 @@ class WeakPtrFactory : public internal::WeakPtrFactoryBase {
|
||||
DCHECK(ptr_);
|
||||
return weak_reference_owner_.HasRefs();
|
||||
}
|
||||
|
||||
private:
|
||||
DISALLOW_IMPLICIT_CONSTRUCTORS(WeakPtrFactory);
|
||||
};
|
||||
|
||||
// A class may extend from SupportsWeakPtr to let others take weak pointers to
|
||||
@@ -393,6 +394,9 @@ class SupportsWeakPtr : public internal::SupportsWeakPtrBase {
|
||||
public:
|
||||
SupportsWeakPtr() = default;
|
||||
|
||||
SupportsWeakPtr(const SupportsWeakPtr&) = delete;
|
||||
SupportsWeakPtr& operator=(const SupportsWeakPtr&) = delete;
|
||||
|
||||
WeakPtr<T> AsWeakPtr() {
|
||||
return WeakPtr<T>(weak_reference_owner_.GetRef(), static_cast<T*>(this));
|
||||
}
|
||||
@@ -402,7 +406,6 @@ class SupportsWeakPtr : public internal::SupportsWeakPtrBase {
|
||||
|
||||
private:
|
||||
internal::WeakReferenceOwner weak_reference_owner_;
|
||||
DISALLOW_COPY_AND_ASSIGN(SupportsWeakPtr);
|
||||
};
|
||||
|
||||
// Helper function that uses type deduction to safely return a WeakPtr<Derived>
|
||||
|
@@ -40,8 +40,6 @@
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
#include "include/base/cef_macros.h"
|
||||
|
||||
namespace base {
|
||||
namespace cef_internal {
|
||||
|
||||
@@ -57,6 +55,10 @@ class LockImpl {
|
||||
#endif
|
||||
|
||||
LockImpl();
|
||||
|
||||
LockImpl(const LockImpl&) = delete;
|
||||
LockImpl& operator=(const LockImpl&) = delete;
|
||||
|
||||
~LockImpl();
|
||||
|
||||
// If the lock is not held, take it and return true. If the lock is already
|
||||
@@ -77,8 +79,6 @@ class LockImpl {
|
||||
|
||||
private:
|
||||
NativeHandle native_handle_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(LockImpl);
|
||||
};
|
||||
|
||||
} // namespace cef_internal
|
||||
|
@@ -42,13 +42,13 @@
|
||||
// way that may cause binary incompatibility with other builds. The universal
|
||||
// hash value will change if any platform is affected whereas the platform hash
|
||||
// values will change only if that particular platform is affected.
|
||||
#define CEF_API_HASH_UNIVERSAL "6f6a9c0f3b420cd3120cf4f5924cbc91f5095abd"
|
||||
#define CEF_API_HASH_UNIVERSAL "bce1c03dd10e25bb5b1c4130297486205e7a8e56"
|
||||
#if defined(OS_WIN)
|
||||
#define CEF_API_HASH_PLATFORM "5835e67ed251fec96837b475df44248a286e422f"
|
||||
#define CEF_API_HASH_PLATFORM "cb4f19f13d7a944d1cd0ea6fa3a5129d356cd9d5"
|
||||
#elif defined(OS_MAC)
|
||||
#define CEF_API_HASH_PLATFORM "b8187d9f99b028d767dfd6a40490190c25a3d901"
|
||||
#define CEF_API_HASH_PLATFORM "6c37c43a7f7d206a54297068fcbe3ca4905a17cb"
|
||||
#elif defined(OS_LINUX)
|
||||
#define CEF_API_HASH_PLATFORM "d7199dfd396052e1517e55f18ea75d3d61336538"
|
||||
#define CEF_API_HASH_PLATFORM "3572e1eca7185fdcdcff550f7b1759f4647e3e04"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -90,7 +90,10 @@ class CefBaseScoped {
|
||||
///
|
||||
class CefRefCount {
|
||||
public:
|
||||
CefRefCount() {}
|
||||
CefRefCount() = default;
|
||||
|
||||
CefRefCount(const CefRefCount&) = delete;
|
||||
CefRefCount& operator=(const CefRefCount&) = delete;
|
||||
|
||||
///
|
||||
// Increment the reference count.
|
||||
@@ -114,7 +117,6 @@ class CefRefCount {
|
||||
|
||||
private:
|
||||
mutable base::AtomicRefCount ref_count_{0};
|
||||
DISALLOW_COPY_AND_ASSIGN(CefRefCount);
|
||||
};
|
||||
|
||||
///
|
||||
|
@@ -1028,7 +1028,8 @@ typedef enum {
|
||||
} cef_postdataelement_type_t;
|
||||
|
||||
///
|
||||
// Resource type for a request.
|
||||
// Resource type for a request. These constants match their equivalents in
|
||||
// Chromium's ResourceType and should not be renumbered.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
@@ -1616,8 +1617,7 @@ typedef enum {
|
||||
MENU_ID_NO_SPELLING_SUGGESTIONS = 205,
|
||||
MENU_ID_ADD_TO_DICTIONARY = 206,
|
||||
|
||||
// Custom menu items originating from the renderer process. For example,
|
||||
// plugin placeholder menu items.
|
||||
// Custom menu items originating from the renderer process.
|
||||
MENU_ID_CUSTOM_FIRST = 220,
|
||||
MENU_ID_CUSTOM_LAST = 250,
|
||||
|
||||
@@ -1819,7 +1819,8 @@ typedef enum {
|
||||
} cef_context_menu_type_flags_t;
|
||||
|
||||
///
|
||||
// Supported context menu media types.
|
||||
// Supported context menu media types. These constants match their equivalents
|
||||
// in Chromium's ContextMenuDataMediaType and should not be renumbered.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
@@ -1839,6 +1840,10 @@ typedef enum {
|
||||
///
|
||||
CM_MEDIATYPE_AUDIO,
|
||||
///
|
||||
// An canvas node is selected.
|
||||
///
|
||||
CM_MEDIATYPE_CANVAS,
|
||||
///
|
||||
// A file node is selected.
|
||||
///
|
||||
CM_MEDIATYPE_FILE,
|
||||
@@ -1849,24 +1854,31 @@ typedef enum {
|
||||
} cef_context_menu_media_type_t;
|
||||
|
||||
///
|
||||
// Supported context menu media state bit flags.
|
||||
// Supported context menu media state bit flags. These constants match their
|
||||
// equivalents in Chromium's ContextMenuData::MediaFlags and should not be
|
||||
// renumbered.
|
||||
///
|
||||
typedef enum {
|
||||
CM_MEDIAFLAG_NONE = 0,
|
||||
CM_MEDIAFLAG_ERROR = 1 << 0,
|
||||
CM_MEDIAFLAG_IN_ERROR = 1 << 0,
|
||||
CM_MEDIAFLAG_PAUSED = 1 << 1,
|
||||
CM_MEDIAFLAG_MUTED = 1 << 2,
|
||||
CM_MEDIAFLAG_LOOP = 1 << 3,
|
||||
CM_MEDIAFLAG_CAN_SAVE = 1 << 4,
|
||||
CM_MEDIAFLAG_HAS_AUDIO = 1 << 5,
|
||||
CM_MEDIAFLAG_HAS_VIDEO = 1 << 6,
|
||||
CM_MEDIAFLAG_CONTROL_ROOT_ELEMENT = 1 << 7,
|
||||
CM_MEDIAFLAG_CAN_TOGGLE_CONTROLS = 1 << 6,
|
||||
CM_MEDIAFLAG_CONTROLS = 1 << 7,
|
||||
CM_MEDIAFLAG_CAN_PRINT = 1 << 8,
|
||||
CM_MEDIAFLAG_CAN_ROTATE = 1 << 9,
|
||||
CM_MEDIAFLAG_CAN_PICTURE_IN_PICTURE = 1 << 10,
|
||||
CM_MEDIAFLAG_PICTURE_IN_PICTURE = 1 << 11,
|
||||
CM_MEDIAFLAG_CAN_LOOP = 1 << 12,
|
||||
} cef_context_menu_media_state_flags_t;
|
||||
|
||||
///
|
||||
// Supported context menu edit state bit flags.
|
||||
// Supported context menu edit state bit flags. These constants match their
|
||||
// equivalents in Chromium's ContextMenuDataEditFlags and should not be
|
||||
// renumbered.
|
||||
///
|
||||
typedef enum {
|
||||
CM_EDITFLAG_NONE = 0,
|
||||
@@ -1878,6 +1890,7 @@ typedef enum {
|
||||
CM_EDITFLAG_CAN_DELETE = 1 << 5,
|
||||
CM_EDITFLAG_CAN_SELECT_ALL = 1 << 6,
|
||||
CM_EDITFLAG_CAN_TRANSLATE = 1 << 7,
|
||||
CM_EDITFLAG_CAN_EDIT_RICHLY = 1 << 8,
|
||||
} cef_context_menu_edit_state_flags_t;
|
||||
|
||||
///
|
||||
|
@@ -38,7 +38,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "include/base/cef_lock.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/cef_base.h"
|
||||
#include "include/cef_stream.h"
|
||||
|
||||
@@ -57,6 +56,9 @@ class CefByteReadHandler : public CefReadHandler {
|
||||
size_t size,
|
||||
CefRefPtr<CefBaseRefCounted> source);
|
||||
|
||||
CefByteReadHandler(const CefByteReadHandler&) = delete;
|
||||
CefByteReadHandler& operator=(const CefByteReadHandler&) = delete;
|
||||
|
||||
// CefReadHandler methods.
|
||||
virtual size_t Read(void* ptr, size_t size, size_t n) override;
|
||||
virtual int Seek(int64 offset, int whence) override;
|
||||
@@ -73,7 +75,6 @@ class CefByteReadHandler : public CefReadHandler {
|
||||
base::Lock lock_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefByteReadHandler);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefByteReadHandler);
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_WRAPPER_CEF_BYTE_READ_HANDLER_H_
|
||||
|
@@ -38,7 +38,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "include/base/cef_callback_forward.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/cef_task.h"
|
||||
|
||||
///
|
||||
|
@@ -43,7 +43,6 @@
|
||||
|
||||
#include "include/base/cef_bind.h"
|
||||
#include "include/base/cef_logging.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/cef_task.h"
|
||||
|
||||
#define CEF_REQUIRE_UI_THREAD() DCHECK(CefCurrentlyOn(TID_UI));
|
||||
@@ -140,6 +139,10 @@ class CefScopedArgArray {
|
||||
}
|
||||
array_[argc] = NULL;
|
||||
}
|
||||
|
||||
CefScopedArgArray(const CefScopedArgArray&) = delete;
|
||||
CefScopedArgArray& operator=(const CefScopedArgArray&) = delete;
|
||||
|
||||
~CefScopedArgArray() { delete[] array_; }
|
||||
|
||||
char** array() const { return array_; }
|
||||
@@ -150,8 +153,6 @@ class CefScopedArgArray {
|
||||
// Keep values in a vector separate from |array_| because various users may
|
||||
// modify |array_| and we still want to clean up memory properly.
|
||||
std::vector<std::string> values_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefScopedArgArray);
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_WRAPPER_CEF_HELPERS_H_
|
||||
|
@@ -36,8 +36,6 @@
|
||||
#ifdef __cplusplus
|
||||
#include <string>
|
||||
|
||||
#include "include/base/cef_macros.h"
|
||||
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
@@ -99,6 +97,10 @@ int cef_unload_library();
|
||||
class CefScopedLibraryLoader {
|
||||
public:
|
||||
CefScopedLibraryLoader();
|
||||
|
||||
CefScopedLibraryLoader(const CefScopedLibraryLoader&) = delete;
|
||||
CefScopedLibraryLoader& operator=(const CefScopedLibraryLoader&) = delete;
|
||||
|
||||
~CefScopedLibraryLoader();
|
||||
|
||||
///
|
||||
@@ -119,7 +121,6 @@ class CefScopedLibraryLoader {
|
||||
bool Load(bool helper);
|
||||
|
||||
bool loaded_;
|
||||
DISALLOW_COPY_AND_ASSIGN(CefScopedLibraryLoader);
|
||||
};
|
||||
|
||||
#endif // defined(OS_MAC)
|
||||
|
@@ -245,7 +245,7 @@ class CefMessageRouterBrowserSide
|
||||
///
|
||||
class Handler {
|
||||
public:
|
||||
typedef CefMessageRouterBrowserSide::Callback Callback;
|
||||
using Callback = CefMessageRouterBrowserSide::Callback;
|
||||
|
||||
///
|
||||
// Executed when a new query is received. |query_id| uniquely identifies the
|
||||
|
@@ -41,7 +41,6 @@
|
||||
#include <memory>
|
||||
|
||||
#include "include/base/cef_callback.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_ref_counted.h"
|
||||
#include "include/base/cef_weak_ptr.h"
|
||||
#include "include/cef_request_handler.h"
|
||||
@@ -101,6 +100,9 @@ class CefResourceManager
|
||||
///
|
||||
class Request : public base::RefCountedThreadSafe<Request> {
|
||||
public:
|
||||
Request(const Request&) = delete;
|
||||
Request& operator=(const Request&) = delete;
|
||||
|
||||
///
|
||||
// Returns the URL associated with this request. The returned value will be
|
||||
// fully qualified but will not contain query or fragment components. It
|
||||
@@ -176,11 +178,9 @@ class CefResourceManager
|
||||
|
||||
// Params that stay with this request object. Safe to access on any thread.
|
||||
RequestParams params_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(Request);
|
||||
};
|
||||
|
||||
typedef std::list<scoped_refptr<Request>> RequestList;
|
||||
using RequestList = std::list<scoped_refptr<Request>>;
|
||||
|
||||
///
|
||||
// Interface implemented by resource providers. A provider may be created on
|
||||
@@ -210,6 +210,9 @@ class CefResourceManager
|
||||
|
||||
CefResourceManager();
|
||||
|
||||
CefResourceManager(const CefResourceManager&) = delete;
|
||||
CefResourceManager& operator=(const CefResourceManager&) = delete;
|
||||
|
||||
///
|
||||
// Add a provider that maps requests for |url| to |content|. |url| should be
|
||||
// fully qualified but not include a query or fragment component. If
|
||||
@@ -316,7 +319,7 @@ class CefResourceManager
|
||||
|
||||
// Provider and associated information.
|
||||
struct ProviderEntry;
|
||||
typedef std::list<ProviderEntry*> ProviderEntryList;
|
||||
using ProviderEntryList = std::list<ProviderEntry*>;
|
||||
|
||||
// Values associated with the pending request only. Ownership will be passed
|
||||
// between requests and the resource manager as request handling proceeds.
|
||||
@@ -357,7 +360,7 @@ class CefResourceManager
|
||||
ProviderEntryList providers_;
|
||||
|
||||
// Map of response ID to pending CefResourceHandler object.
|
||||
typedef std::map<uint64, CefRefPtr<CefResourceHandler>> PendingHandlersMap;
|
||||
using PendingHandlersMap = std::map<uint64, CefRefPtr<CefResourceHandler>>;
|
||||
PendingHandlersMap pending_handlers_;
|
||||
|
||||
UrlFilter url_filter_;
|
||||
@@ -365,8 +368,6 @@ class CefResourceManager
|
||||
|
||||
// Must be the last member. Created and accessed on the IO thread.
|
||||
std::unique_ptr<base::WeakPtrFactory<CefResourceManager>> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefResourceManager);
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_WRAPPER_CEF_RESOURCE_MANAGER_H_
|
||||
|
@@ -39,7 +39,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "include/base/cef_build.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/cef_base.h"
|
||||
|
||||
///
|
||||
@@ -60,6 +59,9 @@ class CefScopedTempDir {
|
||||
///
|
||||
CefScopedTempDir();
|
||||
|
||||
CefScopedTempDir(const CefScopedTempDir&) = delete;
|
||||
CefScopedTempDir& operator=(const CefScopedTempDir&) = delete;
|
||||
|
||||
///
|
||||
// Recursively delete path.
|
||||
///
|
||||
@@ -111,8 +113,6 @@ class CefScopedTempDir {
|
||||
|
||||
private:
|
||||
CefString path_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefScopedTempDir);
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_SCOPED_TEMP_DIR_H_
|
||||
|
@@ -37,7 +37,6 @@
|
||||
#define CEF_INCLUDE_WRAPPER_CEF_STREAM_RESOURCE_HANDLER_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/cef_resource_handler.h"
|
||||
#include "include/cef_response.h"
|
||||
#include "include/cef_stream.h"
|
||||
@@ -61,6 +60,9 @@ class CefStreamResourceHandler : public CefResourceHandler {
|
||||
CefResponse::HeaderMap header_map,
|
||||
CefRefPtr<CefStreamReader> stream);
|
||||
|
||||
CefStreamResourceHandler(const CefStreamResourceHandler&) = delete;
|
||||
CefStreamResourceHandler& operator=(const CefStreamResourceHandler&) = delete;
|
||||
|
||||
// CefResourceHandler methods.
|
||||
bool Open(CefRefPtr<CefRequest> request,
|
||||
bool& handle_request,
|
||||
@@ -82,7 +84,6 @@ class CefStreamResourceHandler : public CefResourceHandler {
|
||||
const CefRefPtr<CefStreamReader> stream_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefStreamResourceHandler);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefStreamResourceHandler);
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_WRAPPER_CEF_STREAM_RESOURCE_HANDLER_H_
|
||||
|
@@ -41,7 +41,6 @@
|
||||
#include <vector>
|
||||
|
||||
#include "include/base/cef_lock.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_ref_counted.h"
|
||||
#include "include/cef_base.h"
|
||||
#include "include/cef_xml_reader.h"
|
||||
@@ -73,8 +72,8 @@ class CefStreamReader;
|
||||
///
|
||||
class CefXmlObject : public base::RefCountedThreadSafe<CefXmlObject> {
|
||||
public:
|
||||
typedef std::vector<CefRefPtr<CefXmlObject>> ObjectVector;
|
||||
typedef std::map<CefString, CefString> AttributeMap;
|
||||
using ObjectVector = std::vector<CefRefPtr<CefXmlObject>>;
|
||||
using AttributeMap = std::map<CefString, CefString>;
|
||||
|
||||
///
|
||||
// Create a new object with the specified name. An object name must always be
|
||||
@@ -82,6 +81,9 @@ class CefXmlObject : public base::RefCountedThreadSafe<CefXmlObject> {
|
||||
///
|
||||
explicit CefXmlObject(const CefString& name);
|
||||
|
||||
CefXmlObject(const CefXmlObject&) = delete;
|
||||
CefXmlObject& operator=(const CefXmlObject&) = delete;
|
||||
|
||||
///
|
||||
// Load the contents of the specified XML stream into this object. The
|
||||
// existing children and attributes, if any, will first be cleared.
|
||||
@@ -190,8 +192,6 @@ class CefXmlObject : public base::RefCountedThreadSafe<CefXmlObject> {
|
||||
ObjectVector children_;
|
||||
|
||||
base::Lock lock_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefXmlObject);
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_WRAPPER_CEF_XML_OBJECT_H_
|
||||
|
@@ -40,7 +40,6 @@
|
||||
#include <map>
|
||||
|
||||
#include "include/base/cef_lock.h"
|
||||
#include "include/base/cef_macros.h"
|
||||
#include "include/base/cef_ref_counted.h"
|
||||
#include "include/cef_base.h"
|
||||
|
||||
@@ -80,13 +79,16 @@ class CefZipArchive : public base::RefCountedThreadSafe<CefZipArchive> {
|
||||
virtual CefRefPtr<CefStreamReader> GetStreamReader() const = 0;
|
||||
};
|
||||
|
||||
typedef std::map<CefString, CefRefPtr<File>> FileMap;
|
||||
using FileMap = std::map<CefString, CefRefPtr<File>>;
|
||||
|
||||
///
|
||||
// Create a new object.
|
||||
///
|
||||
CefZipArchive();
|
||||
|
||||
CefZipArchive(const CefZipArchive&) = delete;
|
||||
CefZipArchive& operator=(const CefZipArchive&) = delete;
|
||||
|
||||
///
|
||||
// Load the contents of the specified zip archive stream into this object.
|
||||
// If the zip archive requires a password then provide it via |password|.
|
||||
@@ -136,8 +138,6 @@ class CefZipArchive : public base::RefCountedThreadSafe<CefZipArchive> {
|
||||
FileMap contents_;
|
||||
|
||||
mutable base::Lock lock_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefZipArchive);
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_WRAPPER_CEF_ZIP_ARCHIVE_H_
|
||||
|
@@ -55,6 +55,9 @@ class CefVisitedLinkListener : public visitedlink::VisitedLinkWriter::Listener {
|
||||
public:
|
||||
CefVisitedLinkListener() { DCHECK(listener_map_.empty()); }
|
||||
|
||||
CefVisitedLinkListener(const CefVisitedLinkListener&) = delete;
|
||||
CefVisitedLinkListener& operator=(const CefVisitedLinkListener&) = delete;
|
||||
|
||||
void CreateListenerForContext(content::BrowserContext* context) {
|
||||
CEF_REQUIRE_UIT();
|
||||
auto listener =
|
||||
@@ -94,12 +97,10 @@ class CefVisitedLinkListener : public visitedlink::VisitedLinkWriter::Listener {
|
||||
|
||||
private:
|
||||
// Map of AlloyBrowserContext to the associated VisitedLinkEventListener.
|
||||
typedef std::map<const content::BrowserContext*,
|
||||
std::unique_ptr<visitedlink::VisitedLinkEventListener>>
|
||||
ListenerMap;
|
||||
using ListenerMap =
|
||||
std::map<const content::BrowserContext*,
|
||||
std::unique_ptr<visitedlink::VisitedLinkEventListener>>;
|
||||
ListenerMap listener_map_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefVisitedLinkListener);
|
||||
};
|
||||
|
||||
AlloyBrowserContext::AlloyBrowserContext(
|
||||
|
@@ -39,6 +39,9 @@ class AlloyBrowserContext : public ChromeProfileAlloy,
|
||||
public:
|
||||
explicit AlloyBrowserContext(const CefRequestContextSettings& settings);
|
||||
|
||||
AlloyBrowserContext(const AlloyBrowserContext&) = delete;
|
||||
AlloyBrowserContext& operator=(const AlloyBrowserContext&) = delete;
|
||||
|
||||
// CefBrowserContext overrides.
|
||||
content::BrowserContext* AsBrowserContext() override { return this; }
|
||||
Profile* AsProfile() override { return this; }
|
||||
@@ -142,8 +145,6 @@ class AlloyBrowserContext : public ChromeProfileAlloy,
|
||||
std::unique_ptr<content::ResourceContext> resource_context_;
|
||||
|
||||
scoped_refptr<MediaDeviceIDSalt> media_device_id_salt_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(AlloyBrowserContext);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_ALLOY_ALLOY_BROWSER_CONTEXT_H_
|
||||
|
@@ -99,6 +99,9 @@ class CefWidgetHostInterceptor
|
||||
render_widget_host_->AddObserver(this);
|
||||
}
|
||||
|
||||
CefWidgetHostInterceptor(const CefWidgetHostInterceptor&) = delete;
|
||||
CefWidgetHostInterceptor& operator=(const CefWidgetHostInterceptor&) = delete;
|
||||
|
||||
blink::mojom::WidgetHost* GetForwardingInterface() override { return impl_; }
|
||||
|
||||
// WidgetHostInterceptorForTesting method:
|
||||
@@ -122,8 +125,6 @@ class CefWidgetHostInterceptor
|
||||
AlloyBrowserHostImpl* const browser_;
|
||||
content::RenderWidgetHostImpl* const render_widget_host_;
|
||||
blink::mojom::WidgetHost* const impl_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefWidgetHostInterceptor);
|
||||
};
|
||||
|
||||
static constexpr base::TimeDelta kRecentlyAudibleTimeout = base::Seconds(2);
|
||||
@@ -1125,8 +1126,8 @@ void AlloyBrowserHostImpl::AddNewContents(
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::LoadingStateChanged(content::WebContents* source,
|
||||
bool to_different_document) {
|
||||
contents_delegate_->LoadingStateChanged(source, to_different_document);
|
||||
bool should_show_loading_ui) {
|
||||
contents_delegate_->LoadingStateChanged(source, should_show_loading_ui);
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::CloseContents(content::WebContents* source) {
|
||||
|
@@ -212,7 +212,7 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
bool user_gesture,
|
||||
bool* was_blocked) override;
|
||||
void LoadingStateChanged(content::WebContents* source,
|
||||
bool to_different_document) override;
|
||||
bool should_show_loading_ui) override;
|
||||
void CloseContents(content::WebContents* source) override;
|
||||
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
|
||||
bool DidAddMessageToConsole(content::WebContents* source,
|
||||
|
@@ -39,9 +39,12 @@
|
||||
#include "third_party/widevine/cdm/buildflags.h"
|
||||
#include "ui/base/resource/resource_bundle.h"
|
||||
|
||||
#if defined(USE_AURA) && defined(USE_X11)
|
||||
#if defined(OS_LINUX)
|
||||
#include "ui/ozone/buildflags.h"
|
||||
#if defined(USE_AURA) && BUILDFLAG(OZONE_PLATFORM_X11)
|
||||
#include "ui/events/devices/x11/touch_factory_x11.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(USE_AURA)
|
||||
#include "ui/aura/env.h"
|
||||
@@ -82,8 +85,8 @@
|
||||
#endif
|
||||
|
||||
AlloyBrowserMainParts::AlloyBrowserMainParts(
|
||||
const content::MainFunctionParams& parameters)
|
||||
: BrowserMainParts(), devtools_delegate_(nullptr) {}
|
||||
content::MainFunctionParams parameters)
|
||||
: BrowserMainParts(), parameters_(std::move(parameters)) {}
|
||||
|
||||
AlloyBrowserMainParts::~AlloyBrowserMainParts() {
|
||||
constrained_window::SetConstrainedWindowViewsClient(nullptr);
|
||||
@@ -118,9 +121,11 @@ void AlloyBrowserMainParts::ToolkitInitialized() {
|
||||
}
|
||||
|
||||
void AlloyBrowserMainParts::PreCreateMainMessageLoop() {
|
||||
#if defined(USE_AURA) && defined(USE_X11)
|
||||
#if defined(OS_LINUX)
|
||||
#if defined(USE_AURA) && BUILDFLAG(OZONE_PLATFORM_X11)
|
||||
ui::TouchFactory::SetTouchDeviceListFromCommandLine();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(OS_WIN)
|
||||
// Initialize the OSCrypt.
|
||||
|
@@ -9,15 +9,11 @@
|
||||
#include "libcef/browser/request_context_impl.h"
|
||||
|
||||
#include "base/command_line.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "build/build_config.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "content/public/browser/browser_main_parts.h"
|
||||
|
||||
namespace content {
|
||||
struct MainFunctionParams;
|
||||
}
|
||||
#include "content/public/common/main_function_params.h"
|
||||
|
||||
#if defined(USE_AURA)
|
||||
namespace display {
|
||||
@@ -41,7 +37,11 @@ class CefDevToolsDelegate;
|
||||
|
||||
class AlloyBrowserMainParts : public content::BrowserMainParts {
|
||||
public:
|
||||
explicit AlloyBrowserMainParts(const content::MainFunctionParams& parameters);
|
||||
explicit AlloyBrowserMainParts(content::MainFunctionParams parameters);
|
||||
|
||||
AlloyBrowserMainParts(const AlloyBrowserMainParts&) = delete;
|
||||
AlloyBrowserMainParts& operator=(const AlloyBrowserMainParts&) = delete;
|
||||
|
||||
~AlloyBrowserMainParts() override;
|
||||
|
||||
int PreEarlyInitialization() override;
|
||||
@@ -74,8 +74,10 @@ class AlloyBrowserMainParts : public content::BrowserMainParts {
|
||||
void PlatformInitialize();
|
||||
#endif // defined(OS_WIN)
|
||||
|
||||
content::MainFunctionParams parameters_;
|
||||
|
||||
CefRefPtr<CefRequestContextImpl> global_request_context_;
|
||||
CefDevToolsDelegate* devtools_delegate_; // Deletes itself.
|
||||
CefDevToolsDelegate* devtools_delegate_ = nullptr; // Deletes itself.
|
||||
|
||||
// Blocking task runners exposed via CefTaskRunner. For consistency with
|
||||
// previous named thread behavior always execute all pending tasks before
|
||||
@@ -96,8 +98,6 @@ class AlloyBrowserMainParts : public content::BrowserMainParts {
|
||||
std::unique_ptr<views::LayoutProvider> layout_provider_;
|
||||
#endif
|
||||
#endif // defined(TOOLKIT_VIEWS)
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(AlloyBrowserMainParts);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_ALLOY_ALLOY_BROWSER_MAIN_H_
|
||||
|
@@ -46,6 +46,7 @@
|
||||
#include "base/base_switches.h"
|
||||
#include "base/command_line.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/ignore_result.h"
|
||||
#include "base/json/json_reader.h"
|
||||
#include "base/path_service.h"
|
||||
#include "base/stl_util.h"
|
||||
@@ -176,6 +177,9 @@ class CefQuotaCallbackImpl : public CefCallback {
|
||||
explicit CefQuotaCallbackImpl(CallbackType callback)
|
||||
: callback_(std::move(callback)) {}
|
||||
|
||||
CefQuotaCallbackImpl(const CefQuotaCallbackImpl&) = delete;
|
||||
CefQuotaCallbackImpl& operator=(const CefQuotaCallbackImpl&) = delete;
|
||||
|
||||
~CefQuotaCallbackImpl() {
|
||||
if (!callback_.is_null()) {
|
||||
// The callback is still pending. Cancel it now.
|
||||
@@ -217,17 +221,21 @@ class CefQuotaCallbackImpl : public CefCallback {
|
||||
CallbackType callback_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefQuotaCallbackImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefQuotaCallbackImpl);
|
||||
};
|
||||
|
||||
class CefAllowCertificateErrorCallbackImpl : public CefCallback {
|
||||
public:
|
||||
typedef base::OnceCallback<void(content::CertificateRequestResultType)>
|
||||
CallbackType;
|
||||
using CallbackType =
|
||||
base::OnceCallback<void(content::CertificateRequestResultType)>;
|
||||
|
||||
explicit CefAllowCertificateErrorCallbackImpl(CallbackType callback)
|
||||
: callback_(std::move(callback)) {}
|
||||
|
||||
CefAllowCertificateErrorCallbackImpl(
|
||||
const CefAllowCertificateErrorCallbackImpl&) = delete;
|
||||
CefAllowCertificateErrorCallbackImpl& operator=(
|
||||
const CefAllowCertificateErrorCallbackImpl&) = delete;
|
||||
|
||||
~CefAllowCertificateErrorCallbackImpl() {
|
||||
if (!callback_.is_null()) {
|
||||
// The callback is still pending. Cancel it now.
|
||||
@@ -272,7 +280,6 @@ class CefAllowCertificateErrorCallbackImpl : public CefCallback {
|
||||
CallbackType callback_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefAllowCertificateErrorCallbackImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefAllowCertificateErrorCallbackImpl);
|
||||
};
|
||||
|
||||
class CefSelectClientCertificateCallbackImpl
|
||||
@@ -282,6 +289,11 @@ class CefSelectClientCertificateCallbackImpl
|
||||
std::unique_ptr<content::ClientCertificateDelegate> delegate)
|
||||
: delegate_(std::move(delegate)) {}
|
||||
|
||||
CefSelectClientCertificateCallbackImpl(
|
||||
const CefSelectClientCertificateCallbackImpl&) = delete;
|
||||
CefSelectClientCertificateCallbackImpl& operator=(
|
||||
const CefSelectClientCertificateCallbackImpl&) = delete;
|
||||
|
||||
~CefSelectClientCertificateCallbackImpl() {
|
||||
// If Select has not been called, call it with NULL to continue without any
|
||||
// client certificate.
|
||||
@@ -342,12 +354,15 @@ class CefSelectClientCertificateCallbackImpl
|
||||
std::unique_ptr<content::ClientCertificateDelegate> delegate_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefSelectClientCertificateCallbackImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefSelectClientCertificateCallbackImpl);
|
||||
};
|
||||
|
||||
class CefQuotaPermissionContext : public content::QuotaPermissionContext {
|
||||
public:
|
||||
CefQuotaPermissionContext() {}
|
||||
CefQuotaPermissionContext() = default;
|
||||
|
||||
CefQuotaPermissionContext(const CefQuotaPermissionContext&) = delete;
|
||||
CefQuotaPermissionContext& operator=(const CefQuotaPermissionContext&) =
|
||||
delete;
|
||||
|
||||
// The callback will be dispatched on the IO thread.
|
||||
void RequestQuotaPermission(const content::StorageQuotaParams& params,
|
||||
@@ -389,9 +404,7 @@ class CefQuotaPermissionContext : public content::QuotaPermissionContext {
|
||||
}
|
||||
|
||||
private:
|
||||
~CefQuotaPermissionContext() override {}
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefQuotaPermissionContext);
|
||||
~CefQuotaPermissionContext() override = default;
|
||||
};
|
||||
|
||||
#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
@@ -495,8 +508,8 @@ AlloyContentBrowserClient::~AlloyContentBrowserClient() = default;
|
||||
|
||||
std::unique_ptr<content::BrowserMainParts>
|
||||
AlloyContentBrowserClient::CreateBrowserMainParts(
|
||||
const content::MainFunctionParams& parameters) {
|
||||
browser_main_parts_ = new AlloyBrowserMainParts(parameters);
|
||||
content::MainFunctionParams parameters) {
|
||||
browser_main_parts_ = new AlloyBrowserMainParts(std::move(parameters));
|
||||
return base::WrapUnique(browser_main_parts_);
|
||||
}
|
||||
|
||||
@@ -1510,6 +1523,18 @@ bool AlloyContentBrowserClient::ShouldAllowPluginCreation(
|
||||
return true;
|
||||
}
|
||||
|
||||
void AlloyContentBrowserClient::OnWebContentsCreated(
|
||||
content::WebContents* web_contents) {
|
||||
// Attach universal WebContentsObservers. These are quite rare, and in most
|
||||
// cases CefBrowserPlatformDelegateAlloy::BrowserCreated and/or
|
||||
// CefExtensionsAPIClient::AttachWebContentsHelpers should be used instead.
|
||||
|
||||
if (extensions::ExtensionsEnabled()) {
|
||||
extensions::CefExtensionWebContentsObserver::CreateForWebContents(
|
||||
web_contents);
|
||||
}
|
||||
}
|
||||
|
||||
bool AlloyContentBrowserClient::IsFindInPageDisabledForOrigin(
|
||||
const url::Origin& origin) {
|
||||
// For PDF viewing with the PPAPI-free PDF Viewer, find-in-page should only
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#include "include/cef_request_context_handler.h"
|
||||
#include "libcef/browser/request_context_impl.h"
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "build/build_config.h"
|
||||
#include "content/public/browser/content_browser_client.h"
|
||||
@@ -36,7 +35,7 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
|
||||
|
||||
// ContentBrowserClient implementation.
|
||||
std::unique_ptr<content::BrowserMainParts> CreateBrowserMainParts(
|
||||
const content::MainFunctionParams& parameters) override;
|
||||
content::MainFunctionParams parameters) override;
|
||||
void RenderProcessWillLaunch(content::RenderProcessHost* host) override;
|
||||
bool ShouldUseProcessPerSite(content::BrowserContext* browser_context,
|
||||
const GURL& site_url) override;
|
||||
@@ -237,6 +236,7 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
|
||||
bool ShouldAllowPluginCreation(
|
||||
const url::Origin& embedder_origin,
|
||||
const content::PepperPluginInfo& plugin_info) override;
|
||||
void OnWebContentsCreated(content::WebContents* web_contents) override;
|
||||
bool IsFindInPageDisabledForOrigin(const url::Origin& origin) override;
|
||||
|
||||
CefRefPtr<CefRequestContextImpl> request_context() const;
|
||||
|
@@ -179,9 +179,6 @@ void CefBrowserPlatformDelegateAlloy::BrowserCreated(
|
||||
printing::CefPrintViewManager::CreateForWebContents(web_contents_);
|
||||
|
||||
if (extensions::ExtensionsEnabled()) {
|
||||
extensions::CefExtensionWebContentsObserver::CreateForWebContents(
|
||||
web_contents_);
|
||||
|
||||
// Used by the tabs extension API.
|
||||
zoom::ZoomController::CreateForWebContents(web_contents_);
|
||||
}
|
||||
|
@@ -16,6 +16,11 @@
|
||||
// Implementation of Alloy-based browser functionality.
|
||||
class CefBrowserPlatformDelegateAlloy : public CefBrowserPlatformDelegate {
|
||||
public:
|
||||
CefBrowserPlatformDelegateAlloy(const CefBrowserPlatformDelegateAlloy&) =
|
||||
delete;
|
||||
CefBrowserPlatformDelegateAlloy& operator=(
|
||||
const CefBrowserPlatformDelegateAlloy&) = delete;
|
||||
|
||||
content::WebContents* CreateWebContents(CefBrowserCreateParams& create_params,
|
||||
bool& own_web_contents) override;
|
||||
void WebContentsCreated(content::WebContents* web_contents,
|
||||
@@ -108,8 +113,6 @@ class CefBrowserPlatformDelegateAlloy : public CefBrowserPlatformDelegate {
|
||||
bool primary_ = true;
|
||||
|
||||
base::WeakPtrFactory<CefBrowserPlatformDelegateAlloy> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserPlatformDelegateAlloy);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_ALLOY_BROWSER_PLATFORM_DELEGATE_ALLOY_H_
|
||||
|
@@ -160,11 +160,6 @@ ChromeBrowserProcessAlloy::network_quality_tracker() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
WatchDogThread* ChromeBrowserProcessAlloy::watchdog_thread() {
|
||||
NOTREACHED();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
ProfileManager* ChromeBrowserProcessAlloy::profile_manager() {
|
||||
DCHECK(context_initialized_);
|
||||
return profile_manager_.get();
|
||||
@@ -365,7 +360,7 @@ ChromeBrowserProcessAlloy::component_updater() {
|
||||
component_updater::MakeChromeComponentUpdaterConfigurator(
|
||||
base::CommandLine::ForCurrentProcess(),
|
||||
g_browser_process->local_state()),
|
||||
std::move(scheduler));
|
||||
std::move(scheduler), /*brand=*/std::string());
|
||||
|
||||
return component_updater_.get();
|
||||
}
|
||||
|
@@ -28,15 +28,21 @@ class ChromeProfileManagerAlloy;
|
||||
class BackgroundModeManager {
|
||||
public:
|
||||
BackgroundModeManager();
|
||||
virtual ~BackgroundModeManager();
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(BackgroundModeManager);
|
||||
BackgroundModeManager(const BackgroundModeManager&) = delete;
|
||||
BackgroundModeManager& operator=(const BackgroundModeManager&) = delete;
|
||||
|
||||
virtual ~BackgroundModeManager();
|
||||
};
|
||||
|
||||
class ChromeBrowserProcessAlloy : public BrowserProcess {
|
||||
public:
|
||||
ChromeBrowserProcessAlloy();
|
||||
|
||||
ChromeBrowserProcessAlloy(const ChromeBrowserProcessAlloy&) = delete;
|
||||
ChromeBrowserProcessAlloy& operator=(const ChromeBrowserProcessAlloy&) =
|
||||
delete;
|
||||
|
||||
~ChromeBrowserProcessAlloy() override;
|
||||
|
||||
void Initialize();
|
||||
@@ -51,7 +57,6 @@ class ChromeBrowserProcessAlloy : public BrowserProcess {
|
||||
metrics::MetricsService* metrics_service() override;
|
||||
SystemNetworkContextManager* system_network_context_manager() override;
|
||||
network::NetworkQualityTracker* network_quality_tracker() override;
|
||||
WatchDogThread* watchdog_thread() override;
|
||||
ProfileManager* profile_manager() override;
|
||||
PrefService* local_state() override;
|
||||
scoped_refptr<network::SharedURLLoaderFactory> shared_url_loader_factory()
|
||||
@@ -131,8 +136,6 @@ class ChromeBrowserProcessAlloy : public BrowserProcess {
|
||||
std::unique_ptr<base::FieldTrialList> field_trial_list_;
|
||||
|
||||
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserProcessAlloy);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_ALLOY_CHROME_BROWSER_PROCESS_ALLOY_H_
|
||||
|
@@ -108,10 +108,6 @@ const Profile* ChromeProfileAlloy::GetOriginalProfile() const {
|
||||
return this;
|
||||
}
|
||||
|
||||
bool ChromeProfileAlloy::IsSupervised() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ChromeProfileAlloy::IsChild() const {
|
||||
return false;
|
||||
}
|
||||
|
@@ -16,6 +16,10 @@
|
||||
class ChromeProfileAlloy : public Profile {
|
||||
public:
|
||||
ChromeProfileAlloy();
|
||||
|
||||
ChromeProfileAlloy(const ChromeProfileAlloy&) = delete;
|
||||
ChromeProfileAlloy& operator=(const ChromeProfileAlloy&) = delete;
|
||||
|
||||
~ChromeProfileAlloy() override;
|
||||
|
||||
protected:
|
||||
@@ -35,7 +39,6 @@ class ChromeProfileAlloy : public Profile {
|
||||
bool HasAnyOffTheRecordProfile() override;
|
||||
Profile* GetOriginalProfile() override;
|
||||
const Profile* GetOriginalProfile() const override;
|
||||
bool IsSupervised() const override;
|
||||
bool IsChild() const override;
|
||||
ExtensionSpecialStoragePolicy* GetExtensionSpecialStoragePolicy() override;
|
||||
bool IsSameOrParent(Profile* profile) override;
|
||||
@@ -51,8 +54,6 @@ class ChromeProfileAlloy : public Profile {
|
||||
|
||||
private:
|
||||
std::unique_ptr<variations::VariationsClient> variations_client_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeProfileAlloy);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_ALLOY_CHROME_PROFILE_ALLOY_H_
|
||||
|
@@ -14,13 +14,15 @@
|
||||
class ChromeProfileManagerAlloy : public ProfileManager {
|
||||
public:
|
||||
ChromeProfileManagerAlloy();
|
||||
|
||||
ChromeProfileManagerAlloy(const ChromeProfileManagerAlloy&) = delete;
|
||||
ChromeProfileManagerAlloy& operator=(const ChromeProfileManagerAlloy&) =
|
||||
delete;
|
||||
|
||||
~ChromeProfileManagerAlloy() override;
|
||||
|
||||
Profile* GetProfile(const base::FilePath& profile_dir) override;
|
||||
bool IsValidProfile(const void* profile) override;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeProfileManagerAlloy);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_ALLOY_CHROME_PROFILE_MANAGER_ALLOY_H_
|
||||
|
@@ -35,6 +35,10 @@ class StreamCreatedCallbackAdapter final
|
||||
DCHECK(callback_);
|
||||
}
|
||||
|
||||
StreamCreatedCallbackAdapter(const StreamCreatedCallbackAdapter&) = delete;
|
||||
StreamCreatedCallbackAdapter& operator=(const StreamCreatedCallbackAdapter&) =
|
||||
delete;
|
||||
|
||||
~StreamCreatedCallbackAdapter() override {}
|
||||
|
||||
// blink::mojom::RendererAudioInputStreamFactoryClient implementation.
|
||||
@@ -52,8 +56,6 @@ class StreamCreatedCallbackAdapter final
|
||||
|
||||
private:
|
||||
const CefAudioLoopbackStreamCreator::StreamCreatedCallback callback_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(StreamCreatedCallbackAdapter);
|
||||
};
|
||||
|
||||
void CreateLoopbackStreamHelper(
|
||||
|
@@ -6,7 +6,6 @@
|
||||
#define CEF_LIBCEF_BROWSER_AUDIO_LOOPBACK_STREAM_CREATOR_H_
|
||||
|
||||
#include "base/callback.h"
|
||||
#include "base/macros.h"
|
||||
#include "content/browser/media/forwarding_audio_stream_factory.h"
|
||||
#include "content/common/content_export.h"
|
||||
#include "media/mojo/mojom/audio_data_pipe.mojom.h"
|
||||
@@ -25,6 +24,11 @@ class AudioParameters;
|
||||
class CefAudioLoopbackStreamCreator final {
|
||||
public:
|
||||
CefAudioLoopbackStreamCreator();
|
||||
|
||||
CefAudioLoopbackStreamCreator(const CefAudioLoopbackStreamCreator&) = delete;
|
||||
CefAudioLoopbackStreamCreator& operator=(
|
||||
const CefAudioLoopbackStreamCreator&) = delete;
|
||||
|
||||
~CefAudioLoopbackStreamCreator();
|
||||
|
||||
// The callback that is called when the requested stream is created.
|
||||
@@ -44,8 +48,6 @@ class CefAudioLoopbackStreamCreator final {
|
||||
|
||||
private:
|
||||
content::ForwardingAudioStreamFactory factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefAudioLoopbackStreamCreator);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_AUDIO_LOOPBACK_STREAM_CREATOR_H_
|
||||
|
@@ -91,7 +91,7 @@ content::WebContents* CefBrowserContentsDelegate::OpenURLFromTab(
|
||||
|
||||
void CefBrowserContentsDelegate::LoadingStateChanged(
|
||||
content::WebContents* source,
|
||||
bool to_different_document) {
|
||||
bool should_show_loading_ui) {
|
||||
const int current_index =
|
||||
source->GetController().GetLastCommittedEntryIndex();
|
||||
const int max_index = source->GetController().GetEntryCount() - 1;
|
||||
|
@@ -72,6 +72,10 @@ class CefBrowserContentsDelegate : public content::WebContentsDelegate,
|
||||
explicit CefBrowserContentsDelegate(
|
||||
scoped_refptr<CefBrowserInfo> browser_info);
|
||||
|
||||
CefBrowserContentsDelegate(const CefBrowserContentsDelegate&) = delete;
|
||||
CefBrowserContentsDelegate& operator=(const CefBrowserContentsDelegate&) =
|
||||
delete;
|
||||
|
||||
void ObserveWebContents(content::WebContents* new_contents);
|
||||
|
||||
// Manage observer objects. The observer must either outlive this object or
|
||||
@@ -84,7 +88,7 @@ class CefBrowserContentsDelegate : public content::WebContentsDelegate,
|
||||
content::WebContents* source,
|
||||
const content::OpenURLParams& params) override;
|
||||
void LoadingStateChanged(content::WebContents* source,
|
||||
bool to_different_document) override;
|
||||
bool should_show_loading_ui) override;
|
||||
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
|
||||
bool DidAddMessageToConsole(content::WebContents* source,
|
||||
blink::mojom::ConsoleMessageLevel log_level,
|
||||
@@ -195,8 +199,6 @@ class CefBrowserContentsDelegate : public content::WebContentsDelegate,
|
||||
|
||||
// True if the focus is currently on an editable field on the page.
|
||||
bool focus_on_editable_field_ = false;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserContentsDelegate);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_CONTENTS_DELEGATE_H_
|
||||
|
@@ -34,9 +34,13 @@ namespace {
|
||||
// Manages the global list of Impl instances.
|
||||
class ImplManager {
|
||||
public:
|
||||
typedef std::vector<CefBrowserContext*> Vector;
|
||||
using Vector = std::vector<CefBrowserContext*>;
|
||||
|
||||
ImplManager() {}
|
||||
|
||||
ImplManager(const ImplManager&) = delete;
|
||||
ImplManager& operator=(const ImplManager&) = delete;
|
||||
|
||||
~ImplManager() {
|
||||
DCHECK(all_.empty());
|
||||
DCHECK(map_.empty());
|
||||
@@ -122,12 +126,10 @@ class ImplManager {
|
||||
return all_.end();
|
||||
}
|
||||
|
||||
typedef std::map<base::FilePath, CefBrowserContext*> PathMap;
|
||||
using PathMap = std::map<base::FilePath, CefBrowserContext*>;
|
||||
PathMap map_;
|
||||
|
||||
Vector all_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ImplManager);
|
||||
};
|
||||
|
||||
#if DCHECK_IS_ON()
|
||||
|
@@ -91,6 +91,9 @@ class Profile;
|
||||
// the UI thread unless otherwise indicated.
|
||||
class CefBrowserContext {
|
||||
public:
|
||||
CefBrowserContext(const CefBrowserContext&) = delete;
|
||||
CefBrowserContext& operator=(const CefBrowserContext&) = delete;
|
||||
|
||||
// Returns the existing instance, if any, associated with the specified
|
||||
// |cache_path|.
|
||||
static CefBrowserContext* FromCachePath(const base::FilePath& cache_path);
|
||||
@@ -226,7 +229,7 @@ class CefBrowserContext {
|
||||
CefRequestContextHandlerMap handler_map_;
|
||||
|
||||
// Set of global IDs associated with this context.
|
||||
typedef std::set<content::GlobalRenderFrameHostId> RenderIdSet;
|
||||
using RenderIdSet = std::set<content::GlobalRenderFrameHostId>;
|
||||
RenderIdSet render_id_set_;
|
||||
|
||||
#if DCHECK_IS_ON()
|
||||
@@ -235,8 +238,6 @@ class CefBrowserContext {
|
||||
|
||||
Getter getter_;
|
||||
base::WeakPtrFactory<CefBrowserContext> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserContext);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_CONTEXT_IMPL_H_
|
||||
|
@@ -35,18 +35,20 @@ void CefBrowserFrame::RegisterBrowserInterfaceBindersForFrame(
|
||||
|
||||
void CefBrowserFrame::SendMessage(const std::string& name,
|
||||
base::Value arguments) {
|
||||
// Always associate with the newly created RFH, which may be speculative when
|
||||
// Always send to the newly created RFH, which may be speculative when
|
||||
// navigating cross-origin.
|
||||
if (auto host = GetFrameHost(/*prefer_speculative=*/true)) {
|
||||
host->SendMessage(name, std::move(arguments));
|
||||
}
|
||||
}
|
||||
|
||||
void CefBrowserFrame::FrameAttached() {
|
||||
void CefBrowserFrame::FrameAttached(
|
||||
mojo::PendingRemote<cef::mojom::RenderFrame> render_frame,
|
||||
bool reattached) {
|
||||
// Always send to the newly created RFH, which may be speculative when
|
||||
// navigating cross-origin.
|
||||
if (auto host = GetFrameHost(/*prefer_speculative=*/true)) {
|
||||
host->FrameAttached();
|
||||
host->FrameAttached(std::move(render_frame), reattached);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -22,6 +22,10 @@ class CefBrowserFrame
|
||||
public:
|
||||
CefBrowserFrame(content::RenderFrameHost* render_frame_host,
|
||||
mojo::PendingReceiver<cef::mojom::BrowserFrame> receiver);
|
||||
|
||||
CefBrowserFrame(const CefBrowserFrame&) = delete;
|
||||
CefBrowserFrame& operator=(const CefBrowserFrame&) = delete;
|
||||
|
||||
~CefBrowserFrame() override;
|
||||
|
||||
// Called from the ContentBrowserClient method of the same name.
|
||||
@@ -32,7 +36,8 @@ class CefBrowserFrame
|
||||
private:
|
||||
// cef::mojom::BrowserFrame methods:
|
||||
void SendMessage(const std::string& name, base::Value arguments) override;
|
||||
void FrameAttached() override;
|
||||
void FrameAttached(mojo::PendingRemote<cef::mojom::RenderFrame> render_frame,
|
||||
bool reattached) override;
|
||||
void DidFinishFrameLoad(const GURL& validated_url,
|
||||
int32_t http_status_code) override;
|
||||
void UpdateDraggableRegions(
|
||||
@@ -44,8 +49,6 @@ class CefBrowserFrame
|
||||
|
||||
CefRefPtr<CefFrameHostImpl> GetFrameHost(
|
||||
bool prefer_speculative = false) const;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserFrame);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_FRAME_H_
|
||||
|
@@ -13,6 +13,7 @@
|
||||
#include "libcef/common/frame_util.h"
|
||||
#include "libcef/common/net/url_util.h"
|
||||
|
||||
#include "base/ignore_result.h"
|
||||
#include "base/logging.h"
|
||||
#include "chrome/browser/spellchecker/spellcheck_factory.h"
|
||||
#include "chrome/browser/spellchecker/spellcheck_service.h"
|
||||
|
@@ -134,6 +134,9 @@ class CefBrowserHostBase : public CefBrowserHost,
|
||||
scoped_refptr<CefBrowserInfo> browser_info,
|
||||
CefRefPtr<CefRequestContextImpl> request_context);
|
||||
|
||||
CefBrowserHostBase(const CefBrowserHostBase&) = delete;
|
||||
CefBrowserHostBase& operator=(const CefBrowserHostBase&) = delete;
|
||||
|
||||
// Called on the UI thread after the associated WebContents is created.
|
||||
virtual void InitializeBrowser();
|
||||
|
||||
@@ -310,7 +313,6 @@ class CefBrowserHostBase : public CefBrowserHost,
|
||||
|
||||
private:
|
||||
IMPLEMENT_REFCOUNTING(CefBrowserHostBase);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserHostBase);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_HOST_BASE_H_
|
||||
|
@@ -168,10 +168,13 @@ void CefBrowserInfo::FrameHostStateChanged(
|
||||
content::RenderFrameHost::LifecycleState::kInBackForwardCache) &&
|
||||
new_state == content::RenderFrameHost::LifecycleState::kActive) {
|
||||
if (auto frame = GetFrameForHost(host)) {
|
||||
// Should only occur for the main frame.
|
||||
CHECK(frame->IsMain());
|
||||
|
||||
// Update the associated RFH, which may have changed.
|
||||
frame->MaybeReAttach(this, host);
|
||||
|
||||
if (frame->IsMain()) {
|
||||
{
|
||||
// Update the main frame object.
|
||||
NotificationStateLock lock_scope(this);
|
||||
SetMainFrame(browser_, frame);
|
||||
|
@@ -39,6 +39,9 @@ class CefBrowserInfo : public base::RefCountedThreadSafe<CefBrowserInfo> {
|
||||
bool is_windowless,
|
||||
CefRefPtr<CefDictionaryValue> extra_info);
|
||||
|
||||
CefBrowserInfo(const CefBrowserInfo&) = delete;
|
||||
CefBrowserInfo& operator=(const CefBrowserInfo&) = delete;
|
||||
|
||||
int browser_id() const { return browser_id_; }
|
||||
bool is_popup() const { return is_popup_; }
|
||||
bool is_windowless() const { return is_windowless_; }
|
||||
@@ -119,7 +122,7 @@ class CefBrowserInfo : public base::RefCountedThreadSafe<CefBrowserInfo> {
|
||||
// Returns all non-speculative frame objects that currently exist. Guest views
|
||||
// will be excluded because they don't have a frame object. Safe to call from
|
||||
// any thread.
|
||||
typedef std::set<CefRefPtr<CefFrameHostImpl>> FrameHostList;
|
||||
using FrameHostList = std::set<CefRefPtr<CefFrameHostImpl>>;
|
||||
FrameHostList GetAllFrames() const;
|
||||
|
||||
class NavigationLock final : public base::RefCounted<NavigationLock> {
|
||||
@@ -251,8 +254,6 @@ class CefBrowserInfo : public base::RefCountedThreadSafe<CefBrowserInfo> {
|
||||
|
||||
// Only accessed on the UI thread.
|
||||
std::vector<CefDraggableRegion> draggable_regions_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserInfo);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_INFO_H_
|
||||
|
@@ -44,6 +44,10 @@ class CefBrowserPlatformDelegate;
|
||||
class CefBrowserInfoManager : public content::RenderProcessHostObserver {
|
||||
public:
|
||||
CefBrowserInfoManager();
|
||||
|
||||
CefBrowserInfoManager(const CefBrowserInfoManager&) = delete;
|
||||
CefBrowserInfoManager& operator=(const CefBrowserInfoManager&) = delete;
|
||||
|
||||
~CefBrowserInfoManager() override;
|
||||
|
||||
// Returns this singleton instance of this class.
|
||||
@@ -232,8 +236,6 @@ class CefBrowserInfoManager : public content::RenderProcessHostObserver {
|
||||
PendingPopupList pending_popup_list_;
|
||||
|
||||
int next_timeout_id_ = 0;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserInfoManager);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_INFO_H_
|
||||
|
@@ -20,6 +20,10 @@ class RenderProcessHost;
|
||||
class CefBrowserManager : public cef::mojom::BrowserManager {
|
||||
public:
|
||||
explicit CefBrowserManager(int render_process_id);
|
||||
|
||||
CefBrowserManager(const CefBrowserManager&) = delete;
|
||||
CefBrowserManager& operator=(const CefBrowserManager&) = delete;
|
||||
|
||||
~CefBrowserManager() override;
|
||||
|
||||
// Called from the ContentBrowserClient method of the same name.
|
||||
@@ -47,8 +51,6 @@ class CefBrowserManager : public cef::mojom::BrowserManager {
|
||||
|
||||
// The process ID of the renderer.
|
||||
const int render_process_id_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserManager);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_MANAGER_H_
|
||||
|
@@ -74,6 +74,10 @@ class CefMenuRunner;
|
||||
// indicated.
|
||||
class CefBrowserPlatformDelegate {
|
||||
public:
|
||||
CefBrowserPlatformDelegate(const CefBrowserPlatformDelegate&) = delete;
|
||||
CefBrowserPlatformDelegate& operator=(const CefBrowserPlatformDelegate&) =
|
||||
delete;
|
||||
|
||||
// Create a new CefBrowserPlatformDelegate instance. May be called on multiple
|
||||
// threads.
|
||||
static std::unique_ptr<CefBrowserPlatformDelegate> Create(
|
||||
@@ -368,8 +372,6 @@ class CefBrowserPlatformDelegate {
|
||||
// Not owned by this object.
|
||||
content::WebContents* web_contents_ = nullptr;
|
||||
CefBrowserHostBase* browser_ = nullptr;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBrowserPlatformDelegate);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_BROWSER_PLATFORM_DELEGATE_H_
|
||||
|
@@ -20,6 +20,9 @@ class ChromeBrowserContext : public CefBrowserContext, public ProfileObserver {
|
||||
public:
|
||||
explicit ChromeBrowserContext(const CefRequestContextSettings& settings);
|
||||
|
||||
ChromeBrowserContext(const ChromeBrowserContext&) = delete;
|
||||
ChromeBrowserContext& operator=(const ChromeBrowserContext&) = delete;
|
||||
|
||||
void InitializeAsync(base::OnceClosure initialized_cb);
|
||||
|
||||
// CefBrowserContext overrides.
|
||||
@@ -47,8 +50,6 @@ class ChromeBrowserContext : public CefBrowserContext, public ProfileObserver {
|
||||
std::vector<base::OnceClosure> init_callbacks_;
|
||||
|
||||
base::WeakPtrFactory<ChromeBrowserContext> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserContext);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_CHROME_CHROME_BROWSER_CONTEXT_H_
|
||||
|
@@ -152,9 +152,9 @@ content::WebContents* ChromeBrowserDelegate::OpenURLFromTab(
|
||||
}
|
||||
|
||||
void ChromeBrowserDelegate::LoadingStateChanged(content::WebContents* source,
|
||||
bool to_different_document) {
|
||||
bool should_show_loading_ui) {
|
||||
if (auto delegate = GetDelegateForWebContents(source)) {
|
||||
delegate->LoadingStateChanged(source, to_different_document);
|
||||
delegate->LoadingStateChanged(source, should_show_loading_ui);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -41,6 +41,10 @@ class ChromeBrowserDelegate : public cef::BrowserDelegate {
|
||||
public:
|
||||
ChromeBrowserDelegate(Browser* browser,
|
||||
const CefBrowserCreateParams& create_params);
|
||||
|
||||
ChromeBrowserDelegate(const ChromeBrowserDelegate&) = delete;
|
||||
ChromeBrowserDelegate& operator=(const ChromeBrowserDelegate&) = delete;
|
||||
|
||||
~ChromeBrowserDelegate() override;
|
||||
|
||||
// cef::BrowserDelegate methods:
|
||||
@@ -66,7 +70,7 @@ class ChromeBrowserDelegate : public cef::BrowserDelegate {
|
||||
content::WebContents* source,
|
||||
const content::OpenURLParams& params) override;
|
||||
void LoadingStateChanged(content::WebContents* source,
|
||||
bool to_different_document) override;
|
||||
bool should_show_loading_ui) override;
|
||||
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
|
||||
bool DidAddMessageToConsole(content::WebContents* source,
|
||||
blink::mojom::ConsoleMessageLevel log_level,
|
||||
@@ -105,8 +109,6 @@ class ChromeBrowserDelegate : public cef::BrowserDelegate {
|
||||
|
||||
// Used when creating a new browser host.
|
||||
const CefBrowserCreateParams create_params_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserDelegate);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_CHROME_CHROME_BROWSER_DELEGATE_H_
|
||||
|
@@ -9,7 +9,6 @@
|
||||
|
||||
#include "libcef/browser/request_context_impl.h"
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "base/task/single_thread_task_runner.h"
|
||||
#include "chrome/browser/chrome_browser_main_extra_parts.h"
|
||||
|
||||
@@ -17,6 +16,12 @@
|
||||
class ChromeBrowserMainExtraPartsCef : public ChromeBrowserMainExtraParts {
|
||||
public:
|
||||
ChromeBrowserMainExtraPartsCef();
|
||||
|
||||
ChromeBrowserMainExtraPartsCef(const ChromeBrowserMainExtraPartsCef&) =
|
||||
delete;
|
||||
ChromeBrowserMainExtraPartsCef& operator=(
|
||||
const ChromeBrowserMainExtraPartsCef&) = delete;
|
||||
|
||||
~ChromeBrowserMainExtraPartsCef() override;
|
||||
|
||||
CefRefPtr<CefRequestContextImpl> request_context() const {
|
||||
@@ -47,8 +52,6 @@ class ChromeBrowserMainExtraPartsCef : public ChromeBrowserMainExtraParts {
|
||||
scoped_refptr<base::SingleThreadTaskRunner> background_task_runner_;
|
||||
scoped_refptr<base::SingleThreadTaskRunner> user_visible_task_runner_;
|
||||
scoped_refptr<base::SingleThreadTaskRunner> user_blocking_task_runner_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraPartsCef);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_CHROME_CHROME_BROWSER_MAIN_EXTRA_PARTS_CEF_H_
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include "libcef/common/command_line_impl.h"
|
||||
|
||||
#include "base/command_line.h"
|
||||
#include "base/ignore_result.h"
|
||||
#include "base/path_service.h"
|
||||
#include "chrome/browser/chrome_browser_main.h"
|
||||
#include "chrome/browser/net/system_network_context_manager.h"
|
||||
@@ -68,9 +69,9 @@ ChromeContentBrowserClientCef::~ChromeContentBrowserClientCef() = default;
|
||||
|
||||
std::unique_ptr<content::BrowserMainParts>
|
||||
ChromeContentBrowserClientCef::CreateBrowserMainParts(
|
||||
const content::MainFunctionParams& parameters) {
|
||||
content::MainFunctionParams parameters) {
|
||||
auto main_parts =
|
||||
ChromeContentBrowserClient::CreateBrowserMainParts(parameters);
|
||||
ChromeContentBrowserClient::CreateBrowserMainParts(std::move(parameters));
|
||||
browser_main_parts_ = new ChromeBrowserMainExtraPartsCef;
|
||||
static_cast<ChromeBrowserMainParts*>(main_parts.get())
|
||||
->AddParts(
|
||||
|
@@ -10,7 +10,6 @@
|
||||
|
||||
#include "libcef/browser/request_context_impl.h"
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "chrome/browser/chrome_content_browser_client.h"
|
||||
|
||||
class ChromeBrowserMainExtraPartsCef;
|
||||
@@ -19,11 +18,16 @@ class ChromeBrowserMainExtraPartsCef;
|
||||
class ChromeContentBrowserClientCef : public ChromeContentBrowserClient {
|
||||
public:
|
||||
ChromeContentBrowserClientCef();
|
||||
|
||||
ChromeContentBrowserClientCef(const ChromeContentBrowserClientCef&) = delete;
|
||||
ChromeContentBrowserClientCef& operator=(
|
||||
const ChromeContentBrowserClientCef&) = delete;
|
||||
|
||||
~ChromeContentBrowserClientCef() override;
|
||||
|
||||
// ChromeContentBrowserClient overrides.
|
||||
std::unique_ptr<content::BrowserMainParts> CreateBrowserMainParts(
|
||||
const content::MainFunctionParams& parameters) override;
|
||||
content::MainFunctionParams parameters) override;
|
||||
void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
|
||||
int child_process_id) override;
|
||||
void RenderProcessWillLaunch(content::RenderProcessHost* host) override;
|
||||
@@ -114,8 +118,6 @@ class ChromeContentBrowserClientCef : public ChromeContentBrowserClient {
|
||||
|
||||
private:
|
||||
ChromeBrowserMainExtraPartsCef* browser_main_parts_ = nullptr;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeContentBrowserClientCef);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_CHROME_CHROME_CONTENT_BROWSER_CLIENT_CEF_
|
||||
|
@@ -23,6 +23,9 @@ class CefContextMenuObserver : public RenderViewContextMenuObserver,
|
||||
CefRefPtr<CefContextMenuHandler> handler)
|
||||
: context_menu_(context_menu), browser_(browser), handler_(handler) {}
|
||||
|
||||
CefContextMenuObserver(const CefContextMenuObserver&) = delete;
|
||||
CefContextMenuObserver& operator=(const CefContextMenuObserver&) = delete;
|
||||
|
||||
// RenderViewContextMenuObserver methods:
|
||||
|
||||
void InitMenu(const content::ContextMenuParams& params) override {
|
||||
@@ -177,8 +180,6 @@ class CefContextMenuObserver : public RenderViewContextMenuObserver,
|
||||
// Map of command_id to ItemInfo.
|
||||
using ItemInfoMap = std::map<int, ItemInfo>;
|
||||
ItemInfoMap iteminfomap_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefContextMenuObserver);
|
||||
};
|
||||
|
||||
std::unique_ptr<RenderViewContextMenuObserver> MenuCreatedCallback(
|
||||
|
@@ -17,6 +17,9 @@ class PopupWindowDelegate : public CefWindowDelegate {
|
||||
explicit PopupWindowDelegate(CefRefPtr<CefBrowserView> browser_view)
|
||||
: browser_view_(browser_view) {}
|
||||
|
||||
PopupWindowDelegate(const PopupWindowDelegate&) = delete;
|
||||
PopupWindowDelegate& operator=(const PopupWindowDelegate&) = delete;
|
||||
|
||||
void OnWindowCreated(CefRefPtr<CefWindow> window) override {
|
||||
window->AddChildView(browser_view_);
|
||||
window->Show();
|
||||
@@ -38,7 +41,6 @@ class PopupWindowDelegate : public CefWindowDelegate {
|
||||
CefRefPtr<CefBrowserView> browser_view_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(PopupWindowDelegate);
|
||||
DISALLOW_COPY_AND_ASSIGN(PopupWindowDelegate);
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
@@ -32,6 +32,9 @@ class ChromeBrowserView
|
||||
ChromeBrowserView(CefBrowserViewDelegate* cef_delegate,
|
||||
Delegate* browser_view_delegate);
|
||||
|
||||
ChromeBrowserView(const ChromeBrowserView&) = delete;
|
||||
ChromeBrowserView& operator=(const ChromeBrowserView&) = delete;
|
||||
|
||||
// Called by ChromeBrowserHostImpl.
|
||||
void InitBrowser(std::unique_ptr<Browser> browser,
|
||||
CefRefPtr<CefBrowserView> browser_view);
|
||||
@@ -59,8 +62,6 @@ class ChromeBrowserView
|
||||
bool destroyed_ = false;
|
||||
|
||||
CefRefPtr<CefToolbarViewImpl> cef_toolbar_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserView);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_CHROME_VIEWS_CHROME_BROWSER_VIEW_H_
|
||||
|
@@ -17,7 +17,10 @@ class BrowserView;
|
||||
class CefToolbarViewImpl
|
||||
: public CefViewImpl<CefToolbarViewView, CefView, CefViewDelegate> {
|
||||
public:
|
||||
typedef CefViewImpl<CefToolbarViewView, CefView, CefViewDelegate> ParentClass;
|
||||
using ParentClass = CefViewImpl<CefToolbarViewView, CefView, CefViewDelegate>;
|
||||
|
||||
CefToolbarViewImpl(const CefToolbarViewImpl&) = delete;
|
||||
CefToolbarViewImpl& operator=(const CefToolbarViewImpl&) = delete;
|
||||
|
||||
// Create a new CefToolbarViewImpl instance. |delegate| may be nullptr.
|
||||
static CefRefPtr<CefToolbarViewImpl> Create(
|
||||
@@ -49,7 +52,6 @@ class CefToolbarViewImpl
|
||||
absl::optional<ToolbarView::DisplayMode> const display_mode_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING_DELETE_ON_UIT(CefToolbarViewImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefToolbarViewImpl);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_VIEWS_SCROLL_VIEW_IMPL_H_
|
||||
|
@@ -12,7 +12,7 @@
|
||||
|
||||
class CefToolbarViewView : public CefViewView<ToolbarView, CefViewDelegate> {
|
||||
public:
|
||||
typedef CefViewView<ToolbarView, CefViewDelegate> ParentClass;
|
||||
using ParentClass = CefViewView<ToolbarView, CefViewDelegate>;
|
||||
|
||||
// |cef_delegate| may be nullptr.
|
||||
explicit CefToolbarViewView(CefViewDelegate* cef_delegate,
|
||||
@@ -20,8 +20,8 @@ class CefToolbarViewView : public CefViewView<ToolbarView, CefViewDelegate> {
|
||||
BrowserView* browser_view,
|
||||
absl::optional<DisplayMode> display_mode);
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(CefToolbarViewView);
|
||||
CefToolbarViewView(const CefToolbarViewView&) = delete;
|
||||
CefToolbarViewView& operator=(const CefToolbarViewView&) = delete;
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_CHROME_VIEWS_TOOLBAR_VIEW_VIEW_H_
|
||||
|
@@ -17,6 +17,9 @@ class CefContextMenuParamsImpl
|
||||
public:
|
||||
explicit CefContextMenuParamsImpl(content::ContextMenuParams* value);
|
||||
|
||||
CefContextMenuParamsImpl(const CefContextMenuParamsImpl&) = delete;
|
||||
CefContextMenuParamsImpl& operator=(const CefContextMenuParamsImpl&) = delete;
|
||||
|
||||
// CefContextMenuParams methods.
|
||||
int GetXCoord() override;
|
||||
int GetYCoord() override;
|
||||
@@ -38,8 +41,6 @@ class CefContextMenuParamsImpl
|
||||
bool IsSpellCheckEnabled() override;
|
||||
EditStateFlags GetEditStateFlags() override;
|
||||
bool IsCustomMenu() override;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefContextMenuParamsImpl);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_CONTEXT_MENU_PARAMS_IMPL_H_
|
||||
|
@@ -41,6 +41,10 @@ class CefDevToolsController : public content::DevToolsAgentHostClient {
|
||||
|
||||
// |inspected_contents| will outlive this object.
|
||||
explicit CefDevToolsController(content::WebContents* inspected_contents);
|
||||
|
||||
CefDevToolsController(const CefDevToolsController&) = delete;
|
||||
CefDevToolsController& operator=(const CefDevToolsController&) = delete;
|
||||
|
||||
~CefDevToolsController() override;
|
||||
|
||||
// See CefBrowserHost methods of the same name for documentation.
|
||||
@@ -72,8 +76,6 @@ class CefDevToolsController : public content::DevToolsAgentHostClient {
|
||||
base::ObserverList<Observer> observers_;
|
||||
|
||||
base::WeakPtrFactory<CefDevToolsController> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDevToolsController);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_CONTROLLER_H_
|
||||
|
@@ -6,7 +6,6 @@
|
||||
#define CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_FILE_MANAGER_H_
|
||||
|
||||
#include "base/callback_forward.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/weak_ptr.h"
|
||||
|
||||
#include <map>
|
||||
@@ -29,6 +28,9 @@ class CefDevToolsFileManager {
|
||||
CefDevToolsFileManager(AlloyBrowserHostImpl* browser_impl,
|
||||
PrefService* prefs);
|
||||
|
||||
CefDevToolsFileManager(const CefDevToolsFileManager&) = delete;
|
||||
CefDevToolsFileManager& operator=(const CefDevToolsFileManager&) = delete;
|
||||
|
||||
void SaveToFile(const std::string& url,
|
||||
const std::string& content,
|
||||
bool save_as);
|
||||
@@ -36,8 +38,8 @@ class CefDevToolsFileManager {
|
||||
|
||||
private:
|
||||
// SaveToFile implementation:
|
||||
typedef base::OnceCallback<void(const std::string&)> SaveCallback;
|
||||
typedef base::OnceCallback<void()> CancelCallback;
|
||||
using SaveCallback = base::OnceCallback<void(const std::string&)>;
|
||||
using CancelCallback = base::OnceCallback<void()>;
|
||||
void Save(const std::string& url,
|
||||
const std::string& content,
|
||||
bool save_as,
|
||||
@@ -57,7 +59,7 @@ class CefDevToolsFileManager {
|
||||
void CanceledFileSaveAs(const std::string& url);
|
||||
|
||||
// AppendToFile implementation:
|
||||
typedef base::OnceCallback<void(void)> AppendCallback;
|
||||
using AppendCallback = base::OnceCallback<void(void)>;
|
||||
void Append(const std::string& url,
|
||||
const std::string& content,
|
||||
AppendCallback callback);
|
||||
@@ -72,12 +74,10 @@ class CefDevToolsFileManager {
|
||||
AlloyBrowserHostImpl* browser_impl_;
|
||||
PrefService* prefs_;
|
||||
|
||||
typedef std::map<std::string, base::FilePath> PathsMap;
|
||||
using PathsMap = std::map<std::string, base::FilePath>;
|
||||
PathsMap saved_files_;
|
||||
scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
|
||||
base::WeakPtrFactory<CefDevToolsFileManager> weak_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDevToolsFileManager);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_FILE_MANAGER_H_
|
||||
|
@@ -22,7 +22,6 @@
|
||||
#include "base/json/json_reader.h"
|
||||
#include "base/json/json_writer.h"
|
||||
#include "base/json/string_escape.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/ptr_util.h"
|
||||
#include "base/strings/string_number_conversions.h"
|
||||
#include "base/strings/string_util.h"
|
||||
@@ -188,6 +187,9 @@ class CefDevToolsFrontend::NetworkResourceLoader
|
||||
loader_->DownloadAsStream(url_loader_factory, this);
|
||||
}
|
||||
|
||||
NetworkResourceLoader(const NetworkResourceLoader&) = delete;
|
||||
NetworkResourceLoader& operator=(const NetworkResourceLoader&) = delete;
|
||||
|
||||
private:
|
||||
void OnResponseStarted(const GURL& final_url,
|
||||
const network::mojom::URLResponseHead& response_head) {
|
||||
@@ -230,8 +232,6 @@ class CefDevToolsFrontend::NetworkResourceLoader
|
||||
std::unique_ptr<network::SimpleURLLoader> loader_;
|
||||
int request_id_;
|
||||
scoped_refptr<net::HttpResponseHeaders> response_headers_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(NetworkResourceLoader);
|
||||
};
|
||||
|
||||
// static
|
||||
|
@@ -12,7 +12,6 @@
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "base/memory/weak_ptr.h"
|
||||
#include "base/values.h"
|
||||
@@ -41,6 +40,9 @@ enum class ProtocolMessageType {
|
||||
class CefDevToolsFrontend : public content::WebContentsObserver,
|
||||
public content::DevToolsAgentHostClient {
|
||||
public:
|
||||
CefDevToolsFrontend(const CefDevToolsFrontend&) = delete;
|
||||
CefDevToolsFrontend& operator=(const CefDevToolsFrontend&) = delete;
|
||||
|
||||
static CefDevToolsFrontend* Show(
|
||||
AlloyBrowserHostImpl* inspected_browser,
|
||||
const CefWindowInfo& windowInfo,
|
||||
@@ -109,8 +111,6 @@ class CefDevToolsFrontend : public content::WebContentsObserver,
|
||||
const base::FilePath protocol_log_file_;
|
||||
|
||||
base::WeakPtrFactory<CefDevToolsFrontend> weak_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDevToolsFrontend);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_FRONTEND_H_
|
||||
|
@@ -22,6 +22,10 @@ class CefDevToolsRegistrationImpl : public CefRegistration,
|
||||
DCHECK(observer_);
|
||||
}
|
||||
|
||||
CefDevToolsRegistrationImpl(const CefDevToolsRegistrationImpl&) = delete;
|
||||
CefDevToolsRegistrationImpl& operator=(const CefDevToolsRegistrationImpl&) =
|
||||
delete;
|
||||
|
||||
~CefDevToolsRegistrationImpl() override {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
@@ -88,7 +92,6 @@ class CefDevToolsRegistrationImpl : public CefRegistration,
|
||||
base::WeakPtr<CefDevToolsController> controller_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING_DELETE_ON_UIT(CefDevToolsRegistrationImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDevToolsRegistrationImpl);
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
@@ -24,6 +24,10 @@ class CefDevToolsManager {
|
||||
public:
|
||||
// |inspected_browser| will outlive this object.
|
||||
explicit CefDevToolsManager(CefBrowserHostBase* inspected_browser);
|
||||
|
||||
CefDevToolsManager(const CefDevToolsManager&) = delete;
|
||||
CefDevToolsManager& operator=(const CefDevToolsManager&) = delete;
|
||||
|
||||
~CefDevToolsManager();
|
||||
|
||||
// See CefBrowserHost methods of the same name for documentation.
|
||||
@@ -62,8 +66,6 @@ class CefDevToolsManager {
|
||||
std::unique_ptr<CefDevToolsController> devtools_controller_;
|
||||
|
||||
base::WeakPtrFactory<CefDevToolsManager> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDevToolsManager);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_MANAGER_H_
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#include "base/bind.h"
|
||||
#include "base/command_line.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/ptr_util.h"
|
||||
#include "base/strings/string_number_conversions.h"
|
||||
#include "base/strings/stringprintf.h"
|
||||
@@ -44,6 +43,9 @@ class TCPServerSocketFactory : public content::DevToolsSocketFactory {
|
||||
TCPServerSocketFactory(const std::string& address, uint16_t port)
|
||||
: address_(address), port_(port) {}
|
||||
|
||||
TCPServerSocketFactory(const TCPServerSocketFactory&) = delete;
|
||||
TCPServerSocketFactory& operator=(const TCPServerSocketFactory&) = delete;
|
||||
|
||||
private:
|
||||
// content::DevToolsSocketFactory.
|
||||
std::unique_ptr<net::ServerSocket> CreateForHttpServer() override {
|
||||
@@ -61,8 +63,6 @@ class TCPServerSocketFactory : public content::DevToolsSocketFactory {
|
||||
|
||||
std::string address_;
|
||||
uint16_t port_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(TCPServerSocketFactory);
|
||||
};
|
||||
|
||||
std::unique_ptr<content::DevToolsSocketFactory> CreateSocketFactory() {
|
||||
|
@@ -6,7 +6,6 @@
|
||||
#define CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_MANAGER_DELEGATE_H_
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/macros.h"
|
||||
#include "content/public/browser/devtools_manager_delegate.h"
|
||||
|
||||
namespace content {
|
||||
@@ -19,6 +18,11 @@ class CefDevToolsManagerDelegate : public content::DevToolsManagerDelegate {
|
||||
static void StopHttpHandler();
|
||||
|
||||
CefDevToolsManagerDelegate();
|
||||
|
||||
CefDevToolsManagerDelegate(const CefDevToolsManagerDelegate&) = delete;
|
||||
CefDevToolsManagerDelegate& operator=(const CefDevToolsManagerDelegate&) =
|
||||
delete;
|
||||
|
||||
~CefDevToolsManagerDelegate() override;
|
||||
|
||||
// DevToolsManagerDelegate implementation.
|
||||
@@ -26,9 +30,6 @@ class CefDevToolsManagerDelegate : public content::DevToolsManagerDelegate {
|
||||
const GURL& url) override;
|
||||
std::string GetDiscoveryPageHTML() override;
|
||||
bool HasBundledFrontendResources() override;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDevToolsManagerDelegate);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_MANAGER_DELEGATE_H_
|
||||
|
@@ -19,6 +19,9 @@ class CefDownloadItemImpl
|
||||
public:
|
||||
explicit CefDownloadItemImpl(download::DownloadItem* value);
|
||||
|
||||
CefDownloadItemImpl(const CefDownloadItemImpl&) = delete;
|
||||
CefDownloadItemImpl& operator=(const CefDownloadItemImpl&) = delete;
|
||||
|
||||
// CefDownloadItem methods.
|
||||
bool IsValid() override;
|
||||
bool IsInProgress() override;
|
||||
@@ -37,9 +40,6 @@ class CefDownloadItemImpl
|
||||
CefString GetSuggestedFileName() override;
|
||||
CefString GetContentDisposition() override;
|
||||
CefString GetMimeType() override;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDownloadItemImpl);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_DOWNLOAD_ITEM_IMPL_H_
|
||||
|
@@ -12,6 +12,7 @@
|
||||
|
||||
#include "base/bind.h"
|
||||
#include "base/files/file_util.h"
|
||||
#include "base/ignore_result.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/path_service.h"
|
||||
#include "base/strings/string_util.h"
|
||||
@@ -50,6 +51,10 @@ class CefBeforeDownloadCallbackImpl : public CefBeforeDownloadCallback {
|
||||
suggested_name_(suggested_name),
|
||||
callback_(std::move(callback)) {}
|
||||
|
||||
CefBeforeDownloadCallbackImpl(const CefBeforeDownloadCallbackImpl&) = delete;
|
||||
CefBeforeDownloadCallbackImpl& operator=(
|
||||
const CefBeforeDownloadCallbackImpl&) = delete;
|
||||
|
||||
void Continue(const CefString& download_path, bool show_dialog) override {
|
||||
if (CEF_CURRENTLY_ON_UIT()) {
|
||||
if (download_id_ <= 0)
|
||||
@@ -182,7 +187,6 @@ class CefBeforeDownloadCallbackImpl : public CefBeforeDownloadCallback {
|
||||
content::DownloadTargetCallback callback_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefBeforeDownloadCallbackImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefBeforeDownloadCallbackImpl);
|
||||
};
|
||||
|
||||
// CefDownloadItemCallback implementation.
|
||||
@@ -193,6 +197,10 @@ class CefDownloadItemCallbackImpl : public CefDownloadItemCallback {
|
||||
uint32 download_id)
|
||||
: manager_(manager), download_id_(download_id) {}
|
||||
|
||||
CefDownloadItemCallbackImpl(const CefDownloadItemCallbackImpl&) = delete;
|
||||
CefDownloadItemCallbackImpl& operator=(const CefDownloadItemCallbackImpl&) =
|
||||
delete;
|
||||
|
||||
void Cancel() override {
|
||||
CEF_POST_TASK(CEF_UIT,
|
||||
base::BindOnce(&CefDownloadItemCallbackImpl::DoCancel, this));
|
||||
@@ -248,7 +256,6 @@ class CefDownloadItemCallbackImpl : public CefDownloadItemCallback {
|
||||
uint32 download_id_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefDownloadItemCallbackImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDownloadItemCallbackImpl);
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
@@ -24,6 +24,11 @@ class CefDownloadManagerDelegate : public download::DownloadItem::Observer,
|
||||
public CefBrowserHostBase::Observer {
|
||||
public:
|
||||
explicit CefDownloadManagerDelegate(content::DownloadManager* manager);
|
||||
|
||||
CefDownloadManagerDelegate(const CefDownloadManagerDelegate&) = delete;
|
||||
CefDownloadManagerDelegate& operator=(const CefDownloadManagerDelegate&) =
|
||||
delete;
|
||||
|
||||
~CefDownloadManagerDelegate() override;
|
||||
|
||||
private:
|
||||
@@ -55,11 +60,9 @@ class CefDownloadManagerDelegate : public download::DownloadItem::Observer,
|
||||
// Map of DownloadItem to originating AlloyBrowserHostImpl. Maintaining this
|
||||
// map is necessary because DownloadItem::GetWebContents() may return NULL if
|
||||
// the browser navigates while the download is in progress.
|
||||
typedef std::map<download::DownloadItem*, AlloyBrowserHostImpl*>
|
||||
ItemBrowserMap;
|
||||
using ItemBrowserMap =
|
||||
std::map<download::DownloadItem*, AlloyBrowserHostImpl*>;
|
||||
ItemBrowserMap item_browser_map_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefDownloadManagerDelegate);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_DOWNLOAD_MANAGER_DELEGATE_H_
|
||||
|
@@ -23,6 +23,9 @@ class CefExtensionImpl : public CefExtension {
|
||||
CefRequestContext* loader_context,
|
||||
CefRefPtr<CefExtensionHandler> handler);
|
||||
|
||||
CefExtensionImpl(const CefExtensionImpl&) = delete;
|
||||
CefExtensionImpl& operator=(const CefExtensionImpl&) = delete;
|
||||
|
||||
// CefExtension methods.
|
||||
CefString GetIdentifier() override;
|
||||
CefString GetPath() override;
|
||||
@@ -52,7 +55,6 @@ class CefExtensionImpl : public CefExtension {
|
||||
bool unloaded_ = false;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefExtensionImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionImpl);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_EXTENSION_IMPL_H_
|
||||
|
@@ -9,7 +9,6 @@
|
||||
#include <memory>
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "extensions/browser/api/storage/settings_storage_quota_enforcer.h"
|
||||
#include "extensions/browser/api/storage/value_store_cache.h"
|
||||
@@ -28,6 +27,10 @@ class SyncValueStoreCache : public ValueStoreCache {
|
||||
public:
|
||||
explicit SyncValueStoreCache(
|
||||
scoped_refptr<value_store::ValueStoreFactory> factory);
|
||||
|
||||
SyncValueStoreCache(const SyncValueStoreCache&) = delete;
|
||||
SyncValueStoreCache& operator=(const SyncValueStoreCache&) = delete;
|
||||
|
||||
~SyncValueStoreCache() override;
|
||||
|
||||
// ValueStoreCache implementation:
|
||||
@@ -50,8 +53,6 @@ class SyncValueStoreCache : public ValueStoreCache {
|
||||
|
||||
// The collection of ValueStores for local storage.
|
||||
StorageMap storage_map_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(SyncValueStoreCache);
|
||||
};
|
||||
|
||||
} // namespace cef
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#include <map>
|
||||
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/macros.h"
|
||||
#include "extensions/browser/component_extension_resource_manager.h"
|
||||
|
||||
namespace webui {
|
||||
@@ -21,6 +20,12 @@ class CefComponentExtensionResourceManager
|
||||
: public ComponentExtensionResourceManager {
|
||||
public:
|
||||
CefComponentExtensionResourceManager();
|
||||
|
||||
CefComponentExtensionResourceManager(
|
||||
const CefComponentExtensionResourceManager&) = delete;
|
||||
CefComponentExtensionResourceManager& operator=(
|
||||
const CefComponentExtensionResourceManager&) = delete;
|
||||
|
||||
~CefComponentExtensionResourceManager() override;
|
||||
|
||||
// Overridden from ComponentExtensionResourceManager:
|
||||
@@ -42,8 +47,6 @@ class CefComponentExtensionResourceManager
|
||||
using TemplateReplacementMap =
|
||||
std::map<std::string, ui::TemplateReplacements>;
|
||||
TemplateReplacementMap template_replacements_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefComponentExtensionResourceManager);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#include <memory>
|
||||
|
||||
#include "base/callback_forward.h"
|
||||
#include "base/macros.h"
|
||||
#include "extensions/browser/extension_host.h"
|
||||
|
||||
class AlloyBrowserHostImpl;
|
||||
@@ -30,6 +29,11 @@ class CefExtensionBackgroundHost : public ExtensionHost {
|
||||
content::WebContents* host_contents,
|
||||
const GURL& url,
|
||||
mojom::ViewType host_type);
|
||||
|
||||
CefExtensionBackgroundHost(const CefExtensionBackgroundHost&) = delete;
|
||||
CefExtensionBackgroundHost& operator=(const CefExtensionBackgroundHost&) =
|
||||
delete;
|
||||
|
||||
~CefExtensionBackgroundHost() override;
|
||||
|
||||
// content::WebContentsDelegate methods:
|
||||
@@ -39,8 +43,6 @@ class CefExtensionBackgroundHost : public ExtensionHost {
|
||||
private:
|
||||
// Callback that will be executed on host deletion.
|
||||
base::OnceClosure deleted_callback_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionBackgroundHost);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -38,6 +38,11 @@ class CefGetExtensionLoadFileCallbackImpl
|
||||
CefExtensionFunctionDetails::LoadFileCallback callback)
|
||||
: file_(file), callback_(std::move(callback)) {}
|
||||
|
||||
CefGetExtensionLoadFileCallbackImpl(
|
||||
const CefGetExtensionLoadFileCallbackImpl&) = delete;
|
||||
CefGetExtensionLoadFileCallbackImpl& operator=(
|
||||
const CefGetExtensionLoadFileCallbackImpl&) = delete;
|
||||
|
||||
~CefGetExtensionLoadFileCallbackImpl() {
|
||||
if (!callback_.is_null()) {
|
||||
// The callback is still pending. Cancel it now.
|
||||
@@ -127,7 +132,6 @@ class CefGetExtensionLoadFileCallbackImpl
|
||||
CefExtensionFunctionDetails::LoadFileCallback callback_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(CefGetExtensionLoadFileCallbackImpl);
|
||||
DISALLOW_COPY_AND_ASSIGN(CefGetExtensionLoadFileCallbackImpl);
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
@@ -10,7 +10,6 @@
|
||||
#include "include/cef_extension.h"
|
||||
|
||||
#include "base/callback_forward.h"
|
||||
#include "base/macros.h"
|
||||
#include "chrome/common/extensions/api/tabs.h"
|
||||
#include "ui/gfx/native_widget_types.h"
|
||||
|
||||
@@ -30,6 +29,11 @@ class CefExtensionFunctionDetails {
|
||||
// Constructs a new ChromeExtensionFunctionDetails instance for |function|.
|
||||
// This instance does not own |function| and must outlive it.
|
||||
explicit CefExtensionFunctionDetails(ExtensionFunction* function);
|
||||
|
||||
CefExtensionFunctionDetails(const CefExtensionFunctionDetails&) = delete;
|
||||
CefExtensionFunctionDetails& operator=(const CefExtensionFunctionDetails&) =
|
||||
delete;
|
||||
|
||||
~CefExtensionFunctionDetails();
|
||||
|
||||
Profile* GetProfile() const;
|
||||
@@ -140,8 +144,6 @@ class CefExtensionFunctionDetails {
|
||||
|
||||
// Verifies correct usage of GetBrowserForTabId* methods.
|
||||
mutable bool get_browser_called_first_time_ = false;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionFunctionDetails);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -5,7 +5,6 @@
|
||||
#ifndef LIBCEF_BROWSER_EXTENSIONS_EXTENSION_HOST_DELEGATE_H_
|
||||
#define LIBCEF_BROWSER_EXTENSIONS_EXTENSION_HOST_DELEGATE_H_
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "extensions/browser/extension_host_delegate.h"
|
||||
|
||||
class AlloyBrowserHostImpl;
|
||||
@@ -15,6 +14,10 @@ namespace extensions {
|
||||
class CefExtensionHostDelegate : public ExtensionHostDelegate {
|
||||
public:
|
||||
explicit CefExtensionHostDelegate(AlloyBrowserHostImpl* browser);
|
||||
|
||||
CefExtensionHostDelegate(const CefExtensionHostDelegate&) = delete;
|
||||
CefExtensionHostDelegate& operator=(const CefExtensionHostDelegate&) = delete;
|
||||
|
||||
~CefExtensionHostDelegate() override;
|
||||
|
||||
// ExtensionHostDelegate implementation.
|
||||
@@ -39,9 +42,6 @@ class CefExtensionHostDelegate : public ExtensionHostDelegate {
|
||||
const viz::SurfaceId& surface_id,
|
||||
const gfx::Size& natural_size) override;
|
||||
void ExitPictureInPicture() override;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionHostDelegate);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -35,6 +35,10 @@ class RendererStartupHelper;
|
||||
class CefExtensionSystem : public ExtensionSystem {
|
||||
public:
|
||||
explicit CefExtensionSystem(content::BrowserContext* browser_context);
|
||||
|
||||
CefExtensionSystem(const CefExtensionSystem&) = delete;
|
||||
CefExtensionSystem& operator=(const CefExtensionSystem&) = delete;
|
||||
|
||||
~CefExtensionSystem() override;
|
||||
|
||||
// Initializes the extension system.
|
||||
@@ -192,8 +196,6 @@ class CefExtensionSystem : public ExtensionSystem {
|
||||
|
||||
// Must be the last member.
|
||||
base::WeakPtrFactory<CefExtensionSystem> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionSystem);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -13,6 +13,10 @@ namespace extensions {
|
||||
// Factory that provides CefExtensionSystem.
|
||||
class CefExtensionSystemFactory : public ExtensionSystemProvider {
|
||||
public:
|
||||
CefExtensionSystemFactory(const CefExtensionSystemFactory&) = delete;
|
||||
CefExtensionSystemFactory& operator=(const CefExtensionSystemFactory&) =
|
||||
delete;
|
||||
|
||||
// ExtensionSystemProvider implementation:
|
||||
ExtensionSystem* GetForBrowserContext(
|
||||
content::BrowserContext* context) override;
|
||||
@@ -31,8 +35,6 @@ class CefExtensionSystemFactory : public ExtensionSystemProvider {
|
||||
content::BrowserContext* GetBrowserContextToUse(
|
||||
content::BrowserContext* context) const override;
|
||||
bool ServiceIsCreatedWithBrowserContext() const override;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionSystemFactory);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -7,9 +7,7 @@
|
||||
#include "libcef/browser/browser_platform_delegate.h"
|
||||
#include "libcef/browser/extensions/extension_host_delegate.h"
|
||||
|
||||
#include "content/public/browser/notification_source.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "extensions/browser/notification_types.h"
|
||||
#include "extensions/browser/process_util.h"
|
||||
#include "third_party/blink/public/common/input/web_gesture_event.h"
|
||||
|
||||
@@ -47,9 +45,8 @@ void CefExtensionViewHost::LoadInitialURL() {
|
||||
browser_context()) ==
|
||||
process_util::PersistentBackgroundPageState::kNotReady) {
|
||||
// Make sure the background page loads before any others.
|
||||
registrar_.Add(this,
|
||||
extensions::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY,
|
||||
content::Source<Extension>(extension()));
|
||||
host_registry_observation_.Observe(
|
||||
ExtensionHostRegistry::Get(browser_context()));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -80,14 +77,22 @@ WebContents* CefExtensionViewHost::GetVisibleWebContents() const {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void CefExtensionViewHost::Observe(
|
||||
int type,
|
||||
const content::NotificationSource& source,
|
||||
const content::NotificationDetails& details) {
|
||||
DCHECK_EQ(type, extensions::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY);
|
||||
void CefExtensionViewHost::OnExtensionHostDocumentElementAvailable(
|
||||
content::BrowserContext* host_browser_context,
|
||||
ExtensionHost* extension_host) {
|
||||
DCHECK(extension_host->extension());
|
||||
if (host_browser_context != browser_context() ||
|
||||
extension_host->extension() != extension() ||
|
||||
extension_host->extension_host_type() !=
|
||||
mojom::ViewType::kExtensionBackgroundPage) {
|
||||
return;
|
||||
}
|
||||
|
||||
DCHECK_EQ(process_util::PersistentBackgroundPageState::kReady,
|
||||
process_util::GetPersistentBackgroundPageState(*extension(),
|
||||
browser_context()));
|
||||
// We only needed to wait for the background page to load, so stop observing.
|
||||
host_registry_observation_.Reset();
|
||||
LoadInitialURL();
|
||||
}
|
||||
|
||||
|
@@ -7,10 +7,9 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "content/public/browser/notification_observer.h"
|
||||
#include "content/public/browser/notification_registrar.h"
|
||||
#include "base/scoped_observation.h"
|
||||
#include "extensions/browser/extension_host.h"
|
||||
#include "extensions/browser/extension_host_registry.h"
|
||||
|
||||
class AlloyBrowserHostImpl;
|
||||
|
||||
@@ -25,13 +24,17 @@ namespace extensions {
|
||||
// page. Object lifespan is managed by AlloyBrowserHostImpl. Based on
|
||||
// chrome/browser/extensions/extension_view_host.h.
|
||||
class CefExtensionViewHost : public ExtensionHost,
|
||||
public content::NotificationObserver {
|
||||
public ExtensionHostRegistry::Observer {
|
||||
public:
|
||||
CefExtensionViewHost(AlloyBrowserHostImpl* browser,
|
||||
const Extension* extension,
|
||||
content::WebContents* host_contents,
|
||||
const GURL& url,
|
||||
mojom::ViewType host_type);
|
||||
|
||||
CefExtensionViewHost(const CefExtensionViewHost&) = delete;
|
||||
CefExtensionViewHost& operator=(const CefExtensionViewHost&) = delete;
|
||||
|
||||
~CefExtensionViewHost() override;
|
||||
|
||||
// ExtensionHost methods:
|
||||
@@ -48,15 +51,15 @@ class CefExtensionViewHost : public ExtensionHost,
|
||||
// extensions::ExtensionFunctionDispatcher::Delegate methods:
|
||||
content::WebContents* GetVisibleWebContents() const override;
|
||||
|
||||
// content::NotificationObserver methods:
|
||||
void Observe(int type,
|
||||
const content::NotificationSource& source,
|
||||
const content::NotificationDetails& details) override;
|
||||
// ExtensionHostRegistry::Observer methods:
|
||||
void OnExtensionHostDocumentElementAvailable(
|
||||
content::BrowserContext* browser_context,
|
||||
ExtensionHost* extension_host) override;
|
||||
|
||||
private:
|
||||
content::NotificationRegistrar registrar_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionViewHost);
|
||||
base::ScopedObservation<ExtensionHostRegistry,
|
||||
ExtensionHostRegistry::Observer>
|
||||
host_registry_observation_{this};
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -19,6 +19,11 @@ class CefExtensionWebContentsObserver
|
||||
: public ExtensionWebContentsObserver,
|
||||
public content::WebContentsUserData<CefExtensionWebContentsObserver> {
|
||||
public:
|
||||
CefExtensionWebContentsObserver(const CefExtensionWebContentsObserver&) =
|
||||
delete;
|
||||
CefExtensionWebContentsObserver& operator=(
|
||||
const CefExtensionWebContentsObserver&) = delete;
|
||||
|
||||
~CefExtensionWebContentsObserver() override;
|
||||
|
||||
// Creates and initializes an instance of this class for the given
|
||||
@@ -38,7 +43,6 @@ class CefExtensionWebContentsObserver
|
||||
std::unique_ptr<ScriptExecutor> script_executor_;
|
||||
|
||||
WEB_CONTENTS_USER_DATA_KEY_DECL();
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionWebContentsObserver);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -52,8 +52,6 @@ void CefExtensionsAPIClient::AttachWebContentsHelpers(
|
||||
PrefsTabHelper::CreateForWebContents(web_contents);
|
||||
printing::CefPrintViewManager::CreateForWebContents(web_contents);
|
||||
|
||||
CefExtensionWebContentsObserver::CreateForWebContents(web_contents);
|
||||
|
||||
// Used by the PDF extension.
|
||||
pdf::PDFWebContentsHelper::CreateForWebContentsWithClient(
|
||||
web_contents, std::unique_ptr<pdf::PDFWebContentsHelperClient>(
|
||||
|
@@ -5,7 +5,6 @@
|
||||
#ifndef CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSIONS_BROWSER_API_PROVIDER_H_
|
||||
#define CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSIONS_BROWSER_API_PROVIDER_H_
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "extensions/browser/extensions_browser_api_provider.h"
|
||||
|
||||
namespace extensions {
|
||||
@@ -13,12 +12,15 @@ namespace extensions {
|
||||
class CefExtensionsBrowserAPIProvider : public ExtensionsBrowserAPIProvider {
|
||||
public:
|
||||
CefExtensionsBrowserAPIProvider();
|
||||
|
||||
CefExtensionsBrowserAPIProvider(const CefExtensionsBrowserAPIProvider&) =
|
||||
delete;
|
||||
CefExtensionsBrowserAPIProvider& operator=(
|
||||
const CefExtensionsBrowserAPIProvider&) = delete;
|
||||
|
||||
~CefExtensionsBrowserAPIProvider() override;
|
||||
|
||||
void RegisterExtensionFunctions(ExtensionFunctionRegistry* registry) override;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionsBrowserAPIProvider);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -18,6 +18,11 @@ class ExtensionsAPIClient;
|
||||
class CefExtensionsBrowserClient : public ExtensionsBrowserClient {
|
||||
public:
|
||||
CefExtensionsBrowserClient();
|
||||
|
||||
CefExtensionsBrowserClient(const CefExtensionsBrowserClient&) = delete;
|
||||
CefExtensionsBrowserClient& operator=(const CefExtensionsBrowserClient&) =
|
||||
delete;
|
||||
|
||||
~CefExtensionsBrowserClient() override;
|
||||
|
||||
// Returns the singleton CefExtensionsBrowserClient instance.
|
||||
@@ -111,8 +116,6 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient {
|
||||
std::unique_ptr<ComponentExtensionResourceManager> resource_manager_;
|
||||
|
||||
std::unique_ptr<KioskDelegate> kiosk_delegate_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionsBrowserClient);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -18,6 +18,12 @@ namespace extensions {
|
||||
class CefMimeHandlerViewGuestDelegate : public MimeHandlerViewGuestDelegate {
|
||||
public:
|
||||
explicit CefMimeHandlerViewGuestDelegate(MimeHandlerViewGuest* guest);
|
||||
|
||||
CefMimeHandlerViewGuestDelegate(const CefMimeHandlerViewGuestDelegate&) =
|
||||
delete;
|
||||
CefMimeHandlerViewGuestDelegate& operator=(
|
||||
const CefMimeHandlerViewGuestDelegate&) = delete;
|
||||
|
||||
~CefMimeHandlerViewGuestDelegate() override;
|
||||
|
||||
// MimeHandlerViewGuestDelegate methods.
|
||||
@@ -31,8 +37,6 @@ class CefMimeHandlerViewGuestDelegate : public MimeHandlerViewGuestDelegate {
|
||||
private:
|
||||
MimeHandlerViewGuest* guest_; // Owns us.
|
||||
content::WebContents* owner_web_contents_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefMimeHandlerViewGuestDelegate);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -5,7 +5,6 @@
|
||||
#ifndef CEF_LIBCEF_BROWSER_EXTENSIONS_PDF_WEB_CONTENTS_HELPER_CLIENT_H_
|
||||
#define CEF_LIBCEF_BROWSER_EXTENSIONS_PDF_WEB_CONTENTS_HELPER_CLIENT_H_
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "components/pdf/browser/pdf_web_contents_helper_client.h"
|
||||
|
||||
namespace extensions {
|
||||
@@ -13,6 +12,11 @@ namespace extensions {
|
||||
class CefPDFWebContentsHelperClient : public pdf::PDFWebContentsHelperClient {
|
||||
public:
|
||||
CefPDFWebContentsHelperClient();
|
||||
|
||||
CefPDFWebContentsHelperClient(const CefPDFWebContentsHelperClient&) = delete;
|
||||
CefPDFWebContentsHelperClient& operator=(
|
||||
const CefPDFWebContentsHelperClient&) = delete;
|
||||
|
||||
~CefPDFWebContentsHelperClient() override;
|
||||
|
||||
private:
|
||||
@@ -22,8 +26,6 @@ class CefPDFWebContentsHelperClient : public pdf::PDFWebContentsHelperClient {
|
||||
void OnPDFHasUnsupportedFeature(content::WebContents* contents) override;
|
||||
void OnSaveURL(content::WebContents* contents) override;
|
||||
void SetPluginCanSave(content::WebContents* contents, bool can_save) override;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefPDFWebContentsHelperClient);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#include <vector>
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/macros.h"
|
||||
#include "components/value_store/value_store.h"
|
||||
|
||||
namespace value_store {
|
||||
|
@@ -99,6 +99,9 @@ class UploadFolderHelper
|
||||
CefFileDialogRunner::RunFileChooserCallback callback)
|
||||
: callback_(std::move(callback)) {}
|
||||
|
||||
UploadFolderHelper(const UploadFolderHelper&) = delete;
|
||||
UploadFolderHelper& operator=(const UploadFolderHelper&) = delete;
|
||||
|
||||
~UploadFolderHelper() override {
|
||||
if (!callback_.is_null()) {
|
||||
if (CEF_CURRENTLY_ON_UIT()) {
|
||||
@@ -133,8 +136,6 @@ class UploadFolderHelper
|
||||
|
||||
CefFileDialogRunner::RunFileChooserCallback callback_;
|
||||
std::vector<base::FilePath> select_files_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(UploadFolderHelper);
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
@@ -30,6 +30,10 @@ class CefFileDialogManager {
|
||||
// |runner| may be NULL if the platform doesn't implement dialogs.
|
||||
CefFileDialogManager(AlloyBrowserHostImpl* browser,
|
||||
std::unique_ptr<CefFileDialogRunner> runner);
|
||||
|
||||
CefFileDialogManager(const CefFileDialogManager&) = delete;
|
||||
CefFileDialogManager& operator=(const CefFileDialogManager&) = delete;
|
||||
|
||||
~CefFileDialogManager();
|
||||
|
||||
// Delete the runner to free any platform constructs.
|
||||
@@ -99,8 +103,6 @@ class CefFileDialogManager {
|
||||
|
||||
// Must be the last member.
|
||||
base::WeakPtrFactory<CefFileDialogManager> weak_ptr_factory_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefFileDialogManager);
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_JAVASCRIPT_DIALOG_MANAGER_H_
|
||||
|
@@ -17,6 +17,9 @@ class AlloyBrowserHostImpl;
|
||||
|
||||
class CefFileDialogRunner {
|
||||
public:
|
||||
CefFileDialogRunner(const CefFileDialogRunner&) = delete;
|
||||
CefFileDialogRunner& operator=(const CefFileDialogRunner&) = delete;
|
||||
|
||||
// Extend blink::mojom::FileChooserParams with some options unique to CEF.
|
||||
struct FileChooserParams : public blink::mojom::FileChooserParams {
|
||||
// 0-based index of the selected value in |accept_types|.
|
||||
@@ -30,8 +33,8 @@ class CefFileDialogRunner {
|
||||
};
|
||||
|
||||
// The argument vector will be empty if the dialog was canceled.
|
||||
typedef base::OnceCallback<void(int, const std::vector<base::FilePath>&)>
|
||||
RunFileChooserCallback;
|
||||
using RunFileChooserCallback =
|
||||
base::OnceCallback<void(int, const std::vector<base::FilePath>&)>;
|
||||
|
||||
// Display the file chooser dialog. Execute |callback| on completion.
|
||||
virtual void Run(AlloyBrowserHostImpl* browser,
|
||||
@@ -42,11 +45,8 @@ class CefFileDialogRunner {
|
||||
// Allow deletion via std::unique_ptr only.
|
||||
friend std::default_delete<CefFileDialogRunner>;
|
||||
|
||||
CefFileDialogRunner() {}
|
||||
virtual ~CefFileDialogRunner() {}
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(CefFileDialogRunner);
|
||||
CefFileDialogRunner() = default;
|
||||
virtual ~CefFileDialogRunner() = default;
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_FILE_DIALOG_RUNNER_H_
|
||||
|
@@ -449,13 +449,12 @@ bool CefFrameHostImpl::Detach() {
|
||||
}
|
||||
|
||||
// In case we never attached, clean up.
|
||||
while (!queued_actions_.empty()) {
|
||||
queued_actions_.pop();
|
||||
while (!queued_renderer_actions_.empty()) {
|
||||
queued_renderer_actions_.pop();
|
||||
}
|
||||
|
||||
render_frame_.reset();
|
||||
render_frame_host_ = nullptr;
|
||||
is_attached_ = false;
|
||||
|
||||
return first_detach;
|
||||
}
|
||||
@@ -464,14 +463,14 @@ void CefFrameHostImpl::MaybeReAttach(
|
||||
scoped_refptr<CefBrowserInfo> browser_info,
|
||||
content::RenderFrameHost* render_frame_host) {
|
||||
CEF_REQUIRE_UIT();
|
||||
if (is_attached_ && render_frame_host_ == render_frame_host) {
|
||||
if (render_frame_.is_bound() && render_frame_host_ == render_frame_host) {
|
||||
// Nothing to do here.
|
||||
return;
|
||||
}
|
||||
|
||||
// We expect that Detach() was called previously.
|
||||
CHECK(!is_temporary());
|
||||
CHECK(!is_attached_);
|
||||
CHECK(!render_frame_.is_bound());
|
||||
CHECK(!render_frame_host_);
|
||||
|
||||
// The RFH may change but the GlobalId should remain the same.
|
||||
@@ -486,8 +485,7 @@ void CefFrameHostImpl::MaybeReAttach(
|
||||
render_frame_host_ = render_frame_host;
|
||||
RefreshAttributes();
|
||||
|
||||
// Restore the RenderFrame connection.
|
||||
FrameAttachedInternal(/*reattached=*/true);
|
||||
// We expect a reconnect to be triggered via FrameAttached().
|
||||
}
|
||||
|
||||
// kMainFrameId must be -1 to align with renderer expectations.
|
||||
@@ -517,20 +515,6 @@ CefRefPtr<CefBrowserHostBase> CefFrameHostImpl::GetBrowserHostBase() const {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const mojo::Remote<cef::mojom::RenderFrame>&
|
||||
CefFrameHostImpl::GetRenderFrame() {
|
||||
CEF_REQUIRE_UIT();
|
||||
DCHECK(is_attached_);
|
||||
|
||||
if (!render_frame_.is_bound() && render_frame_host_ &&
|
||||
render_frame_host_->GetRemoteInterfaces()) {
|
||||
// Connects to a CefFrameImpl that already exists in the renderer process.
|
||||
render_frame_host_->GetRemoteInterfaces()->GetInterface(
|
||||
render_frame_.BindNewPipeAndPassReceiver());
|
||||
}
|
||||
return render_frame_;
|
||||
}
|
||||
|
||||
void CefFrameHostImpl::SendToRenderFrame(const std::string& function_name,
|
||||
RenderFrameAction action) {
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
@@ -553,18 +537,22 @@ void CefFrameHostImpl::SendToRenderFrame(const std::string& function_name,
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_attached_) {
|
||||
if (!render_frame_.is_bound()) {
|
||||
// Queue actions until we're notified by the renderer that it's ready to
|
||||
// handle them.
|
||||
queued_actions_.push(std::make_pair(function_name, std::move(action)));
|
||||
queued_renderer_actions_.push(
|
||||
std::make_pair(function_name, std::move(action)));
|
||||
return;
|
||||
}
|
||||
|
||||
auto& render_frame = GetRenderFrame();
|
||||
if (!render_frame)
|
||||
return;
|
||||
std::move(action).Run(render_frame_);
|
||||
}
|
||||
|
||||
std::move(action).Run(render_frame);
|
||||
void CefFrameHostImpl::OnRenderFrameDisconnect() {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
// Reconnect, if any, will be triggered via FrameAttached().
|
||||
render_frame_.reset();
|
||||
}
|
||||
|
||||
void CefFrameHostImpl::SendMessage(const std::string& name,
|
||||
@@ -581,12 +569,11 @@ void CefFrameHostImpl::SendMessage(const std::string& name,
|
||||
}
|
||||
}
|
||||
|
||||
void CefFrameHostImpl::FrameAttached() {
|
||||
FrameAttachedInternal(/*reattached=*/false);
|
||||
}
|
||||
|
||||
void CefFrameHostImpl::FrameAttachedInternal(bool reattached) {
|
||||
void CefFrameHostImpl::FrameAttached(
|
||||
mojo::PendingRemote<cef::mojom::RenderFrame> render_frame_remote,
|
||||
bool reattached) {
|
||||
CEF_REQUIRE_UIT();
|
||||
CHECK(render_frame_remote);
|
||||
|
||||
auto browser_info = GetBrowserInfo();
|
||||
if (!browser_info) {
|
||||
@@ -594,27 +581,32 @@ void CefFrameHostImpl::FrameAttachedInternal(bool reattached) {
|
||||
return;
|
||||
}
|
||||
|
||||
DCHECK(!is_attached_);
|
||||
if (!is_attached_) {
|
||||
is_attached_ = true;
|
||||
|
||||
auto& render_frame = GetRenderFrame();
|
||||
while (!queued_actions_.empty()) {
|
||||
if (render_frame) {
|
||||
std::move(queued_actions_.front().second).Run(render_frame);
|
||||
}
|
||||
queued_actions_.pop();
|
||||
}
|
||||
|
||||
browser_info->MaybeExecuteFrameNotification(base::BindOnce(
|
||||
[](CefRefPtr<CefFrameHostImpl> self, bool reattached,
|
||||
CefRefPtr<CefFrameHandler> handler) {
|
||||
if (auto browser = self->GetBrowserHostBase()) {
|
||||
handler->OnFrameAttached(browser, self, reattached);
|
||||
}
|
||||
},
|
||||
CefRefPtr<CefFrameHostImpl>(this), reattached));
|
||||
if (reattached) {
|
||||
LOG(INFO) << (is_main_frame_ ? "main" : "sub") << "frame "
|
||||
<< frame_util::GetFrameDebugString(frame_id_)
|
||||
<< " has reconnected";
|
||||
}
|
||||
|
||||
render_frame_.Bind(std::move(render_frame_remote));
|
||||
render_frame_.set_disconnect_handler(
|
||||
base::BindOnce(&CefFrameHostImpl::OnRenderFrameDisconnect, this));
|
||||
|
||||
// Notify the renderer process that it can start sending messages.
|
||||
render_frame_->FrameAttachedAck();
|
||||
|
||||
while (!queued_renderer_actions_.empty()) {
|
||||
std::move(queued_renderer_actions_.front().second).Run(render_frame_);
|
||||
queued_renderer_actions_.pop();
|
||||
}
|
||||
|
||||
browser_info->MaybeExecuteFrameNotification(base::BindOnce(
|
||||
[](CefRefPtr<CefFrameHostImpl> self, bool reattached,
|
||||
CefRefPtr<CefFrameHandler> handler) {
|
||||
if (auto browser = self->GetBrowserHostBase()) {
|
||||
handler->OnFrameAttached(browser, self, reattached);
|
||||
}
|
||||
},
|
||||
CefRefPtr<CefFrameHostImpl>(this), reattached));
|
||||
}
|
||||
|
||||
void CefFrameHostImpl::DidFinishFrameLoad(const GURL& validated_url,
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user