diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index b9d97f9f6..bb5b0bb72 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -7,5 +7,5 @@ # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding { - 'chromium_checkout': 'refs/tags/53.0.2785.8', + 'chromium_checkout': 'refs/tags/53.0.2785.46', } diff --git a/cef.gyp b/cef.gyp index 7f96fe546..19dc8248b 100644 --- a/cef.gyp +++ b/cef.gyp @@ -961,9 +961,6 @@ '<(DEPTH)/cef/libcef/resources/grit_stub/chrome', '<(grit_out_dir)', '<(SHARED_INTERMEDIATE_DIR)/chrome', - '<(SHARED_INTERMEDIATE_DIR)/components', - '<(SHARED_INTERMEDIATE_DIR)/ui/resources', - '<(SHARED_INTERMEDIATE_DIR)/ui/strings', ], 'dependencies': [ '<(DEPTH)/base/base.gyp:base', diff --git a/libcef/browser/browser_main_win.cc b/libcef/browser/browser_main_win.cc index ce0443411..0c4bbe579 100644 --- a/libcef/browser/browser_main_win.cc +++ b/libcef/browser/browser_main_win.cc @@ -8,10 +8,10 @@ #include "libcef/browser/browser_main.h" +#include "cef/grit/cef_strings.h" #include "chrome/common/chrome_utility_messages.h" #include "content/public/browser/utility_process_host.h" #include "content/public/browser/utility_process_host_client.h" -#include "grit/cef_strings.h" #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/win/direct_write.h" diff --git a/libcef/browser/devtools_delegate.cc b/libcef/browser/devtools_delegate.cc index 785094aa6..8edfb8f54 100644 --- a/libcef/browser/devtools_delegate.cc +++ b/libcef/browser/devtools_delegate.cc @@ -18,6 +18,7 @@ #include "base/strings/utf_string_conversions.h" #include "content/public/browser/devtools_agent_host.h" #include "base/time/time.h" +#include "cef/grit/cef_resources.h" #include "components/devtools_discovery/basic_target_descriptor.h" #include "components/devtools_discovery/devtools_discovery_manager.h" #include "content/public/browser/devtools_frontend_host.h" @@ -29,7 +30,6 @@ #include "content/public/browser/web_contents_delegate.h" #include "content/public/common/content_switches.h" #include "content/public/common/url_constants.h" -#include "grit/cef_resources.h" #include "net/base/net_errors.h" #include "net/socket/tcp_server_socket.h" #include "ui/base/layout.h" diff --git a/libcef/browser/extensions/pdf_extension_util.cc b/libcef/browser/extensions/pdf_extension_util.cc index de5b460b1..94d6a88c1 100644 --- a/libcef/browser/extensions/pdf_extension_util.cc +++ b/libcef/browser/extensions/pdf_extension_util.cc @@ -5,7 +5,7 @@ #include "libcef/browser/extensions/pdf_extension_util.h" #include "base/strings/string_util.h" -#include "grit/cef_resources.h" +#include "cef/grit/cef_resources.h" #include "ui/base/resource/resource_bundle.h" namespace extensions { diff --git a/libcef/browser/menu_manager.cc b/libcef/browser/menu_manager.cc index 4a2858eb9..7d9c3a3e2 100644 --- a/libcef/browser/menu_manager.cc +++ b/libcef/browser/menu_manager.cc @@ -14,10 +14,10 @@ #include "base/compiler_specific.h" #include "base/logging.h" +#include "cef/grit/cef_strings.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_widget_host_view.h" -#include "grit/cef_strings.h" namespace { diff --git a/libcef/browser/native/file_dialog_runner_mac.mm b/libcef/browser/native/file_dialog_runner_mac.mm index de46b9ba9..3e3a608ef 100644 --- a/libcef/browser/native/file_dialog_runner_mac.mm +++ b/libcef/browser/native/file_dialog_runner_mac.mm @@ -16,8 +16,8 @@ #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" #include "base/threading/thread_restrictions.h" +#include "cef/grit/cef_strings.h" #include "content/public/common/file_chooser_params.h" -#include "grit/cef_strings.h" #include "net/base/mime_util.h" #include "ui/base/l10n/l10n_util.h" #include "ui/strings/grit/ui_strings.h" diff --git a/libcef/browser/native/file_dialog_runner_win.cc b/libcef/browser/native/file_dialog_runner_win.cc index c193ceea5..14247a089 100644 --- a/libcef/browser/native/file_dialog_runner_win.cc +++ b/libcef/browser/native/file_dialog_runner_win.cc @@ -16,7 +16,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/win/registry.h" #include "base/win/scoped_comptr.h" -#include "grit/cef_strings.h" +#include "cef/grit/cef_strings.h" #include "net/base/mime_util.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/win/shell.h" diff --git a/libcef/browser/net/chrome_scheme_handler.cc b/libcef/browser/net/chrome_scheme_handler.cc index ad378d4d3..05619a730 100644 --- a/libcef/browser/net/chrome_scheme_handler.cc +++ b/libcef/browser/net/chrome_scheme_handler.cc @@ -26,12 +26,12 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "base/values.h" +#include "cef/grit/cef_resources.h" +#include "components/grit/components_resources.h" #include "content/browser/net/view_http_cache_job_factory.h" #include "content/browser/net/view_blob_internals_job_factory.h" #include "content/public/common/url_constants.h" #include "content/public/common/user_agent.h" -#include "grit/cef_resources.h" -#include "grit/components_resources.h" #include "ipc/ipc_channel.h" #include "net/url_request/url_request.h" #include "ui/base/webui/web_ui_util.h" diff --git a/libcef/browser/net/devtools_scheme_handler.cc b/libcef/browser/net/devtools_scheme_handler.cc index 9e8b0ccd0..61d5920bc 100644 --- a/libcef/browser/net/devtools_scheme_handler.cc +++ b/libcef/browser/net/devtools_scheme_handler.cc @@ -11,8 +11,8 @@ #include "base/memory/ptr_util.h" #include "base/strings/string_util.h" +#include "blink/grit/devtools_resources_map.h" #include "content/public/common/url_constants.h" -#include "grit/devtools_resources_map.h" namespace scheme { diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index d698651ff..a2075c8e6 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -45,12 +45,6 @@ const float kDefaultScaleFactor = 1.0; // The maximum number of retry counts if frame capture fails. const int kFrameRetryLimit = 2; -// When accelerated compositing is enabled and a widget resize is pending, -// we delay further resizes of the UI. The following constant is the maximum -// length of time that we should delay further UI resizes while waiting for a -// resized frame from a renderer. -const int kResizeLockTimeoutMs = 67; - static blink::WebScreenInfo webScreenInfoFrom(const CefScreenInfo& src) { blink::WebScreenInfo webScreenInfo; webScreenInfo.deviceScaleFactor = src.device_scale_factor; @@ -67,6 +61,14 @@ static blink::WebScreenInfo webScreenInfoFrom(const CefScreenInfo& src) { return webScreenInfo; } +#if !defined(OS_MACOSX) + +// When accelerated compositing is enabled and a widget resize is pending, +// we delay further resizes of the UI. The following constant is the maximum +// length of time that we should delay further UI resizes while waiting for a +// resized frame from a renderer. +const int kResizeLockTimeoutMs = 67; + // Used to prevent further resizes while a resize is pending. class CefResizeLock : public content::ResizeLock { public: @@ -124,6 +126,8 @@ class CefResizeLock : public content::ResizeLock { DISALLOW_COPY_AND_ASSIGN(CefResizeLock); }; +#endif // !defined(OS_MACOSX) + } // namespace // Used for managing copy requests when GPU compositing is enabled. Based on @@ -202,8 +206,7 @@ class CefCopyFrameGenerator { damage_rect)); request->set_area(gfx::Rect(view_->GetPhysicalBackingSize())); - view_->DelegatedFrameHostGetLayer()->RequestCopyOfOutput( - std::move(request)); + view_->GetRootLayer()->RequestCopyOfOutput(std::move(request)); } void CopyFromCompositingSurfaceHasResult( @@ -1035,10 +1038,7 @@ CefRenderWidgetHostViewOSR::CreateSoftwareOutputDevice( return base::WrapUnique(software_output_device_); } -int CefRenderWidgetHostViewOSR::DelegatedFrameHostGetGpuMemoryBufferClientId() - const { - return render_widget_host_->GetProcess()->GetID(); -} +#if !defined(OS_MACOSX) ui::Layer* CefRenderWidgetHostViewOSR::DelegatedFrameHostGetLayer() const { return GetRootLayer(); @@ -1118,6 +1118,12 @@ void CefRenderWidgetHostViewOSR::SetBeginFrameSource( // See https://codereview.chromium.org/1841083007. } +bool CefRenderWidgetHostViewOSR::IsAutoResizeEnabled() const { + return render_widget_host_->auto_resize_enabled(); +} + +#endif // !defined(OS_MACOSX) + bool CefRenderWidgetHostViewOSR::InstallTransparency() { if (transparent_) { SetBackgroundColor(SkColor()); @@ -1332,18 +1338,20 @@ void CefRenderWidgetHostViewOSR::RemoveGuestHostView( } #if !defined(OS_MACOSX) + ui::Compositor* CefRenderWidgetHostViewOSR::GetCompositor() const { return compositor_.get(); } +ui::Layer* CefRenderWidgetHostViewOSR::GetRootLayer() const { + return root_layer_.get(); +} + content::DelegatedFrameHost* CefRenderWidgetHostViewOSR::GetDelegatedFrameHost() const { return delegated_frame_host_.get(); } -ui::Layer* CefRenderWidgetHostViewOSR::GetRootLayer() const { - return root_layer_.get(); -} #endif // !defined(OS_MACOSX) void CefRenderWidgetHostViewOSR::SetFrameRate() { diff --git a/libcef/browser/osr/render_widget_host_view_osr.h b/libcef/browser/osr/render_widget_host_view_osr.h index 8a04850c4..154ba3e01 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.h +++ b/libcef/browser/osr/render_widget_host_view_osr.h @@ -76,13 +76,16 @@ class CefWindowX11; /////////////////////////////////////////////////////////////////////////////// #if defined(OS_MACOSX) -class AcceleratedWidgetMacNSViewHelper; +class MacHelper; #endif class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase, - public ui::CompositorDelegate, - public content::DelegatedFrameHostClient { + public ui::CompositorDelegate +#if !defined(OS_MACOSX) + , public content::DelegatedFrameHostClient +#endif +{ public: CefRenderWidgetHostViewOSR(const bool transparent, content::RenderWidgetHost* widget, @@ -190,8 +193,8 @@ class CefRenderWidgetHostViewOSR std::unique_ptr CreateSoftwareOutputDevice( ui::Compositor* compositor) override; +#if !defined(OS_MACOSX) // DelegatedFrameHostClient implementation. - virtual int DelegatedFrameHostGetGpuMemoryBufferClientId() const override; ui::Layer* DelegatedFrameHostGetLayer() const override; bool DelegatedFrameHostIsVisible() const override; SkColor DelegatedFrameHostGetGutterColor(SkColor color) const override; @@ -211,6 +214,8 @@ class CefRenderWidgetHostViewOSR const base::TimeTicks& timebase, const base::TimeDelta& interval) override; void SetBeginFrameSource(cc::BeginFrameSource* source) override; + bool IsAutoResizeEnabled() const override; +#endif // !defined(OS_MACOSX) bool InstallTransparency(); @@ -267,10 +272,10 @@ class CefRenderWidgetHostViewOSR ui::Compositor* GetCompositor() const; content::RenderWidgetHostImpl* render_widget_host() const { return render_widget_host_; } + ui::Layer* GetRootLayer() const; private: content::DelegatedFrameHost* GetDelegatedFrameHost() const; - ui::Layer* GetRootLayer() const; void SetFrameRate(); void SetDeviceScaleFactor(); @@ -286,7 +291,7 @@ class CefRenderWidgetHostViewOSR void OnScrollOffsetChanged(); #if defined(OS_MACOSX) - friend class AcceleratedWidgetMacNSViewHelper; + friend class MacHelper; // Returns composition character boundary rectangle. The |range| is // composition based range. Also stores |actual_range| which is corresponding @@ -334,7 +339,7 @@ class CefRenderWidgetHostViewOSR NSWindow* window_; CALayer* background_layer_; std::unique_ptr browser_compositor_; - AcceleratedWidgetMacNSViewHelper* accelerated_widget_helper_; + MacHelper* mac_helper_; #elif defined(USE_X11) CefWindowX11* window_; std::unique_ptr invisible_cursor_; diff --git a/libcef/browser/osr/render_widget_host_view_osr_mac.mm b/libcef/browser/osr/render_widget_host_view_osr_mac.mm index 16549d6a3..76917669e 100644 --- a/libcef/browser/osr/render_widget_host_view_osr_mac.mm +++ b/libcef/browser/osr/render_widget_host_view_osr_mac.mm @@ -32,12 +32,67 @@ CefTextInputClientOSRMac* GetInputClientFromContext( } // namespace -class AcceleratedWidgetMacNSViewHelper : public ui::AcceleratedWidgetMacNSView { +class MacHelper : + public content::BrowserCompositorMacClient, + public ui::AcceleratedWidgetMacNSView { public: - explicit AcceleratedWidgetMacNSViewHelper(CefRenderWidgetHostViewOSR* view) + explicit MacHelper(CefRenderWidgetHostViewOSR* view) : view_(view) { } - virtual ~AcceleratedWidgetMacNSViewHelper() {} + virtual ~MacHelper() {} + + // BrowserCompositorMacClient methods: + + NSView* BrowserCompositorMacGetNSView() const override { + // Intentionally return nil so that + // BrowserCompositorMac::DelegatedFrameHostDesiredSizeInDIP uses the layer + // size instead of the NSView size. + return nil; + } + + SkColor BrowserCompositorMacGetGutterColor(SkColor color) const override { + // When making an element on the page fullscreen the element's background + // may not match the page's, so use black as the gutter color to avoid + // flashes of brighter colors during the transition. + if (view_->render_widget_host()->delegate() && + view_->render_widget_host()->delegate()->IsFullscreenForCurrentTab()) { + return SK_ColorBLACK; + } + return color; + } + + void BrowserCompositorMacSendCompositorSwapAck( + int output_surface_id, + const cc::CompositorFrameAck& ack) override { + view_->render_widget_host()->Send(new ViewMsg_SwapCompositorFrameAck( + view_->render_widget_host()->GetRoutingID(), output_surface_id, ack)); + } + + void BrowserCompositorMacSendReclaimCompositorResources( + int output_surface_id, + const cc::CompositorFrameAck& ack) override { + view_->render_widget_host()->Send(new ViewMsg_ReclaimCompositorResources( + view_->render_widget_host()->GetRoutingID(), output_surface_id, ack)); + } + + void BrowserCompositorMacOnLostCompositorResources() override { + view_->render_widget_host()->ScheduleComposite(); + } + + void BrowserCompositorMacUpdateVSyncParameters( + const base::TimeTicks& timebase, + const base::TimeDelta& interval) override { + view_->render_widget_host()->UpdateVSyncParameters(timebase, interval); + } + + void BrowserCompositorMacSendBeginFrame( + const cc::BeginFrameArgs& args) override { + view_->render_widget_host()->Send( + new ViewMsg_BeginFrame(view_->render_widget_host()->GetRoutingID(), + args)); + } + + // AcceleratedWidgetMacNSView methods: NSView* AcceleratedWidgetGetNSView() const override { return [view_->window_ contentView]; @@ -56,7 +111,7 @@ class AcceleratedWidgetMacNSViewHelper : public ui::AcceleratedWidgetMacNSView { // Guaranteed to outlive this object. CefRenderWidgetHostViewOSR* view_; - DISALLOW_COPY_AND_ASSIGN(AcceleratedWidgetMacNSViewHelper); + DISALLOW_COPY_AND_ASSIGN(MacHelper); }; @@ -311,15 +366,15 @@ ui::Compositor* CefRenderWidgetHostViewOSR::GetCompositor() const { return browser_compositor_->GetCompositor(); } +ui::Layer* CefRenderWidgetHostViewOSR::GetRootLayer() const { + return browser_compositor_->GetRootLayer(); +} + content::DelegatedFrameHost* CefRenderWidgetHostViewOSR::GetDelegatedFrameHost() const { return browser_compositor_->GetDelegatedFrameHost(); } -ui::Layer* CefRenderWidgetHostViewOSR::GetRootLayer() const { - return browser_compositor_->GetRootLayer(); -} - void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() { // Create a borderless non-visible 1x1 window. window_ = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 1, 1) @@ -334,17 +389,14 @@ void CefRenderWidgetHostViewOSR::PlatformCreateCompositorWidget() { [content_view setLayer:background_layer_]; [content_view setWantsLayer:YES]; - accelerated_widget_helper_ = new AcceleratedWidgetMacNSViewHelper(this); + mac_helper_ = new MacHelper(this); browser_compositor_.reset(new content::BrowserCompositorMac( - accelerated_widget_helper_, this, render_widget_host_->is_hidden(), - true)); + mac_helper_, mac_helper_, render_widget_host_->is_hidden(), true)); } void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() { DCHECK(window_); - browser_compositor_->Destroy(); - [window_ close]; window_ = nil; [background_layer_ release]; @@ -352,6 +404,6 @@ void CefRenderWidgetHostViewOSR::PlatformDestroyCompositorWidget() { browser_compositor_.reset(); - delete accelerated_widget_helper_; - accelerated_widget_helper_ = nullptr; + delete mac_helper_; + mac_helper_ = nullptr; } diff --git a/libcef/browser/osr/render_widget_host_view_osr_win.cc b/libcef/browser/osr/render_widget_host_view_osr_win.cc index f63385065..1f7e0cf2a 100644 --- a/libcef/browser/osr/render_widget_host_view_osr_win.cc +++ b/libcef/browser/osr/render_widget_host_view_osr_win.cc @@ -10,8 +10,8 @@ #include "libcef/browser/browser_host_impl.h" #include "libcef/browser/content_browser_client.h" -#include "grit/ui_unscaled_resources.h" #include "third_party/WebKit/public/platform/WebCursorInfo.h" +#include "ui/resources/grit/ui_unscaled_resources.h" namespace { diff --git a/libcef/browser/prefs/browser_prefs.cc b/libcef/browser/prefs/browser_prefs.cc index 5d1e502c7..f9a2cae9e 100644 --- a/libcef/browser/prefs/browser_prefs.cc +++ b/libcef/browser/prefs/browser_prefs.cc @@ -13,6 +13,7 @@ #include "base/files/file_path.h" #include "base/strings/string_number_conversions.h" #include "base/values.h" +#include "cef/grit/cef_strings.h" #include "chrome/browser/prefs/command_line_pref_store.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" @@ -29,7 +30,6 @@ #include "components/update_client/update_client.h" #include "content/public/browser/browser_thread.h" #include "extensions/browser/extension_prefs.h" -#include "grit/cef_strings.h" #include "ui/base/l10n/l10n_util.h" namespace browser_prefs { diff --git a/libcef/common/extensions/extensions_client.cc b/libcef/common/extensions/extensions_client.cc index 8e90e2756..6ad42b017 100644 --- a/libcef/common/extensions/extensions_client.cc +++ b/libcef/common/extensions/extensions_client.cc @@ -11,6 +11,7 @@ #include "base/lazy_instance.h" #include "base/logging.h" +#include "cef/grit/cef_resources.h" #include "cef/libcef/common/extensions/api/generated_schemas.h" #include "extensions/common/api/generated_schemas.h" #include "extensions/common/common_manifest_handlers.h" @@ -27,8 +28,7 @@ #include "extensions/common/permissions/permissions_info.h" #include "extensions/common/permissions/permissions_provider.h" #include "extensions/common/url_pattern_set.h" -#include "grit/cef_resources.h" -#include "grit/extensions_resources.h" +#include "extensions/grit/extensions_resources.h" namespace extensions { diff --git a/libcef/renderer/plugins/cef_plugin_placeholder.cc b/libcef/renderer/plugins/cef_plugin_placeholder.cc index 78fffa939..25967b50f 100644 --- a/libcef/renderer/plugins/cef_plugin_placeholder.cc +++ b/libcef/renderer/plugins/cef_plugin_placeholder.cc @@ -59,7 +59,7 @@ CefPluginPlaceholder::CefPluginPlaceholder( status_(CefViewHostMsg_GetPluginInfo_Status::kAllowed), title_(title), context_menu_request_id_(0), - ignore_updates_(false) { + did_send_blocked_content_notification_(false) { RenderThread::Get()->AddObserver(this); } @@ -285,29 +285,10 @@ blink::WebPlugin* CefPluginPlaceholder::CreatePlugin() { GetPluginParams(), std::move(throttler)); } -void CefPluginPlaceholder::OnLoadedRectUpdate( - const gfx::Rect& unobscured_rect, - content::RenderFrame::PeripheralContentStatus status) { - // If the placeholder is in the blocked state, do nothing. - if (ignore_updates_) +void CefPluginPlaceholder::OnBlockedTinyContent() { + if (did_send_blocked_content_notification_) return; - - // This should only be called once. - set_delayed(false); - - // block tiny cross-origin - simply by not continuing the load chain. - if (status == - content::RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_TINY) { - ignore_updates_ = true; - return; - } - - // For essential content, powersaver can be turned off. - if (status != content::RenderFrame::CONTENT_STATUS_PERIPHERAL) - set_power_saver_enabled(false); - - AllowLoading(); - LoadPlugin(); + did_send_blocked_content_notification_ = true; } gin::ObjectTemplateBuilder CefPluginPlaceholder::GetObjectTemplateBuilder( diff --git a/libcef/renderer/plugins/cef_plugin_placeholder.h b/libcef/renderer/plugins/cef_plugin_placeholder.h index 0e803e00c..9a905fd35 100644 --- a/libcef/renderer/plugins/cef_plugin_placeholder.h +++ b/libcef/renderer/plugins/cef_plugin_placeholder.h @@ -52,9 +52,7 @@ class CefPluginPlaceholder final // content::LoadablePluginPlaceholder overrides: blink::WebPlugin* CreatePlugin() override; - void OnLoadedRectUpdate( - const gfx::Rect& unobscured_rect, - content::RenderFrame::PeripheralContentStatus status) override; + void OnBlockedTinyContent() override; // gin::Wrappable (via PluginPlaceholder) method gin::ObjectTemplateBuilder GetObjectTemplateBuilder( @@ -85,7 +83,7 @@ class CefPluginPlaceholder final int context_menu_request_id_; // Nonzero when request pending. base::string16 plugin_name_; - bool ignore_updates_; + bool did_send_blocked_content_notification_; DISALLOW_COPY_AND_ASSIGN(CefPluginPlaceholder); }; diff --git a/libcef/renderer/v8_impl.cc b/libcef/renderer/v8_impl.cc index e3489a7e7..b82aea321 100644 --- a/libcef/renderer/v8_impl.cc +++ b/libcef/renderer/v8_impl.cc @@ -2363,13 +2363,9 @@ CefV8StackFrameImpl::CefV8StackFrameImpl( is_constructor_(false) { if (handle.IsEmpty()) return; - GetCefString(v8::Local::Cast(handle->GetScriptName()), - script_name_); - GetCefString( - v8::Local::Cast(handle->GetScriptNameOrSourceURL()), - script_name_or_source_url_); - GetCefString(v8::Local::Cast(handle->GetFunctionName()), - function_name_); + GetCefString(handle->GetScriptName(), script_name_); + GetCefString(handle->GetScriptNameOrSourceURL(), script_name_or_source_url_); + GetCefString(handle->GetFunctionName(), function_name_); line_number_ = handle->GetLineNumber(); column_ = handle->GetColumn(); is_eval_ = handle->IsEval(); diff --git a/libcef/resources/grit_stub/chrome/grit/browser_resources.h b/libcef/resources/grit_stub/chrome/grit/browser_resources.h index 0d2c14a96..0901e5cb7 100644 --- a/libcef/resources/grit_stub/chrome/grit/browser_resources.h +++ b/libcef/resources/grit_stub/chrome/grit/browser_resources.h @@ -1,2 +1,2 @@ -#include -#include +#include "cef/grit/cef_resources.h" +#include "cef/grit/cef_strings.h" diff --git a/libcef/resources/grit_stub/chrome/grit/generated_resources.h b/libcef/resources/grit_stub/chrome/grit/generated_resources.h index 0d2c14a96..0901e5cb7 100644 --- a/libcef/resources/grit_stub/chrome/grit/generated_resources.h +++ b/libcef/resources/grit_stub/chrome/grit/generated_resources.h @@ -1,2 +1,2 @@ -#include -#include +#include "cef/grit/cef_resources.h" +#include "cef/grit/cef_strings.h" diff --git a/libcef/resources/grit_stub/chrome/grit/locale_settings.h b/libcef/resources/grit_stub/chrome/grit/locale_settings.h index 0d2c14a96..0901e5cb7 100644 --- a/libcef/resources/grit_stub/chrome/grit/locale_settings.h +++ b/libcef/resources/grit_stub/chrome/grit/locale_settings.h @@ -1,2 +1,2 @@ -#include -#include +#include "cef/grit/cef_resources.h" +#include "cef/grit/cef_strings.h" diff --git a/patch/patches/browser_compositor_mac.patch b/patch/patches/browser_compositor_mac.patch index 05357d9df..aa158bcd2 100644 --- a/patch/patches/browser_compositor_mac.patch +++ b/patch/patches/browser_compositor_mac.patch @@ -1,8 +1,12 @@ diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h -index 552a56b..2a817d8 100644 +index 358adff..73368d7 100644 --- content/browser/renderer_host/browser_compositor_view_mac.h +++ content/browser/renderer_host/browser_compositor_view_mac.h -@@ -52,6 +52,7 @@ class BrowserCompositorMac { +@@ -61,9 +61,11 @@ class BrowserCompositorMac : public cc::BeginFrameObserver, + + // These will not return nullptr until Destroy is called. + DelegatedFrameHost* GetDelegatedFrameHost(); ++ ui::Layer* GetRootLayer() { return root_layer_.get(); } // This may return nullptr, if this has detached itself from its // ui::Compositor. @@ -11,10 +15,10 @@ index 552a56b..2a817d8 100644 void SwapCompositorFrame(uint32_t output_surface_id, diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm -index e9faa0a..931a92f 100644 +index 1a64104..72d69a1 100644 --- content/browser/renderer_host/browser_compositor_view_mac.mm +++ content/browser/renderer_host/browser_compositor_view_mac.mm -@@ -186,6 +186,12 @@ void BrowserCompositorMac::Destroy() { +@@ -183,6 +183,12 @@ BrowserCompositorMac::~BrowserCompositorMac() { g_spare_recyclable_compositor.Get().reset(); } @@ -27,3 +31,19 @@ index e9faa0a..931a92f 100644 ui::AcceleratedWidgetMac* BrowserCompositorMac::GetAcceleratedWidgetMac() { if (recyclable_compositor_) return recyclable_compositor_->accelerated_widget_mac(); +@@ -394,8 +400,13 @@ SkColor BrowserCompositorMac::DelegatedFrameHostGetGutterColor( + } + + gfx::Size BrowserCompositorMac::DelegatedFrameHostDesiredSizeInDIP() const { +- NSRect bounds = [client_->BrowserCompositorMacGetNSView() bounds]; +- return gfx::Size(bounds.size.width, bounds.size.height); ++ // View will be nil with CEF OSR. ++ NSView* view = client_->BrowserCompositorMacGetNSView(); ++ if (view) { ++ NSRect bounds = [view bounds]; ++ return gfx::Size(bounds.size.width, bounds.size.height); ++ } ++ return root_layer_->bounds().size(); + } + + bool BrowserCompositorMac::DelegatedFrameCanCreateResizeLock() const { diff --git a/patch/patches/browser_frame_host_guest_1687.patch b/patch/patches/browser_frame_host_guest_1687.patch index 0147bcd18..65c22c3b2 100644 --- a/patch/patches/browser_frame_host_guest_1687.patch +++ b/patch/patches/browser_frame_host_guest_1687.patch @@ -1,5 +1,5 @@ diff --git render_widget_host_view_guest.cc render_widget_host_view_guest.cc -index b4557c2..6cb6c5a 100644 +index a3062e0..2d78d02 100644 --- render_widget_host_view_guest.cc +++ render_widget_host_view_guest.cc @@ -243,6 +243,9 @@ void RenderWidgetHostViewGuest::Destroy() { diff --git a/patch/patches/browser_web_contents_1257.patch b/patch/patches/browser_web_contents_1257.patch index 115d12e1b..e7e1a40a5 100644 --- a/patch/patches/browser_web_contents_1257.patch +++ b/patch/patches/browser_web_contents_1257.patch @@ -1,5 +1,5 @@ diff --git web_contents_impl.cc web_contents_impl.cc -index db8263e..07f1989 100644 +index ed42816..4513f67 100644 --- web_contents_impl.cc +++ web_contents_impl.cc @@ -1502,6 +1502,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { @@ -23,7 +23,7 @@ index db8263e..07f1989 100644 CHECK(render_view_host_delegate_view_); CHECK(view_.get()); -@@ -1977,11 +1984,14 @@ void WebContentsImpl::CreateNewWindow( +@@ -1991,11 +1998,14 @@ void WebContentsImpl::CreateNewWindow( static_cast(session_storage_namespace); CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context)); @@ -39,7 +39,7 @@ index db8263e..07f1989 100644 if (route_id != MSG_ROUTING_NONE && !RenderViewHost::FromID(render_process_id, route_id)) { // If the embedder didn't create a WebContents for this route, we need to -@@ -2005,6 +2015,8 @@ void WebContentsImpl::CreateNewWindow( +@@ -2019,6 +2029,8 @@ void WebContentsImpl::CreateNewWindow( create_params.opener_render_process_id = render_process_id; create_params.opener_render_frame_id = params.opener_render_frame_id; create_params.opener_suppressed = params.opener_suppressed; diff --git a/patch/patches/content_nav_1129.patch b/patch/patches/content_nav_1129.patch index 3a424ab7d..1ba51d1a3 100644 --- a/patch/patches/content_nav_1129.patch +++ b/patch/patches/content_nav_1129.patch @@ -39,10 +39,10 @@ index 9ad5aef..957ef88 100644 // built in media player for the given |url|. Defaults to false. virtual bool ShouldUseMediaPlayerForURL(const GURL& url); diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc -index e4abcb5..399348c 100644 +index faa00b7..9140311 100644 --- renderer/render_frame_impl.cc +++ renderer/render_frame_impl.cc -@@ -4901,7 +4901,6 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( +@@ -4909,7 +4909,6 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( (pending_navigation_params_ && !pending_navigation_params_->request_params.redirects.empty()); @@ -50,7 +50,7 @@ index e4abcb5..399348c 100644 // The handlenavigation API is deprecated and will be removed once // crbug.com/325351 is resolved. if (GetContentClient()->renderer()->HandleNavigation( -@@ -4910,7 +4909,6 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( +@@ -4918,7 +4917,6 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( is_redirect)) { return blink::WebNavigationPolicyIgnore; } diff --git a/patch/patches/gn_config.patch b/patch/patches/gn_config.patch index f87e0b648..a4351255f 100644 --- a/patch/patches/gn_config.patch +++ b/patch/patches/gn_config.patch @@ -89,7 +89,6 @@ index 5bfa9a7..5e6e05d 100644 + "studio path") } diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py -diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py index d58cb85..c7384b9 100644 --- build/toolchain/win/setup_toolchain.py +++ build/toolchain/win/setup_toolchain.py diff --git a/patch/patches/render_widget_host_1070383005.patch b/patch/patches/render_widget_host_1070383005.patch index d749fb98a..a01f40f25 100644 --- a/patch/patches/render_widget_host_1070383005.patch +++ b/patch/patches/render_widget_host_1070383005.patch @@ -1,8 +1,8 @@ diff --git render_widget_host_view_mac.mm render_widget_host_view_mac.mm -index b7991fa..7e27615 100644 +index 284f4fd..916352f 100644 --- render_widget_host_view_mac.mm +++ render_widget_host_view_mac.mm -@@ -573,9 +573,6 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget, +@@ -504,9 +504,6 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget, // Paint this view host with |background_color_| when there is no content // ready to draw. background_layer_.reset([[CALayer alloc] init]); diff --git a/patch/patches/views_widget_180_1481_1677_1749.patch b/patch/patches/views_widget_180_1481_1677_1749.patch index 999bd28b6..68397c59b 100644 --- a/patch/patches/views_widget_180_1481_1677_1749.patch +++ b/patch/patches/views_widget_180_1481_1677_1749.patch @@ -1,5 +1,5 @@ diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc -index d9b97ff..9ac9883 100644 +index 6f5c6c3..2360cf2 100644 --- content/browser/renderer_host/render_widget_host_view_aura.cc +++ content/browser/renderer_host/render_widget_host_view_aura.cc @@ -769,6 +769,13 @@ void RenderWidgetHostViewAura::SetKeyboardFocus() { diff --git a/patch/patches/webkit_popups.patch b/patch/patches/webkit_popups.patch index 5f0ae6c80..020568175 100644 --- a/patch/patches/webkit_popups.patch +++ b/patch/patches/webkit_popups.patch @@ -1,8 +1,8 @@ diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp -index 6b3b603..0530199 100644 +index 4afc8d8..07eef06 100644 --- Source/web/ChromeClientImpl.cpp +++ Source/web/ChromeClientImpl.cpp -@@ -883,7 +883,7 @@ bool ChromeClientImpl::hasOpenedPopup() const +@@ -886,7 +886,7 @@ bool ChromeClientImpl::hasOpenedPopup() const PopupMenu* ChromeClientImpl::openPopupMenu(LocalFrame& frame, HTMLSelectElement& select) { notifyPopupOpeningObservers(); diff --git a/tests/unittests/os_rendering_unittest.cc b/tests/unittests/os_rendering_unittest.cc index 85557015f..2729cec22 100644 --- a/tests/unittests/os_rendering_unittest.cc +++ b/tests/unittests/os_rendering_unittest.cc @@ -656,10 +656,7 @@ class OSRTestHandler : public RoutingTestHandler, #if defined(OS_MACOSX) EXPECT_EQ(0xff5d99d6, *(reinterpret_cast(buffer))); #elif defined(OS_LINUX) || defined(OS_WIN) - if (scale_factor_ == 1.0f) - EXPECT_EQ(0xff6497ea, *(reinterpret_cast(buffer))); - else if (scale_factor_ == 2.0f) - EXPECT_EQ(0xff4d90fe, *(reinterpret_cast(buffer))); + EXPECT_EQ(0xff6497ea, *(reinterpret_cast(buffer))); #else #error "Unsupported platform" #endif