mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium revision fc6ad471 (#342568)
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include "libcef/common/request_impl.h"
|
||||
#include "libcef/common/values_impl.h"
|
||||
#include "libcef/renderer/browser_impl.h"
|
||||
#include "libcef/renderer/extensions/extensions_dispatcher_delegate.h"
|
||||
#include "libcef/renderer/extensions/extensions_renderer_client.h"
|
||||
#include "libcef/renderer/extensions/print_web_view_helper_delegate.h"
|
||||
#include "libcef/renderer/pepper/pepper_helper.h"
|
||||
@@ -430,7 +431,6 @@ void CefContentRendererClient::RenderThreadStarted() {
|
||||
thread->AddObserver(observer_.get());
|
||||
thread->AddObserver(web_cache_observer_.get());
|
||||
thread->GetChannel()->AddFilter(new CefRenderMessageFilter);
|
||||
thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get());
|
||||
|
||||
if (!command_line->HasSwitch(switches::kDisableSpellChecking)) {
|
||||
spellcheck_.reset(new SpellCheck());
|
||||
@@ -483,7 +483,8 @@ void CefContentRendererClient::RenderThreadStarted() {
|
||||
extensions::ExtensionsRendererClient::Set(
|
||||
extensions_renderer_client_.get());
|
||||
|
||||
extension_dispatcher_delegate_.reset(new extensions::DispatcherDelegate());
|
||||
extension_dispatcher_delegate_.reset(
|
||||
new extensions::CefExtensionsDispatcherDelegate());
|
||||
|
||||
// Must be initialized after ExtensionsRendererClient.
|
||||
extension_dispatcher_.reset(
|
||||
@@ -507,6 +508,9 @@ void CefContentRendererClient::RenderThreadStarted() {
|
||||
listValuePtr->Detach(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
// Register extensions last because it will trigger WebKit initialization.
|
||||
thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get());
|
||||
}
|
||||
|
||||
void CefContentRendererClient::RenderFrameCreated(
|
||||
|
@@ -104,9 +104,12 @@ bool CefDOMNodeImpl::IsEditable() {
|
||||
|
||||
// Also return true if it has an ARIA role of 'textbox'.
|
||||
for (unsigned i = 0; i < element.attributeCount(); ++i) {
|
||||
if (base::LowerCaseEqualsASCII(element.attributeLocalName(i), "role")) {
|
||||
if (base::LowerCaseEqualsASCII(element.attributeValue(i), "textbox"))
|
||||
if (base::LowerCaseEqualsASCII(element.attributeLocalName(i).utf8(),
|
||||
"role")) {
|
||||
if (base::LowerCaseEqualsASCII(element.attributeValue(i).utf8(),
|
||||
"textbox")) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
36
libcef/renderer/extensions/extensions_dispatcher_delegate.cc
Normal file
36
libcef/renderer/extensions/extensions_dispatcher_delegate.cc
Normal file
@@ -0,0 +1,36 @@
|
||||
// Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "libcef/renderer/extensions/extensions_dispatcher_delegate.h"
|
||||
|
||||
#include "content/public/common/url_constants.h"
|
||||
#include "extensions/common/extension.h"
|
||||
#include "third_party/WebKit/public/platform/WebString.h"
|
||||
#include "third_party/WebKit/public/platform/WebURL.h"
|
||||
#include "third_party/WebKit/public/web/WebSecurityPolicy.h"
|
||||
|
||||
namespace extensions {
|
||||
|
||||
CefExtensionsDispatcherDelegate::CefExtensionsDispatcherDelegate() {
|
||||
}
|
||||
|
||||
CefExtensionsDispatcherDelegate::~CefExtensionsDispatcherDelegate() {
|
||||
}
|
||||
|
||||
void CefExtensionsDispatcherDelegate::InitOriginPermissions(
|
||||
const Extension* extension,
|
||||
bool is_extension_active) {
|
||||
if (is_extension_active) {
|
||||
// The chrome: scheme is marked as display isolated in
|
||||
// RenderThreadImpl::RegisterSchemes() so an exception must be added for
|
||||
// accessing chrome://resources from the extension origin.
|
||||
blink::WebSecurityPolicy::addOriginAccessWhitelistEntry(
|
||||
extension->url(),
|
||||
blink::WebString::fromUTF8(content::kChromeUIScheme),
|
||||
blink::WebString::fromUTF8("resources"),
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace extensions
|
28
libcef/renderer/extensions/extensions_dispatcher_delegate.h
Normal file
28
libcef/renderer/extensions/extensions_dispatcher_delegate.h
Normal file
@@ -0,0 +1,28 @@
|
||||
// Copyright 2015 The Chromium Embedded Framework Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CEF_LIBCEF_RENDERER_EXTENSIONS_EXTENSIONS_DISPATCHER_DELEGATE_H_
|
||||
#define CEF_LIBCEF_RENDERER_EXTENSIONS_EXTENSIONS_DISPATCHER_DELEGATE_H_
|
||||
|
||||
#include "base/macros.h"
|
||||
#include "extensions/renderer/dispatcher_delegate.h"
|
||||
|
||||
namespace extensions {
|
||||
|
||||
class CefExtensionsDispatcherDelegate : public DispatcherDelegate {
|
||||
public:
|
||||
CefExtensionsDispatcherDelegate();
|
||||
~CefExtensionsDispatcherDelegate() override;
|
||||
|
||||
private:
|
||||
// DispatcherDelegate implementation.
|
||||
void InitOriginPermissions(const Extension* extension,
|
||||
bool is_extension_active) override;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(CefExtensionsDispatcherDelegate);
|
||||
};
|
||||
|
||||
} // namespace extensions
|
||||
|
||||
#endif // CEF_LIBCEF_RENDERER_EXTENSIONS_EXTENSIONS_DISPATCHER_DELEGATE_H_
|
Reference in New Issue
Block a user