libcef: Update due to underlying chromium changes.
- Printing fix was committed as Chromium rev 23338, so the patches are no longer required. - Add a patch for plugin loading support that was broken in Chromium rev 23501. - NPAPI::PluginList static methods are replaced with methods provided by the singleton instance. - WebPreferences now has an Apply() method. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@35 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
cbb3124475
commit
65b06ebf66
|
@ -34,3 +34,4 @@ Date | CEF Revision | Chromium Revision
|
||||||
2009-06-02 | /trunk@28 | /trunk@17397
|
2009-06-02 | /trunk@28 | /trunk@17397
|
||||||
2009-07-24 | /trunk@32 | /trunk@21529
|
2009-07-24 | /trunk@32 | /trunk@21529
|
||||||
2009-08-13 | /trunk@34 | /trunk@23266
|
2009-08-13 | /trunk@34 | /trunk@23266
|
||||||
|
2009-08-20 | /trunk@35 | /trunk@23814
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#include "browser_webkit_glue.h"
|
#include "browser_webkit_glue.h"
|
||||||
#include "stream_impl.h"
|
#include "stream_impl.h"
|
||||||
#include "printing/units.h"
|
#include "printing/units.h"
|
||||||
#include "../patch/patch_state.h"
|
|
||||||
|
|
||||||
#include "base/string_util.h"
|
#include "base/string_util.h"
|
||||||
#include "base/win_util.h"
|
#include "base/win_util.h"
|
||||||
|
@ -428,11 +427,6 @@ void CefBrowserImpl::UIT_CanGoForwardNotify(bool *retVal, HANDLE hEvent)
|
||||||
void CefBrowserImpl::UIT_PrintPage(int page_number, int total_pages,
|
void CefBrowserImpl::UIT_PrintPage(int page_number, int total_pages,
|
||||||
const gfx::Size& canvas_size,
|
const gfx::Size& canvas_size,
|
||||||
WebKit::WebFrame* frame) {
|
WebKit::WebFrame* frame) {
|
||||||
#if !CEF_PATCHES_APPLIED
|
|
||||||
NOTREACHED() << "CEF patches must be applied to support printing.";
|
|
||||||
return;
|
|
||||||
#endif // !CEF_PATCHES_APPLIED
|
|
||||||
|
|
||||||
REQUIRE_UIT();
|
REQUIRE_UIT();
|
||||||
|
|
||||||
printing::PrintParams params;
|
printing::PrintParams params;
|
||||||
|
@ -473,10 +467,7 @@ void CefBrowserImpl::UIT_PrintPage(int page_number, int total_pages,
|
||||||
canvas.clipRect(clip_rect);
|
canvas.clipRect(clip_rect);
|
||||||
|
|
||||||
// Apply the WebKit scaling factor.
|
// Apply the WebKit scaling factor.
|
||||||
float webkit_scale = 0;
|
float webkit_scale = frame->getPrintPageShrink(page_number);
|
||||||
#if CEF_PATCHES_APPLIED
|
|
||||||
webkit_scale = frame->getPrintPageShrink(page_number);
|
|
||||||
#endif // CEF_PATCHES_APPLIED
|
|
||||||
if (webkit_scale <= 0) {
|
if (webkit_scale <= 0) {
|
||||||
NOTREACHED() << "Printing page " << page_number << " failed.";
|
NOTREACHED() << "Printing page " << page_number << " failed.";
|
||||||
}
|
}
|
||||||
|
@ -577,11 +568,6 @@ void CefBrowserImpl::UIT_PrintPage(int page_number, int total_pages,
|
||||||
}
|
}
|
||||||
|
|
||||||
void CefBrowserImpl::UIT_PrintPages(WebKit::WebFrame* frame) {
|
void CefBrowserImpl::UIT_PrintPages(WebKit::WebFrame* frame) {
|
||||||
#if !CEF_PATCHES_APPLIED
|
|
||||||
NOTREACHED() << "CEF patches must be applied to support printing.";
|
|
||||||
return;
|
|
||||||
#endif // !CEF_PATCHES_APPLIED
|
|
||||||
|
|
||||||
REQUIRE_UIT();
|
REQUIRE_UIT();
|
||||||
|
|
||||||
TCHAR printername[512];
|
TCHAR printername[512];
|
||||||
|
|
|
@ -6,8 +6,15 @@
|
||||||
#include "precompiled_libcef.h"
|
#include "precompiled_libcef.h"
|
||||||
#include "browser_request_context.h"
|
#include "browser_request_context.h"
|
||||||
|
|
||||||
|
#include "build/build_config.h"
|
||||||
|
|
||||||
#include "net/base/cookie_monster.h"
|
#include "net/base/cookie_monster.h"
|
||||||
#include "net/base/host_resolver.h"
|
#include "net/base/host_resolver.h"
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
#include "net/base/ssl_config_service_win.h"
|
||||||
|
#else
|
||||||
|
#include "net/base/ssl_config_service_defaults.h"
|
||||||
|
#endif
|
||||||
#include "net/ftp/ftp_network_layer.h"
|
#include "net/ftp/ftp_network_layer.h"
|
||||||
#include "net/proxy/proxy_service.h"
|
#include "net/proxy/proxy_service.h"
|
||||||
#include "webkit/glue/webkit_glue.h"
|
#include "webkit/glue/webkit_glue.h"
|
||||||
|
@ -37,12 +44,19 @@ void BrowserRequestContext::Init(
|
||||||
host_resolver_ = net::CreateSystemHostResolver();
|
host_resolver_ = net::CreateSystemHostResolver();
|
||||||
proxy_service_ = net::ProxyService::Create(no_proxy ? &proxy_config : NULL,
|
proxy_service_ = net::ProxyService::Create(no_proxy ? &proxy_config : NULL,
|
||||||
false, NULL, NULL);
|
false, NULL, NULL);
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
ssl_config_service_ = new net::SSLConfigServiceWin;
|
||||||
|
#else
|
||||||
|
ssl_config_service_ = new net::SSLConfigServiceDefaults;
|
||||||
|
#endif
|
||||||
|
|
||||||
net::HttpCache *cache;
|
net::HttpCache *cache;
|
||||||
if (cache_path.empty()) {
|
if (cache_path.empty()) {
|
||||||
cache = new net::HttpCache(host_resolver_, proxy_service_, 0);
|
cache = new net::HttpCache(host_resolver_, proxy_service_,
|
||||||
|
ssl_config_service_, 0);
|
||||||
} else {
|
} else {
|
||||||
cache = new net::HttpCache(host_resolver_, proxy_service_, cache_path, 0);
|
cache = new net::HttpCache(host_resolver_, proxy_service_,
|
||||||
|
ssl_config_service_, cache_path, 0);
|
||||||
}
|
}
|
||||||
cache->set_mode(cache_mode);
|
cache->set_mode(cache_mode);
|
||||||
http_transaction_factory_ = cache;
|
http_transaction_factory_ = cache;
|
||||||
|
@ -54,7 +68,6 @@ BrowserRequestContext::~BrowserRequestContext() {
|
||||||
delete cookie_store_;
|
delete cookie_store_;
|
||||||
delete ftp_transaction_factory_;
|
delete ftp_transaction_factory_;
|
||||||
delete http_transaction_factory_;
|
delete http_transaction_factory_;
|
||||||
delete proxy_service_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string& BrowserRequestContext::GetUserAgent(
|
const std::string& BrowserRequestContext::GetUserAgent(
|
||||||
|
|
|
@ -748,7 +748,7 @@ bool FindProxyForUrl(const GURL& url, std::string* proxy_list) {
|
||||||
request_context->proxy_service()));
|
request_context->proxy_service()));
|
||||||
|
|
||||||
net::ProxyInfo proxy_info;
|
net::ProxyInfo proxy_info;
|
||||||
int rv = sync_proxy_service->ResolveProxy(NULL, url, &proxy_info);
|
int rv = sync_proxy_service->ResolveProxy(url, &proxy_info, NULL);
|
||||||
if (rv == net::OK) {
|
if (rv == net::OK) {
|
||||||
*proxy_list = proxy_info.ToPacString();
|
*proxy_list = proxy_info.ToPacString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include "base/compiler_specific.h"
|
#include "base/compiler_specific.h"
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
|
|
||||||
|
#undef LOG
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
MSVC_PUSH_WARNING_LEVEL(0);
|
MSVC_PUSH_WARNING_LEVEL(0);
|
||||||
#include "TextEncoding.h"
|
#include "TextEncoding.h"
|
||||||
|
@ -16,7 +17,6 @@ MSVC_POP_WARNING();
|
||||||
|
|
||||||
#include "browser_webkit_glue.h"
|
#include "browser_webkit_glue.h"
|
||||||
|
|
||||||
#undef LOG
|
|
||||||
#include "base/path_service.h"
|
#include "base/path_service.h"
|
||||||
#include "base/resource_util.h"
|
#include "base/resource_util.h"
|
||||||
#include "base/scoped_ptr.h"
|
#include "base/scoped_ptr.h"
|
||||||
|
@ -132,8 +132,10 @@ StringPiece GetDataResource(int resource_id) {
|
||||||
case IDR_SEARCH_MAGNIFIER_RESULTS:
|
case IDR_SEARCH_MAGNIFIER_RESULTS:
|
||||||
case IDR_MEDIA_PAUSE_BUTTON:
|
case IDR_MEDIA_PAUSE_BUTTON:
|
||||||
case IDR_MEDIA_PLAY_BUTTON:
|
case IDR_MEDIA_PLAY_BUTTON:
|
||||||
|
case IDR_MEDIA_PLAY_BUTTON_DISABLED:
|
||||||
case IDR_MEDIA_SOUND_FULL_BUTTON:
|
case IDR_MEDIA_SOUND_FULL_BUTTON:
|
||||||
case IDR_MEDIA_SOUND_NONE_BUTTON:
|
case IDR_MEDIA_SOUND_NONE_BUTTON:
|
||||||
|
case IDR_MEDIA_SOUND_DISABLED:
|
||||||
case IDR_MEDIA_SLIDER_THUMB:
|
case IDR_MEDIA_SLIDER_THUMB:
|
||||||
return NetResourceProvider(resource_id);
|
return NetResourceProvider(resource_id);
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -50,9 +50,8 @@ HCURSOR LoadCursor(int cursor_id) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetPlugins(bool refresh, std::vector<WebPluginInfo>* plugins) {
|
void GetPlugins(bool refresh, std::vector<WebPluginInfo>* plugins) {
|
||||||
NPAPI::PluginList::Singleton()->GetPlugins(refresh, plugins);
|
NPAPI::PluginList::Singleton()->GetPlugins(refresh, plugins);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EnsureFontLoaded(HFONT font) {
|
bool EnsureFontLoaded(HFONT font) {
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include "precompiled_libcef.h"
|
#include "precompiled_libcef.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#undef LOG
|
||||||
#include "browser_webview_delegate.h"
|
#include "browser_webview_delegate.h"
|
||||||
#include "browser_impl.h"
|
#include "browser_impl.h"
|
||||||
#include "browser_navigation_controller.h"
|
#include "browser_navigation_controller.h"
|
||||||
|
@ -583,14 +584,14 @@ void BrowserWebViewDelegate::TakeFocus(WebView* webview, bool reverse) {
|
||||||
void BrowserWebViewDelegate::SetUserStyleSheetEnabled(bool is_enabled) {
|
void BrowserWebViewDelegate::SetUserStyleSheetEnabled(bool is_enabled) {
|
||||||
WebPreferences* prefs = _Context->GetWebPreferences();
|
WebPreferences* prefs = _Context->GetWebPreferences();
|
||||||
prefs->user_style_sheet_enabled = is_enabled;
|
prefs->user_style_sheet_enabled = is_enabled;
|
||||||
browser_->GetWebView()->SetPreferences(*prefs);
|
prefs->Apply(browser_->GetWebView());
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrowserWebViewDelegate::SetUserStyleSheetLocation(const GURL& location) {
|
void BrowserWebViewDelegate::SetUserStyleSheetLocation(const GURL& location) {
|
||||||
WebPreferences* prefs = _Context->GetWebPreferences();
|
WebPreferences* prefs = _Context->GetWebPreferences();
|
||||||
prefs->user_style_sheet_enabled = true;
|
prefs->user_style_sheet_enabled = true;
|
||||||
prefs->user_style_sheet_location = location;
|
prefs->user_style_sheet_location = location;
|
||||||
browser_->GetWebView()->SetPreferences(*prefs);
|
prefs->Apply(browser_->GetWebView());
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrowserWebViewDelegate::SetSmartInsertDeleteEnabled(bool enabled) {
|
void BrowserWebViewDelegate::SetSmartInsertDeleteEnabled(bool enabled) {
|
||||||
|
|
|
@ -138,8 +138,7 @@ void CefContext::UIT_RegisterPlugin(struct CefPluginInfo* plugin_info)
|
||||||
info.entry_points.np_initialize = plugin_info->np_initialize;
|
info.entry_points.np_initialize = plugin_info->np_initialize;
|
||||||
info.entry_points.np_shutdown = plugin_info->np_shutdown;
|
info.entry_points.np_shutdown = plugin_info->np_shutdown;
|
||||||
|
|
||||||
NPAPI::PluginList::RegisterInternalPlugin(info);
|
NPAPI::PluginList::Singleton()->RegisterInternalPlugin(info);
|
||||||
NPAPI::PluginList::Singleton()->LoadPlugin(FilePath(info.path));
|
|
||||||
|
|
||||||
delete plugin_info;
|
delete plugin_info;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include "base/gfx/rect.h"
|
#include "base/gfx/rect.h"
|
||||||
#include "base/gfx/size.h"
|
#include "base/gfx/size.h"
|
||||||
#include "base/win_util.h"
|
#include "base/win_util.h"
|
||||||
|
#include "webkit/glue/webpreferences.h"
|
||||||
#include "webkit/glue/webview.h"
|
#include "webkit/glue/webview.h"
|
||||||
|
|
||||||
static const wchar_t kWindowClassName[] = L"WebViewHost";
|
static const wchar_t kWindowClassName[] = L"WebViewHost";
|
||||||
|
@ -38,7 +39,9 @@ WebViewHost* WebViewHost::Create(HWND parent_view,
|
||||||
GetModuleHandle(NULL), NULL);
|
GetModuleHandle(NULL), NULL);
|
||||||
win_util::SetWindowUserData(host->view_, host);
|
win_util::SetWindowUserData(host->view_, host);
|
||||||
|
|
||||||
host->webwidget_ = WebView::Create(delegate, prefs);
|
host->webwidget_ = WebView::Create();
|
||||||
|
prefs.Apply(host->webview());
|
||||||
|
host->webview()->InitializeMainFrame(delegate);
|
||||||
|
|
||||||
return host;
|
return host;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
# file entry should be proceeded by the code review or bug report link that it
|
# file entry should be proceeded by the code review or bug report link that it
|
||||||
# relates to.
|
# relates to.
|
||||||
patches = {
|
patches = {
|
||||||
# http://codereview.chromium.org/164482
|
# http://codereview.chromium.org/173107
|
||||||
"webkit_api" : "../../webkit/api/",
|
"webkit_glue_plugins" : "../../webkit/glue/plugins/"
|
||||||
"webkit_glue" : "../../webkit/glue/"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
Index: public/WebFrame.h
|
|
||||||
===================================================================
|
|
||||||
--- public/WebFrame.h (revision 23266)
|
|
||||||
+++ public/WebFrame.h (working copy)
|
|
||||||
@@ -332,6 +332,11 @@
|
|
||||||
// given page size.
|
|
||||||
virtual int printBegin(const WebSize& pageSize) = 0;
|
|
||||||
|
|
||||||
+ // Returns the page shrinking factor calculated by webkit (usually
|
|
||||||
+ // between 1/1.25 and 1/2). Returns 0 if the page number is invalid or
|
|
||||||
+ // not in printing mode.
|
|
||||||
+ virtual float getPrintPageShrink(int page) = 0;
|
|
||||||
+
|
|
||||||
// Prints one page, and returns the calculated page shrinking factor
|
|
||||||
// (usually between 1/1.25 and 1/2). Returns 0 if the page number is
|
|
||||||
// invalid or not in printing mode.
|
|
|
@ -1,33 +0,0 @@
|
||||||
Index: webframe_impl.cc
|
|
||||||
===================================================================
|
|
||||||
--- webframe_impl.cc (revision 23266)
|
|
||||||
+++ webframe_impl.cc (working copy)
|
|
||||||
@@ -1045,6 +1045,16 @@
|
|
||||||
return print_context_->pageCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
+float WebFrameImpl::getPrintPageShrink(int page) {
|
|
||||||
+ // Ensure correct state.
|
|
||||||
+ if (!print_context_.get() || page < 0) {
|
|
||||||
+ NOTREACHED();
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return print_context_->getPageShrink(page);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
float WebFrameImpl::printPage(int page, WebCanvas* canvas) {
|
|
||||||
// Ensure correct state.
|
|
||||||
if (!print_context_.get() || page < 0 || !frame() || !frame()->document()) {
|
|
||||||
Index: webframe_impl.h
|
|
||||||
===================================================================
|
|
||||||
--- webframe_impl.h (revision 23266)
|
|
||||||
+++ webframe_impl.h (working copy)
|
|
||||||
@@ -147,6 +147,7 @@
|
|
||||||
virtual WebKit::WebString selectionAsMarkup() const;
|
|
||||||
virtual int printBegin(const WebKit::WebSize& page_size);
|
|
||||||
virtual float printPage(int page_to_print, WebKit::WebCanvas* canvas);
|
|
||||||
+ virtual float getPrintPageShrink(int page);
|
|
||||||
virtual void printEnd();
|
|
||||||
virtual bool find(
|
|
||||||
int identifier, const WebKit::WebString& search_text,
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
Index: plugin_list.cc
|
||||||
|
===================================================================
|
||||||
|
--- plugin_list.cc (revision 23814)
|
||||||
|
+++ plugin_list.cc (working copy)
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
|
|
||||||
|
void PluginList::RegisterInternalPlugin(const PluginVersionInfo& info) {
|
||||||
|
AutoLock lock(lock_);
|
||||||
|
- internal_plugins_.push_back(info);
|
||||||
|
+ internal_plugins_.insert(internal_plugins_.begin(), info);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PluginList::ReadPluginInfo(const FilePath &filename,
|
||||||
|
Index: plugin_list_win.cc
|
||||||
|
===================================================================
|
||||||
|
--- plugin_list_win.cc (revision 23814)
|
||||||
|
+++ plugin_list_win.cc (working copy)
|
||||||
|
@@ -356,10 +356,15 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
void PluginList::LoadInternalPlugins(std::vector<WebPluginInfo>* plugins) {
|
||||||
|
- if (!use_internal_activex_shim_)
|
||||||
|
- return;
|
||||||
|
- LoadPlugin(FilePath(kActiveXShimFileName), plugins);
|
||||||
|
- LoadPlugin(FilePath(kActiveXShimFileNameForMediaPlayer), plugins);
|
||||||
|
+ for (size_t i = 0; i < internal_plugins_.size(); ++i) {
|
||||||
|
+ if (!use_internal_activex_shim_ &&
|
||||||
|
+ (internal_plugins_[i].path.value() == kActiveXShimFileName ||
|
||||||
|
+ internal_plugins_[i].path.value() ==
|
||||||
|
+ kActiveXShimFileNameForMediaPlayer)) {
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ LoadPlugin(internal_plugins_[i].path, plugins);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace NPAPI
|
Loading…
Reference in New Issue