提交 bac3af48 编写于 作者: C Chinmay Garde

Remove SkyHeadless (#2587)

上级 cc3801a4
......@@ -24,8 +24,6 @@ source_set("sky") {
]
sources = [
"sky_headless.cc",
"sky_headless.h",
"sky_view.cc",
"sky_view.h",
"sky_view_client.cc",
......
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "sky/engine/public/sky/sky_headless.h"
#include "sky/engine/core/script/dart_controller.h"
#include "sky/engine/core/script/ui_dart_state.h"
#include "sky/engine/core/window/window.h"
#include "sky/engine/wtf/MakeUnique.h"
namespace blink {
SkyHeadless::SkyHeadless(Client* client) : client_(client) {
}
SkyHeadless::~SkyHeadless() {
}
void SkyHeadless::Init(const std::string& name) {
DCHECK(!dart_controller_);
dart_controller_ = WTF::MakeUnique<DartController>();
dart_controller_->CreateIsolateFor(WTF::MakeUnique<UIDartState>(
this, name, WTF::MakeUnique<Window>(this)));
UIDartState* dart_state = dart_controller_->dart_state();
DartState::Scope scope(dart_state);
dart_state->window()->DidCreateIsolate();
client_->DidCreateIsolate(dart_state->isolate());
}
void SkyHeadless::RunFromSnapshotBuffer(const uint8_t* buffer, size_t size) {
dart_controller_->RunFromSnapshotBuffer(buffer, size);
}
void SkyHeadless::ScheduleFrame() {
}
void SkyHeadless::FlushRealTimeEvents() {
}
void SkyHeadless::Render(Scene* scene) {
}
void SkyHeadless::DidCreateSecondaryIsolate(Dart_Isolate isolate) {
}
} // namespace blink
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SKY_ENGINE_PUBLIC_SKY_SKY_HEADLESS_H_
#define SKY_ENGINE_PUBLIC_SKY_SKY_HEADLESS_H_
#include <memory>
#include "base/basictypes.h"
#include "sky/engine/bindings/flutter_dart_state.h"
#include "sky/engine/core/window/window.h"
#include "sky/engine/wtf/OwnPtr.h"
#include "sky/engine/wtf/text/WTFString.h"
typedef struct _Dart_Isolate* Dart_Isolate;
namespace blink {
class DartController;
class Scene;
// This class provides a way to run Dart script without a View.
class SkyHeadless : public WindowClient, public IsolateClient {
public:
class Client {
public:
virtual void DidCreateIsolate(Dart_Isolate isolate) = 0;
protected:
virtual ~Client() {}
};
SkyHeadless(Client* client);
~SkyHeadless();
void Init(const std::string& name);
void RunFromSnapshotBuffer(const uint8_t* buffer, size_t size);
private:
void ScheduleFrame() override;
void FlushRealTimeEvents() override;
void Render(Scene* scene) override;
void DidCreateSecondaryIsolate(Dart_Isolate isolate) override;
std::unique_ptr<DartController> dart_controller_;
Client* client_;
DISALLOW_COPY_AND_ASSIGN(SkyHeadless);
};
} // namespace blink
#endif // SKY_ENGINE_PUBLIC_SKY_SKY_HEADLESS_H_
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册