Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Unified Diff: chrome/renderer/extensions/document_custom_bindings.cc

Issue 27408004: <webview>: Resolve relative paths as chrome-extension: URLs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Don't update src attribute with resolved URL. Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/extensions/document_custom_bindings.cc
diff --git a/chrome/renderer/extensions/document_custom_bindings.cc b/chrome/renderer/extensions/document_custom_bindings.cc
index 253b6127f358417c2c39f01c661e53930a12d813..6342d31f1ae78c22211181820e82e66fbaa8f867 100644
--- a/chrome/renderer/extensions/document_custom_bindings.cc
+++ b/chrome/renderer/extensions/document_custom_bindings.cc
@@ -7,6 +7,7 @@
#include <string>
#include "base/bind.h"
+#include "chrome/common/extensions/extension.h"
#include "chrome/renderer/extensions/chrome_v8_context.h"
#include "third_party/WebKit/public/web/WebDocument.h"
#include "third_party/WebKit/public/web/WebFrame.h"
@@ -20,6 +21,27 @@ DocumentCustomBindings::DocumentCustomBindings(
RouteFunction("RegisterElement",
base::Bind(&DocumentCustomBindings::RegisterElement,
base::Unretained(this)));
+ RouteFunction("CompareURLs",
+ base::Bind(&DocumentCustomBindings::CompareURLs,
+ base::Unretained(this)));
+}
+
+void DocumentCustomBindings::CompareURLs(
+ const v8::FunctionCallbackInfo<v8::Value>& args) {
+ if (args.Length() != 2 || !args[0]->IsString() || !args[1]->IsString()) {
+ NOTREACHED();
+ return;
+ }
+
+ GURL default_url(context()->extension()->url());
+
+ std::string url1_str(*v8::String::AsciiValue(args[0]));
+ std::string url2_str(*v8::String::AsciiValue(args[1]));
+
+ GURL resolved_url1(default_url.Resolve(url1_str));
+ GURL resolved_url2(default_url.Resolve(url2_str));
+
+ args.GetReturnValue().Set(v8::Boolean::New(resolved_url1 == resolved_url2));
}
// Attach an event name to an object.

Powered by Google App Engine
This is Rietveld 408576698