mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-20 22:20:41 +01:00
Update to Chromium revision 12bfc336 (#338390).
- The ffmpeg library is now statically linked (see https://codereview.chromium.org/1141703002). - Off-screen rendering of the PDF viewer does not work in combination with surfaces. Pass the `--disable-surfaces` command-line flag if GPU is enabled (see https://codereview.chromium.org/1169983006).
This commit is contained in:
parent
50a9343cec
commit
8da8a4fbf1
@ -7,5 +7,5 @@
|
|||||||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||||
|
|
||||||
{
|
{
|
||||||
'chromium_checkout': '14bd12d63019fbdd6f9d6c16b986a5f64a21264b',
|
'chromium_checkout': '12bfc3360892ec53cd00fc239a47e5298beb063b',
|
||||||
}
|
}
|
||||||
|
@ -278,7 +278,6 @@ if(OS_LINUX)
|
|||||||
# List of CEF binary files.
|
# List of CEF binary files.
|
||||||
set(CEF_BINARY_FILES
|
set(CEF_BINARY_FILES
|
||||||
chrome-sandbox
|
chrome-sandbox
|
||||||
libffmpegsumo.so
|
|
||||||
libcef.so
|
libcef.so
|
||||||
natives_blob.bin
|
natives_blob.bin
|
||||||
snapshot_blob.bin
|
snapshot_blob.bin
|
||||||
@ -438,7 +437,6 @@ if(OS_WINDOWS)
|
|||||||
set(CEF_BINARY_FILES
|
set(CEF_BINARY_FILES
|
||||||
d3dcompiler_43.dll
|
d3dcompiler_43.dll
|
||||||
d3dcompiler_47.dll
|
d3dcompiler_47.dll
|
||||||
ffmpegsumo.dll
|
|
||||||
libcef.dll
|
libcef.dll
|
||||||
libEGL.dll
|
libEGL.dll
|
||||||
libGLESv2.dll
|
libGLESv2.dll
|
||||||
|
12
cef.gyp
12
cef.gyp
@ -949,6 +949,7 @@
|
|||||||
'<(DEPTH)/components/components.gyp:pref_registry',
|
'<(DEPTH)/components/components.gyp:pref_registry',
|
||||||
'<(DEPTH)/components/components.gyp:printing_common',
|
'<(DEPTH)/components/components.gyp:printing_common',
|
||||||
'<(DEPTH)/components/components.gyp:printing_renderer',
|
'<(DEPTH)/components/components.gyp:printing_renderer',
|
||||||
|
'<(DEPTH)/components/components.gyp:proxy_config',
|
||||||
'<(DEPTH)/components/components.gyp:update_client',
|
'<(DEPTH)/components/components.gyp:update_client',
|
||||||
'<(DEPTH)/components/components.gyp:user_prefs',
|
'<(DEPTH)/components/components.gyp:user_prefs',
|
||||||
'<(DEPTH)/components/components.gyp:web_cache_renderer',
|
'<(DEPTH)/components/components.gyp:web_cache_renderer',
|
||||||
@ -1276,10 +1277,6 @@
|
|||||||
'<(DEPTH)/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h',
|
'<(DEPTH)/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h',
|
||||||
'<(DEPTH)/chrome/browser/prefs/command_line_pref_store.cc',
|
'<(DEPTH)/chrome/browser/prefs/command_line_pref_store.cc',
|
||||||
'<(DEPTH)/chrome/browser/prefs/command_line_pref_store.h',
|
'<(DEPTH)/chrome/browser/prefs/command_line_pref_store.h',
|
||||||
'<(DEPTH)/chrome/browser/prefs/proxy_config_dictionary.cc',
|
|
||||||
'<(DEPTH)/chrome/browser/prefs/proxy_config_dictionary.h',
|
|
||||||
'<(DEPTH)/chrome/browser/prefs/proxy_prefs.cc',
|
|
||||||
'<(DEPTH)/chrome/browser/prefs/proxy_prefs.h',
|
|
||||||
'<(DEPTH)/chrome/common/pref_names.cc',
|
'<(DEPTH)/chrome/common/pref_names.cc',
|
||||||
'<(DEPTH)/chrome/common/pref_names.h',
|
'<(DEPTH)/chrome/common/pref_names.h',
|
||||||
'<(DEPTH)/components/data_reduction_proxy/core/common/data_reduction_proxy_switches.cc',
|
'<(DEPTH)/components/data_reduction_proxy/core/common/data_reduction_proxy_switches.cc',
|
||||||
@ -1546,13 +1543,6 @@
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
'copies': [
|
'copies': [
|
||||||
{
|
|
||||||
# Copy binaries for HTML5 audio/video support.
|
|
||||||
'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
|
|
||||||
'files': [
|
|
||||||
'<(PRODUCT_DIR)/ffmpegsumo.so',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
# Copy binaries for breakpad support.
|
# Copy binaries for breakpad support.
|
||||||
'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
|
'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
|
||||||
|
@ -37,6 +37,10 @@
|
|||||||
#include "include/base/cef_string16.h"
|
#include "include/base/cef_string16.h"
|
||||||
#include "include/internal/cef_string_types.h"
|
#include "include/internal/cef_string_types.h"
|
||||||
|
|
||||||
|
#if defined(BUILDING_CEF_SHARED)
|
||||||
|
#include "base/files/file_path.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
///
|
///
|
||||||
// Traits implementation for wide character strings.
|
// Traits implementation for wide character strings.
|
||||||
///
|
///
|
||||||
@ -692,6 +696,17 @@ class CefStringBase {
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif // WCHAR_T_IS_UTF32
|
#endif // WCHAR_T_IS_UTF32
|
||||||
|
#if defined(BUILDING_CEF_SHARED)
|
||||||
|
// The base::FilePath constructor is marked as explicit so provide the
|
||||||
|
// conversion here for convenience.
|
||||||
|
operator base::FilePath() const {
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
return base::FilePath(ToWString());
|
||||||
|
#else
|
||||||
|
return base::FilePath(ToString());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif // BUILDING_CEF_SHARED
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Allocate the string structure if it doesn't already exist.
|
// Allocate the string structure if it doesn't already exist.
|
||||||
|
@ -886,8 +886,7 @@ void CefBrowserHostImpl::StartDownload(const CefString& url) {
|
|||||||
if (!manager)
|
if (!manager)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
scoped_ptr<content::DownloadUrlParameters> params;
|
scoped_ptr<content::DownloadUrlParameters> params(
|
||||||
params.reset(
|
|
||||||
content::DownloadUrlParameters::FromWebContents(web_contents(), gurl));
|
content::DownloadUrlParameters::FromWebContents(web_contents(), gurl));
|
||||||
manager->DownloadUrl(params.Pass());
|
manager->DownloadUrl(params.Pass());
|
||||||
}
|
}
|
||||||
@ -1393,6 +1392,13 @@ bool CefBrowserHostImpl::CanGoBack() {
|
|||||||
|
|
||||||
void CefBrowserHostImpl::GoBack() {
|
void CefBrowserHostImpl::GoBack() {
|
||||||
if (CEF_CURRENTLY_ON_UIT()) {
|
if (CEF_CURRENTLY_ON_UIT()) {
|
||||||
|
if (frame_destruction_pending_) {
|
||||||
|
// Try again after frame destruction has completed.
|
||||||
|
CEF_POST_TASK(CEF_UIT,
|
||||||
|
base::Bind(&CefBrowserHostImpl::GoBack, this));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (web_contents_.get() && web_contents_->GetController().CanGoBack())
|
if (web_contents_.get() && web_contents_->GetController().CanGoBack())
|
||||||
web_contents_->GetController().GoBack();
|
web_contents_->GetController().GoBack();
|
||||||
} else {
|
} else {
|
||||||
@ -1408,6 +1414,13 @@ bool CefBrowserHostImpl::CanGoForward() {
|
|||||||
|
|
||||||
void CefBrowserHostImpl::GoForward() {
|
void CefBrowserHostImpl::GoForward() {
|
||||||
if (CEF_CURRENTLY_ON_UIT()) {
|
if (CEF_CURRENTLY_ON_UIT()) {
|
||||||
|
if (frame_destruction_pending_) {
|
||||||
|
// Try again after frame destruction has completed.
|
||||||
|
CEF_POST_TASK(CEF_UIT,
|
||||||
|
base::Bind(&CefBrowserHostImpl::GoForward, this));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (web_contents_.get() && web_contents_->GetController().CanGoForward())
|
if (web_contents_.get() && web_contents_->GetController().CanGoForward())
|
||||||
web_contents_->GetController().GoForward();
|
web_contents_->GetController().GoForward();
|
||||||
} else {
|
} else {
|
||||||
@ -1423,6 +1436,13 @@ bool CefBrowserHostImpl::IsLoading() {
|
|||||||
|
|
||||||
void CefBrowserHostImpl::Reload() {
|
void CefBrowserHostImpl::Reload() {
|
||||||
if (CEF_CURRENTLY_ON_UIT()) {
|
if (CEF_CURRENTLY_ON_UIT()) {
|
||||||
|
if (frame_destruction_pending_) {
|
||||||
|
// Try again after frame destruction has completed.
|
||||||
|
CEF_POST_TASK(CEF_UIT,
|
||||||
|
base::Bind(&CefBrowserHostImpl::Reload, this));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (web_contents_.get())
|
if (web_contents_.get())
|
||||||
web_contents_->GetController().Reload(true);
|
web_contents_->GetController().Reload(true);
|
||||||
} else {
|
} else {
|
||||||
@ -1433,6 +1453,13 @@ void CefBrowserHostImpl::Reload() {
|
|||||||
|
|
||||||
void CefBrowserHostImpl::ReloadIgnoreCache() {
|
void CefBrowserHostImpl::ReloadIgnoreCache() {
|
||||||
if (CEF_CURRENTLY_ON_UIT()) {
|
if (CEF_CURRENTLY_ON_UIT()) {
|
||||||
|
if (frame_destruction_pending_) {
|
||||||
|
// Try again after frame destruction has completed.
|
||||||
|
CEF_POST_TASK(CEF_UIT,
|
||||||
|
base::Bind(&CefBrowserHostImpl::ReloadIgnoreCache, this));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (web_contents_.get())
|
if (web_contents_.get())
|
||||||
web_contents_->GetController().ReloadIgnoringCache(true);
|
web_contents_->GetController().ReloadIgnoringCache(true);
|
||||||
} else {
|
} else {
|
||||||
@ -1443,6 +1470,13 @@ void CefBrowserHostImpl::ReloadIgnoreCache() {
|
|||||||
|
|
||||||
void CefBrowserHostImpl::StopLoad() {
|
void CefBrowserHostImpl::StopLoad() {
|
||||||
if (CEF_CURRENTLY_ON_UIT()) {
|
if (CEF_CURRENTLY_ON_UIT()) {
|
||||||
|
if (frame_destruction_pending_) {
|
||||||
|
// Try again after frame destruction has completed.
|
||||||
|
CEF_POST_TASK(CEF_UIT,
|
||||||
|
base::Bind(&CefBrowserHostImpl::StopLoad, this));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (web_contents_.get())
|
if (web_contents_.get())
|
||||||
web_contents_->Stop();
|
web_contents_->Stop();
|
||||||
} else {
|
} else {
|
||||||
@ -1719,6 +1753,14 @@ void CefBrowserHostImpl::LoadURL(
|
|||||||
if (frame_id == CefFrameHostImpl::kMainFrameId) {
|
if (frame_id == CefFrameHostImpl::kMainFrameId) {
|
||||||
// Go through the navigation controller.
|
// Go through the navigation controller.
|
||||||
if (CEF_CURRENTLY_ON_UIT()) {
|
if (CEF_CURRENTLY_ON_UIT()) {
|
||||||
|
if (frame_destruction_pending_) {
|
||||||
|
// Try again after frame destruction has completed.
|
||||||
|
CEF_POST_TASK(CEF_UIT,
|
||||||
|
base::Bind(&CefBrowserHostImpl::LoadURL, this, frame_id, url,
|
||||||
|
referrer, transition, extra_headers));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (web_contents_.get()) {
|
if (web_contents_.get()) {
|
||||||
GURL gurl = GURL(url);
|
GURL gurl = GURL(url);
|
||||||
|
|
||||||
@ -2407,7 +2449,7 @@ bool CefBrowserHostImpl::ShouldCreateWebContents(
|
|||||||
int route_id,
|
int route_id,
|
||||||
int main_frame_route_id,
|
int main_frame_route_id,
|
||||||
WindowContainerType window_container_type,
|
WindowContainerType window_container_type,
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
content::SessionStorageNamespace* session_storage_namespace,
|
content::SessionStorageNamespace* session_storage_namespace,
|
||||||
@ -2433,7 +2475,7 @@ bool CefBrowserHostImpl::ShouldCreateWebContents(
|
|||||||
void CefBrowserHostImpl::WebContentsCreated(
|
void CefBrowserHostImpl::WebContentsCreated(
|
||||||
content::WebContents* source_contents,
|
content::WebContents* source_contents,
|
||||||
int opener_render_frame_id,
|
int opener_render_frame_id,
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
content::WebContents* new_contents) {
|
content::WebContents* new_contents) {
|
||||||
DCHECK(new_contents);
|
DCHECK(new_contents);
|
||||||
@ -2675,8 +2717,11 @@ void CefBrowserHostImpl::RenderProcessGone(base::TerminationStatus status) {
|
|||||||
|
|
||||||
if (client_.get()) {
|
if (client_.get()) {
|
||||||
CefRefPtr<CefRequestHandler> handler = client_->GetRequestHandler();
|
CefRefPtr<CefRequestHandler> handler = client_->GetRequestHandler();
|
||||||
if (handler.get())
|
if (handler.get()) {
|
||||||
|
frame_destruction_pending_ = true;
|
||||||
handler->OnRenderProcessTerminated(this, ts);
|
handler->OnRenderProcessTerminated(this, ts);
|
||||||
|
frame_destruction_pending_ = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2700,7 +2745,8 @@ void CefBrowserHostImpl::DidFailProvisionalLoad(
|
|||||||
content::RenderFrameHost* render_frame_host,
|
content::RenderFrameHost* render_frame_host,
|
||||||
const GURL& validated_url,
|
const GURL& validated_url,
|
||||||
int error_code,
|
int error_code,
|
||||||
const base::string16& error_description) {
|
const base::string16& error_description,
|
||||||
|
bool was_ignored_by_handler) {
|
||||||
const bool is_main_frame = !render_frame_host->GetParent();
|
const bool is_main_frame = !render_frame_host->GetParent();
|
||||||
CefRefPtr<CefFrame> frame = GetOrCreateFrame(
|
CefRefPtr<CefFrame> frame = GetOrCreateFrame(
|
||||||
render_frame_host->GetRoutingID(),
|
render_frame_host->GetRoutingID(),
|
||||||
@ -2720,7 +2766,8 @@ void CefBrowserHostImpl::DidFailLoad(
|
|||||||
content::RenderFrameHost* render_frame_host,
|
content::RenderFrameHost* render_frame_host,
|
||||||
const GURL& validated_url,
|
const GURL& validated_url,
|
||||||
int error_code,
|
int error_code,
|
||||||
const base::string16& error_description) {
|
const base::string16& error_description,
|
||||||
|
bool was_ignored_by_handler) {
|
||||||
const bool is_main_frame = !render_frame_host->GetParent();
|
const bool is_main_frame = !render_frame_host->GetParent();
|
||||||
CefRefPtr<CefFrame> frame = GetOrCreateFrame(
|
CefRefPtr<CefFrame> frame = GetOrCreateFrame(
|
||||||
render_frame_host->GetRoutingID(),
|
render_frame_host->GetRoutingID(),
|
||||||
@ -2968,6 +3015,7 @@ CefBrowserHostImpl::CefBrowserHostImpl(
|
|||||||
main_frame_id_(CefFrameHostImpl::kInvalidFrameId),
|
main_frame_id_(CefFrameHostImpl::kInvalidFrameId),
|
||||||
focused_frame_id_(CefFrameHostImpl::kInvalidFrameId),
|
focused_frame_id_(CefFrameHostImpl::kInvalidFrameId),
|
||||||
destruction_state_(DESTRUCTION_STATE_NONE),
|
destruction_state_(DESTRUCTION_STATE_NONE),
|
||||||
|
frame_destruction_pending_(false),
|
||||||
window_destroyed_(false),
|
window_destroyed_(false),
|
||||||
is_in_onsetfocus_(false),
|
is_in_onsetfocus_(false),
|
||||||
focus_on_editable_field_(false),
|
focus_on_editable_field_(false),
|
||||||
@ -3147,11 +3195,13 @@ void CefBrowserHostImpl::OnLoadError(CefRefPtr<CefFrame> frame,
|
|||||||
if (client_.get()) {
|
if (client_.get()) {
|
||||||
CefRefPtr<CefLoadHandler> handler = client_->GetLoadHandler();
|
CefRefPtr<CefLoadHandler> handler = client_->GetLoadHandler();
|
||||||
if (handler.get()) {
|
if (handler.get()) {
|
||||||
|
frame_destruction_pending_ = true;
|
||||||
// Notify the handler that loading has failed.
|
// Notify the handler that loading has failed.
|
||||||
handler->OnLoadError(this, frame,
|
handler->OnLoadError(this, frame,
|
||||||
static_cast<cef_errorcode_t>(error_code),
|
static_cast<cef_errorcode_t>(error_code),
|
||||||
CefString(error_description),
|
CefString(error_description),
|
||||||
url.spec());
|
url.spec());
|
||||||
|
frame_destruction_pending_ = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -397,7 +397,7 @@ class CefBrowserHostImpl : public CefBrowserHost,
|
|||||||
int route_id,
|
int route_id,
|
||||||
int main_frame_route_id,
|
int main_frame_route_id,
|
||||||
WindowContainerType window_container_type,
|
WindowContainerType window_container_type,
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
content::SessionStorageNamespace* session_storage_namespace,
|
content::SessionStorageNamespace* session_storage_namespace,
|
||||||
@ -405,7 +405,7 @@ class CefBrowserHostImpl : public CefBrowserHost,
|
|||||||
content::RenderViewHostDelegateView** delegate_view) override;
|
content::RenderViewHostDelegateView** delegate_view) override;
|
||||||
void WebContentsCreated(content::WebContents* source_contents,
|
void WebContentsCreated(content::WebContents* source_contents,
|
||||||
int opener_render_frame_id,
|
int opener_render_frame_id,
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
content::WebContents* new_contents) override;
|
content::WebContents* new_contents) override;
|
||||||
void DidNavigateMainFramePostCommit(
|
void DidNavigateMainFramePostCommit(
|
||||||
@ -461,12 +461,14 @@ class CefBrowserHostImpl : public CefBrowserHost,
|
|||||||
content::RenderFrameHost* render_frame_host,
|
content::RenderFrameHost* render_frame_host,
|
||||||
const GURL& validated_url,
|
const GURL& validated_url,
|
||||||
int error_code,
|
int error_code,
|
||||||
const base::string16& error_description) override;
|
const base::string16& error_description,
|
||||||
|
bool was_ignored_by_handler) override;
|
||||||
void DocumentAvailableInMainFrame() override;
|
void DocumentAvailableInMainFrame() override;
|
||||||
void DidFailLoad(content::RenderFrameHost* render_frame_host,
|
void DidFailLoad(content::RenderFrameHost* render_frame_host,
|
||||||
const GURL& validated_url,
|
const GURL& validated_url,
|
||||||
int error_code,
|
int error_code,
|
||||||
const base::string16& error_description) override;
|
const base::string16& error_description,
|
||||||
|
bool was_ignored_by_handler) override;
|
||||||
void FrameDeleted(
|
void FrameDeleted(
|
||||||
content::RenderFrameHost* render_frame_host) override;
|
content::RenderFrameHost* render_frame_host) override;
|
||||||
void PluginCrashed(const base::FilePath& plugin_path,
|
void PluginCrashed(const base::FilePath& plugin_path,
|
||||||
@ -662,6 +664,10 @@ class CefBrowserHostImpl : public CefBrowserHost,
|
|||||||
// thread.
|
// thread.
|
||||||
DestructionState destruction_state_;
|
DestructionState destruction_state_;
|
||||||
|
|
||||||
|
// True if frame destruction is currently pending. Navigation should not occur
|
||||||
|
// while this flag is true.
|
||||||
|
bool frame_destruction_pending_;
|
||||||
|
|
||||||
// True if the OS window hosting the browser has been destroyed. Only accessed
|
// True if the OS window hosting the browser has been destroyed. Only accessed
|
||||||
// on the UI thread.
|
// on the UI thread.
|
||||||
bool window_destroyed_;
|
bool window_destroyed_;
|
||||||
|
@ -82,7 +82,6 @@ void CefBrowserMainParts::ToolkitInitialized() {
|
|||||||
#if defined(USE_AURA)
|
#if defined(USE_AURA)
|
||||||
CHECK(aura::Env::GetInstance());
|
CHECK(aura::Env::GetInstance());
|
||||||
|
|
||||||
DCHECK(!views::ViewsDelegate::views_delegate);
|
|
||||||
new views::DesktopTestViewsDelegate;
|
new views::DesktopTestViewsDelegate;
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
@ -193,7 +192,9 @@ void CefBrowserMainParts::PostMainMessageLoopRun() {
|
|||||||
void CefBrowserMainParts::PostDestroyThreads() {
|
void CefBrowserMainParts::PostDestroyThreads() {
|
||||||
#if defined(USE_AURA)
|
#if defined(USE_AURA)
|
||||||
aura::Env::DeleteInstance();
|
aura::Env::DeleteInstance();
|
||||||
delete views::ViewsDelegate::views_delegate;
|
|
||||||
|
// Delete the DesktopTestViewsDelegate.
|
||||||
|
delete views::ViewsDelegate::GetInstance();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
|
@ -15,10 +15,10 @@
|
|||||||
#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"
|
||||||
#include "chrome/browser/prefs/command_line_pref_store.h"
|
#include "chrome/browser/prefs/command_line_pref_store.h"
|
||||||
#include "chrome/browser/prefs/proxy_config_dictionary.h"
|
|
||||||
#include "chrome/common/chrome_switches.h"
|
#include "chrome/common/chrome_switches.h"
|
||||||
#include "chrome/common/pref_names.h"
|
#include "chrome/common/pref_names.h"
|
||||||
#include "components/pref_registry/pref_registry_syncable.h"
|
#include "components/pref_registry/pref_registry_syncable.h"
|
||||||
|
#include "components/proxy_config/proxy_config_dictionary.h"
|
||||||
#include "extensions/browser/extension_prefs.h"
|
#include "extensions/browser/extension_prefs.h"
|
||||||
#include "grit/cef_strings.h"
|
#include "grit/cef_strings.h"
|
||||||
#include "ui/base/l10n/l10n_util.h"
|
#include "ui/base/l10n/l10n_util.h"
|
||||||
|
@ -58,9 +58,9 @@ class NET_EXPORT CefURLFetcherResponseWriter :
|
|||||||
public:
|
public:
|
||||||
CefURLFetcherResponseWriter(
|
CefURLFetcherResponseWriter(
|
||||||
CefRefPtr<CefBrowserURLRequest> url_request,
|
CefRefPtr<CefBrowserURLRequest> url_request,
|
||||||
scoped_refptr<base::MessageLoopProxy> message_loop_proxy)
|
scoped_refptr<base::SequencedTaskRunner> task_runner)
|
||||||
: url_request_(url_request),
|
: url_request_(url_request),
|
||||||
message_loop_proxy_(message_loop_proxy) {
|
task_runner_(task_runner) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// net::URLFetcherResponseWriter methods.
|
// net::URLFetcherResponseWriter methods.
|
||||||
@ -72,11 +72,11 @@ class NET_EXPORT CefURLFetcherResponseWriter :
|
|||||||
int num_bytes,
|
int num_bytes,
|
||||||
const net::CompletionCallback& callback) override {
|
const net::CompletionCallback& callback) override {
|
||||||
if (url_request_.get()) {
|
if (url_request_.get()) {
|
||||||
message_loop_proxy_->PostTask(FROM_HERE,
|
task_runner_->PostTask(FROM_HERE,
|
||||||
base::Bind(&CefURLFetcherResponseWriter::WriteOnClientThread,
|
base::Bind(&CefURLFetcherResponseWriter::WriteOnClientThread,
|
||||||
url_request_, scoped_refptr<net::IOBuffer>(buffer),
|
url_request_, scoped_refptr<net::IOBuffer>(buffer),
|
||||||
num_bytes, callback,
|
num_bytes, callback,
|
||||||
base::MessageLoop::current()->message_loop_proxy()));
|
base::MessageLoop::current()->task_runner()));
|
||||||
return net::ERR_IO_PENDING;
|
return net::ERR_IO_PENDING;
|
||||||
}
|
}
|
||||||
return num_bytes;
|
return num_bytes;
|
||||||
@ -94,7 +94,7 @@ class NET_EXPORT CefURLFetcherResponseWriter :
|
|||||||
scoped_refptr<net::IOBuffer> buffer,
|
scoped_refptr<net::IOBuffer> buffer,
|
||||||
int num_bytes,
|
int num_bytes,
|
||||||
const net::CompletionCallback& callback,
|
const net::CompletionCallback& callback,
|
||||||
scoped_refptr<base::MessageLoopProxy> source_message_loop_proxy) {
|
scoped_refptr<base::SequencedTaskRunner> source_message_loop_proxy) {
|
||||||
CefRefPtr<CefURLRequestClient> client = url_request->GetClient();
|
CefRefPtr<CefURLRequestClient> client = url_request->GetClient();
|
||||||
if (client.get())
|
if (client.get())
|
||||||
client->OnDownloadData(url_request.get(), buffer->data(), num_bytes);
|
client->OnDownloadData(url_request.get(), buffer->data(), num_bytes);
|
||||||
@ -111,7 +111,7 @@ class NET_EXPORT CefURLFetcherResponseWriter :
|
|||||||
}
|
}
|
||||||
|
|
||||||
CefRefPtr<CefBrowserURLRequest> url_request_;
|
CefRefPtr<CefBrowserURLRequest> url_request_;
|
||||||
scoped_refptr<base::MessageLoopProxy> message_loop_proxy_;
|
scoped_refptr<base::SequencedTaskRunner> task_runner_;
|
||||||
|
|
||||||
DISALLOW_COPY_AND_ASSIGN(CefURLFetcherResponseWriter);
|
DISALLOW_COPY_AND_ASSIGN(CefURLFetcherResponseWriter);
|
||||||
};
|
};
|
||||||
@ -137,7 +137,7 @@ class CefBrowserURLRequest::Context
|
|||||||
request_(request),
|
request_(request),
|
||||||
client_(client),
|
client_(client),
|
||||||
request_context_(request_context),
|
request_context_(request_context),
|
||||||
message_loop_proxy_(base::MessageLoop::current()->message_loop_proxy()),
|
task_runner_(base::MessageLoop::current()->task_runner()),
|
||||||
status_(UR_IO_PENDING),
|
status_(UR_IO_PENDING),
|
||||||
error_code_(ERR_NONE),
|
error_code_(ERR_NONE),
|
||||||
upload_data_size_(0),
|
upload_data_size_(0),
|
||||||
@ -147,7 +147,7 @@ class CefBrowserURLRequest::Context
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline bool CalledOnValidThread() {
|
inline bool CalledOnValidThread() {
|
||||||
return message_loop_proxy_->BelongsToCurrentThread();
|
return task_runner_->RunsTasksOnCurrentThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Start() {
|
bool Start() {
|
||||||
@ -160,14 +160,14 @@ class CefBrowserURLRequest::Context
|
|||||||
std::string method = request_->GetMethod();
|
std::string method = request_->GetMethod();
|
||||||
base::StringToLowerASCII(&method);
|
base::StringToLowerASCII(&method);
|
||||||
net::URLFetcher::RequestType request_type = net::URLFetcher::GET;
|
net::URLFetcher::RequestType request_type = net::URLFetcher::GET;
|
||||||
if (LowerCaseEqualsASCII(method, "get")) {
|
if (base::LowerCaseEqualsASCII(method, "get")) {
|
||||||
} else if (LowerCaseEqualsASCII(method, "post")) {
|
} else if (base::LowerCaseEqualsASCII(method, "post")) {
|
||||||
request_type = net::URLFetcher::POST;
|
request_type = net::URLFetcher::POST;
|
||||||
} else if (LowerCaseEqualsASCII(method, "head")) {
|
} else if (base::LowerCaseEqualsASCII(method, "head")) {
|
||||||
request_type = net::URLFetcher::HEAD;
|
request_type = net::URLFetcher::HEAD;
|
||||||
} else if (LowerCaseEqualsASCII(method, "delete")) {
|
} else if (base::LowerCaseEqualsASCII(method, "delete")) {
|
||||||
request_type = net::URLFetcher::DELETE_REQUEST;
|
request_type = net::URLFetcher::DELETE_REQUEST;
|
||||||
} else if (LowerCaseEqualsASCII(method, "put")) {
|
} else if (base::LowerCaseEqualsASCII(method, "put")) {
|
||||||
request_type = net::URLFetcher::PUT;
|
request_type = net::URLFetcher::PUT;
|
||||||
} else {
|
} else {
|
||||||
NOTREACHED() << "invalid request type";
|
NOTREACHED() << "invalid request type";
|
||||||
@ -324,7 +324,7 @@ class CefBrowserURLRequest::Context
|
|||||||
response_writer.reset(new CefURLFetcherResponseWriter(NULL, NULL));
|
response_writer.reset(new CefURLFetcherResponseWriter(NULL, NULL));
|
||||||
} else {
|
} else {
|
||||||
response_writer.reset(
|
response_writer.reset(
|
||||||
new CefURLFetcherResponseWriter(url_request_, message_loop_proxy_));
|
new CefURLFetcherResponseWriter(url_request_, task_runner_));
|
||||||
}
|
}
|
||||||
fetcher_->SaveResponseWithWriter(response_writer.Pass());
|
fetcher_->SaveResponseWithWriter(response_writer.Pass());
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ class CefBrowserURLRequest::Context
|
|||||||
~Context() {
|
~Context() {
|
||||||
if (fetcher_.get()) {
|
if (fetcher_.get()) {
|
||||||
// Delete the fetcher object on the thread that created it.
|
// Delete the fetcher object on the thread that created it.
|
||||||
message_loop_proxy_->DeleteSoon(FROM_HERE, fetcher_.release());
|
task_runner_->DeleteSoon(FROM_HERE, fetcher_.release());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,7 +463,7 @@ class CefBrowserURLRequest::Context
|
|||||||
CefRefPtr<CefRequest> request_;
|
CefRefPtr<CefRequest> request_;
|
||||||
CefRefPtr<CefURLRequestClient> client_;
|
CefRefPtr<CefURLRequestClient> client_;
|
||||||
CefRefPtr<CefRequestContext> request_context_;
|
CefRefPtr<CefRequestContext> request_context_;
|
||||||
scoped_refptr<base::MessageLoopProxy> message_loop_proxy_;
|
scoped_refptr<base::SequencedTaskRunner> task_runner_;
|
||||||
scoped_ptr<net::URLFetcher> fetcher_;
|
scoped_ptr<net::URLFetcher> fetcher_;
|
||||||
scoped_ptr<CefURLFetcherDelegate> fetcher_delegate_;
|
scoped_ptr<CefURLFetcherDelegate> fetcher_delegate_;
|
||||||
CefURLRequest::Status status_;
|
CefURLRequest::Status status_;
|
||||||
|
@ -273,3 +273,8 @@ gcm::GCMDriver* ChromeBrowserProcessStub::gcm_driver() {
|
|||||||
NOTIMPLEMENTED();
|
NOTIMPLEMENTED();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memory::OomPriorityManager* ChromeBrowserProcessStub::GetOomPriorityManager() {
|
||||||
|
NOTIMPLEMENTED();
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
@ -96,6 +96,7 @@ class ChromeBrowserProcessStub : public BrowserProcess {
|
|||||||
#endif
|
#endif
|
||||||
network_time::NetworkTimeTracker* network_time_tracker() override;
|
network_time::NetworkTimeTracker* network_time_tracker() override;
|
||||||
gcm::GCMDriver* gcm_driver() override;
|
gcm::GCMDriver* gcm_driver() override;
|
||||||
|
memory::OomPriorityManager* GetOomPriorityManager() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string locale_;
|
std::string locale_;
|
||||||
|
@ -209,7 +209,7 @@ const ResourcesMap* CreateResourcesMap() {
|
|||||||
const int resource_id = kWebuiResources[i].value;
|
const int resource_id = kWebuiResources[i].value;
|
||||||
AddResource(resource_name, resource_id, result);
|
AddResource(resource_name, resource_id, result);
|
||||||
for (const char* (&alias)[2]: kPathAliases) {
|
for (const char* (&alias)[2]: kPathAliases) {
|
||||||
if (StartsWithASCII(resource_name, alias[0], true)) {
|
if (base::StartsWithASCII(resource_name, alias[0], true)) {
|
||||||
AddResource(alias[1] + resource_name.substr(strlen(alias[0])),
|
AddResource(alias[1] + resource_name.substr(strlen(alias[0])),
|
||||||
resource_id, result);
|
resource_id, result);
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,6 @@
|
|||||||
#include "extensions/browser/guest_view/extensions_guest_view_message_filter.h"
|
#include "extensions/browser/guest_view/extensions_guest_view_message_filter.h"
|
||||||
#include "extensions/browser/io_thread_extension_message_filter.h"
|
#include "extensions/browser/io_thread_extension_message_filter.h"
|
||||||
#include "extensions/common/constants.h"
|
#include "extensions/common/constants.h"
|
||||||
#include "gin/v8_initializer.h"
|
|
||||||
#include "net/ssl/ssl_cert_request_info.h"
|
#include "net/ssl/ssl_cert_request_info.h"
|
||||||
#include "third_party/WebKit/public/web/WebWindowFeatures.h"
|
#include "third_party/WebKit/public/web/WebWindowFeatures.h"
|
||||||
#include "ui/base/ui_base_switches.h"
|
#include "ui/base/ui_base_switches.h"
|
||||||
@ -718,15 +717,6 @@ void CefContentBrowserClient::AppendExtraCommandLineSwitches(
|
|||||||
arraysize(kSwitchNames));
|
arraysize(kSwitchNames));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
|
||||||
#if defined(V8_USE_EXTERNAL_STARTUP_DATA)
|
|
||||||
if (process_type != switches::kZygoteProcess) {
|
|
||||||
command_line->AppendSwitch(switches::kV8NativesPassedByFD);
|
|
||||||
command_line->AppendSwitch(switches::kV8SnapshotPassedByFD);
|
|
||||||
}
|
|
||||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
|
||||||
#endif // OS_POSIX && !OS_MACOSX
|
|
||||||
|
|
||||||
#if defined(OS_LINUX)
|
#if defined(OS_LINUX)
|
||||||
if (process_type == switches::kZygoteProcess) {
|
if (process_type == switches::kZygoteProcess) {
|
||||||
// Propagate the following switches to the zygone command line (along with
|
// Propagate the following switches to the zygone command line (along with
|
||||||
@ -858,7 +848,8 @@ bool CefContentBrowserClient::CanCreateWindow(
|
|||||||
bool opener_suppressed,
|
bool opener_suppressed,
|
||||||
content::ResourceContext* context,
|
content::ResourceContext* context,
|
||||||
int render_process_id,
|
int render_process_id,
|
||||||
int opener_id,
|
int opener_render_view_id,
|
||||||
|
int opener_render_frame_id,
|
||||||
bool* no_javascript_access) {
|
bool* no_javascript_access) {
|
||||||
CEF_REQUIRE_IOT();
|
CEF_REQUIRE_IOT();
|
||||||
*no_javascript_access = false;
|
*no_javascript_access = false;
|
||||||
@ -1003,21 +994,6 @@ void CefContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
|
|||||||
const base::CommandLine& command_line,
|
const base::CommandLine& command_line,
|
||||||
int child_process_id,
|
int child_process_id,
|
||||||
content::FileDescriptorInfo* mappings) {
|
content::FileDescriptorInfo* mappings) {
|
||||||
#if defined(V8_USE_EXTERNAL_STARTUP_DATA)
|
|
||||||
if (v8_natives_fd_.get() == -1 || v8_snapshot_fd_.get() == -1) {
|
|
||||||
int v8_natives_fd = -1;
|
|
||||||
int v8_snapshot_fd = -1;
|
|
||||||
if (gin::V8Initializer::OpenV8FilesForChildProcesses(&v8_natives_fd,
|
|
||||||
&v8_snapshot_fd)) {
|
|
||||||
v8_natives_fd_.reset(v8_natives_fd);
|
|
||||||
v8_snapshot_fd_.reset(v8_snapshot_fd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DCHECK(v8_natives_fd_.get() != -1 && v8_snapshot_fd_.get() != -1);
|
|
||||||
mappings->Share(kV8NativesDataDescriptor, v8_natives_fd_.get());
|
|
||||||
mappings->Share(kV8SnapshotDataDescriptor, v8_snapshot_fd_.get());
|
|
||||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
|
||||||
|
|
||||||
int crash_signal_fd = GetCrashSignalFD(command_line);
|
int crash_signal_fd = GetCrashSignalFD(command_line);
|
||||||
if (crash_signal_fd >= 0) {
|
if (crash_signal_fd >= 0) {
|
||||||
mappings->Share(kCrashDumpSignal, crash_signal_fd);
|
mappings->Share(kCrashDumpSignal, crash_signal_fd);
|
||||||
|
@ -125,7 +125,8 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
|
|||||||
bool opener_suppressed,
|
bool opener_suppressed,
|
||||||
content::ResourceContext* context,
|
content::ResourceContext* context,
|
||||||
int render_process_id,
|
int render_process_id,
|
||||||
int opener_id,
|
int opener_render_view_id,
|
||||||
|
int opener_render_frame_id,
|
||||||
bool* no_javascript_access) override;
|
bool* no_javascript_access) override;
|
||||||
void ResourceDispatcherHostCreated() override;
|
void ResourceDispatcherHostCreated() override;
|
||||||
void OverrideWebkitPrefs(content::RenderViewHost* rvh,
|
void OverrideWebkitPrefs(content::RenderViewHost* rvh,
|
||||||
@ -159,7 +160,7 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
|
|||||||
int opener_view_id;
|
int opener_view_id;
|
||||||
int64 opener_frame_id;
|
int64 opener_frame_id;
|
||||||
GURL target_url;
|
GURL target_url;
|
||||||
base::string16 target_frame_name;
|
std::string target_frame_name;
|
||||||
};
|
};
|
||||||
void set_last_create_window_params(const LastCreateWindowParams& params);
|
void set_last_create_window_params(const LastCreateWindowParams& params);
|
||||||
|
|
||||||
@ -176,11 +177,6 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
|
|||||||
scoped_ptr<CefResourceDispatcherHostDelegate>
|
scoped_ptr<CefResourceDispatcherHostDelegate>
|
||||||
resource_dispatcher_host_delegate_;
|
resource_dispatcher_host_delegate_;
|
||||||
|
|
||||||
#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
|
||||||
base::ScopedFD v8_natives_fd_;
|
|
||||||
base::ScopedFD v8_snapshot_fd_;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
base::Lock browser_info_lock_;
|
base::Lock browser_info_lock_;
|
||||||
|
|
||||||
// Access must be protected by |browser_info_lock_|.
|
// Access must be protected by |browser_info_lock_|.
|
||||||
|
@ -108,9 +108,9 @@ void StreamsPrivateAPI::ExecuteMimeTypeHandler(
|
|||||||
CreateResponseHeadersDictionary(stream->response_headers.get(),
|
CreateResponseHeadersDictionary(stream->response_headers.get(),
|
||||||
&info.response_headers.additional_properties);
|
&info.response_headers.additional_properties);
|
||||||
|
|
||||||
scoped_ptr<Event> event(
|
scoped_ptr<Event> event(new Event(
|
||||||
new Event(streams_private::OnExecuteMimeTypeHandler::kEventName,
|
events::UNKNOWN, streams_private::OnExecuteMimeTypeHandler::kEventName,
|
||||||
streams_private::OnExecuteMimeTypeHandler::Create(info)));
|
streams_private::OnExecuteMimeTypeHandler::Create(info)));
|
||||||
|
|
||||||
EventRouter::Get(browser_context_)
|
EventRouter::Get(browser_context_)
|
||||||
->DispatchEventToExtension(extension_id, event.Pass());
|
->DispatchEventToExtension(extension_id, event.Pass());
|
||||||
|
@ -110,7 +110,8 @@ void EventRouterForwarder::CallEventRouter(
|
|||||||
scoped_ptr<base::ListValue> event_args,
|
scoped_ptr<base::ListValue> event_args,
|
||||||
content::BrowserContext* restrict_to_profile,
|
content::BrowserContext* restrict_to_profile,
|
||||||
const GURL& event_url) {
|
const GURL& event_url) {
|
||||||
scoped_ptr<Event> event(new Event(event_name, event_args.Pass()));
|
scoped_ptr<Event> event(
|
||||||
|
new Event(events::UNKNOWN, event_name, event_args.Pass()));
|
||||||
event->restrict_to_browser_context = restrict_to_profile;
|
event->restrict_to_browser_context = restrict_to_profile;
|
||||||
event->event_url = event_url;
|
event->event_url = event_url;
|
||||||
if (extension_id.empty()) {
|
if (extension_id.empty()) {
|
||||||
|
@ -256,22 +256,26 @@ CefExtensionSystem::ComponentExtensionInfo::ComponentExtensionInfo(
|
|||||||
extension_id = GenerateId(manifest, root_directory);
|
extension_id = GenerateId(manifest, root_directory);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Implementation based on ComponentLoader::Load and
|
// Implementation based on ComponentLoader::CreateExtension.
|
||||||
// ExtensionService::AddExtension.
|
scoped_refptr<const Extension> CefExtensionSystem::CreateExtension(
|
||||||
const Extension* CefExtensionSystem::LoadExtension(
|
const ComponentExtensionInfo& info, std::string* utf8_error) {
|
||||||
const ComponentExtensionInfo& info) {
|
|
||||||
// TODO(abarth): We should REQUIRE_MODERN_MANIFEST_VERSION once we've updated
|
// TODO(abarth): We should REQUIRE_MODERN_MANIFEST_VERSION once we've updated
|
||||||
// our component extensions to the new manifest version.
|
// our component extensions to the new manifest version.
|
||||||
int flags = Extension::REQUIRE_KEY;
|
int flags = Extension::REQUIRE_KEY;
|
||||||
|
return Extension::Create(
|
||||||
std::string error;
|
|
||||||
|
|
||||||
scoped_refptr<const Extension> extension(Extension::Create(
|
|
||||||
info.root_directory,
|
info.root_directory,
|
||||||
Manifest::COMPONENT,
|
Manifest::COMPONENT,
|
||||||
*info.manifest,
|
*info.manifest,
|
||||||
flags,
|
flags,
|
||||||
&error));
|
utf8_error);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Implementation based on ComponentLoader::Load and
|
||||||
|
// ExtensionService::AddExtension.
|
||||||
|
const Extension* CefExtensionSystem::LoadExtension(
|
||||||
|
const ComponentExtensionInfo& info) {
|
||||||
|
std::string error;
|
||||||
|
scoped_refptr<const Extension> extension(CreateExtension(info, &error));
|
||||||
if (!extension.get()) {
|
if (!extension.get()) {
|
||||||
LOG(ERROR) << error;
|
LOG(ERROR) << error;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -86,6 +86,9 @@ class CefExtensionSystem : public ExtensionSystem {
|
|||||||
std::string extension_id;
|
std::string extension_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
scoped_refptr<const Extension> CreateExtension(
|
||||||
|
const ComponentExtensionInfo& info, std::string* utf8_error);
|
||||||
|
|
||||||
// Loads a registered component extension.
|
// Loads a registered component extension.
|
||||||
const Extension* LoadExtension(const ComponentExtensionInfo& info);
|
const Extension* LoadExtension(const ComponentExtensionInfo& info);
|
||||||
|
|
||||||
|
@ -5,7 +5,13 @@
|
|||||||
|
|
||||||
#include "libcef/browser/extensions/extensions_api_client.h"
|
#include "libcef/browser/extensions/extensions_api_client.h"
|
||||||
|
|
||||||
|
#include "include/internal/cef_types_wrappers.h"
|
||||||
|
#include "libcef/browser/extensions/extension_web_contents_observer.h"
|
||||||
#include "libcef/browser/extensions/mime_handler_view_guest_delegate.h"
|
#include "libcef/browser/extensions/mime_handler_view_guest_delegate.h"
|
||||||
|
#include "libcef/browser/extensions/pdf_web_contents_helper_client.h"
|
||||||
|
#include "libcef/browser/printing/print_view_manager.h"
|
||||||
|
|
||||||
|
#include "components/pdf/browser/pdf_web_contents_helper.h"
|
||||||
|
|
||||||
namespace extensions {
|
namespace extensions {
|
||||||
|
|
||||||
@ -25,4 +31,14 @@ CefExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate(
|
|||||||
return make_scoped_ptr(new CefMimeHandlerViewGuestDelegate(guest));
|
return make_scoped_ptr(new CefMimeHandlerViewGuestDelegate(guest));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CefExtensionsAPIClient::AttachWebContentsHelpers(
|
||||||
|
content::WebContents* web_contents) const {
|
||||||
|
printing::PrintViewManager::CreateForWebContents(web_contents);
|
||||||
|
pdf::PDFWebContentsHelper::CreateForWebContentsWithClient(
|
||||||
|
web_contents,
|
||||||
|
scoped_ptr<pdf::PDFWebContentsHelperClient>(
|
||||||
|
new CefPDFWebContentsHelperClient()));
|
||||||
|
CefExtensionWebContentsObserver::CreateForWebContents(web_contents);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace extensions
|
} // namespace extensions
|
||||||
|
@ -19,6 +19,8 @@ class CefExtensionsAPIClient : public ExtensionsAPIClient {
|
|||||||
scoped_ptr<MimeHandlerViewGuestDelegate>
|
scoped_ptr<MimeHandlerViewGuestDelegate>
|
||||||
CreateMimeHandlerViewGuestDelegate(
|
CreateMimeHandlerViewGuestDelegate(
|
||||||
MimeHandlerViewGuest* guest) const override;
|
MimeHandlerViewGuest* guest) const override;
|
||||||
|
void AttachWebContentsHelpers(content::WebContents* web_contents) const
|
||||||
|
override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace extensions
|
} // namespace extensions
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#include "libcef/browser/content_browser_client.h"
|
#include "libcef/browser/content_browser_client.h"
|
||||||
#include "libcef/browser/extensions/component_extension_resource_manager.h"
|
#include "libcef/browser/extensions/component_extension_resource_manager.h"
|
||||||
#include "libcef/browser/extensions/extension_system_factory.h"
|
#include "libcef/browser/extensions/extension_system_factory.h"
|
||||||
|
#include "libcef/browser/extensions/extension_web_contents_observer.h"
|
||||||
#include "libcef/browser/extensions/extensions_api_client.h"
|
#include "libcef/browser/extensions/extensions_api_client.h"
|
||||||
#include "libcef/browser/extensions/url_request_util.h"
|
#include "libcef/browser/extensions/url_request_util.h"
|
||||||
|
|
||||||
@ -226,6 +227,12 @@ bool CefExtensionsBrowserClient::IsMinBrowserVersionSupported(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ExtensionWebContentsObserver*
|
||||||
|
CefExtensionsBrowserClient::GetExtensionWebContentsObserver(
|
||||||
|
content::WebContents* web_contents) {
|
||||||
|
return CefExtensionWebContentsObserver::FromWebContents(web_contents);
|
||||||
|
}
|
||||||
|
|
||||||
void CefExtensionsBrowserClient::SetAPIClientForTest(
|
void CefExtensionsBrowserClient::SetAPIClientForTest(
|
||||||
ExtensionsAPIClient* api_client) {
|
ExtensionsAPIClient* api_client) {
|
||||||
api_client_.reset(api_client);
|
api_client_.reset(api_client);
|
||||||
|
@ -81,6 +81,8 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient {
|
|||||||
ExtensionCache* GetExtensionCache() override;
|
ExtensionCache* GetExtensionCache() override;
|
||||||
bool IsBackgroundUpdateAllowed() override;
|
bool IsBackgroundUpdateAllowed() override;
|
||||||
bool IsMinBrowserVersionSupported(const std::string& min_version) override;
|
bool IsMinBrowserVersionSupported(const std::string& min_version) override;
|
||||||
|
ExtensionWebContentsObserver* GetExtensionWebContentsObserver(
|
||||||
|
content::WebContents* web_contents) override;
|
||||||
|
|
||||||
// Sets the API client.
|
// Sets the API client.
|
||||||
void SetAPIClientForTest(ExtensionsAPIClient* api_client);
|
void SetAPIClientForTest(ExtensionsAPIClient* api_client);
|
||||||
|
@ -5,17 +5,11 @@
|
|||||||
|
|
||||||
#include "libcef/browser/extensions/mime_handler_view_guest_delegate.h"
|
#include "libcef/browser/extensions/mime_handler_view_guest_delegate.h"
|
||||||
|
|
||||||
#include "include/internal/cef_types_wrappers.h"
|
|
||||||
#include "libcef/browser/browser_host_impl.h"
|
#include "libcef/browser/browser_host_impl.h"
|
||||||
#include "libcef/browser/browser_info.h"
|
#include "libcef/browser/browser_info.h"
|
||||||
#include "libcef/browser/content_browser_client.h"
|
#include "libcef/browser/content_browser_client.h"
|
||||||
#include "libcef/browser/extensions/extension_web_contents_observer.h"
|
|
||||||
#include "libcef/browser/extensions/pdf_web_contents_helper_client.h"
|
|
||||||
#include "libcef/browser/printing/print_view_manager.h"
|
|
||||||
#include "libcef/browser/web_contents_view_osr.h"
|
#include "libcef/browser/web_contents_view_osr.h"
|
||||||
|
|
||||||
#include "components/pdf/browser/pdf_web_contents_helper.h"
|
|
||||||
#include "components/pdf/browser/pdf_web_contents_helper_client.h"
|
|
||||||
#include "content/browser/browser_plugin/browser_plugin_guest.h"
|
#include "content/browser/browser_plugin/browser_plugin_guest.h"
|
||||||
#include "content/browser/web_contents/web_contents_impl.h"
|
#include "content/browser/web_contents/web_contents_impl.h"
|
||||||
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
|
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
|
||||||
@ -37,7 +31,7 @@ CefRefPtr<CefBrowserHostImpl> GetOwnerBrowser(
|
|||||||
|
|
||||||
CefMimeHandlerViewGuestDelegate::CefMimeHandlerViewGuestDelegate(
|
CefMimeHandlerViewGuestDelegate::CefMimeHandlerViewGuestDelegate(
|
||||||
MimeHandlerViewGuest* guest)
|
MimeHandlerViewGuest* guest)
|
||||||
: MimeHandlerViewGuestDelegate(guest), guest_(guest) {
|
: guest_(guest) {
|
||||||
}
|
}
|
||||||
|
|
||||||
CefMimeHandlerViewGuestDelegate::~CefMimeHandlerViewGuestDelegate() {
|
CefMimeHandlerViewGuestDelegate::~CefMimeHandlerViewGuestDelegate() {
|
||||||
@ -58,32 +52,8 @@ void CefMimeHandlerViewGuestDelegate::OverrideWebContentsCreateParams(
|
|||||||
bool CefMimeHandlerViewGuestDelegate::OnGuestAttached(
|
bool CefMimeHandlerViewGuestDelegate::OnGuestAttached(
|
||||||
content::WebContentsView* guest_view,
|
content::WebContentsView* guest_view,
|
||||||
content::WebContentsView* parent_view) {
|
content::WebContentsView* parent_view) {
|
||||||
// Do nothing when the browser is windowless.
|
|
||||||
return GetOwnerBrowser(guest_)->IsWindowless();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CefMimeHandlerViewGuestDelegate::OnGuestDetached(
|
|
||||||
content::WebContentsView* guest_view,
|
|
||||||
content::WebContentsView* parent_view) {
|
|
||||||
// Do nothing when the browser is windowless.
|
|
||||||
return GetOwnerBrowser(guest_)->IsWindowless();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CefMimeHandlerViewGuestDelegate::CreateViewForWidget(
|
|
||||||
content::WebContentsView* guest_view,
|
|
||||||
content::RenderWidgetHost* render_widget_host) {
|
|
||||||
CefRefPtr<CefBrowserHostImpl> owner_browser = GetOwnerBrowser(guest_);
|
|
||||||
if (owner_browser->IsWindowless()) {
|
|
||||||
static_cast<CefWebContentsViewOSR*>(guest_view)->CreateViewForWidget(
|
|
||||||
render_widget_host, true);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(lazyboy): Investigate ways to move this out to /extensions.
|
|
||||||
void CefMimeHandlerViewGuestDelegate::AttachHelpers() {
|
|
||||||
content::WebContents* web_contents = guest_->web_contents();
|
content::WebContents* web_contents = guest_->web_contents();
|
||||||
|
DCHECK(web_contents);
|
||||||
|
|
||||||
// Associate state information with the new WebContents.
|
// Associate state information with the new WebContents.
|
||||||
content::RenderViewHost* view_host = web_contents->GetRenderViewHost();
|
content::RenderViewHost* view_host = web_contents->GetRenderViewHost();
|
||||||
@ -106,14 +76,29 @@ void CefMimeHandlerViewGuestDelegate::AttachHelpers() {
|
|||||||
web_contents_impl->GetView());
|
web_contents_impl->GetView());
|
||||||
view_osr->set_web_contents(web_contents);
|
view_osr->set_web_contents(web_contents);
|
||||||
view_osr->set_guest(web_contents_impl->GetBrowserPluginGuest());
|
view_osr->set_guest(web_contents_impl->GetBrowserPluginGuest());
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
printing::PrintViewManager::CreateForWebContents(web_contents);
|
return false;
|
||||||
pdf::PDFWebContentsHelper::CreateForWebContentsWithClient(
|
}
|
||||||
web_contents,
|
|
||||||
scoped_ptr<pdf::PDFWebContentsHelperClient>(
|
bool CefMimeHandlerViewGuestDelegate::OnGuestDetached(
|
||||||
new CefPDFWebContentsHelperClient()));
|
content::WebContentsView* guest_view,
|
||||||
CefExtensionWebContentsObserver::CreateForWebContents(web_contents);
|
content::WebContentsView* parent_view) {
|
||||||
|
// Do nothing when the browser is windowless.
|
||||||
|
return GetOwnerBrowser(guest_)->IsWindowless();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CefMimeHandlerViewGuestDelegate::CreateViewForWidget(
|
||||||
|
content::WebContentsView* guest_view,
|
||||||
|
content::RenderWidgetHost* render_widget_host) {
|
||||||
|
CefRefPtr<CefBrowserHostImpl> owner_browser = GetOwnerBrowser(guest_);
|
||||||
|
if (owner_browser->IsWindowless()) {
|
||||||
|
static_cast<CefWebContentsViewOSR*>(guest_view)->CreateViewForWidget(
|
||||||
|
render_widget_host, true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CefMimeHandlerViewGuestDelegate::HandleContextMenu(
|
bool CefMimeHandlerViewGuestDelegate::HandleContextMenu(
|
||||||
|
@ -29,7 +29,6 @@ class CefMimeHandlerViewGuestDelegate : public MimeHandlerViewGuestDelegate {
|
|||||||
bool CreateViewForWidget(
|
bool CreateViewForWidget(
|
||||||
content::WebContentsView* guest_view,
|
content::WebContentsView* guest_view,
|
||||||
content::RenderWidgetHost* render_widget_host) override;
|
content::RenderWidgetHost* render_widget_host) override;
|
||||||
void AttachHelpers() override;
|
|
||||||
bool HandleContextMenu(content::WebContents* web_contents,
|
bool HandleContextMenu(content::WebContents* web_contents,
|
||||||
const content::ContextMenuParams& params) override;
|
const content::ContextMenuParams& params) override;
|
||||||
|
|
||||||
|
@ -40,13 +40,13 @@ std::string GetManifest() {
|
|||||||
ResourceBundle::GetSharedInstance().GetRawDataResource(
|
ResourceBundle::GetSharedInstance().GetRawDataResource(
|
||||||
IDR_PDF_MANIFEST).as_string();
|
IDR_PDF_MANIFEST).as_string();
|
||||||
DCHECK(manifest_contents.find(kNameTag) != std::string::npos);
|
DCHECK(manifest_contents.find(kNameTag) != std::string::npos);
|
||||||
ReplaceFirstSubstringAfterOffset(
|
base::ReplaceFirstSubstringAfterOffset(
|
||||||
&manifest_contents, 0, kNameTag, kPdfPluginName);
|
&manifest_contents, 0, kNameTag, kPdfPluginName);
|
||||||
|
|
||||||
DCHECK(manifest_contents.find(kIndexTag) != std::string::npos);
|
DCHECK(manifest_contents.find(kIndexTag) != std::string::npos);
|
||||||
std::string index = switches::PdfMaterialUIEnabled() ?
|
std::string index = switches::PdfMaterialUIEnabled() ?
|
||||||
kMaterialIndex : kRegularIndex;
|
kMaterialIndex : kRegularIndex;
|
||||||
ReplaceSubstringsAfterOffset(&manifest_contents, 0, kIndexTag, index);
|
base::ReplaceSubstringsAfterOffset(&manifest_contents, 0, kIndexTag, index);
|
||||||
return manifest_contents;
|
return manifest_contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,7 +98,8 @@ class URLRequestResourceBundleJob : public net::URLRequestSimpleJob {
|
|||||||
const net::CompletionCallback& callback,
|
const net::CompletionCallback& callback,
|
||||||
bool read_result) {
|
bool read_result) {
|
||||||
*out_mime_type = *read_mime_type;
|
*out_mime_type = *read_mime_type;
|
||||||
if (StartsWithASCII(*read_mime_type, "text/", false)) {
|
if (base::StartsWith(*read_mime_type, "text/",
|
||||||
|
base::CompareCase::INSENSITIVE_ASCII)) {
|
||||||
// All of our HTML files should be UTF-8 and for other resource types
|
// All of our HTML files should be UTF-8 and for other resource types
|
||||||
// (like images), charset doesn't matter.
|
// (like images), charset doesn't matter.
|
||||||
DCHECK(base::IsStringUTF8(base::StringPiece(
|
DCHECK(base::IsStringUTF8(base::StringPiece(
|
||||||
|
@ -63,7 +63,7 @@ INT_PTR CALLBACK CefJavaScriptDialog::DialogProc(HWND dialog,
|
|||||||
GetWindowTextLength(GetDlgItem(dialog, IDC_PROMPTEDIT)) + 1;
|
GetWindowTextLength(GetDlgItem(dialog, IDC_PROMPTEDIT)) + 1;
|
||||||
if (length > 1) {
|
if (length > 1) {
|
||||||
GetDlgItemText(dialog, IDC_PROMPTEDIT,
|
GetDlgItemText(dialog, IDC_PROMPTEDIT,
|
||||||
WriteInto(&user_input, length), length);
|
base::WriteInto(&user_input, length), length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -94,9 +94,9 @@ CefJavaScriptDialog::CefJavaScriptDialog(
|
|||||||
const content::JavaScriptDialogManager::DialogClosedCallback& callback)
|
const content::JavaScriptDialogManager::DialogClosedCallback& callback)
|
||||||
: creator_(creator),
|
: creator_(creator),
|
||||||
callback_(callback),
|
callback_(callback),
|
||||||
|
message_type_(message_type),
|
||||||
message_text_(message_text),
|
message_text_(message_text),
|
||||||
default_prompt_text_(default_prompt_text),
|
default_prompt_text_(default_prompt_text) {
|
||||||
message_type_(message_type) {
|
|
||||||
InstallMessageHook();
|
InstallMessageHook();
|
||||||
|
|
||||||
int dialog_type;
|
int dialog_type;
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include "base/files/file_util_proxy.h"
|
#include "base/files/file_util_proxy.h"
|
||||||
#include "base/lazy_instance.h"
|
#include "base/lazy_instance.h"
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
#include "base/message_loop/message_loop_proxy.h"
|
|
||||||
#include "base/strings/utf_string_conversions.h"
|
#include "base/strings/utf_string_conversions.h"
|
||||||
#include "base/values.h"
|
#include "base/values.h"
|
||||||
#include "printing/metafile.h"
|
#include "printing/metafile.h"
|
||||||
|
@ -397,7 +397,7 @@ class CefCopyFrameGenerator {
|
|||||||
|
|
||||||
// Used to control the VSync rate in subprocesses when BeginFrame scheduling is
|
// Used to control the VSync rate in subprocesses when BeginFrame scheduling is
|
||||||
// enabled.
|
// enabled.
|
||||||
class CefBeginFrameTimer : public cc::TimeSourceClient {
|
class CefBeginFrameTimer : public cc::DelayBasedTimeSourceClient {
|
||||||
public:
|
public:
|
||||||
CefBeginFrameTimer(int frame_rate_threshold_ms,
|
CefBeginFrameTimer(int frame_rate_threshold_ms,
|
||||||
const base::Closure& callback)
|
const base::Closure& callback)
|
||||||
@ -418,7 +418,7 @@ class CefBeginFrameTimer : public cc::TimeSourceClient {
|
|||||||
|
|
||||||
void SetFrameRateThresholdMs(int frame_rate_threshold_ms) {
|
void SetFrameRateThresholdMs(int frame_rate_threshold_ms) {
|
||||||
time_source_->SetTimebaseAndInterval(
|
time_source_->SetTimebaseAndInterval(
|
||||||
time_source_->Now(),
|
base::TimeTicks::Now(),
|
||||||
base::TimeDelta::FromMilliseconds(frame_rate_threshold_ms));
|
base::TimeDelta::FromMilliseconds(frame_rate_threshold_ms));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ class CefBeginFrameTimer : public cc::TimeSourceClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const base::Closure callback_;
|
const base::Closure callback_;
|
||||||
scoped_refptr<cc::DelayBasedTimeSource> time_source_;
|
scoped_ptr<cc::DelayBasedTimeSource> time_source_;
|
||||||
|
|
||||||
DISALLOW_COPY_AND_ASSIGN(CefBeginFrameTimer);
|
DISALLOW_COPY_AND_ASSIGN(CefBeginFrameTimer);
|
||||||
};
|
};
|
||||||
@ -474,7 +474,7 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR(
|
|||||||
compositor_.reset(
|
compositor_.reset(
|
||||||
new ui::Compositor(compositor_widget_,
|
new ui::Compositor(compositor_widget_,
|
||||||
content::GetContextFactory(),
|
content::GetContextFactory(),
|
||||||
base::MessageLoopProxy::current()));
|
base::ThreadTaskRunnerHandle::Get()));
|
||||||
#endif
|
#endif
|
||||||
compositor_->SetDelegate(this);
|
compositor_->SetDelegate(this);
|
||||||
compositor_->SetRootLayer(root_layer_.get());
|
compositor_->SetRootLayer(root_layer_.get());
|
||||||
|
@ -120,7 +120,7 @@ extern "C" {
|
|||||||
// We ignore commands that insert characters, because this was causing
|
// We ignore commands that insert characters, because this was causing
|
||||||
// strange behavior (e.g. tab always inserted a tab rather than moving to
|
// strange behavior (e.g. tab always inserted a tab rather than moving to
|
||||||
// the next field on the page).
|
// the next field on the page).
|
||||||
if (!StartsWithASCII(command, "insert", false))
|
if (!base::StartsWithASCII(command, "insert", false))
|
||||||
editCommands_.push_back(content::EditCommand(command, ""));
|
editCommands_.push_back(content::EditCommand(command, ""));
|
||||||
} else {
|
} else {
|
||||||
renderWidgetHostView_->render_widget_host()->Send(
|
renderWidgetHostView_->render_widget_host()->Send(
|
||||||
|
@ -15,7 +15,7 @@ namespace {
|
|||||||
// Create the temporary file and then execute |callback| on the thread
|
// Create the temporary file and then execute |callback| on the thread
|
||||||
// represented by |message_loop_proxy|.
|
// represented by |message_loop_proxy|.
|
||||||
void CreateTemporaryFileOnFileThread(
|
void CreateTemporaryFileOnFileThread(
|
||||||
scoped_refptr<base::MessageLoopProxy> message_loop_proxy,
|
scoped_refptr<base::SequencedTaskRunner> message_loop_proxy,
|
||||||
base::Callback<void(const base::FilePath&)> callback) {
|
base::Callback<void(const base::FilePath&)> callback) {
|
||||||
CEF_REQUIRE_FILET();
|
CEF_REQUIRE_FILET();
|
||||||
base::FilePath file_path;
|
base::FilePath file_path;
|
||||||
@ -81,7 +81,7 @@ bool CefTraceSubscriber::EndTracing(
|
|||||||
// Create a new temporary file path on the FILE thread, then continue.
|
// Create a new temporary file path on the FILE thread, then continue.
|
||||||
CEF_POST_TASK(CEF_FILET,
|
CEF_POST_TASK(CEF_FILET,
|
||||||
base::Bind(CreateTemporaryFileOnFileThread,
|
base::Bind(CreateTemporaryFileOnFileThread,
|
||||||
base::MessageLoop::current()->message_loop_proxy(),
|
base::MessageLoop::current()->task_runner(),
|
||||||
base::Bind(&CefTraceSubscriber::ContinueEndTracing,
|
base::Bind(&CefTraceSubscriber::ContinueEndTracing,
|
||||||
weak_factory_.GetWeakPtr(), callback)));
|
weak_factory_.GetWeakPtr(), callback)));
|
||||||
return true;
|
return true;
|
||||||
|
@ -184,6 +184,7 @@ net::URLRequestContext* CefURLRequestContextGetterImpl::GetURLRequestContext() {
|
|||||||
url_security_manager_.get(),
|
url_security_manager_.get(),
|
||||||
url_request_context_->host_resolver(),
|
url_request_context_->host_resolver(),
|
||||||
std::string(),
|
std::string(),
|
||||||
|
std::string(),
|
||||||
false,
|
false,
|
||||||
false));
|
false));
|
||||||
storage_->set_http_server_properties(
|
storage_->set_http_server_properties(
|
||||||
@ -372,5 +373,5 @@ void CefURLRequestContextGetterImpl::CreateProxyConfigService() {
|
|||||||
|
|
||||||
proxy_config_service_.reset(
|
proxy_config_service_.reset(
|
||||||
net::ProxyService::CreateSystemProxyConfigService(
|
net::ProxyService::CreateSystemProxyConfigService(
|
||||||
io_loop_->message_loop_proxy(), file_loop_->message_loop_proxy()));
|
io_loop_->task_runner(), file_loop_->task_runner()));
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ static const SchemeToFactory kBuiltinFactories[] = {
|
|||||||
|
|
||||||
bool IsBuiltinScheme(const std::string& scheme) {
|
bool IsBuiltinScheme(const std::string& scheme) {
|
||||||
for (size_t i = 0; i < arraysize(kBuiltinFactories); ++i)
|
for (size_t i = 0; i < arraysize(kBuiltinFactories); ++i)
|
||||||
if (LowerCaseEqualsASCII(scheme, kBuiltinFactories[i].scheme))
|
if (base::LowerCaseEqualsASCII(scheme, kBuiltinFactories[i].scheme))
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -98,7 +98,7 @@ CefString CefDragDataImpl::GetFileName() {
|
|||||||
// Images without ALT text will only have a file extension so we need to
|
// Images without ALT text will only have a file extension so we need to
|
||||||
// synthesize one from the provided extension and URL.
|
// synthesize one from the provided extension and URL.
|
||||||
if (file_name.BaseName().RemoveExtension().empty()) {
|
if (file_name.BaseName().RemoveExtension().empty()) {
|
||||||
CefString extension = file_name.Extension();
|
base::FilePath::StringType extension = file_name.Extension();
|
||||||
// Retrieve the name from the URL.
|
// Retrieve the name from the URL.
|
||||||
CefString suggested_file_name =
|
CefString suggested_file_name =
|
||||||
net::GetSuggestedFilename(data_.url, "", "", "", "", "");
|
net::GetSuggestedFilename(data_.url, "", "", "", "", "");
|
||||||
|
@ -452,17 +452,17 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) {
|
|||||||
std::string log_severity_str =
|
std::string log_severity_str =
|
||||||
command_line->GetSwitchValueASCII(switches::kLogSeverity);
|
command_line->GetSwitchValueASCII(switches::kLogSeverity);
|
||||||
if (!log_severity_str.empty()) {
|
if (!log_severity_str.empty()) {
|
||||||
if (LowerCaseEqualsASCII(log_severity_str,
|
if (base::LowerCaseEqualsASCII(log_severity_str,
|
||||||
switches::kLogSeverity_Verbose)) {
|
switches::kLogSeverity_Verbose)) {
|
||||||
log_severity = logging::LOG_VERBOSE;
|
log_severity = logging::LOG_VERBOSE;
|
||||||
} else if (LowerCaseEqualsASCII(log_severity_str,
|
} else if (base::LowerCaseEqualsASCII(log_severity_str,
|
||||||
switches::kLogSeverity_Warning)) {
|
switches::kLogSeverity_Warning)) {
|
||||||
log_severity = logging::LOG_WARNING;
|
log_severity = logging::LOG_WARNING;
|
||||||
} else if (LowerCaseEqualsASCII(log_severity_str,
|
} else if (base::LowerCaseEqualsASCII(log_severity_str,
|
||||||
switches::kLogSeverity_Error)) {
|
switches::kLogSeverity_Error)) {
|
||||||
log_severity = logging::LOG_ERROR;
|
log_severity = logging::LOG_ERROR;
|
||||||
} else if (LowerCaseEqualsASCII(log_severity_str,
|
} else if (base::LowerCaseEqualsASCII(log_severity_str,
|
||||||
switches::kLogSeverity_Disable)) {
|
switches::kLogSeverity_Disable)) {
|
||||||
log_severity = LOGSEVERITY_DISABLE;
|
log_severity = LOGSEVERITY_DISABLE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "base/location.h"
|
#include "base/location.h"
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
#include "base/message_loop/message_loop.h"
|
#include "base/message_loop/message_loop.h"
|
||||||
#include "base/message_loop/message_loop_proxy.h"
|
#include "base/thread_task_runner_handle.h"
|
||||||
#include "content/public/browser/browser_thread.h"
|
#include "content/public/browser/browser_thread.h"
|
||||||
|
|
||||||
using content::BrowserThread;
|
using content::BrowserThread;
|
||||||
@ -94,7 +94,7 @@ scoped_refptr<base::SequencedTaskRunner>
|
|||||||
BrowserThread::UnsafeGetMessageLoopForThread(
|
BrowserThread::UnsafeGetMessageLoopForThread(
|
||||||
static_cast<BrowserThread::ID>(id));
|
static_cast<BrowserThread::ID>(id));
|
||||||
if (message_loop)
|
if (message_loop)
|
||||||
return message_loop->message_loop_proxy();
|
return message_loop->task_runner();
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -107,7 +107,7 @@ scoped_refptr<base::SequencedTaskRunner>
|
|||||||
|
|
||||||
// Check for a MessageLoopProxy. This covers all of the named browser and
|
// Check for a MessageLoopProxy. This covers all of the named browser and
|
||||||
// render process threads, plus a few extra.
|
// render process threads, plus a few extra.
|
||||||
task_runner = base::MessageLoopProxy::current();
|
task_runner = base::ThreadTaskRunnerHandle::Get();
|
||||||
|
|
||||||
if (!task_runner.get()) {
|
if (!task_runner.get()) {
|
||||||
// Check for a WebWorker thread.
|
// Check for a WebWorker thread.
|
||||||
|
@ -668,10 +668,10 @@ void CefBrowserImpl::OnRequest(const Cef_Request_Params& params) {
|
|||||||
params.arguments.GetString(0, &command);
|
params.arguments.GetString(0, &command);
|
||||||
DCHECK(!command.empty());
|
DCHECK(!command.empty());
|
||||||
|
|
||||||
if (LowerCaseEqualsASCII(command, "getsource")) {
|
if (base::LowerCaseEqualsASCII(command, "getsource")) {
|
||||||
response = web_frame->contentAsMarkup().utf8();
|
response = web_frame->contentAsMarkup().utf8();
|
||||||
success = true;
|
success = true;
|
||||||
} else if (LowerCaseEqualsASCII(command, "gettext")) {
|
} else if (base::LowerCaseEqualsASCII(command, "gettext")) {
|
||||||
response = webkit_glue::DumpDocumentText(web_frame);
|
response = webkit_glue::DumpDocumentText(web_frame);
|
||||||
success = true;
|
success = true;
|
||||||
} else if (web_frame->executeCommand(base::UTF8ToUTF16(command))) {
|
} else if (web_frame->executeCommand(base::UTF8ToUTF16(command))) {
|
||||||
|
@ -247,9 +247,6 @@ void CefContentRendererClient::WebKitInitialized() {
|
|||||||
// Create global objects associated with the default Isolate.
|
// Create global objects associated with the default Isolate.
|
||||||
CefV8IsolateCreated();
|
CefV8IsolateCreated();
|
||||||
|
|
||||||
blink::WebRuntimeFeatures::enableMediaPlayer(
|
|
||||||
media::IsMediaLibraryInitialized());
|
|
||||||
|
|
||||||
// TODO(cef): Enable these once the implementation supports it.
|
// TODO(cef): Enable these once the implementation supports it.
|
||||||
blink::WebRuntimeFeatures::enableNotifications(false);
|
blink::WebRuntimeFeatures::enableNotifications(false);
|
||||||
|
|
||||||
@ -425,7 +422,7 @@ void CefContentRendererClient::RenderThreadStarted() {
|
|||||||
const base::CommandLine* command_line =
|
const base::CommandLine* command_line =
|
||||||
base::CommandLine::ForCurrentProcess();
|
base::CommandLine::ForCurrentProcess();
|
||||||
|
|
||||||
render_task_runner_ = base::MessageLoopProxy::current();
|
render_task_runner_ = base::ThreadTaskRunnerHandle::Get();
|
||||||
observer_.reset(new CefRenderProcessObserver());
|
observer_.reset(new CefRenderProcessObserver());
|
||||||
web_cache_observer_.reset(new web_cache::WebCacheRenderProcessObserver());
|
web_cache_observer_.reset(new web_cache::WebCacheRenderProcessObserver());
|
||||||
|
|
||||||
@ -446,13 +443,6 @@ void CefContentRendererClient::RenderThreadStarted() {
|
|||||||
base::MessageLoop::current()->AddDestructionObserver(this);
|
base::MessageLoop::current()->AddDestructionObserver(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note that under Linux, the media library will normally already have
|
|
||||||
// been initialized by the Zygote before this instance became a Renderer.
|
|
||||||
base::FilePath media_path;
|
|
||||||
PathService::Get(content::DIR_MEDIA_LIBS, &media_path);
|
|
||||||
if (!media_path.empty())
|
|
||||||
media::InitializeMediaLibrary(media_path);
|
|
||||||
|
|
||||||
blink::WebPrerenderingSupport::initialize(new CefPrerenderingSupport());
|
blink::WebPrerenderingSupport::initialize(new CefPrerenderingSupport());
|
||||||
|
|
||||||
// Retrieve the new render thread information synchronously.
|
// Retrieve the new render thread information synchronously.
|
||||||
@ -566,7 +556,7 @@ bool CefContentRendererClient::OverrideCreatePlugin(
|
|||||||
if (orig_mime_type == content::kBrowserPluginMimeType) {
|
if (orig_mime_type == content::kBrowserPluginMimeType) {
|
||||||
bool guest_view_api_available = false;
|
bool guest_view_api_available = false;
|
||||||
extension_dispatcher_->script_context_set().ForEach(
|
extension_dispatcher_->script_context_set().ForEach(
|
||||||
render_frame->GetRenderView(),
|
render_frame,
|
||||||
base::Bind(&IsGuestViewApiAvailableToScriptContext,
|
base::Bind(&IsGuestViewApiAvailableToScriptContext,
|
||||||
&guest_view_api_available));
|
&guest_view_api_available));
|
||||||
if (guest_view_api_available)
|
if (guest_view_api_available)
|
||||||
|
@ -104,8 +104,8 @@ bool CefDOMNodeImpl::IsEditable() {
|
|||||||
|
|
||||||
// Also return true if it has an ARIA role of 'textbox'.
|
// Also return true if it has an ARIA role of 'textbox'.
|
||||||
for (unsigned i = 0; i < element.attributeCount(); ++i) {
|
for (unsigned i = 0; i < element.attributeCount(); ++i) {
|
||||||
if (LowerCaseEqualsASCII(element.attributeLocalName(i), "role")) {
|
if (base::LowerCaseEqualsASCII(element.attributeLocalName(i), "role")) {
|
||||||
if (LowerCaseEqualsASCII(element.attributeValue(i), "textbox"))
|
if (base::LowerCaseEqualsASCII(element.attributeValue(i), "textbox"))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ class CefRenderURLRequest::Context
|
|||||||
: url_request_(url_request),
|
: url_request_(url_request),
|
||||||
request_(request),
|
request_(request),
|
||||||
client_(client),
|
client_(client),
|
||||||
message_loop_proxy_(base::MessageLoop::current()->message_loop_proxy()),
|
task_runner_(base::MessageLoop::current()->task_runner()),
|
||||||
status_(UR_IO_PENDING),
|
status_(UR_IO_PENDING),
|
||||||
error_code_(ERR_NONE),
|
error_code_(ERR_NONE),
|
||||||
upload_data_size_(0),
|
upload_data_size_(0),
|
||||||
@ -93,7 +93,7 @@ class CefRenderURLRequest::Context
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline bool CalledOnValidThread() {
|
inline bool CalledOnValidThread() {
|
||||||
return message_loop_proxy_->BelongsToCurrentThread();
|
return task_runner_->RunsTasksOnCurrentThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Start() {
|
bool Start() {
|
||||||
@ -233,7 +233,7 @@ class CefRenderURLRequest::Context
|
|||||||
CefRefPtr<CefRenderURLRequest> url_request_;
|
CefRefPtr<CefRenderURLRequest> url_request_;
|
||||||
CefRefPtr<CefRequest> request_;
|
CefRefPtr<CefRequest> request_;
|
||||||
CefRefPtr<CefURLRequestClient> client_;
|
CefRefPtr<CefURLRequestClient> client_;
|
||||||
scoped_refptr<base::MessageLoopProxy> message_loop_proxy_;
|
scoped_refptr<base::SequencedTaskRunner> task_runner_;
|
||||||
CefURLRequest::Status status_;
|
CefURLRequest::Status status_;
|
||||||
CefURLRequest::ErrorCode error_code_;
|
CefURLRequest::ErrorCode error_code_;
|
||||||
CefRefPtr<CefResponse> response_;
|
CefRefPtr<CefResponse> response_;
|
||||||
|
@ -117,13 +117,6 @@ patches = [
|
|||||||
'name': 'prefs_content_1161',
|
'name': 'prefs_content_1161',
|
||||||
'path': '../content/',
|
'path': '../content/',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
# Revert Blink revision 177068 changes due to _web_drawFocusRingWithFrame
|
|
||||||
# unrecognized selector error during offscreen rendering of popups.
|
|
||||||
# https://code.google.com/p/chromium/issues/detail?id=328814
|
|
||||||
'name': 'webkit_platform_mac_328814',
|
|
||||||
'path': '../third_party/WebKit/Source/platform/mac/',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
# Fix drag&drop of combined text and URL data on Linux/Aura.
|
# Fix drag&drop of combined text and URL data on Linux/Aura.
|
||||||
# https://codereview.chromium.org/208313009
|
# https://codereview.chromium.org/208313009
|
||||||
@ -137,12 +130,6 @@ patches = [
|
|||||||
'name': 'spellcheck_137',
|
'name': 'spellcheck_137',
|
||||||
'path': '../chrome/browser/spellchecker/',
|
'path': '../chrome/browser/spellchecker/',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
# Fix crash when calling LoadURL/Reload from OnRenderProcessTerminated.
|
|
||||||
# https://code.google.com/p/chromiumembedded/issues/detail?id=1429
|
|
||||||
'name': 'render_process_host_1429',
|
|
||||||
'path': '../content/browser/renderer_host/',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
# Fix multiple definition of 'AtomicOps_Internalx86CPUFeatures' on Linux.
|
# Fix multiple definition of 'AtomicOps_Internalx86CPUFeatures' on Linux.
|
||||||
# https://code.google.com/p/chromium/issues/detail?id=455263
|
# https://code.google.com/p/chromium/issues/detail?id=455263
|
||||||
@ -178,7 +165,9 @@ patches = [
|
|||||||
{
|
{
|
||||||
# Enable support for print header and footer.
|
# Enable support for print header and footer.
|
||||||
# https://bitbucket.org/chromiumembedded/cef/issue/1478
|
# https://bitbucket.org/chromiumembedded/cef/issue/1478
|
||||||
'name': 'print_header_footer_1478',
|
# Fix printing of PDF documents via PrintToPDF.
|
||||||
|
# https://bitbucket.org/chromiumembedded/cef/issues/1565
|
||||||
|
'name': 'print_header_footer_1478_1565',
|
||||||
'path': '../components/',
|
'path': '../components/',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git browser/browser_plugin/browser_plugin_guest.cc browser/browser_plugin/browser_plugin_guest.cc
|
diff --git browser/browser_plugin/browser_plugin_guest.cc browser/browser_plugin/browser_plugin_guest.cc
|
||||||
index f438805..d199c6b 100644
|
index 092a045..baea4bb 100644
|
||||||
--- browser/browser_plugin/browser_plugin_guest.cc
|
--- browser/browser_plugin/browser_plugin_guest.cc
|
||||||
+++ browser/browser_plugin/browser_plugin_guest.cc
|
+++ browser/browser_plugin/browser_plugin_guest.cc
|
||||||
@@ -19,7 +19,7 @@
|
@@ -23,7 +23,7 @@
|
||||||
#include "content/browser/renderer_host/render_widget_host_impl.h"
|
#include "content/browser/renderer_host/render_widget_host_impl.h"
|
||||||
#include "content/browser/renderer_host/render_widget_host_view_base.h"
|
#include "content/browser/renderer_host/render_widget_host_view_base.h"
|
||||||
#include "content/browser/web_contents/web_contents_impl.h"
|
#include "content/browser/web_contents/web_contents_impl.h"
|
||||||
@ -11,29 +11,33 @@ index f438805..d199c6b 100644
|
|||||||
#include "content/common/browser_plugin/browser_plugin_constants.h"
|
#include "content/common/browser_plugin/browser_plugin_constants.h"
|
||||||
#include "content/common/browser_plugin/browser_plugin_messages.h"
|
#include "content/common/browser_plugin/browser_plugin_messages.h"
|
||||||
#include "content/common/content_constants_internal.h"
|
#include "content/common/content_constants_internal.h"
|
||||||
@@ -262,15 +262,16 @@ void BrowserPluginGuest::InitInternal(
|
@@ -277,21 +277,20 @@ void BrowserPluginGuest::InitInternal(
|
||||||
guest_window_rect_ = params.view_rect;
|
guest_window_rect_ = params.view_rect;
|
||||||
|
|
||||||
if (owner_web_contents_ != owner_web_contents) {
|
if (owner_web_contents_ != owner_web_contents) {
|
||||||
- WebContentsViewGuest* new_view =
|
- WebContentsViewGuest* new_view = nullptr;
|
||||||
- static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
|
+ WebContentsView* new_view = nullptr;
|
||||||
- if (owner_web_contents_)
|
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||||
|
switches::kSitePerProcess)) {
|
||||||
|
- new_view =
|
||||||
|
- static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
|
||||||
|
+ new_view = GetWebContents()->GetView();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (owner_web_contents_ && new_view)
|
||||||
- new_view->OnGuestDetached(owner_web_contents_->GetView());
|
- new_view->OnGuestDetached(owner_web_contents_->GetView());
|
||||||
+ if (owner_web_contents_) {
|
+ delegate_->OnGuestDetached(new_view, owner_web_contents_->GetView());
|
||||||
+ delegate_->OnGuestDetached(GetWebContents()->GetView(),
|
|
||||||
+ owner_web_contents_->GetView());
|
|
||||||
+ }
|
|
||||||
|
|
||||||
// Once a BrowserPluginGuest has an embedder WebContents, it's considered to
|
// Once a BrowserPluginGuest has an embedder WebContents, it's considered to
|
||||||
// be attached.
|
// be attached.
|
||||||
owner_web_contents_ = owner_web_contents;
|
owner_web_contents_ = owner_web_contents;
|
||||||
- new_view->OnGuestAttached(owner_web_contents_->GetView());
|
if (new_view)
|
||||||
+ delegate_->OnGuestAttached(GetWebContents()->GetView(),
|
- new_view->OnGuestAttached(owner_web_contents_->GetView());
|
||||||
+ owner_web_contents_->GetView());
|
+ delegate_->OnGuestAttached(new_view, owner_web_contents_->GetView());
|
||||||
}
|
}
|
||||||
|
|
||||||
RendererPreferences* renderer_prefs =
|
RendererPreferences* renderer_prefs =
|
||||||
@@ -656,12 +657,9 @@ void BrowserPluginGuest::OnWillAttachComplete(
|
@@ -733,12 +732,9 @@ void BrowserPluginGuest::OnWillAttachComplete(
|
||||||
// This will trigger a callback to RenderViewReady after a round-trip IPC.
|
// This will trigger a callback to RenderViewReady after a round-trip IPC.
|
||||||
static_cast<RenderViewHostImpl*>(
|
static_cast<RenderViewHostImpl*>(
|
||||||
GetWebContents()->GetRenderViewHost())->Init();
|
GetWebContents()->GetRenderViewHost())->Init();
|
||||||
|
@ -1,15 +1,21 @@
|
|||||||
diff --git web_contents_impl.cc web_contents_impl.cc
|
diff --git web_contents_impl.cc web_contents_impl.cc
|
||||||
index 4ab69e9..7c119d1 100644
|
index 3aedda6..b4aa061 100644
|
||||||
--- web_contents_impl.cc
|
--- web_contents_impl.cc
|
||||||
+++ web_contents_impl.cc
|
+++ web_contents_impl.cc
|
||||||
@@ -1232,22 +1232,29 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
@@ -1312,24 +1312,31 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||||
params.main_frame_routing_id);
|
params.main_frame_routing_id);
|
||||||
frame_tree_.root()->SetFrameName(params.main_frame_name);
|
frame_tree_.root()->SetFrameName(params.main_frame_name);
|
||||||
|
|
||||||
- WebContentsViewDelegate* delegate =
|
- WebContentsViewDelegate* delegate =
|
||||||
- GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
- GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||||
-
|
+ if (params.view && params.delegate_view) {
|
||||||
- if (browser_plugin_guest_) {
|
+ view_.reset(params.view);
|
||||||
|
+ render_view_host_delegate_view_ = params.delegate_view;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- if (browser_plugin_guest_ &&
|
||||||
|
- !base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||||
|
- switches::kSitePerProcess)) {
|
||||||
- scoped_ptr<WebContentsView> platform_view(CreateWebContentsView(
|
- scoped_ptr<WebContentsView> platform_view(CreateWebContentsView(
|
||||||
- this, delegate, &render_view_host_delegate_view_));
|
- this, delegate, &render_view_host_delegate_view_));
|
||||||
-
|
-
|
||||||
@ -22,16 +28,13 @@ index 4ab69e9..7c119d1 100644
|
|||||||
- // Regular WebContentsView.
|
- // Regular WebContentsView.
|
||||||
- view_.reset(CreateWebContentsView(
|
- view_.reset(CreateWebContentsView(
|
||||||
- this, delegate, &render_view_host_delegate_view_));
|
- this, delegate, &render_view_host_delegate_view_));
|
||||||
+ if (params.view && params.delegate_view) {
|
|
||||||
+ view_.reset(params.view);
|
|
||||||
+ render_view_host_delegate_view_ = params.delegate_view;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!view_) {
|
+ if (!view_) {
|
||||||
+ WebContentsViewDelegate* delegate =
|
+ WebContentsViewDelegate* delegate =
|
||||||
+ GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
+ GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||||
+
|
+
|
||||||
+ if (browser_plugin_guest_) {
|
+ if (browser_plugin_guest_ &&
|
||||||
|
+ !base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||||
|
+ switches::kSitePerProcess)) {
|
||||||
+ scoped_ptr<WebContentsView> platform_view(CreateWebContentsView(
|
+ scoped_ptr<WebContentsView> platform_view(CreateWebContentsView(
|
||||||
+ this, delegate, &render_view_host_delegate_view_));
|
+ this, delegate, &render_view_host_delegate_view_));
|
||||||
+
|
+
|
||||||
@ -48,7 +51,7 @@ index 4ab69e9..7c119d1 100644
|
|||||||
}
|
}
|
||||||
CHECK(render_view_host_delegate_view_);
|
CHECK(render_view_host_delegate_view_);
|
||||||
CHECK(view_.get());
|
CHECK(view_.get());
|
||||||
@@ -1583,6 +1590,9 @@ void WebContentsImpl::CreateNewWindow(
|
@@ -1665,6 +1672,9 @@ void WebContentsImpl::CreateNewWindow(
|
||||||
static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace);
|
static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace);
|
||||||
CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context));
|
CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context));
|
||||||
|
|
||||||
@ -58,7 +61,7 @@ index 4ab69e9..7c119d1 100644
|
|||||||
if (delegate_ &&
|
if (delegate_ &&
|
||||||
!delegate_->ShouldCreateWebContents(this,
|
!delegate_->ShouldCreateWebContents(this,
|
||||||
route_id,
|
route_id,
|
||||||
@@ -1591,7 +1601,9 @@ void WebContentsImpl::CreateNewWindow(
|
@@ -1673,7 +1683,9 @@ void WebContentsImpl::CreateNewWindow(
|
||||||
params.frame_name,
|
params.frame_name,
|
||||||
params.target_url,
|
params.target_url,
|
||||||
partition_id,
|
partition_id,
|
||||||
@ -69,12 +72,12 @@ index 4ab69e9..7c119d1 100644
|
|||||||
if (route_id != MSG_ROUTING_NONE &&
|
if (route_id != MSG_ROUTING_NONE &&
|
||||||
!RenderViewHost::FromID(render_process_id, route_id)) {
|
!RenderViewHost::FromID(render_process_id, route_id)) {
|
||||||
// If the embedder didn't create a WebContents for this route, we need to
|
// If the embedder didn't create a WebContents for this route, we need to
|
||||||
@@ -1612,6 +1624,8 @@ void WebContentsImpl::CreateNewWindow(
|
@@ -1695,6 +1707,8 @@ void WebContentsImpl::CreateNewWindow(
|
||||||
create_params.main_frame_name = base::UTF16ToUTF8(params.frame_name);
|
create_params.opener_render_process_id = GetRenderProcessHost()->GetID();
|
||||||
create_params.opener = this;
|
create_params.opener_render_frame_id = params.opener_render_frame_id;
|
||||||
create_params.opener_suppressed = params.opener_suppressed;
|
create_params.opener_suppressed = params.opener_suppressed;
|
||||||
+ create_params.view = view;
|
+ create_params.view = view;
|
||||||
+ create_params.delegate_view = delegate_view;
|
+ create_params.delegate_view = delegate_view;
|
||||||
if (params.disposition == NEW_BACKGROUND_TAB)
|
if (params.disposition == NEW_BACKGROUND_TAB)
|
||||||
create_params.initially_hidden = true;
|
create_params.initially_hidden = true;
|
||||||
create_params.renderer_initiated_creation = true;
|
create_params.renderer_initiated_creation =
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git common.gypi common.gypi
|
diff --git common.gypi common.gypi
|
||||||
index cfa4352..b701fcc 100644
|
index a0ebbf3..10dfe71 100644
|
||||||
--- common.gypi
|
--- common.gypi
|
||||||
+++ common.gypi
|
+++ common.gypi
|
||||||
@@ -9,6 +9,9 @@
|
@@ -9,6 +9,9 @@
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
diff --git ui/browser.cc ui/browser.cc
|
diff --git ui/browser.cc ui/browser.cc
|
||||||
index 1cc78f2..e2c4de0 100644
|
index 242f79b..66326ef 100644
|
||||||
--- ui/browser.cc
|
--- ui/browser.cc
|
||||||
+++ ui/browser.cc
|
+++ ui/browser.cc
|
||||||
@@ -1606,7 +1606,9 @@ bool Browser::ShouldCreateWebContents(
|
@@ -1666,7 +1666,9 @@ bool Browser::ShouldCreateWebContents(
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- content::SessionStorageNamespace* session_storage_namespace) {
|
- content::SessionStorageNamespace* session_storage_namespace) {
|
||||||
@ -14,11 +14,11 @@ index 1cc78f2..e2c4de0 100644
|
|||||||
// If a BackgroundContents is created, suppress the normal WebContents.
|
// If a BackgroundContents is created, suppress the normal WebContents.
|
||||||
return !MaybeCreateBackgroundContents(route_id,
|
return !MaybeCreateBackgroundContents(route_id,
|
||||||
diff --git ui/browser.h ui/browser.h
|
diff --git ui/browser.h ui/browser.h
|
||||||
index c4a3a62..0cfedfa 100644
|
index 9bb2137..6dbdcbf 100644
|
||||||
--- ui/browser.h
|
--- ui/browser.h
|
||||||
+++ ui/browser.h
|
+++ ui/browser.h
|
||||||
@@ -590,7 +590,9 @@ class Browser : public TabStripModelObserver,
|
@@ -593,7 +593,9 @@ class Browser : public TabStripModelObserver,
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- content::SessionStorageNamespace* session_storage_namespace) override;
|
- content::SessionStorageNamespace* session_storage_namespace) override;
|
||||||
@ -27,4 +27,4 @@ index c4a3a62..0cfedfa 100644
|
|||||||
+ content::RenderViewHostDelegateView** delegate_view) override;
|
+ content::RenderViewHostDelegateView** delegate_view) override;
|
||||||
void WebContentsCreated(content::WebContents* source_contents,
|
void WebContentsCreated(content::WebContents* source_contents,
|
||||||
int opener_render_frame_id,
|
int opener_render_frame_id,
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
|
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
|
||||||
index 68ee72c..6c8e8eb7 100644
|
index 35db2b9..b9adc3f 100644
|
||||||
--- content/browser/compositor/gpu_process_transport_factory.cc
|
--- content/browser/compositor/gpu_process_transport_factory.cc
|
||||||
+++ content/browser/compositor/gpu_process_transport_factory.cc
|
+++ content/browser/compositor/gpu_process_transport_factory.cc
|
||||||
@@ -141,6 +141,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
|
@@ -139,6 +139,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
|
||||||
scoped_ptr<cc::SoftwareOutputDevice>
|
scoped_ptr<cc::SoftwareOutputDevice>
|
||||||
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
|
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
|
||||||
ui::Compositor* compositor) {
|
ui::Compositor* compositor) {
|
||||||
@ -17,7 +17,7 @@ index 68ee72c..6c8e8eb7 100644
|
|||||||
return scoped_ptr<cc::SoftwareOutputDevice>(
|
return scoped_ptr<cc::SoftwareOutputDevice>(
|
||||||
new SoftwareOutputDeviceWin(software_backing_.get(), compositor));
|
new SoftwareOutputDeviceWin(software_backing_.get(), compositor));
|
||||||
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
|
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
|
||||||
index e82c49d..97b438bf 100644
|
index f703771..307a2ab 100644
|
||||||
--- ui/compositor/compositor.h
|
--- ui/compositor/compositor.h
|
||||||
+++ ui/compositor/compositor.h
|
+++ ui/compositor/compositor.h
|
||||||
@@ -15,6 +15,7 @@
|
@@ -15,6 +15,7 @@
|
||||||
@ -56,7 +56,7 @@ index e82c49d..97b438bf 100644
|
|||||||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||||
// must have no parent. The compositor's root layer is reset if the root layer
|
// must have no parent. The compositor's root layer is reset if the root layer
|
||||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||||
@@ -331,6 +346,8 @@ class COMPOSITOR_EXPORT Compositor
|
@@ -335,6 +350,8 @@ class COMPOSITOR_EXPORT Compositor
|
||||||
|
|
||||||
ui::ContextFactory* context_factory_;
|
ui::ContextFactory* context_factory_;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc
|
diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc
|
||||||
index 524a6cd..29aac98 100644
|
index 7c6957b..c7270f1 100644
|
||||||
--- public/renderer/content_renderer_client.cc
|
--- public/renderer/content_renderer_client.cc
|
||||||
+++ public/renderer/content_renderer_client.cc
|
+++ public/renderer/content_renderer_client.cc
|
||||||
@@ -101,7 +101,6 @@ bool ContentRendererClient::AllowPopup() {
|
@@ -101,7 +101,6 @@ bool ContentRendererClient::AllowPopup() {
|
||||||
@ -16,13 +16,13 @@ index 524a6cd..29aac98 100644
|
|||||||
}
|
}
|
||||||
-#endif
|
-#endif
|
||||||
|
|
||||||
bool ContentRendererClient::ShouldFork(blink::WebFrame* frame,
|
bool ContentRendererClient::ShouldFork(blink::WebLocalFrame* frame,
|
||||||
const GURL& url,
|
const GURL& url,
|
||||||
diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h
|
diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h
|
||||||
index 8c7d4fe..b88a6c9 100644
|
index 2a0517a..9a0d4e4 100644
|
||||||
--- public/renderer/content_renderer_client.h
|
--- public/renderer/content_renderer_client.h
|
||||||
+++ public/renderer/content_renderer_client.h
|
+++ public/renderer/content_renderer_client.h
|
||||||
@@ -197,7 +197,6 @@ class CONTENT_EXPORT ContentRendererClient {
|
@@ -198,7 +198,6 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||||
// Returns true if a popup window should be allowed.
|
// Returns true if a popup window should be allowed.
|
||||||
virtual bool AllowPopup();
|
virtual bool AllowPopup();
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ index 8c7d4fe..b88a6c9 100644
|
|||||||
// TODO(sgurun) This callback is deprecated and will be removed as soon
|
// TODO(sgurun) This callback is deprecated and will be removed as soon
|
||||||
// as android webview completes implementation of a resource throttle based
|
// as android webview completes implementation of a resource throttle based
|
||||||
// shouldoverrideurl implementation. See crbug.com/325351
|
// shouldoverrideurl implementation. See crbug.com/325351
|
||||||
@@ -212,7 +211,6 @@ class CONTENT_EXPORT ContentRendererClient {
|
@@ -213,7 +212,6 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||||
blink::WebNavigationType type,
|
blink::WebNavigationType type,
|
||||||
blink::WebNavigationPolicy default_policy,
|
blink::WebNavigationPolicy default_policy,
|
||||||
bool is_redirect);
|
bool is_redirect);
|
||||||
@ -39,10 +39,10 @@ index 8c7d4fe..b88a6c9 100644
|
|||||||
// Returns true if we should fork a new process for the given navigation.
|
// Returns true if we should fork a new process for the given navigation.
|
||||||
// If |send_referrer| is set to false (which is the default), no referrer
|
// If |send_referrer| is set to false (which is the default), no referrer
|
||||||
diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc
|
diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc
|
||||||
index f67a40a..4b5b3f2 100644
|
index bee5039..a818d6e 100644
|
||||||
--- renderer/render_frame_impl.cc
|
--- renderer/render_frame_impl.cc
|
||||||
+++ renderer/render_frame_impl.cc
|
+++ renderer/render_frame_impl.cc
|
||||||
@@ -4088,7 +4088,6 @@ void RenderFrameImpl::OnFailedNavigation(
|
@@ -4186,7 +4186,6 @@ void RenderFrameImpl::OnFailedNavigation(
|
||||||
WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
|
WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
|
||||||
RenderFrame* render_frame,
|
RenderFrame* render_frame,
|
||||||
const NavigationPolicyInfo& info) {
|
const NavigationPolicyInfo& info) {
|
||||||
@ -50,7 +50,7 @@ index f67a40a..4b5b3f2 100644
|
|||||||
// The handlenavigation API is deprecated and will be removed once
|
// The handlenavigation API is deprecated and will be removed once
|
||||||
// crbug.com/325351 is resolved.
|
// crbug.com/325351 is resolved.
|
||||||
if (info.urlRequest.url() != GURL(kSwappedOutURL) &&
|
if (info.urlRequest.url() != GURL(kSwappedOutURL) &&
|
||||||
@@ -4103,7 +4102,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
|
@@ -4201,7 +4200,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
|
||||||
info.isRedirect)) {
|
info.isRedirect)) {
|
||||||
return blink::WebNavigationPolicyIgnore;
|
return blink::WebNavigationPolicyIgnore;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc
|
diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc
|
||||||
index c882315..ff6d25f 100644
|
index cb9cdd5..8ad7ee0 100644
|
||||||
--- browser/guest_view/extension_options/extension_options_guest.cc
|
--- browser/guest_view/extension_options/extension_options_guest.cc
|
||||||
+++ browser/guest_view/extension_options/extension_options_guest.cc
|
+++ browser/guest_view/extension_options/extension_options_guest.cc
|
||||||
@@ -208,7 +208,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
|
@@ -195,7 +195,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- content::SessionStorageNamespace* session_storage_namespace) {
|
- content::SessionStorageNamespace* session_storage_namespace) {
|
||||||
@ -14,11 +14,11 @@ index c882315..ff6d25f 100644
|
|||||||
// view is used for displaying embedded extension options, we want any
|
// view is used for displaying embedded extension options, we want any
|
||||||
// external links to be opened in a new tab, not in a new guest view.
|
// external links to be opened in a new tab, not in a new guest view.
|
||||||
diff --git browser/guest_view/extension_options/extension_options_guest.h browser/guest_view/extension_options/extension_options_guest.h
|
diff --git browser/guest_view/extension_options/extension_options_guest.h browser/guest_view/extension_options/extension_options_guest.h
|
||||||
index b62d81a..8176f84 100644
|
index 916b5ed..1dec304 100644
|
||||||
--- browser/guest_view/extension_options/extension_options_guest.h
|
--- browser/guest_view/extension_options/extension_options_guest.h
|
||||||
+++ browser/guest_view/extension_options/extension_options_guest.h
|
+++ browser/guest_view/extension_options/extension_options_guest.h
|
||||||
@@ -54,7 +54,9 @@ class ExtensionOptionsGuest
|
@@ -48,7 +48,9 @@ class ExtensionOptionsGuest
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- content::SessionStorageNamespace* session_storage_namespace) override;
|
- content::SessionStorageNamespace* session_storage_namespace) override;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git resource_ids resource_ids
|
diff --git resource_ids resource_ids
|
||||||
index 20fc28b..85f1566 100644
|
index 49973d1..86cc523 100644
|
||||||
--- resource_ids
|
--- resource_ids
|
||||||
+++ resource_ids
|
+++ resource_ids
|
||||||
@@ -14,6 +14,12 @@
|
@@ -14,6 +14,12 @@
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git input_method_win.cc input_method_win.cc
|
diff --git input_method_win.cc input_method_win.cc
|
||||||
index 29413f5..e1e2bd0 100644
|
index 0870fde..23d8038 100644
|
||||||
--- input_method_win.cc
|
--- input_method_win.cc
|
||||||
+++ input_method_win.cc
|
+++ input_method_win.cc
|
||||||
@@ -571,8 +571,9 @@ bool InputMethodWin::IsWindowFocused(const TextInputClient* client) const {
|
@@ -567,8 +567,9 @@ bool InputMethodWin::IsWindowFocused(const TextInputClient* client) const {
|
||||||
// receiving keyboard input as long as it is an active window. This works well
|
// receiving keyboard input as long as it is an active window. This works well
|
||||||
// even when the |attached_window_handle| becomes active but has not received
|
// even when the |attached_window_handle| becomes active but has not received
|
||||||
// WM_FOCUS yet.
|
// WM_FOCUS yet.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git message_loop.cc message_loop.cc
|
diff --git message_loop.cc message_loop.cc
|
||||||
index 4222c77..bbc04b4 100644
|
index 4fecbc5..7298151 100644
|
||||||
--- message_loop.cc
|
--- message_loop.cc
|
||||||
+++ message_loop.cc
|
+++ message_loop.cc
|
||||||
@@ -134,12 +134,6 @@ MessageLoop::~MessageLoop() {
|
@@ -134,12 +134,6 @@ MessageLoop::~MessageLoop() {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git mime_handler_view_guest.cc mime_handler_view_guest.cc
|
diff --git mime_handler_view_guest.cc mime_handler_view_guest.cc
|
||||||
index 61fd142..ed9a58d 100644
|
index 2f44662..26524c4 100644
|
||||||
--- mime_handler_view_guest.cc
|
--- mime_handler_view_guest.cc
|
||||||
+++ mime_handler_view_guest.cc
|
+++ mime_handler_view_guest.cc
|
||||||
@@ -142,6 +142,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
@@ -134,6 +134,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||||
WebContents::CreateParams params(browser_context(),
|
WebContents::CreateParams params(browser_context(),
|
||||||
guest_site_instance.get());
|
guest_site_instance.get());
|
||||||
params.guest_delegate = this;
|
params.guest_delegate = this;
|
||||||
@ -11,7 +11,7 @@ index 61fd142..ed9a58d 100644
|
|||||||
callback.Run(WebContents::Create(params));
|
callback.Run(WebContents::Create(params));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,6 +185,30 @@ bool MimeHandlerViewGuest::StopFinding(content::StopFindAction action) {
|
@@ -172,6 +174,30 @@ bool MimeHandlerViewGuest::StopFinding(content::StopFindAction action) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,10 +43,10 @@ index 61fd142..ed9a58d 100644
|
|||||||
content::WebContents* source,
|
content::WebContents* source,
|
||||||
const content::OpenURLParams& params) {
|
const content::OpenURLParams& params) {
|
||||||
diff --git mime_handler_view_guest.h mime_handler_view_guest.h
|
diff --git mime_handler_view_guest.h mime_handler_view_guest.h
|
||||||
index f95aab7..fe4944e 100644
|
index 33ff28e..2d9a00e 100644
|
||||||
--- mime_handler_view_guest.h
|
--- mime_handler_view_guest.h
|
||||||
+++ mime_handler_view_guest.h
|
+++ mime_handler_view_guest.h
|
||||||
@@ -76,6 +76,13 @@ class MimeHandlerViewGuest : public guest_view::GuestView<MimeHandlerViewGuest>,
|
@@ -71,6 +71,13 @@ class MimeHandlerViewGuest :
|
||||||
const base::string16& search_text,
|
const base::string16& search_text,
|
||||||
const blink::WebFindOptions& options) override;
|
const blink::WebFindOptions& options) override;
|
||||||
bool StopFinding(content::StopFindAction action) override;
|
bool StopFinding(content::StopFindAction action) override;
|
||||||
@ -90,7 +90,7 @@ index 63b81b8..0f63f48 100644
|
|||||||
content::WebContents* web_contents,
|
content::WebContents* web_contents,
|
||||||
const content::ContextMenuParams& params) {
|
const content::ContextMenuParams& params) {
|
||||||
diff --git mime_handler_view_guest_delegate.h mime_handler_view_guest_delegate.h
|
diff --git mime_handler_view_guest_delegate.h mime_handler_view_guest_delegate.h
|
||||||
index b9a6fe3..6a2c3b0 100644
|
index e065104..f68b66c 100644
|
||||||
--- mime_handler_view_guest_delegate.h
|
--- mime_handler_view_guest_delegate.h
|
||||||
+++ mime_handler_view_guest_delegate.h
|
+++ mime_handler_view_guest_delegate.h
|
||||||
@@ -6,10 +6,11 @@
|
@@ -6,10 +6,11 @@
|
||||||
@ -106,10 +106,11 @@ index b9a6fe3..6a2c3b0 100644
|
|||||||
} // namespace content
|
} // namespace content
|
||||||
|
|
||||||
namespace extensions {
|
namespace extensions {
|
||||||
@@ -22,6 +23,21 @@ class MimeHandlerViewGuestDelegate {
|
@@ -21,6 +22,21 @@ class MimeHandlerViewGuestDelegate {
|
||||||
explicit MimeHandlerViewGuestDelegate(MimeHandlerViewGuest* guest) {}
|
public:
|
||||||
|
MimeHandlerViewGuestDelegate() {}
|
||||||
virtual ~MimeHandlerViewGuestDelegate() {}
|
virtual ~MimeHandlerViewGuestDelegate() {}
|
||||||
|
+
|
||||||
+ // Provides an opportunity to supply a custom view implementation.
|
+ // Provides an opportunity to supply a custom view implementation.
|
||||||
+ virtual void OverrideWebContentsCreateParams(
|
+ virtual void OverrideWebContentsCreateParams(
|
||||||
+ content::WebContents::CreateParams* params) {}
|
+ content::WebContents::CreateParams* params) {}
|
||||||
@ -124,7 +125,6 @@ index b9a6fe3..6a2c3b0 100644
|
|||||||
+ virtual bool CreateViewForWidget(
|
+ virtual bool CreateViewForWidget(
|
||||||
+ content::WebContentsView* guest_view,
|
+ content::WebContentsView* guest_view,
|
||||||
+ content::RenderWidgetHost* render_widget_host);
|
+ content::RenderWidgetHost* render_widget_host);
|
||||||
+
|
|
||||||
// Attaches helpers upon initializing the WebContents.
|
|
||||||
virtual void AttachHelpers() {}
|
|
||||||
|
|
||||||
|
// Handles context menu, or returns false if unhandled.
|
||||||
|
virtual bool HandleContextMenu(content::WebContents* web_contents,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git url_request.h url_request.h
|
diff --git url_request.h url_request.h
|
||||||
index a2b2f6b..150f19f 100644
|
index 4176689..1fe5976 100644
|
||||||
--- url_request.h
|
--- url_request.h
|
||||||
+++ url_request.h
|
+++ url_request.h
|
||||||
@@ -614,10 +614,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),
|
@@ -614,10 +614,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h
|
diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h
|
||||||
index 9c8e453..03f5d51 100644
|
index 060fbb9..f028062 100644
|
||||||
--- public/common/common_param_traits_macros.h
|
--- public/common/common_param_traits_macros.h
|
||||||
+++ public/common/common_param_traits_macros.h
|
+++ public/common/common_param_traits_macros.h
|
||||||
@@ -192,6 +192,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
|
@@ -195,6 +195,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
|
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
|
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
|
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
|
||||||
@ -11,10 +11,10 @@ index 9c8e453..03f5d51 100644
|
|||||||
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
|
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
|
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
|
||||||
diff --git public/common/web_preferences.cc public/common/web_preferences.cc
|
diff --git public/common/web_preferences.cc public/common/web_preferences.cc
|
||||||
index 6279aba..242fd16 100644
|
index e140001..42f3b2d 100644
|
||||||
--- public/common/web_preferences.cc
|
--- public/common/web_preferences.cc
|
||||||
+++ public/common/web_preferences.cc
|
+++ public/common/web_preferences.cc
|
||||||
@@ -187,6 +187,7 @@ WebPreferences::WebPreferences()
|
@@ -170,6 +170,7 @@ WebPreferences::WebPreferences()
|
||||||
pinch_overlay_scrollbar_thickness(0),
|
pinch_overlay_scrollbar_thickness(0),
|
||||||
use_solid_color_scrollbars(false),
|
use_solid_color_scrollbars(false),
|
||||||
navigate_on_drag_drop(true),
|
navigate_on_drag_drop(true),
|
||||||
@ -23,10 +23,10 @@ index 6279aba..242fd16 100644
|
|||||||
slimming_paint_enabled(false),
|
slimming_paint_enabled(false),
|
||||||
cookie_enabled(true),
|
cookie_enabled(true),
|
||||||
diff --git public/common/web_preferences.h public/common/web_preferences.h
|
diff --git public/common/web_preferences.h public/common/web_preferences.h
|
||||||
index 5dfc5d5..150bdf5 100644
|
index e8d7d13..493c743 100644
|
||||||
--- public/common/web_preferences.h
|
--- public/common/web_preferences.h
|
||||||
+++ public/common/web_preferences.h
|
+++ public/common/web_preferences.h
|
||||||
@@ -179,6 +179,7 @@ struct CONTENT_EXPORT WebPreferences {
|
@@ -171,6 +171,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||||
int pinch_overlay_scrollbar_thickness;
|
int pinch_overlay_scrollbar_thickness;
|
||||||
bool use_solid_color_scrollbars;
|
bool use_solid_color_scrollbars;
|
||||||
bool navigate_on_drag_drop;
|
bool navigate_on_drag_drop;
|
||||||
@ -35,10 +35,10 @@ index 5dfc5d5..150bdf5 100644
|
|||||||
bool slimming_paint_enabled;
|
bool slimming_paint_enabled;
|
||||||
|
|
||||||
diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc
|
diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc
|
||||||
index 53ba225..d5ebdd8 100644
|
index 12f950e..61fc3c1 100644
|
||||||
--- renderer/render_view_impl.cc
|
--- renderer/render_view_impl.cc
|
||||||
+++ renderer/render_view_impl.cc
|
+++ renderer/render_view_impl.cc
|
||||||
@@ -945,6 +945,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
@@ -1002,6 +1002,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||||
|
|
||||||
settings->setJavaEnabled(prefs.java_enabled);
|
settings->setJavaEnabled(prefs.java_enabled);
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git printing/renderer/print_web_view_helper.cc printing/renderer/print_web_view_helper.cc
|
diff --git printing/renderer/print_web_view_helper.cc printing/renderer/print_web_view_helper.cc
|
||||||
index 313d12d..558052c 100644
|
index d315efa..a312f77 100644
|
||||||
--- printing/renderer/print_web_view_helper.cc
|
--- printing/renderer/print_web_view_helper.cc
|
||||||
+++ printing/renderer/print_web_view_helper.cc
|
+++ printing/renderer/print_web_view_helper.cc
|
||||||
@@ -75,6 +75,7 @@ const double kMinDpi = 1.0;
|
@@ -75,6 +75,7 @@ const double kMinDpi = 1.0;
|
||||||
@ -18,7 +18,7 @@ index 313d12d..558052c 100644
|
|||||||
|
|
||||||
int GetDPI(const PrintMsg_Print_Params* print_params) {
|
int GetDPI(const PrintMsg_Print_Params* print_params) {
|
||||||
#if defined(OS_MACOSX)
|
#if defined(OS_MACOSX)
|
||||||
@@ -474,7 +474,6 @@ blink::WebView* FrameReference::view() {
|
@@ -480,7 +480,6 @@ blink::WebView* FrameReference::view() {
|
||||||
return view_;
|
return view_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ index 313d12d..558052c 100644
|
|||||||
// static - Not anonymous so that platform implementations can use it.
|
// static - Not anonymous so that platform implementations can use it.
|
||||||
void PrintWebViewHelper::PrintHeaderAndFooter(
|
void PrintWebViewHelper::PrintHeaderAndFooter(
|
||||||
blink::WebCanvas* canvas,
|
blink::WebCanvas* canvas,
|
||||||
@@ -532,7 +531,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
|
@@ -538,7 +537,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
|
||||||
web_view->close();
|
web_view->close();
|
||||||
frame->close();
|
frame->close();
|
||||||
}
|
}
|
||||||
@ -34,8 +34,35 @@ index 313d12d..558052c 100644
|
|||||||
|
|
||||||
// static - Not anonymous so that platform implementations can use it.
|
// static - Not anonymous so that platform implementations can use it.
|
||||||
float PrintWebViewHelper::RenderPageContent(blink::WebFrame* frame,
|
float PrintWebViewHelper::RenderPageContent(blink::WebFrame* frame,
|
||||||
|
@@ -813,6 +811,7 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view,
|
||||||
|
print_for_preview_(false),
|
||||||
|
delegate_(delegate.Pass()),
|
||||||
|
print_node_in_progress_(false),
|
||||||
|
+ force_print_preview_(false),
|
||||||
|
is_loading_(false),
|
||||||
|
is_scripted_preview_delayed_(false),
|
||||||
|
ipc_nesting_level_(0),
|
||||||
|
@@ -1254,7 +1253,9 @@ void PrintWebViewHelper::OnInitiatePrintPreview(bool selection_only) {
|
||||||
|
// that instead.
|
||||||
|
auto plugin = delegate_->GetPdfElement(frame);
|
||||||
|
if (!plugin.isNull()) {
|
||||||
|
+ force_print_preview_ = true;
|
||||||
|
PrintNode(plugin);
|
||||||
|
+ force_print_preview_ = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
print_preview_context_.InitWithFrame(frame);
|
||||||
|
@@ -1287,7 +1288,7 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) {
|
||||||
|
|
||||||
|
// Make a copy of the node, in case RenderView::OnContextMenuClosed resets
|
||||||
|
// its |context_menu_node_|.
|
||||||
|
- if (!g_is_preview_enabled_) {
|
||||||
|
+ if (!g_is_preview_enabled_ && !force_print_preview_) {
|
||||||
|
blink::WebNode duplicate_node(node);
|
||||||
|
Print(duplicate_node.document().frame(), duplicate_node, false);
|
||||||
|
} else {
|
||||||
diff --git printing/renderer/print_web_view_helper.h printing/renderer/print_web_view_helper.h
|
diff --git printing/renderer/print_web_view_helper.h printing/renderer/print_web_view_helper.h
|
||||||
index 341ec8e..47777b8 100644
|
index 54179ff..0c48602 100644
|
||||||
--- printing/renderer/print_web_view_helper.h
|
--- printing/renderer/print_web_view_helper.h
|
||||||
+++ printing/renderer/print_web_view_helper.h
|
+++ printing/renderer/print_web_view_helper.h
|
||||||
@@ -309,7 +309,6 @@ class PrintWebViewHelper
|
@@ -309,7 +309,6 @@ class PrintWebViewHelper
|
||||||
@ -54,11 +81,19 @@ index 341ec8e..47777b8 100644
|
|||||||
|
|
||||||
bool GetPrintFrame(blink::WebLocalFrame** frame);
|
bool GetPrintFrame(blink::WebLocalFrame** frame);
|
||||||
|
|
||||||
|
@@ -498,6 +496,7 @@ class PrintWebViewHelper
|
||||||
|
ScriptingThrottler scripting_throttler_;
|
||||||
|
|
||||||
|
bool print_node_in_progress_;
|
||||||
|
+ bool force_print_preview_;
|
||||||
|
PrintPreviewContext print_preview_context_;
|
||||||
|
bool is_loading_;
|
||||||
|
bool is_scripted_preview_delayed_;
|
||||||
diff --git printing/renderer/print_web_view_helper_linux.cc printing/renderer/print_web_view_helper_linux.cc
|
diff --git printing/renderer/print_web_view_helper_linux.cc printing/renderer/print_web_view_helper_linux.cc
|
||||||
index 79b82e9..8d1f6f4 100644
|
index 61a1a1d..f931979 100644
|
||||||
--- printing/renderer/print_web_view_helper_linux.cc
|
--- printing/renderer/print_web_view_helper_linux.cc
|
||||||
+++ printing/renderer/print_web_view_helper_linux.cc
|
+++ printing/renderer/print_web_view_helper_linux.cc
|
||||||
@@ -169,7 +169,6 @@ void PrintWebViewHelper::PrintPageInternal(
|
@@ -172,7 +172,6 @@ void PrintWebViewHelper::PrintPageInternal(
|
||||||
MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
|
MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
|
||||||
skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_);
|
skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_);
|
||||||
|
|
||||||
@ -66,7 +101,7 @@ index 79b82e9..8d1f6f4 100644
|
|||||||
if (params.params.display_header_footer) {
|
if (params.params.display_header_footer) {
|
||||||
// |page_number| is 0-based, so 1 is added.
|
// |page_number| is 0-based, so 1 is added.
|
||||||
// TODO(vitalybuka) : why does it work only with 1.25?
|
// TODO(vitalybuka) : why does it work only with 1.25?
|
||||||
@@ -178,7 +177,6 @@ void PrintWebViewHelper::PrintPageInternal(
|
@@ -181,7 +180,6 @@ void PrintWebViewHelper::PrintPageInternal(
|
||||||
scale_factor / 1.25, page_layout_in_points,
|
scale_factor / 1.25, page_layout_in_points,
|
||||||
params.params);
|
params.params);
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
diff --git web_contents.cc web_contents.cc
|
diff --git web_contents.cc web_contents.cc
|
||||||
index a0c8a4d..1c102ae 100644
|
index 887f242..a7cc318 100644
|
||||||
--- web_contents.cc
|
--- web_contents.cc
|
||||||
+++ web_contents.cc
|
+++ web_contents.cc
|
||||||
@@ -19,7 +19,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context)
|
@@ -21,7 +21,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context)
|
||||||
initially_hidden(false),
|
initially_hidden(false),
|
||||||
guest_delegate(nullptr),
|
guest_delegate(nullptr),
|
||||||
context(nullptr),
|
context(nullptr),
|
||||||
@ -13,7 +13,7 @@ index a0c8a4d..1c102ae 100644
|
|||||||
|
|
||||||
WebContents::CreateParams::CreateParams(
|
WebContents::CreateParams::CreateParams(
|
||||||
BrowserContext* context, SiteInstance* site)
|
BrowserContext* context, SiteInstance* site)
|
||||||
@@ -33,7 +35,9 @@ WebContents::CreateParams::CreateParams(
|
@@ -36,7 +38,9 @@ WebContents::CreateParams::CreateParams(
|
||||||
initially_hidden(false),
|
initially_hidden(false),
|
||||||
guest_delegate(nullptr),
|
guest_delegate(nullptr),
|
||||||
context(nullptr),
|
context(nullptr),
|
||||||
@ -25,7 +25,7 @@ index a0c8a4d..1c102ae 100644
|
|||||||
WebContents::CreateParams::~CreateParams() {
|
WebContents::CreateParams::~CreateParams() {
|
||||||
}
|
}
|
||||||
diff --git web_contents.h web_contents.h
|
diff --git web_contents.h web_contents.h
|
||||||
index 768ece2..9c2d863 100644
|
index 4ed6a40..2bbba64 100644
|
||||||
--- web_contents.h
|
--- web_contents.h
|
||||||
+++ web_contents.h
|
+++ web_contents.h
|
||||||
@@ -52,9 +52,11 @@ class PageState;
|
@@ -52,9 +52,11 @@ class PageState;
|
||||||
@ -40,7 +40,7 @@ index 768ece2..9c2d863 100644
|
|||||||
struct CustomContextMenuContext;
|
struct CustomContextMenuContext;
|
||||||
struct DropData;
|
struct DropData;
|
||||||
struct Manifest;
|
struct Manifest;
|
||||||
@@ -139,6 +141,10 @@ class WebContents : public PageNavigator,
|
@@ -141,6 +143,10 @@ class WebContents : public PageNavigator,
|
||||||
// RenderFrame, have already been created on the renderer side, and
|
// RenderFrame, have already been created on the renderer side, and
|
||||||
// WebContents construction should take this into account.
|
// WebContents construction should take this into account.
|
||||||
bool renderer_initiated_creation;
|
bool renderer_initiated_creation;
|
||||||
@ -52,11 +52,11 @@ index 768ece2..9c2d863 100644
|
|||||||
|
|
||||||
// Creates a new WebContents.
|
// Creates a new WebContents.
|
||||||
diff --git web_contents_delegate.cc web_contents_delegate.cc
|
diff --git web_contents_delegate.cc web_contents_delegate.cc
|
||||||
index b1fc250..555e25d 100644
|
index 016097b..4fb00ed 100644
|
||||||
--- web_contents_delegate.cc
|
--- web_contents_delegate.cc
|
||||||
+++ web_contents_delegate.cc
|
+++ web_contents_delegate.cc
|
||||||
@@ -136,7 +136,9 @@ bool WebContentsDelegate::ShouldCreateWebContents(
|
@@ -138,7 +138,9 @@ bool WebContentsDelegate::ShouldCreateWebContents(
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- SessionStorageNamespace* session_storage_namespace) {
|
- SessionStorageNamespace* session_storage_namespace) {
|
||||||
@ -67,10 +67,10 @@ index b1fc250..555e25d 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git web_contents_delegate.h web_contents_delegate.h
|
diff --git web_contents_delegate.h web_contents_delegate.h
|
||||||
index 66439df..c8779c9 100644
|
index 34ddd26..7a850af 100644
|
||||||
--- web_contents_delegate.h
|
--- web_contents_delegate.h
|
||||||
+++ web_contents_delegate.h
|
+++ web_contents_delegate.h
|
||||||
@@ -37,9 +37,11 @@ class DownloadItem;
|
@@ -38,9 +38,11 @@ class DownloadItem;
|
||||||
class JavaScriptDialogManager;
|
class JavaScriptDialogManager;
|
||||||
class PageState;
|
class PageState;
|
||||||
class RenderViewHost;
|
class RenderViewHost;
|
||||||
@ -82,8 +82,8 @@ index 66439df..c8779c9 100644
|
|||||||
struct ColorSuggestion;
|
struct ColorSuggestion;
|
||||||
struct ContextMenuParams;
|
struct ContextMenuParams;
|
||||||
struct DropData;
|
struct DropData;
|
||||||
@@ -296,7 +298,9 @@ class CONTENT_EXPORT WebContentsDelegate {
|
@@ -298,7 +300,9 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- SessionStorageNamespace* session_storage_namespace);
|
- SessionStorageNamespace* session_storage_namespace);
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
diff --git render_process_host_impl.cc render_process_host_impl.cc
|
|
||||||
index f32d2bb..9874d50 100644
|
|
||||||
--- render_process_host_impl.cc
|
|
||||||
+++ render_process_host_impl.cc
|
|
||||||
@@ -2120,6 +2120,8 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead,
|
|
||||||
#endif
|
|
||||||
RemoveUserData(kSessionStorageHolderKey);
|
|
||||||
|
|
||||||
+ mojo_application_host_.reset(new MojoApplicationHost);
|
|
||||||
+
|
|
||||||
IDMap<IPC::Listener>::iterator iter(&listeners_);
|
|
||||||
while (!iter.IsAtEnd()) {
|
|
||||||
iter.GetCurrentValue()->OnMessageReceived(
|
|
||||||
@@ -2129,8 +2131,6 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead,
|
|
||||||
iter.Advance();
|
|
||||||
}
|
|
||||||
|
|
||||||
- mojo_application_host_.reset(new MojoApplicationHost);
|
|
||||||
-
|
|
||||||
// It's possible that one of the calls out to the observers might have caused
|
|
||||||
// this object to be no longer needed.
|
|
||||||
if (delayed_cleanup_needed_)
|
|
@ -1,5 +1,5 @@
|
|||||||
diff --git spellcheck_factory.cc spellcheck_factory.cc
|
diff --git spellcheck_factory.cc spellcheck_factory.cc
|
||||||
index edbed40..b9a192b 100644
|
index 4c61d34..9e4f3d1 100644
|
||||||
--- spellcheck_factory.cc
|
--- spellcheck_factory.cc
|
||||||
+++ spellcheck_factory.cc
|
+++ spellcheck_factory.cc
|
||||||
@@ -16,6 +16,13 @@
|
@@ -16,6 +16,13 @@
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
diff --git os_exchange_data_provider_aurax11.cc os_exchange_data_provider_aurax11.cc
|
diff --git os_exchange_data_provider_aurax11.cc os_exchange_data_provider_aurax11.cc
|
||||||
index c9285a0..f82f90a 100644
|
index e7a815c..8188710 100644
|
||||||
--- os_exchange_data_provider_aurax11.cc
|
--- os_exchange_data_provider_aurax11.cc
|
||||||
+++ os_exchange_data_provider_aurax11.cc
|
+++ os_exchange_data_provider_aurax11.cc
|
||||||
@@ -158,7 +158,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url,
|
@@ -159,7 +159,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url,
|
||||||
format_map_.Insert(atom_cache_.GetAtom(kMimeTypeMozillaURL), mem);
|
format_map_.Insert(atom_cache_.GetAtom(kMimeTypeMozillaURL), mem);
|
||||||
|
|
||||||
// Set a string fallback as well.
|
// Set a string fallback as well.
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
diff --git web_dialog_view.cc web_dialog_view.cc
|
diff --git web_dialog_view.cc web_dialog_view.cc
|
||||||
index 4a5a114..b28fb3c 100644
|
index 4b5e8b2..1501d0b 100644
|
||||||
--- web_dialog_view.cc
|
--- web_dialog_view.cc
|
||||||
+++ web_dialog_view.cc
|
+++ web_dialog_view.cc
|
||||||
@@ -340,7 +340,9 @@ bool WebDialogView::ShouldCreateWebContents(
|
@@ -340,7 +340,9 @@ bool WebDialogView::ShouldCreateWebContents(
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- content::SessionStorageNamespace* session_storage_namespace) {
|
- content::SessionStorageNamespace* session_storage_namespace) {
|
||||||
@ -14,11 +14,11 @@ index 4a5a114..b28fb3c 100644
|
|||||||
return delegate_->HandleShouldCreateWebContents();
|
return delegate_->HandleShouldCreateWebContents();
|
||||||
return true;
|
return true;
|
||||||
diff --git web_dialog_view.h web_dialog_view.h
|
diff --git web_dialog_view.h web_dialog_view.h
|
||||||
index 22550dd..8d72f6d 100644
|
index dc6598d..ce2616c 100644
|
||||||
--- web_dialog_view.h
|
--- web_dialog_view.h
|
||||||
+++ web_dialog_view.h
|
+++ web_dialog_view.h
|
||||||
@@ -119,7 +119,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView,
|
@@ -119,7 +119,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView,
|
||||||
const base::string16& frame_name,
|
const std::string& frame_name,
|
||||||
const GURL& target_url,
|
const GURL& target_url,
|
||||||
const std::string& partition_id,
|
const std::string& partition_id,
|
||||||
- content::SessionStorageNamespace* session_storage_namespace) override;
|
- content::SessionStorageNamespace* session_storage_namespace) override;
|
||||||
|
@ -12,10 +12,10 @@ index a8e088c..838b6a0 100644
|
|||||||
return host ? host->GetAcceleratedWidget() : NULL;
|
return host ? host->GetAcceleratedWidget() : NULL;
|
||||||
}
|
}
|
||||||
diff --git desktop_aura/desktop_window_tree_host_win.cc desktop_aura/desktop_window_tree_host_win.cc
|
diff --git desktop_aura/desktop_window_tree_host_win.cc desktop_aura/desktop_window_tree_host_win.cc
|
||||||
index a663f38..a3dacca 100644
|
index 93b3c5b..e0e505e 100644
|
||||||
--- desktop_aura/desktop_window_tree_host_win.cc
|
--- desktop_aura/desktop_window_tree_host_win.cc
|
||||||
+++ desktop_aura/desktop_window_tree_host_win.cc
|
+++ desktop_aura/desktop_window_tree_host_win.cc
|
||||||
@@ -132,7 +132,9 @@ void DesktopWindowTreeHostWin::Init(aura::Window* content_window,
|
@@ -131,7 +131,9 @@ void DesktopWindowTreeHostWin::Init(aura::Window* content_window,
|
||||||
native_widget_delegate_);
|
native_widget_delegate_);
|
||||||
|
|
||||||
HWND parent_hwnd = NULL;
|
HWND parent_hwnd = NULL;
|
||||||
@ -26,7 +26,7 @@ index a663f38..a3dacca 100644
|
|||||||
parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget();
|
parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget();
|
||||||
|
|
||||||
message_handler_->set_remove_standard_frame(params.remove_standard_frame);
|
message_handler_->set_remove_standard_frame(params.remove_standard_frame);
|
||||||
@@ -799,6 +801,7 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
@@ -793,6 +795,7 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
||||||
|
|
||||||
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
|
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
|
||||||
// TODO(beng): inform the native_widget_delegate_.
|
// TODO(beng): inform the native_widget_delegate_.
|
||||||
@ -35,10 +35,10 @@ index a663f38..a3dacca 100644
|
|||||||
|
|
||||||
void DesktopWindowTreeHostWin::HandleNativeBlur(HWND focused_window) {
|
void DesktopWindowTreeHostWin::HandleNativeBlur(HWND focused_window) {
|
||||||
diff --git desktop_aura/desktop_window_tree_host_x11.cc desktop_aura/desktop_window_tree_host_x11.cc
|
diff --git desktop_aura/desktop_window_tree_host_x11.cc desktop_aura/desktop_window_tree_host_x11.cc
|
||||||
index 4a8f64c..369867b 100644
|
index a56deb7..a5e8422 100644
|
||||||
--- desktop_aura/desktop_window_tree_host_x11.cc
|
--- desktop_aura/desktop_window_tree_host_x11.cc
|
||||||
+++ desktop_aura/desktop_window_tree_host_x11.cc
|
+++ desktop_aura/desktop_window_tree_host_x11.cc
|
||||||
@@ -153,7 +153,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
@@ -171,7 +171,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
||||||
window_parent_(NULL),
|
window_parent_(NULL),
|
||||||
custom_window_shape_(false),
|
custom_window_shape_(false),
|
||||||
urgency_hint_set_(false),
|
urgency_hint_set_(false),
|
||||||
@ -48,7 +48,7 @@ index 4a8f64c..369867b 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
|
DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
|
||||||
@@ -353,7 +354,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
@@ -381,7 +382,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
||||||
// Actually free our native resources.
|
// Actually free our native resources.
|
||||||
if (ui::PlatformEventSource::GetInstance())
|
if (ui::PlatformEventSource::GetInstance())
|
||||||
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
||||||
@ -58,7 +58,7 @@ index 4a8f64c..369867b 100644
|
|||||||
xwindow_ = None;
|
xwindow_ = None;
|
||||||
|
|
||||||
desktop_native_widget_aura_->OnHostClosed();
|
desktop_native_widget_aura_->OnHostClosed();
|
||||||
@@ -466,6 +468,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
@@ -525,6 +527,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
|
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
|
||||||
@ -67,7 +67,7 @@ index 4a8f64c..369867b 100644
|
|||||||
return ToDIPRect(bounds_in_pixels_);
|
return ToDIPRect(bounds_in_pixels_);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -906,6 +910,8 @@ void DesktopWindowTreeHostX11::HideImpl() {
|
@@ -962,6 +966,8 @@ void DesktopWindowTreeHostX11::HideImpl() {
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx::Rect DesktopWindowTreeHostX11::GetBounds() const {
|
gfx::Rect DesktopWindowTreeHostX11::GetBounds() const {
|
||||||
@ -76,7 +76,7 @@ index 4a8f64c..369867b 100644
|
|||||||
return bounds_in_pixels_;
|
return bounds_in_pixels_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -962,6 +968,8 @@ void DesktopWindowTreeHostX11::SetBounds(
|
@@ -1018,6 +1024,8 @@ void DesktopWindowTreeHostX11::SetBounds(
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx::Point DesktopWindowTreeHostX11::GetLocationOnNativeScreen() const {
|
gfx::Point DesktopWindowTreeHostX11::GetLocationOnNativeScreen() const {
|
||||||
@ -85,7 +85,7 @@ index 4a8f64c..369867b 100644
|
|||||||
return bounds_in_pixels_.origin();
|
return bounds_in_pixels_.origin();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1082,9 +1090,13 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
@@ -1131,9 +1139,13 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ index 4a8f64c..369867b 100644
|
|||||||
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
|
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
|
||||||
bounds_in_pixels_.height(),
|
bounds_in_pixels_.height(),
|
||||||
0, // border width
|
0, // border width
|
||||||
@@ -1731,6 +1743,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
@@ -1782,6 +1794,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -112,19 +112,19 @@ index 4a8f64c..369867b 100644
|
|||||||
if (xev->xfocus.mode != NotifyGrab) {
|
if (xev->xfocus.mode != NotifyGrab) {
|
||||||
ReleaseCapture();
|
ReleaseCapture();
|
||||||
diff --git desktop_aura/desktop_window_tree_host_x11.h desktop_aura/desktop_window_tree_host_x11.h
|
diff --git desktop_aura/desktop_window_tree_host_x11.h desktop_aura/desktop_window_tree_host_x11.h
|
||||||
index e2fd61f..46434af 100644
|
index 787372d..d9d57b8 100644
|
||||||
--- desktop_aura/desktop_window_tree_host_x11.h
|
--- desktop_aura/desktop_window_tree_host_x11.h
|
||||||
+++ desktop_aura/desktop_window_tree_host_x11.h
|
+++ desktop_aura/desktop_window_tree_host_x11.h
|
||||||
@@ -86,6 +86,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
@@ -85,6 +85,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||||
// Deallocates the internal list of open windows.
|
// internal list of open windows.
|
||||||
static void CleanUpWindowList();
|
static void CleanUpWindowList(void (*func)(aura::Window* window));
|
||||||
|
|
||||||
+ void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; }
|
+ void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; }
|
||||||
+
|
+
|
||||||
protected:
|
protected:
|
||||||
// Overridden from DesktopWindowTreeHost:
|
// Overridden from DesktopWindowTreeHost:
|
||||||
void Init(aura::Window* content_window,
|
void Init(aura::Window* content_window,
|
||||||
@@ -265,6 +267,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
@@ -262,6 +264,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||||
// The bounds of |xwindow_|.
|
// The bounds of |xwindow_|.
|
||||||
gfx::Rect bounds_in_pixels_;
|
gfx::Rect bounds_in_pixels_;
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ index e2fd61f..46434af 100644
|
|||||||
// Whenever the bounds are set, we keep the previous set of bounds around so
|
// Whenever the bounds are set, we keep the previous set of bounds around so
|
||||||
// we can have a better chance of getting the real
|
// we can have a better chance of getting the real
|
||||||
// |restored_bounds_in_pixels_|. Window managers tend to send a Configure
|
// |restored_bounds_in_pixels_|. Window managers tend to send a Configure
|
||||||
@@ -351,6 +356,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
@@ -348,6 +353,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||||
|
|
||||||
base::WeakPtrFactory<DesktopWindowTreeHostX11> close_widget_factory_;
|
base::WeakPtrFactory<DesktopWindowTreeHostX11> close_widget_factory_;
|
||||||
|
|
||||||
@ -145,10 +145,10 @@ index e2fd61f..46434af 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
diff --git widget.cc widget.cc
|
diff --git widget.cc widget.cc
|
||||||
index b4d2a48..3890ab0 100644
|
index 280969a..8ea7f0b 100644
|
||||||
--- widget.cc
|
--- widget.cc
|
||||||
+++ widget.cc
|
+++ widget.cc
|
||||||
@@ -110,6 +110,7 @@ Widget::InitParams::InitParams()
|
@@ -118,6 +118,7 @@ Widget::InitParams::InitParams()
|
||||||
use_system_default_icon(false),
|
use_system_default_icon(false),
|
||||||
show_state(ui::SHOW_STATE_DEFAULT),
|
show_state(ui::SHOW_STATE_DEFAULT),
|
||||||
parent(NULL),
|
parent(NULL),
|
||||||
@ -156,7 +156,7 @@ index b4d2a48..3890ab0 100644
|
|||||||
native_widget(NULL),
|
native_widget(NULL),
|
||||||
desktop_window_tree_host(NULL),
|
desktop_window_tree_host(NULL),
|
||||||
layer_type(ui::LAYER_TEXTURED),
|
layer_type(ui::LAYER_TEXTURED),
|
||||||
@@ -133,6 +134,7 @@ Widget::InitParams::InitParams(Type type)
|
@@ -141,6 +142,7 @@ Widget::InitParams::InitParams(Type type)
|
||||||
use_system_default_icon(false),
|
use_system_default_icon(false),
|
||||||
show_state(ui::SHOW_STATE_DEFAULT),
|
show_state(ui::SHOW_STATE_DEFAULT),
|
||||||
parent(NULL),
|
parent(NULL),
|
||||||
@ -164,7 +164,7 @@ index b4d2a48..3890ab0 100644
|
|||||||
native_widget(NULL),
|
native_widget(NULL),
|
||||||
desktop_window_tree_host(NULL),
|
desktop_window_tree_host(NULL),
|
||||||
layer_type(ui::LAYER_TEXTURED),
|
layer_type(ui::LAYER_TEXTURED),
|
||||||
@@ -307,7 +309,7 @@ void Widget::Init(const InitParams& in_params) {
|
@@ -315,7 +317,7 @@ void Widget::Init(const InitParams& in_params) {
|
||||||
InitParams params = in_params;
|
InitParams params = in_params;
|
||||||
|
|
||||||
params.child |= (params.type == InitParams::TYPE_CONTROL);
|
params.child |= (params.type == InitParams::TYPE_CONTROL);
|
||||||
@ -173,7 +173,7 @@ index b4d2a48..3890ab0 100644
|
|||||||
|
|
||||||
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
|
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
|
||||||
params.type != views::Widget::InitParams::TYPE_WINDOW &&
|
params.type != views::Widget::InitParams::TYPE_WINDOW &&
|
||||||
@@ -370,7 +372,12 @@ void Widget::Init(const InitParams& in_params) {
|
@@ -378,7 +380,12 @@ void Widget::Init(const InitParams& in_params) {
|
||||||
Minimize();
|
Minimize();
|
||||||
} else if (params.delegate) {
|
} else if (params.delegate) {
|
||||||
SetContentsView(params.delegate->GetContentsView());
|
SetContentsView(params.delegate->GetContentsView());
|
||||||
@ -188,10 +188,10 @@ index b4d2a48..3890ab0 100644
|
|||||||
// This must come after SetContentsView() or it might not be able to find
|
// This must come after SetContentsView() or it might not be able to find
|
||||||
// the correct NativeTheme (on Linux). See http://crbug.com/384492
|
// the correct NativeTheme (on Linux). See http://crbug.com/384492
|
||||||
diff --git widget.h widget.h
|
diff --git widget.h widget.h
|
||||||
index 9c21ea2..aa610fd 100644
|
index 320332b..8d46883 100644
|
||||||
--- widget.h
|
--- widget.h
|
||||||
+++ widget.h
|
+++ widget.h
|
||||||
@@ -234,6 +234,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
@@ -233,6 +233,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||||
// Whether the widget should be maximized or minimized.
|
// Whether the widget should be maximized or minimized.
|
||||||
ui::WindowShowState show_state;
|
ui::WindowShowState show_state;
|
||||||
gfx::NativeView parent;
|
gfx::NativeView parent;
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
diff --git ThemeMac.mm ThemeMac.mm
|
|
||||||
index 20a4ff0..38cb2c4 100644
|
|
||||||
--- ThemeMac.mm
|
|
||||||
+++ ThemeMac.mm
|
|
||||||
@@ -482,7 +482,7 @@ static void paintButton(ControlPart part, ControlStates states, GraphicsContext*
|
|
||||||
|
|
||||||
[buttonCell drawWithFrame:NSRect(inflatedRect) inView:view];
|
|
||||||
#if !BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
|
|
||||||
- if (states & FocusControlState)
|
|
||||||
+ if (states & FocusState)
|
|
||||||
[buttonCell _web_drawFocusRingWithFrame:NSRect(inflatedRect) inView:view];
|
|
||||||
#endif
|
|
||||||
[buttonCell setControlView:nil];
|
|
||||||
diff --git WebCoreNSCellExtras.h WebCoreNSCellExtras.h
|
|
||||||
index 54e9c9a..075e076 100644
|
|
||||||
--- WebCoreNSCellExtras.h
|
|
||||||
+++ WebCoreNSCellExtras.h
|
|
||||||
@@ -26,11 +26,11 @@
|
|
||||||
#import <AppKit/AppKit.h>
|
|
||||||
#include "platform/PlatformExport.h"
|
|
||||||
|
|
||||||
-#define BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING (!defined(MAC_OS_X_VERSION_10_7) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7)
|
|
||||||
+#define BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING 1
|
|
||||||
|
|
||||||
#if !BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
|
|
||||||
|
|
||||||
-@interface NSCell (WebCoreFocusRingDrawing)
|
|
||||||
+PLATFORM_EXPORT @interface NSCell (WebCoreFocusRingDrawing)
|
|
||||||
- (void)_web_drawFocusRingWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
|
|
||||||
@end
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp
|
diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp
|
||||||
index e1fd006..fa9486b 100644
|
index 58e8166..23c0cea 100644
|
||||||
--- Source/web/ChromeClientImpl.cpp
|
--- Source/web/ChromeClientImpl.cpp
|
||||||
+++ Source/web/ChromeClientImpl.cpp
|
+++ Source/web/ChromeClientImpl.cpp
|
||||||
@@ -768,7 +768,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
|
@@ -774,7 +774,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
|
||||||
PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::openPopupMenu(LocalFrame& frame, PopupMenuClient* client)
|
PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::openPopupMenu(LocalFrame& frame, PopupMenuClient* client)
|
||||||
{
|
{
|
||||||
notifyPopupOpeningObservers();
|
notifyPopupOpeningObservers();
|
||||||
@ -12,7 +12,7 @@ index e1fd006..fa9486b 100644
|
|||||||
|
|
||||||
ASSERT(RuntimeEnabledFeatures::pagePopupEnabled());
|
ASSERT(RuntimeEnabledFeatures::pagePopupEnabled());
|
||||||
diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp
|
diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp
|
||||||
index 9a4161a..cf68085 100644
|
index 1f8413a..efeff15 100644
|
||||||
--- Source/web/WebViewImpl.cpp
|
--- Source/web/WebViewImpl.cpp
|
||||||
+++ Source/web/WebViewImpl.cpp
|
+++ Source/web/WebViewImpl.cpp
|
||||||
@@ -397,6 +397,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
|
@@ -397,6 +397,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
|
||||||
@ -23,7 +23,7 @@ index 9a4161a..cf68085 100644
|
|||||||
, m_doingDragAndDrop(false)
|
, m_doingDragAndDrop(false)
|
||||||
, m_ignoreInputEvents(false)
|
, m_ignoreInputEvents(false)
|
||||||
, m_compositorDeviceScaleFactorOverride(0)
|
, m_compositorDeviceScaleFactorOverride(0)
|
||||||
@@ -3946,9 +3947,14 @@ void WebViewImpl::pageScaleFactorChanged()
|
@@ -3925,9 +3926,14 @@ void WebViewImpl::pageScaleFactorChanged()
|
||||||
m_client->pageScaleFactorChanged();
|
m_client->pageScaleFactorChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,10 +40,10 @@ index 9a4161a..cf68085 100644
|
|||||||
|
|
||||||
void WebViewImpl::startDragging(LocalFrame* frame,
|
void WebViewImpl::startDragging(LocalFrame* frame,
|
||||||
diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h
|
diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h
|
||||||
index f222ca0..51478ce 100644
|
index a3ece01..60adce4 100644
|
||||||
--- Source/web/WebViewImpl.h
|
--- Source/web/WebViewImpl.h
|
||||||
+++ Source/web/WebViewImpl.h
|
+++ Source/web/WebViewImpl.h
|
||||||
@@ -390,7 +390,8 @@ public:
|
@@ -389,7 +389,8 @@ public:
|
||||||
|
|
||||||
// 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).
|
||||||
@ -53,7 +53,7 @@ index f222ca0..51478ce 100644
|
|||||||
|
|
||||||
bool contextMenuAllowed() const
|
bool contextMenuAllowed() const
|
||||||
{
|
{
|
||||||
@@ -677,6 +678,8 @@ private:
|
@@ -675,6 +676,8 @@ private:
|
||||||
|
|
||||||
bool m_contextMenuAllowed;
|
bool m_contextMenuAllowed;
|
||||||
|
|
||||||
|
@ -92,7 +92,11 @@ class TracingTestHandler : public CefEndTracingCallback,
|
|||||||
void OnEndTracingComplete(const CefString& tracing_file) override {
|
void OnEndTracingComplete(const CefString& tracing_file) override {
|
||||||
EXPECT_UI_THREAD();
|
EXPECT_UI_THREAD();
|
||||||
|
|
||||||
base::FilePath file_path(tracing_file);
|
#if defined(OS_WIN)
|
||||||
|
base::FilePath file_path(tracing_file.ToWString());
|
||||||
|
#else
|
||||||
|
base::FilePath file_path(tracing_file.ToString());
|
||||||
|
#endif
|
||||||
CefPostTask(TID_FILE,
|
CefPostTask(TID_FILE,
|
||||||
base::Bind(&TracingTestHandler::ReadTracingFile, this, file_path));
|
base::Bind(&TracingTestHandler::ReadTracingFile, this, file_path));
|
||||||
}
|
}
|
||||||
|
@ -250,7 +250,6 @@
|
|||||||
'Resources/locales/',
|
'Resources/locales/',
|
||||||
'$(BUILDTYPE)/chrome-sandbox',
|
'$(BUILDTYPE)/chrome-sandbox',
|
||||||
'$(BUILDTYPE)/libcef.so',
|
'$(BUILDTYPE)/libcef.so',
|
||||||
'$(BUILDTYPE)/libffmpegsumo.so',
|
|
||||||
'$(BUILDTYPE)/natives_blob.bin',
|
'$(BUILDTYPE)/natives_blob.bin',
|
||||||
'$(BUILDTYPE)/snapshot_blob.bin',
|
'$(BUILDTYPE)/snapshot_blob.bin',
|
||||||
],
|
],
|
||||||
@ -494,7 +493,6 @@
|
|||||||
'Resources/locales/',
|
'Resources/locales/',
|
||||||
'$(BUILDTYPE)/chrome-sandbox',
|
'$(BUILDTYPE)/chrome-sandbox',
|
||||||
'$(BUILDTYPE)/libcef.so',
|
'$(BUILDTYPE)/libcef.so',
|
||||||
'$(BUILDTYPE)/libffmpegsumo.so',
|
|
||||||
'$(BUILDTYPE)/natives_blob.bin',
|
'$(BUILDTYPE)/natives_blob.bin',
|
||||||
'$(BUILDTYPE)/snapshot_blob.bin',
|
'$(BUILDTYPE)/snapshot_blob.bin',
|
||||||
],
|
],
|
||||||
|
@ -56,7 +56,3 @@ run but any related functionality may become broken or disabled.
|
|||||||
* devtools_resources.pak
|
* devtools_resources.pak
|
||||||
This file contains non-localized resources required for Chrome Developer
|
This file contains non-localized resources required for Chrome Developer
|
||||||
Tools. Without this file Chrome Developer Tools will not function.
|
Tools. Without this file Chrome Developer Tools will not function.
|
||||||
|
|
||||||
* FFmpeg audio and video support.
|
|
||||||
* libffmpegsumo.so
|
|
||||||
Without this file HTML5 audio and video will not function.
|
|
||||||
|
@ -14,8 +14,6 @@ cefclient.app/
|
|||||||
Frameworks/
|
Frameworks/
|
||||||
Chromium Embedded Framework.framework/
|
Chromium Embedded Framework.framework/
|
||||||
Chromium Embedded Framework <= main application library
|
Chromium Embedded Framework <= main application library
|
||||||
Libraries/
|
|
||||||
ffmpegsumo.so <= HTML5 audio/video support library
|
|
||||||
Resources/
|
Resources/
|
||||||
cef.pak <= non-localized resources and strings
|
cef.pak <= non-localized resources and strings
|
||||||
cef_100_percent.pak <====^
|
cef_100_percent.pak <====^
|
||||||
@ -118,10 +116,6 @@ run but any related functionality may become broken or disabled.
|
|||||||
This file contains non-localized resources required for Chrome Developer
|
This file contains non-localized resources required for Chrome Developer
|
||||||
Tools. Without this file Chrome Developer Tools will not function.
|
Tools. Without this file Chrome Developer Tools will not function.
|
||||||
|
|
||||||
* FFmpeg audio and video support.
|
|
||||||
* Chromium Embedded Framework.framework/Libraries/ffmpegsumo.so
|
|
||||||
Without this file HTML5 audio and video will not function.
|
|
||||||
|
|
||||||
* Breakpad support.
|
* Breakpad support.
|
||||||
* Chromium Embedded Framework.framework/Resources/crash_inspector
|
* Chromium Embedded Framework.framework/Resources/crash_inspector
|
||||||
* Chromium Embedded Framework.framework/Resources/crash_report_sender
|
* Chromium Embedded Framework.framework/Resources/crash_report_sender
|
||||||
|
@ -55,10 +55,6 @@ run but any related functionality may become broken or disabled.
|
|||||||
This file contains non-localized resources required for Chrome Developer
|
This file contains non-localized resources required for Chrome Developer
|
||||||
Tools. Without this file Chrome Developer Tools will not function.
|
Tools. Without this file Chrome Developer Tools will not function.
|
||||||
|
|
||||||
* FFmpeg audio and video support.
|
|
||||||
* ffmpegsumo.dll
|
|
||||||
Without this file HTML5 audio and video will not function.
|
|
||||||
|
|
||||||
* Angle and Direct3D support.
|
* Angle and Direct3D support.
|
||||||
* d3dcompiler_43.dll (required for Windows XP)
|
* d3dcompiler_43.dll (required for Windows XP)
|
||||||
* d3dcompiler_47.dll (required for Windows Vista and newer)
|
* d3dcompiler_47.dll (required for Windows Vista and newer)
|
||||||
|
@ -418,7 +418,6 @@ if mode == 'standard':
|
|||||||
if platform == 'windows':
|
if platform == 'windows':
|
||||||
binaries = [
|
binaries = [
|
||||||
'd3dcompiler_47.dll',
|
'd3dcompiler_47.dll',
|
||||||
'ffmpegsumo.dll',
|
|
||||||
'libcef.dll',
|
'libcef.dll',
|
||||||
'libEGL.dll',
|
'libEGL.dll',
|
||||||
'libGLESv2.dll',
|
'libGLESv2.dll',
|
||||||
@ -623,7 +622,6 @@ elif platform == 'linux':
|
|||||||
make_dir(dst_dir, options.quiet)
|
make_dir(dst_dir, options.quiet)
|
||||||
copy_file(os.path.join(build_dir, 'chrome_sandbox'), os.path.join(dst_dir, 'chrome-sandbox'), options.quiet)
|
copy_file(os.path.join(build_dir, 'chrome_sandbox'), os.path.join(dst_dir, 'chrome-sandbox'), options.quiet)
|
||||||
copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet)
|
copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet)
|
||||||
copy_file(os.path.join(build_dir, 'libffmpegsumo.so'), dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'natives_blob.bin'), dst_dir, options.quiet)
|
copy_file(os.path.join(build_dir, 'natives_blob.bin'), dst_dir, options.quiet)
|
||||||
copy_file(os.path.join(build_dir, 'snapshot_blob.bin'), dst_dir, options.quiet)
|
copy_file(os.path.join(build_dir, 'snapshot_blob.bin'), dst_dir, options.quiet)
|
||||||
else:
|
else:
|
||||||
@ -644,7 +642,6 @@ elif platform == 'linux':
|
|||||||
else:
|
else:
|
||||||
copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet)
|
copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet)
|
||||||
copy_file(os.path.join(build_dir, 'chrome_sandbox'), os.path.join(dst_dir, 'chrome-sandbox'), options.quiet)
|
copy_file(os.path.join(build_dir, 'chrome_sandbox'), os.path.join(dst_dir, 'chrome-sandbox'), options.quiet)
|
||||||
copy_file(os.path.join(build_dir, 'libffmpegsumo.so'), dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'natives_blob.bin'), dst_dir, options.quiet)
|
copy_file(os.path.join(build_dir, 'natives_blob.bin'), dst_dir, options.quiet)
|
||||||
copy_file(os.path.join(build_dir, 'snapshot_blob.bin'), dst_dir, options.quiet)
|
copy_file(os.path.join(build_dir, 'snapshot_blob.bin'), dst_dir, options.quiet)
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user