Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2817)

Unified Diff: blimp/engine/browser/blimp_window.cc

Issue 1403083002: [Blimp] Adds Blimp EngineSession and ClientSession skeleton (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « blimp/engine/browser/blimp_window.h ('k') | blimp/engine/ui/blimp_screen.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: blimp/engine/browser/blimp_window.cc
diff --git a/blimp/engine/browser/blimp_window.cc b/blimp/engine/browser/blimp_window.cc
deleted file mode 100644
index bc7944833a783d92433097f77bb4683c9fcc7921..0000000000000000000000000000000000000000
--- a/blimp/engine/browser/blimp_window.cc
+++ /dev/null
@@ -1,140 +0,0 @@
-// 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 "blimp/engine/browser/blimp_window.h"
-
-#include "base/strings/string_util.h"
-#include "blimp/engine/browser/blimp_browser_main_parts.h"
-#include "blimp/engine/browser/blimp_content_browser_client.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/render_widget_host_view.h"
-#include "content/public/browser/web_contents.h"
-
-namespace blimp {
-namespace engine {
-
-namespace {
-const int kDefaultWindowWidthDip = 1;
-const int kDefaultWindowHeightDip = 1;
-
-// TODO(haibinlu): cleanup BlimpWindows on shutdown. See crbug/540498.
-typedef std::vector<BlimpWindow*> BlimpWindows;
-base::LazyInstance<BlimpWindows>::Leaky g_instances = LAZY_INSTANCE_INITIALIZER;
-
-// Returns the default size if |size| has 0 for width and/or height;
-// otherwise, returns |size|.
-gfx::Size AdjustWindowSize(const gfx::Size& size) {
- return size.IsEmpty()
- ? gfx::Size(kDefaultWindowWidthDip, kDefaultWindowHeightDip)
- : size;
-}
-} // namespace
-
-BlimpWindow::~BlimpWindow() {
- BlimpWindows* instances = g_instances.Pointer();
- BlimpWindows::iterator it(
- std::find(instances->begin(), instances->end(), this));
- DCHECK(it != instances->end());
- instances->erase(it);
-}
-
-// static
-void BlimpWindow::Create(content::BrowserContext* browser_context,
- const GURL& url,
- content::SiteInstance* site_instance,
- const gfx::Size& initial_size) {
- content::WebContents::CreateParams create_params(browser_context,
- site_instance);
- scoped_ptr<content::WebContents> web_contents(
- content::WebContents::Create(create_params));
- BlimpWindow* win = DoCreate(web_contents.Pass(), initial_size);
- if (!url.is_empty())
- win->LoadURL(url);
-}
-
-void BlimpWindow::LoadURL(const GURL& url) {
- content::NavigationController::LoadURLParams params(url);
- params.transition_type = ui::PageTransitionFromInt(
- ui::PAGE_TRANSITION_TYPED | ui::PAGE_TRANSITION_FROM_ADDRESS_BAR);
- web_contents_->GetController().LoadURLWithParams(params);
- web_contents_->Focus();
-}
-
-void BlimpWindow::AddNewContents(content::WebContents* source,
- content::WebContents* new_contents,
- WindowOpenDisposition disposition,
- const gfx::Rect& initial_rect,
- bool user_gesture,
- bool* was_blocked) {
- DoCreate(scoped_ptr<content::WebContents>(new_contents), initial_rect.size());
-}
-
-content::WebContents* BlimpWindow::OpenURLFromTab(
- content::WebContents* source,
- const content::OpenURLParams& params) {
- // CURRENT_TAB is the only one we implement for now.
- if (params.disposition != CURRENT_TAB)
- return nullptr;
- // TOOD(haibinlu): add helper method to get LoadURLParams from OpenURLParams.
- content::NavigationController::LoadURLParams load_url_params(params.url);
- load_url_params.source_site_instance = params.source_site_instance;
- load_url_params.referrer = params.referrer;
- load_url_params.frame_tree_node_id = params.frame_tree_node_id;
- load_url_params.transition_type = params.transition;
- load_url_params.extra_headers = params.extra_headers;
- load_url_params.should_replace_current_entry =
- params.should_replace_current_entry;
-
- if (params.transferred_global_request_id != content::GlobalRequestID()) {
- load_url_params.is_renderer_initiated = params.is_renderer_initiated;
- load_url_params.transferred_global_request_id =
- params.transferred_global_request_id;
- } else if (params.is_renderer_initiated) {
- load_url_params.is_renderer_initiated = true;
- }
-
- source->GetController().LoadURLWithParams(load_url_params);
- return source;
-}
-
-void BlimpWindow::RequestToLockMouse(content::WebContents* web_contents,
- bool user_gesture,
- bool last_unlocked_by_target) {
- web_contents->GotResponseToLockMouseRequest(true);
-}
-
-void BlimpWindow::CloseContents(content::WebContents* source) {
- delete this;
-}
-
-void BlimpWindow::ActivateContents(content::WebContents* contents) {
- contents->GetRenderViewHost()->Focus();
-}
-
-void BlimpWindow::DeactivateContents(content::WebContents* contents) {
- contents->GetRenderViewHost()->Blur();
-}
-
-BlimpWindow::BlimpWindow(scoped_ptr<content::WebContents> web_contents)
- : web_contents_(web_contents.Pass()) {
- web_contents_->SetDelegate(this);
- g_instances.Get().push_back(this);
-}
-
-// static
-BlimpWindow* BlimpWindow::DoCreate(
- scoped_ptr<content::WebContents> web_contents,
- const gfx::Size& initial_size) {
- BlimpWindow* win = new BlimpWindow(web_contents.Pass());
- content::RenderWidgetHostView* host_view =
- win->web_contents_->GetRenderWidgetHostView();
- if (host_view)
- host_view->SetSize(AdjustWindowSize(initial_size));
- return win;
-}
-
-} // namespace engine
-} // namespace blimp
« no previous file with comments | « blimp/engine/browser/blimp_window.h ('k') | blimp/engine/ui/blimp_screen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698