mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium revision 237081.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1532 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -17,5 +17,5 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'chromium_url': 'http://src.chromium.org/svn/trunk/src',
|
'chromium_url': 'http://src.chromium.org/svn/trunk/src',
|
||||||
'chromium_revision': '234212',
|
'chromium_revision': '237081',
|
||||||
}
|
}
|
||||||
|
2
cef.gyp
2
cef.gyp
@ -559,7 +559,7 @@
|
|||||||
'<(DEPTH)/content/browser/tracing/tracing_resources.gyp:tracing_resources',
|
'<(DEPTH)/content/browser/tracing/tracing_resources.gyp:tracing_resources',
|
||||||
'<(DEPTH)/content/content_resources.gyp:content_resources',
|
'<(DEPTH)/content/content_resources.gyp:content_resources',
|
||||||
'<(DEPTH)/net/net.gyp:net_resources',
|
'<(DEPTH)/net/net.gyp:net_resources',
|
||||||
'<(DEPTH)/ui/ui.gyp:ui_resources',
|
'<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources',
|
||||||
'<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources',
|
'<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources',
|
||||||
'cef_locales',
|
'cef_locales',
|
||||||
'cef_resources',
|
'cef_resources',
|
||||||
|
@ -70,7 +70,7 @@ int CefBrowserMainParts::PreCreateThreads() {
|
|||||||
// Initialize user preferences.
|
// Initialize user preferences.
|
||||||
pref_store_ = new CefBrowserPrefStore();
|
pref_store_ = new CefBrowserPrefStore();
|
||||||
pref_store_->SetInitializationCompleted();
|
pref_store_->SetInitializationCompleted();
|
||||||
pref_service_.reset(pref_store_->CreateService());
|
pref_service_ = pref_store_->CreateService().Pass();
|
||||||
|
|
||||||
// Create a v8::Isolate for the current thread if it doesn't already exist.
|
// Create a v8::Isolate for the current thread if it doesn't already exist.
|
||||||
if (!v8::Isolate::GetCurrent()) {
|
if (!v8::Isolate::GetCurrent()) {
|
||||||
|
@ -6,7 +6,8 @@
|
|||||||
#include "libcef/browser/media_capture_devices_dispatcher.h"
|
#include "libcef/browser/media_capture_devices_dispatcher.h"
|
||||||
|
|
||||||
#include "base/command_line.h"
|
#include "base/command_line.h"
|
||||||
#include "base/prefs/pref_service_builder.h"
|
#include "base/prefs/pref_service.h"
|
||||||
|
#include "base/prefs/pref_service_factory.h"
|
||||||
#include "base/prefs/pref_registry_simple.h"
|
#include "base/prefs/pref_registry_simple.h"
|
||||||
#include "base/values.h"
|
#include "base/values.h"
|
||||||
#include "chrome/browser/net/pref_proxy_config_tracker_impl.h"
|
#include "chrome/browser/net/pref_proxy_config_tracker_impl.h"
|
||||||
@ -17,11 +18,11 @@
|
|||||||
CefBrowserPrefStore::CefBrowserPrefStore() {
|
CefBrowserPrefStore::CefBrowserPrefStore() {
|
||||||
}
|
}
|
||||||
|
|
||||||
PrefService* CefBrowserPrefStore::CreateService() {
|
scoped_ptr<PrefService> CefBrowserPrefStore::CreateService() {
|
||||||
PrefServiceBuilder builder;
|
base::PrefServiceFactory factory;
|
||||||
builder.WithCommandLinePrefs(
|
factory.set_command_line_prefs(
|
||||||
new CommandLinePrefStore(CommandLine::ForCurrentProcess()));
|
new CommandLinePrefStore(CommandLine::ForCurrentProcess()));
|
||||||
builder.WithUserPrefs(this);
|
factory.set_user_prefs(this);
|
||||||
|
|
||||||
scoped_refptr<PrefRegistrySimple> registry(new PrefRegistrySimple());
|
scoped_refptr<PrefRegistrySimple> registry(new PrefRegistrySimple());
|
||||||
|
|
||||||
@ -31,7 +32,7 @@ PrefService* CefBrowserPrefStore::CreateService() {
|
|||||||
|
|
||||||
registry->RegisterBooleanPref(prefs::kPrintingEnabled, true);
|
registry->RegisterBooleanPref(prefs::kPrintingEnabled, true);
|
||||||
|
|
||||||
return builder.Create(registry);
|
return factory.Create(registry);
|
||||||
}
|
}
|
||||||
|
|
||||||
CefBrowserPrefStore::~CefBrowserPrefStore() {
|
CefBrowserPrefStore::~CefBrowserPrefStore() {
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#ifndef CEF_LIBCEF_BROWSER_BROWSER_PREF_STORE_H_
|
#ifndef CEF_LIBCEF_BROWSER_BROWSER_PREF_STORE_H_
|
||||||
#define CEF_LIBCEF_BROWSER_BROWSER_PREF_STORE_H_
|
#define CEF_LIBCEF_BROWSER_BROWSER_PREF_STORE_H_
|
||||||
|
|
||||||
|
#include "base/memory/scoped_ptr.h"
|
||||||
#include "base/prefs/testing_pref_store.h"
|
#include "base/prefs/testing_pref_store.h"
|
||||||
|
|
||||||
class PrefService;
|
class PrefService;
|
||||||
@ -13,7 +14,7 @@ class CefBrowserPrefStore : public TestingPrefStore {
|
|||||||
public:
|
public:
|
||||||
CefBrowserPrefStore();
|
CefBrowserPrefStore();
|
||||||
|
|
||||||
PrefService* CreateService();
|
scoped_ptr<PrefService> CreateService();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual ~CefBrowserPrefStore();
|
virtual ~CefBrowserPrefStore();
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "content/browser/renderer_host/render_widget_host_impl.h"
|
#include "content/browser/renderer_host/render_widget_host_impl.h"
|
||||||
#include "content/public/browser/content_browser_client.h"
|
#include "content/public/browser/content_browser_client.h"
|
||||||
#include "content/public/browser/render_view_host.h"
|
#include "content/public/browser/render_view_host.h"
|
||||||
#include "third_party/WebKit/public/web/WebScreenInfo.h"
|
#include "third_party/WebKit/public/platform/WebScreenInfo.h"
|
||||||
#include "webkit/common/cursors/webcursor.h"
|
#include "webkit/common/cursors/webcursor.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@ -52,6 +52,12 @@ patches = [
|
|||||||
'name': 'underlay_1051',
|
'name': 'underlay_1051',
|
||||||
'path': '../ui/base/cocoa/',
|
'path': '../ui/base/cocoa/',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
# Fix compile error when building without aura support on Windows.
|
||||||
|
# https://codereview.chromium.org/86313003/
|
||||||
|
'name': 'webplugin_win',
|
||||||
|
'path': '../content/child/npapi/',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
# Disable scollbar bounce and overlay on OS X.
|
# Disable scollbar bounce and overlay on OS X.
|
||||||
# http://code.google.com/p/chromiumembedded/issues/detail?id=364
|
# http://code.google.com/p/chromiumembedded/issues/detail?id=364
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: message_loop.cc
|
Index: message_loop.cc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- message_loop.cc (revision 233896)
|
--- message_loop.cc (revision 237081)
|
||||||
+++ message_loop.cc (working copy)
|
+++ message_loop.cc (working copy)
|
||||||
@@ -208,7 +208,7 @@
|
@@ -166,7 +166,7 @@
|
||||||
MessageLoop::~MessageLoop() {
|
MessageLoop::~MessageLoop() {
|
||||||
DCHECK_EQ(this, current());
|
DCHECK_EQ(this, current());
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Index: public/web/WebView.h
|
Index: public/web/WebView.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- public/web/WebView.h (revision 161696)
|
--- public/web/WebView.h (revision 162607)
|
||||||
+++ public/web/WebView.h (working copy)
|
+++ public/web/WebView.h (working copy)
|
||||||
@@ -441,6 +441,7 @@
|
@@ -441,6 +441,7 @@
|
||||||
|
|
||||||
@ -12,9 +12,9 @@ Index: public/web/WebView.h
|
|||||||
// Visited link state --------------------------------------------------
|
// Visited link state --------------------------------------------------
|
||||||
Index: Source/web/ChromeClientImpl.cpp
|
Index: Source/web/ChromeClientImpl.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- Source/web/ChromeClientImpl.cpp (revision 161696)
|
--- Source/web/ChromeClientImpl.cpp (revision 162607)
|
||||||
+++ Source/web/ChromeClientImpl.cpp (working copy)
|
+++ Source/web/ChromeClientImpl.cpp (working copy)
|
||||||
@@ -871,7 +871,7 @@
|
@@ -866,7 +866,7 @@
|
||||||
|
|
||||||
PassRefPtr<PopupMenu> ChromeClientImpl::createPopupMenu(Frame& frame, PopupMenuClient* client) const
|
PassRefPtr<PopupMenu> ChromeClientImpl::createPopupMenu(Frame& frame, PopupMenuClient* client) const
|
||||||
{
|
{
|
||||||
@ -25,9 +25,9 @@ Index: Source/web/ChromeClientImpl.cpp
|
|||||||
return adoptRef(new PopupMenuChromium(frame, client));
|
return adoptRef(new PopupMenuChromium(frame, client));
|
||||||
Index: Source/web/WebViewImpl.cpp
|
Index: Source/web/WebViewImpl.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- Source/web/WebViewImpl.cpp (revision 161696)
|
--- Source/web/WebViewImpl.cpp (revision 162607)
|
||||||
+++ Source/web/WebViewImpl.cpp (working copy)
|
+++ Source/web/WebViewImpl.cpp (working copy)
|
||||||
@@ -390,6 +390,7 @@
|
@@ -392,6 +392,7 @@
|
||||||
, m_fakePageScaleAnimationPageScaleFactor(0)
|
, m_fakePageScaleAnimationPageScaleFactor(0)
|
||||||
, m_fakePageScaleAnimationUseAnchor(false)
|
, m_fakePageScaleAnimationUseAnchor(false)
|
||||||
, m_contextMenuAllowed(false)
|
, m_contextMenuAllowed(false)
|
||||||
@ -35,7 +35,7 @@ Index: Source/web/WebViewImpl.cpp
|
|||||||
, m_doingDragAndDrop(false)
|
, m_doingDragAndDrop(false)
|
||||||
, m_ignoreInputEvents(false)
|
, m_ignoreInputEvents(false)
|
||||||
, m_compositorDeviceScaleFactorOverride(0)
|
, m_compositorDeviceScaleFactorOverride(0)
|
||||||
@@ -3693,9 +3694,14 @@
|
@@ -3686,9 +3687,14 @@
|
||||||
updateLayerTreeViewport();
|
updateLayerTreeViewport();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,9 +53,9 @@ Index: Source/web/WebViewImpl.cpp
|
|||||||
void WebViewImpl::startDragging(Frame* frame,
|
void WebViewImpl::startDragging(Frame* frame,
|
||||||
Index: Source/web/WebViewImpl.h
|
Index: Source/web/WebViewImpl.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- Source/web/WebViewImpl.h (revision 161696)
|
--- Source/web/WebViewImpl.h (revision 162607)
|
||||||
+++ Source/web/WebViewImpl.h (working copy)
|
+++ Source/web/WebViewImpl.h (working copy)
|
||||||
@@ -414,7 +414,8 @@
|
@@ -416,7 +416,8 @@
|
||||||
|
|
||||||
// Returns true if popup menus should be rendered by the browser, false if
|
// Returns true if popup menus should be rendered by the browser, false if
|
||||||
// they should be rendered by WebKit (which is the default).
|
// they should be rendered by WebKit (which is the default).
|
||||||
@ -65,7 +65,7 @@ Index: Source/web/WebViewImpl.h
|
|||||||
|
|
||||||
bool contextMenuAllowed() const
|
bool contextMenuAllowed() const
|
||||||
{
|
{
|
||||||
@@ -710,6 +711,8 @@
|
@@ -713,6 +714,8 @@
|
||||||
|
|
||||||
bool m_contextMenuAllowed;
|
bool m_contextMenuAllowed;
|
||||||
|
|
||||||
|
41
patch/patches/webplugin_win.patch
Normal file
41
patch/patches/webplugin_win.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
Index: webplugin_delegate_impl_win.cc
|
||||||
|
===================================================================
|
||||||
|
--- webplugin_delegate_impl_win.cc (revision 237081)
|
||||||
|
+++ webplugin_delegate_impl_win.cc (working copy)
|
||||||
|
@@ -88,8 +88,10 @@
|
||||||
|
base::LazyInstance<base::win::IATPatchFunction> g_iat_patch_get_proc_address =
|
||||||
|
LAZY_INSTANCE_INITIALIZER;
|
||||||
|
|
||||||
|
+#if defined(USE_AURA)
|
||||||
|
base::LazyInstance<base::win::IATPatchFunction> g_iat_patch_window_from_point =
|
||||||
|
LAZY_INSTANCE_INITIALIZER;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// http://crbug.com/16114
|
||||||
|
// Enforces providing a valid device context in NPWindow, so that NPP_SetWindow
|
||||||
|
@@ -420,12 +422,14 @@
|
||||||
|
GetProcAddressPatch);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(USE_AURA)
|
||||||
|
if (windowless_ && !g_iat_patch_window_from_point.Pointer()->is_patched() &&
|
||||||
|
(quirks_ & PLUGIN_QUIRK_FAKE_WINDOW_FROM_POINT)) {
|
||||||
|
g_iat_patch_window_from_point.Pointer()->Patch(
|
||||||
|
GetPluginPath().value().c_str(), "user32.dll", "WindowFromPoint",
|
||||||
|
WebPluginDelegateImpl::WindowFromPointPatch);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@@ -447,8 +451,10 @@
|
||||||
|
if (g_iat_patch_reg_enum_key_ex_w.Pointer()->is_patched())
|
||||||
|
g_iat_patch_reg_enum_key_ex_w.Pointer()->Unpatch();
|
||||||
|
|
||||||
|
+#if defined(USE_AURA)
|
||||||
|
if (g_iat_patch_window_from_point.Pointer()->is_patched())
|
||||||
|
g_iat_patch_window_from_point.Pointer()->Unpatch();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (mouse_hook_) {
|
||||||
|
UnhookWindowsHookEx(mouse_hook_);
|
@ -1278,11 +1278,11 @@ TEST(SchemeHandlerTest, HttpXHRDifferentOriginWithHeaderAsync) {
|
|||||||
// Test that a custom standard scheme can generate cross-domain XSS requests
|
// Test that a custom standard scheme can generate cross-domain XSS requests
|
||||||
// when using document.domain.
|
// when using document.domain.
|
||||||
TEST(SchemeHandlerTest, CustomStandardXSSDifferentOriginWithDomain) {
|
TEST(SchemeHandlerTest, CustomStandardXSSDifferentOriginWithDomain) {
|
||||||
RegisterTestScheme("customstd", "a.test");
|
RegisterTestScheme("customstd", "a.test.com");
|
||||||
RegisterTestScheme("customstd", "b.test");
|
RegisterTestScheme("customstd", "b.test.com");
|
||||||
SetUpXSS("customstd://a.test/run.html",
|
SetUpXSS("customstd://a.test.com/run.html",
|
||||||
"customstd://b.test/iframe.html",
|
"customstd://b.test.com/iframe.html",
|
||||||
"test");
|
"test.com");
|
||||||
|
|
||||||
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&g_TestResults);
|
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&g_TestResults);
|
||||||
handler->ExecuteTest();
|
handler->ExecuteTest();
|
||||||
@ -1300,11 +1300,11 @@ TEST(SchemeHandlerTest, CustomStandardXSSDifferentOriginWithDomain) {
|
|||||||
// Test that an HTTP scheme can generate cross-domain XSS requests when using
|
// Test that an HTTP scheme can generate cross-domain XSS requests when using
|
||||||
// document.domain.
|
// document.domain.
|
||||||
TEST(SchemeHandlerTest, HttpXSSDifferentOriginWithDomain) {
|
TEST(SchemeHandlerTest, HttpXSSDifferentOriginWithDomain) {
|
||||||
RegisterTestScheme("http", "a.test");
|
RegisterTestScheme("http", "a.test.com");
|
||||||
RegisterTestScheme("http", "b.test");
|
RegisterTestScheme("http", "b.test.com");
|
||||||
SetUpXSS("http://a.test/run.html",
|
SetUpXSS("http://a.test.com/run.html",
|
||||||
"http://b.test/iframe.html",
|
"http://b.test.com/iframe.html",
|
||||||
"test");
|
"test.com");
|
||||||
|
|
||||||
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&g_TestResults);
|
CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&g_TestResults);
|
||||||
handler->ExecuteTest();
|
handler->ExecuteTest();
|
||||||
|
Reference in New Issue
Block a user