From 0dbe4bc41765bbc94866592f46fd0909074d093e Mon Sep 17 00:00:00 2001 From: Heilig Benedek Date: Thu, 28 Jul 2016 01:58:23 +0200 Subject: [PATCH] api base --- atom/browser/api/atom_api_web_contents.cc | 10 +- atom/browser/api/atom_api_window.cc | 8 - atom/browser/common_web_contents_delegate.cc | 8 - atom/browser/native_window_views.cc | 18 - atom/browser/native_window_views.h | 1 - atom/browser/web_contents_preferences.cc | 2 - default_app/default_app.js | 357 ++++++++++--------- 7 files changed, 188 insertions(+), 216 deletions(-) diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index ed746fa6e739..99636b425b44 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -287,6 +287,9 @@ WebContents::WebContents(v8::Isolate* isolate, type_ = WEB_VIEW; else if (options.Get("isBackgroundPage", &b) && b) type_ = BACKGROUND_PAGE; + + bool offscreen = false; + options.Get("offScreen", &offscreen); // Obtain the session. std::string partition; @@ -310,8 +313,8 @@ WebContents::WebContents(v8::Isolate* isolate, guest_delegate_.reset(new WebViewGuestDelegate); params.guest_delegate = guest_delegate_.get(); web_contents = content::WebContents::Create(params); - } else { - content::WebContents::CreateParams params(session->browser_context()); + } else if(offscreen) { + content::WebContents::CreateParams params(session->browser_context()); auto view = new OffScreenWebContentsView(); params.view = view; @@ -319,6 +322,9 @@ WebContents::WebContents(v8::Isolate* isolate, web_contents = content::WebContents::Create(params); view->SetWebContents(web_contents); + } else { + content::WebContents::CreateParams params(session->browser_context()); + web_contents = content::WebContents::Create(params); } Observe(web_contents); diff --git a/atom/browser/api/atom_api_window.cc b/atom/browser/api/atom_api_window.cc index c2ba13fce19a..5b4addbc4b2d 100644 --- a/atom/browser/api/atom_api_window.cc +++ b/atom/browser/api/atom_api_window.cc @@ -74,14 +74,6 @@ Window::Window(v8::Isolate* isolate, const mate::Dictionary& options) { mate::Dictionary web_preferences = mate::Dictionary::CreateEmpty(isolate); options.Get(options::kWebPreferences, &web_preferences); - bool b; - if (options.Get("disableGPU", &b) && b) { - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - - command_line->AppendSwitch(::switches::kDisableGpu); - command_line->AppendSwitch(::switches::kDisableGpuCompositing); - } - // Copy the backgroundColor to webContents. v8::Local value; if (options.Get(options::kBackgroundColor, &value)) diff --git a/atom/browser/common_web_contents_delegate.cc b/atom/browser/common_web_contents_delegate.cc index 8e4f79a2d684..d22a6801820e 100644 --- a/atom/browser/common_web_contents_delegate.cc +++ b/atom/browser/common_web_contents_delegate.cc @@ -188,20 +188,12 @@ void CommonWebContentsDelegate::InitWithWebContents( printing::PrintViewManagerBasic::CreateForWebContents(web_contents); printing::PrintPreviewMessageHandler::CreateForWebContents(web_contents); - // content::WebContentsImpl* impl = - // reinterpret_cast(web_contents); - - std::cout << "end" << std::endl; // Create InspectableWebContents. web_contents_.reset(brightray::InspectableWebContents::Create(web_contents)); web_contents_->SetDelegate(this); - - // impl->SetView(new OffScreenWebContentsView); - std::cout << "end" << std::endl; } void CommonWebContentsDelegate::SetOwnerWindow(NativeWindow* owner_window) { - std::cout << "SetOwnerWindow" << std::endl; SetOwnerWindow(GetWebContents(), owner_window); } diff --git a/atom/browser/native_window_views.cc b/atom/browser/native_window_views.cc index 066bca0b55f1..a655b88c6ac1 100644 --- a/atom/browser/native_window_views.cc +++ b/atom/browser/native_window_views.cc @@ -344,24 +344,6 @@ NativeWindowViews::~NativeWindowViews() { window_->RemoveObserver(this); } -void NativeWindowViews::RenderViewCreated( - content::RenderViewHost* render_view_host) { - std::cout << "NativeWindowViews::RenderViewCreated" << std::endl; - NativeWindow::RenderViewCreated(render_view_host); - - content::RenderWidgetHostImpl* impl = content::RenderWidgetHostImpl::FromID( - render_view_host->GetProcess()->GetID(), - render_view_host->GetRoutingID()); - if (impl) { - //auto win = new OffScreenWindow(impl); - - /*auto view = widget()->GetContentsView(); - view->AcquireLayer(); - view->SetLayer(win->DelegatedFrameHostGetLayer()); - win->DelegatedFrameHostGetLayer()->set_delegate(view);*/ - } -} - void NativeWindowViews::Close() { if (!IsClosable()) { WindowList::WindowCloseCancelled(this); diff --git a/atom/browser/native_window_views.h b/atom/browser/native_window_views.h index f0f38cc9a17d..4dde25b6172f 100644 --- a/atom/browser/native_window_views.h +++ b/atom/browser/native_window_views.h @@ -49,7 +49,6 @@ class NativeWindowViews : public NativeWindow, ~NativeWindowViews() override; // NativeWindow: - void RenderViewCreated(content::RenderViewHost*) override; void Close() override; void CloseImmediately() override; void Focus(bool focus) override; diff --git a/atom/browser/web_contents_preferences.cc b/atom/browser/web_contents_preferences.cc index 078dc27c05fe..a019f5f12867 100644 --- a/atom/browser/web_contents_preferences.cc +++ b/atom/browser/web_contents_preferences.cc @@ -25,8 +25,6 @@ #include "ui/gfx/switches.h" #endif -#include - DEFINE_WEB_CONTENTS_USER_DATA_KEY(atom::WebContentsPreferences); namespace atom { diff --git a/default_app/default_app.js b/default_app/default_app.js index dec319d97387..60544ac5af78 100644 --- a/default_app/default_app.js +++ b/default_app/default_app.js @@ -15,6 +15,9 @@ let mainWindow6 = null let mainWindow7 = null let mainWindow8 = null +app.commandLine.appendSwitch('--disable-gpu'); +app.commandLine.appendSwitch('--disable-gpu-compositing'); + // Quit when all windows are closed. app.on('window-all-closed', () => { app.quit() @@ -23,13 +26,13 @@ app.on('window-all-closed', () => { exports.load = (appUrl) => { app.on('ready', () => { mainWindow1 = new BrowserWindow({ - disableGPU: true, width: 800, height: 600, autoHideMenuBar: true, backgroundColor: '#FFFFFF', useContentSize: true, webPreferences: { + offScreen: true, nodeIntegration: false } }) @@ -73,7 +76,7 @@ exports.load = (appUrl) => { }) mainWindow2.loadURL(appUrl) mainWindow2.focus() - mainWindow2.webContents.on('dom-ready', () => { + /*mainWindow2.webContents.on('dom-ready', () => { mainWindow2.webContents.beginFrameSubscription(() => { console.log("asd") }) @@ -88,180 +91,180 @@ exports.load = (appUrl) => { console.log(`browser #2: ${d < 10 ? ` ${d}` : d} ms`) start2 = end2 - }) - - mainWindow3 = new BrowserWindow({ - width: 800, - height: 600, - autoHideMenuBar: true, - backgroundColor: '#FFFFFF', - useContentSize: true, - webPreferences: { - nodeIntegration: false - } - }) - mainWindow3.loadURL(appUrl) - mainWindow3.focus() - mainWindow3.webContents.on('dom-ready', () => { - mainWindow3.webContents.beginFrameSubscription(() => { - console.log("asd") - }) - }) - - var start3, end3 - start3 = +new Date(); - mainWindow3.webContents.on('paint', (e, rect, w, h, data) => { - end3 = +new Date(); - - const d = end3 - start3 - console.log(`browser #3: ${d < 10 ? ` ${d}` : d} ms`) - - start3 = end3 - }) - - mainWindow4 = new BrowserWindow({ - width: 800, - height: 600, - autoHideMenuBar: true, - backgroundColor: '#FFFFFF', - useContentSize: true, - webPreferences: { - nodeIntegration: false - } - }) - mainWindow4.loadURL(appUrl) - mainWindow4.focus() - mainWindow4.webContents.on('dom-ready', () => { - mainWindow4.webContents.beginFrameSubscription(() => { - console.log("asd") - }) - }) - - var start4, end4 - start4 = +new Date(); - mainWindow4.webContents.on('paint', (e, rect, w, h, data) => { - end4 = +new Date(); - - const d = end4 - start4 - console.log(`browser #4: ${d < 10 ? ` ${d}` : d} ms`) - - start4 = end4 - }) - - mainWindow5 = new BrowserWindow({ - width: 800, - height: 600, - autoHideMenuBar: true, - backgroundColor: '#FFFFFF', - useContentSize: true, - webPreferences: { - nodeIntegration: false - } - }) - mainWindow5.loadURL(appUrl) - mainWindow5.focus() - mainWindow5.webContents.on('dom-ready', () => { - mainWindow5.webContents.beginFrameSubscription(() => { - console.log("asd") - }) - }) - - var start5, end5 - start5 = +new Date(); - mainWindow5.webContents.on('paint', (e, rect, w, h, data) => { - end5 = +new Date(); - - const d = end5 - start5 - console.log(`browser #5: ${d < 10 ? ` ${d}` : d} ms`) - - start5 = end5 - }) - - mainWindow6 = new BrowserWindow({ - width: 800, - height: 600, - autoHideMenuBar: true, - backgroundColor: '#FFFFFF', - useContentSize: true, - webPreferences: { - nodeIntegration: false - } - }) - mainWindow6.loadURL(appUrl) - mainWindow6.focus() - mainWindow6.webContents.on('dom-ready', () => { - mainWindow6.webContents.beginFrameSubscription(() => { - console.log("asd") - }) - }) - - var start6, end6 - start6 = +new Date(); - mainWindow6.webContents.on('paint', (e, rect, w, h, data) => { - end6 = +new Date(); - - const d = end6 - start6 - console.log(`browser #6: ${d < 10 ? ` ${d}` : d} ms`) - - start6 = end6 - }) - - mainWindow7 = new BrowserWindow({ - width: 800, - height: 600, - autoHideMenuBar: true, - backgroundColor: '#FFFFFF', - useContentSize: true, - webPreferences: { - nodeIntegration: false - } - }) - mainWindow7.loadURL(appUrl) - mainWindow7.focus() - mainWindow7.webContents.on('dom-ready', () => { - mainWindow7.webContents.beginFrameSubscription(() => { - console.log("asd") - }) - }) - - var start7, end7 - start7 = +new Date(); - mainWindow7.webContents.on('paint', (e, rect, w, h, data) => { - end7 = +new Date(); - - const d = end7 - start7 - console.log(`browser #7: ${d < 10 ? ` ${d}` : d} ms`) - - start7 = end7 - }) - - mainWindow8 = new BrowserWindow({ - width: 800, - height: 600, - autoHideMenuBar: true, - backgroundColor: '#FFFFFF', - useContentSize: true, - webPreferences: { - nodeIntegration: false - } - }) - mainWindow8.loadURL(appUrl) - mainWindow8.focus() - mainWindow8.webContents.on('dom-ready', () => { - mainWindow8.webContents.beginFrameSubscription(() => { - console.log("asd") - }) - }) - - var start8, end8 - start8 = +new Date(); - mainWindow8.webContents.on('paint', (e, rect, w, h, data) => { - end8 = +new Date(); - - const d = end8 - start8 - console.log(`browser #8: ${d < 10 ? ` ${d}` : d} ms`) - - start8 = end8 - }) + })*/ + // + // mainWindow3 = new BrowserWindow({ + // width: 800, + // height: 600, + // autoHideMenuBar: true, + // backgroundColor: '#FFFFFF', + // useContentSize: true, + // webPreferences: { + // nodeIntegration: false + // } + // }) + // mainWindow3.loadURL(appUrl) + // mainWindow3.focus() + // mainWindow3.webContents.on('dom-ready', () => { + // mainWindow3.webContents.beginFrameSubscription(() => { + // console.log("asd") + // }) + // }) + // + // var start3, end3 + // start3 = +new Date(); + // mainWindow3.webContents.on('paint', (e, rect, w, h, data) => { + // end3 = +new Date(); + // + // const d = end3 - start3 + // console.log(`browser #3: ${d < 10 ? ` ${d}` : d} ms`) + // + // start3 = end3 + // }) + // + // mainWindow4 = new BrowserWindow({ + // width: 800, + // height: 600, + // autoHideMenuBar: true, + // backgroundColor: '#FFFFFF', + // useContentSize: true, + // webPreferences: { + // nodeIntegration: false + // } + // }) + // mainWindow4.loadURL(appUrl) + // mainWindow4.focus() + // mainWindow4.webContents.on('dom-ready', () => { + // mainWindow4.webContents.beginFrameSubscription(() => { + // console.log("asd") + // }) + // }) + // + // var start4, end4 + // start4 = +new Date(); + // mainWindow4.webContents.on('paint', (e, rect, w, h, data) => { + // end4 = +new Date(); + // + // const d = end4 - start4 + // console.log(`browser #4: ${d < 10 ? ` ${d}` : d} ms`) + // + // start4 = end4 + // }) + // + // mainWindow5 = new BrowserWindow({ + // width: 800, + // height: 600, + // autoHideMenuBar: true, + // backgroundColor: '#FFFFFF', + // useContentSize: true, + // webPreferences: { + // nodeIntegration: false + // } + // }) + // mainWindow5.loadURL(appUrl) + // mainWindow5.focus() + // mainWindow5.webContents.on('dom-ready', () => { + // mainWindow5.webContents.beginFrameSubscription(() => { + // console.log("asd") + // }) + // }) + // + // var start5, end5 + // start5 = +new Date(); + // mainWindow5.webContents.on('paint', (e, rect, w, h, data) => { + // end5 = +new Date(); + // + // const d = end5 - start5 + // console.log(`browser #5: ${d < 10 ? ` ${d}` : d} ms`) + // + // start5 = end5 + // }) + // + // mainWindow6 = new BrowserWindow({ + // width: 800, + // height: 600, + // autoHideMenuBar: true, + // backgroundColor: '#FFFFFF', + // useContentSize: true, + // webPreferences: { + // nodeIntegration: false + // } + // }) + // mainWindow6.loadURL(appUrl) + // mainWindow6.focus() + // mainWindow6.webContents.on('dom-ready', () => { + // mainWindow6.webContents.beginFrameSubscription(() => { + // console.log("asd") + // }) + // }) + // + // var start6, end6 + // start6 = +new Date(); + // mainWindow6.webContents.on('paint', (e, rect, w, h, data) => { + // end6 = +new Date(); + // + // const d = end6 - start6 + // console.log(`browser #6: ${d < 10 ? ` ${d}` : d} ms`) + // + // start6 = end6 + // }) + // + // mainWindow7 = new BrowserWindow({ + // width: 800, + // height: 600, + // autoHideMenuBar: true, + // backgroundColor: '#FFFFFF', + // useContentSize: true, + // webPreferences: { + // nodeIntegration: false + // } + // }) + // mainWindow7.loadURL(appUrl) + // mainWindow7.focus() + // mainWindow7.webContents.on('dom-ready', () => { + // mainWindow7.webContents.beginFrameSubscription(() => { + // console.log("asd") + // }) + // }) + // + // var start7, end7 + // start7 = +new Date(); + // mainWindow7.webContents.on('paint', (e, rect, w, h, data) => { + // end7 = +new Date(); + // + // const d = end7 - start7 + // console.log(`browser #7: ${d < 10 ? ` ${d}` : d} ms`) + // + // start7 = end7 + // }) + // + // mainWindow8 = new BrowserWindow({ + // width: 800, + // height: 600, + // autoHideMenuBar: true, + // backgroundColor: '#FFFFFF', + // useContentSize: true, + // webPreferences: { + // nodeIntegration: false + // } + // }) + // mainWindow8.loadURL(appUrl) + // mainWindow8.focus() + // mainWindow8.webContents.on('dom-ready', () => { + // mainWindow8.webContents.beginFrameSubscription(() => { + // console.log("asd") + // }) + // }) + // + // var start8, end8 + // start8 = +new Date(); + // mainWindow8.webContents.on('paint', (e, rect, w, h, data) => { + // end8 = +new Date(); + // + // const d = end8 - start8 + // console.log(`browser #8: ${d < 10 ? ` ${d}` : d} ms`) + // + // start8 = end8 + // }) }) }