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 aa23b9e1bee6d60547531f5609eadbde5e3d98db..68916a608bc2e64c236e1330b26e22a37e6b2607 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) |
@@ -105,8 +107,9 @@ void AttachWebViewHelpers(WebContents* contents) { |
} // namespace |
-WebViewGuest::WebViewGuest(WebContents* guest_web_contents) |
- : GuestView(guest_web_contents), |
+WebViewGuest::WebViewGuest(WebContents* guest_web_contents, |
+ const std::string& extension_id) |
+ : GuestView(guest_web_contents, extension_id), |
WebContentsObserver(guest_web_contents), |
script_executor_(new extensions::ScriptExecutor(guest_web_contents, |
&script_observers_)), |
@@ -550,6 +553,16 @@ void WebViewGuest::RemoveWebViewFromExtensionRendererState( |
web_contents->GetRoutingID())); |
} |
+GURL WebViewGuest::ResolveURL(const std::string& src) { |
+ DCHECK(!extension_id().empty()); |
Charlie Reis
2013/10/29 21:11:39
nit: Just put a NOTREACHED() inside the if stateme
Fady Samuel
2013/10/30 19:48:52
Done.
|
+ if (extension_id().empty()) |
+ return GURL(src); |
+ GURL default_url(base::StringPrintf("%s://%s/", |
+ extensions::kExtensionScheme, |
+ extension_id().c_str())); |
+ return default_url.Resolve(src); |
+} |
+ |
void WebViewGuest::SizeChanged(const gfx::Size& old_size, |
const gfx::Size& new_size) { |
scoped_ptr<DictionaryValue> args(new DictionaryValue()); |