From d26dcd5501a86825a64de1dcfcc9fc2e92dd386f Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Wed, 22 Oct 2014 23:36:31 +0800 Subject: [PATCH] Schemas should be registered early --- atom/renderer/api/atom_api_web_view.cc | 3 --- atom/renderer/atom_renderer_client.cc | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/atom/renderer/api/atom_api_web_view.cc b/atom/renderer/api/atom_api_web_view.cc index 2cf4038e5a5..9c2e1e4e0d8 100644 --- a/atom/renderer/api/atom_api_web_view.cc +++ b/atom/renderer/api/atom_api_web_view.cc @@ -8,7 +8,6 @@ #include "native_mate/dictionary.h" #include "native_mate/object_template_builder.h" #include "third_party/WebKit/public/web/WebDocument.h" -#include "third_party/WebKit/public/web/WebCustomElement.h" #include "third_party/WebKit/public/web/WebLocalFrame.h" #include "third_party/WebKit/public/web/WebView.h" @@ -54,8 +53,6 @@ double WebView::GetZoomFactor() const { v8::Handle WebView::RegisterEmbedderCustomElement( const base::string16& name, v8::Handle options) { - blink::WebCustomElement::addEmbedderCustomElementName(name); - auto document = blink::WebLocalFrame::frameForCurrentContext()->document(); blink::WebExceptionCode ec = 0; return document.registerEmbedderCustomElement(name, options, ec); diff --git a/atom/renderer/atom_renderer_client.cc b/atom/renderer/atom_renderer_client.cc index 751074165dd..fa035f9bc4e 100644 --- a/atom/renderer/atom_renderer_client.cc +++ b/atom/renderer/atom_renderer_client.cc @@ -18,6 +18,7 @@ #include "content/public/renderer/render_thread.h" #include "base/command_line.h" #include "native_mate/converter.h" +#include "third_party/WebKit/public/web/WebCustomElement.h" #include "third_party/WebKit/public/web/WebDocument.h" #include "third_party/WebKit/public/web/WebFrame.h" #include "third_party/WebKit/public/web/WebKit.h" @@ -99,6 +100,9 @@ AtomRendererClient::~AtomRendererClient() { void AtomRendererClient::WebKitInitialized() { EnableWebRuntimeFeatures(); + blink::WebCustomElement::addEmbedderCustomElementName("webview"); + blink::WebCustomElement::addEmbedderCustomElementName("browserplugin"); + if (!IsNodeBindingEnabled()) return;