Chromium Code Reviews| 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()); |