using WebContentsObserver::NavigationEntryCommitted to set virtualurl

This commit is contained in:
Robo 2015-03-05 20:09:27 +05:30
parent 47463ae5cb
commit 0663b9dae2
2 changed files with 16 additions and 1 deletions

View file

@ -16,6 +16,7 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "brightray/browser/inspectable_web_contents.h" #include "brightray/browser/inspectable_web_contents.h"
#include "content/public/browser/navigation_details.h" #include "content/public/browser/navigation_details.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h" #include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h" #include "content/public/browser/render_view_host.h"
@ -264,6 +265,15 @@ void WebContents::WebContentsDestroyed() {
Emit("destroyed"); Emit("destroyed");
} }
void WebContents::NavigationEntryCommitted(
const content::LoadCommittedDetails& load_details) {
content::NavigationEntry* entry = load_details.entry;
web_contents()
->GetController()
.GetLastCommittedEntry()
->SetVirtualURL(entry->GetOriginalRequestURL());
}
void WebContents::DidAttach(int guest_proxy_routing_id) { void WebContents::DidAttach(int guest_proxy_routing_id) {
Emit("did-attach"); Emit("did-attach");
} }
@ -323,7 +333,10 @@ void WebContents::LoadURL(const GURL& url, const mate::Dictionary& options) {
} }
GURL WebContents::GetURL() const { GURL WebContents::GetURL() const {
return web_contents()->GetURL(); return web_contents()
->GetController()
.GetLastCommittedEntry()
->GetVirtualURL();
} }
base::string16 WebContents::GetTitle() const { base::string16 WebContents::GetTitle() const {

View file

@ -165,6 +165,8 @@ class WebContents : public mate::EventEmitter,
bool OnMessageReceived(const IPC::Message& message) override; bool OnMessageReceived(const IPC::Message& message) override;
void RenderViewReady() override; void RenderViewReady() override;
void WebContentsDestroyed() override; void WebContentsDestroyed() override;
void NavigationEntryCommitted(
const content::LoadCommittedDetails& load_details) override;
// content::BrowserPluginGuestDelegate: // content::BrowserPluginGuestDelegate:
void DidAttach(int guest_proxy_routing_id) final; void DidAttach(int guest_proxy_routing_id) final;