mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Remove the ability to load ".sky" files
Please use ".dart" files instead. R=ianh@google.com Review URL: https://codereview.chromium.org/1222483002.
This commit is contained in:
parent
7e38a80358
commit
826956d14d
@ -50,9 +50,6 @@ struct WebPoint;
|
||||
|
||||
class WebView : public WebWidget {
|
||||
public:
|
||||
// I've added this here so that it dies when WebView does. :)
|
||||
static bool shouldUseWebView(const GURL& url);
|
||||
|
||||
// Initialization ------------------------------------------------------
|
||||
|
||||
// Creates a WebView that is NOT yet initialized. You will need to
|
||||
|
||||
@ -92,23 +92,9 @@ namespace blink {
|
||||
|
||||
// WebView ----------------------------------------------------------------
|
||||
|
||||
bool WebView::shouldUseWebView(const GURL& url)
|
||||
{
|
||||
std::string filename = url.ExtractFileName();
|
||||
int hashStart = filename.find('#');
|
||||
if (hashStart != -1)
|
||||
filename.resize(hashStart);
|
||||
int queryStart = filename.find('?');
|
||||
if (queryStart != -1)
|
||||
filename.resize(queryStart);
|
||||
// For now .dart indicates we should use SkyView. Eventually we'll
|
||||
// use SkyView for all urls regardless of file extension.
|
||||
return !EndsWith(filename, ".dart", false)
|
||||
&& !EndsWith(filename, ".snapshot", false);
|
||||
}
|
||||
|
||||
WebView* WebView::create(WebViewClient* client)
|
||||
{
|
||||
CRASH(); // WebView is deprecated. Please use SkyView.
|
||||
// Pass the WebViewImpl's self-reference to the caller.
|
||||
return WebViewImpl::create(client);
|
||||
}
|
||||
|
||||
@ -14,9 +14,6 @@
|
||||
#include "sky/engine/public/platform/sky_display_metrics.h"
|
||||
#include "sky/engine/public/platform/sky_display_metrics.h"
|
||||
#include "sky/engine/public/web/Sky.h"
|
||||
#include "sky/engine/public/web/WebLocalFrame.h"
|
||||
#include "sky/engine/public/web/WebSettings.h"
|
||||
#include "sky/engine/public/web/WebView.h"
|
||||
#include "sky/services/platform/platform_impl.h"
|
||||
#include "sky/shell/dart/dart_library_provider_files.h"
|
||||
#include "sky/shell/dart/dart_library_provider_network.h"
|
||||
@ -43,12 +40,6 @@ mojo::ScopedDataPipeConsumerHandle Fetch(const base::FilePath& path) {
|
||||
return pipe.consumer_handle.Pass();
|
||||
}
|
||||
|
||||
void ConfigureSettings(blink::WebSettings* settings) {
|
||||
settings->setDefaultFixedFontSize(13);
|
||||
settings->setDefaultFontSize(16);
|
||||
settings->setLoadsImagesAutomatically(true);
|
||||
}
|
||||
|
||||
PlatformImpl* g_platform_impl = nullptr;
|
||||
|
||||
}
|
||||
@ -62,15 +53,12 @@ Engine::Config::~Config() {
|
||||
Engine::Engine(const Config& config)
|
||||
: config_(config),
|
||||
animator_(new Animator(config, this)),
|
||||
web_view_(nullptr),
|
||||
device_pixel_ratio_(1.0f),
|
||||
viewport_observer_binding_(this),
|
||||
weak_factory_(this) {
|
||||
}
|
||||
|
||||
Engine::~Engine() {
|
||||
if (web_view_)
|
||||
web_view_->close();
|
||||
}
|
||||
|
||||
base::WeakPtr<Engine> Engine::GetWeakPtr() {
|
||||
@ -95,15 +83,6 @@ void Engine::BeginFrame(base::TimeTicks frame_time) {
|
||||
|
||||
if (sky_view_)
|
||||
sky_view_->BeginFrame(frame_time);
|
||||
|
||||
if (web_view_) {
|
||||
double frame_time_sec = (frame_time - base::TimeTicks()).InSecondsF();
|
||||
double deadline_sec = frame_time_sec;
|
||||
double interval_sec = 1.0 / 60;
|
||||
blink::WebBeginFrameArgs args(frame_time_sec, deadline_sec, interval_sec);
|
||||
web_view_->beginFrame(args);
|
||||
web_view_->layout();
|
||||
}
|
||||
}
|
||||
|
||||
skia::RefPtr<SkPicture> Engine::Paint() {
|
||||
@ -123,9 +102,6 @@ skia::RefPtr<SkPicture> Engine::Paint() {
|
||||
canvas->drawPicture(picture.get());
|
||||
}
|
||||
|
||||
if (web_view_)
|
||||
web_view_->paint(canvas.get(), blink::WebRect(gfx::Rect(physical_size_)));
|
||||
|
||||
return skia::AdoptRef(recorder.endRecordingAsPicture());
|
||||
}
|
||||
|
||||
@ -139,9 +115,7 @@ void Engine::OnAcceleratedWidgetAvailable(gfx::AcceleratedWidget widget) {
|
||||
FROM_HERE, base::Bind(&GPUDelegate::OnAcceleratedWidgetAvailable,
|
||||
config_.gpu_delegate, widget));
|
||||
if (sky_view_)
|
||||
scheduleVisualUpdate();
|
||||
if (web_view_)
|
||||
scheduleVisualUpdate();
|
||||
ScheduleFrame();
|
||||
}
|
||||
|
||||
void Engine::OnOutputSurfaceDestroyed() {
|
||||
@ -157,9 +131,6 @@ void Engine::OnViewportMetricsChanged(int width, int height,
|
||||
|
||||
if (sky_view_)
|
||||
UpdateSkyViewSize();
|
||||
|
||||
if (web_view_)
|
||||
UpdateWebViewSize();
|
||||
}
|
||||
|
||||
void Engine::UpdateSkyViewSize() {
|
||||
@ -170,24 +141,6 @@ void Engine::UpdateSkyViewSize() {
|
||||
sky_view_->SetDisplayMetrics(metrics);
|
||||
}
|
||||
|
||||
void Engine::UpdateWebViewSize() {
|
||||
CHECK(web_view_);
|
||||
web_view_->setDeviceScaleFactor(device_pixel_ratio_);
|
||||
gfx::SizeF size = gfx::ScaleSize(physical_size_, 1 / device_pixel_ratio_);
|
||||
// FIXME: We should be able to set the size of the WebView in floating point
|
||||
// because its in logical pixels.
|
||||
web_view_->resize(blink::WebSize(size.width(), size.height()));
|
||||
}
|
||||
|
||||
// TODO(eseidel): This is likely not needed anymore.
|
||||
blink::WebScreenInfo Engine::screenInfo() {
|
||||
blink::WebScreenInfo screen;
|
||||
screen.rect = blink::WebRect(gfx::Rect(physical_size_));
|
||||
screen.availableRect = screen.rect;
|
||||
screen.deviceScaleFactor = device_pixel_ratio_;
|
||||
return screen;
|
||||
}
|
||||
|
||||
void Engine::OnInputEvent(InputEventPtr event) {
|
||||
TRACE_EVENT0("sky", "Engine::OnInputEvent");
|
||||
scoped_ptr<blink::WebInputEvent> web_event =
|
||||
@ -196,19 +149,9 @@ void Engine::OnInputEvent(InputEventPtr event) {
|
||||
return;
|
||||
if (sky_view_)
|
||||
sky_view_->HandleInputEvent(*web_event);
|
||||
if (web_view_)
|
||||
web_view_->handleInputEvent(*web_event);
|
||||
}
|
||||
|
||||
void Engine::CloseWebViewIfNeeded() {
|
||||
if (web_view_) {
|
||||
web_view_->close();
|
||||
web_view_ = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void Engine::RunFromLibrary(const mojo::String& name) {
|
||||
CloseWebViewIfNeeded();
|
||||
sky_view_ = blink::SkyView::Create(this);
|
||||
sky_view_->RunFromLibrary(blink::WebString::fromUTF8(name),
|
||||
dart_library_provider_.get());
|
||||
@ -216,10 +159,6 @@ void Engine::RunFromLibrary(const mojo::String& name) {
|
||||
}
|
||||
|
||||
void Engine::RunFromNetwork(const mojo::String& url) {
|
||||
if (blink::WebView::shouldUseWebView(GURL(url))) {
|
||||
LoadUsingWebView(url);
|
||||
return;
|
||||
}
|
||||
dart_library_provider_.reset(
|
||||
new DartLibraryProviderNetwork(g_platform_impl->networkService()));
|
||||
RunFromLibrary(url);
|
||||
@ -233,50 +172,12 @@ void Engine::RunFromFile(const mojo::String& main,
|
||||
}
|
||||
|
||||
void Engine::RunFromSnapshot(const mojo::String& path) {
|
||||
CloseWebViewIfNeeded();
|
||||
sky_view_ = blink::SkyView::Create(this);
|
||||
sky_view_->RunFromSnapshot(blink::WebString::fromUTF8(path),
|
||||
Fetch(base::FilePath(path)));
|
||||
UpdateSkyViewSize();
|
||||
}
|
||||
|
||||
void Engine::LoadUsingWebView(const mojo::String& mojo_url) {
|
||||
GURL url(mojo_url);
|
||||
DCHECK(blink::WebView::shouldUseWebView(url));
|
||||
|
||||
if (sky_view_)
|
||||
sky_view_ = nullptr;
|
||||
|
||||
LOG(WARNING) << ".sky support is deprecated, please use .dart for main()";
|
||||
|
||||
// Something bad happens if you try to call WebView::close and replace
|
||||
// the webview. So for now we just load into the existing one. :/
|
||||
if (!web_view_)
|
||||
web_view_ = blink::WebView::create(this);
|
||||
ConfigureSettings(web_view_->settings());
|
||||
web_view_->setMainFrame(blink::WebLocalFrame::create(this));
|
||||
UpdateWebViewSize();
|
||||
web_view_->mainFrame()->load(url);
|
||||
}
|
||||
|
||||
void Engine::frameDetached(blink::WebFrame* frame) {
|
||||
// |frame| is invalid after here.
|
||||
frame->close();
|
||||
}
|
||||
|
||||
void Engine::initializeLayerTreeView() {
|
||||
}
|
||||
|
||||
void Engine::scheduleVisualUpdate() {
|
||||
animator_->RequestFrame();
|
||||
}
|
||||
|
||||
void Engine::didCreateIsolate(blink::WebLocalFrame* frame,
|
||||
Dart_Isolate isolate) {
|
||||
Internals::Create(isolate,
|
||||
CreateServiceProvider(config_.service_provider_context));
|
||||
}
|
||||
|
||||
void Engine::DidCreateIsolate(Dart_Isolate isolate) {
|
||||
Internals::Create(isolate,
|
||||
CreateServiceProvider(config_.service_provider_context));
|
||||
@ -286,10 +187,6 @@ void Engine::ScheduleFrame() {
|
||||
animator_->RequestFrame();
|
||||
}
|
||||
|
||||
blink::ServiceProvider* Engine::services() {
|
||||
return this;
|
||||
}
|
||||
|
||||
mojo::NavigatorHost* Engine::NavigatorHost() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -17,8 +17,6 @@
|
||||
#include "sky/engine/public/platform/ServiceProvider.h"
|
||||
#include "sky/engine/public/sky/sky_view.h"
|
||||
#include "sky/engine/public/sky/sky_view_client.h"
|
||||
#include "sky/engine/public/web/WebFrameClient.h"
|
||||
#include "sky/engine/public/web/WebViewClient.h"
|
||||
#include "sky/shell/gpu_delegate.h"
|
||||
#include "sky/shell/ui_delegate.h"
|
||||
#include "sky/shell/service_provider.h"
|
||||
@ -34,8 +32,6 @@ class Engine : public UIDelegate,
|
||||
public ViewportObserver,
|
||||
public blink::ServiceProvider,
|
||||
public mojo::NavigatorHost,
|
||||
public blink::WebFrameClient,
|
||||
public blink::WebViewClient,
|
||||
public blink::SkyViewClient {
|
||||
public:
|
||||
struct Config {
|
||||
@ -75,17 +71,6 @@ class Engine : public UIDelegate,
|
||||
const mojo::String& package_root) override;
|
||||
void RunFromSnapshot(const mojo::String& path) override;
|
||||
|
||||
// WebViewClient methods:
|
||||
void frameDetached(blink::WebFrame*) override;
|
||||
void initializeLayerTreeView() override;
|
||||
void scheduleVisualUpdate() override;
|
||||
blink::WebScreenInfo screenInfo() override;
|
||||
blink::ServiceProvider* services() override;
|
||||
|
||||
// WebFrameClient methods:
|
||||
void didCreateIsolate(blink::WebLocalFrame* frame,
|
||||
Dart_Isolate isolate) override;
|
||||
|
||||
// SkyViewClient methods:
|
||||
void ScheduleFrame() override;
|
||||
void DidCreateIsolate(Dart_Isolate isolate) override;
|
||||
@ -100,18 +85,14 @@ class Engine : public UIDelegate,
|
||||
void RequestNavigateHistory(int32_t delta) override;
|
||||
|
||||
void RunFromLibrary(const mojo::String& name);
|
||||
void CloseWebViewIfNeeded();
|
||||
void LoadUsingWebView(const mojo::String& mojo_url);
|
||||
|
||||
void UpdateSkyViewSize();
|
||||
void UpdateWebViewSize();
|
||||
|
||||
Config config_;
|
||||
scoped_ptr<Animator> animator_;
|
||||
|
||||
scoped_ptr<blink::DartLibraryProvider> dart_library_provider_;
|
||||
std::unique_ptr<blink::SkyView> sky_view_;
|
||||
blink::WebView* web_view_;
|
||||
|
||||
float device_pixel_ratio_;
|
||||
gfx::Size physical_size_;
|
||||
|
||||
@ -23,13 +23,6 @@
|
||||
#include "sky/engine/public/platform/WebInputEvent.h"
|
||||
#include "sky/engine/public/platform/WebScreenInfo.h"
|
||||
#include "sky/engine/public/web/Sky.h"
|
||||
#include "sky/engine/public/web/WebConsoleMessage.h"
|
||||
#include "sky/engine/public/web/WebDocument.h"
|
||||
#include "sky/engine/public/web/WebElement.h"
|
||||
#include "sky/engine/public/web/WebLocalFrame.h"
|
||||
#include "sky/engine/public/web/WebScriptSource.h"
|
||||
#include "sky/engine/public/web/WebSettings.h"
|
||||
#include "sky/engine/public/web/WebView.h"
|
||||
#include "sky/services/platform/url_request_types.h"
|
||||
#include "sky/viewer/compositor/layer.h"
|
||||
#include "sky/viewer/compositor/layer_host.h"
|
||||
@ -47,27 +40,6 @@
|
||||
namespace sky {
|
||||
namespace {
|
||||
|
||||
void ConfigureSettings(blink::WebSettings* settings) {
|
||||
settings->setDefaultFixedFontSize(13);
|
||||
settings->setDefaultFontSize(16);
|
||||
settings->setLoadsImagesAutomatically(true);
|
||||
}
|
||||
|
||||
mojo::Target WebNavigationPolicyToNavigationTarget(
|
||||
blink::WebNavigationPolicy policy) {
|
||||
switch (policy) {
|
||||
case blink::WebNavigationPolicyCurrentTab:
|
||||
return mojo::TARGET_SOURCE_NODE;
|
||||
case blink::WebNavigationPolicyNewBackgroundTab:
|
||||
case blink::WebNavigationPolicyNewForegroundTab:
|
||||
case blink::WebNavigationPolicyNewWindow:
|
||||
case blink::WebNavigationPolicyNewPopup:
|
||||
return mojo::TARGET_NEW_NODE;
|
||||
default:
|
||||
return mojo::TARGET_DEFAULT;
|
||||
}
|
||||
}
|
||||
|
||||
ui::EventType ConvertEventTypeToUIEventType(blink::WebInputEvent::Type type) {
|
||||
if (type == blink::WebInputEvent::PointerDown)
|
||||
return ui::ET_TOUCH_PRESSED;
|
||||
@ -117,7 +89,6 @@ DocumentView::DocumentView(
|
||||
exported_services_(services.Pass()),
|
||||
imported_services_(exported_services.Pass()),
|
||||
shell_(shell),
|
||||
web_view_(nullptr),
|
||||
root_(nullptr),
|
||||
view_manager_client_factory_(shell_, this),
|
||||
bitmap_rasterizer_(nullptr),
|
||||
@ -127,8 +98,6 @@ DocumentView::DocumentView(
|
||||
}
|
||||
|
||||
DocumentView::~DocumentView() {
|
||||
if (web_view_)
|
||||
web_view_->close();
|
||||
if (root_)
|
||||
root_->RemoveObserver(this);
|
||||
ui::GestureRecognizer::Get()->CleanupStateForConsumer(this);
|
||||
@ -159,10 +128,6 @@ void DocumentView::OnEmbed(
|
||||
|
||||
UpdateRootSizeAndViewportMetrics(root_->bounds());
|
||||
|
||||
// TODO(abarth): We should ask the view whether it is focused instead of
|
||||
// assuming that we're focused.
|
||||
if (web_view_)
|
||||
web_view_->setFocus(true);
|
||||
root_->AddObserver(this);
|
||||
}
|
||||
|
||||
@ -170,34 +135,17 @@ void DocumentView::OnViewManagerDisconnected(mojo::ViewManager* view_manager) {
|
||||
// TODO(aa): Need to figure out how shutdown works.
|
||||
}
|
||||
void DocumentView::Load(mojo::URLResponsePtr response) {
|
||||
GURL responseURL(response->url);
|
||||
|
||||
if (!blink::WebView::shouldUseWebView(responseURL)) {
|
||||
String name = String::fromUTF8(responseURL.spec());
|
||||
library_provider_.reset(new DartLibraryProviderImpl(
|
||||
blink::Platform::current()->networkService(),
|
||||
CreatePrefetchedLibraryIfNeeded(name, response.Pass())));
|
||||
sky_view_ = blink::SkyView::Create(this);
|
||||
initializeLayerTreeView();
|
||||
sky_view_->RunFromLibrary(name, library_provider_.get());
|
||||
return;
|
||||
}
|
||||
|
||||
if (!RuntimeFlags::Get().testing())
|
||||
LOG(WARNING) << ".sky support is deprecated, please use .dart for main()";
|
||||
|
||||
web_view_ = blink::WebView::create(this);
|
||||
ConfigureSettings(web_view_->settings());
|
||||
web_view_->setMainFrame(blink::WebLocalFrame::create(this));
|
||||
web_view_->mainFrame()->loadFromDataPipeWithURL(
|
||||
response->body.Pass(), responseURL);
|
||||
}
|
||||
|
||||
void DocumentView::initializeLayerTreeView() {
|
||||
String name = String::fromUTF8(response->url);
|
||||
library_provider_.reset(new DartLibraryProviderImpl(
|
||||
blink::Platform::current()->networkService(),
|
||||
CreatePrefetchedLibraryIfNeeded(name, response.Pass())));
|
||||
sky_view_ = blink::SkyView::Create(this);
|
||||
layer_host_.reset(new LayerHost(this));
|
||||
root_layer_ = make_scoped_refptr(new Layer(this));
|
||||
root_layer_->set_rasterizer(CreateRasterizer());
|
||||
layer_host_->SetRootLayer(root_layer_);
|
||||
|
||||
sky_view_->RunFromLibrary(name, library_provider_.get());
|
||||
}
|
||||
|
||||
scoped_ptr<Rasterizer> DocumentView::CreateRasterizer() {
|
||||
@ -241,21 +189,6 @@ void DocumentView::BeginFrame(base::TimeTicks frame_time) {
|
||||
sky_view_->BeginFrame(frame_time);
|
||||
root_layer_->SetSize(sky_view_->display_metrics().physical_size);
|
||||
}
|
||||
if (web_view_) {
|
||||
double frame_time_sec = (frame_time - base::TimeTicks()).InSecondsF();
|
||||
double deadline_sec = frame_time_sec;
|
||||
double interval_sec = 1.0/60;
|
||||
blink::WebBeginFrameArgs web_begin_frame_args(
|
||||
frame_time_sec, deadline_sec, interval_sec);
|
||||
|
||||
web_view_->beginFrame(web_begin_frame_args);
|
||||
web_view_->layout();
|
||||
|
||||
blink::WebSize size = web_view_->size();
|
||||
float device_pixel_ratio = GetDevicePixelRatio();
|
||||
root_layer_->SetSize(gfx::Size(size.width * device_pixel_ratio,
|
||||
size.height * device_pixel_ratio));
|
||||
}
|
||||
}
|
||||
|
||||
void DocumentView::OnSurfaceIdAvailable(mojo::SurfaceIdPtr surface_id) {
|
||||
@ -273,38 +206,6 @@ void DocumentView::PaintContents(SkCanvas* canvas, const gfx::Rect& clip) {
|
||||
if (picture)
|
||||
canvas->drawPicture(picture.get());
|
||||
}
|
||||
|
||||
if (web_view_)
|
||||
web_view_->paint(canvas, rect);
|
||||
}
|
||||
|
||||
void DocumentView::scheduleVisualUpdate() {
|
||||
layer_host_->SetNeedsAnimate();
|
||||
}
|
||||
|
||||
blink::WebScreenInfo DocumentView::screenInfo() {
|
||||
DCHECK(root_);
|
||||
auto& metrics = root_->viewport_metrics();
|
||||
blink::WebScreenInfo screen;
|
||||
screen.rect = blink::WebRect(0, 0, metrics.size->width, metrics.size->height);
|
||||
screen.availableRect = screen.rect;
|
||||
screen.deviceScaleFactor = metrics.device_pixel_ratio;
|
||||
return screen;
|
||||
}
|
||||
|
||||
mojo::View* DocumentView::createChildFrame() {
|
||||
if (!root_)
|
||||
return nullptr;
|
||||
|
||||
mojo::View* child = root_->view_manager()->CreateView();
|
||||
child->SetVisible(true);
|
||||
root_->AddChild(child);
|
||||
return child;
|
||||
}
|
||||
|
||||
void DocumentView::frameDetached(blink::WebFrame* frame) {
|
||||
// |frame| is invalid after here.
|
||||
frame->close();
|
||||
}
|
||||
|
||||
float DocumentView::GetDevicePixelRatio() const {
|
||||
@ -313,38 +214,10 @@ float DocumentView::GetDevicePixelRatio() const {
|
||||
return 1.f;
|
||||
}
|
||||
|
||||
blink::WebNavigationPolicy DocumentView::decidePolicyForNavigation(
|
||||
const blink::WebFrameClient::NavigationPolicyInfo& info) {
|
||||
|
||||
if (navigator_host_.get()) {
|
||||
navigator_host_->RequestNavigate(
|
||||
WebNavigationPolicyToNavigationTarget(info.defaultPolicy),
|
||||
mojo::URLRequest::From(info.urlRequest).Pass());
|
||||
}
|
||||
|
||||
return blink::WebNavigationPolicyIgnore;
|
||||
}
|
||||
|
||||
void DocumentView::didAddMessageToConsole(
|
||||
const blink::WebConsoleMessage& message,
|
||||
const blink::WebString& source_name,
|
||||
unsigned source_line,
|
||||
const blink::WebString& stack_trace) {
|
||||
}
|
||||
|
||||
void DocumentView::didCreateIsolate(blink::WebLocalFrame* frame,
|
||||
Dart_Isolate isolate) {
|
||||
Internals::Create(isolate, this);
|
||||
}
|
||||
|
||||
void DocumentView::DidCreateIsolate(Dart_Isolate isolate) {
|
||||
Internals::Create(isolate, this);
|
||||
}
|
||||
|
||||
blink::ServiceProvider* DocumentView::services() {
|
||||
return this;
|
||||
}
|
||||
|
||||
mojo::NavigatorHost* DocumentView::NavigatorHost() {
|
||||
return navigator_host_.get();
|
||||
}
|
||||
@ -362,9 +235,6 @@ void DocumentView::OnViewViewportMetricsChanged(
|
||||
const mojo::ViewportMetrics& new_metrics) {
|
||||
DCHECK_EQ(view, root_);
|
||||
|
||||
if (web_view_) {
|
||||
web_view_->setDeviceScaleFactor(GetDevicePixelRatio());
|
||||
}
|
||||
UpdateRootSizeAndViewportMetrics(root_->bounds());
|
||||
}
|
||||
|
||||
@ -380,20 +250,10 @@ void DocumentView::UpdateRootSizeAndViewportMetrics(
|
||||
sky_view_->SetDisplayMetrics(metrics);
|
||||
return;
|
||||
}
|
||||
|
||||
web_view_->resize(blink::WebSize(new_bounds.width / device_pixel_ratio,
|
||||
new_bounds.height / device_pixel_ratio));
|
||||
}
|
||||
|
||||
void DocumentView::OnViewFocusChanged(mojo::View* gained_focus,
|
||||
mojo::View* lost_focus) {
|
||||
if (sky_view_)
|
||||
return;
|
||||
if (root_ == lost_focus) {
|
||||
web_view_->setFocus(false);
|
||||
} else if (root_ == gained_focus) {
|
||||
web_view_->setFocus(true);
|
||||
}
|
||||
}
|
||||
|
||||
void DocumentView::OnViewDestroyed(mojo::View* view) {
|
||||
@ -418,8 +278,6 @@ void DocumentView::OnViewInputEvent(
|
||||
|
||||
bool handled = false;
|
||||
|
||||
if (web_view_)
|
||||
handled = web_view_->handleInputEvent(*web_event);
|
||||
if (sky_view_)
|
||||
sky_view_->HandleInputEvent(*web_event);
|
||||
|
||||
@ -431,8 +289,6 @@ void DocumentView::OnViewInputEvent(
|
||||
scoped_ptr<blink::WebInputEvent> gesture_event =
|
||||
ConvertEvent(*gesture, device_pixel_ratio);
|
||||
if (gesture_event) {
|
||||
if (web_view_)
|
||||
web_view_->handleInputEvent(*gesture_event);
|
||||
if (sky_view_)
|
||||
sky_view_->HandleInputEvent(*gesture_event);
|
||||
}
|
||||
|
||||
@ -22,8 +22,6 @@
|
||||
#include "sky/engine/public/platform/ServiceProvider.h"
|
||||
#include "sky/engine/public/sky/sky_view.h"
|
||||
#include "sky/engine/public/sky/sky_view_client.h"
|
||||
#include "sky/engine/public/web/WebFrameClient.h"
|
||||
#include "sky/engine/public/web/WebViewClient.h"
|
||||
#include "sky/services/testing/test_harness.mojom.h"
|
||||
#include "sky/viewer/compositor/layer_client.h"
|
||||
#include "sky/viewer/compositor/layer_host_client.h"
|
||||
@ -42,8 +40,6 @@ class LayerHost;
|
||||
class DartLibraryProviderImpl;
|
||||
|
||||
class DocumentView : public blink::ServiceProvider,
|
||||
public blink::WebFrameClient,
|
||||
public blink::WebViewClient,
|
||||
public blink::SkyViewClient,
|
||||
public mojo::ViewManagerDelegate,
|
||||
public mojo::ViewObserver,
|
||||
@ -59,8 +55,6 @@ class DocumentView : public blink::ServiceProvider,
|
||||
|
||||
base::WeakPtr<DocumentView> GetWeakPtr();
|
||||
|
||||
blink::WebView* web_view() const { return web_view_; }
|
||||
|
||||
mojo::Shell* shell() const { return shell_; }
|
||||
|
||||
// sky::LayerHostClient
|
||||
@ -83,30 +77,9 @@ class DocumentView : public blink::ServiceProvider,
|
||||
mojo::ScopedMessagePipeHandle TakeServiceRegistry();
|
||||
|
||||
private:
|
||||
// WebViewClient methods:
|
||||
void initializeLayerTreeView() override;
|
||||
void scheduleVisualUpdate() override;
|
||||
blink::WebScreenInfo screenInfo() override;
|
||||
|
||||
// WebFrameClient methods:
|
||||
mojo::View* createChildFrame() override;
|
||||
void frameDetached(blink::WebFrame*) override;
|
||||
blink::WebNavigationPolicy decidePolicyForNavigation(
|
||||
const blink::WebFrameClient::NavigationPolicyInfo& info) override;
|
||||
void didAddMessageToConsole(
|
||||
const blink::WebConsoleMessage& message,
|
||||
const blink::WebString& source_name,
|
||||
unsigned source_line,
|
||||
const blink::WebString& stack_trace) override;
|
||||
void didCreateIsolate(blink::WebLocalFrame* frame,
|
||||
Dart_Isolate isolate) override;
|
||||
|
||||
// SkyViewClient methods:
|
||||
void DidCreateIsolate(Dart_Isolate isolate) override;
|
||||
|
||||
// WebViewClient methods:
|
||||
blink::ServiceProvider* services() override;
|
||||
|
||||
// Services methods:
|
||||
mojo::NavigatorHost* NavigatorHost() override;
|
||||
|
||||
@ -146,7 +119,6 @@ class DocumentView : public blink::ServiceProvider,
|
||||
TestHarnessPtr test_harness_;
|
||||
mojo::NavigatorHostPtr navigator_host_;
|
||||
std::unique_ptr<blink::SkyView> sky_view_;
|
||||
blink::WebView* web_view_;
|
||||
mojo::View* root_;
|
||||
mojo::ViewManagerClientFactory view_manager_client_factory_;
|
||||
scoped_ptr<DartLibraryProviderImpl> library_provider_;
|
||||
|
||||
@ -6,9 +6,6 @@
|
||||
|
||||
#include "mojo/public/cpp/application/connect.h"
|
||||
#include "mojo/public/cpp/bindings/array.h"
|
||||
#include "sky/engine/public/web/WebDocument.h"
|
||||
#include "sky/engine/public/web/WebFrame.h"
|
||||
#include "sky/engine/public/web/WebView.h"
|
||||
#include "sky/engine/tonic/dart_builtin.h"
|
||||
#include "sky/engine/tonic/dart_converter.h"
|
||||
#include "sky/engine/tonic/dart_error.h"
|
||||
@ -112,16 +109,11 @@ Internals::~Internals() {
|
||||
}
|
||||
|
||||
std::string Internals::RenderTreeAsText() {
|
||||
if (!document_view_)
|
||||
return std::string();
|
||||
return document_view_->web_view()->mainFrame()->renderTreeAsText().utf8();
|
||||
return std::string();
|
||||
}
|
||||
|
||||
std::string Internals::ContentAsText() {
|
||||
if (!document_view_)
|
||||
return std::string();
|
||||
return document_view_->web_view()->mainFrame()->contentAsText(
|
||||
1024*1024).utf8();
|
||||
return std::string();
|
||||
}
|
||||
|
||||
void Internals::NotifyTestComplete(const std::string& test_result) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user