reverts AcceleratedWidgetMacNSView into offscreen class

This commit is contained in:
gellert 2016-08-05 14:13:34 +02:00 committed by Heilig Benedek
parent 795753286b
commit f29dc3402b
4 changed files with 28 additions and 27 deletions

View file

@ -56,6 +56,9 @@ class AtomBeginFrameTimer;
class OffScreenRenderWidgetHostView
: public content::RenderWidgetHostViewBase,
#if defined(OS_MACOSX)
public ui::AcceleratedWidgetMacNSView,
#endif
public ui::CompositorDelegate,
public content::DelegatedFrameHostClient {
public:
@ -170,6 +173,14 @@ class OffScreenRenderWidgetHostView
bool IsAutoResizeEnabled() const;
void OnSetNeedsBeginFrames(bool enabled);
#if defined(OS_MACOSX)
// ui::AcceleratedWidgetMacNSView:
NSView* AcceleratedWidgetGetNSView() const override;
void AcceleratedWidgetGetVSyncParameters(
base::TimeTicks* timebase, base::TimeDelta* interval) const override;
void AcceleratedWidgetSwapCompleted() override;
#endif // defined(OS_MACOSX)
void OnBeginFrameTimerTick();
void SendBeginFrame(base::TimeTicks frame_time,
base::TimeDelta vsync_period);
@ -222,6 +233,8 @@ class OffScreenRenderWidgetHostView
std::unique_ptr<AtomBeginFrameTimer> begin_frame_timer_;
#if defined(OS_MACOSX)
NSWindow* window_;
CALayer* background_layer_;
std::unique_ptr<content::BrowserCompositorMac> browser_compositor_;
// Selected text on the renderer.

View file

@ -6,8 +6,6 @@
#import <Cocoa/Cocoa.h>
#include "atom/browser/native_window_mac.h"
#include "base/strings/utf_string_conversions.h"
ui::AcceleratedWidgetMac*
@ -17,6 +15,19 @@ atom::OffScreenRenderWidgetHostView::GetAcceleratedWidgetMac() const {
return nullptr;
}
NSView* atom::OffScreenRenderWidgetHostView::AcceleratedWidgetGetNSView() const {
return [native_window_->GetNativeWindow() contentView];
}
void atom::OffScreenRenderWidgetHostView::AcceleratedWidgetGetVSyncParameters(
base::TimeTicks* timebase, base::TimeDelta* interval) const {
*timebase = base::TimeTicks();
*interval = base::TimeDelta();
}
void atom::OffScreenRenderWidgetHostView::AcceleratedWidgetSwapCompleted() {
}
void atom::OffScreenRenderWidgetHostView::SetActive(bool active) {
}
@ -63,8 +74,7 @@ void atom::OffScreenRenderWidgetHostView::CreatePlatformWidget() {
compositor_.reset(browser_compositor_->compositor());
compositor_->SetRootLayer(root_layer_.get());
browser_compositor_->accelerated_widget_mac()->SetNSView(
static_cast<atom::NativeWindowMac*>(native_window_));
browser_compositor_->accelerated_widget_mac()->SetNSView(this);
browser_compositor_->compositor()->SetVisible(true);
compositor_->SetLocksWillTimeOut(true);