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

Unified Diff: extensions/browser/api/app_window/app_window_api.cc

Issue 1211003006: [Extensions OOPI] Update app window bindings for OOPI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 | « content/renderer/render_frame_impl.cc ('k') | extensions/browser/app_window/app_window_contents.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/api/app_window/app_window_api.cc
diff --git a/extensions/browser/api/app_window/app_window_api.cc b/extensions/browser/api/app_window/app_window_api.cc
index c14d3b1b51fd31887105a7ca4cbcca280dec812a..fcc59610400d52635161d3f6765616c5d5361b95 100644
--- a/extensions/browser/api/app_window/app_window_api.cc
+++ b/extensions/browser/api/app_window/app_window_api.cc
@@ -13,7 +13,6 @@
#include "content/public/browser/notification_types.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/url_constants.h"
#include "extensions/browser/app_window/app_window.h"
@@ -136,6 +135,7 @@ bool AppWindowCreateFunction::RunAsync() {
GURL url = extension()->GetResourceURL(params->url);
// Allow absolute URLs for component apps, otherwise prepend the extension
// path.
+ // TODO(devlin): Investigate if this is still used. If not, kill it dead!
GURL absolute = GURL(params->url);
if (absolute.has_scheme()) {
if (extension()->location() == Manifest::COMPONENT) {
@@ -171,28 +171,29 @@ bool AppWindowCreateFunction::RunAsync() {
}
if (!options->singleton || *options->singleton) {
- AppWindow* window = AppWindowRegistry::Get(browser_context())
- ->GetAppWindowForAppAndKey(
- extension_id(), create_params.window_key);
- if (window) {
- content::RenderViewHost* created_view =
- window->web_contents()->GetRenderViewHost();
- int view_id = MSG_ROUTING_NONE;
+ AppWindow* existing_window =
+ AppWindowRegistry::Get(browser_context())
+ ->GetAppWindowForAppAndKey(extension_id(),
+ create_params.window_key);
+ if (existing_window) {
+ content::RenderFrameHost* existing_frame =
+ existing_window->web_contents()->GetMainFrame();
+ int frame_id = MSG_ROUTING_NONE;
if (render_frame_host()->GetProcess()->GetID() ==
- created_view->GetProcess()->GetID()) {
- view_id = created_view->GetRoutingID();
+ existing_frame->GetProcess()->GetID()) {
+ frame_id = existing_frame->GetRoutingID();
}
if (!options->hidden.get() || !*options->hidden.get()) {
if (options->focused.get() && !*options->focused.get())
- window->Show(AppWindow::SHOW_INACTIVE);
+ existing_window->Show(AppWindow::SHOW_INACTIVE);
else
- window->Show(AppWindow::SHOW_ACTIVE);
+ existing_window->Show(AppWindow::SHOW_ACTIVE);
}
base::DictionaryValue* result = new base::DictionaryValue;
- result->Set("viewId", new base::FundamentalValue(view_id));
- window->GetSerializedState(result);
+ result->Set("frameId", new base::FundamentalValue(frame_id));
+ existing_window->GetSerializedState(result);
result->SetBoolean("existingWindow", true);
// TODO(benwells): Remove HTML titlebar injection.
result->SetBoolean("injectTitlebar", false);
@@ -344,14 +345,14 @@ bool AppWindowCreateFunction::RunAsync() {
app_window->ForcedFullscreen();
}
- content::RenderViewHost* created_view =
- app_window->web_contents()->GetRenderViewHost();
- int view_id = MSG_ROUTING_NONE;
- if (create_params.creator_process_id == created_view->GetProcess()->GetID())
- view_id = created_view->GetRoutingID();
+ content::RenderFrameHost* created_frame =
+ app_window->web_contents()->GetMainFrame();
+ int frame_id = MSG_ROUTING_NONE;
+ if (create_params.creator_process_id == created_frame->GetProcess()->GetID())
+ frame_id = created_frame->GetRoutingID();
base::DictionaryValue* result = new base::DictionaryValue;
- result->Set("viewId", new base::FundamentalValue(view_id));
+ result->Set("frameId", new base::FundamentalValue(frame_id));
result->Set("injectTitlebar",
new base::FundamentalValue(inject_html_titlebar_));
result->Set("id", new base::StringValue(app_window->window_key()));
@@ -359,7 +360,7 @@ bool AppWindowCreateFunction::RunAsync() {
SetResult(result);
if (AppWindowRegistry::Get(browser_context())
- ->HadDevToolsAttached(created_view)) {
+ ->HadDevToolsAttached(app_window->web_contents())) {
AppWindowClient::Get()->OpenDevToolsWindow(
app_window->web_contents(),
base::Bind(&AppWindowCreateFunction::SendResponse, this, true));
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | extensions/browser/app_window/app_window_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698