Index: chrome/browser/guestview/webview/webview_guest.cc |
diff --git a/chrome/browser/guestview/webview/webview_guest.cc b/chrome/browser/guestview/webview/webview_guest.cc |
index 3230f6af7369790ca79a285073ad1854eed91c6a..2309d919b581d7fd28c6bbb48d68a799715557fc 100644 |
--- a/chrome/browser/guestview/webview/webview_guest.cc |
+++ b/chrome/browser/guestview/webview/webview_guest.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/guestview/webview/webview_guest.h" |
#include "base/command_line.h" |
+#include "base/strings/stringprintf.h" |
#include "chrome/browser/extensions/api/web_request/web_request_api.h" |
#include "chrome/browser/extensions/extension_renderer_state.h" |
#include "chrome/browser/extensions/script_executor.h" |
@@ -26,6 +27,7 @@ |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/content_switches.h" |
#include "content/public/common/result_codes.h" |
+#include "extensions/common/constants.h" |
#include "net/base/net_errors.h" |
#if defined(ENABLE_PLUGINS) |
@@ -548,6 +550,18 @@ void WebViewGuest::RemoveWebViewFromExtensionRendererState( |
web_contents->GetRoutingID())); |
} |
+GURL WebViewGuest::ResolveURL(const std::string& src) { |
+ if (!attached()) |
+ return GURL(src); |
+ const content::SiteInstance* embedder_site_instance = |
+ embedder_web_contents()->GetSiteInstance(); |
+ const GURL& embedder_site_url = embedder_site_instance->GetSiteURL(); |
+ GURL default_url(base::StringPrintf("%s://%s/", |
+ extensions::kExtensionScheme, |
+ embedder_site_url.host().c_str())); |
Charlie Reis
2013/10/18 17:37:55
What will this do in Hui's case, when we have a we
Fady Samuel
2013/10/25 21:10:31
I now base this on the extension_id which is alway
Charlie Reis
2013/10/29 21:11:39
Thanks.
|
+ return default_url.Resolve(src); |
+} |
+ |
void WebViewGuest::SizeChanged(const gfx::Size& old_size, |
const gfx::Size& new_size) { |
scoped_ptr<DictionaryValue> args(new DictionaryValue()); |