using WebContentsObserver::NavigationEntryCommitted to set virtualurl
authorRobo <hop2deep@gmail.com>
Thu, 5 Mar 2015 14:39:27 +0000 (20:09 +0530)
committerRobo <hop2deep@gmail.com>
Thu, 5 Mar 2015 14:39:27 +0000 (20:09 +0530)
atom/browser/api/atom_api_web_contents.cc
atom/browser/api/atom_api_web_contents.h

index d3c453f..b1426c9 100644 (file)
@@ -16,6 +16,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "brightray/browser/inspectable_web_contents.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_process_host.h"
 #include "content/public/browser/render_view_host.h"
@@ -264,6 +265,15 @@ void WebContents::WebContentsDestroyed() {
   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) {
   Emit("did-attach");
 }
@@ -323,7 +333,10 @@ void WebContents::LoadURL(const GURL& url, const mate::Dictionary& options) {
 }
 
 GURL WebContents::GetURL() const {
-  return web_contents()->GetURL();
+  return web_contents()
+                ->GetController()
+                .GetLastCommittedEntry()
+                ->GetVirtualURL();
 }
 
 base::string16 WebContents::GetTitle() const {
index 7e65b46..7571430 100644 (file)
@@ -165,6 +165,8 @@ class WebContents : public mate::EventEmitter,
   bool OnMessageReceived(const IPC::Message& message) override;
   void RenderViewReady() override;
   void WebContentsDestroyed() override;
+  void NavigationEntryCommitted(
+      const content::LoadCommittedDetails& load_details) override;
 
   // content::BrowserPluginGuestDelegate:
   void DidAttach(int guest_proxy_routing_id) final;