mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium version 128.0.6613.0 (#1331488)
This commit is contained in:
@@ -1275,16 +1275,15 @@ void CefBrowserHostBase::RunSelectFile(
|
||||
const ui::SelectFileDialog::FileTypeInfo* file_types,
|
||||
int file_type_index,
|
||||
const base::FilePath::StringType& default_extension,
|
||||
gfx::NativeWindow owning_window,
|
||||
void* params) {
|
||||
gfx::NativeWindow owning_window) {
|
||||
if (!EnsureFileDialogManager()) {
|
||||
LOG(ERROR) << "File dialog canceled due to invalid state.";
|
||||
listener->FileSelectionCanceled(params);
|
||||
listener->FileSelectionCanceled();
|
||||
return;
|
||||
}
|
||||
file_dialog_manager_->RunSelectFile(listener, std::move(policy), type, title,
|
||||
default_path, file_types, file_type_index,
|
||||
default_extension, owning_window, params);
|
||||
default_extension, owning_window);
|
||||
}
|
||||
|
||||
void CefBrowserHostBase::SelectFileListenerDestroyed(
|
||||
|
@@ -330,8 +330,7 @@ class CefBrowserHostBase : public CefBrowserHost,
|
||||
const ui::SelectFileDialog::FileTypeInfo* file_types,
|
||||
int file_type_index,
|
||||
const base::FilePath::StringType& default_extension,
|
||||
gfx::NativeWindow owning_window,
|
||||
void* params);
|
||||
gfx::NativeWindow owning_window);
|
||||
void SelectFileListenerDestroyed(ui::SelectFileDialog::Listener* listener);
|
||||
|
||||
// Called from AlloyBrowserHostImpl::GetJavaScriptDialogManager and
|
||||
|
@@ -203,9 +203,8 @@ class CefFileSelectListener : public content::FileSelectListener {
|
||||
class CefSelectFileDialogListener : public ui::SelectFileDialog::Listener {
|
||||
public:
|
||||
CefSelectFileDialogListener(ui::SelectFileDialog::Listener* listener,
|
||||
void* params,
|
||||
base::OnceClosure callback)
|
||||
: listener_(listener), params_(params), callback_(std::move(callback)) {}
|
||||
: listener_(listener), callback_(std::move(callback)) {}
|
||||
|
||||
CefSelectFileDialogListener(const CefSelectFileDialogListener&) = delete;
|
||||
CefSelectFileDialogListener& operator=(const CefSelectFileDialogListener&) =
|
||||
@@ -220,7 +219,7 @@ class CefSelectFileDialogListener : public ui::SelectFileDialog::Listener {
|
||||
// Don't execute the listener.
|
||||
Destroy();
|
||||
} else {
|
||||
FileSelectionCanceled(params_);
|
||||
FileSelectionCanceled();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,27 +228,22 @@ class CefSelectFileDialogListener : public ui::SelectFileDialog::Listener {
|
||||
private:
|
||||
~CefSelectFileDialogListener() override = default;
|
||||
|
||||
void FileSelected(const ui::SelectedFileInfo& file,
|
||||
int index,
|
||||
void* params) override {
|
||||
DCHECK_EQ(params, params_);
|
||||
void FileSelected(const ui::SelectedFileInfo& file, int index) override {
|
||||
executing_ = true;
|
||||
listener_.ExtractAsDangling()->FileSelected(file, index, params);
|
||||
listener_.ExtractAsDangling()->FileSelected(file, index);
|
||||
Destroy();
|
||||
}
|
||||
|
||||
void MultiFilesSelected(const std::vector<ui::SelectedFileInfo>& files,
|
||||
void* params) override {
|
||||
DCHECK_EQ(params, params_);
|
||||
void MultiFilesSelected(
|
||||
const std::vector<ui::SelectedFileInfo>& files) override {
|
||||
executing_ = true;
|
||||
listener_.ExtractAsDangling()->MultiFilesSelected(files, params);
|
||||
listener_.ExtractAsDangling()->MultiFilesSelected(files);
|
||||
Destroy();
|
||||
}
|
||||
|
||||
void FileSelectionCanceled(void* params) override {
|
||||
DCHECK_EQ(params, params_);
|
||||
void FileSelectionCanceled() override {
|
||||
executing_ = true;
|
||||
listener_.ExtractAsDangling()->FileSelectionCanceled(params);
|
||||
listener_.ExtractAsDangling()->FileSelectionCanceled();
|
||||
Destroy();
|
||||
}
|
||||
|
||||
@@ -259,7 +253,6 @@ class CefSelectFileDialogListener : public ui::SelectFileDialog::Listener {
|
||||
}
|
||||
|
||||
raw_ptr<ui::SelectFileDialog::Listener> listener_;
|
||||
const raw_ptr<void> params_;
|
||||
base::OnceClosure callback_;
|
||||
|
||||
// Used to avoid re-entrancy from Cancel().
|
||||
@@ -378,18 +371,16 @@ void CefFileDialogManager::RunSelectFile(
|
||||
const ui::SelectFileDialog::FileTypeInfo* file_types,
|
||||
int file_type_index,
|
||||
const base::FilePath::StringType& default_extension,
|
||||
gfx::NativeWindow owning_window,
|
||||
void* params) {
|
||||
gfx::NativeWindow owning_window) {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
active_listeners_.insert(listener);
|
||||
|
||||
auto chooser_params =
|
||||
SelectFileToFileChooserParams(type, title, default_path, file_types);
|
||||
auto callback =
|
||||
base::BindOnce(&CefFileDialogManager::SelectFileDoneByDelegateCallback,
|
||||
weak_ptr_factory_.GetWeakPtr(),
|
||||
base::UnsafeDangling(listener), base::Unretained(params));
|
||||
auto callback = base::BindOnce(
|
||||
&CefFileDialogManager::SelectFileDoneByDelegateCallback,
|
||||
weak_ptr_factory_.GetWeakPtr(), base::UnsafeDangling(listener));
|
||||
callback = MaybeRunDelegate(chooser_params, file_types->extensions,
|
||||
file_types->extension_description_overrides,
|
||||
std::move(callback));
|
||||
@@ -423,7 +414,7 @@ void CefFileDialogManager::RunSelectFile(
|
||||
|
||||
// This object will delete itself.
|
||||
dialog_listener_ = new CefSelectFileDialogListener(
|
||||
listener, params,
|
||||
listener,
|
||||
base::BindOnce(&CefFileDialogManager::SelectFileDoneByListenerCallback,
|
||||
weak_ptr_factory_.GetWeakPtr(),
|
||||
base::UnsafeDangling(listener),
|
||||
@@ -442,7 +433,7 @@ void CefFileDialogManager::RunSelectFile(
|
||||
}
|
||||
|
||||
dialog_->SelectFile(type, title, default_path, file_types, file_type_index,
|
||||
default_extension, owning_window, params);
|
||||
default_extension, owning_window);
|
||||
}
|
||||
|
||||
void CefFileDialogManager::SelectFileListenerDestroyed(
|
||||
@@ -549,7 +540,6 @@ CefFileDialogManager::MaybeRunDelegate(
|
||||
|
||||
void CefFileDialogManager::SelectFileDoneByDelegateCallback(
|
||||
MayBeDangling<ui::SelectFileDialog::Listener> listener,
|
||||
void* params,
|
||||
const std::vector<base::FilePath>& paths) {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
@@ -562,12 +552,11 @@ void CefFileDialogManager::SelectFileDoneByDelegateCallback(
|
||||
active_listeners_.erase(listener.get());
|
||||
|
||||
if (paths.empty()) {
|
||||
listener->FileSelectionCanceled(params);
|
||||
listener->FileSelectionCanceled();
|
||||
} else if (paths.size() == 1) {
|
||||
listener->FileSelected(ui::SelectedFileInfo(paths[0]), /*index=*/0, params);
|
||||
listener->FileSelected(ui::SelectedFileInfo(paths[0]), /*index=*/0);
|
||||
} else {
|
||||
listener->MultiFilesSelected(ui::FilePathListToSelectedFileInfoList(paths),
|
||||
params);
|
||||
listener->MultiFilesSelected(ui::FilePathListToSelectedFileInfoList(paths));
|
||||
}
|
||||
// |listener| is likely deleted at this point.
|
||||
}
|
||||
|
@@ -66,8 +66,7 @@ class CefFileDialogManager {
|
||||
const ui::SelectFileDialog::FileTypeInfo* file_types,
|
||||
int file_type_index,
|
||||
const base::FilePath::StringType& default_extension,
|
||||
gfx::NativeWindow owning_window,
|
||||
void* params);
|
||||
gfx::NativeWindow owning_window);
|
||||
|
||||
// Must be called when the |listener| passed to RunSelectFile is destroyed.
|
||||
void SelectFileListenerDestroyed(ui::SelectFileDialog::Listener* listener);
|
||||
@@ -83,7 +82,6 @@ class CefFileDialogManager {
|
||||
|
||||
void SelectFileDoneByDelegateCallback(
|
||||
MayBeDangling<ui::SelectFileDialog::Listener> listener,
|
||||
void* params,
|
||||
const std::vector<base::FilePath>& paths);
|
||||
void SelectFileDoneByListenerCallback(
|
||||
MayBeDangling<ui::SelectFileDialog::Listener> listener,
|
||||
|
@@ -57,7 +57,6 @@ class CefSelectFileDialog final : public ui::SelectFileDialog {
|
||||
int file_type_index,
|
||||
const base::FilePath::StringType& default_extension,
|
||||
gfx::NativeWindow owning_window,
|
||||
void* params,
|
||||
const GURL* caller) override {
|
||||
// Try to determine the associated browser (with decreasing levels of
|
||||
// confidence).
|
||||
@@ -100,7 +99,7 @@ class CefSelectFileDialog final : public ui::SelectFileDialog {
|
||||
if (!browser_) {
|
||||
LOG(ERROR)
|
||||
<< "Failed to identify associated browser; canceling the file dialog";
|
||||
listener_->FileSelectionCanceled(params);
|
||||
listener_->FileSelectionCanceled();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -110,7 +109,7 @@ class CefSelectFileDialog final : public ui::SelectFileDialog {
|
||||
|
||||
browser_->RunSelectFile(listener_, std::move(select_file_policy_), type,
|
||||
title, default_path, file_types, file_type_index,
|
||||
default_extension, owning_window, params);
|
||||
default_extension, owning_window);
|
||||
}
|
||||
|
||||
bool IsRunning(gfx::NativeWindow owning_window) const override {
|
||||
|
@@ -141,7 +141,7 @@ ui::MouseEvent CefBrowserPlatformDelegateNativeAura::TranslateUiClickEvent(
|
||||
DCHECK_GE(clickCount, 1);
|
||||
|
||||
ui::EventType event_type =
|
||||
mouseUp ? ui::ET_MOUSE_RELEASED : ui::ET_MOUSE_PRESSED;
|
||||
mouseUp ? ui::EventType::kMouseReleased : ui::EventType::kMousePressed;
|
||||
gfx::PointF location(mouse_event.x, mouse_event.y);
|
||||
gfx::PointF root_location(GetScreenPoint(
|
||||
gfx::Point(mouse_event.x, mouse_event.y), /*want_dip_coords=*/false));
|
||||
@@ -173,7 +173,7 @@ ui::MouseEvent CefBrowserPlatformDelegateNativeAura::TranslateUiMoveEvent(
|
||||
const CefMouseEvent& mouse_event,
|
||||
bool mouseLeave) const {
|
||||
ui::EventType event_type =
|
||||
mouseLeave ? ui::ET_MOUSE_EXITED : ui::ET_MOUSE_MOVED;
|
||||
mouseLeave ? ui::EventType::kMouseExited : ui::EventType::kMouseMoved;
|
||||
gfx::PointF location(mouse_event.x, mouse_event.y);
|
||||
gfx::PointF root_location(GetScreenPoint(
|
||||
gfx::Point(mouse_event.x, mouse_event.y), /*want_dip_coords=*/false));
|
||||
@@ -194,7 +194,6 @@ ui::MouseWheelEvent CefBrowserPlatformDelegateNativeAura::TranslateUiWheelEvent(
|
||||
int deltaX,
|
||||
int deltaY) const {
|
||||
gfx::Vector2d offset(GetUiWheelEventOffset(deltaX, deltaY));
|
||||
DCHECK(!offset.IsZero());
|
||||
|
||||
gfx::PointF location(mouse_event.x, mouse_event.y);
|
||||
gfx::PointF root_location(GetScreenPoint(
|
||||
|
@@ -263,14 +263,14 @@ ui::KeyEvent CefBrowserPlatformDelegateNativeLinux::TranslateUiKeyEvent(
|
||||
time_stamp);
|
||||
}
|
||||
|
||||
ui::EventType type = ui::ET_UNKNOWN;
|
||||
ui::EventType type = ui::EventType::kUnknown;
|
||||
switch (key_event.type) {
|
||||
case KEYEVENT_RAWKEYDOWN:
|
||||
case KEYEVENT_KEYDOWN:
|
||||
type = ui::ET_KEY_PRESSED;
|
||||
type = ui::EventType::kKeyPressed;
|
||||
break;
|
||||
case KEYEVENT_KEYUP:
|
||||
type = ui::ET_KEY_RELEASED;
|
||||
type = ui::EventType::kKeyReleased;
|
||||
break;
|
||||
default:
|
||||
DCHECK(false);
|
||||
|
@@ -440,14 +440,14 @@ ui::KeyEvent CefBrowserPlatformDelegateNativeWin::TranslateUiKeyEvent(
|
||||
key_code, dom_code, flags, time_stamp);
|
||||
}
|
||||
|
||||
ui::EventType type = ui::ET_UNKNOWN;
|
||||
ui::EventType type = ui::EventType::kUnknown;
|
||||
switch (key_event.type) {
|
||||
case KEYEVENT_RAWKEYDOWN:
|
||||
case KEYEVENT_KEYDOWN:
|
||||
type = ui::ET_KEY_PRESSED;
|
||||
type = ui::EventType::kKeyPressed;
|
||||
break;
|
||||
case KEYEVENT_KEYUP:
|
||||
type = ui::ET_KEY_RELEASED;
|
||||
type = ui::EventType::kKeyReleased;
|
||||
break;
|
||||
default:
|
||||
DCHECK(false);
|
||||
|
@@ -6,6 +6,7 @@
|
||||
|
||||
#include <queue>
|
||||
|
||||
#include "base/containers/span.h"
|
||||
#include "base/logging.h"
|
||||
#include "mojo/public/cpp/system/simple_watcher.h"
|
||||
#include "mojo/public/cpp/system/string_data_source.h"
|
||||
@@ -92,10 +93,9 @@ bool ResponseFilterWrapper::CreateOutputHandle(
|
||||
|
||||
void ResponseFilterWrapper::OnSourceReadable(MojoResult,
|
||||
const mojo::HandleSignalsState&) {
|
||||
const void* buffer = nullptr;
|
||||
size_t read_bytes = 0;
|
||||
MojoResult result = source_handle_->BeginReadData(&buffer, &read_bytes,
|
||||
MOJO_READ_DATA_FLAG_NONE);
|
||||
base::span<const uint8_t> buffer;
|
||||
MojoResult result =
|
||||
source_handle_->BeginReadData(MOJO_READ_DATA_FLAG_NONE, buffer);
|
||||
if (result == MOJO_RESULT_SHOULD_WAIT) {
|
||||
source_watcher_.ArmOrNotify();
|
||||
return;
|
||||
@@ -107,14 +107,15 @@ void ResponseFilterWrapper::OnSourceReadable(MojoResult,
|
||||
return;
|
||||
}
|
||||
|
||||
Filter(static_cast<const char*>(buffer), read_bytes);
|
||||
base::span<const char> chars = base::as_chars(buffer);
|
||||
Filter(chars.data(), chars.size());
|
||||
if (last_status_ == RESPONSE_FILTER_ERROR) {
|
||||
// Something went wrong.
|
||||
Drain(false);
|
||||
return;
|
||||
}
|
||||
|
||||
source_handle_->EndReadData(read_bytes);
|
||||
source_handle_->EndReadData(buffer.size());
|
||||
source_watcher_.ArmOrNotify();
|
||||
}
|
||||
|
||||
|
@@ -14,8 +14,8 @@
|
||||
#include "cef/libcef/browser/osr/web_contents_view_osr.h"
|
||||
#include "cef/libcef/browser/views/view_util.h"
|
||||
#include "cef/libcef/common/drag_data_impl.h"
|
||||
#include "components/input/render_widget_host_input_event_router.h"
|
||||
#include "content/browser/web_contents/web_contents_impl.h"
|
||||
#include "content/common/input/render_widget_host_input_event_router.h"
|
||||
#include "content/public/browser/render_view_host.h"
|
||||
#include "ui/display/screen.h"
|
||||
#include "ui/events/base_event_utils.h"
|
||||
|
@@ -22,6 +22,8 @@
|
||||
#include "cef/libcef/browser/osr/touch_selection_controller_client_osr.h"
|
||||
#include "cef/libcef/browser/osr/video_consumer_osr.h"
|
||||
#include "cef/libcef/browser/thread_util.h"
|
||||
#include "components/input/cursor_manager.h"
|
||||
#include "components/input/render_widget_host_input_event_router.h"
|
||||
#include "components/viz/common/features.h"
|
||||
#include "components/viz/common/frame_sinks/begin_frame_args.h"
|
||||
#include "components/viz/common/frame_sinks/copy_output_request.h"
|
||||
@@ -37,8 +39,6 @@
|
||||
#include "content/browser/renderer_host/render_widget_host_delegate.h"
|
||||
#include "content/browser/renderer_host/render_widget_host_impl.h"
|
||||
#include "content/common/content_switches_internal.h"
|
||||
#include "content/common/input/cursor_manager.h"
|
||||
#include "content/common/input/render_widget_host_input_event_router.h"
|
||||
#include "content/public/browser/browser_task_traits.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "content/public/browser/context_factory.h"
|
||||
@@ -261,7 +261,7 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR(
|
||||
render_widget_host_impl->SetCompositorForFlingScheduler(compositor_.get());
|
||||
}
|
||||
|
||||
cursor_manager_ = std::make_unique<content::CursorManager>(this);
|
||||
cursor_manager_ = std::make_unique<input::CursorManager>(this);
|
||||
|
||||
// This may result in a call to GetFrameSinkId().
|
||||
render_widget_host_->SetView(this);
|
||||
@@ -660,7 +660,7 @@ void CefRenderWidgetHostViewOSR::InitAsPopup(
|
||||
|
||||
void CefRenderWidgetHostViewOSR::UpdateCursor(const ui::Cursor& cursor) {}
|
||||
|
||||
content::CursorManager* CefRenderWidgetHostViewOSR::GetCursorManager() {
|
||||
input::CursorManager* CefRenderWidgetHostViewOSR::GetCursorManager() {
|
||||
return cursor_manager_.get();
|
||||
}
|
||||
|
||||
@@ -961,7 +961,7 @@ CefRenderWidgetHostViewOSR::CreateSyntheticGestureTarget() {
|
||||
|
||||
bool CefRenderWidgetHostViewOSR::TransformPointToCoordSpaceForView(
|
||||
const gfx::PointF& point,
|
||||
RenderWidgetHostViewInput* target_view,
|
||||
input::RenderWidgetHostViewInput* target_view,
|
||||
gfx::PointF* transformed_point) {
|
||||
if (target_view == this) {
|
||||
*transformed_point = point;
|
||||
@@ -1203,13 +1203,7 @@ void CefRenderWidgetHostViewOSR::SendKeyEvent(
|
||||
|
||||
if (target_host && target_host->GetView()) {
|
||||
// Direct routing requires that events go directly to the View.
|
||||
target_host->ForwardKeyboardEventWithLatencyInfo(
|
||||
event,
|
||||
ui::LatencyInfo(event.GetType() == blink::WebInputEvent::Type::kChar ||
|
||||
event.GetType() ==
|
||||
blink::WebInputEvent::Type::kRawKeyDown
|
||||
? ui::SourceEventType::KEY_PRESS
|
||||
: ui::SourceEventType::OTHER));
|
||||
target_host->ForwardKeyboardEventWithLatencyInfo(event, ui::LatencyInfo());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1272,11 +1266,10 @@ void CefRenderWidgetHostViewOSR::SendMouseEvent(
|
||||
// forwards it to RenderWidgetTargeter::FindTargetAndDispatch as a const
|
||||
// reference, so const_cast here is safe.
|
||||
render_widget_host_->delegate()->GetInputEventRouter()->RouteMouseEvent(
|
||||
this, const_cast<blink::WebMouseEvent*>(&event),
|
||||
ui::LatencyInfo(ui::SourceEventType::OTHER));
|
||||
this, const_cast<blink::WebMouseEvent*>(&event), ui::LatencyInfo());
|
||||
} else {
|
||||
render_widget_host_->GetView()->ProcessMouseEvent(
|
||||
event, ui::LatencyInfo(ui::SourceEventType::OTHER));
|
||||
render_widget_host_->GetView()->ProcessMouseEvent(event,
|
||||
ui::LatencyInfo());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1355,10 +1348,10 @@ void CefRenderWidgetHostViewOSR::SendMouseWheelEvent(
|
||||
->GetInputEventRouter()
|
||||
->RouteMouseWheelEvent(
|
||||
this, const_cast<blink::WebMouseWheelEvent*>(&mouse_wheel_event),
|
||||
ui::LatencyInfo(ui::SourceEventType::WHEEL));
|
||||
ui::LatencyInfo());
|
||||
} else {
|
||||
render_widget_host_->GetView()->ProcessMouseWheelEvent(
|
||||
mouse_wheel_event, ui::LatencyInfo(ui::SourceEventType::WHEEL));
|
||||
render_widget_host_->GetView()->ProcessMouseWheelEvent(mouse_wheel_event,
|
||||
ui::LatencyInfo());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1505,9 +1498,9 @@ void CefRenderWidgetHostViewOSR::ProcessAckedTouchEvent(
|
||||
|
||||
void CefRenderWidgetHostViewOSR::OnGestureEvent(
|
||||
const ui::GestureEventData& gesture) {
|
||||
if ((gesture.type() == ui::ET_GESTURE_PINCH_BEGIN ||
|
||||
gesture.type() == ui::ET_GESTURE_PINCH_UPDATE ||
|
||||
gesture.type() == ui::ET_GESTURE_PINCH_END) &&
|
||||
if ((gesture.type() == ui::EventType::kGesturePinchBegin ||
|
||||
gesture.type() == ui::EventType::kGesturePinchUpdate ||
|
||||
gesture.type() == ui::EventType::kGesturePinchEnd) &&
|
||||
!pinch_zoom_enabled_) {
|
||||
return;
|
||||
}
|
||||
@@ -1525,8 +1518,8 @@ void CefRenderWidgetHostViewOSR::OnGestureEvent(
|
||||
render_widget_host_->delegate()->GetInputEventRouter()->RouteGestureEvent(
|
||||
this, &web_event, latency_info);
|
||||
} else {
|
||||
render_widget_host_->ForwardGestureEventWithLatencyInfo(web_event,
|
||||
latency_info);
|
||||
render_widget_host_->GetRenderInputRouter()
|
||||
->ForwardGestureEventWithLatencyInfo(web_event, latency_info);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -52,7 +52,6 @@ class TouchSelectionController;
|
||||
|
||||
namespace content {
|
||||
class BackingStore;
|
||||
class CursorManager;
|
||||
class DelegatedFrameHost;
|
||||
class DelegatedFrameHostClient;
|
||||
class RenderWidgetHost;
|
||||
@@ -60,6 +59,10 @@ class RenderWidgetHostImpl;
|
||||
class RenderWidgetHostViewGuest;
|
||||
} // namespace content
|
||||
|
||||
namespace input {
|
||||
class CursorManager;
|
||||
}
|
||||
|
||||
class CefCopyFrameGenerator;
|
||||
class CefSoftwareOutputDeviceOSR;
|
||||
class CefTouchSelectionControllerClientOSR;
|
||||
@@ -164,7 +167,7 @@ class CefRenderWidgetHostViewOSR
|
||||
void RenderProcessGone() override;
|
||||
void Destroy() override;
|
||||
void UpdateTooltipUnderCursor(const std::u16string& tooltip_text) override;
|
||||
content::CursorManager* GetCursorManager() override;
|
||||
input::CursorManager* GetCursorManager() override;
|
||||
gfx::Size GetCompositorViewportPixelSize() override;
|
||||
void CopyFromSurface(
|
||||
const gfx::Rect& src_rect,
|
||||
@@ -188,7 +191,7 @@ class CefRenderWidgetHostViewOSR
|
||||
CreateSyntheticGestureTarget() override;
|
||||
bool TransformPointToCoordSpaceForView(
|
||||
const gfx::PointF& point,
|
||||
RenderWidgetHostViewInput* target_view,
|
||||
input::RenderWidgetHostViewInput* target_view,
|
||||
gfx::PointF* transformed_point) override;
|
||||
void DidNavigate() override;
|
||||
void SelectionChanged(const std::u16string& text,
|
||||
@@ -396,7 +399,7 @@ class CefRenderWidgetHostViewOSR
|
||||
parent_local_surface_id_allocator_;
|
||||
viz::ParentLocalSurfaceIdAllocator compositor_local_surface_id_allocator_;
|
||||
|
||||
std::unique_ptr<content::CursorManager> cursor_manager_;
|
||||
std::unique_ptr<input::CursorManager> cursor_manager_;
|
||||
|
||||
// Provides |source_id| for BeginFrameArgs that we create.
|
||||
viz::StubBeginFrameSource begin_frame_source_;
|
||||
|
@@ -23,15 +23,17 @@ void CefSyntheticGestureTargetOSR::DispatchWebTouchEventToPlatform(
|
||||
void CefSyntheticGestureTargetOSR::DispatchWebMouseWheelEventToPlatform(
|
||||
const blink::WebMouseWheelEvent& web_wheel,
|
||||
const ui::LatencyInfo& latency_info) {
|
||||
render_widget_host()->ForwardWheelEventWithLatencyInfo(web_wheel,
|
||||
latency_info);
|
||||
render_widget_host()
|
||||
->GetRenderInputRouter()
|
||||
->ForwardWheelEventWithLatencyInfo(web_wheel, latency_info);
|
||||
}
|
||||
|
||||
void CefSyntheticGestureTargetOSR::DispatchWebGestureEventToPlatform(
|
||||
const blink::WebGestureEvent& web_gesture,
|
||||
const ui::LatencyInfo& latency_info) {
|
||||
render_widget_host()->ForwardGestureEventWithLatencyInfo(web_gesture,
|
||||
latency_info);
|
||||
render_widget_host()
|
||||
->GetRenderInputRouter()
|
||||
->ForwardGestureEventWithLatencyInfo(web_gesture, latency_info);
|
||||
}
|
||||
|
||||
void CefSyntheticGestureTargetOSR::DispatchWebMouseEventToPlatform(
|
||||
|
@@ -470,7 +470,7 @@ bool CefTouchSelectionControllerClientOSR::IsCommandIdEnabled(
|
||||
case QM_EDITFLAG_CAN_PASTE: {
|
||||
std::u16string result;
|
||||
ui::DataTransferEndpoint data_dst = ui::DataTransferEndpoint(
|
||||
ui::EndpointType::kDefault, /*notify_if_restricted=*/false);
|
||||
ui::EndpointType::kDefault, {.notify_if_restricted = false});
|
||||
ui::Clipboard::GetForCurrentThread()->ReadText(
|
||||
ui::ClipboardBuffer::kCopyPaste, &data_dst, &result);
|
||||
return editable && !result.empty();
|
||||
|
@@ -61,7 +61,6 @@ class CefWebContentsViewOSR : public content::WebContentsView,
|
||||
void SetOverscrollControllerEnabled(bool enabled) override {}
|
||||
void OnCapturerCountChanged() override {}
|
||||
void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override {}
|
||||
void TransferDragSecurityInfo(content::WebContentsView* view) override {}
|
||||
content::BackForwardTransitionAnimationManager*
|
||||
GetBackForwardTransitionAnimationManager() override {
|
||||
return nullptr;
|
||||
|
@@ -131,6 +131,10 @@ class CefPermissionPrompt : public permissions::PermissionPrompt {
|
||||
const override {
|
||||
return {};
|
||||
}
|
||||
std::optional<permissions::feature_params::PermissionElementPromptPosition>
|
||||
GetPromptPosition() const override {
|
||||
return std::nullopt;
|
||||
}
|
||||
bool IsAskPrompt() const override { return true; }
|
||||
|
||||
private:
|
||||
|
@@ -41,12 +41,14 @@ const char* GetTypeString(base::Value::Type type) {
|
||||
} // namespace
|
||||
|
||||
bool HasPreference(PrefService* pref_service, const CefString& name) {
|
||||
return (pref_service->FindPreference(name) != nullptr);
|
||||
return (pref_service->FindPreference(std::string_view(name.ToString())) !=
|
||||
nullptr);
|
||||
}
|
||||
|
||||
CefRefPtr<CefValue> GetPreference(PrefService* pref_service,
|
||||
const CefString& name) {
|
||||
const PrefService::Preference* pref = pref_service->FindPreference(name);
|
||||
const PrefService::Preference* pref =
|
||||
pref_service->FindPreference(std::string_view(name.ToString()));
|
||||
if (!pref) {
|
||||
return nullptr;
|
||||
}
|
||||
@@ -65,7 +67,8 @@ CefRefPtr<CefDictionaryValue> GetAllPreferences(PrefService* pref_service,
|
||||
}
|
||||
|
||||
bool CanSetPreference(PrefService* pref_service, const CefString& name) {
|
||||
const PrefService::Preference* pref = pref_service->FindPreference(name);
|
||||
const PrefService::Preference* pref =
|
||||
pref_service->FindPreference(std::string_view(name.ToString()));
|
||||
return (pref && pref->IsUserModifiable());
|
||||
}
|
||||
|
||||
@@ -75,7 +78,8 @@ bool SetPreference(PrefService* pref_service,
|
||||
CefString& error) {
|
||||
// The below validation logic should match PrefService::SetUserPrefValue.
|
||||
|
||||
const PrefService::Preference* pref = pref_service->FindPreference(name);
|
||||
const PrefService::Preference* pref =
|
||||
pref_service->FindPreference(std::string_view(name.ToString()));
|
||||
if (!pref) {
|
||||
error = "Trying to modify an unregistered preference";
|
||||
return false;
|
||||
@@ -88,7 +92,7 @@ bool SetPreference(PrefService* pref_service,
|
||||
|
||||
if (!value.get()) {
|
||||
// Reset the preference to its default value.
|
||||
pref_service->ClearPref(name);
|
||||
pref_service->ClearPref(std::string_view(name.ToString()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -110,7 +114,7 @@ bool SetPreference(PrefService* pref_service,
|
||||
}
|
||||
|
||||
// PrefService will make a DeepCopy of |impl_value|.
|
||||
pref_service->Set(name, *impl_value);
|
||||
pref_service->Set(std::string_view(name.ToString()), *impl_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -51,7 +51,8 @@ class CefPreferenceRegistrarImpl : public CefPreferenceRegistrar {
|
||||
registry_->RegisterDoublePref(nameStr, default_value->GetDouble());
|
||||
return true;
|
||||
case VTYPE_STRING:
|
||||
registry_->RegisterStringPref(nameStr, default_value->GetString());
|
||||
registry_->RegisterStringPref(
|
||||
nameStr, std::string_view(default_value->GetString().ToString()));
|
||||
return true;
|
||||
case VTYPE_DICTIONARY:
|
||||
case VTYPE_LIST:
|
||||
@@ -70,9 +71,11 @@ class CefPreferenceRegistrarImpl : public CefPreferenceRegistrar {
|
||||
auto impl_value = impl->CopyValue();
|
||||
|
||||
if (impl_value.type() == base::Value::Type::DICT) {
|
||||
registry_->RegisterDictionaryPref(name, std::move(impl_value.GetDict()));
|
||||
registry_->RegisterDictionaryPref(std::string_view(name),
|
||||
std::move(impl_value.GetDict()));
|
||||
} else if (impl_value.type() == base::Value::Type::LIST) {
|
||||
registry_->RegisterListPref(name, std::move(impl_value.GetList()));
|
||||
registry_->RegisterListPref(std::string_view(name),
|
||||
std::move(impl_value.GetList()));
|
||||
} else {
|
||||
DCHECK(false);
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ namespace {
|
||||
std::optional<cef_gesture_command_t> GetGestureCommand(
|
||||
ui::GestureEvent* event) {
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
if (event->details().type() == ui::ET_GESTURE_SWIPE) {
|
||||
if (event->details().type() == ui::EventType::kGestureSwipe) {
|
||||
if (event->details().swipe_left()) {
|
||||
return CEF_GESTURE_COMMAND_BACK;
|
||||
} else if (event->details().swipe_right()) {
|
||||
|
@@ -7,7 +7,6 @@
|
||||
#include "cef/libcef/browser/x509_cert_principal_impl.h"
|
||||
#include "cef/libcef/common/time_util.h"
|
||||
#include "net/cert/x509_util.h"
|
||||
#include "net/ssl/ssl_private_key.h"
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -28,10 +27,6 @@ CefRefPtr<CefBinaryValue> EncodeCertificate(const CRYPTO_BUFFER* cert_buffer,
|
||||
|
||||
} // namespace
|
||||
|
||||
CefX509CertificateImpl::CefX509CertificateImpl(
|
||||
std::unique_ptr<net::ClientCertIdentity> identity)
|
||||
: identity_(std::move(identity)), cert_(identity_->certificate()) {}
|
||||
|
||||
CefX509CertificateImpl::CefX509CertificateImpl(
|
||||
scoped_refptr<net::X509Certificate> cert)
|
||||
: cert_(cert) {}
|
||||
@@ -99,16 +94,6 @@ size_t CefX509CertificateImpl::GetIssuerChainSize() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CefX509CertificateImpl::AcquirePrivateKey(
|
||||
base::OnceCallback<void(scoped_refptr<net::SSLPrivateKey>)>
|
||||
private_key_callback) {
|
||||
if (identity_) {
|
||||
identity_->AcquirePrivateKey(std::move(private_key_callback));
|
||||
} else {
|
||||
std::move(private_key_callback).Run(nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void CefX509CertificateImpl::GetEncodedIssuerChain(
|
||||
CefX509Certificate::IssuerChainBinaryList& chain,
|
||||
bool der) {
|
||||
|
@@ -9,7 +9,7 @@
|
||||
#include <memory>
|
||||
|
||||
#include "cef/include/cef_x509_certificate.h"
|
||||
#include "net/ssl/client_cert_identity.h"
|
||||
#include "net/cert/x509_certificate.h"
|
||||
|
||||
// CefX509Certificate implementation
|
||||
class CefX509CertificateImpl : public CefX509Certificate {
|
||||
@@ -19,10 +19,6 @@ class CefX509CertificateImpl : public CefX509Certificate {
|
||||
CefX509CertificateImpl(const CefX509CertificateImpl&) = delete;
|
||||
CefX509CertificateImpl& operator=(const CefX509CertificateImpl&) = delete;
|
||||
|
||||
// Used with AlloyContentBrowserClient::SelectClientCertificate only.
|
||||
explicit CefX509CertificateImpl(
|
||||
std::unique_ptr<net::ClientCertIdentity> identity);
|
||||
|
||||
// CefX509Certificate methods.
|
||||
CefRefPtr<CefX509CertPrincipal> GetSubject() override;
|
||||
CefRefPtr<CefX509CertPrincipal> GetIssuer() override;
|
||||
@@ -36,14 +32,10 @@ class CefX509CertificateImpl : public CefX509Certificate {
|
||||
void GetPEMEncodedIssuerChain(IssuerChainBinaryList& chain) override;
|
||||
|
||||
scoped_refptr<net::X509Certificate> GetInternalCertObject() { return cert_; }
|
||||
void AcquirePrivateKey(
|
||||
base::OnceCallback<void(scoped_refptr<net::SSLPrivateKey>)>
|
||||
private_key_callback);
|
||||
|
||||
private:
|
||||
void GetEncodedIssuerChain(IssuerChainBinaryList& chain, bool der);
|
||||
|
||||
std::unique_ptr<net::ClientCertIdentity> identity_;
|
||||
scoped_refptr<net::X509Certificate> cert_;
|
||||
IssuerChainBinaryList pem_encoded_issuer_chain_;
|
||||
IssuerChainBinaryList der_encoded_issuer_chain_;
|
||||
|
@@ -118,7 +118,7 @@ void InitLogging(const base::CommandLine* command_line) {
|
||||
ChromeMainDelegateCef::ChromeMainDelegateCef(CefMainRunner* runner,
|
||||
CefSettings* settings,
|
||||
CefRefPtr<CefApp> application)
|
||||
: ChromeMainDelegate(base::TimeTicks::Now()),
|
||||
: ChromeMainDelegate({.exe_entry_point_ticks = base::TimeTicks::Now()}),
|
||||
runner_(runner),
|
||||
settings_(settings),
|
||||
application_(application) {
|
||||
|
@@ -524,7 +524,7 @@ const mojo::Remote<cef::mojom::BrowserFrame>& CefFrameImpl::GetBrowserFrame(
|
||||
auto render_frame = content::RenderFrameImpl::FromWebFrame(frame_);
|
||||
if (render_frame) {
|
||||
// Triggers creation of a CefBrowserFrame in the browser process.
|
||||
render_frame->GetBrowserInterfaceBroker()->GetInterface(
|
||||
render_frame->GetBrowserInterfaceBroker().GetInterface(
|
||||
browser_frame_.BindNewPipeAndPassReceiver());
|
||||
browser_frame_.set_disconnect_with_reason_handler(
|
||||
base::BindOnce(&CefFrameImpl::OnBrowserFrameDisconnect, this));
|
||||
|
Reference in New Issue
Block a user