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

Unified Diff: mandoline/ui/browser/browser.cc

Issue 1121783003: Move navigations with POST or referrer to the shell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 5 years, 7 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 | « mandoline/ui/browser/browser.h ('k') | mandoline/ui/browser/desktop/desktop_ui.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mandoline/ui/browser/browser.cc
diff --git a/mandoline/ui/browser/browser.cc b/mandoline/ui/browser/browser.cc
index d58f69dedd6cb267d578009843f32a92b12cf2a3..5509efb74d3db6129c4c7337bdd9eed796c53436 100644
--- a/mandoline/ui/browser/browser.cc
+++ b/mandoline/ui/browser/browser.cc
@@ -46,8 +46,8 @@ Browser::~Browser() {
delete ui_.release();
}
-void Browser::ReplaceContentWithURL(const mojo::String& url) {
- Embed(url, nullptr, nullptr);
+void Browser::ReplaceContentWithRequest(mojo::URLRequestPtr request) {
+ Embed(request.Pass(), nullptr, nullptr);
}
void Browser::Initialize(mojo::ApplicationImpl* app) {
@@ -104,10 +104,13 @@ void Browser::OnEmbed(
mojo::KEYBOARD_CODE_BROWSER_BACK, mojo::EVENT_FLAGS_NONE);
// Now that we're ready, either load a pending url or the default url.
- if (!pending_url_.empty())
- Embed(pending_url_, services.Pass(), exposed_services.Pass());
- else if (!default_url_.empty())
- Embed(default_url_, services.Pass(), exposed_services.Pass());
+ if (pending_request_) {
+ Embed(pending_request_.Pass(), services.Pass(), exposed_services.Pass());
+ } else if (!default_url_.empty()) {
+ mojo::URLRequestPtr request(mojo::URLRequest::New());
+ request->url = mojo::String::From(default_url_);
+ Embed(request.Pass(), services.Pass(), exposed_services.Pass());
+ }
}
void Browser::OnViewManagerDisconnected(
@@ -124,14 +127,17 @@ void Browser::OnAccelerator(mojo::EventPtr event) {
void Browser::OpenURL(const mojo::String& url) {
omnibox_->SetVisible(false);
- ReplaceContentWithURL(url);
+ mojo::URLRequestPtr request(mojo::URLRequest::New());
+ request->url = mojo::String::From(url);
+ ReplaceContentWithRequest(request.Pass());
}
-void Browser::Embed(const mojo::String& url,
+void Browser::Embed(mojo::URLRequestPtr request,
mojo::InterfaceRequest<mojo::ServiceProvider> services,
mojo::ServiceProviderPtr exposed_services) {
- if (url == "mojo:omnibox") {
- ShowOmnibox(url, services.Pass(), exposed_services.Pass());
+ std::string string_url = request->url.To<std::string>();
+ if (string_url == "mojo:omnibox") {
+ ShowOmnibox(request.Pass(), services.Pass(), exposed_services.Pass());
return;
}
@@ -139,11 +145,11 @@ void Browser::Embed(const mojo::String& url,
// embedded into the root view and content_ is created.
// Just save the last url, we'll embed it when we're ready.
if (!content_) {
- pending_url_ = url;
+ pending_request_ = request.Pass();
return;
}
- GURL gurl(url.To<base::string16>());
+ GURL gurl(string_url);
bool changed = current_url_ != gurl;
current_url_ = gurl;
if (changed)
@@ -151,10 +157,10 @@ void Browser::Embed(const mojo::String& url,
merged_service_provider_.reset(
new MergedServiceProvider(exposed_services.Pass(), this));
- content_->Embed(url, services.Pass(),
+ content_->Embed(request.Pass(), services.Pass(),
merged_service_provider_->GetServiceProviderPtr().Pass());
- navigator_host_.RecordNavigation(url);
+ navigator_host_.RecordNavigation(gurl.spec());
}
void Browser::Create(mojo::ApplicationConnection* connection,
@@ -168,7 +174,7 @@ void Browser::Create(mojo::ApplicationConnection* connection,
}
void Browser::ShowOmnibox(
- const mojo::String& url,
+ mojo::URLRequestPtr request,
mojo::InterfaceRequest<mojo::ServiceProvider> services,
mojo::ServiceProviderPtr exposed_services) {
if (!omnibox_) {
@@ -177,7 +183,7 @@ void Browser::ShowOmnibox(
omnibox_->SetVisible(true);
omnibox_->SetBounds(root_->bounds());
}
- omnibox_->Embed(url, services.Pass(), exposed_services.Pass());
+ omnibox_->Embed(request.Pass(), services.Pass(), exposed_services.Pass());
}
} // namespace mandoline
« no previous file with comments | « mandoline/ui/browser/browser.h ('k') | mandoline/ui/browser/desktop/desktop_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698